From 133b8f12d1d1f2a9dfd1c21e78f3fe55b3582363 Mon Sep 17 00:00:00 2001 From: radtriste Date: Mon, 26 Jun 2023 18:22:32 +0000 Subject: [PATCH] deploy: 880b0521554fbf811e05b26c4099ab92bc20fdff --- search-index.js | 2 +- .../cloud/quarkus/deploying-on-kubernetes.html | 2 +- .../cloud/quarkus/deploying-on-minikube.html | 2 +- .../cloud/quarkus/deploying-on-openshift.html | 2 +- .../create-your-first-workflow-service.html | 8 ++++---- .../quarkus-dev-ui-extension/quarkus-dev-ui-overview.html | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/search-index.js b/search-index.js index 6a7b73f7d..1a3daa4b8 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,40.69,1,26.653]],["name/1-1",[]],["text/1-1",[]],["component/1-1",[]],["title/1-2",[2,58.833]],["name/1-2",[]],["text/1-2",[]],["component/1-2",[]],["title/1-3",[3,29.703]],["name/1-3",[]],["text/1-3",[]],["component/1-3",[]],["title/1-4",[4,16.899,5,33.89]],["name/1-4",[]],["text/1-4",[]],["component/1-4",[]],["title/1-5",[6,29.703]],["name/1-5",[]],["text/1-5",[]],["component/1-5",[]],["title/1-6",[7,58.833]],["name/1-6",[]],["text/1-6",[]],["component/1-6",[]],["title/1-7",[8,28.619,9,50.355]],["name/1-7",[]],["text/1-7",[]],["component/1-7",[]],["title/1-8",[10,45.722]],["name/1-8",[]],["text/1-8",[]],["component/1-8",[]],["title/1-9",[11,47.541]],["name/1-9",[]],["text/1-9",[]],["component/1-9",[]],["title/1-10",[12,34.548]],["name/1-10",[]],["text/1-10",[]],["component/1-10",[]],["title/1-11",[4,16.899,13,29.244]],["name/1-11",[]],["text/1-11",[]],["component/1-11",[]],["title/1-12",[14,17.015,15,31.733]],["name/1-12",[]],["text/1-12",[]],["component/1-12",[]],["title/1",[16,13.484,17,11.113,18,6.351,19,31.587]],["name/1",[20,3.038]],["text/1",[0,1.07,3,2.332,4,2.546,5,3.882,6,3.325,8,2.625,10,1.029,11,1.871,12,2.172,13,1.791,14,2.633,16,2.648,17,2.29,18,1.38,19,1.07,21,1.25,22,1.172,23,2.642,24,1.789,25,0.931,26,3.085,27,2.274,28,1.789,29,1.52,30,1.117,31,3.199,32,3.047,33,1.537,34,0.675,35,1.377,36,1.117,37,2.844,38,2.844,39,3.347,40,2.105,41,1.279,42,1.789,43,0.931,44,1.477,45,1.377,46,1.172,47,1.736,48,1.627,49,2.274,50,0.805,51,0.835,52,1.117,53,1.375,54,1.441,55,2.101,56,2.248,57,1.627,58,1.324,59,1.572,60,1.789,61,2.148,62,2.805,63,0.737,64,9.697,65,1.736,66,1.108,67,0.657,68,1.407,69,2.141,70,1.871,71,2.246,72,0.945,73,1.239,74,1.324,75,1.52,76,1.587,77,1.834,78,1.653,79,1.627,80,2.102,81,1.603,82,1.653,83,2.105,84,2.341,85,1.288,86,1.441,87,0.879,88,2.492,89,2.443,90,1.25,91,0.993,92,1.279,93,0.708,94,0.891,95,3.35,96,1.58,97,1.391,98,1.275,99,1.098,100,1.799,101,1.834,102,1.91,103,2.632,104,1.375,105,1.603,106,1.58,107,1.441,108,2.274,109,3.115,110,2.236,111,2.519,112,1.07,113,1.459,114,0.867,115,0.931,116,2.05,117,2.017,118,2.525,119,1.91,120,2.05,121,1.999,122,2.313,123,1.324,124,1.324,125,1.324,126,1.324,127,1.377,128,1.279,129,0.708,130,1.52,131,1.627,132,3.097,133,1.441,134,2.731,135,1.999,136,1.093,137,0.814,138,1.424,139,2.236,140,1.627,141,1.789,142,2.05,143,1.953,144,2.408,145,1.117,146,0.891,147,1.204,148,0.769,149,3.462,150,1.429,151,2.05,152,1.999,153,1.953,154,1.834,155,1.767,156,1.011,157,1.999,158,1.799,159,2.315,160,1.953,161,1.029,162,1.117,163,1.52]],["component/1",[164,0.59]],["title/2-1",[146,33.89,165,68.019]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[146,29.622,166,59.452,167,42.507]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2",[168,26.138,169,28.451,170,59.452]],["name/2",[171,4.386]],["text/2",[1,0.941,2,0.984,3,1.228,4,1.601,6,2.409,8,1.958,11,0.795,12,0.578,13,2.234,14,1.007,15,0.62,16,2.919,17,1.425,18,1.021,20,4.212,21,1.608,31,0.681,32,1.763,33,1.18,34,0.906,36,0.83,41,0.95,43,1.25,50,0.598,51,0.62,55,1.106,56,1.478,65,1.333,69,1.239,72,1.736,76,0.506,80,2.558,81,2.064,82,0.702,84,0.437,85,0.989,88,1.437,89,1.408,90,0.531,92,0.95,93,0.526,94,0.662,98,1.339,99,1.634,100,5.303,101,4.296,103,1.287,108,1.793,109,1.367,110,0.95,113,0.62,114,0.644,117,1.326,118,0.672,120,0.871,129,1.842,132,1.311,143,0.83,144,4,150,0.94,156,2.935,158,0.765,160,3.797,161,0.765,167,4.347,169,0.636,172,1.329,173,5.689,174,1.134,175,1.664,176,0.984,177,0.95,178,1.329,179,7.783,180,3.83,181,0.85,182,1.437,183,1.664,184,1.329,185,2.041,186,0.871,187,1.329,188,1.329,189,1.329,190,1.329,191,0.914,192,0.636,193,1.329,194,0.765,195,1.13,196,1.66,197,1.329,198,1.164,199,0.85,200,1.149,201,1.329,202,3.167,203,2.401,204,3.285,205,1.329,206,1.209,207,1.023,208,1.329,209,1.856,210,1.329,211,0.765,212,1.209,213,1.329,214,1.209,215,1.071,216,1.329,217,0.672,218,1.504,219,1.717,220,1.329,221,2.784,222,1.329,223,1.044,224,0.95,225,0.95,226,1.329,227,4,228,2.432,229,1.329,230,1.329,231,2.401,232,1.329,233,3.224,234,3.047,235,1.216,236,2.041,237,1.329,238,1.13,239,1.614,240,2.184,241,0.738,242,0.714,243,1.329,244,1.329,245,2.153,246,1.13,247,1.478,248,1.329,249,1.209,250,1.329,251,2.401,252,1.437,253,0.871,254,0.598,255,1.329,256,1.329,257,1.66,258,0.895,259,0.871,260,2.401,261,2.935,262,1.329,263,1.89,264,1.849,265,0.921,266,1.329,267,0.871,268,0.779,269,2.401,270,2.184,271,1.793,272,1.333,273,1.329,274,1.329,275,0.681,276,1.574,277,2.401,278,0.765,279,2.401,280,1.329,281,1.329,282,0.921,283,1.329,284,1.329,285,2.184,286,1.329,287,1.213,288,1.357,289,1.329,290,1.329,291,1.329,292,0.871,293,1.329,294,2.432,295,2.401,296,1.329,297,1.209,298,1.329,299,1.13,300,1.329,301,1.637,302,1.856,303,1.329,304,1.023,305,1.209,306,0.628,307,1.329,308,1.574,309,1.329,310,1.329,311,2.034,312,1.329,313,0.591,314,0.921,315,0.636,316,1.329,317,1.934,318,2.401,319,1.778,320,1.329,321,1.329,322,1.329,323,1.329,324,1.329,325,1.329,326,1.023,327,1.209,328,1.329,329,1.13,330,1.329,331,1.329,332,1.329,333,1.313,334,1.329,335,0.984,336,1.329,337,1.329,338,0.559,339,1.329,340,1.329,341,1.213,342,1.329,343,1.329,344,0.895,345,1.329,346,0.984,347,1.329,348,0.681,349,0.738,350,1.209,351,1.329,352,1.778,353,1.071,354,1.329,355,1.13,356,0.984,357,1.329,358,1.329,359,0.984,360,0.85,361,3.661,362,1.329,363,0.95,364,1.329,365,0.636,366,0.95,367,1.329,368,1.329,369,1.329,370,1.329,371,1.13,372,1.071,373,0.895,374,1.934,375,0.738,376,1.329,377,2.041,378,1.13,379,0.653,380,1.329,381,1.329,382,1.329,383,2.041,384,2.646,385,1.329,386,1.329,387,0.501,388,1.071,389,1.329,390,1.382,391,1.329,392,1.329,393,1.329,394,1.329,395,1.023,396,1.329,397,2.401,398,1.717,399,1.329,400,1.329,401,0.83,402,1.329,403,1.849,404,1.329,405,1.329,406,1.329,407,0.871,408,1.329,409,1.329,410,1.329,411,1.823,412,1.329,413,1.329,414,1.209,415,1.329,416,1.329,417,1.329,418,1.071,419,1.329,420,1.071,421,1.329,422,0.895,423,1.329,424,0.765,425,0.895,426,1.329,427,0.738,428,1.209,429,1.329,430,1.329,431,1.071,432,1.329,433,1.329,434,2.1,435,1.209,436,1.13,437,0.765,438,1.329,439,2.401,440,0.836,441,1.329,442,1.13,443,2.401,444,1.329,445,0.598,446,1.329,447,1.329,448,1.329,449,1.329,450,1.329,451,0.895,452,1.329,453,1.329,454,1.329,455,1.329,456,6.429,457,0.984,458,1.329,459,1.329,460,1.329,461,1.329,462,1.329,463,1.329,464,6.08,465,1.329,466,1.329,467,1.209,468,1.071,469,1.209,470,1.329,471,1.329,472,2.987,473,1.329,474,1.329,475,1.209,476,1.209,477,1.329,478,1.329,479,1.329,480,1.329,481,1.329,482,1.329,483,2.153,484,1.329,485,1.329,486,1.778,487,1.329,488,1.329,489,1.329,490,0.83,491,1.329,492,1.329,493,1.329,494,1.329,495,1.329,496,1.329,497,1.329,498,1.329,499,1.329,500,1.329,501,1.209,502,1.329,503,1.329,504,1.329,505,1.329,506,1.329,507,1.209,508,1.329]],["component/2",[164,0.59]],["title/3-1",[99,23.888,148,29.244]],["name/3-1",[]],["text/3-1",[]],["component/3-1",[]],["title/3-2",[148,29.244,180,28.927]],["name/3-2",[]],["text/3-2",[]],["component/3-2",[]],["title/3",[11,28.409,16,12.127,17,9.995,18,5.712,23,13.102]],["name/3",[20,3.038]],["text/3",[0,1.968,1,1.289,4,2.21,6,1.229,8,1.384,12,1.43,14,2.225,16,2.677,17,2.206,18,1.384,21,3.394,22,2.156,23,2.86,33,1.617,44,2.457,46,2.156,64,9.022,65,3.581,66,3.75,69,1.962,82,1.738,84,2.119,90,1.315,97,2.313,99,3.239,104,2.287,129,1.302,148,4.265,168,1.446,169,2.489,174,1.554,180,4.458,202,2.556,218,1.229,247,1.48,252,3.112,254,1.48,257,2.628,258,2.214,265,3.604,272,2.887,287,1.662,299,2.796,344,2.214,490,3.248,509,2.992,510,4.684,511,3.112,512,4.005,513,2.214,514,2.796,515,3.289,516,2.992,517,2.649,518,1.968,519,3.289,520,3.289,521,2.533,522,2.992,523,4.47,524,2.649,525,1.858,526,3.867,527,2.435,528,3.248,529,1.738,530,2.796,531,3.05,532,2.103,533,2.435,534,2.054,535,2.156,536,2.649,537,1.926,538,2.796,539,2.796,540,3.289,541,2.435,542,2.054,543,2.887,544,3.289,545,3.177,546,1.161]],["component/3",[164,0.59]],["title/4",[]],["name/4",[18,0.201,156,0.945,547,0.811,548,1.672]],["text/4",[]],["component/4",[164,0.59]],["title/5-1",[546,15.183,549,21.987]],["name/5-1",[]],["text/5-1",[]],["component/5-1",[]],["title/5",[16,12.127,17,9.995,18,5.712,84,15.6,85,19.566]],["name/5",[84,0.935,85,1.173]],["text/5",[1,1.194,4,2.144,8,1.282,10,1.754,13,1.311,14,2.159,16,1.566,17,0.642,18,0.845,20,4.865,27,2.671,43,1.586,44,1.44,53,2.152,58,2.257,63,1.256,65,1.692,67,1.797,69,1.847,71,1.206,80,2.955,84,2.307,85,3.914,86,2.455,87,1.498,93,4.03,95,1.636,99,1.07,100,4.04,113,1.422,116,1.998,120,1.998,132,1.663,143,1.904,145,1.904,156,2.765,167,2.179,174,4.077,191,1.864,202,1.498,218,1.139,223,3.57,224,2.179,225,2.179,228,3.624,233,2.112,234,1.787,235,1.129,247,1.371,301,1.519,306,1.44,326,3.769,333,1.956,338,2.06,349,5.139,356,2.257,379,1.498,387,2.901,390,1.754,418,2.455,440,1.061,468,2.455,526,1.388,546,0.68,550,2.816,551,2.052,552,2.772,553,3.048,554,2.038,555,1.823,556,1.996,557,3.611,558,2.052,559,2.772,560,3.921,561,2.257,562,3.048,563,3.048,564,3.048,565,8.213,566,2.772,567,2.052,568,2.591,569,2.772,570,2.772,571,3.382,572,2.772,573,2.591,574,6.951,575,4.118,576,2.772,577,4.386,578,2.455,579,3.048,580,1.949,581,3.048,582,3.048,583,3.832,584,2.772,585,3.208,586,2.772,587,2.772,588,2.347,589,2.772,590,3.048,591,4.161,592,2.591,593,2.772,594,1.862,595,1.823,596,4.895,597,2.772,598,2.772,599,2.772,600,3.048,601,1.787,602,2.772,603,3.048,604,2.772,605,2.717,606,2.772,607,2.373,608,3.048,609,3.129,610,2.179,611,1.663,612,1.787,613,6.387,614,2.772,615,3.048,616,4.895,617,2.455,618,3.048,619,1.998,620,3.048,621,3.048,622,2.591,623,2.257,624,4.161,625,1.636,626,3.048,627,3.048,628,3.048,629,3.048,630,2.772,631,2.112,632,3.048,633,2.052,634,2.112,635,3.048,636,3.048,637,2.772,638,3.048,639,3.048,640,3.769,641,3.048,642,2.112,643,3.048,644,1.07,645,1.07,646,1.07,647,1.07,648,1.07,649,1.07,650,1.07,651,1.07,652,1.07]],["component/5",[164,0.59]],["title/6-1",[56,26.749,76,22.638,346,44.013]],["name/6-1",[]],["text/6-1",[]],["component/6-1",[]],["title/6-2",[56,26.749,76,22.638,525,33.586]],["name/6-2",[]],["text/6-2",[]],["component/6-2",[]],["title/6-3",[76,25.9,90,27.183]],["name/6-3",[]],["text/6-3",[]],["component/6-3",[]],["title/6-4",[76,25.9,242,36.519]],["name/6-4",[]],["text/6-4",[]],["component/6-4",[]],["title/6-5",[76,22.638,557,26.138,653,32.446]],["name/6-5",[]],["text/6-5",[]],["component/6-5",[]],["title/6-6",[16,13.484,76,20.106,547,25.602,654,30.963]],["name/6-6",[]],["text/6-6",[]],["component/6-6",[]],["title/6-7",[56,26.749,76,22.638,152,38.006]],["name/6-7",[]],["text/6-7",[]],["component/6-7",[]],["title/6-8",[76,25.9,90,27.183]],["name/6-8",[]],["text/6-8",[]],["component/6-8",[]],["title/6-9",[76,25.9,242,36.519]],["name/6-9",[]],["text/6-9",[]],["component/6-9",[]],["title/6-10",[76,22.638,557,26.138,653,32.446]],["name/6-10",[]],["text/6-10",[]],["component/6-10",[]],["title/6-11",[56,26.749,76,22.638,103,23.296]],["name/6-11",[]],["text/6-11",[]],["component/6-11",[]],["title/6-12",[76,25.9,90,27.183]],["name/6-12",[]],["text/6-12",[]],["component/6-12",[]],["title/6-13",[655,46.602]],["name/6-13",[]],["text/6-13",[]],["component/6-13",[]],["title/6-14",[76,25.9,242,36.519]],["name/6-14",[]],["text/6-14",[]],["component/6-14",[]],["title/6-15",[94,26.308,198,25.602,529,27.904,656,40.652]],["name/6-15",[]],["text/6-15",[]],["component/6-15",[]],["title/6-16",[27,37.122,198,32.981]],["name/6-16",[]],["text/6-16",[]],["component/6-16",[]],["title/6-17",[84,26.106]],["name/6-17",[]],["text/6-17",[]],["component/6-17",[]],["title/6-18",[95,36.519,137,30.968]],["name/6-18",[]],["text/6-18",[]],["component/6-18",[]],["title/6-19",[56,26.749,76,22.638,556,24.243]],["name/6-19",[]],["text/6-19",[]],["component/6-19",[]],["title/6-20",[56,23.757,76,20.106,150,15.105,556,21.531]],["name/6-20",[]],["text/6-20",[]],["component/6-20",[]],["title/6-21",[537,25.191,657,26.653]],["name/6-21",[]],["text/6-21",[]],["component/6-21",[]],["title/6-22",[546,15.183,549,21.987]],["name/6-22",[]],["text/6-22",[]],["component/6-22",[]],["title/6",[4,10.72,16,11.018,17,9.081,18,5.19,56,19.413,76,16.43]],["name/6",[13,0.906,56,0.948,76,0.802]],["text/6",[1,0.259,4,1.804,5,0.33,11,0.396,12,0.288,13,1.796,14,1.952,15,1.638,16,1.913,17,1.475,18,1.097,22,0.434,23,0.347,25,0.344,27,2.592,30,0.413,31,0.339,32,0.355,33,0.882,34,0.474,36,0.785,44,0.848,47,2.914,49,3.412,51,0.586,53,0.291,56,3.707,57,1.188,59,0.25,61,0.285,62,2.363,63,1.292,66,1.48,67,2.62,69,2.065,70,1.074,71,0.903,72,2.774,76,3.727,77,1.839,78,1.442,80,1.757,81,0.644,82,0.35,84,0.413,85,0.518,87,1.341,88,0.396,90,2.273,91,1.741,93,2.077,94,1.922,95,0.675,98,0.732,99,0.232,103,2.693,105,0.644,113,0.586,114,0.321,117,1.417,119,0.768,129,1.77,136,0.404,137,1.428,138,0.301,146,0.626,150,2.285,152,3.635,153,3.128,154,2.059,155,0.374,156,1.772,162,0.785,168,1.004,169,0.317,174,0.848,180,3.036,185,1.525,186,0.824,191,4.369,192,1.846,196,0.335,198,2.025,200,0.317,209,1.014,211,1.57,212,1.632,217,0.635,218,0.853,221,0.396,223,0.992,235,1.3,239,0.618,241,2.914,242,4.24,247,0.807,254,1.58,268,0.737,275,0.339,278,0.381,287,0.335,288,0.71,302,0.374,306,0.848,308,1.176,311,0.335,313,1.99,317,0.533,319,0.931,333,1.788,338,1.477,341,0.635,346,2.599,348,0.339,349,1.949,352,0.49,356,0.49,363,0.473,365,1.846,373,3.011,375,0.367,379,1.122,387,3.013,390,0.381,411,0.996,428,0.602,437,0.723,440,0.23,445,1.027,469,0.602,507,1.632,510,0.388,511,0.396,521,0.51,522,0.602,525,4.033,526,0.301,529,2.51,533,0.931,534,0.413,535,2.738,536,1.012,538,1.068,542,0.413,543,0.367,546,0.148,547,1.107,549,0.214,551,0.446,554,2.603,556,3.422,557,1.544,558,1.208,560,0.423,567,0.446,568,0.563,571,0.291,574,0.533,575,0.388,583,1.359,591,1.525,594,0.404,601,0.388,605,1.267,607,1.521,609,2.245,610,0.899,612,1.339,613,1.143,619,0.434,631,0.459,644,0.232,645,0.232,646,1.101,647,0.232,648,0.232,649,0.232,650,0.232,651,0.232,652,0.232,653,2.865,654,2.059,655,1.339,656,0.51,658,0.968,659,0.602,660,1.445,661,0.473,662,0.635,663,0.602,664,0.752,665,1.257,666,0.662,667,0.662,668,0.662,669,0.824,670,0.871,671,0.662,672,1.895,673,0.602,674,2.609,675,0.662,676,1.758,677,2.499,678,2.076,679,1.257,680,1.143,681,1.795,682,0.662,683,0.563,684,0.533,685,0.563,686,0.662,687,3.136,688,0.423,689,1.69,690,0.968,691,0.968,692,3.1,693,2.283,694,1.329,695,1.257,696,0.899,697,1.951,698,1.257,699,1.068,700,0.51,701,1.143,702,2.984,703,2.902,704,0.396,705,1.176,706,0.968,707,1.226,708,1.257,709,1.632,710,1.257,711,1.712,712,1.012,713,1.379,714,1.012,715,1.69,716,1.6,717,0.49,718,0.602,719,2.076,720,1.257,721,0.602,722,1.143,723,0.723,724,0.533,725,0.964,726,0.662,727,0.49,728,0.662,729,0.533,730,0.968,731,0.325,732,0.87,733,1.257,734,1.143,735,0.483,736,3.136,737,1.257,738,1.143,739,0.459,740,0.662,741,1.147,742,2.433,743,0.473,744,0.846,745,0.662,746,1.795,747,0.662,748,0.662,749,0.662,750,0.662,751,0.602,752,0.563,753,0.602,754,0.563,755,0.563,756,0.602,757,0.563,758,0.459,759,1.582,760,0.662,761,0.404,762,0.434,763,0.423,764,0.473,765,0.434,766,1.143,767,0.602,768,0.49,769,0.602,770,0.446,771,1.804,772,1.143,773,1.257,774,0.533,775,0.662,776,0.367,777,0.563,778,0.662,779,0.662,780,2.528,781,2.283,782,2.283,783,1.257,784,0.686,785,0.423,786,1.632,787,1.012,788,0.602,789,0.662,790,0.446,791,0.662,792,1.257,793,1.283,794,1.096,795,1.795,796,1.226,797,1.795,798,1.632,799,1.795,800,1.137,801,1.795,802,1.795,803,1.795,804,1.795,805,1.339,806,1.632,807,1.795,808,0.662,809,2.111,810,0.662,811,0.51,812,0.662,813,0.563,814,1.257,815,1.257,816,0.662,817,0.396,818,0.662,819,0.662,820,0.804,821,1.143,822,1.57,823,1.068,824,0.388,825,0.563,826,1.147,827,0.533,828,0.533,829,0.533,830,3.511,831,0.931,832,0.662,833,1.795,834,0.602,835,0.381,836,3.136,837,0.662,838,0.446,839,0.563,840,1.257,841,0.396,842,0.563,843,1.257,844,0.533,845,1.795,846,1.395,847,1.795,848,0.662,849,0.662,850,0.662,851,1.496,852,2.283,853,3.107,854,0.662,855,0.473,856,0.662,857,0.662,858,0.602,859,0.662,860,0.931,861,0.662,862,1.632,863,0.662,864,0.563,865,1.257,866,0.662,867,0.662,868,0.785,869,0.662,870,0.662,871,0.662,872,1.257,873,0.662,874,0.662,875,0.662,876,0.662,877,0.662,878,0.662,879,1.257,880,0.446,881,0.473,882,1.257,883,0.662,884,0.396,885,0.662,886,0.662,887,0.662,888,0.434,889,0.563,890,0.662,891,0.662,892,0.662,893,0.662,894,1.257,895,0.533,896,0.602,897,0.662,898,0.662,899,1.068,900,0.662,901,0.662,902,0.662,903,0.662,904,0.662,905,0.662,906,0.804,907,0.662,908,0.662,909,0.602,910,0.662]],["component/6",[164,0.59]],["title/7-1",[537,25.191,657,26.653]],["name/7-1",[]],["text/7-1",[]],["component/7-1",[]],["title/7-2",[546,15.183,549,21.987]],["name/7-2",[]],["text/7-2",[]],["component/7-2",[]],["title/7",[16,11.018,17,9.081,18,5.19,88,25.812,89,25.303,90,17.244]],["name/7",[18,0.201,88,1,89,0.98,93,0.662]],["text/7",[4,1.595,5,2.157,14,1.914,17,1.611,18,1.306,23,1.771,34,2.422,50,1.947,53,1.903,67,1.589,69,2.422,71,2.54,78,2.287,80,3.562,84,1.422,85,2.645,87,2.127,88,5.064,89,5.905,90,3.613,91,3.564,92,3.095,93,3.028,94,4.218,99,2.255,109,4.192,113,2.019,117,1.747,129,1.713,138,1.971,150,1.837,161,2.49,191,2.445,209,2.445,217,2.187,218,3.844,235,1.603,239,2.127,247,3.443,306,2.045,348,2.219,349,2.403,440,1.507,445,2.888,528,2.703,529,2.287,537,1.603,546,0.966,556,3.121,575,2.538,623,3.204,625,2.324,644,1.52,645,1.52,646,2.255,647,1.52,648,1.52,649,1.52,650,1.52,651,1.52,652,1.52,691,3.332,703,3.922,711,2.362,731,2.127,732,3.113,735,2.942,741,5.412,776,2.403,868,2.703,911,9.158,912,2.49,913,2.913,914,4.328,915,4.328,916,4.943,917,3.486,918,2.045,919,4.328,920,4.448,921,4.328,922,2.538,923,4.328]],["component/7",[164,0.59]],["title/8-1",[18,8.181,95,36.519]],["name/8-1",[]],["text/8-1",[]],["component/8-1",[]],["title/8-2",[6,25.423,95,36.519]],["name/8-2",[]],["text/8-2",[]],["component/8-2",[]],["title/8-3",[95,31.92,117,23.998,118,30.043]],["name/8-3",[]],["text/8-3",[]],["component/8-3",[]],["title/8-4",[95,31.92,117,23.998,924,37.128]],["name/8-4",[]],["text/8-4",[]],["component/8-4",[]],["title/8-5",[6,22.221,95,31.92,117,23.998]],["name/8-5",[]],["text/8-5",[]],["component/8-5",[]],["title/8-6",[18,6.351,61,22.702,66,18.705,800,26.308]],["name/8-6",[]],["text/8-6",[]],["component/8-6",[]],["title/8-7",[18,6.351,84,17.345,156,29.829,196,26.682]],["name/8-7",[]],["text/8-7",[]],["component/8-7",[]],["title/8-8",[95,31.92,150,17.007,925,44.013]],["name/8-8",[]],["text/8-8",[]],["component/8-8",[]],["title/8-9",[537,25.191,657,26.653]],["name/8-9",[]],["text/8-9",[]],["component/8-9",[]],["title/8-10",[546,15.183,549,21.987]],["name/8-10",[]],["text/8-10",[]],["component/8-10",[]],["title/8",[16,13.484,17,11.113,18,6.351,95,28.349]],["name/8",[13,1.224,95,1.528]],["text/8",[1,1.449,4,1.878,6,3.757,13,1.59,14,1.891,15,1.726,16,1.683,17,1.531,18,1.216,19,0.92,23,0.755,25,1.425,31,2.637,32,1.47,34,2.15,47,0.854,50,1.664,53,3.436,55,0.518,59,1.692,61,1.59,63,1.848,66,0.545,67,1.005,69,0.58,71,2.035,72,0.813,80,1.556,84,2.567,85,2.865,87,0.756,88,0.92,90,1.094,93,3.265,95,5.324,99,1.299,103,2.421,107,1.239,115,0.801,117,4.191,118,3.676,129,1.083,136,1.672,137,2.043,138,0.7,150,2.301,160,5.153,161,1.575,162,1.71,163,3.813,168,0.676,177,1.1,191,4.359,196,2.267,211,0.885,223,0.669,235,0.57,239,1.345,241,2.053,242,1.986,247,1.232,253,1.008,254,0.692,263,0.885,306,0.727,311,0.777,313,0.684,333,1.478,338,1.152,363,3.208,365,0.736,383,1.307,387,2.15,427,2.49,440,0.536,445,0.692,501,1.399,543,1.52,546,0.343,547,0.746,556,1.83,560,0.983,575,0.902,583,0.766,585,1.008,588,1.184,601,0.902,607,2.175,611,3.111,617,4.143,625,0.826,644,0.54,645,0.54,646,1.576,647,0.54,648,0.54,649,0.54,650,0.54,651,0.54,652,0.54,662,0.777,670,3.108,672,3.418,674,2.31,699,1.307,703,0.94,707,0.826,732,0.746,735,2.673,744,1.035,758,2.563,776,0.854,784,1.494,800,4.112,835,1.575,841,1.638,844,1.239,906,0.983,922,0.902,924,2.802,926,1.538,927,3.144,928,1.239,929,2.327,930,1.139,931,3.813,932,1.139,933,0.826,934,1.538,935,1.538,936,1.307,937,1.538,938,2.738,939,1.538,940,1.399,941,3.699,942,1.538,943,1.307,944,2.49,945,1.538,946,0.789,947,2.979,948,1.794,949,2.738,950,1.345,951,0.983,952,1.538,953,1.307,954,1.538,955,1.75,956,1.399,957,1.538,958,0.826,959,1.399,960,1.035,961,4.266,962,2.169,963,0.609,964,1.538,965,5.144,966,3.144,967,1.184,968,1.184,969,3.208,970,1.538,971,1.538,972,1.538,973,2.738,974,3.144,975,3.808,976,1.399,977,1.538,978,1.239,979,1.307,980,1.538,981,1.538,982,2.738,983,1.066,984,2.738,985,1.307,986,2.205,987,1.538,988,1.399,989,1.538,990,1.399,991,1.538,992,1.538,993,1.538,994,1.239,995,1.139,996,1.538,997,1.184,998,1.307,999,3.364,1000,2.327,1001,2.327,1002,2.738,1003,1.538,1004,2.738,1005,3.364,1006,1.538,1007,1.538,1008,1.307,1009,1.399,1010,1.066,1011,1.307,1012,1.066,1013,0.885,1014,0.84,1015,0.92,1016,1.399,1017,3.699,1018,1.538,1019,1.538,1020,1.538]],["component/8",[164,0.59]],["title/9-1",[77,27.848,78,25.096,150,13.585,543,26.36,924,29.658]],["name/9-1",[]],["text/9-1",[]],["component/9-1",[]],["title/9-2",[76,18.083,77,27.848,78,25.096,150,13.585,242,25.497]],["name/9-2",[]],["text/9-2",[]],["component/9-2",[]],["title/9-3",[77,27.848,78,25.096,80,19.981,150,13.585,716,27.848]],["name/9-3",[]],["text/9-3",[]],["component/9-3",[]],["title/9-4",[537,25.191,657,26.653]],["name/9-4",[]],["text/9-4",[]],["component/9-4",[]],["title/9-5",[546,15.183,549,21.987]],["name/9-5",[]],["text/9-5",[]],["component/9-5",[]],["title/9",[16,12.127,17,9.995,18,5.712,77,27.848,78,25.096]],["name/9",[77,1.235,78,1.113,542,1.315]],["text/9",[1,0.932,4,0.591,5,0.655,6,2.104,11,0.786,13,0.565,14,1.29,15,1.519,16,0.336,17,1.838,18,1.27,23,1.768,27,0.717,34,0.496,39,0.655,40,1.6,47,0.73,50,1.07,51,0.613,53,1.431,55,0.443,57,0.684,61,1.022,62,1.6,63,0.542,67,2.352,68,0.592,71,1.579,76,3.274,77,3.025,78,5.227,80,4.107,84,0.432,85,3.825,88,1.947,90,0.95,92,0.94,93,2.664,94,3.632,99,2.56,109,2.343,113,0.613,114,0.637,117,3.413,118,0.664,137,1.817,138,0.599,145,1.485,146,1.185,150,2.773,154,1.394,155,0.743,174,0.621,180,1.698,181,0.84,191,4.022,199,2.081,209,0.743,211,0.756,217,1.202,218,0.491,223,0.572,227,1.012,235,2.869,239,1.6,241,1.807,242,3.615,271,0.717,275,0.674,302,0.743,349,2.863,375,0.73,387,1.946,424,2.296,440,0.458,442,2.021,490,0.821,511,0.786,529,3.713,535,5.724,543,3.354,546,0.293,556,1.628,557,3.31,558,0.885,567,0.885,571,0.578,574,2.622,578,1.059,583,0.655,605,0.73,607,0.637,609,5.197,617,4.534,625,0.706,640,1.012,644,0.835,645,0.462,646,1.143,647,0.462,648,0.462,649,0.462,650,0.462,651,0.462,652,0.462,653,3.675,662,1.645,663,1.196,672,4.155,674,2.033,688,0.84,689,1.76,704,0.786,706,1.831,707,0.706,713,2.607,715,2.41,716,5.328,717,0.973,722,1.196,723,4.457,725,1.277,727,2.955,729,2.622,731,3.149,735,1.251,739,1.647,742,1.647,758,0.911,771,1.873,774,3.215,776,0.73,784,0.717,800,0.655,820,0.84,824,1.394,826,2.552,831,1.76,838,1.6,851,0.862,906,2.081,918,0.621,924,2.493,928,1.059,950,0.646,951,2.081,960,0.885,961,2.708,963,0.52,969,1.7,975,0.973,1000,1.117,1001,2.767,1021,1.257,1022,1.6,1023,2.378,1024,3.862,1025,2.021,1026,1.196,1027,0.553,1028,0.94,1029,1.059,1030,3.367,1031,2.327,1032,2.255,1033,2.021,1034,2.767,1035,1.315,1036,0.84,1037,0.84,1038,1.196,1039,1.117,1040,1.315,1041,1.059,1042,1.196,1043,1.196,1044,0.655,1045,0.911,1046,1.117,1047,0.94,1048,1.315,1049,1.315,1050,1.117,1051,4.201,1052,4.201,1053,3.63,1054,1.315,1055,5.119,1056,1.196,1057,2.163,1058,2.163,1059,2.961,1060,1.196,1061,2.378,1062,0.911,1063,1.196,1064,1.315,1065,0.862,1066,1.196,1067,4.618,1068,1.315,1069,2.378,1070,1.315,1071,1.059,1072,2.968,1073,1.196,1074,3.255,1075,1.315,1076,0.862,1077,1.059,1078,2.021,1079,1.315,1080,1.315,1081,1.117,1082,1.315,1083,1.196,1084,1.117,1085,0.821,1086,1.117]],["component/9",[164,0.59]],["title/10-1",[81,34.874,90,27.183]],["name/10-1",[]],["text/10-1",[]],["component/10-1",[]],["title/10-2",[81,30.482,82,31.418,150,17.007]],["name/10-2",[]],["text/10-2",[]],["component/10-2",[]],["title/10-3",[537,25.191,657,26.653]],["name/10-3",[]],["text/10-3",[]],["component/10-3",[]],["title/10-4",[546,15.183,549,21.987]],["name/10-4",[]],["text/10-4",[]],["component/10-4",[]],["title/10",[16,12.127,17,9.995,18,5.712,81,24.348,82,25.096]],["name/10",[18,0.201,81,0.857,82,0.884,542,1.044]],["text/10",[1,0.71,4,1.561,6,0.677,14,1.572,15,2.351,16,1.074,17,1.323,18,1.201,23,0.872,39,0.902,40,1.219,44,0.855,45,5.206,49,2.295,53,0.796,55,0.61,56,1.422,57,0.942,62,2.128,63,0.746,68,1.422,71,1.251,72,0.957,76,1.919,78,1.67,80,1.33,81,5.555,82,4.411,85,0.746,88,1.083,90,3.13,91,2.335,92,1.295,93,2.977,94,0.902,99,1.11,109,0.754,114,1.533,117,3.037,136,1.931,138,2.294,146,0.902,150,2.241,151,2.072,154,2.955,155,1.023,156,3.231,174,0.855,180,1.789,191,4.126,200,0.867,227,2.433,235,0.671,239,3.697,241,1.754,242,1.697,253,1.187,254,0.815,271,0.988,272,4.633,278,1.819,282,1.254,292,1.187,311,1.597,313,0.805,333,0.724,348,5.16,349,1.005,365,0.867,373,3.392,375,1.005,387,3.23,422,1.219,424,1.042,437,1.042,440,0.63,442,1.539,445,1.892,451,1.219,525,3.55,526,0.824,528,1.131,529,0.957,535,3.303,546,0.404,549,0.585,550,2.42,554,1.316,555,1.083,556,2.924,557,1.39,571,1.39,577,2.26,583,0.902,607,0.878,609,5.007,644,0.636,645,0.636,646,0.636,647,0.636,648,0.636,649,0.636,650,0.636,651,0.636,652,0.636,653,2.295,656,2.433,662,0.915,670,1.254,672,1.553,673,1.647,674,1.974,683,1.539,684,3.388,685,3.575,691,4.403,697,2.26,703,3.494,704,1.083,705,1.187,707,1.697,713,0.915,717,3.114,721,1.647,723,1.042,730,1.394,776,1.005,780,1.187,784,0.988,787,1.458,820,2.021,821,1.647,822,1.042,838,1.219,841,3.015,846,3.078,851,1.187,884,1.083,889,2.686,895,1.458,906,2.689,912,2.42,918,1.493,951,3.222,961,4.205,963,0.717,978,1.458,979,1.539,995,1.341,1022,2.128,1024,1.158,1027,0.762,1028,1.295,1037,1.158,1044,0.902,1076,2.072,1087,1.458,1088,1.023,1089,1.647,1090,1.062,1091,1.647,1092,1.647,1093,1.811,1094,1.811,1095,1.341,1096,1.647,1097,1.811,1098,1.341,1099,7.053,1100,1.647,1101,1.539,1102,1.647,1103,1.811,1104,1.811,1105,5.039,1106,1.811,1107,2.875,1108,3.161,1109,1.811,1110,1.254,1111,1.811,1112,1.647,1113,1.811,1114,1.341,1115,4.283,1116,6.284,1117,1.811,1118,3.161,1119,3.161,1120,1.458,1121,1.811,1122,1.811,1123,1.539,1124,6.284,1125,8.105,1126,3.161,1127,1.811,1128,1.811,1129,1.811,1130,1.811,1131,1.811,1132,1.811,1133,1.219,1134,4.206,1135,1.811,1136,1.083]],["component/10",[164,0.59]],["title/11-1",[18,7.15,55,20.016,83,40.018]],["name/11-1",[]],["text/11-1",[]],["component/11-1",[]],["title/11-2",[18,7.15,59,22.427,83,40.018]],["name/11-2",[]],["text/11-2",[]],["component/11-2",[]],["title/11-3",[18,6.351,59,19.919,83,35.541,1137,40.652]],["name/11-3",[]],["text/11-3",[]],["component/11-3",[]],["title/11-4",[537,25.191,657,26.653]],["name/11-4",[]],["text/11-4",[]],["component/11-4",[]],["title/11-5",[546,15.183,549,21.987]],["name/11-5",[]],["text/11-5",[]],["component/11-5",[]],["title/11",[16,13.484,17,11.113,18,6.351,83,35.541]],["name/11",[33,1.399,83,1.916]],["text/11",[1,1.945,4,1.233,6,0.662,8,1.74,14,0.443,15,1.447,16,0.792,17,1.187,18,1.214,23,1.556,34,1.56,47,1.722,50,0.797,53,2.729,55,2.86,59,3.205,61,0.762,67,1.822,68,1.396,69,1.17,76,2.701,78,3.28,80,1.305,83,7.22,85,1.704,93,3.362,99,1.089,105,0.909,113,1.447,114,1.504,117,2.863,129,1.227,137,3.043,146,0.883,150,2.43,174,0.837,180,2.639,191,4.414,192,1.484,198,1.504,218,1.546,234,1.039,241,3.445,254,0.797,275,1.59,278,1.02,288,1.752,301,1.545,313,2.76,315,0.848,338,0.746,341,1.567,349,3.71,350,1.612,360,1.133,365,1.484,375,0.984,387,3.462,422,1.193,440,0.617,511,1.856,526,0.807,546,0.396,554,2.067,555,1.856,556,3.464,583,1.545,605,0.984,607,2.407,609,1.983,611,1.693,624,4.795,644,0.622,645,0.622,646,1.743,647,0.622,648,0.622,649,0.622,650,0.622,651,0.622,652,0.622,653,0.967,662,0.896,672,3.05,704,2.474,707,1.665,711,1.693,713,2.508,723,2.38,731,0.871,735,1.59,744,1.193,754,1.506,784,1.693,785,1.983,790,2.088,793,2.218,794,1.895,805,1.819,835,1.02,933,0.951,946,1.59,955,1.133,958,3.589,963,1.227,1011,1.506,1021,1.639,1027,1.305,1072,1.785,1076,2.033,1078,2.636,1136,1.856,1137,6.692,1138,2.345,1139,0.859,1140,1.06,1141,1.612,1142,1.612,1143,1.228,1144,1.772,1145,1.612,1146,1.612,1147,7.094,1148,2.388,1149,1.506,1150,2.821,1151,1.93,1152,4.136,1153,1.193,1154,1.228,1155,1.06,1156,2.498,1157,3.102,1158,3.102,1159,4.964,1160,3.102,1161,4.964,1162,3.102,1163,4.964,1164,3.102,1165,4.136,1166,1.895,1167,4.136,1168,1.983,1169,4.136,1170,6.206,1171,4.136,1172,2.218,1173,1.772,1174,1.772,1175,1.427,1176,1.819,1177,3.102,1178,2.856,1179,1.856,1180,1.772,1181,1.772,1182,1.772,1183,1.772,1184,1.772,1185,1.772,1186,1.772,1187,5.641,1188,4.136,1189,1.772,1190,1.772,1191,1.772,1192,1.772,1193,1.772,1194,1.772,1195,1.772]],["component/11",[164,0.59]],["title/12-1",[6,17.75,84,15.6,103,18.609,129,18.792,796,25.497]],["name/12-1",[]],["text/12-1",[]],["component/12-1",[]],["title/12-2",[6,17.75,84,15.6,103,18.609,129,18.792,139,33.954]],["name/12-2",[]],["text/12-2",[]],["component/12-2",[]],["title/12-3",[6,17.75,113,22.156,138,21.621,198,23.026,518,28.409]],["name/12-3",[]],["text/12-3",[]],["component/12-3",[]],["title/12-4",[21,17.244,103,16.908,247,19.413,437,24.825,529,22.802,800,21.499]],["name/12-4",[]],["text/12-4",[]],["component/12-4",[]],["title/12-5",[6,17.75,18,5.712,90,18.979,103,18.609,150,13.585]],["name/12-5",[]],["text/12-5",[]],["component/12-5",[]],["title/12-6",[537,25.191,657,26.653]],["name/12-6",[]],["text/12-6",[]],["component/12-6",[]],["title/12-7",[546,15.183,549,21.987]],["name/12-7",[]],["text/12-7",[]],["component/12-7",[]],["title/12",[6,25.682,31,24.348,32,25.497,103,18.609]],["name/12",[6,0.932,31,0.711,32,0.744,103,0.543]],["text/12",[3,0.988,4,0.959,6,3.919,8,0.798,14,2.203,15,1.234,16,1.77,17,1.095,18,1.188,21,1.921,23,2.243,27,3.658,31,3.171,32,3.321,33,0.505,34,1.242,43,0.535,50,1.481,51,1.536,55,1.299,56,0.462,57,0.535,62,0.691,66,1.844,67,2.369,69,1.242,71,1.046,72,0.543,84,2.713,85,3.666,87,0.505,90,2.08,91,0.57,93,1.046,97,0.844,98,1.778,99,2.699,102,0.627,103,4.097,104,2.446,112,3.523,113,0.479,115,1.713,117,0.766,118,0.519,119,2.011,120,0.673,121,0.657,129,3.162,134,1.244,135,1.213,137,1.499,138,3.251,139,5.992,140,0.934,146,0.512,148,2.532,150,1.769,174,1.249,177,1.357,186,1.244,191,3.567,192,0.492,196,1.336,198,1.596,199,1.69,202,1.897,209,0.58,211,1.092,217,1.664,218,1.796,221,0.614,223,3.268,224,1.357,235,1.928,239,0.932,247,3.871,254,1.736,259,1.733,265,2.674,267,0.673,271,1.036,275,1.356,278,1.092,287,1.664,288,0.58,301,0.512,311,1.95,313,0.457,314,0.712,315,1.575,329,2.247,333,0.758,338,2.022,341,0.519,360,1.69,365,0.492,383,3.706,384,3.109,387,2.435,398,0.734,401,3.25,411,1.468,425,0.691,427,1.053,437,1.092,440,0.358,445,0.462,510,1.551,511,0.614,518,1.135,526,0.468,527,0.76,528,0.641,529,2.94,532,0.657,546,0.229,550,2.995,551,0.691,554,0.428,555,1.969,556,2.522,557,1.917,558,0.691,571,0.834,575,0.602,580,0.657,583,0.945,585,2.158,588,0.791,601,2.557,605,3.583,607,0.92,609,0.657,619,1.244,625,0.551,631,1.832,634,2.281,644,0.361,645,0.361,646,1.531,647,0.361,648,0.361,649,0.361,650,0.361,651,0.361,652,0.361,655,1.931,657,0.744,661,0.734,713,1.336,716,1.113,731,0.932,732,0.92,735,1.265,743,0.734,758,0.712,761,0.627,762,1.244,777,1.613,780,0.673,785,1.213,788,1.726,793,0.734,794,0.627,796,2.58,798,0.934,800,0.945,806,0.934,809,1.78,817,0.614,826,1.213,851,1.244,906,1.69,912,1.521,913,0.691,920,0.712,922,1.931,927,1.613,928,0.827,943,1.613,946,0.527,948,1.733,963,1.046,983,0.712,1013,1.092,1014,1.036,1015,0.614,1021,0.543,1027,0.798,1072,1.092,1090,0.602,1138,0.485,1151,0.479,1155,0.614,1176,1.551,1178,2.509,1179,1.135,1196,0.934,1197,0.934,1198,0.76,1199,2.798,1200,1.897,1201,0.934,1202,1.244,1203,0.934,1204,0.934,1205,1.027,1206,1.027,1207,0.934,1208,2.405,1209,3.28,1210,1.027,1211,1.027,1212,1.027,1213,0.712,1214,1.027,1215,1.027,1216,4.779,1217,1.027,1218,0.827,1219,1.897,1220,1.027,1221,0.791,1222,1.027,1223,1.027,1224,2.644,1225,0.791,1226,1.027,1227,1.027,1228,1.027,1229,0.934,1230,1.027,1231,1.027,1232,0.934,1233,1.027,1234,2.13,1235,1.027,1236,1.897,1237,1.897,1238,1.897,1239,1.027,1240,1.897,1241,1.726,1242,1.405,1243,1.726,1244,1.897,1245,1.897,1246,1.726,1247,2.644,1248,3.292,1249,1.897,1250,2.994,1251,1.897,1252,1.897,1253,1.726,1254,1.613,1255,2.994,1256,1.027,1257,1.027,1258,1.027,1259,1.027,1260,0.934,1261,1.027,1262,1.027,1263,1.027,1264,1.027,1265,2.247,1266,1.185,1267,0.827,1268,0.827,1269,0.712,1270,0.76,1271,1.461,1272,1.726,1273,0.873,1274,0.657,1275,1.244,1276,1.244,1277,1.027,1278,1.027,1279,1.027,1280,1.897,1281,1.027,1282,2.644,1283,1.027,1284,2.759,1285,1.027,1286,0.934,1287,3.292,1288,1.277,1289,1.528,1290,1.528,1291,0.873,1292,0.827,1293,1.027,1294,0.934]],["component/12",[164,0.59]],["title/13-1",[18,6.351,84,17.345,585,34.605,1213,36.581]],["name/13-1",[]],["text/13-1",[]],["component/13-1",[]],["title/13-2",[150,15.105,585,34.605,846,32.255,1213,36.581]],["name/13-2",[]],["text/13-2",[]],["component/13-2",[]],["title/13-3",[82,35.945,1295,61.865]],["name/13-3",[]],["text/13-3",[]],["component/13-3",[]],["title/13-4",[537,25.191,657,26.653]],["name/13-4",[]],["text/13-4",[]],["component/13-4",[]],["title/13-5",[546,15.183,549,21.987]],["name/13-5",[]],["text/13-5",[]],["component/13-5",[]],["title/13",[6,16.127,14,10.794,31,22.123,32,23.166,119,26.358,120,28.279]],["name/13",[6,0.625,31,0.857,32,0.898,120,1.096]],["text/13",[6,2.832,13,0.79,14,2.607,15,0.858,16,2.013,17,1.767,18,1.08,23,1.174,27,4.699,31,1.642,32,0.987,34,0.693,35,1.415,44,2.01,45,1.415,47,1.778,50,2.852,51,1.494,57,1.667,65,1.02,67,1.869,68,0.827,69,0.693,71,1.684,76,0.7,81,0.943,84,2.489,85,4.128,88,1.1,90,1.701,93,2.015,98,0.75,99,2.226,103,0.72,107,1.481,114,1.553,117,0.742,118,1.618,119,4.816,120,6.168,121,1.175,129,2.508,145,1.148,146,2.537,150,1.95,174,2.01,218,0.687,223,3.743,224,5.83,233,1.274,235,0.681,239,3.35,247,0.827,254,2.598,278,1.058,287,0.929,333,2.724,338,2.667,353,1.481,387,3.321,390,1.058,411,1.02,424,1.058,427,1.02,440,1.115,445,1.441,511,3.046,546,0.41,547,0.891,549,1.035,556,3.589,557,1.408,560,1.175,571,1.408,577,4.532,584,1.672,585,7.18,586,2.913,587,1.672,588,6.07,589,2.913,605,1.02,611,1.748,622,4.328,625,1.719,630,2.913,644,0.646,645,0.646,646,1.494,647,0.646,648,0.646,649,0.646,650,0.646,651,0.646,652,0.646,661,2.29,662,1.618,677,1.1,700,1.415,704,1.916,711,1.003,731,1.574,732,1.553,735,0.707,758,2.219,776,1.02,787,1.481,827,1.481,835,1.058,839,1.562,841,2.546,846,4.164,851,1.205,916,1.415,922,1.078,963,1.267,968,2.466,1012,2.219,1014,1.748,1021,1.692,1022,1.237,1027,0.773,1030,1.1,1050,1.562,1085,1.148,1114,1.361,1143,1.274,1149,2.722,1196,1.672,1198,1.361,1213,6.329,1216,2.371,1266,1.148,1295,1.672,1296,6.763,1297,1.672,1298,6.816,1299,1.838,1300,1.672,1301,1.838,1302,1.838,1303,1.672,1304,1.838,1305,1.838,1306,1.672,1307,1.672,1308,2.58,1309,1.838,1310,3.203,1311,1.838,1312,1.838,1313,1.838,1314,1.838,1315,1.838,1316,2.29,1317,1.481,1318,1.838,1319,1.838,1320,1.838,1321,1.838,1322,1.838,1323,1.562,1324,1.838,1325,1.838,1326,1.838,1327,1.838,1328,1.838,1329,1.838,1330,3.203,1331,3.203,1332,2.29,1333,1.838,1334,6.816,1335,1.562,1336,1.838,1337,1.562,1338,1.838,1339,1.838,1340,1.838,1341,1.838,1342,1.838,1343,1.838,1344,1.562,1345,1.838,1346,1.838,1347,1.838]],["component/13",[164,0.59]],["title/14-1",[6,19.735,18,6.351,121,33.755,150,15.105]],["name/14-1",[]],["text/14-1",[]],["component/14-1",[]],["title/14-2",[537,25.191,657,26.653]],["name/14-2",[]],["text/14-2",[]],["component/14-2",[]],["title/14-3",[546,15.183,549,21.987]],["name/14-3",[]],["text/14-3",[]],["component/14-3",[]],["title/14",[6,17.75,16,12.127,17,9.995,18,5.712,121,30.359]],["name/14",[6,0.787,18,0.253,121,1.347]],["text/14",[1,1.478,4,0.392,6,4.061,8,0.663,10,3.605,13,1.622,14,1.761,16,1.6,17,1.482,18,1.265,23,1.597,25,0.821,27,0.86,29,1.34,31,4.165,32,1.502,34,1.972,44,0.745,52,0.985,53,1.659,55,1.76,57,3.012,59,0.595,63,2.901,67,1.385,71,0.624,80,1.587,84,1.718,85,1.882,87,0.775,90,2.814,91,2.535,92,1.127,93,2.29,98,0.643,99,1.836,112,1.674,117,3.279,118,3.558,121,6.8,129,1.807,132,1.527,136,0.963,137,2.08,150,2.014,168,2.544,191,4.168,192,1.805,196,1.414,209,5.222,218,1.046,224,2.697,235,2.726,253,3.427,254,1.697,276,1.033,288,1.581,308,1.033,313,0.701,333,1.825,363,2.001,378,1.34,379,2.245,387,2.52,390,0.907,398,1.127,427,0.875,440,0.549,483,2.472,541,1.167,546,0.352,554,1.165,556,3.313,557,2.937,560,1.008,561,2.072,611,0.86,644,0.554,645,0.554,646,2.473,647,0.554,648,0.554,649,0.554,650,0.554,651,0.554,652,0.554,654,0.925,662,2.308,672,0.775,677,0.943,700,1.214,704,1.674,706,1.214,732,1.357,735,1.756,761,1.709,780,1.033,793,2.697,794,2.304,796,3.586,800,1.88,820,1.008,822,2.17,826,1.008,827,1.27,828,1.27,831,2.072,838,1.061,841,3.462,881,1.127,888,1.033,918,1.782,922,0.925,933,0.846,950,1.375,961,1.641,963,0.624,975,2.793,998,1.34,1012,2.614,1021,0.833,1028,1.127,1031,4.48,1044,1.88,1085,1.747,1090,0.925,1133,1.883,1199,1.34,1218,1.27,1348,1.34,1349,1.577,1350,1.577,1351,1.167,1352,2.154,1353,1.577,1354,1.434,1355,1.27,1356,1.577,1357,5.229,1358,1.577,1359,1.434,1360,1.214,1361,4.567,1362,3.772,1363,7.643,1364,4.567,1365,2.798,1366,4.567,1367,2.798,1368,1.577,1369,1.577,1370,1.577,1371,1.577,1372,4.627,1373,3.871,1374,4.756,1375,6.265,1376,1.577,1377,1.577,1378,1.577,1379,1.577,1380,1.577,1381,1.577,1382,3.431,1383,1.577,1384,3.431,1385,2.798,1386,1.434,1387,1.34,1388,1.092,1389,1.434,1390,1.577,1391,1.577,1392,1.434,1393,1.577,1394,1.577,1395,1.577,1396,1.577,1397,1.34,1398,1.577,1399,1.577,1400,1.577,1401,1.577,1402,1.577,1403,1.577,1404,1.577,1405,1.577,1406,1.577,1407,1.577,1408,1.577,1409,1.577,1410,1.577,1411,1.577,1412,1.577,1413,1.434,1414,1.27,1415,1.214]],["component/14",[164,0.59]],["title/15-1",[6,22.221,150,17.007,841,35.565]],["name/15-1",[]],["text/15-1",[]],["component/15-1",[]],["title/15-2",[537,25.191,657,26.653]],["name/15-2",[]],["text/15-2",[]],["component/15-2",[]],["title/15-3",[546,15.183,549,21.987]],["name/15-3",[]],["text/15-3",[]],["component/15-3",[]],["title/15",[6,17.75,16,12.127,17,9.995,18,5.712,117,19.17]],["name/15",[6,0.787,18,0.253,82,1.113]],["text/15",[1,2.899,4,0.608,6,4.146,14,1.964,15,1.142,16,0.625,17,0.515,18,1.175,27,4.817,31,2.097,32,2.196,34,1.543,53,3.452,55,0.824,57,3.202,63,3.391,67,2.258,68,1.101,76,0.932,85,3.235,90,3.527,93,0.968,103,0.959,112,1.464,114,1.187,117,4.045,118,3.109,119,1.495,120,1.604,121,1.565,129,0.968,145,2.554,150,2.354,168,1.798,174,1.156,191,4.404,209,1.383,211,2.353,219,1.75,223,1.064,235,0.906,241,3.416,245,1.604,254,1.84,259,2.68,282,1.696,333,2.459,341,2.066,348,1.255,387,2.791,398,1.75,407,1.604,427,3.799,440,0.852,511,1.464,546,0.546,556,3.924,557,1.798,575,4.013,583,2.624,605,2.27,634,1.696,644,0.86,645,0.86,646,1.436,647,0.86,648,0.86,649,0.86,650,0.86,651,0.86,652,0.86,670,1.696,672,4.202,711,1.336,717,3.027,727,1.812,731,1.203,735,0.941,743,4.399,796,2.196,822,1.408,826,2.614,829,4.956,841,4.425,963,0.968,975,5.067,994,6.629,997,4.055,998,6.995,1027,1.03,1029,4.242,1037,1.565,1065,1.604,1077,3.294,1143,1.696,1146,3.719,1225,1.884,1388,1.696,1416,2.08,1417,4.791,1418,3.027,1419,2.226,1420,5.267,1421,5.267,1422,6.153,1423,2.448,1424,6.153,1425,2.448,1426,2.448,1427,2.448,1428,4.089,1429,2.448,1430,1.971,1431,1.971,1432,2.226,1433,1.971,1434,2.448]],["component/15",[164,0.59]],["title/16-1",[117,23.998,118,30.043,150,17.007]],["name/16-1",[]],["text/16-1",[]],["component/16-1",[]],["title/16-2",[537,25.191,657,26.653]],["name/16-2",[]],["text/16-2",[]],["component/16-2",[]],["title/16-3",[546,15.183,549,21.987]],["name/16-3",[]],["text/16-3",[]],["component/16-3",[]],["title/16",[16,12.127,17,9.995,18,5.712,117,19.17,118,23.998]],["name/16",[33,1.399,118,1.438]],["text/16",[1,0.747,4,1.608,6,3.181,14,2.07,16,0.844,17,1.548,18,1.268,21,0.762,23,1.786,27,5.783,31,3.77,32,1.775,34,1.247,36,1.191,40,1.284,44,0.901,49,2.389,51,0.89,55,0.642,61,0.82,63,2.434,65,1.058,67,2.168,68,1.488,80,2.724,82,1.747,84,1.086,88,1.978,90,1.321,93,0.755,98,0.778,99,2.273,103,0.747,117,3.436,118,4.805,119,3.609,120,3.872,121,4.138,136,3.609,150,2.549,155,1.077,162,1.191,168,1.924,174,1.562,180,0.811,181,2.114,191,3.974,192,3.098,194,1.902,209,2.95,211,1.097,218,0.713,223,0.829,235,2.188,239,1.625,247,0.858,278,1.097,288,1.077,308,1.25,326,1.468,333,0.762,338,0.802,349,2.429,379,1.625,387,2.621,427,1.835,440,0.664,511,1.141,525,2.473,526,0.868,535,2.869,542,1.191,546,0.426,556,3.878,605,1.058,611,5.255,623,1.412,634,4.093,644,0.67,645,0.67,646,1.537,647,0.67,648,0.67,649,0.67,650,0.67,651,0.67,652,0.67,653,2.389,662,0.964,672,3.415,677,3.872,692,1.321,697,1.363,705,1.25,707,1.775,712,1.536,723,3.724,725,1.024,735,1.682,744,1.284,784,1.041,796,1.775,811,2.545,817,1.141,820,1.219,822,3.005,824,3.464,831,3.24,841,1.141,846,1.165,884,1.141,895,1.536,918,1.562,950,2.151,951,1.219,958,2.35,961,1.118,962,1.118,963,1.308,967,2.545,969,4.224,975,2.448,983,1.321,997,1.468,1000,2.81,1001,1.621,1012,6.043,1013,1.902,1021,1.747,1027,1.391,1044,0.95,1066,1.734,1086,2.81,1139,0.925,1140,1.141,1143,6.174,1216,1.412,1255,1.734,1296,2.448,1317,1.536,1389,1.734,1397,2.81,1430,2.663,1431,1.536,1432,1.734,1435,1.907,1436,1.734,1437,1.734,1438,1.621,1439,1.734,1440,1.734,1441,1.621,1442,1.621,1443,1.412,1444,1.907,1445,1.363,1446,1.25,1447,3.306,1448,1.907,1449,1.412,1450,1.907,1451,1.907,1452,1.907,1453,1.907,1454,1.907,1455,1.907,1456,1.734,1457,1.734,1458,1.734,1459,1.734,1460,1.734,1461,1.907,1462,1.621,1463,1.468,1464,1.907,1465,1.734,1466,1.907,1467,1.907,1468,1.907,1469,1.907,1470,1.907,1471,3.306,1472,1.907,1473,1.907,1474,1.907,1475,1.907]],["component/16",[164,0.59]],["title/17-1",[109,24.751,118,30.043,150,17.007]],["name/17-1",[]],["text/17-1",[]],["component/17-1",[]],["title/17-2",[84,19.53,138,27.068,1208,54.074]],["name/17-2",[]],["text/17-2",[]],["component/17-2",[]],["title/17-3",[537,25.191,657,26.653]],["name/17-3",[]],["text/17-3",[]],["component/17-3",[]],["title/17-4",[546,15.183,549,21.987]],["name/17-4",[]],["text/17-4",[]],["component/17-4",[]],["title/17",[16,12.127,17,9.995,18,5.712,109,19.771,118,23.998]],["name/17",[33,1.035,109,0.877,118,1.064]],["text/17",[1,0.711,4,2.26,6,3.763,11,1.085,14,1.96,16,0.808,17,1.584,18,1.299,23,1.579,27,5.405,31,2.586,32,1.699,34,1.194,36,1.976,47,2.8,49,1.727,55,0.61,61,0.78,63,2.358,67,2.483,68,1.424,71,0.717,72,0.958,76,1.603,82,1.672,84,1.657,87,0.891,90,1.265,98,0.739,99,2.01,103,0.711,109,3.647,112,1.085,113,0.846,114,1.534,115,0.944,117,3.536,118,5.476,121,4.021,136,3.842,137,2.297,138,3.568,150,2.451,154,2.469,155,1.024,162,1.132,168,1.391,174,1.495,180,0.771,181,1.159,191,3.57,192,2.414,194,1.821,198,2.775,202,0.891,209,2.379,211,1.043,217,0.916,218,1.885,224,1.296,235,1.559,239,1.555,241,1.006,242,0.974,247,1.424,263,2.422,264,1.396,275,0.93,278,1.043,288,1.024,306,2.971,333,0.725,338,1.331,341,0.916,379,0.891,387,1.903,422,1.22,427,1.757,440,0.631,445,0.816,490,1.132,513,1.22,514,1.541,525,1.788,526,0.826,534,1.976,542,1.132,546,0.405,556,2.926,585,1.188,588,1.396,601,1.063,605,1.006,607,1.534,611,5.245,623,1.342,634,2.192,644,0.637,645,0.637,646,1.479,647,1.111,648,0.637,649,0.637,650,0.637,651,0.637,652,0.637,653,0.99,662,0.916,672,3.7,674,1.132,677,3.762,692,1.256,694,1.342,697,1.296,707,2.261,723,1.821,735,1.618,741,1.159,742,2.192,743,3.606,744,1.22,776,1.006,784,1.727,796,0.974,811,2.436,817,1.085,820,1.159,822,2.902,826,1.159,855,1.296,948,1.188,950,2.069,951,1.159,958,1.699,960,1.22,961,1.063,962,1.063,963,1.252,966,1.541,967,3.242,969,1.296,974,1.541,975,1.342,997,1.396,1012,4.688,1013,1.821,1021,2.225,1027,2.122,1036,1.159,1044,1.577,1086,2.69,1123,1.541,1139,0.879,1140,1.085,1143,3.495,1234,5.45,1316,1.296,1317,1.46,1354,1.649,1397,1.541,1430,2.549,1433,1.46,1436,1.649,1437,1.649,1438,1.541,1439,1.649,1440,1.649,1441,1.541,1446,1.188,1456,1.649,1457,1.649,1458,1.649,1459,1.649,1460,1.649,1462,1.541,1465,1.649,1476,1.541,1477,2.878,1478,1.813,1479,1.813,1480,1.813,1481,1.813,1482,1.813,1483,1.541,1484,1.813,1485,1.813,1486,1.46,1487,1.813,1488,1.813,1489,3.165,1490,1.813,1491,1.813,1492,1.813,1493,1.813,1494,1.813,1495,1.813,1496,1.813,1497,1.813,1498,1.813]],["component/17",[164,0.59]],["title/18-1",[117,32.079]],["name/18-1",[]],["text/18-1",[]],["component/18-1",[]],["title/18-2",[76,30.261]],["name/18-2",[]],["text/18-2",[]],["component/18-2",[]],["title/18-3",[6,29.703]],["name/18-3",[]],["text/18-3",[]],["component/18-3",[]],["title/18-4",[17,12.512,18,7.15,80,25.014]],["name/18-4",[]],["text/18-4",[]],["component/18-4",[]],["title/18-5",[78,41.997]],["name/18-5",[]],["text/18-5",[]],["component/18-5",[]],["title/18-6",[81,34.874,82,35.945]],["name/18-6",[]],["text/18-6",[]],["component/18-6",[]],["title/18-7",[1499,64.008]],["name/18-7",[]],["text/18-7",[]],["component/18-7",[]],["title/18-8",[95,42.667]],["name/18-8",[]],["text/18-8",[]],["component/18-8",[]],["title/18-9",[1500,67.545]],["name/18-9",[]],["text/18-9",[]],["component/18-9",[]],["title/18-10",[1034,67.545]],["name/18-10",[]],["text/18-10",[]],["component/18-10",[]],["title/18-11",[1501,53.492]],["name/18-11",[]],["text/18-11",[]],["component/18-11",[]],["title/18-12",[537,25.191,657,26.653]],["name/18-12",[]],["text/18-12",[]],["component/18-12",[]],["title/18-13",[546,15.183,549,21.987]],["name/18-13",[]],["text/18-13",[]],["component/18-13",[]],["title/18",[17,11.113,18,6.351,70,31.587,71,20.894]],["name/18",[13,0.596,17,0.292,18,0.167,70,0.829,71,0.548]],["text/18",[0,1.052,1,1.611,3,0.657,4,1.653,5,0.876,6,3.166,11,1.052,13,4.226,14,2.168,15,1.437,16,2.532,17,2.27,18,1.37,22,1.152,31,1.579,33,0.864,34,2.511,36,1.098,38,2.802,39,1.535,40,3.778,43,1.603,55,1.037,56,2.525,57,0.915,58,2.28,63,1.269,67,2.06,68,0.791,70,1.052,71,3.564,72,4.476,73,1.218,76,3.486,77,2.895,78,4.231,79,3.739,80,3.122,81,3.167,82,3.264,83,3.778,84,1.012,85,2.312,87,2.02,90,2.966,93,1.627,95,3.793,99,1.082,114,0.852,117,4.035,118,2.077,121,3.588,146,0.876,149,1.218,150,1.606,169,4.148,180,1.31,185,1.494,191,1.173,192,0.841,209,0.993,223,1.787,245,2.019,254,0.791,258,3.778,259,1.152,272,4.119,276,2.019,288,2.322,301,2.048,313,0.782,333,1.973,341,0.888,346,1.302,365,0.841,375,0.976,387,0.663,418,2.481,440,0.612,525,0.993,535,1.152,546,0.392,550,3.829,554,0.732,555,1.843,556,1.676,575,1.806,583,0.876,644,0.617,645,0.617,646,2.606,647,0.617,648,0.617,649,0.617,650,0.617,651,0.617,652,0.617,657,0.689,658,1.354,659,1.599,662,0.888,684,1.416,704,1.843,711,0.959,716,2.411,732,1.494,735,2.558,776,1.71,794,1.074,800,0.876,831,1.302,841,1.843,853,2.481,906,1.969,918,0.831,924,1.924,946,0.901,953,1.494,963,2.221,968,1.354,994,3.311,1021,0.929,1024,2.628,1025,5.657,1026,2.802,1027,1.73,1031,2.202,1034,3.494,1071,1.416,1090,1.031,1099,1.416,1107,1.599,1137,1.354,1149,2.618,1156,2.481,1351,1.302,1359,1.599,1415,2.371,1433,1.416,1442,1.494,1443,1.302,1476,1.494,1499,3.976,1500,4.196,1501,3.323,1502,4.936,1503,2.371,1504,1.758,1505,1.758,1506,1.758,1507,2.481,1508,3.08,1509,1.758,1510,1.758,1511,1.758,1512,1.257,1513,1.599,1514,1.416,1515,1.416]],["component/18",[164,0.59]],["title/19-1",[69,25.659,1516,61.865]],["name/19-1",[]],["text/19-1",[]],["component/19-1",[]],["title/19-2",[18,8.181,55,22.9]],["name/19-2",[]],["text/19-2",[]],["component/19-2",[]],["title/19-3",[18,7.15,21,23.759,23,16.402]],["name/19-3",[]],["text/19-3",[]],["component/19-3",[]],["title/19-4",[18,7.15,23,16.402,59,22.427]],["name/19-4",[]],["text/19-4",[]],["component/19-4",[]],["title/19-5",[8,25.014,18,7.15,23,16.402]],["name/19-5",[]],["text/19-5",[]],["component/19-5",[]],["title/19-6",[537,25.191,657,26.653]],["name/19-6",[]],["text/19-6",[]],["component/19-6",[]],["title/19-7",[546,15.183,549,21.987]],["name/19-7",[]],["text/19-7",[]],["component/19-7",[]],["title/19",[4,13.119,18,6.351,55,17.777,68,23.757]],["name/19",[4,0.415,18,0.201,55,0.563,68,0.752]],["text/19",[0,0.946,1,1.794,3,0.834,4,0.554,5,0.421,7,0.625,8,0.938,13,1.206,14,1.805,16,1.756,17,1.755,18,1.291,20,0.585,21,1.511,23,2.074,25,1.161,27,0.461,34,1.584,35,3.524,39,2.281,44,0.399,46,0.553,47,0.469,50,0.712,51,1.04,55,2.252,58,2.077,59,2.187,61,0.68,66,0.56,67,1.807,68,0.38,69,2.368,70,0.946,71,0.626,73,1.096,77,0.495,80,2.327,84,0.277,85,0.348,88,0.505,90,0.337,93,1.496,94,0.421,96,0.427,97,1.682,98,1.144,99,2.994,100,1.283,101,0.927,102,1.362,103,2.272,104,3.365,109,1.574,113,1.309,117,2.62,119,3.007,128,0.604,129,0.882,132,0.461,137,1.277,138,1.015,143,0.527,146,0.421,150,1.857,153,0.988,154,0.495,155,0.477,156,0.477,158,0.486,168,0.695,169,1.067,174,0.747,177,0.604,191,3.999,192,1.343,196,0.427,198,0.409,200,0.404,202,0.777,218,1.049,223,0.367,225,4.64,227,0.65,234,0.927,235,0.826,239,2.063,247,1.494,254,0.38,261,0.893,265,0.585,275,0.811,278,0.486,301,0.788,302,1.26,313,0.703,315,2.009,317,0.68,338,0.665,348,2.153,359,1.171,360,1.794,365,1.067,366,4.487,377,1.344,379,0.777,384,0.68,387,1.584,403,1.218,411,3.218,424,1.283,434,0.54,440,0.294,445,0.38,467,1.438,483,5.645,486,0.625,511,0.946,525,3.885,526,1.015,531,0.495,532,1.011,536,1.796,537,1.039,546,0.189,547,0.409,551,0.568,554,1.382,555,0.505,556,1.354,557,1.459,561,0.625,583,0.788,592,3.214,607,1.61,633,0.568,634,1.096,644,0.297,645,0.297,646,1.328,647,0.297,648,0.297,649,0.297,650,0.297,651,0.297,652,0.297,653,0.461,654,0.927,664,0.505,669,5.94,688,1.011,713,1.418,716,0.495,731,1.631,735,1.454,744,1.064,759,0.585,762,1.036,771,1.283,784,1.812,790,1.501,793,0.604,794,0.516,800,0.421,805,0.927,811,1.218,822,0.91,824,1.645,906,4.712,912,0.486,918,0.747,933,1.197,946,0.811,948,0.553,950,0.415,951,0.54,958,0.453,961,0.927,962,0.495,963,0.334,995,1.171,1027,0.665,1036,5.267,1044,0.421,1072,0.91,1088,0.477,1133,0.568,1136,0.505,1138,1.568,1139,0.409,1140,0.505,1151,0.394,1154,0.585,1155,0.946,1156,0.68,1166,0.966,1168,1.011,1175,1.274,1176,0.927,1178,0.91,1201,0.768,1213,4.348,1225,1.218,1253,0.768,1266,2.362,1269,1.545,1292,0.68,1372,0.585,1388,1.096,1414,1.274,1507,1.274,1516,2.028,1517,7.297,1518,0.65,1519,0.68,1520,1.581,1521,6.046,1522,0.625,1523,0.844,1524,0.718,1525,0.844,1526,0.604,1527,0.718,1528,1.462,1529,1.462,1530,0.527,1531,0.844,1532,1.581,1533,3.439,1534,0.844,1535,0.844,1536,1.944,1537,1.438,1538,0.844,1539,0.844,1540,0.844,1541,0.844,1542,0.844,1543,0.844,1544,0.844,1545,0.844,1546,1.581,1547,0.68,1548,0.844,1549,2.028,1550,0.68,1551,0.768,1552,0.844,1553,0.844,1554,1.581,1555,2.806,1556,1.131,1557,2.028,1558,1.581,1559,0.844,1560,1.438,1561,0.505,1562,0.718,1563,0.625,1564,0.844,1565,0.844,1566,0.844,1567,0.844,1568,0.844,1569,5.274,1570,2.552,1571,1.438,1572,1.438,1573,1.438,1574,5.055,1575,1.581,1576,1.581,1577,8.613,1578,8.613,1579,0.844,1580,0.768,1581,0.844,1582,1.344,1583,0.768,1584,0.844,1585,1.581,1586,1.438,1587,0.718,1588,1.438,1589,2.028,1590,1.274,1591,2.028,1592,0.844,1593,6.49,1594,4.254,1595,6.49,1596,6.49,1597,0.844,1598,2.23,1599,0.844,1600,2.23,1601,1.438,1602,0.844,1603,0.844,1604,0.844,1605,0.844,1606,0.768,1607,0.768,1608,0.844,1609,0.844,1610,0.844,1611,0.844,1612,0.844,1613,0.844,1614,0.844,1615,1.096,1616,0.844,1617,2.23,1618,1.581,1619,0.844,1620,0.844,1621,0.844,1622,0.844,1623,0.844,1624,0.844,1625,0.844,1626,0.844,1627,3.32,1628,0.844,1629,0.625,1630,0.844,1631,0.844,1632,0.844,1633,0.844,1634,1.581,1635,1.581,1636,0.844,1637,0.844,1638,0.844,1639,0.844,1640,0.844,1641,0.844,1642,0.844,1643,0.844,1644,0.844,1645,0.844,1646,0.844,1647,1.581,1648,0.718,1649,0.844,1650,0.718,1651,1.581,1652,1.581,1653,0.844,1654,0.844,1655,0.844,1656,0.718,1657,1.131,1658,1.581,1659,1.581,1660,1.581,1661,1.581,1662,1.581,1663,1.581,1664,1.581,1665,1.581,1666,0.625,1667,0.768,1668,0.768,1669,0.604]],["component/19",[164,0.59]],["title/20-1",[546,15.183,549,21.987]],["name/20-1",[]],["text/20-1",[]],["component/20-1",[]],["title/20",[0,25.812,3,16.127,16,11.018,17,9.081,18,5.19,73,29.894]],["name/20",[0,1.26,3,0.787,73,1.459]],["text/20",[1,2.235,3,3.586,14,2.231,16,2.278,17,2.279,18,1.35,23,1.573,48,5.187,59,2.151,63,2.349,65,3.165,67,2.093,69,2.151,70,4.676,71,3.093,74,4.222,75,4.847,96,2.882,98,3.637,99,2.003,100,3.281,101,3.344,102,3.483,103,2.235,104,2.507,105,2.924,106,2.882,115,2.968,150,1.631,218,2.922,315,2.729,333,2.279,348,4.008,440,1.986,445,3.517,524,4.593,526,2.596,532,3.645,546,1.273,644,2.003,645,2.003,646,2.003,647,2.003,648,2.003,649,2.003,650,2.003,651,2.003,652,2.003,835,3.281,884,3.411,1139,3.79,1274,3.645,1526,4.077,1527,4.847,1530,4.882,1670,5.702,1671,4.077,1672,4.077,1673,5.123,1674,4.847]],["component/20",[164,0.59]],["title/21",[]],["name/21",[12,0.916,152,1.347,1675,2.106]],["text/21",[]],["component/21",[164,0.59]],["title/22-1",[16,11.018,17,9.081,18,5.19,99,15.153,152,27.584,571,18.97]],["name/22-1",[]],["text/22-1",[]],["component/22-1",[]],["title/22-2",[16,11.018,17,9.081,18,5.19,55,14.527,152,27.584,153,26.947]],["name/22-2",[]],["text/22-2",[]],["component/22-2",[]],["title/22-3",[18,5.19,76,16.43,93,17.074,152,27.584,219,30.85,1676,39.245]],["name/22-3",[]],["text/22-3",[]],["component/22-3",[]],["title/22-4",[69,25.659,150,19.458]],["name/22-4",[]],["text/22-4",[]],["component/22-4",[]],["title/22-5",[537,25.191,657,26.653]],["name/22-5",[]],["text/22-5",[]],["component/22-5",[]],["title/22-6",[546,15.183,549,21.987]],["name/22-6",[]],["text/22-6",[]],["component/22-6",[]],["title/22",[12,25.846,152,38.006,153,37.128]],["name/22",[12,0.916,152,1.347,153,1.315]],["text/22",[4,0.96,12,1.68,13,0.983,14,1.648,15,1.067,16,2.042,17,1.504,18,1.261,23,1.066,32,2.693,34,0.863,41,1.635,47,1.27,50,1.738,55,2.217,56,1.738,57,1.19,67,0.84,68,1.029,69,3.016,76,3.17,77,2.941,78,2.65,80,0.962,87,2.897,90,3.327,91,3.966,93,1.985,94,2.937,96,1.156,99,2.313,113,2.75,117,2.025,119,1.397,129,2.332,150,2.176,152,6.704,153,6.154,156,2.833,158,1.316,168,1.006,169,1.095,180,2.507,191,4.17,192,2.4,196,1.952,200,1.849,209,2.183,211,2.886,218,1.444,219,1.635,235,1.857,238,1.944,239,3.512,241,1.27,242,1.228,253,2.532,313,2.621,349,2.784,356,1.693,365,2.821,374,1.842,387,2.223,411,1.27,420,1.842,427,2.145,437,1.316,440,0.796,451,1.54,476,4.562,490,3.132,513,1.54,525,1.292,529,3.115,541,1.693,542,2.413,546,0.511,554,2.454,555,1.368,556,2.045,571,2.205,583,1.14,591,1.944,605,1.27,607,2.858,644,0.803,645,0.803,646,1.357,647,0.803,648,0.803,649,0.803,650,0.803,651,0.803,652,0.803,653,2.109,654,3.456,664,2.311,672,2.465,674,1.429,677,2.311,691,1.761,701,2.081,702,1.944,705,1.499,711,1.248,715,2.86,719,2.081,723,1.316,725,2.693,727,1.693,732,1.109,734,2.081,735,0.879,738,5.99,741,1.462,742,4.951,751,2.081,752,1.944,754,1.944,755,1.944,756,2.081,757,1.944,780,3.287,784,1.248,822,1.316,823,1.944,855,1.635,889,1.944,917,1.842,920,4.083,922,1.341,946,1.981,950,1.124,974,1.944,1014,2.109,1015,1.368,1031,2.762,1037,1.462,1071,1.842,1138,2.369,1139,1.109,1151,1.802,1155,1.368,1232,2.081,1360,1.761,1676,2.081,1677,1.585,1678,2.287,1679,1.944,1680,2.287,1681,2.287,1682,2.287,1683,2.287,1684,2.36,1685,2.287,1686,2.287,1687,3.864,1688,3.864,1689,3.864,1690,1.585,1691,3.864,1692,3.864,1693,2.287,1694,2.287,1695,2.287,1696,2.081,1697,1.944,1698,1.693,1699,2.287,1700,2.287,1701,2.287,1702,2.287,1703,2.287,1704,2.287]],["component/22",[164,0.59]],["title/23-1",[27,37.122,198,32.981]],["name/23-1",[]],["text/23-1",[]],["component/23-1",[]],["title/23-2",[537,25.191,657,26.653]],["name/23-2",[]],["text/23-2",[]],["component/23-2",[]],["title/23-3",[546,15.183,549,21.987]],["name/23-3",[]],["text/23-3",[]],["component/23-3",[]],["title/23",[4,10.72,16,11.018,17,9.081,18,5.19,103,16.908,154,25.303]],["name/23",[56,0.948,76,0.802,103,0.825]],["text/23",[3,0.965,4,2.461,13,1.11,14,1.591,16,2.407,17,2.055,18,1.273,21,2.186,23,1.944,27,2.985,30,2.669,34,3.173,44,1.219,47,1.432,50,1.161,55,0.869,56,4.241,59,0.973,61,1.11,66,2.98,67,2.007,69,2.399,76,3.939,82,1.364,87,1.268,97,3.378,98,1.052,99,2.824,102,1.576,103,4.175,104,3.535,117,1.042,129,2.516,137,1.946,146,1.286,148,2.352,150,0.738,154,3.207,161,1.485,169,1.235,180,1.817,191,3.903,192,1.235,196,1.304,202,1.268,235,0.956,239,2.1,241,2.372,242,1.386,252,1.544,254,1.161,268,1.513,275,2.191,287,1.304,306,2.019,313,2.828,315,2.617,365,3.043,387,3.291,424,2.459,434,1.65,440,0.899,531,3.207,543,1.432,546,0.576,551,2.876,554,3.162,556,1.743,571,1.135,583,1.286,605,1.432,644,0.906,645,0.906,646,2.954,647,0.906,648,0.906,649,0.906,650,0.906,651,0.906,652,0.906,672,2.1,674,1.612,677,3.272,711,1.408,713,1.304,731,1.268,732,1.251,735,3.457,762,1.691,763,1.65,764,1.845,765,1.691,766,2.347,767,2.347,768,1.91,769,2.347,770,1.737,771,2.459,772,2.347,774,2.079,780,1.691,785,1.65,860,1.91,962,1.513,963,1.691,1015,1.544,1027,2.301,1037,1.65,1045,1.788,1072,1.485,1076,1.691,1136,1.544,1138,2.019,1151,1.204,1176,1.513,1178,2.459,1179,1.544,1274,2.732,1275,1.691,1684,2.611,1690,1.788,1705,2.347,1706,1.845,1707,2.581,1708,2.581,1709,2.079,1710,2.581,1711,2.581,1712,2.581,1713,2.581,1714,2.581,1715,2.581,1716,2.581,1717,2.581,1718,2.581]],["component/23",[164,0.59]],["title/24-1",[16,12.127,17,9.995,18,5.712,158,27.323,571,20.879]],["name/24-1",[]],["text/24-1",[]],["component/24-1",[]],["title/24-2",[16,12.127,17,9.995,18,5.712,158,27.323,1197,43.193]],["name/24-2",[]],["text/24-2",[]],["component/24-2",[]],["title/24-3",[31,30.482,158,34.205,257,30.043]],["name/24-3",[]],["text/24-3",[]],["component/24-3",[]],["title/24-4",[31,30.482,158,34.205,159,44.013]],["name/24-4",[]],["text/24-4",[]],["component/24-4",[]],["title/24-5",[16,12.127,17,9.995,18,5.712,150,13.585,158,27.323]],["name/24-5",[]],["text/24-5",[]],["component/24-5",[]],["title/24-6",[546,15.183,549,21.987]],["name/24-6",[]],["text/24-6",[]],["component/24-6",[]],["title/24",[18,5.712,61,20.418,157,30.359,158,27.323,159,35.157]],["name/24",[157,1.347,158,1.212,159,1.559]],["text/24",[0,1.284,1,1.435,3,1.789,4,1.931,14,1.415,16,2.145,17,2.013,18,1.323,23,2.318,31,3.543,34,2.932,46,1.407,50,1.647,52,2.287,55,2.137,57,1.117,59,2.134,63,0.885,67,2.076,68,0.966,69,2.607,71,0.85,84,2.553,87,1.055,93,1.894,97,2.129,98,0.876,99,2.427,108,2.612,113,2.233,114,1.775,129,1.449,137,0.978,138,0.978,148,1.574,150,1.816,157,2.341,158,6.104,159,7.553,180,2.405,191,1.394,192,1.752,194,1.235,195,1.825,196,1.85,198,1.041,199,3.06,200,1.027,217,1.085,218,1.368,221,2.19,228,1.59,235,2.095,247,2.154,257,3.928,271,2.612,304,7.555,311,1.085,315,1.027,335,1.59,338,0.903,341,1.085,379,3.119,387,1.806,401,1.341,407,1.407,418,1.729,434,5.534,440,0.748,518,1.284,528,1.341,546,0.479,556,0.876,557,1.61,571,3.904,610,1.535,612,2.807,624,3.112,642,4.788,644,0.754,645,0.754,646,2.848,647,0.754,648,0.754,649,0.754,650,0.754,651,0.754,652,0.754,655,1.259,662,1.085,703,1.312,707,1.966,725,1.153,731,1.799,735,2.988,809,1.445,841,1.284,918,1.014,931,1.825,958,1.966,963,0.85,1014,1.998,1015,1.284,1021,1.135,1027,2.014,1030,1.284,1065,1.407,1133,1.445,1138,2.672,1151,2.233,1153,1.445,1242,2.711,1276,1.407,1284,1.535,1288,1.445,1316,1.535,1372,3.316,1526,3.422,1536,3.316,1677,1.488,1690,1.488,1719,2.147,1720,1.825,1721,5.144,1722,3.661,1723,2.147,1724,2.147,1725,2.147,1726,2.147,1727,1.653,1728,1.445,1729,1.953,1730,2.147,1731,1.825,1732,6.347,1733,1.653,1734,3.661,1735,2.147,1736,2.147,1737,2.147,1738,3.661,1739,1.953,1740,2.147,1741,1.535,1742,1.953,1743,5.773,1744,1.953,1745,1.953,1746,1.953,1747,1.729,1748,1.953,1749,1.953,1750,1.825,1751,2.147,1752,1.953,1753,2.147,1754,4.787,1755,4.787,1756,2.147,1757,2.147,1758,2.147,1759,2.147,1760,2.147,1761,2.147,1762,1.445]],["component/24",[164,0.59]],["title/25-1",[18,8.181,108,37.122]],["name/25-1",[]],["text/25-1",[]],["component/25-1",[]],["title/25-2",[14,13.208,21,21.101,108,28.817,158,30.379]],["name/25-2",[]],["text/25-2",[]],["component/25-2",[]],["title/25-3",[14,11.88,20,32.901,21,18.979,80,19.981,108,25.918]],["name/25-3",[]],["text/25-3",[]],["component/25-3",[]],["title/25-4",[537,25.191,657,26.653]],["name/25-4",[]],["text/25-4",[]],["component/25-4",[]],["title/25-5",[546,15.183,549,21.987]],["name/25-5",[]],["text/25-5",[]],["component/25-5",[]],["title/25",[18,6.351,80,22.216,108,28.817,155,29.829]],["name/25",[17,0.352,80,0.703,108,0.912,156,0.945]],["text/25",[1,2.374,4,1.403,8,0.556,12,0.574,13,1.027,14,2.219,16,0.337,18,1.218,20,4.451,21,1.601,23,1.105,31,1.676,34,1.748,39,1.996,43,2.085,46,0.866,49,0.721,50,1.075,52,0.825,53,0.581,55,2.54,56,0.594,59,1.748,63,0.544,67,2.072,68,1.471,71,1.585,76,1.971,78,2.984,80,3.68,81,2.653,93,0.523,94,2.309,99,0.839,108,4.445,113,0.616,117,2.725,129,0.945,150,2.278,155,2.263,158,5.542,159,3.831,174,1.893,182,0.79,191,4.158,192,4.186,196,1.207,200,0.632,217,0.668,218,1.497,219,0.945,223,1.038,234,0.775,235,0.885,239,0.649,254,0.594,268,0.775,278,1.374,287,1.207,288,0.746,304,3.085,306,2.667,313,0.588,333,2.421,335,5.586,338,0.556,341,1.207,348,1.225,365,0.632,379,1.174,387,1.233,437,0.76,440,0.46,483,1.565,486,0.978,490,3.232,526,0.602,546,0.295,547,1.158,550,2.305,554,1.361,556,3.666,557,3.096,567,3.8,571,1.05,580,0.845,583,1.996,594,1.459,607,1.943,609,0.845,642,6.441,644,0.839,645,0.464,646,1.983,647,0.464,648,0.464,649,0.464,650,0.464,651,0.464,652,0.464,653,0.721,662,1.207,688,0.845,712,1.924,716,3.035,718,3.644,723,2.666,731,1.606,732,0.641,735,1.781,771,0.76,784,2.824,796,4.373,820,0.845,824,0.775,846,1.459,881,0.945,888,1.565,918,0.624,920,3.911,922,2.718,931,2.03,946,0.677,958,1.755,963,0.945,1013,1.374,1014,1.303,1015,0.79,1027,1.005,1044,1.996,1138,1.128,1151,1.114,1166,2.447,1225,3.568,1316,0.945,1382,2.172,1445,0.945,1507,5.175,1526,0.945,1530,0.825,1589,1.459,1677,0.915,1684,0.807,1721,1.202,1733,1.017,1743,2.172,1744,2.172,1745,2.172,1746,2.172,1747,1.924,1748,4.215,1749,4.215,1752,1.202,1763,1.321,1764,1.321,1765,0.945,1766,1.321,1767,1.321,1768,1.321,1769,0.866,1770,1.321,1771,3.268,1772,6.751,1773,2.388,1774,2.388,1775,2.388,1776,2.388,1777,2.388,1778,4.006,1779,2.388,1780,2.388,1781,2.388,1782,4.006,1783,2.388,1784,1.88,1785,5.175,1786,4.006,1787,6.059,1788,1.321,1789,6.598,1790,1.321,1791,4.006,1792,4.006,1793,4.634,1794,4.006,1795,4.006,1796,4.006,1797,3.644,1798,4.006,1799,4.006,1800,4.006,1801,4.634,1802,4.006,1803,1.321,1804,1.321,1805,5.135,1806,1.321,1807,1.321,1808,1.321,1809,1.839,1810,2.388,1811,5.175,1812,1.321,1813,1.321,1814,1.321,1815,1.321,1816,1.839,1817,2.388,1818,2.388,1819,1.321,1820,2.388,1821,1.321]],["component/25",[164,0.59]],["title/26",[]],["name/26",[80,1.197,826,1.819]],["text/26",[]],["component/26",[164,0.59]],["title/27-1",[10,30.379,84,17.345,86,42.528,87,25.949]],["name/27-1",[]],["text/27-1",[]],["component/27-1",[]],["title/27-2",[537,25.191,657,26.653]],["name/27-2",[]],["text/27-2",[]],["component/27-2",[]],["title/27-3",[546,15.183,549,21.987]],["name/27-3",[]],["text/27-3",[]],["component/27-3",[]],["title/27",[4,11.799,14,11.88,18,5.712,59,17.915,132,25.918]],["name/27",[10,1.637,132,1.553]],["text/27",[4,0.905,6,0.797,8,0.898,10,5.492,12,0.927,13,1.566,14,2.311,16,2.065,17,1.449,18,1.252,19,1.276,23,2.029,25,1.11,34,1.797,44,1.008,45,1.642,46,1.398,50,0.96,51,2.627,53,3.028,55,2.129,57,1.895,59,2.125,61,0.917,63,2.605,66,0.756,67,2.321,68,0.96,69,3.161,75,1.813,80,2.66,82,1.127,84,1.565,85,3.453,86,1.718,87,1.048,89,3.303,93,0.844,97,2.505,99,3.245,114,2.31,117,0.861,118,2.407,129,3.2,132,4.945,137,0.971,142,3.691,143,5.234,144,1.642,146,1.814,147,2.451,150,1.97,156,2.057,161,1.227,162,1.332,168,2.476,169,1.021,174,1.008,191,1.387,192,2.28,194,1.227,196,2.407,200,1.021,218,3.312,223,1.583,253,3.691,254,1.638,263,1.227,276,1.398,301,4.881,302,1.205,308,1.398,315,1.021,333,1.455,338,1.532,349,2.021,379,4.355,387,0.805,390,2.095,407,1.398,411,2.021,437,1.227,440,0.743,518,1.276,525,1.205,534,1.332,546,0.476,550,2.095,551,1.436,552,1.94,554,0.888,556,0.87,557,0.938,559,1.94,561,5.988,566,1.94,568,1.813,569,1.94,570,1.94,571,3.234,572,3.312,573,3.095,574,1.718,575,1.251,576,3.312,577,2.603,580,1.364,611,1.987,640,2.803,644,1.279,645,0.749,646,2.419,647,0.749,648,0.749,649,0.749,650,0.749,651,0.749,652,0.749,660,1.718,661,1.525,662,1.078,670,3.3,704,1.276,735,2.165,776,2.021,794,1.303,796,1.145,800,1.063,809,2.451,817,3.783,824,1.251,825,1.813,922,1.251,950,1.048,951,1.364,958,1.145,963,1.441,983,1.478,1013,1.227,1014,1.164,1015,1.276,1027,2.37,1085,1.332,1090,1.251,1138,1.008,1139,1.034,1140,2.85,1143,2.523,1151,1.699,1198,1.579,1254,1.813,1266,2.274,1303,1.94,1316,2.603,1388,1.478,1417,1.94,1514,1.718,1518,3.668,1536,2.523,1594,2.386,1615,1.478,1650,3.095,1669,1.525,1822,2.696,1823,2.133,1824,1.94,1825,1.718,1826,2.133,1827,1.813,1828,2.133,1829,3.312,1830,3.312,1831,2.133,1832,2.133,1833,2.133,1834,1.813,1835,1.94,1836,1.94,1837,2.133,1838,3.641,1839,2.133,1840,2.133,1841,2.133,1842,1.718]],["component/27",[164,0.59]],["title/28-1",[142,52.084]],["name/28-1",[]],["text/28-1",[]],["component/28-1",[]],["title/28-2",[14,13.208,142,34.605,147,35.541,1843,39.09]],["name/28-2",[]],["text/28-2",[]],["component/28-2",[]],["title/28-3",[14,13.208,104,23.214,142,34.605,147,35.541]],["name/28-3",[]],["text/28-3",[]],["component/28-3",[]],["title/28-4",[53,26.138,207,45.772,518,35.565]],["name/28-4",[]],["text/28-4",[]],["component/28-4",[]],["title/28-5",[142,44.578,1844,54.785]],["name/28-5",[]],["text/28-5",[]],["component/28-5",[]],["title/28-6",[14,13.208,84,17.345,99,18.544,1844,42.528]],["name/28-6",[]],["text/28-6",[]],["component/28-6",[]],["title/28-7",[14,13.208,104,23.214,147,35.541,1844,42.528]],["name/28-7",[]],["text/28-7",[]],["component/28-7",[]],["title/28-8",[34,19.919,142,34.605,147,35.541,161,30.379]],["name/28-8",[]],["text/28-8",[]],["component/28-8",[]],["title/28-9",[546,15.183,549,21.987]],["name/28-9",[]],["text/28-9",[]],["component/28-9",[]],["title/28",[16,12.127,132,25.918,142,31.124,143,29.658,144,36.562]],["name/28",[132,1.15,142,1.38,147,1.418]],["text/28",[1,1.264,3,1.914,10,1.856,12,1.402,14,2.291,15,2.389,16,2.409,17,1.078,18,0.616,21,1.289,33,1.585,41,3.662,44,2.42,53,2.8,55,1.086,67,1.88,84,1.682,85,2.988,89,4.253,104,2.252,129,1.276,132,3.476,142,6.764,143,5.892,144,5.584,145,3.198,146,2.552,147,6.947,150,0.923,168,2.252,169,1.544,181,2.062,186,2.114,191,2.425,196,1.63,200,1.544,207,6.483,218,3.423,221,1.93,223,2.226,235,1.195,240,2.934,254,2.304,271,3.958,301,4.398,302,1.822,308,2.114,315,2.451,333,1.289,338,2.155,401,2.014,407,2.114,436,5.413,440,1.123,445,2.866,513,2.171,516,2.934,517,2.598,518,3.064,546,0.72,550,2.947,557,1.418,561,2.388,571,1.418,575,1.892,644,1.799,645,1.133,646,1.133,647,1.133,648,1.133,649,1.133,650,1.133,651,1.133,652,1.133,676,2.483,704,1.93,711,1.76,763,2.062,776,2.843,787,2.598,820,2.062,835,1.856,881,3.662,913,2.171,955,2.062,1008,2.742,1010,2.235,1021,1.705,1027,2.155,1098,2.388,1178,1.856,1179,1.93,1202,2.114,1203,2.934,1241,2.934,1246,2.934,1274,2.062,1276,2.114,1292,2.598,1530,2.014,1629,2.388,1733,2.483,1741,3.662,1765,5.185,1769,3.356,1829,4.658,1830,2.934,1835,2.934,1836,2.934,1844,4.125,1845,5.793,1846,2.934,1847,3.226,1848,3.226,1849,2.742,1850,3.226,1851,3.226,1852,3.226,1853,3.226,1854,3.226,1855,2.742,1856,3.226,1857,4.125,1858,3.226,1859,3.226,1860,3.226,1861,3.226,1862,3.447,1863,6.369,1864,3.226,1865,3.226,1866,3.226,1867,3.226,1868,3.226,1869,2.934,1870,2.934,1871,3.226,1872,3.226,1873,3.226,1874,3.226,1875,5.121,1876,3.226,1877,3.226,1878,3.226,1879,3.226,1880,3.226,1881,2.742,1882,3.226]],["component/28",[164,0.59]],["title/29",[]],["name/29",[18,0.201,143,1.044,1883,1.672,1884,1.521]],["text/29",[]],["component/29",[164,0.59]],["title/30-1",[4,13.119,109,21.982,122,29.309,1885,35.541]],["name/30-1",[]],["text/30-1",[]],["component/30-1",[]],["title/30-2",[122,29.309,138,24.04,150,15.105,344,35.541]],["name/30-2",[]],["text/30-2",[]],["component/30-2",[]],["title/30-3",[122,29.309,150,15.105,1886,48.025,1887,35.541]],["name/30-3",[]],["text/30-3",[]],["component/30-3",[]],["title/30-4",[43,27.479,122,29.309,150,15.105,594,32.255]],["name/30-4",[]],["text/30-4",[]],["component/30-4",[]],["title/30-5",[122,29.309,125,39.09,126,39.09,150,15.105]],["name/30-5",[]],["text/30-5",[]],["component/30-5",[]],["title/30-6",[74,39.09,150,15.105,1590,42.528,1887,35.541]],["name/30-6",[]],["text/30-6",[]],["component/30-6",[]],["title/30-7",[537,25.191,657,26.653]],["name/30-7",[]],["text/30-7",[]],["component/30-7",[]],["title/30-8",[546,15.183,549,21.987]],["name/30-8",[]],["text/30-8",[]],["component/30-8",[]],["title/30",[4,10.72,16,11.018,17,9.081,18,5.19,109,17.963,122,23.951]],["name/30",[4,0.415,13,0.719,109,0.696,122,0.928]],["text/30",[4,1.496,5,1.577,7,7.675,13,3,14,2.192,15,0.456,16,0.25,17,0.206,18,0.607,19,0.585,23,0.27,34,0.369,40,0.658,43,3.632,50,0.816,51,1.735,55,0.853,57,1.647,61,0.78,65,1.407,67,2.763,69,0.369,71,1.84,74,3.442,84,3.058,85,2.591,87,0.481,89,2.181,90,1.683,93,2.489,98,1.717,99,2.376,104,0.43,109,3.523,113,0.456,115,0.944,117,0.732,122,3.491,123,1.342,124,1.342,125,4.656,126,2.753,127,3.58,129,1.252,137,0.826,138,3.9,150,2.982,154,1.063,174,0.462,180,3.502,191,4.406,194,0.563,200,0.468,211,2.423,217,1.879,218,2.873,219,0.699,223,1.102,235,0.939,247,1.424,254,0.44,271,0.99,278,0.563,287,0.494,288,3.234,301,1.853,313,0.435,319,2.753,333,1.013,341,1.281,344,4.052,349,2.064,365,0.468,374,0.788,375,0.543,387,2.373,434,0.625,437,0.563,440,0.341,468,0.788,529,1.965,546,0.218,547,1.229,550,2.902,554,0.407,555,3.231,556,3,557,1.851,567,1.221,571,0.797,580,0.625,594,5.352,595,0.585,601,1.063,607,1.803,611,0.534,612,0.574,644,0.343,645,0.343,646,0.89,647,0.343,648,0.343,649,0.343,650,0.343,651,0.343,652,0.343,657,0.711,662,0.494,669,2.437,689,3.117,700,0.753,703,2.572,704,0.585,713,1.879,716,2.727,725,0.525,731,2.813,735,0.974,744,1.221,770,2.503,794,2.272,822,0.563,825,0.831,827,0.788,841,0.585,846,1.549,855,0.699,918,1.757,920,2.577,922,1.856,929,1.541,936,1.541,946,0.501,948,1.188,958,0.525,963,0.387,994,0.788,1013,1.043,1021,0.517,1027,0.763,1028,0.699,1036,2.377,1046,0.831,1065,0.641,1090,0.574,1095,0.724,1102,0.89,1143,0.678,1229,1.649,1266,0.611,1344,0.831,1351,1.877,1388,0.678,1431,0.788,1501,0.658,1574,0.788,1589,2.84,1590,4.848,1629,0.724,1656,3.952,1690,0.678,1728,6.221,1834,0.831,1857,1.461,1886,5.475,1887,4.83,1888,6.29,1889,4.588,1890,2.535,1891,6.347,1892,0.978,1893,0.978,1894,2.042,1895,0.978,1896,0.89,1897,2.878,1898,0.978,1899,0.978,1900,0.978,1901,0.978,1902,0.978,1903,0.89,1904,0.89,1905,0.89,1906,2.535,1907,3.719,1908,2.995,1909,3.161,1910,3.719,1911,0.978,1912,0.978,1913,0.978,1914,0.978,1915,2.535,1916,0.978,1917,0.978,1918,0.978,1919,2.535,1920,0.978,1921,0.978,1922,0.978,1923,1.813,1924,0.978,1925,4.211,1926,1.649,1927,1.649,1928,1.813,1929,1.649,1930,1.813,1931,0.978,1932,0.89,1933,3.165,1934,0.978,1935,0.978,1936,4.588,1937,0.978,1938,0.978,1939,0.978,1940,0.978,1941,0.978,1942,0.89,1943,0.978,1944,0.89,1945,0.978,1946,1.813,1947,0.89,1948,0.89,1949,0.978,1950,0.978,1951,0.978,1952,0.978,1953,0.978,1954,0.978,1955,0.978,1956,0.978,1957,0.978,1958,0.978,1959,0.658,1960,0.978]],["component/30",[164,0.59]],["title/31-1",[5,23.661,18,5.712,125,35.157,126,35.157,150,13.585]],["name/31-1",[]],["text/31-1",[]],["component/31-1",[]],["title/31-2",[5,18.176,17,7.678,18,4.387,23,10.064,84,11.983,99,12.811,127,28.085,150,10.436]],["name/31-2",[]],["text/31-2",[]],["component/31-2",[]],["title/31-3",[23,16.402,59,22.427,150,17.007]],["name/31-3",[]],["text/31-3",[]],["component/31-3",[]],["title/31-4",[537,25.191,657,26.653]],["name/31-4",[]],["text/31-4",[]],["component/31-4",[]],["title/31-5",[546,15.183,549,21.987]],["name/31-5",[]],["text/31-5",[]],["component/31-5",[]],["title/31",[4,7.357,5,14.755,14,7.408,16,7.562,17,6.233,18,3.562,122,16.438,123,21.923,124,21.923,125,21.923,126,21.923]],["name/31",[4,0.344,5,0.691,123,1.026,124,1.026,127,1.067]],["text/31",[1,1.683,4,2.239,5,3.461,7,3.179,13,0.51,14,1.854,15,0.554,16,1.097,17,1.274,18,1.18,19,0.373,21,0.474,23,1.803,26,0.879,32,0.335,34,1.265,39,2.402,40,1.144,43,0.324,44,0.295,49,0.648,50,0.281,51,0.554,53,2.662,54,0.502,55,0.572,56,1.509,59,1.128,63,0.257,65,0.346,67,2.157,68,0.281,69,0.448,71,1.699,72,2.791,74,1.922,76,2.645,78,1.58,80,1.807,81,2.341,84,1.735,85,1.769,87,0.306,88,0.71,89,1.522,90,1.038,91,2.222,92,0.849,93,1.183,94,0.311,97,1.155,99,2.242,109,1.667,113,1.011,115,0.324,117,1.49,119,0.381,122,2.049,125,4.066,126,4.213,127,5.031,137,1.361,146,0.311,150,2.502,157,0.399,168,0.522,174,0.561,180,2.715,182,0.71,191,4.233,192,1.242,194,0.978,198,0.824,209,0.352,217,0.859,218,1.802,228,0.462,233,1.502,235,0.44,236,0.53,241,0.943,242,0.637,247,0.534,252,0.373,272,1.203,275,0.871,282,1.178,288,0.352,301,0.592,305,0.567,306,1.024,311,0.859,313,2.349,315,1.766,319,0.462,333,0.866,338,0.262,341,0.315,348,0.609,349,1.862,360,0.399,365,2.185,373,2.013,375,0.346,378,0.53,379,0.583,387,2.571,411,0.659,427,0.346,434,0.759,440,0.217,445,2.054,483,1.96,486,0.879,525,2.262,529,0.627,537,0.231,541,0.462,542,0.389,543,0.346,546,0.139,547,1.941,554,2.447,555,0.373,556,3.106,557,0.953,560,0.399,567,1.459,571,0.522,573,0.53,578,1.746,580,1.087,583,0.847,601,0.366,605,0.659,607,1.626,609,0.399,612,2.827,619,1.96,625,0.335,644,0.219,645,0.219,646,1.855,647,0.219,648,0.219,649,0.219,650,0.417,651,0.219,652,0.219,653,1.632,656,0.48,669,0.409,672,1.276,674,1.062,677,1.017,689,0.879,692,1.178,700,0.48,703,0.725,709,1.215,711,0.648,713,1.095,715,0.879,716,1.522,723,3.16,731,0.583,732,0.302,735,1.419,739,2.072,757,0.53,759,0.432,770,1.459,776,1.203,777,0.53,784,1.417,785,1.386,790,1.459,794,0.381,796,0.335,800,0.311,805,1.967,817,1.017,822,0.683,835,0.359,838,0.42,851,0.778,868,0.389,880,0.799,888,0.778,906,0.759,911,0.567,918,1.024,920,0.432,922,0.696,924,0.389,927,3.881,929,0.53,946,1.72,948,1.421,950,0.306,955,0.399,961,2.518,962,0.366,963,1.027,978,0.502,979,0.53,986,0.502,1013,0.683,1027,0.262,1030,0.373,1031,0.849,1041,0.502,1044,1.08,1065,0.409,1072,0.978,1076,1.114,1077,4.254,1081,3.137,1090,0.696,1091,0.567,1095,2.214,1101,0.53,1110,2.324,1136,1.553,1138,0.295,1139,0.576,1140,1.297,1151,0.291,1155,1.789,1166,2.049,1168,1.386,1172,0.849,1176,1.271,1178,1.72,1179,1.017,1250,5.176,1269,0.432,1289,0.502,1351,0.462,1352,0.48,1415,0.48,1449,0.879,1501,1.459,1518,2.302,1519,3.678,1522,0.462,1524,0.53,1547,2.091,1556,0.446,1563,0.879,1589,2.624,1594,1.701,1656,1.445,1668,0.567,1706,1.55,1728,1.459,1741,0.446,1805,0.567,1809,1.669,1825,0.502,1827,0.53,1887,0.799,1889,0.567,1891,0.567,1894,0.956,1908,0.502,1909,0.53,1926,0.567,1927,0.567,1929,0.567,1932,1.546,1936,3.051,1942,0.567,1944,0.567,1947,0.567,1948,0.567,1961,8.219,1962,8.686,1963,8.499,1964,8.364,1965,0.567,1966,0.623,1967,1.445,1968,0.567,1969,0.623,1970,0.48,1971,0.567,1972,0.502,1973,2.167,1974,1.7,1975,0.462,1976,1.187,1977,1.08,1978,0.623,1979,0.623,1980,4.566,1981,1.187,1982,5.058,1983,1.187,1984,1.187,1985,4.566,1986,3.354,1987,5.493,1988,1.187,1989,0.623,1990,0.623,1991,4.82,1992,5.058,1993,4.82,1994,1.7,1995,3.354,1996,0.623,1997,1.7,1998,0.623,1999,1.7,2000,2.99,2001,1.08,2002,0.623,2003,0.623,2004,1.187,2005,0.623,2006,0.567,2007,0.623,2008,0.623,2009,1.7,2010,0.623,2011,1.08,2012,0.623,2013,1.187,2014,0.623,2015,0.623,2016,0.623,2017,2.99,2018,0.567,2019,0.53,2020,0.567,2021,1.187,2022,0.462,2023,0.623,2024,0.623,2025,1.187,2026,1.187,2027,1.187,2028,0.623,2029,0.623,2030,0.623,2031,0.502,2032,0.623,2033,0.623,2034,0.623,2035,0.623,2036,0.623,2037,0.623,2038,0.623,2039,0.623,2040,1.187,2041,0.623,2042,0.623,2043,0.567,2044,0.502,2045,0.623,2046,1.215,2047,0.623,2048,0.623,2049,1.55,2050,0.567,2051,0.623,2052,0.623,2053,0.623,2054,0.623,2055,1.009,2056,1.009,2057,1.009,2058,0.623,2059,4.295,2060,3.051,2061,1.7,2062,2.214,2063,0.623,2064,0.623,2065,0.623,2066,0.623,2067,0.623,2068,0.623,2069,0.623,2070,0.623,2071,2.167,2072,0.623,2073,0.623,2074,0.623,2075,0.623,2076,0.623,2077,1.187,2078,1.187,2079,1.187,2080,1.187,2081,1.187,2082,0.623,2083,0.623,2084,0.623,2085,0.567,2086,0.623,2087,0.623,2088,0.623,2089,0.623,2090,0.623,2091,0.623]],["component/31",[164,0.59]],["title/32-1",[1885,53.492]],["name/32-1",[]],["text/32-1",[]],["component/32-1",[]],["title/32-2",[14,14.872,741,38.006,2092,50.531]],["name/32-2",[]],["text/32-2",[]],["component/32-2",[]],["title/32-3",[4,10.72,84,14.174,109,17.963,113,20.13,114,20.922,115,22.455]],["name/32-3",[]],["text/32-3",[]],["component/32-3",[]],["title/32-4",[4,11.799,93,18.792,114,23.026,115,24.714,306,22.436]],["name/32-4",[]],["text/32-4",[]],["component/32-4",[]],["title/32-5",[4,16.899,59,25.659]],["name/32-5",[]],["text/32-5",[]],["component/32-5",[]],["title/32-6",[18,5.712,23,13.102,59,17.915,234,27.848,526,21.621]],["name/32-6",[]],["text/32-6",[]],["component/32-6",[]],["title/32-7",[18,5.712,23,13.102,59,17.915,234,27.848,2093,30.359]],["name/32-7",[]],["text/32-7",[]],["component/32-7",[]],["title/32-8",[4,9.063,14,9.125,93,14.435,114,17.688,115,29.35,306,17.234,601,21.392]],["name/32-8",[]],["text/32-8",[]],["component/32-8",[]],["title/32-9",[537,25.191,657,26.653]],["name/32-9",[]],["text/32-9",[]],["component/32-9",[]],["title/32-10",[546,15.183,549,21.987]],["name/32-10",[]],["text/32-10",[]],["component/32-10",[]],["title/32",[4,13.119,84,17.345,109,21.982,113,24.634]],["name/32",[4,0.415,84,0.549,109,0.696,113,0.78]],["text/32",[1,1.246,4,2.641,5,0.49,8,1.338,13,0.423,14,2.24,16,1.675,17,1.588,18,1.212,19,1.091,23,2.206,25,0.949,34,1.595,39,1.584,43,0.512,50,0.82,55,0.614,56,0.443,57,1.655,59,3.276,61,1.367,62,0.662,67,2.217,69,0.371,71,0.721,72,1.68,76,1.61,84,2.581,85,3.175,87,0.896,90,1.69,93,2.595,98,0.743,99,1.485,100,2.149,109,2.825,113,0.851,114,2.928,115,3.928,117,0.397,129,0.721,137,2.75,145,1.139,148,0.784,150,2.648,154,0.577,174,0.465,180,2.568,191,4.149,192,1.522,194,0.566,198,2.455,199,1.166,200,0.471,215,0.792,217,1.288,218,2.026,223,1.382,234,3.7,235,0.675,241,1.012,242,0.979,247,0.443,261,3.564,275,1.306,278,1.466,282,3.98,287,0.497,301,0.908,306,2.392,313,0.811,315,2.749,333,0.729,338,0.414,341,1.607,353,0.792,360,2.984,387,2.783,390,1.049,440,0.343,445,0.443,486,1.886,510,0.577,512,0.757,525,0.556,526,2.75,543,0.546,546,0.22,547,1.235,554,2.391,556,1.523,557,1.398,560,0.629,577,0.703,583,0.49,593,2.317,594,3.093,597,0.895,598,0.895,599,0.895,601,2.48,605,0.546,607,1.235,644,0.346,645,0.346,646,1.64,647,0.346,648,0.346,649,0.346,650,0.346,651,0.346,652,0.346,653,1.735,657,0.386,658,2.448,662,1.888,669,0.645,672,0.896,674,1.139,678,1.658,713,1.288,723,1.466,731,2.488,735,1.795,741,2.388,761,1.114,784,0.537,785,1.629,793,0.703,800,2.523,817,2.793,823,1.55,846,0.601,918,1.765,930,1.35,933,2.006,961,0.577,963,0.721,1021,0.52,1027,2.281,1046,2.166,1072,1.466,1073,5.739,1076,1.67,1077,0.792,1088,0.556,1090,0.577,1136,3.436,1138,1.998,1139,0.477,1140,0.589,1151,1.484,1154,0.682,1155,0.589,1156,0.792,1175,3.76,1176,1.494,1178,2.433,1179,1.524,1307,0.895,1351,0.728,1442,0.836,1513,1.658,1536,1.263,1547,3.406,1563,1.35,1574,0.792,1589,1.943,1648,0.836,1666,1.35,1698,2.766,1706,4.107,1809,0.757,1843,1.886,1903,4.246,1904,0.895,1905,0.895,1908,0.792,2019,0.836,2031,4.078,2055,0.836,2056,0.836,2057,0.836,2092,1.55,2093,2.388,2094,0.984,2095,1.823,2096,0.984,2097,0.984,2098,5.744,2099,0.984,2100,2.548,2101,0.984,2102,0.984,2103,0.984,2104,0.984,2105,0.984,2106,9.058,2107,1.823,2108,0.984,2109,0.984,2110,0.984,2111,0.984,2112,0.984,2113,0.895,2114,0.984,2115,1.823,2116,0.984,2117,0.984,2118,0.984,2119,0.984,2120,0.984,2121,2.548,2122,0.984,2123,6.787,2124,3.736,2125,0.984,2126,0.984,2127,5.064,2128,0.984,2129,2.548,2130,1.823,2131,1.823,2132,0.984,2133,1.823,2134,0.984,2135,1.658,2136,1.658,2137,4.668,2138,1.823,2139,0.984,2140,1.823,2141,0.984,2142,0.984,2143,0.984,2144,0.984,2145,0.984,2146,1.823,2147,2.548,2148,2.548,2149,3.736,2150,0.984,2151,0.984,2152,0.984,2153,2.548,2154,2.548,2155,1.823,2156,1.823,2157,1.823,2158,1.823,2159,0.984,2160,0.895,2161,0.984,2162,0.984,2163,0.984,2164,0.984,2165,0.984,2166,0.984,2167,1.658,2168,0.984,2169,0.984,2170,0.984,2171,0.984]],["component/32",[164,0.59]],["title/33-1",[6,25.423,31,34.874]],["name/33-1",[]],["text/33-1",[]],["component/33-1",[]],["title/33-2",[6,25.423,1012,47.124]],["name/33-2",[]],["text/33-2",[]],["component/33-2",[]],["title/33-3",[546,15.183,549,21.987]],["name/33-3",[]],["text/33-3",[]],["component/33-3",[]],["title/33",[4,14.771,5,29.622,111,47.885]],["name/33",[4,0.415,5,0.833,61,0.719,111,1.347]],["text/33",[6,2.499,13,1.967,14,1.45,16,1.168,17,0.963,18,0.804,27,1.53,33,2.248,39,1.397,40,3.079,47,2.539,51,1.308,62,3.079,69,2.186,71,2.915,76,3.522,84,0.921,85,2.388,89,2.683,90,3.475,93,2.646,98,2.363,103,1.099,111,8.475,112,1.677,113,1.308,117,2.974,120,5.18,129,1.109,138,3.598,150,2.487,154,2.683,180,3.545,191,4.214,194,1.613,198,1.359,218,3.25,235,1.694,239,3.884,241,2.539,242,1.505,247,1.261,263,2.632,306,2.161,319,4.951,338,1.18,387,3.145,427,1.556,440,0.976,445,1.261,526,3.045,546,0.626,555,4,556,3.4,585,5.698,611,3.163,612,5.274,631,1.942,644,0.985,645,0.985,646,0.985,647,0.985,648,0.985,649,0.985,650,0.985,651,0.985,652,0.985,656,2.159,657,1.099,662,1.417,672,2.248,677,1.677,690,4.462,741,1.792,780,1.838,838,1.887,853,2.258,860,5.454,916,4.462,930,3.387,948,2.998,950,2.248,963,1.109,997,3.522,1012,5.776,1022,1.887,1027,1.18,1087,2.258,1143,3.17,1213,1.942,1216,2.076,1234,3.685,1289,3.685,1291,2.383,1294,6.082,1296,2.076,1360,2.159,1388,3.17,1418,2.076,1549,4.161,1556,2.005,1739,2.55,1741,3.271,2172,2.804,2173,4.575,2174,2.804,2175,2.804,2176,4.161,2177,4.575,2178,2.804,2179,4.575,2180,2.804,2181,4.161,2182,4.575,2183,2.804,2184,4.575,2185,2.804,2186,2.383,2187,6.687,2188,2.804,2189,4.575,2190,2.55,2191,2.804,2192,2.804]],["component/33",[164,0.59]],["title/34-1",[223,25.846,557,26.138,2193,54.074]],["name/34-1",[]],["text/34-1",[]],["component/34-1",[]],["title/34-2",[18,7.15,23,16.402,59,22.427]],["name/34-2",[]],["text/34-2",[]],["component/34-2",[]],["title/34-3",[116,44.578,855,48.632]],["name/34-3",[]],["text/34-3",[]],["component/34-3",[]],["title/34-4",[116,34.605,225,37.752,612,30.963,1445,37.752]],["name/34-4",[]],["text/34-4",[]],["component/34-4",[]],["title/34-5",[116,34.605,225,37.752,1445,37.752,1589,32.255]],["name/34-5",[]],["text/34-5",[]],["component/34-5",[]],["title/34-6",[116,38.964,225,42.507,2194,54.074]],["name/34-6",[]],["text/34-6",[]],["component/34-6",[]],["title/34-7",[546,15.183,549,21.987]],["name/34-7",[]],["text/34-7",[]],["component/34-7",[]],["title/34",[4,13.119,5,26.308,61,22.702,116,34.605]],["name/34",[4,0.523,5,1.049,116,1.38]],["text/34",[1,1.27,4,2.197,12,0.569,13,1.018,14,1.819,15,1.104,16,0.828,17,1.082,18,1.173,23,1.763,33,1.163,36,0.817,39,0.652,44,0.618,47,1.314,49,2.806,50,1.065,51,0.61,52,0.817,53,1.041,55,0.44,57,2.069,59,2.273,61,0.562,62,0.881,63,0.539,67,1.459,69,0.893,71,0.937,72,1.251,76,1.958,84,0.43,85,2.118,90,1.296,91,0.726,93,1.283,94,0.652,99,1.397,114,1.572,116,6.246,117,0.528,129,0.937,137,2.555,138,1.476,145,0.817,150,2.269,154,3.291,174,3.173,180,1.379,191,4.152,198,0.634,217,0.661,218,3.306,223,2.619,225,5.801,235,1.473,239,2.758,241,1.314,242,1.741,245,0.857,254,1.065,259,3.016,275,2.36,282,2.246,315,2.202,326,1.007,333,0.946,338,1.364,344,0.881,348,1.214,349,1.799,360,1.513,387,3.652,411,1.799,420,1.054,440,0.456,445,1.065,511,1.416,518,0.783,526,0.596,529,0.691,534,0.817,535,3.37,537,0.485,545,0.799,546,0.292,547,1.148,549,0.423,554,0.985,556,0.965,557,2.023,560,0.836,583,0.652,594,1.446,601,0.767,604,1.19,606,2.153,607,3.643,612,4.534,625,0.702,633,1.593,640,1.007,644,0.459,645,0.459,646,1.139,647,0.459,648,0.459,649,0.459,650,0.459,651,0.459,652,0.459,653,3.063,662,2.326,672,1.163,674,1.478,677,0.783,688,1.513,703,2.429,704,0.783,705,2.606,709,1.692,711,0.714,713,2.326,714,1.054,715,2.4,724,1.054,725,0.702,727,2.4,731,1.593,735,1.246,741,2.072,752,2.012,765,1.551,771,4.322,780,0.857,796,0.702,817,1.416,824,0.767,826,1.513,838,0.881,839,1.112,846,1.446,853,5.645,855,0.935,880,1.593,884,0.783,899,1.112,916,3.543,918,1.118,950,1.163,951,0.836,955,0.836,956,1.19,963,0.518,1014,0.714,1021,0.691,1024,4.942,1027,0.55,1032,1.64,1033,2.012,1039,2.755,1072,2.648,1076,2.606,1083,1.19,1085,1.478,1088,0.739,1095,1.752,1115,1.112,1123,1.112,1133,1.593,1136,1.939,1139,0.634,1140,1.416,1148,2.496,1153,1.593,1154,0.906,1155,1.939,1175,1.054,1176,3.015,1178,3.864,1179,2.753,1198,0.968,1269,0.906,1273,1.112,1292,1.054,1372,1.64,1433,1.054,1445,1.692,1557,1.19,1561,1.416,1589,3.428,1657,3.291,1698,0.968,1728,2.677,1741,1.692,1765,0.935,1855,2.012,1887,1.593,2049,1.692,2186,1.112,2190,4.186,2194,1.19,2195,1.308,2196,1.007,2197,6.39,2198,5.142,2199,6.39,2200,2.367,2201,3.977,2202,1.19,2203,1.112,2204,2.367,2205,7.009,2206,4.602,2207,1.308,2208,1.308,2209,1.308,2210,3.242,2211,1.112,2212,1.308,2213,1.308,2214,1.308,2215,1.19,2216,1.308,2217,1.19,2218,1.308,2219,1.308,2220,1.308,2221,1.308,2222,1.112,2223,1.054,2224,1.308,2225,1.308,2226,3.407,2227,4.569,2228,2.153,2229,1.308,2230,1.308,2231,1.308,2232,1.308,2233,1.308,2234,1.308,2235,1.308,2236,1.308,2237,1.308,2238,1.308,2239,1.308,2240,1.308,2241,1.308,2242,3.242,2243,3.242,2244,5.142,2245,3.977,2246,1.308,2247,2.367,2248,1.308,2249,1.308,2250,1.308,2251,1.308,2252,1.308,2253,2.367]],["component/34",[164,0.59]],["title/35-1",[76,22.638,90,23.759,109,24.751]],["name/35-1",[]],["text/35-1",[]],["component/35-1",[]],["title/35-2",[39,21.499,61,18.552,71,17.074,109,17.963,137,19.645,198,20.922]],["name/35-2",[]],["text/35-2",[]],["component/35-2",[]],["title/35-3",[18,6.351,76,20.106,93,20.894,109,21.982]],["name/35-3",[]],["text/35-3",[]],["component/35-3",[]],["title/35-4",[18,6.351,76,20.106,117,21.314,547,25.602]],["name/35-4",[]],["text/35-4",[]],["component/35-4",[]],["title/35-5",[4,11.799,84,15.6,109,19.771,113,22.156,306,22.436]],["name/35-5",[]],["text/35-5",[]],["component/35-5",[]],["title/35-6",[537,25.191,657,26.653]],["name/35-6",[]],["text/35-6",[]],["component/35-6",[]],["title/35-7",[546,15.183,549,21.987]],["name/35-7",[]],["text/35-7",[]],["component/35-7",[]],["title/35",[4,14.771,5,29.622,109,24.751]],["name/35",[4,0.415,5,0.833,61,0.719,109,0.696]],["text/35",[0,0.653,1,0.428,2,0.809,3,1.041,4,2.066,5,0.544,13,1.957,14,2.142,15,0.937,16,1.474,17,1.546,18,1.137,21,1.114,23,1.682,34,2.177,39,3.926,40,1.351,43,1.799,47,2.778,51,1.3,52,0.682,54,0.88,55,1.164,57,1.045,59,0.412,61,1.486,66,0.387,67,2.536,68,0.903,69,1.051,70,0.653,71,3.551,73,0.757,76,3.736,77,0.64,78,1.061,80,1.454,84,2.476,85,1.148,87,2.836,89,2.369,90,3.211,91,0.606,93,2.823,97,0.486,98,0.819,99,1.899,101,1.177,103,0.428,104,0.48,106,0.552,109,4.127,113,2.335,114,0.53,115,2.605,117,2.329,122,0.606,129,1.368,137,2.776,138,1.269,148,1.486,150,2.641,154,1.177,156,0.617,157,1.781,169,1.333,174,0.949,180,2.938,182,1.201,186,0.716,191,4.07,192,0.961,194,0.628,198,1.959,200,0.523,202,1.369,206,0.993,209,1.134,211,0.628,217,2.042,218,3.354,219,0.781,223,0.873,235,0.744,241,1.547,242,3.098,245,0.716,247,2.433,252,1.201,253,1.826,254,0.491,268,0.64,275,0.56,276,0.716,278,0.628,301,0.544,302,0.617,306,2.151,313,2.405,314,0.757,319,2.991,333,0.436,338,0.845,341,2.3,348,0.56,349,1.114,352,0.809,365,1.654,375,0.606,387,2.77,398,4.359,403,3.853,420,0.88,437,0.628,440,0.38,445,0.491,510,0.64,525,0.617,529,1.827,534,0.682,546,0.244,547,2.798,549,0.353,554,2.252,555,1.667,556,2.607,557,0.48,575,0.64,583,1,594,2.112,601,2.935,607,0.53,609,1.781,625,0.586,644,0.979,645,0.384,646,2.141,647,0.384,648,0.384,649,0.384,650,0.384,651,0.384,652,0.384,653,1.096,658,1.546,662,0.552,669,0.716,672,1.699,674,1.74,688,0.698,691,0.841,703,3.525,707,0.586,711,1.887,713,1.015,725,1.078,731,2.46,732,0.53,735,2.218,739,0.757,741,3.458,742,1.391,755,2.368,770,0.735,780,0.716,784,0.596,785,1.284,794,0.667,800,0.544,805,1.177,817,0.653,822,1.155,826,0.698,838,0.735,846,2.781,858,0.993,880,1.351,881,1.436,906,1.284,916,2.145,918,0.949,920,1.391,922,2.027,930,0.809,946,1.029,950,1.369,961,0.64,963,0.794,1008,0.928,1013,1.155,1021,0.577,1027,1.454,1051,3.675,1052,3.675,1053,0.993,1055,5.249,1056,0.993,1057,2.534,1058,2.534,1059,1.826,1063,0.993,1065,0.716,1085,0.682,1088,0.617,1095,1.486,1136,0.653,1138,1.633,1151,1.613,1154,0.757,1155,0.653,1289,0.88,1351,0.809,1415,0.841,1431,0.88,1515,0.88,1589,1.702,1666,0.809,1728,3.064,1741,3.255,1762,0.735,1862,1.351,1881,0.928,1897,1.826,1908,0.88,1909,0.928,2018,1.826,2019,0.928,2022,0.809,2031,1.617,2093,0.698,2135,1.826,2136,2.534,2181,0.993,2254,1.092,2255,1.092,2256,1.092,2257,1.092,2258,1.092,2259,1.092,2260,0.993,2261,4.04,2262,1.092,2263,1.092,2264,1.092,2265,1.092,2266,1.092,2267,1.092,2268,2.008,2269,2.008,2270,1.092,2271,1.092,2272,1.092,2273,1.092,2274,1.092,2275,1.092,2276,1.092,2277,1.092,2278,1.092,2279,2.008,2280,1.092,2281,1.092,2282,1.092,2283,3.457,2284,2.787,2285,4.04,2286,1.092,2287,2.008,2288,1.092,2289,1.092,2290,1.092,2291,1.092,2292,1.092,2293,1.092,2294,1.092,2295,1.092,2296,0.928,2297,1.092]],["component/35",[164,0.59]],["title/36-1",[4,14.771,84,19.53,160,37.128]],["name/36-1",[]],["text/36-1",[]],["component/36-1",[]],["title/36-2",[4,14.771,10,34.205,160,37.128]],["name/36-2",[]],["text/36-2",[]],["component/36-2",[]],["title/36-3",[132,43.371]],["name/36-3",[]],["text/36-3",[]],["component/36-3",[]],["title/36-4",[2298,72.281]],["name/36-4",[]],["text/36-4",[]],["component/36-4",[]],["title/36-5",[4,13.119,160,32.975,355,44.878,2299,48.025]],["name/36-5",[]],["text/36-5",[]],["component/36-5",[]],["title/36-6",[4,14.771,160,37.128,1010,41.189]],["name/36-6",[]],["text/36-6",[]],["component/36-6",[]],["title/36-7",[6,25.423,103,26.653]],["name/36-7",[]],["text/36-7",[]],["component/36-7",[]],["title/36-8",[537,25.191,657,26.653]],["name/36-8",[]],["text/36-8",[]],["component/36-8",[]],["title/36-9",[546,15.183,549,21.987]],["name/36-9",[]],["text/36-9",[]],["component/36-9",[]],["title/36",[4,16.899,160,42.478]],["name/36",[4,0.707,160,1.777]],["text/36",[1,1.934,4,2.702,6,1.417,8,1.595,10,2.839,11,2.268,12,0.973,13,3.404,14,1.883,15,2.302,16,1.66,17,1.487,18,1.027,19,1.338,20,3.419,23,1.361,25,1.973,26,2.807,33,1.863,34,1.43,36,3.629,44,1.791,51,1.769,53,3.106,55,0.753,57,2.568,59,2.84,63,3.711,65,2.105,66,2.058,72,2.004,80,2.076,82,1.182,84,2.958,89,2.894,95,2.649,103,0.877,110,1.6,112,2.268,114,1.085,115,1.973,117,1.531,118,2.494,132,3.855,136,3.015,137,1.019,138,1.019,143,4.944,146,1.115,147,1.506,148,0.962,150,1.412,156,2.142,160,6.865,162,3.082,163,4.194,168,0.984,169,1.815,181,2.424,194,1.287,196,1.131,200,1.815,202,1.863,207,2.919,223,0.973,227,1.723,235,0.829,245,3.234,254,3.178,263,1.287,271,1.221,272,1.242,276,1.466,288,1.264,292,1.466,297,2.035,311,1.131,333,2.599,338,2.445,341,1.131,352,1.656,355,7.012,363,1.6,366,1.6,375,1.242,377,1.902,379,1.863,401,1.397,407,1.466,422,1.506,427,1.242,440,0.779,445,1.706,468,3.054,514,1.902,518,1.338,526,1.726,534,1.397,541,1.656,545,1.367,546,1.102,549,0.723,550,1.287,554,0.931,567,1.506,607,1.839,611,1.221,644,0.786,645,0.786,646,2.644,647,0.786,648,0.786,649,0.786,650,1.332,651,0.786,652,0.786,672,2.425,677,1.338,703,2.316,714,1.802,732,1.839,739,1.55,758,2.627,800,2.895,820,2.424,835,1.287,838,1.506,844,1.802,868,2.368,884,1.338,918,1.057,924,1.397,925,1.656,930,1.656,932,4.301,933,2.649,963,1.953,1010,3.419,1011,1.902,1013,1.287,1028,1.6,1044,1.115,1085,1.397,1088,1.264,1090,1.312,1112,2.035,1120,3.054,1138,1.057,1142,2.035,1218,3.975,1306,2.035,1388,1.55,1413,4.488,1414,3.054,1415,1.723,1416,3.223,1443,1.656,1477,2.035,1507,1.802,1514,3.054,1615,1.55,1709,1.802,1845,2.035,1849,1.902,1965,2.035,1968,2.035,2093,3.155,2215,3.449,2298,3.449,2299,4.488,2300,4.488,2301,2.237,2302,2.237,2303,2.237,2304,2.237,2305,2.237,2306,2.035,2307,2.237,2308,2.035,2309,2.237,2310,2.237,2311,2.237,2312,3.792,2313,2.237,2314,2.237,2315,1.902,2316,2.035,2317,2.237]],["component/36",[164,0.59]],["title/37-1",[537,25.191,657,26.653]],["name/37-1",[]],["text/37-1",[]],["component/37-1",[]],["title/37-2",[546,15.183,549,21.987]],["name/37-2",[]],["text/37-2",[]],["component/37-2",[]],["title/37",[8,18.154,14,10.794,18,5.19,23,11.904,39,21.499,128,30.85]],["name/37",[8,0.703,12,0.727,131,1.521,344,1.125]],["text/37",[1,0.731,4,0.806,8,4.23,12,1.411,14,1.458,16,1.633,17,1.606,18,1.121,21,2.057,23,1.764,27,1.771,34,1.224,35,3.315,39,4.71,43,0.971,49,1.019,50,0.84,53,1.427,55,1.733,58,1.382,59,2.199,61,1.395,67,1.889,68,0.84,69,1.624,77,1.095,81,1.664,93,2.037,94,1.617,97,0.83,98,1.324,99,1.807,109,0.777,113,0.871,119,1.14,128,6.45,129,0.739,132,1.019,134,2.127,135,2.075,137,3.129,138,1.478,139,1.335,150,2.082,153,1.166,157,1.193,169,0.893,191,3.369,192,0.893,196,0.943,211,1.074,217,0.943,218,1.213,223,1.411,233,1.293,235,0.691,239,2.116,247,1.46,252,3.079,261,1.055,272,1.036,275,0.957,292,2.127,301,0.93,306,0.882,311,0.943,313,1.443,315,1.553,348,0.957,359,1.382,360,1.193,365,1.553,366,4.572,372,1.503,373,2.185,379,2.116,387,1.942,411,2.39,424,1.867,440,0.65,483,5,486,1.382,525,1.055,536,1.503,546,0.417,547,0.905,549,1.664,554,2.427,556,0.761,557,0.821,571,1.427,592,3.66,607,2.088,634,1.293,644,0.656,645,0.656,646,1.512,647,0.656,648,0.656,649,0.656,650,0.656,651,0.656,652,0.656,653,1.019,654,1.095,664,1.117,669,6.919,694,2.403,696,4.572,703,1.14,704,1.117,705,2.822,707,2.763,709,1.335,713,1.64,723,1.074,735,1.655,742,2.249,759,2.983,761,1.14,771,1.867,776,1.802,785,1.193,794,1.14,800,1.617,805,1.903,868,4.291,909,1.698,912,1.074,933,1.002,946,1.664,951,1.193,958,1.002,963,1.284,1014,1.019,1027,2.165,1036,3.29,1047,2.321,1065,1.223,1076,1.223,1090,1.095,1110,1.293,1138,2.034,1139,1.574,1140,1.942,1151,0.871,1155,1.117,1166,1.983,1168,2.075,1172,1.335,1213,2.983,1266,3.214,1269,1.293,1384,1.698,1446,1.223,1463,1.437,1519,3.468,1533,2.952,1556,1.335,1562,1.587,1563,3.188,1580,1.698,1582,1.587,1587,1.587,1588,1.698,1589,1.983,1590,1.503,1591,1.698,1747,1.503,1784,1.074,2006,1.698,2062,5.648,2227,4.572,2318,1.867,2319,5.817,2320,1.867,2321,1.867,2322,1.867,2323,1.867,2324,1.867,2325,1.587,2326,3.246,2327,1.867,2328,1.867,2329,1.698,2330,1.867,2331,1.867,2332,1.867,2333,1.698,2334,1.867,2335,1.867,2336,1.698,2337,1.698,2338,1.867,2339,1.698,2340,1.698,2341,1.867,2342,1.867,2343,1.698,2344,1.867,2345,1.867,2346,1.867,2347,1.867,2348,1.867,2349,2.952,2350,4.681,2351,3.246,2352,6.62,2353,1.867,2354,1.867,2355,1.867,2356,1.867,2357,1.867,2358,1.867,2359,3.246,2360,3.246,2361,3.246,2362,3.246,2363,3.246,2364,3.246,2365,3.246,2366,3.246,2367,3.246,2368,3.246,2369,1.867,2370,1.867,2371,1.867,2372,1.867,2373,1.698,2374,1.867,2375,1.867,2376,3.246,2377,1.867,2378,1.867,2379,1.867,2380,1.867,2381,1.867,2382,1.867,2383,1.867,2384,1.867,2385,1.867,2386,1.867,2387,1.867,2388,1.867,2389,1.867,2390,1.867]],["component/37",[164,0.59]],["title/38",[]],["name/38",[18,0.201,53,0.735,156,0.945,356,1.238]],["text/38",[]],["component/38",[164,0.59]],["title/39",[]],["name/39",[3,0.787,9,1.559,526,0.959]],["text/39",[]],["component/39",[164,0.59]],["title/40-1",[1885,53.492]],["name/40-1",[]],["text/40-1",[]],["component/40-1",[]],["title/40-2",[8,18.154,10,24.825,14,10.794,18,5.19,23,11.904,132,23.548]],["name/40-2",[]],["text/40-2",[]],["component/40-2",[]],["title/40-3",[537,25.191,657,26.653]],["name/40-3",[]],["text/40-3",[]],["component/40-3",[]],["title/40-4",[546,15.183,549,21.987]],["name/40-4",[]],["text/40-4",[]],["component/40-4",[]],["title/40",[8,16.634,12,17.187,14,9.89,16,10.096,17,8.321,18,4.755,132,21.576]],["name/40",[8,0.886,12,0.916,132,1.15]],["text/40",[1,1.417,3,0.791,4,2.139,8,4.588,10,3.621,12,3.185,13,1.555,14,2.21,16,0.54,17,0.997,18,1.202,21,1.892,22,1.387,23,2.664,32,2.542,33,1.04,34,2.764,35,1.629,39,2.791,50,3.627,51,2.936,53,1.59,55,2.119,59,2.374,61,1.555,63,0.872,67,1.738,68,1.627,69,1.364,78,1.118,80,1.522,84,1.188,85,0.872,91,1.175,97,0.941,98,0.863,99,3.627,100,3.945,102,2.209,114,1.026,118,1.069,119,1.293,128,4.499,129,2.49,132,4.823,138,0.964,143,3.499,150,1.603,174,1,191,2.94,192,1.731,194,1.218,196,1.069,202,2.327,218,2.094,221,1.266,223,2.059,234,1.241,235,2.86,259,1.387,311,1.069,313,1.608,315,1.013,333,0.846,338,1.522,341,1.069,349,1.175,359,1.567,360,1.353,365,1.731,373,3.771,379,1.04,387,1.364,390,2.725,411,3.493,440,0.737,445,0.952,457,4.147,512,1.629,537,1.754,546,0.472,554,1.506,561,4.659,571,2.082,610,3.386,631,1.466,644,0.743,645,0.743,646,2.712,647,0.743,648,0.743,649,0.743,650,0.743,651,0.743,652,0.743,657,1.417,677,1.266,694,1.567,705,2.37,707,1.136,725,1.136,732,1.026,735,2.816,759,1.466,761,2.209,776,2.007,784,1.155,796,1.942,800,1.802,822,1.218,851,3.104,864,1.799,881,1.513,912,3.223,918,1,946,1.854,950,1.04,963,2.217,967,1.629,985,1.799,1014,3.435,1015,1.266,1027,3.249,1088,1.196,1138,1,1151,0.987,1260,1.925,1266,2.957,1269,1.466,1332,4.499,1372,1.466,1418,2.677,1438,1.799,1443,1.567,1499,1.705,1550,4.512,1563,1.567,1594,2.37,1629,1.567,1650,3.074,1733,1.629,1769,1.387,2085,6.237,2325,1.799,2339,3.289,2340,3.289,2343,1.925,2391,5.602,2392,1.925,2393,5.095,2394,1.925,2395,5.724,2396,1.925,2397,1.925,2398,1.925,2399,2.116,2400,2.116,2401,2.116,2402,2.116,2403,2.116,2404,2.116,2405,2.116,2406,2.116,2407,2.116,2408,3.289,2409,2.116,2410,2.116,2411,1.925,2412,1.925,2413,2.116,2414,2.116,2415,1.925]],["component/40",[164,0.59]],["title/41-1",[1885,53.492]],["name/41-1",[]],["text/41-1",[]],["component/41-1",[]],["title/41-2",[8,19.981,14,11.88,18,5.712,23,13.102,1209,40.363]],["name/41-2",[]],["text/41-2",[]],["component/41-2",[]],["title/41-3",[8,22.216,53,23.214,150,15.105,539,44.878]],["name/41-3",[]],["text/41-3",[]],["component/41-3",[]],["title/41-4",[537,25.191,657,26.653]],["name/41-4",[]],["text/41-4",[]],["component/41-4",[]],["title/41-5",[546,15.183,549,21.987]],["name/41-5",[]],["text/41-5",[]],["component/41-5",[]],["title/41",[14,10.794,27,23.548,134,28.279,135,27.584,138,19.645,139,30.85]],["name/41",[27,0.912,134,1.096,135,1.069,138,0.761]],["text/41",[1,1.866,4,1.489,6,3.661,8,4.32,12,1.28,14,2.061,17,1.261,18,1.171,21,0.466,23,2.382,26,1.578,27,2.313,29,0.991,31,1.093,32,3.393,33,0.573,34,2.261,39,1.813,43,1.533,49,1.607,50,2.142,51,2.221,52,0.728,53,2.909,54,0.939,55,1.895,57,1.109,59,1.599,61,1.266,62,0.785,63,1.213,66,0.413,67,2.428,68,0.959,71,0.461,74,0.863,78,0.616,82,2.516,83,0.785,84,1.715,85,0.48,87,0.573,91,0.647,99,1.489,102,1.302,103,2.348,109,0.485,112,0.697,113,0.544,117,0.861,128,3.03,129,1.677,130,0.991,134,3.928,135,2.71,137,1.657,138,1.657,139,6.477,148,0.501,150,2.643,161,0.671,168,1.863,174,1.007,180,0.496,191,3.924,192,1.409,198,1.428,211,0.671,218,1.78,224,1.524,234,0.684,235,0.79,267,0.764,275,1.51,288,1.204,306,0.551,311,1.488,313,1.885,315,0.558,338,1.239,341,2.406,359,0.863,360,0.745,365,2.028,372,0.939,373,3.205,379,3.251,387,0.44,390,1.226,411,2.353,422,1.982,425,0.785,427,4.081,437,0.671,440,0.406,457,2.694,511,1.275,537,0.79,546,0.26,554,2.174,556,1.201,571,0.937,580,0.745,585,0.764,607,0.565,610,3.03,611,0.636,612,3.515,619,1.397,625,1.954,633,1.982,634,2.04,644,0.409,645,0.409,646,2.105,647,0.409,648,0.409,649,0.409,650,0.409,651,0.409,652,0.409,677,1.762,689,2.18,692,2.04,694,2.18,697,0.834,703,2.223,705,1.93,707,0.626,711,0.636,713,1.488,725,1.581,731,0.573,732,0.565,735,2.007,739,2.521,742,0.808,743,0.834,759,2.521,761,1.799,776,1.635,784,1.607,790,1.435,793,1.524,794,1.302,796,2.276,800,1.062,805,1.25,817,1.762,822,0.671,841,2.177,846,0.712,851,2.385,888,0.764,912,3.448,918,1.719,920,2.521,928,0.939,936,0.991,946,1.51,947,0.939,948,1.93,950,0.573,955,5.729,958,1.145,963,1.165,967,1.641,985,0.991,1014,1.986,1016,1.06,1024,0.745,1027,2.003,1031,0.834,1044,2.372,1076,0.764,1088,1.204,1138,0.551,1141,1.06,1148,0.898,1151,0.544,1166,1.302,1168,1.363,1172,1.524,1199,0.991,1209,3.093,1216,1.578,1266,0.728,1269,0.808,1297,1.939,1332,2.602,1416,0.991,1418,1.578,1446,0.764,1449,0.863,1462,0.991,1499,0.939,1522,1.578,1556,2.106,1709,0.939,1733,0.898,1747,0.939,1959,0.785,2060,1.06,2325,0.991,2336,1.939,2337,1.06,2392,1.939,2393,2.679,2394,1.06,2395,3.855,2396,1.06,2397,1.06,2398,1.06,2408,3.31,2411,1.939,2412,1.939,2415,3.855,2416,0.991,2417,1.166,2418,1.166,2419,1.06,2420,1.939,2421,1.166,2422,2.945,2423,5.749,2424,1.166,2425,1.166,2426,1.166,2427,1.166,2428,2.132,2429,1.166,2430,1.166,2431,2.132,2432,1.166,2433,4.33,2434,2.132,2435,2.132,2436,2.931,2437,2.132,2438,2.132,2439,5.629,2440,5.629,2441,2.132,2442,2.132,2443,2.132,2444,2.132,2445,2.132,2446,2.132,2447,2.945,2448,2.945,2449,4.761,2450,2.945,2451,2.945,2452,1.166,2453,1.939,2454,1.939,2455,1.166,2456,1.06,2457,0.991,2458,1.166,2459,3.639,2460,3.855,2461,2.945,2462,2.132,2463,1.166,2464,2.132,2465,1.166,2466,1.166,2467,1.166,2468,1.166]],["component/41",[164,0.59]],["title/42-1",[4,11.799,8,19.981,109,19.771,134,31.124,725,25.497]],["name/42-1",[]],["text/42-1",[]],["component/42-1",[]],["title/42-2",[1,20.69,135,33.755,612,30.963,2469,48.025]],["name/42-2",[]],["text/42-2",[]],["component/42-2",[]],["title/42-3",[1,18.609,8,19.981,71,18.792,135,30.359,612,27.848]],["name/42-3",[]],["text/42-3",[]],["component/42-3",[]],["title/42-4",[537,25.191,657,26.653]],["name/42-4",[]],["text/42-4",[]],["component/42-4",[]],["title/42-5",[546,15.183,549,21.987]],["name/42-5",[]],["text/42-5",[]],["component/42-5",[]],["title/42",[4,11.799,14,11.88,109,19.771,134,31.124,135,30.359]],["name/42",[4,0.415,109,0.696,134,1.096,135,1.069]],["text/42",[0,0.889,1,3.559,3,0.993,4,1.85,5,1.793,8,4.25,12,0.646,14,2.24,15,1.239,16,0.38,17,1.058,18,1.043,23,1.671,34,2.285,39,1.793,43,1.873,44,1.255,47,1.998,49,3.046,50,1.969,51,0.694,55,2.806,59,1.358,61,1.142,63,1.094,67,2.509,68,1.969,69,2.441,71,1.424,72,2.657,73,1.03,84,0.488,85,1.094,93,2.208,94,0.741,97,0.661,99,0.933,105,1.845,109,2.093,113,1.679,114,0.721,115,0.774,123,1.101,124,1.101,128,1.899,129,1.424,130,1.264,134,3.295,135,6.457,145,0.928,150,2.33,167,1.063,168,2.845,191,4.206,211,0.855,218,1.345,233,1.03,254,0.669,268,0.872,272,0.825,294,1.101,301,0.741,306,0.702,313,2.482,333,1.061,338,0.626,341,2.82,349,0.825,365,2.671,372,2.139,373,4.077,379,0.731,422,1.001,440,0.518,537,1.333,546,0.332,554,2.694,556,1.467,558,1.788,595,0.889,601,0.872,607,2.437,609,0.95,612,5.576,625,1.932,633,2.945,644,0.522,645,0.522,646,2.273,647,0.522,648,0.522,649,0.522,650,0.522,651,0.522,652,0.522,653,2.744,690,1.145,692,2.493,694,4.132,697,2.573,702,3.059,707,0.798,711,1.449,725,1.932,732,1.288,735,2.328,739,1.84,742,1.84,759,4.484,780,0.974,785,2.301,796,0.798,805,1.557,846,1.622,868,5.938,884,2.153,888,0.974,895,1.197,896,3.273,946,1.362,950,1.769,951,0.95,953,1.264,963,1.989,1014,2.388,1021,1.902,1027,2.115,1030,1.589,1090,0.872,1138,2.637,1151,2.345,1166,1.622,1317,1.197,1387,1.264,1449,3.239,1463,1.145,1486,2.139,1537,1.352,1556,3.99,1669,1.063,1690,1.03,1843,1.101,2031,1.197,2329,2.415,2333,2.415,2419,1.352,2420,1.352,2423,8.021,2433,6.217,2454,2.415,2469,6.217,2470,1.487,2471,1.487,2472,2.656,2473,1.487,2474,1.487,2475,1.487,2476,4.376,2477,1.352,2478,1.487,2479,4.376,2480,2.656,2481,1.487,2482,1.487,2483,3.599,2484,3.599,2485,3.599,2486,1.487,2487,1.487,2488,1.487,2489,4.376,2490,2.656,2491,2.656,2492,2.656,2493,2.656,2494,1.487,2495,2.656,2496,1.487,2497,1.487,2498,2.656,2499,2.656,2500,2.656,2501,2.656,2502,1.487,2503,2.656,2504,1.487,2505,2.656,2506,1.487,2507,3.599,2508,1.487,2509,3.599,2510,2.656,2511,1.487,2512,1.487,2513,2.656,2514,2.656,2515,2.656,2516,1.487,2517,2.656,2518,2.656,2519,1.487,2520,1.487]],["component/42",[164,0.59]],["title/43-1",[16,10.096,17,8.321,18,4.755,97,17.582,102,24.151,103,15.492,104,17.381]],["name/43-1",[]],["text/43-1",[]],["component/43-1",[]],["title/43-2",[14,10.794,18,5.19,55,14.527,69,16.277,103,16.908,104,18.97]],["name/43-2",[]],["text/43-2",[]],["component/43-2",[]],["title/43-3",[14,10.794,18,5.19,21,17.244,69,16.277,103,16.908,104,18.97]],["name/43-3",[]],["text/43-3",[]],["component/43-3",[]],["title/43-4",[18,6.351,21,21.101,69,19.919,577,37.752]],["name/43-4",[]],["text/43-4",[]],["component/43-4",[]],["title/43-5",[14,10.794,18,5.19,66,15.285,69,16.277,103,16.908,104,18.97]],["name/43-5",[]],["text/43-5",[]],["component/43-5",[]],["title/43-6",[537,25.191,657,26.653]],["name/43-6",[]],["text/43-6",[]],["component/43-6",[]],["title/43-7",[546,15.183,549,21.987]],["name/43-7",[]],["text/43-7",[]],["component/43-7",[]],["title/43",[16,11.018,17,9.081,18,5.19,102,26.358,103,16.908,104,18.97]],["name/43",[18,0.201,457,1.238,762,1.096,1885,1.125]],["text/43",[3,0.472,4,0.314,6,0.857,7,0.935,13,0.543,14,2.598,15,1.07,16,1.997,17,1.646,18,1.337,21,3.806,23,0.633,25,1.639,32,1.231,34,2.365,36,0.789,44,1.829,49,1.252,50,0.568,51,0.589,53,1.008,55,2.901,59,1.896,65,0.701,66,2.77,67,3,68,1.032,69,4.067,71,1.246,97,3.942,98,2.557,99,1.765,102,4.89,103,3.203,104,3.664,109,0.955,115,0.658,129,1.532,148,0.543,150,0.361,156,2.188,167,0.903,168,1.702,191,1.71,194,0.727,200,0.605,202,4.902,207,0.973,214,1.149,217,2.775,218,1.878,221,2.316,223,1.369,235,2.964,247,3.678,254,0.568,276,0.828,282,0.875,287,0.638,294,1.698,308,0.828,311,0.638,315,4.519,333,1.259,338,0.532,341,1.592,375,0.701,379,1.903,387,2.873,398,0.903,411,0.701,424,0.727,434,0.808,437,0.727,440,0.44,445,1.032,456,1.018,457,2.332,475,1.149,510,1.345,512,0.973,525,0.714,526,0.575,528,2.804,532,3.774,534,0.789,546,0.282,547,1.878,557,1.008,558,1.544,571,0.555,577,0.903,595,0.756,625,1.231,644,0.444,645,0.444,646,2.202,647,0.444,648,0.444,649,0.444,650,0.444,651,0.444,652,0.444,664,0.756,688,0.808,711,1.252,723,0.727,731,1.548,732,0.613,735,2.27,744,1.544,762,6.29,763,1.466,776,0.701,800,0.63,835,1.812,912,0.727,918,1.488,958,0.678,963,0.5,983,0.875,995,4.642,1013,0.727,1027,0.965,1028,0.903,1036,0.808,1045,2.182,1050,1.074,1071,1.018,1072,0.727,1088,1.779,1095,1.698,1133,2.12,1138,1.829,1139,0.613,1140,1.884,1151,1.807,1154,0.875,1155,2.686,1178,0.727,1213,1.589,1254,1.949,1265,5.607,1270,2.332,1271,2.425,1272,2.865,1274,1.466,1275,0.828,1372,0.875,1419,1.149,1446,0.828,1463,0.973,1483,1.074,1512,0.903,1517,1.149,1522,0.935,1524,1.074,1551,1.149,1560,2.086,1561,1.884,1594,3.6,1669,0.903,1684,0.772,1720,1.074,1762,0.85,1765,1.64,1784,0.727,1834,1.074,1862,2.12,1970,0.973,1971,1.149,1977,1.149,2020,1.149,2022,2.332,2046,0.903,2167,1.149,2196,0.973,2202,1.149,2521,2.294,2522,3.291,2523,1.263,2524,1.949,2525,1.074,2526,1.263,2527,1.263,2528,2.294,2529,1.263,2530,1.263,2531,0.935,2532,1.149,2533,1.149,2534,1.263,2535,3.15,2536,1.263,2537,1.263,2538,1.263,2539,1.263,2540,1.263,2541,1.263,2542,1.263,2543,2.294,2544,3.872,2545,1.149,2546,1.074,2547,4.44,2548,2.789,2549,1.263,2550,1.263,2551,1.263,2552,1.263,2553,1.263,2554,1.263,2555,1.074,2556,1.263,2557,2.294,2558,1.263,2559,1.263,2560,0.973,2561,1.263]],["component/43",[164,0.59]],["title/44",[]],["name/44",[3,1.639]],["text/44",[]],["component/44",[164,0.59]],["title/45",[]],["name/45",[150,0.603,1291,1.79,2562,2.106]],["text/45",[]],["component/45",[164,0.59]],["title/46-1",[149,41.189,151,38.964,1885,40.018]],["name/46-1",[]],["text/46-1",[]],["component/46-1",[]],["title/46-2",[18,6.351,149,36.581,150,15.105,151,34.605]],["name/46-2",[]],["text/46-2",[]],["component/46-2",[]],["title/46-3",[8,18.154,18,5.19,59,16.277,149,29.894,150,12.344,151,28.279]],["name/46-3",[]],["text/46-3",[]],["component/46-3",[]],["title/46-4",[537,25.191,657,26.653]],["name/46-4",[]],["text/46-4",[]],["component/46-4",[]],["title/46-5",[546,15.183,549,21.987]],["name/46-5",[]],["text/46-5",[]],["component/46-5",[]],["title/46",[5,21.499,16,11.018,17,9.081,18,5.19,149,29.894,150,12.344]],["name/46",[5,0.833,61,0.719,149,1.158,151,1.096]],["text/46",[1,0.424,2,0.801,4,0.853,5,0.992,6,0.405,8,0.838,10,0.623,14,1.777,15,0.505,16,1.025,17,1.396,18,1.184,23,1.373,26,0.801,34,0.408,39,0.539,44,0.511,47,1.905,49,1.873,52,0.676,53,3.644,55,0.931,56,0.487,58,4.71,59,0.408,61,0.856,65,1.105,67,2.227,71,0.788,72,1.052,76,1.722,80,1.444,81,4.249,82,1.461,87,0.532,90,1.372,93,2.401,99,1.409,109,0.451,112,1.191,116,0.709,117,3.03,118,0.547,123,0.801,124,0.801,129,0.428,137,2.06,146,0.539,149,6.263,150,2.677,151,4.793,154,1.168,161,0.623,162,0.676,168,0.476,174,0.941,181,1.273,191,3.768,198,0.525,200,0.953,209,2.555,218,0.744,221,0.648,233,3.134,235,1.271,241,0.601,242,0.581,245,0.709,249,6.032,253,1.812,259,0.709,267,0.709,275,1.021,276,0.709,288,1.125,292,2.249,299,0.92,313,0.481,338,0.455,341,1.006,363,0.774,365,0.518,373,1.34,379,3.935,387,0.751,390,0.623,424,1.146,427,0.601,437,1.975,440,0.377,451,1.34,483,4.17,525,1.562,542,0.676,545,0.661,546,0.242,554,0.451,556,1.128,557,0.476,560,0.692,605,1.535,607,2.413,611,1.509,644,0.38,645,0.38,646,1.747,647,0.38,648,0.38,649,0.38,650,0.38,651,0.38,652,0.38,662,0.547,664,1.191,669,3.976,670,0.75,672,3.689,677,1.654,680,3.65,683,0.92,684,0.872,685,0.92,692,0.75,696,4.549,697,1.977,699,0.92,706,0.833,707,1.069,709,1.424,713,1.006,717,2.047,723,0.623,731,2.223,735,0.765,758,0.75,761,0.661,774,0.872,785,1.273,813,0.92,820,0.692,822,0.623,826,1.768,828,0.872,829,3.643,831,2.541,851,0.709,912,1.591,918,0.941,933,0.581,940,5.787,947,2.765,948,0.709,950,1.359,955,5.886,958,1.485,961,1.168,962,0.635,963,0.788,978,0.872,1010,0.75,1013,1.591,1021,2.842,1029,1.604,1030,1.654,1037,0.692,1044,2.68,1072,1.146,1081,0.92,1088,1.125,1089,3.122,1090,0.635,1099,0.872,1110,3.134,1136,0.648,1139,0.525,1140,0.648,1176,1.168,1178,1.146,1198,0.801,1243,1.811,1273,3.845,1300,0.984,1348,0.92,1352,0.833,1372,2.378,1392,0.984,1463,0.833,1500,6.38,1589,0.661,1606,0.984,1684,4.586,1696,1.811,1816,0.833,1849,0.92,2043,0.984,2062,4.71,2106,4.892,2300,3.122,2306,0.984,2460,4.525,2563,6.067,2564,1.991,2565,1.991,2566,1.082,2567,1.082,2568,4.524,2569,1.082,2570,1.082,2571,2.765,2572,8.152,2573,1.082,2574,1.082,2575,2.515,2576,1.082,2577,1.082,2578,1.082,2579,0.774,2580,1.082,2581,1.082,2582,1.082,2583,1.082,2584,1.082,2585,1.082,2586,1.082,2587,1.082,2588,1.082,2589,1.082,2590,1.082,2591,2.765,2592,1.082,2593,1.991,2594,1.991,2595,1.082,2596,2.765,2597,1.082,2598,1.082,2599,1.082,2600,1.082,2601,1.082,2602,1.082,2603,1.082,2604,1.082,2605,1.082,2606,1.082,2607,1.991,2608,1.991,2609,1.991,2610,1.991,2611,6.363,2612,7.314,2613,7.314,2614,7.314,2615,7.314,2616,1.082,2617,1.082,2618,1.082,2619,1.082,2620,1.082,2621,1.991,2622,1.991,2623,5.379,2624,1.082,2625,1.082,2626,1.082,2627,1.082,2628,1.082,2629,1.991,2630,1.082,2631,1.082,2632,1.082,2633,1.082,2634,1.082,2635,1.082,2636,1.082,2637,1.082,2638,1.082,2639,1.082,2640,1.082,2641,3.432,2642,1.991,2643,1.082,2644,1.082,2645,2.765,2646,1.082,2647,2.765,2648,1.082,2649,1.991,2650,1.082,2651,1.991,2652,1.991,2653,2.765,2654,1.082,2655,1.082,2656,1.082,2657,1.082,2658,1.082,2659,1.082,2660,1.082,2661,1.991,2662,1.991,2663,1.991,2664,1.991,2665,1.991,2666,1.991,2667,1.991,2668,1.991,2669,1.991,2670,1.991,2671,1.082,2672,1.082,2673,1.082,2674,1.082,2675,1.082,2676,1.991,2677,1.082,2678,1.082,2679,1.082,2680,1.082,2681,1.082,2682,1.082,2683,1.082,2684,1.082,2685,1.082,2686,1.082,2687,1.082,2688,1.082,2689,1.082]],["component/46",[164,0.59]],["title/47-1",[18,8.181,118,34.372]],["name/47-1",[]],["text/47-1",[]],["component/47-1",[]],["title/47-2",[18,8.181,924,42.478]],["name/47-2",[]],["text/47-2",[]],["component/47-2",[]],["title/47-3",[6,25.423,18,8.181]],["name/47-3",[]],["text/47-3",[]],["component/47-3",[]],["title/47-4",[59,25.659,150,19.458]],["name/47-4",[]],["text/47-4",[]],["component/47-4",[]],["title/47-5",[66,24.096,143,42.478]],["name/47-5",[]],["text/47-5",[]],["component/47-5",[]],["title/47-6",[4,14.771,66,21.061,160,37.128]],["name/47-6",[]],["text/47-6",[]],["component/47-6",[]],["title/47-7",[18,6.351,66,18.705,95,28.349,925,39.09]],["name/47-7",[]],["text/47-7",[]],["component/47-7",[]],["title/47-8",[18,7.15,55,20.016,63,24.494]],["name/47-8",[]],["text/47-8",[]],["component/47-8",[]],["title/47-9",[14,14.872,101,34.863,925,44.013]],["name/47-9",[]],["text/47-9",[]],["component/47-9",[]],["title/47-10",[14,14.872,39,29.622,43,30.94]],["name/47-10",[]],["text/47-10",[]],["component/47-10",[]],["title/47-11",[537,25.191,657,26.653]],["name/47-11",[]],["text/47-11",[]],["component/47-11",[]],["title/47-12",[546,15.183,549,21.987]],["name/47-12",[]],["text/47-12",[]],["component/47-12",[]],["title/47",[16,12.127,17,9.995,18,5.712,95,25.497,150,13.585]],["name/47",[95,1.131,150,0.603,925,1.559]],["text/47",[0,2.336,4,2.149,6,3.454,8,1.643,10,0.948,13,0.708,14,1.606,15,0.768,16,0.421,17,0.822,18,1.259,21,1.561,23,1.077,26,2.153,30,1.029,32,0.884,33,0.809,34,0.621,39,1.449,43,1.514,53,3.633,55,3.286,57,0.857,59,1.778,63,3.094,66,2.275,67,1.433,68,0.741,84,2.245,85,0.679,90,1.884,93,2.129,95,5.406,97,0.732,101,2.764,103,2.516,106,1.973,110,2.792,112,3.555,115,0.857,117,3.245,118,3.453,132,3.504,143,4.01,148,1.679,150,2.148,160,4.268,161,0.948,168,0.724,191,3.749,202,0.809,218,1.46,235,1.077,245,1.079,247,1.309,254,2.121,261,0.93,263,0.948,271,2.937,275,2.002,287,0.832,288,0.93,306,2.542,311,1.973,313,0.732,315,2.256,338,1.983,360,1.053,363,1.178,365,1.869,379,0.809,387,1.097,411,0.914,424,2.712,427,1.614,440,0.573,445,1.309,510,2.764,511,1.74,521,1.268,531,0.966,543,0.914,546,0.368,547,0.799,554,0.686,556,2.618,583,0.821,595,0.985,601,0.966,605,1.614,607,1.41,610,2.792,611,3.243,617,1.327,625,2.531,631,1.141,644,0.578,645,0.578,646,1.021,647,0.578,648,0.578,649,0.578,650,0.578,651,0.578,652,0.578,672,1.429,713,1.973,724,3.146,731,0.809,735,2.627,743,2.079,762,1.079,763,1.053,764,1.178,765,1.079,768,1.219,770,1.109,784,1.587,785,2.497,796,0.884,800,1.946,805,0.966,851,2.56,855,1.178,888,1.079,924,4.01,925,6.641,933,0.884,946,0.844,947,1.327,950,1.919,958,1.561,959,4.287,961,2.764,962,1.705,963,0.652,966,6.383,969,3.847,976,3.552,986,1.327,988,1.498,990,1.498,999,1.498,1005,1.498,1009,2.645,1013,0.948,1022,1.109,1028,1.178,1044,2.681,1047,1.178,1065,2.56,1072,3.096,1076,2.56,1085,1.029,1133,1.109,1153,2.629,1176,3.156,1178,3.419,1179,2.336,1242,2.891,1269,1.141,1270,2.153,1275,3.089,1276,3.089,1286,1.498,1335,2.472,1386,2.645,1387,1.4,1388,2.706,1441,1.4,1514,1.327,1684,1.777,1697,1.4,1741,1.178,1824,2.645,1862,1.958,1975,1.219,2093,1.053,2211,1.4,2316,1.498,2532,1.498,2547,1.109,2548,0.914,2690,1.498,2691,1.647,2692,1.647,2693,1.647,2694,2.908,2695,1.647,2696,1.647,2697,1.647,2698,1.647,2699,1.647,2700,1.647,2701,1.647,2702,1.647,2703,1.647,2704,2.908,2705,1.647,2706,1.647,2707,1.327,2708,1.647,2709,1.647,2710,2.908,2711,1.647,2712,1.647,2713,1.647,2714,1.498,2715,1.498,2716,5.943,2717,1.647,2718,1.647,2719,1.647,2720,1.268,2721,2.908,2722,1.647,2723,2.908,2724,1.647,2725,1.647,2726,1.647,2727,1.647,2728,1.647]],["component/47",[164,0.59]],["title/48-1",[21,27.183,2729,50.355]],["name/48-1",[]],["text/48-1",[]],["component/48-1",[]],["title/48-2",[21,21.101,55,17.777,655,30.963,842,44.878]],["name/48-2",[]],["text/48-2",[]],["component/48-2",[]],["title/48-3",[55,15.988,122,26.36,235,17.588,1501,31.966,2548,26.36]],["name/48-3",[]],["text/48-3",[]],["component/48-3",[]],["title/48-4",[16,7.562,17,6.233,18,5.752,21,11.835,84,9.728,180,12.594,267,19.408,1501,19.933,2548,16.438,2730,26.935]],["name/48-4",[]],["text/48-4",[]],["component/48-4",[]],["title/48-5",[18,6.351,21,21.101,23,14.567,66,18.705]],["name/48-5",[]],["text/48-5",[]],["component/48-5",[]],["title/48-6",[18,6.351,23,14.567,59,19.919,311,26.682]],["name/48-6",[]],["text/48-6",[]],["component/48-6",[]],["title/48-7",[537,25.191,657,26.653]],["name/48-7",[]],["text/48-7",[]],["component/48-7",[]],["title/48-8",[546,15.183,549,21.987]],["name/48-8",[]],["text/48-8",[]],["component/48-8",[]],["title/48",[18,6.351,21,21.101,66,18.705,180,22.456]],["name/48",[18,0.253,21,0.842,66,0.746]],["text/48",[4,1.515,8,1.015,14,1.525,16,2.604,17,1.943,18,1.307,19,1.443,21,2.713,23,1.873,25,1.255,33,1.985,41,1.725,46,1.581,47,1.339,52,2.523,55,3.108,56,2.743,59,1.966,61,1.037,66,2.16,67,1.483,71,0.954,72,1.275,84,1.712,90,2.083,93,1.599,94,1.202,97,2.318,122,2.893,138,1.098,146,1.202,148,2.241,150,1.156,162,1.506,168,1.06,169,1.154,180,3.925,181,1.542,191,2.97,198,1.17,199,1.542,202,1.185,234,1.414,235,1.93,247,1.085,258,2.719,264,1.857,265,2.799,267,2.648,271,3.327,275,1.237,302,1.363,306,1.14,311,3.081,314,3.611,315,1.933,333,1.614,338,1.015,344,2.719,387,1.524,427,1.339,440,0.84,510,3.575,517,1.943,523,2.799,526,1.839,531,1.414,532,3.332,537,2.72,545,2.468,546,1.163,556,0.984,607,1.959,612,1.414,623,1.786,625,1.295,644,1.83,645,0.847,646,0.847,647,1.419,648,0.847,649,0.847,650,0.847,651,0.847,652,0.847,654,2.369,655,4.306,664,4.061,707,1.295,711,1.316,713,1.219,735,1.553,739,1.671,761,1.473,771,4.706,776,1.339,784,1.316,824,1.414,835,1.388,846,1.473,868,1.506,884,1.443,933,1.295,955,2.582,963,0.954,1021,1.275,1024,1.542,1027,1.015,1032,1.671,1072,1.388,1088,1.363,1151,1.125,1153,1.624,1176,2.369,1178,2.324,1179,1.443,1275,5.754,1276,3.416,1288,1.624,1344,2.05,1374,2.194,1443,2.991,1483,2.05,1501,4.943,1512,5.848,1594,5.361,1629,1.786,1657,1.725,1684,1.473,1697,2.05,1809,3.11,1843,4.514,1846,2.194,1855,2.05,1857,1.943,1862,2.719,2011,2.194,2226,1.786,2227,1.725,2546,2.05,2547,1.624,2548,4.719,2560,1.857,2731,2.412,2732,4.04,2733,2.412,2734,2.412,2735,2.412,2736,1.943,2737,2.412,2738,2.412,2739,5.769,2740,4.04,2741,4.43,2742,4.04,2743,2.412,2744,2.412,2745,2.412,2746,2.412,2747,3.674,2748,2.194,2749,3.674,2750,2.412,2751,2.412,2752,3.254,2753,2.412,2754,2.194,2755,1.857,2756,2.194,2757,2.412,2758,2.412,2759,1.943,2760,2.412,2761,2.412,2762,2.412,2763,2.412,2764,2.412]],["component/48",[164,0.59]],["title/49-1",[18,7.15,84,19.53,1530,37.128]],["name/49-1",[]],["text/49-1",[]],["component/49-1",[]],["title/49-2",[85,28.024,395,52.368]],["name/49-2",[]],["text/49-2",[]],["component/49-2",[]],["title/49-3",[537,25.191,657,26.653]],["name/49-3",[]],["text/49-3",[]],["component/49-3",[]],["title/49-4",[546,15.183,549,21.987]],["name/49-4",[]],["text/49-4",[]],["component/49-4",[]],["title/49",[4,14.771,18,7.15,84,19.53]],["name/49",[18,0.342,84,0.935]],["text/49",[4,2.054,14,1.861,16,2.111,17,1.74,18,1.318,21,1.649,23,1.709,49,2.252,53,1.814,55,1.389,61,1.774,66,2.195,80,1.736,84,3.261,85,4.384,93,1.633,96,2.085,99,2.612,100,2.374,129,1.633,146,3.706,148,1.774,150,2.128,156,2.331,180,4.104,191,2.359,215,6.659,218,1.542,223,3.234,247,1.857,253,2.705,254,1.857,258,2.778,261,2.331,278,2.374,287,3.131,374,3.324,387,3.119,395,4.77,401,2.577,434,2.638,440,1.437,513,2.778,521,3.177,523,2.859,526,1.879,527,3.055,529,3.274,545,2.521,546,1.383,550,3.565,554,1.718,557,2.724,558,2.778,571,1.814,575,2.42,594,3.785,642,2.859,644,1.449,645,1.449,646,1.449,647,1.449,648,1.449,649,1.449,650,1.449,651,1.449,652,1.449,655,2.42,771,4.757,809,2.778,817,2.469,868,2.577,884,2.469,922,2.42,963,2.452,1027,2.607,1037,2.638,1120,3.324,1133,2.778,1202,2.705,1275,4.06,1284,2.951,1530,4.645,1690,2.859,1698,3.055,1727,3.177,2196,3.177,2260,3.753,2752,3.324,2765,7.52,2766,3.753,2767,4.127,2768,4.127,2769,4.127,2770,4.127,2771,4.127,2772,4.127,2773,4.127,2774,4.127]],["component/49",[164,0.59]],["title/50-1",[261,33.586,526,27.068,2775,59.452]],["name/50-1",[]],["text/50-1",[]],["component/50-1",[]],["title/50-2",[4,13.119,18,6.351,66,18.705,168,23.214]],["name/50-2",[]],["text/50-2",[]],["component/50-2",[]],["title/50-3",[18,6.351,23,14.567,59,19.919,311,26.682]],["name/50-3",[]],["text/50-3",[]],["component/50-3",[]],["title/50-4",[18,7.15,23,16.402,407,38.964]],["name/50-4",[]],["text/50-4",[]],["component/50-4",[]],["title/50-5",[4,14.771,9,44.013,18,7.15]],["name/50-5",[]],["text/50-5",[]],["component/50-5",[]],["title/50-6",[9,50.355,344,45.784]],["name/50-6",[]],["text/50-6",[]],["component/50-6",[]],["title/50-7",[259,38.964,292,38.964,560,38.006]],["name/50-7",[]],["text/50-7",[]],["component/50-7",[]],["title/50-8",[13,29.244,169,32.55]],["name/50-8",[]],["text/50-8",[]],["component/50-8",[]],["title/50-9",[23,16.402,84,19.53,1098,44.013]],["name/50-9",[]],["text/50-9",[]],["component/50-9",[]],["title/50-10",[18,7.15,90,23.759,1098,44.013]],["name/50-10",[]],["text/50-10",[]],["component/50-10",[]],["title/50-11",[537,25.191,657,26.653]],["name/50-11",[]],["text/50-11",[]],["component/50-11",[]],["title/50-12",[546,15.183,549,21.987]],["name/50-12",[]],["text/50-12",[]],["component/50-12",[]],["title/50",[4,13.119,18,6.351,180,22.456,526,24.04]],["name/50",[18,0.342,526,1.296]],["text/50",[1,1.922,4,1.355,8,0.603,9,1.061,10,0.825,14,1.955,15,0.669,16,2.05,17,1.802,18,1.322,21,1.702,23,2.215,25,1.338,30,2.66,33,0.705,34,0.97,36,1.606,39,0.714,41,1.025,45,1.104,46,0.94,47,0.796,51,0.669,53,1.873,55,1.434,56,1.572,59,1.85,63,0.591,66,2.844,67,2.002,68,0.645,70,0.858,71,0.567,72,0.758,76,0.546,77,0.841,80,1.082,81,1.792,84,1.399,85,1.755,87,0.705,90,2.926,91,1.427,94,2.123,96,2.153,97,0.638,100,2.451,101,3.199,115,1.338,117,1.411,137,1.591,138,0.653,146,2.718,148,2.345,150,2.012,151,0.94,157,2.234,167,1.025,168,2.156,169,2.347,174,0.677,180,4.044,186,0.94,191,3.371,192,0.686,195,1.219,200,2.039,209,0.81,215,3.431,218,2.039,221,2.091,236,1.219,239,1.717,241,0.796,242,0.77,254,1.157,258,2.352,259,0.94,261,2.407,263,3.412,267,0.94,268,0.841,271,2.677,272,3.292,275,1.318,287,1.299,301,0.714,306,1.215,311,2.153,313,1.143,314,1.781,315,2.347,329,1.219,338,1.082,346,1.061,348,0.735,352,1.061,384,1.155,387,2.86,395,1.104,401,0.895,403,3.776,407,1.685,424,0.825,425,0.965,427,0.796,437,2.011,440,0.499,490,3.703,509,1.304,510,0.841,521,1.104,523,2.421,526,3.202,527,1.903,528,0.895,531,0.841,533,2.587,537,0.952,538,1.219,539,1.219,542,0.895,543,2.722,545,2.135,546,1.324,547,0.695,549,0.463,554,1.455,556,2.224,575,0.841,583,1.281,585,1.685,595,0.858,610,1.025,623,1.061,644,0.504,645,0.504,646,1.496,647,1.496,648,0.504,649,0.504,650,0.903,651,0.504,652,0.504,655,0.841,664,2.934,672,0.705,674,0.895,676,2.691,688,0.917,704,0.858,707,0.77,709,1.025,717,1.061,723,2.451,729,1.155,732,1.247,735,2.439,761,0.876,763,0.917,765,1.685,771,4.832,784,0.782,786,1.304,809,0.965,813,1.219,822,1.479,824,0.841,835,0.825,862,1.304,884,2.548,906,1.643,913,0.965,918,0.677,924,0.895,930,1.061,933,1.876,948,1.685,955,1.643,960,0.965,961,2.498,963,1.017,986,1.155,1010,1.781,1024,1.643,1027,0.603,1032,0.993,1033,1.219,1036,1.643,1037,0.917,1038,1.304,1039,1.219,1041,1.155,1042,3.179,1043,2.338,1044,0.714,1045,0.993,1065,0.94,1087,1.155,1090,1.508,1098,1.903,1114,1.061,1140,0.858,1151,0.669,1153,2.352,1176,0.841,1202,0.94,1204,1.304,1207,1.304,1234,1.155,1275,4.798,1276,3.214,1284,1.025,1288,2.352,1323,1.219,1332,1.838,1348,1.219,1360,1.104,1512,4.536,1530,2.182,1556,1.025,1679,1.219,1690,0.993,1698,1.061,1970,1.104,2093,0.917,2222,1.219,2319,2.338,2350,1.304,2456,1.304,2546,1.219,2720,1.104,2736,2.071,2741,2.185,2749,1.304,2752,3.431,2754,1.304,2755,1.104,2756,1.304,2759,1.155,2765,2.338,2766,1.304,2776,1.434,2777,1.434,2778,1.434,2779,1.434,2780,1.434,2781,1.434,2782,1.434,2783,3.495,2784,2.571,2785,2.571,2786,2.571,2787,3.495,2788,1.434,2789,1.434,2790,2.571,2791,1.434,2792,1.434,2793,1.434,2794,1.304,2795,2.571,2796,1.434,2797,1.434,2798,2.571,2799,1.434,2800,1.434,2801,3.495,2802,1.434,2803,1.434,2804,1.434,2805,0.917,2806,2.571,2807,1.434,2808,1.434,2809,1.434,2810,1.434,2811,1.434,2812,1.304,2813,1.304,2814,1.304,2815,2.571,2816,1.434,2817,1.434,2818,1.155,2819,1.434,2820,1.434,2821,1.025,2822,1.304,2823,1.304,2824,1.304,2825,1.434,2826,1.304,2827,2.571,2828,1.155,2829,1.434,2830,1.434]],["component/50",[164,0.59]],["title/51-1",[63,24.494,531,34.863,2729,44.013]],["name/51-1",[]],["text/51-1",[]],["component/51-1",[]],["title/51-2",[16,12.127,17,9.995,18,5.712,97,21.119,180,20.197]],["name/51-2",[]],["text/51-2",[]],["component/51-2",[]],["title/51-3",[180,28.927,2831,61.865]],["name/51-3",[]],["text/51-3",[]],["component/51-3",[]],["title/51-4",[537,25.191,657,26.653]],["name/51-4",[]],["text/51-4",[]],["component/51-4",[]],["title/51-5",[546,15.183,549,21.987]],["name/51-5",[]],["text/51-5",[]],["component/51-5",[]],["title/51",[16,12.127,17,9.995,18,5.712,97,21.119,180,20.197]],["name/51",[17,0.443,97,0.937,180,0.896]],["text/51",[0,1.417,1,2.362,2,1.754,3,0.885,4,0.589,8,0.997,14,1.82,16,2.567,17,2.192,18,1.147,19,1.417,21,0.947,23,0.654,25,2.071,30,2.485,33,1.956,34,0.894,44,1.119,55,2.262,56,1.066,57,2.071,59,3.185,61,1.019,63,3.186,65,4.505,66,1.823,67,2.466,68,1.79,90,1.59,97,3.879,115,1.233,148,2.592,150,1.138,158,1.363,162,4.196,168,2.262,180,4.542,191,1.515,196,2.011,198,1.149,202,1.956,223,1.03,246,2.014,258,1.595,272,1.315,301,3.853,306,1.119,311,2.011,314,3.564,315,3.216,327,3.619,375,1.315,387,1.501,401,1.479,407,1.553,424,2.289,425,1.595,437,1.363,440,0.825,445,1.066,472,4.679,510,3.017,513,1.595,523,1.641,526,1.812,529,3.185,531,4.76,537,1.474,545,2.431,546,0.888,612,1.389,614,2.155,637,2.155,644,0.832,645,0.832,646,0.832,647,0.832,648,0.832,649,0.832,650,0.832,651,0.832,652,0.832,655,3.94,661,1.694,664,3.078,696,3.678,732,1.149,761,1.447,764,1.694,790,1.595,800,1.18,835,2.289,884,2.38,913,1.595,946,1.215,950,1.164,955,2.544,963,0.937,1010,1.641,1037,1.514,1047,1.694,1084,2.014,1088,2.906,1090,2.333,1110,2.757,1150,2.155,1151,1.856,1153,1.595,1218,4.855,1274,1.514,1275,5.716,1276,3.372,1414,1.908,1512,3.678,1536,1.641,1594,2.608,1690,1.641,1884,2.155,2352,4.679,2436,1.908,2522,5.123,2548,2.856,2715,2.155,2729,1.754,2736,3.205,2739,2.014,2741,4.373,2759,1.908,2812,7.383,2818,1.908,2822,5.482,2831,4.679,2832,2.369,2833,2.369,2834,2.369,2835,2.369,2836,2.155,2837,2.369,2838,6.028,2839,2.369,2840,3.979,2841,2.369,2842,2.369,2843,2.155,2844,2.369,2845,2.369,2846,2.369,2847,6.028,2848,3.979,2849,5.145,2850,5.145,2851,2.369,2852,2.369,2853,2.369,2854,2.369,2855,2.369,2856,2.369,2857,3.979,2858,2.369,2859,2.369,2860,2.369,2861,5.145,2862,2.369,2863,2.369,2864,2.155,2865,2.369,2866,2.369,2867,2.369,2868,1.908,2869,2.369,2870,2.369,2871,2.369,2872,2.369,2873,2.369,2874,2.369]],["component/51",[164,0.59]],["title/52-1",[13,29.244,169,32.55]],["name/52-1",[]],["text/52-1",[]],["component/52-1",[]],["title/52-2",[13,29.244,169,32.55]],["name/52-2",[]],["text/52-2",[]],["component/52-2",[]],["title/52-3",[523,55.058]],["name/52-3",[]],["text/52-3",[]],["component/52-3",[]],["title/52-4",[70,31.587,71,20.894,371,44.878,2875,48.025]],["name/52-4",[]],["text/52-4",[]],["component/52-4",[]],["title/52-5",[18,7.15,261,33.586,2093,38.006]],["name/52-5",[]],["text/52-5",[]],["component/52-5",[]],["title/52-6",[12,29.57,103,26.653]],["name/52-6",[]],["text/52-6",[]],["component/52-6",[]],["title/52",[16,9.315,17,7.678,18,4.387,180,15.514,258,24.555,523,25.273,545,22.284,546,8.143]],["name/52",[545,1.739,546,0.635]],["text/52",[6,3.498,8,1.983,12,2.97,13,3.456,16,1.203,17,1.692,18,1.211,21,1.883,23,1.3,25,3.556,39,2.348,43,2.452,49,2.572,51,2.198,52,2.943,56,3.074,65,2.616,66,1.669,67,1.729,70,2.819,71,1.865,72,2.49,76,3.564,77,2.763,78,2.49,80,1.983,82,2.49,84,2.64,91,2.616,100,2.711,103,3.455,109,1.962,117,2.758,129,1.865,136,2.878,139,3.369,148,2.026,152,3.012,153,2.943,169,3.27,174,4.165,177,3.369,180,3.418,196,3.453,202,2.316,218,1.761,223,2.048,234,2.763,235,1.745,241,2.616,242,2.53,246,4.005,257,2.381,261,4.541,264,3.628,270,6.214,287,2.381,292,4.478,301,2.348,338,1.983,346,3.488,361,4.286,371,4.005,445,2.12,518,2.819,526,3.111,529,2.49,531,2.763,535,3.088,546,1.052,571,2.072,672,2.316,676,3.628,729,3.795,732,2.285,765,3.088,796,2.53,906,3.012,918,2.226,924,2.943,933,2.53,961,2.763,1025,4.005,1031,3.369,1041,3.795,1153,3.172,1216,3.488,1360,5.26,1648,4.005,2093,3.012,2453,4.286,2548,2.616,2826,4.286,2875,4.286,2876,4.712,2877,4.712,2878,4.712,2879,4.286,2880,4.286,2881,4.712,2882,4.712,2883,4.712,2884,4.712]],["component/52",[164,0.59]],["title/53-1",[247,30.603,272,37.756]],["name/53-1",[]],["text/53-1",[]],["component/53-1",[]],["title/53-2",[261,33.586,526,27.068,543,33]],["name/53-2",[]],["text/53-2",[]],["component/53-2",[]],["title/53-3",[261,33.586,543,33,2093,38.006]],["name/53-3",[]],["text/53-3",[]],["component/53-3",[]],["title/53-4",[537,25.191,657,26.653]],["name/53-4",[]],["text/53-4",[]],["component/53-4",[]],["title/53-5",[546,15.183,549,21.987]],["name/53-5",[]],["text/53-5",[]],["component/53-5",[]],["title/53",[4,11.799,18,5.712,272,26.36,542,29.658,543,26.36]],["name/53",[18,0.253,272,1.169,543,1.169]],["text/53",[1,0.975,4,1.324,9,3.07,12,1.082,14,0.623,15,1.161,16,1.059,17,0.873,18,1.337,21,3.312,25,3.236,30,3.329,34,2.814,50,1.12,52,1.554,59,3.993,63,1.025,66,3.522,67,1.522,72,2.191,85,1.708,103,0.975,113,1.161,117,2.152,136,1.52,148,1.07,168,1.094,180,3.66,186,1.631,200,3.57,202,2.62,233,2.873,235,0.922,239,3.666,247,1.866,258,1.675,259,2.718,261,3.513,263,1.432,267,2.718,268,1.459,272,4.777,287,2.095,292,1.631,311,3.77,313,1.107,314,5.742,353,2.005,365,1.191,379,1.223,395,1.916,440,0.867,510,1.459,513,1.675,523,1.724,526,3.145,528,1.554,529,4.817,537,0.922,542,1.554,543,5.698,545,1.52,546,0.926,547,1.207,550,3.974,554,1.036,555,3.72,560,1.591,575,5.466,583,2.656,611,3.393,625,2.226,644,0.874,645,0.874,646,0.874,647,0.874,648,0.874,649,0.874,650,0.874,651,0.874,652,0.874,664,4.463,669,4.889,730,3.193,732,2.011,765,2.718,800,2.066,842,2.115,868,1.554,884,3.189,917,2.005,951,3.408,955,1.591,960,1.675,961,2.432,962,1.459,963,1.641,1027,1.047,1078,5.285,1084,3.525,1087,3.34,1098,1.842,1115,3.525,1120,6.009,1148,3.193,1418,1.842,1446,1.631,1561,2.481,1562,3.525,1684,1.52,1698,3.07,1762,4.65,1970,3.193,2093,2.651,2211,2.115,2739,2.115,2752,3.34,2794,4.848,2813,2.264,2814,3.772,2864,2.264,2885,6.218,2886,2.489,2887,2.489,2888,4.147,2889,2.489,2890,2.489,2891,2.489,2892,4.147,2893,4.147,2894,4.147,2895,2.489,2896,2.489,2897,2.489,2898,2.489,2899,2.489,2900,2.264,2901,2.489,2902,2.489,2903,2.489,2904,2.489]],["component/53",[164,0.59]],["title/54-1",[14,14.872,23,16.402,150,17.007]],["name/54-1",[]],["text/54-1",[]],["component/54-1",[]],["title/54-2",[18,7.15,21,23.759,23,16.402]],["name/54-2",[]],["text/54-2",[]],["component/54-2",[]],["title/54-3",[14,10.794,18,5.19,21,17.244,22,28.279,23,11.904,202,21.205]],["name/54-3",[]],["text/54-3",[]],["component/54-3",[]],["title/54-4",[8,25.014,18,7.15,202,29.217]],["name/54-4",[]],["text/54-4",[]],["component/54-4",[]],["title/54-5",[537,25.191,657,26.653]],["name/54-5",[]],["text/54-5",[]],["component/54-5",[]],["title/54-6",[546,15.183,549,21.987]],["name/54-6",[]],["text/54-6",[]],["component/54-6",[]],["title/54",[14,10.794,18,5.19,21,17.244,99,15.153,104,18.97,202,21.205]],["name/54",[18,0.167,21,0.554,99,0.487,104,0.609,202,0.681]],["text/54",[0,0.925,1,2.24,3,1.683,4,0.683,8,0.65,14,2.158,15,1.282,16,1.688,17,1.648,18,1.25,21,3.874,22,5.654,23,2.464,34,2.337,44,1.299,50,0.695,51,1.732,53,1.632,55,2.347,59,1.698,61,0.664,66,1.315,67,2.425,68,1.237,69,2.337,71,0.612,73,1.071,84,0.508,85,2.552,93,1.469,94,0.77,97,3.676,98,2.973,99,3.737,104,3.543,112,0.925,119,2.75,129,1.781,137,0.704,148,1.182,150,2.419,154,0.906,191,3.499,192,1.316,199,0.988,202,4.843,218,0.578,223,1.614,235,3.132,238,1.314,257,1.876,261,3.23,264,1.19,267,1.013,268,0.906,275,0.792,278,0.889,301,1.37,315,3.163,333,2.062,338,1.157,359,3.333,366,2.654,375,0.858,387,1.698,411,2.864,440,0.538,445,1.237,510,0.906,527,1.144,531,1.612,546,0.345,557,1.632,558,1.04,575,0.906,583,2.243,607,0.749,622,1.314,644,0.543,645,0.543,646,2.448,647,0.543,648,0.543,649,0.543,650,0.543,651,0.543,652,0.543,655,0.906,669,1.802,689,1.144,690,1.19,705,1.013,709,1.105,713,0.781,723,1.582,725,2.417,731,1.825,735,2.381,763,1.757,771,4.756,776,0.858,794,0.944,835,0.889,880,2.499,912,1.582,918,1.299,933,1.993,950,0.76,963,0.612,995,1.144,1014,0.843,1024,1.757,1027,1.562,1032,1.904,1036,0.988,1047,1.105,1072,0.889,1088,2.097,1090,1.612,1136,1.644,1137,1.19,1138,2.438,1140,0.925,1151,2.1,1155,0.925,1176,0.906,1178,1.582,1179,0.925,1202,1.802,1265,5.925,1266,2.319,1274,0.988,1518,2.858,1519,2.214,1547,1.245,1550,1.245,1582,2.336,1587,1.314,1594,4.778,1601,1.406,1615,1.904,1657,1.105,1669,1.105,1684,0.944,1720,1.314,1762,1.85,1825,1.245,1827,1.314,2049,2.654,2050,1.406,2226,1.144,2227,1.965,2228,1.406,2373,2.5,2547,2.499,2548,2.864,2555,3.156,2730,1.406,2755,2.116,2843,1.406,2905,3.713,2906,1.545,2907,1.545,2908,1.545,2909,1.144,2910,4.156,2911,1.545,2912,7.991,2913,4.502,2914,1.545,2915,1.545,2916,1.545,2917,1.545,2918,1.545,2919,1.545,2920,3.156,2921,3.713,2922,2.99,2923,3.377,2924,1.545,2925,1.545,2926,1.314,2927,4.502,2928,3.626,2929,1.545,2930,1.314,2931,1.545,2932,1.545,2933,2.749,2934,3.377,2935,3.377,2936,1.406,2937,2.749,2938,2.749,2939,1.545,2940,1.545,2941,1.245,2942,1.545,2943,1.545,2944,1.545,2945,1.545,2946,1.545]],["component/54",[164,0.59]],["title/55",[]],["name/55",[18,0.201,21,0.668,202,0.822,2947,1.672]],["text/55",[]],["component/55",[164,0.59]],["title/56-1",[103,20.69,148,22.702,200,25.268,912,30.379]],["name/56-1",[]],["text/56-1",[]],["component/56-1",[]],["title/56-2",[18,6.351,23,14.567,66,18.705,148,22.702]],["name/56-2",[]],["text/56-2",[]],["component/56-2",[]],["title/56-3",[14,10.794,18,5.19,23,11.904,66,15.285,103,16.908,104,18.97]],["name/56-3",[]],["text/56-3",[]],["component/56-3",[]],["title/56-4",[14,10.794,18,5.19,23,11.904,66,15.285,104,18.97,148,18.552]],["name/56-4",[]],["text/56-4",[]],["component/56-4",[]],["title/56-5",[14,10.794,18,5.19,23,11.904,66,15.285,99,15.153,104,18.97]],["name/56-5",[]],["text/56-5",[]],["component/56-5",[]],["title/56-6",[546,15.183,549,21.987]],["name/56-6",[]],["text/56-6",[]],["component/56-6",[]],["title/56",[17,9.995,18,5.712,23,13.102,66,16.823,148,20.418]],["name/56",[66,1.008,148,1.224]],["text/56",[3,1.188,4,1.629,6,0.952,14,2.195,16,1.732,17,1.208,18,1.289,19,0.588,21,2.165,22,1.194,23,2.534,25,1.325,30,4.094,33,0.895,34,2.473,44,1.203,50,0.82,51,0.85,53,0.801,55,1.824,59,0.371,66,2.878,67,2.315,69,0.687,71,0.389,84,0.599,85,2.366,87,0.483,93,0.721,94,1.269,97,3.355,98,1.903,99,3.38,102,0.601,103,3.831,104,4.099,110,3.336,114,1.235,122,0.546,129,2.144,136,0.601,137,1.924,138,0.83,148,3.645,150,1.941,153,0.614,161,0.566,162,1.138,169,0.47,175,0.681,181,1.165,191,2.299,192,0.47,196,1.606,198,1.235,199,1.165,200,2.233,202,2.822,217,0.921,218,1.58,221,0.588,223,1.382,235,1.565,247,2.099,254,0.442,261,0.555,263,1.048,265,0.681,268,1.864,271,0.537,275,1.306,287,1.287,294,0.728,306,2.56,311,1.287,313,0.81,315,3.442,333,2.295,338,0.414,365,2.748,375,0.546,379,0.895,387,2.379,401,0.614,411,0.546,424,2.912,425,1.714,431,0.792,434,1.628,440,0.342,445,0.442,483,0.644,510,2.478,513,0.662,518,0.588,529,0.52,530,0.836,533,0.728,534,0.614,543,1.413,546,0.219,547,0.477,551,1.714,554,1.323,556,1.038,583,1.269,607,1.235,611,0.994,619,1.194,625,0.978,633,2.139,642,1.262,644,0.894,645,0.345,646,2.302,647,1.116,648,0.345,649,0.345,650,0.345,651,0.345,652,0.345,654,1.864,655,3.177,696,1.821,713,1.287,725,0.528,732,0.883,735,2.207,761,0.601,762,2.447,763,2.387,764,2.272,765,1.669,768,2.353,770,1.714,771,3.771,805,1.068,809,1.226,817,1.09,860,0.728,888,1.194,912,2.685,913,0.662,918,0.861,932,0.728,933,1.367,946,0.934,950,1.562,960,0.662,962,1.068,963,0.721,983,0.681,1012,0.681,1014,0.994,1015,0.588,1022,0.662,1024,1.628,1027,1.071,1030,0.588,1032,1.764,1036,5.11,1037,0.628,1044,0.49,1072,1.465,1088,1.438,1114,0.728,1136,0.588,1138,2.204,1151,1.742,1155,0.588,1166,1.113,1168,1.165,1176,1.493,1178,2.432,1179,1.523,1202,0.644,1242,1.349,1266,0.614,1267,1.468,1268,1.468,1270,0.728,1271,0.757,1274,3.235,1275,4.446,1276,0.644,1284,0.703,1288,1.226,1290,0.792,1296,0.728,1332,0.703,1352,1.403,1355,0.792,1449,0.728,1501,0.662,1512,0.703,1536,0.681,1561,0.588,1615,0.681,1657,1.821,1666,0.728,1673,0.644,1677,1.262,1684,1.113,1727,1.403,1728,1.226,1762,2.513,1769,1.669,1822,0.728,1842,1.468,1843,1.349,1881,0.836,1894,0.792,1959,0.662,1972,1.468,2022,0.728,2046,0.703,2062,0.728,2196,0.757,2226,1.885,2227,1.821,2547,1.714,2548,3.007,2555,0.836,2707,0.792,2747,1.657,2818,0.792,2828,1.468,2868,0.792,2879,1.657,2909,0.728,2910,2.56,2922,0.792,2923,0.894,2926,0.836,2928,1.468,2941,0.792,2948,0.894,2949,0.983,2950,5.061,2951,0.983,2952,0.983,2953,4.226,2954,1.822,2955,0.983,2956,0.983,2957,0.983,2958,0.983,2959,0.983,2960,0.983,2961,0.983,2962,0.983,2963,0.983,2964,0.983,2965,0.983,2966,1.822,2967,0.983,2968,0.983,2969,1.822,2970,0.894,2971,0.983,2972,0.983,2973,0.983,2974,1.403,2975,0.894,2976,0.894,2977,0.894,2978,0.894,2979,0.983,2980,0.983,2981,0.983,2982,0.983,2983,0.836,2984,0.836,2985,0.836,2986,0.836,2987,1.549,2988,0.836,2989,0.836,2990,0.836,2991,0.836,2992,0.836,2993,0.836,2994,0.836,2995,3.966,2996,3.966,2997,2.701,2998,0.836,2999,0.836,3000,2.164,3001,2.164,3002,2.164,3003,2.164,3004,2.164,3005,2.164,3006,2.164,3007,2.164,3008,0.836,3009,2.164,3010,0.836,3011,0.894,3012,0.836,3013,1.468,3014,0.836,3015,1.549,3016,0.836,3017,0.836,3018,0.836,3019,0.836,3020,0.836,3021,0.836,3022,0.836,3023,0.836,3024,1.549,3025,0.757,3026,0.836,3027,0.983,3028,0.836,3029,1.549,3030,1.549,3031,0.836,3032,1.549,3033,1.549,3034,1.549,3035,1.549,3036,0.836,3037,0.836,3038,0.836,3039,0.836,3040,0.836,3041,0.836,3042,0.836,3043,0.983,3044,0.836,3045,0.836,3046,0.836]],["component/56",[164,0.59]],["title/57-1",[97,26.439,103,23.296,531,34.863]],["name/57-1",[]],["text/57-1",[]],["component/57-1",[]],["title/57-2",[18,6.351,23,14.567,66,18.705,531,30.963]],["name/57-2",[]],["text/57-2",[]],["component/57-2",[]],["title/57-3",[14,10.794,18,5.19,23,11.904,66,15.285,103,16.908,104,18.97]],["name/57-3",[]],["text/57-3",[]],["component/57-3",[]],["title/57-4",[14,10.794,18,5.19,23,11.904,66,15.285,104,18.97,148,18.552]],["name/57-4",[]],["text/57-4",[]],["component/57-4",[]],["title/57-5",[14,10.794,18,5.19,23,11.904,66,15.285,99,15.153,104,18.97]],["name/57-5",[]],["text/57-5",[]],["component/57-5",[]],["title/57-6",[546,15.183,549,21.987]],["name/57-6",[]],["text/57-6",[]],["component/57-6",[]],["title/57",[16,11.018,17,9.081,18,5.19,23,11.904,66,15.285,531,25.303]],["name/57",[66,1.008,531,1.669]],["text/57",[0,0.474,1,1.237,3,0.995,4,1.389,6,0.788,14,2.33,15,0.37,16,1.427,17,0.922,18,1.272,19,0.474,21,2.332,22,1.382,23,2.454,25,1.097,30,3.49,33,0.732,34,2.201,44,0.996,47,0.44,50,0.67,51,1.473,53,1.17,55,1.695,59,0.795,65,0.44,66,2.731,67,2.63,68,0.357,69,0.562,71,0.314,81,1.364,82,0.787,84,1.654,85,2.404,91,0.44,93,0.59,94,1.326,97,3.788,98,1.636,99,3.192,102,1.626,103,3.843,104,4.072,106,0.753,108,0.433,110,2.869,114,1.022,115,0.412,129,1.869,137,1.996,138,0.678,148,2.867,150,1.958,153,0.931,169,0.379,175,0.549,181,0.953,182,0.474,191,2.391,192,0.379,196,1.345,198,1.29,199,0.507,200,1.725,202,3.521,217,0.753,218,1.348,221,1.261,223,0.345,235,1.865,247,1.805,254,0.67,261,3.548,265,1.844,268,1.56,271,0.433,272,0.44,275,1.364,282,0.549,287,2.215,294,0.587,301,1.796,306,2.64,311,0.401,313,0.663,315,3.992,333,2.127,338,1.12,352,1.103,365,2.675,375,0.44,379,1.308,387,2.108,401,0.495,411,0.44,414,0.721,424,3.062,425,2.125,431,0.638,434,1.348,440,0.276,445,0.67,451,1.791,483,0.519,510,2.114,518,0.891,529,0.419,531,5.632,532,0.953,534,0.495,543,1.477,546,0.177,551,0.534,554,1.108,556,0.608,557,0.348,571,0.348,575,0.465,583,1.326,595,1.889,602,0.721,607,1.29,611,0.813,619,0.977,625,0.8,633,1.791,642,1.032,644,0.741,645,0.278,646,2.205,647,0.278,648,0.278,649,0.278,650,0.278,651,0.278,652,0.278,653,0.433,654,1.56,655,2.769,662,0.401,696,1.508,713,1.345,725,0.426,731,1.036,732,0.723,735,2.414,762,2.873,763,2.305,764,1.903,765,1.744,768,2.337,770,1.791,771,3.613,805,0.874,809,1.003,817,0.891,860,0.587,880,1.003,888,0.977,912,2.897,913,0.534,918,0.996,932,0.587,933,0.8,946,0.764,950,1.552,962,0.874,963,0.314,1013,0.456,1014,0.813,1015,0.474,1022,1.003,1024,1.701,1027,0.887,1030,0.474,1032,1.844,1036,5.004,1037,0.953,1072,1.531,1085,0.495,1088,2.037,1114,0.587,1136,1.889,1138,2.071,1151,1.682,1155,0.474,1166,0.91,1168,0.953,1176,1.56,1178,2.522,1179,1.592,1202,0.519,1242,1.103,1266,0.495,1267,1.2,1268,1.2,1270,0.587,1271,0.61,1274,2.802,1275,4.594,1276,0.519,1284,0.567,1288,1.003,1290,0.638,1296,0.587,1316,0.567,1332,0.567,1352,0.61,1355,0.638,1372,0.549,1443,0.587,1536,0.549,1561,1.889,1594,3.488,1615,0.549,1629,0.587,1657,1.903,1666,0.587,1673,0.519,1677,1.032,1684,0.484,1706,1.065,1727,1.147,1728,1.003,1750,0.674,1762,2.701,1769,0.519,1822,0.587,1842,1.2,1843,1.103,1959,0.534,1972,0.638,2022,1.561,2046,0.567,2062,0.587,2092,0.674,2226,1.97,2227,1.903,2524,0.674,2545,0.721,2547,1.419,2548,2.433,2707,0.638,2720,0.61,2729,0.587,2748,1.355,2755,0.61,2818,0.638,2821,0.567,2836,0.721,2868,0.638,2909,0.587,2910,2.143,2912,0.721,2920,0.674,2922,0.638,2928,1.2,2934,0.721,2935,3.279,2936,0.721,2941,0.638,2970,0.721,2974,1.147,2975,0.721,2976,0.721,2977,0.721,2978,0.721,2983,0.674,2984,0.674,2985,0.674,2986,0.674,2987,1.267,2988,0.674,2989,0.674,2990,0.674,2991,0.674,2992,0.674,2993,0.674,2994,0.674,2995,4.014,2996,4.014,2997,2.683,2998,0.674,2999,0.674,3000,2.262,3001,2.262,3002,2.262,3003,2.262,3004,2.262,3005,2.262,3006,2.262,3007,2.262,3008,0.674,3009,1.792,3010,0.674,3011,0.721,3012,0.674,3013,1.2,3014,0.674,3015,1.267,3016,0.674,3017,0.674,3018,0.674,3019,0.674,3020,0.674,3021,0.674,3022,0.674,3023,0.674,3024,1.267,3025,0.61,3026,0.674,3028,0.674,3029,1.267,3030,1.267,3031,0.674,3032,1.267,3033,1.267,3034,1.267,3035,1.267,3036,0.674,3037,0.674,3038,0.674,3039,0.674,3040,0.674,3041,1.267,3042,0.674,3044,0.674,3045,0.674,3046,0.674,3047,0.793,3048,0.793,3049,2.661,3050,0.793,3051,0.793,3052,0.793,3053,0.793,3054,0.793,3055,0.793,3056,3.157,3057,0.793,3058,0.793,3059,0.793,3060,0.793,3061,0.793,3062,0.793,3063,0.793,3064,0.793,3065,0.793,3066,0.793,3067,0.793,3068,0.793]],["component/57",[164,0.59]],["title/58-1",[97,26.439,257,30.043,532,38.006]],["name/58-1",[]],["text/58-1",[]],["component/58-1",[]],["title/58-2",[18,6.351,23,14.567,66,18.705,257,26.682]],["name/58-2",[]],["text/58-2",[]],["component/58-2",[]],["title/58-3",[2548,33,2729,44.013,3069,54.074]],["name/58-3",[]],["text/58-3",[]],["component/58-3",[]],["title/58-4",[14,10.794,18,5.19,23,11.904,66,15.285,103,16.908,104,18.97]],["name/58-4",[]],["text/58-4",[]],["component/58-4",[]],["title/58-5",[14,10.794,18,5.19,23,11.904,66,15.285,104,18.97,257,21.804]],["name/58-5",[]],["text/58-5",[]],["component/58-5",[]],["title/58-6",[14,10.794,18,5.19,23,11.904,66,15.285,99,15.153,104,18.97]],["name/58-6",[]],["text/58-6",[]],["component/58-6",[]],["title/58-7",[546,15.183,549,21.987]],["name/58-7",[]],["text/58-7",[]],["component/58-7",[]],["title/58",[16,11.018,17,9.081,18,5.19,23,11.904,66,15.285,257,21.804]],["name/58",[66,1.008,257,1.438]],["text/58",[3,0.907,4,1.38,6,1.337,13,0.4,14,2.241,16,1.922,17,1.584,18,1.275,19,1.451,21,1.622,22,1.134,23,2.513,25,0.9,30,4.12,33,1.192,34,1.694,44,1.146,50,0.778,51,1.417,52,0.58,53,0.76,55,1.512,59,0.915,61,0.4,66,2.944,67,2.246,68,0.778,69,1.694,71,0.368,81,0.887,84,0.305,85,2.288,87,0.457,93,0.684,94,1.209,97,3.414,98,1.831,99,3.199,103,3.597,104,3.939,110,3.211,114,0.839,115,0.484,122,0.516,129,2.071,137,1.848,138,0.787,148,1.745,150,1.887,153,2.535,157,2.595,168,0.409,169,0.445,175,0.644,177,1.237,180,1.291,181,1.106,191,2.424,192,0.445,196,1.534,198,1.176,199,0.594,200,1.453,202,4.085,217,0.874,218,1.517,221,0.556,223,1.054,235,1.663,239,0.85,247,2.02,254,0.418,257,4.673,261,0.525,263,0.535,267,0.609,268,1.422,271,0.507,275,1.244,278,0.535,287,1.226,301,0.463,302,0.525,306,2.472,311,1.534,313,0.769,315,2.928,333,1.95,338,0.391,365,2.658,375,0.516,379,0.85,387,2.095,390,0.535,401,0.58,407,0.609,411,0.516,424,2.808,425,1.633,431,0.749,434,1.106,440,0.324,457,0.688,483,0.609,510,2.633,517,0.749,518,0.556,528,0.58,529,0.491,532,2.287,534,0.58,543,1.346,546,0.207,547,0.451,549,0.3,551,2.408,554,1.264,556,0.705,557,0.409,567,0.626,583,1.209,601,0.545,607,1.176,611,0.944,619,1.134,625,0.929,633,2.044,642,1.198,644,0.852,645,0.326,646,1.838,647,0.607,648,0.326,649,0.326,650,0.852,651,0.326,652,0.326,653,0.507,654,0.545,655,1.422,664,1.451,696,1.734,704,0.556,713,1.226,725,0.499,731,0.457,732,1.176,735,1.56,762,2.344,763,2.287,764,1.734,765,1.59,768,2.248,770,1.633,771,3.663,805,1.014,809,1.164,817,1.035,834,0.845,860,0.688,868,0.58,888,1.134,912,1.395,913,0.626,918,0.439,932,0.688,933,0.929,946,0.887,950,1.758,962,2.38,963,0.684,1013,0.535,1014,0.944,1015,0.556,1021,0.491,1022,1.164,1024,1.551,1027,0.391,1032,1.68,1036,4.998,1047,0.665,1072,1.395,1085,0.58,1088,1.37,1114,0.688,1136,0.556,1138,1.69,1151,1.893,1155,0.556,1166,1.057,1168,1.106,1176,1.422,1178,2.335,1179,1.451,1202,1.99,1242,1.28,1266,0.58,1267,1.393,1268,1.393,1270,0.688,1271,0.716,1274,2.595,1276,0.609,1284,0.665,1288,1.164,1290,0.749,1296,1.796,1316,0.665,1323,0.79,1332,0.665,1355,0.749,1512,1.237,1528,0.609,1529,0.609,1536,0.644,1561,0.556,1594,0.609,1615,0.644,1657,1.734,1666,0.688,1669,0.665,1677,1.198,1684,2.981,1727,1.332,1728,1.164,1731,4.971,1750,0.79,1762,3.023,1769,0.609,1809,0.716,1822,0.688,1842,1.393,1870,0.845,1887,0.626,1959,0.626,1972,1.393,2001,0.845,2022,2.248,2046,0.665,2062,0.688,2176,1.573,2226,1.796,2227,1.734,2349,0.845,2522,3.04,2524,0.79,2533,0.845,2547,3.285,2548,4.088,2560,1.332,2707,0.749,2729,0.688,2755,0.716,2759,0.749,2828,0.749,2868,0.749,2909,0.688,2910,2.446,2920,0.79,2922,0.749,2926,0.79,2928,2.881,2930,0.79,2941,0.749,2948,0.845,2974,1.332,2983,0.79,2984,0.79,2985,0.79,2986,0.79,2987,1.47,2988,0.79,2989,0.79,2990,0.79,2991,0.79,2992,0.79,2993,0.79,2994,0.79,2995,3.817,2996,3.817,2997,2.581,2998,0.79,2999,0.79,3000,2.062,3001,2.062,3002,2.062,3003,2.062,3004,2.062,3005,2.062,3006,2.062,3007,2.062,3008,0.79,3009,2.062,3010,0.79,3012,0.79,3013,1.393,3014,0.79,3015,1.47,3016,0.79,3017,0.79,3018,0.79,3019,0.79,3020,0.79,3021,0.79,3022,0.79,3023,0.79,3024,1.47,3025,1.867,3026,0.79,3028,0.79,3029,1.47,3030,1.47,3031,0.79,3032,1.47,3033,1.47,3034,1.47,3035,1.47,3036,0.79,3037,0.79,3038,0.79,3039,0.79,3040,0.79,3041,0.79,3042,0.79,3044,0.79,3045,0.79,3046,0.79,3069,4.084,3070,0.929,3071,0.929,3072,0.929,3073,0.929,3074,0.929,3075,0.929,3076,1.73,3077,1.73,3078,0.929,3079,0.929,3080,0.929,3081,0.929,3082,0.929,3083,0.929,3084,1.73,3085,3.577,3086,0.929,3087,0.929,3088,3.577,3089,1.73,3090,2.426,3091,0.929,3092,0.929,3093,0.929]],["component/58",[164,0.59]],["title/59-1",[4,13.119,84,17.345,148,22.702,252,31.587]],["name/59-1",[]],["text/59-1",[]],["component/59-1",[]],["title/59-2",[4,13.119,148,22.702,252,31.587,3094,52.802]],["name/59-2",[]],["text/59-2",[]],["component/59-2",[]],["title/59-3",[4,9.822,16,10.096,17,8.321,18,4.755,148,16.998,150,11.31,252,23.65]],["name/59-3",[]],["text/59-3",[]],["component/59-3",[]],["title/59-4",[4,13.119,148,22.702,252,31.587,571,23.214]],["name/59-4",[]],["text/59-4",[]],["component/59-4",[]],["title/59-5",[4,13.119,72,27.904,200,25.268,252,31.587]],["name/59-5",[]],["text/59-5",[]],["component/59-5",[]],["title/59-6",[537,25.191,657,26.653]],["name/59-6",[]],["text/59-6",[]],["component/59-6",[]],["title/59-7",[546,15.183,549,21.987]],["name/59-7",[]],["text/59-7",[]],["component/59-7",[]],["title/59",[4,10.72,16,11.018,17,9.081,18,5.19,148,18.552,252,25.812]],["name/59",[4,0.523,148,0.906,252,1.26]],["text/59",[1,0.832,4,2.549,13,2.041,14,2.418,15,2.215,16,0.926,18,0.675,23,2.308,25,1.887,31,1.089,33,1.043,34,2.118,36,1.326,43,2.922,44,1.003,46,1.391,51,0.99,56,3.09,57,1.105,59,0.801,61,0.913,67,3.07,68,1.632,71,1.878,76,0.808,78,1.122,84,2.256,85,2.313,90,0.848,93,1.435,99,2.577,103,2.2,104,0.933,109,0.884,113,1.692,114,1.029,137,1.651,138,0.967,145,1.326,148,4.376,150,1.804,151,5.068,157,3.034,169,1.735,191,3.768,196,2.399,199,1.357,200,1.016,209,2.049,217,1.073,223,0.923,228,1.572,235,1.758,252,5.004,253,4.132,254,2.136,257,1.073,263,1.221,301,1.807,306,2.243,314,1.471,326,1.635,333,0.848,338,0.893,341,1.073,349,1.178,356,1.572,375,1.178,387,2.379,390,1.221,398,2.593,401,2.265,422,2.441,437,2.086,440,0.739,445,0.955,525,2.049,528,1.326,533,1.572,537,2.989,545,2.215,546,0.474,549,1.534,557,3.4,558,1.429,567,4.939,571,2.087,633,5.205,642,6.129,644,0.746,645,0.746,646,0.746,647,0.746,648,0.746,649,0.746,650,0.746,651,0.746,652,0.746,654,1.245,655,3.292,657,0.832,662,1.073,664,2.84,670,2.512,672,1.043,676,1.635,703,2.9,705,1.391,707,1.947,711,1.159,716,2.127,731,1.043,735,0.816,741,6.178,753,1.931,759,1.471,761,3.429,771,1.221,800,1.807,950,1.043,963,0.84,1010,4.368,1015,2.169,1044,1.058,1065,1.391,1099,1.71,1101,1.805,1153,1.429,1225,2.792,1308,3.823,1563,1.572,1569,6.247,1570,4.317,1571,3.298,1572,1.931,1573,1.931,1574,5.532,1589,1.297,1615,3.289,1669,1.518,1677,1.471,1705,5.106,1728,2.441,1729,1.931,1959,1.429,2055,1.805,2056,1.805,2057,1.805,2113,1.931,2160,1.931,2186,1.805,2217,1.931,2416,1.805,3095,2.123,3096,3.626,3097,2.123,3098,2.123,3099,2.123,3100,2.123,3101,2.123,3102,2.123,3103,2.123,3104,2.123,3105,3.626,3106,2.123,3107,3.626,3108,2.123,3109,2.123,3110,2.123,3111,2.123,3112,3.626,3113,2.123,3114,2.123,3115,2.123,3116,2.123,3117,2.123,3118,2.123,3119,2.123,3120,2.123,3121,2.123,3122,2.123,3123,2.123,3124,3.626,3125,4.747,3126,4.747,3127,2.123,3128,2.123,3129,2.123,3130,2.123,3131,3.626,3132,3.626]],["component/59",[164,0.59]],["title/60",[]],["name/60",[18,0.253,103,0.825,301,1.049]],["text/60",[]],["component/60",[164,0.59]],["title/61-1",[55,20.016,56,26.749,108,32.446]],["name/61-1",[]],["text/61-1",[]],["component/61-1",[]],["title/61-2",[55,17.777,56,23.757,108,28.817,218,19.735]],["name/61-2",[]],["text/61-2",[]],["component/61-2",[]],["title/61-3",[56,23.757,108,28.817,133,42.528,217,26.682]],["name/61-3",[]],["text/61-3",[]],["component/61-3",[]],["title/61-4",[108,37.122,716,39.887]],["name/61-4",[]],["text/61-4",[]],["component/61-4",[]],["title/61-5",[108,32.446,161,34.205,547,28.827]],["name/61-5",[]],["text/61-5",[]],["component/61-5",[]],["title/61-6",[546,15.183,549,21.987]],["name/61-6",[]],["text/61-6",[]],["component/61-6",[]],["title/61",[3,16.127,16,11.018,17,9.081,18,5.19,98,17.595,108,23.548]],["name/61",[56,0.533,99,0.416,100,0.681,101,0.694,108,0.646,1784,0.681]],["text/61",[3,1.903,14,1.807,16,1.3,17,1.071,18,0.612,19,3.046,55,1.714,56,3.776,59,1.92,61,2.189,67,1.868,85,2.097,87,2.502,108,6.22,129,2.014,133,6.76,150,2.066,155,4.742,156,2.876,161,4.829,200,3.456,217,4.241,218,2.699,223,3.14,235,1.885,271,3.942,287,3.65,302,2.876,313,2.264,333,2.035,335,3.769,365,2.436,387,3.779,440,1.773,490,4.51,546,1.136,550,4.155,554,2.119,571,2.238,605,2.826,644,1.788,645,1.788,646,1.788,647,1.788,648,1.788,649,1.788,650,1.788,651,1.788,652,1.788,712,4.1,716,5.656,730,5.56,735,1.957,800,2.537,824,2.985,946,2.61,1044,4.551,1526,3.64,1561,3.046,1674,4.327,1769,3.337,1784,5.764,1789,4.327,2049,3.64,2805,3.255,3133,5.091,3134,5.091,3135,5.091,3136,3.337,3137,4.63]],["component/61",[164,0.59]],["title/62-1",[3,16.127,16,11.018,17,9.081,18,5.19,97,19.189,98,17.595]],["name/62-1",[]],["text/62-1",[]],["component/62-1",[]],["title/62-2",[546,15.183,549,21.987]],["name/62-2",[]],["text/62-2",[]],["component/62-2",[]],["title/62",[3,13.635,16,9.315,17,7.678,18,4.387,98,14.876,99,12.811,100,20.988,101,21.392]],["name/62",[99,0.587,100,0.962,101,0.98,1885,1.125]],["text/62",[1,2.8,3,3.726,12,1.679,16,2.64,17,2.14,18,1.277,23,2.375,34,1.457,50,3.597,53,2.591,59,1.457,63,2.428,65,2.144,67,3.33,69,2.223,90,1.544,97,4.035,98,3.967,99,3.885,100,4.599,101,4.19,102,2.36,104,2.591,108,2.108,129,3.734,182,2.311,196,3.611,218,3.726,235,1.431,247,1.738,268,2.265,301,1.925,315,4.515,348,1.981,388,4.747,440,1.345,445,3.215,451,3.967,526,1.759,528,2.412,546,0.862,547,1.873,554,1.608,609,2.47,644,1.357,645,1.357,646,2.07,647,1.357,648,1.357,649,1.357,650,1.357,651,1.357,652,1.357,731,2.896,735,1.485,796,4.871,918,2.784,1014,4.363,1015,3.526,1044,1.925,1136,2.311,1138,1.825,1151,1.802,1274,2.47,1561,3.526,1583,3.514,1673,2.532,1677,4.083,1784,2.223,1975,2.86,2930,3.283,3013,4.747,3138,3.863]],["component/62",[164,0.59]],["title/63-1",[18,5.712,90,18.979,271,25.918,550,27.323,716,27.848]],["name/63-1",[]],["text/63-1",[]],["component/63-1",[]],["title/63-2",[1,20.69,18,6.351,63,21.754,168,23.214]],["name/63-2",[]],["text/63-2",[]],["component/63-2",[]],["title/63-3",[1,16.908,14,10.794,18,5.19,39,21.499,63,17.777,168,18.97]],["name/63-3",[]],["text/63-3",[]],["component/63-3",[]],["title/63-4",[18,6.351,80,22.216,835,30.379,2223,42.528]],["name/63-4",[]],["text/63-4",[]],["component/63-4",[]],["title/63-5",[333,21.101,594,32.255,835,30.379,1816,40.652]],["name/63-5",[]],["text/63-5",[]],["component/63-5",[]],["title/63-6",[1,20.69,18,6.351,63,21.754,168,23.214]],["name/63-6",[]],["text/63-6",[]],["component/63-6",[]],["title/63-7",[1,18.609,6,17.75,11,28.409,14,11.88,18,5.712]],["name/63-7",[]],["text/63-7",[]],["component/63-7",[]],["title/63-8",[546,15.183,549,21.987]],["name/63-8",[]],["text/63-8",[]],["component/63-8",[]],["title/63",[18,8.181,90,27.183]],["name/63",[18,0.142,90,0.473,99,0.416,100,0.681,101,0.694,1784,0.681]],["text/63",[1,3.912,3,1.302,6,3.656,11,5.205,14,1.793,16,1.17,17,0.733,18,1.375,34,0.764,39,3.055,41,2.491,44,1.646,49,1.106,50,0.912,56,2.448,63,3.67,67,0.744,69,0.764,71,1.379,80,3.454,81,1.786,84,1.144,88,3.667,89,3.595,90,3.633,91,1.125,93,2.426,94,1.736,96,1.76,98,1.421,112,4.733,113,2.86,114,0.982,138,1.586,150,1.557,155,3.463,161,3.527,168,3.327,176,4.029,182,3.255,200,0.97,211,3.527,217,1.024,223,1.992,235,2.015,239,1.712,247,0.912,271,3.912,275,1.039,287,3.384,288,1.145,292,3.566,306,0.957,308,2.283,313,0.901,333,1.832,348,1.786,365,0.97,387,2.053,388,1.632,390,2.004,440,0.705,445,2.448,513,2.345,518,1.212,528,2.176,533,1.5,546,1.023,550,3.131,554,0.843,556,1.421,557,0.891,571,2.392,594,4.623,644,1.224,645,0.712,646,1.61,647,1.224,648,0.712,649,0.712,650,0.712,651,0.712,652,0.712,654,2.043,672,0.996,711,1.106,716,4.639,725,2.922,732,0.982,743,1.449,790,1.364,796,1.87,805,1.188,820,2.227,824,3.191,841,2.084,922,2.043,946,1.039,950,0.996,960,1.364,962,2.043,968,3.529,983,1.404,1044,3.942,1110,3.77,1166,1.238,1168,1.295,1172,1.449,1221,1.56,1308,3.691,1446,2.283,1503,2.682,1561,1.212,1673,4.018,1769,2.283,1784,5.006,1816,5.827,2044,2.806,2049,2.491,2203,1.722,2223,4.383,2296,1.722,2457,2.961,2579,4.787,2805,5.058,2821,2.491,2909,2.579,3136,5.552,3139,2.026,3140,2.026,3141,2.026,3142,3.484,3143,3.169,3144,2.026,3145,1.843,3146,2.026,3147,5.576,3148,4.029,3149,3.895,3150,2.026,3151,1.843,3152,1.843,3153,2.026]],["component/63",[164,0.59]],["title/64-1",[18,6.351,63,21.754,161,30.379,595,31.587]],["name/64-1",[]],["text/64-1",[]],["component/64-1",[]],["title/64-2",[6,16.127,11,25.812,18,5.19,63,17.777,198,20.922,933,23.166]],["name/64-2",[]],["text/64-2",[]],["component/64-2",[]],["title/64-3",[546,15.183,549,21.987]],["name/64-3",[]],["text/64-3",[]],["component/64-3",[]],["title/64",[3,14.777,16,10.096,17,8.321,18,7.214,63,16.288,98,16.121]],["name/64",[18,0.142,63,0.488,99,0.416,100,0.681,101,0.694,1784,0.681]],["text/64",[1,1.141,3,1.088,6,3.616,11,5.067,14,1.488,15,0.769,16,1.519,17,1.133,18,1.324,23,0.455,25,1.515,31,0.845,34,0.622,36,1.03,44,0.779,49,0.9,50,1.759,53,1.28,55,1.588,61,2.557,63,4.469,65,2.17,67,1.435,69,1.098,80,1.645,81,2.419,84,0.956,85,0.679,87,2.647,90,1.164,93,0.653,94,1.451,98,0.672,99,1.657,112,3.844,113,0.769,115,0.858,117,2.905,129,2.131,138,1.326,150,1.35,155,4.785,157,1.054,161,4.757,174,0.779,176,2.155,182,1.742,192,3.596,196,2.384,198,2.611,200,2.577,211,2.249,217,1.975,218,2.556,223,2.341,234,0.967,235,2.203,239,0.81,263,0.949,271,3.246,272,2.17,287,3.247,292,1.081,302,2.665,304,1.27,313,0.733,333,1.562,344,1.11,348,0.845,365,0.789,375,0.915,379,1.431,387,1.78,388,1.328,390,0.949,422,1.11,427,0.915,440,0.574,445,0.742,490,1.03,511,1.742,546,0.65,550,2.249,554,0.687,556,1.187,557,0.725,571,2.074,583,0.822,594,3.925,601,3.158,605,3.301,611,0.9,619,1.081,631,1.142,644,0.579,645,0.579,646,1.891,647,0.579,648,0.579,649,0.579,650,0.579,651,0.579,652,0.579,672,2.318,714,3.149,716,4.406,725,1.563,730,3.632,735,1.119,758,1.142,784,0.9,790,1.11,796,3.671,800,2.683,805,0.967,811,2.242,824,1.707,826,1.861,918,0.779,922,0.967,933,2.891,946,0.845,950,0.81,958,2.533,960,1.11,962,0.967,968,2.242,1013,2.249,1014,2.133,1015,1.742,1021,0.871,1030,1.742,1044,4.119,1062,1.142,1092,2.648,1110,1.142,1145,2.648,1166,1.007,1168,1.054,1172,1.179,1202,1.081,1337,2.475,1430,1.328,1446,1.908,1503,2.242,1515,1.328,1522,1.221,1561,0.986,1673,2.562,1709,2.345,1769,1.908,1784,5.075,1789,3.323,1797,1.5,1816,4.947,1959,1.11,1975,6.406,2044,1.328,2049,2.795,2223,2.345,2308,1.5,2315,2.475,2436,1.328,2457,2.475,2579,2.795,2805,4.108,2821,1.179,2828,1.328,2880,1.5,2909,1.221,3136,4.211,3137,1.5,3143,1.5,3147,2.648,3148,2.155,3149,2.475,3151,2.648,3152,1.5,3154,1.649,3155,1.649,3156,9.475,3157,5.385,3158,1.649,3159,4.717,3160,3.909,3161,1.649,3162,1.649,3163,1.649,3164,1.649,3165,3.909,3166,1.649,3167,1.5,3168,1.649]],["component/64",[164,0.59]],["title/65-1",[16,11.018,17,9.081,18,5.19,66,15.285,68,19.413,69,16.277]],["name/65-1",[]],["text/65-1",[]],["component/65-1",[]],["title/65-2",[66,16.823,68,21.367,69,17.915,272,26.36,912,27.323]],["name/65-2",[]],["text/65-2",[]],["component/65-2",[]],["title/65-3",[546,15.183,549,21.987]],["name/65-3",[]],["text/65-3",[]],["component/65-3",[]],["title/65",[3,11.809,14,7.904,16,8.068,17,10.603,18,3.8,66,11.193,69,11.919,105,16.199,106,15.966]],["name/65",[3,0.442,17,0.249,66,0.419,69,0.447,105,0.607,106,0.598]],["text/65",[1,1.001,3,2.363,4,2.227,8,1.784,12,3.481,14,2.3,15,1.192,16,2.045,17,2.016,18,1.188,21,1.021,23,1.934,25,1.33,30,1.596,34,1.599,43,1.33,44,4.234,50,2.444,55,0.86,59,0.964,63,1.747,66,3.913,67,0.938,68,1.15,69,3.928,71,2.501,72,1.351,76,0.973,80,2.66,84,2.303,96,1.292,99,1.908,101,1.499,105,2.785,106,2.745,109,2.632,115,2.206,117,1.711,136,1.561,137,1.164,150,1.808,155,2.395,158,1.47,174,2.003,180,1.803,183,1.771,186,1.675,191,0.973,198,1.239,200,3.025,202,2.083,218,2.62,221,2.536,228,1.892,235,2.8,239,1.256,245,2.778,254,1.15,257,4.84,272,2.353,287,2.142,288,1.444,311,2.745,333,1.021,335,1.892,338,1.784,379,1.256,387,0.964,390,1.47,403,1.968,424,1.47,425,2.854,440,0.89,445,1.15,526,1.164,527,1.892,541,1.892,546,0.57,547,1.239,571,1.124,595,2.536,605,1.419,625,1.372,644,0.898,645,0.898,646,2.22,647,1.489,648,0.898,649,0.898,650,0.898,651,0.898,652,0.898,654,1.499,662,1.292,672,1.256,690,1.968,706,1.968,723,2.439,725,1.372,735,2.088,771,4.349,835,1.47,884,1.529,912,1.47,917,2.059,932,1.892,933,1.372,944,2.325,958,2.276,963,1.011,983,1.771,1014,1.395,1027,1.075,1110,2.937,1138,2.003,1139,1.239,1151,1.978,1154,1.771,1288,1.72,1373,3.138,1418,1.892,1446,2.778,1503,3.264,1515,2.059,1528,1.675,1529,1.675,1586,3.856,1673,1.675,1762,2.854,1784,4.349,1862,1.72,2046,1.827,2093,1.634,2531,1.892,2548,3.509,2575,2.325,2579,3.031,2714,2.325,2720,1.968,2805,4.832,2821,1.827,2824,3.856,3025,1.968,3136,1.675,3169,2.556,3170,2.172,3171,2.325,3172,4.239,3173,3.856,3174,4.239,3175,2.556,3176,2.556,3177,2.325,3178,2.556]],["component/65",[164,0.59]],["title/66-1",[3,14.777,17,8.321,105,20.27,106,19.978,333,15.799,1139,19.169,1887,26.611]],["name/66-1",[]],["text/66-1",[]],["component/66-1",[]],["title/66-2",[183,41.189,1139,28.827,3179,50.531]],["name/66-2",[]],["text/66-2",[]],["component/66-2",[]],["title/66-3",[183,41.189,868,37.128,1139,28.827]],["name/66-3",[]],["text/66-3",[]],["component/66-3",[]],["title/66-4",[546,15.183,549,21.987]],["name/66-4",[]],["text/66-4",[]],["component/66-4",[]],["title/66",[3,11.068,12,12.874,14,7.408,16,7.562,17,10.066,18,3.562,69,11.171,105,15.183,106,14.965,1139,14.359]],["name/66",[3,0.442,12,0.515,17,0.249,105,0.607,106,0.598,1139,0.574]],["text/66",[3,3.696,12,1.325,14,1.225,17,2.081,18,0.589,23,1.938,25,1.586,33,2.406,34,1.847,37,5.579,44,3.318,51,1.422,55,2.765,61,1.311,69,2.649,72,1.611,84,2.015,99,1.719,105,5.07,106,5.265,129,2.427,145,1.904,146,2.439,155,1.722,168,2.152,175,2.112,176,2.257,182,3.67,183,6.217,191,3.127,218,2.875,221,2.928,223,1.325,235,1.813,247,2.202,301,1.519,302,3.967,306,2.898,333,3.074,338,2.06,341,1.54,379,1.498,387,1.15,435,2.772,440,1.061,532,1.949,546,0.68,547,1.478,554,1.269,571,2.152,578,2.455,595,1.823,625,1.636,631,2.112,640,2.347,644,1.719,645,1.07,646,2.154,647,1.07,648,1.07,649,1.07,650,1.07,651,1.07,652,1.07,658,2.347,662,1.54,688,3.129,692,2.112,713,1.54,715,2.257,735,1.882,824,2.871,868,4.803,880,4.727,963,1.206,969,2.179,1027,1.282,1030,3.67,1044,1.519,1062,2.112,1138,2.898,1139,4.938,1140,6.093,1151,2.862,1154,2.112,1198,2.257,1373,3.624,1449,2.257,1518,3.769,1530,1.904,1589,1.862,1706,2.179,1784,1.754,1825,2.455,1862,2.052,1887,6.535,2222,2.591,2477,2.772,2525,2.591,2531,4.541,2547,4.727,2805,5.736,2974,4.723,3136,1.998,3148,2.257,3179,5.214,3180,2.772,3181,2.591,3182,2.455,3183,4.895,3184,4.895,3185,2.772,3186,3.048,3187,3.048,3188,3.048]],["component/66",[164,0.59]],["title/67-1",[4,14.771,333,23.759,660,47.885]],["name/67-1",[]],["text/67-1",[]],["component/67-1",[]],["title/67-2",[3,13.635,14,9.125,17,7.678,63,15.029,105,18.703,106,18.434,257,18.434,580,23.32]],["name/67-2",[]],["text/67-2",[]],["component/67-2",[]],["title/67-3",[546,15.183,549,21.987]],["name/67-3",[]],["text/67-3",[]],["component/67-3",[]],["title/67",[3,11.068,12,12.874,14,7.408,16,7.562,17,10.066,18,3.562,69,11.171,105,15.183,106,14.965,257,14.965]],["name/67",[3,0.442,12,0.515,17,0.249,105,0.607,106,0.598,257,0.598]],["text/67",[3,3.045,4,2.51,7,1.968,8,1.118,12,1.156,14,1.62,15,1.24,16,1.968,17,1.96,18,0.927,23,1.787,25,1.383,30,2.735,34,1.652,43,3.727,50,1.196,51,1.24,53,2.455,55,0.895,59,2.107,63,3.357,66,2.729,69,3.654,81,1.363,97,1.182,104,1.925,105,3.672,106,4.117,129,1.052,137,1.21,148,1.143,155,2.474,167,1.9,168,1.925,180,1.862,182,3.874,191,1.667,218,0.993,235,2.068,239,3.182,257,5.213,265,1.841,268,2.568,294,1.968,301,1.324,302,2.474,304,2.046,308,1.742,313,1.182,315,3.099,333,2.232,338,1.842,341,1.343,387,2.701,440,0.925,451,3.759,526,1.994,534,1.66,545,1.624,546,0.593,547,2.708,554,1.107,557,3.148,571,2.455,580,5.442,595,2.62,612,4.199,644,0.933,645,0.933,646,1.961,647,0.933,648,0.933,649,1.538,650,0.933,651,0.933,652,0.933,655,2.568,660,8.228,662,1.343,664,1.59,688,3.57,713,1.343,735,2.489,763,1.699,824,3.275,899,2.259,913,1.789,933,1.427,960,1.789,969,3.131,995,1.968,1030,1.59,1044,2.182,1060,2.418,1062,3.034,1088,2.474,1100,2.418,1138,2.069,1151,1.24,1179,1.59,1476,2.259,1528,1.742,1529,1.742,1561,3.874,1607,2.418,1674,2.259,1706,3.131,1731,3.722,1765,3.131,1769,2.87,1784,1.529,1822,1.968,1857,2.141,1869,2.418,1887,5.186,1967,2.259,2525,2.259,2531,4.794,2560,3.371,2579,1.9,2736,2.141,2805,5.208,2900,2.418,3136,1.742,3148,4.134,3181,3.722,3182,4.498,3185,2.418,3189,2.658,3190,4.379,3191,2.658,3192,2.658,3193,2.658,3194,2.658,3195,2.658,3196,2.658,3197,2.658,3198,2.658,3199,5.584,3200,2.658,3201,2.658,3202,2.658,3203,2.658,3204,2.658]],["component/67",[164,0.59]],["title/68-1",[3,14.777,17,8.321,18,4.755,55,13.31,105,20.27,106,19.978,535,25.91]],["name/68-1",[]],["text/68-1",[]],["component/68-1",[]],["title/68-2",[537,25.191,657,26.653]],["name/68-2",[]],["text/68-2",[]],["component/68-2",[]],["title/68-3",[546,15.183,549,21.987]],["name/68-3",[]],["text/68-3",[]],["component/68-3",[]],["title/68",[3,19.735,17,11.113,105,27.072,106,26.682]],["name/68",[3,0.518,17,0.292,105,0.711,106,0.7,1885,0.933]],["text/68",[1,1.514,3,3.801,4,0.96,8,1.625,10,2.223,12,3.944,14,2.153,16,2.317,17,2.313,18,1.17,23,2.206,34,1.457,55,2.898,66,2.088,69,3.016,80,1.625,94,1.925,96,4.35,105,5.214,106,5.299,107,4.747,114,1.873,146,1.925,168,2.591,174,1.825,182,2.311,183,2.676,194,2.223,218,3.919,234,2.265,235,1.431,245,3.862,254,1.738,257,2.978,268,2.265,285,3.514,302,2.182,313,1.718,335,4.363,338,1.625,387,2.223,440,1.345,445,3.215,490,2.412,526,1.759,535,4.683,546,0.862,554,1.608,556,2.914,571,1.698,644,1.357,645,1.357,646,2.07,647,1.357,648,1.357,649,1.357,650,1.357,651,1.357,652,1.357,711,2.108,724,3.111,732,1.873,735,1.485,918,1.825,1021,2.041,1030,3.526,1044,2.936,1045,2.676,1062,2.676,1138,1.825,1139,3.465,1148,2.974,1445,2.762,1528,2.532,1529,2.532,1530,2.412,1742,3.514,1784,3.391,2720,2.974,2805,3.767,3136,2.532,3179,5.009,3205,5.893,3206,3.514,3207,3.863,3208,3.863,3209,3.863,3210,3.863,3211,3.863,3212,3.863,3213,3.863,3214,3.863]],["component/68",[164,0.59]],["title/69-1",[4,13.222,23,9.342,55,11.4,80,14.247,257,17.112,1373,25.069,1528,22.193,1529,22.193]],["name/69-1",[]],["text/69-1",[]],["component/69-1",[]],["title/69-2",[4,13.222,23,9.342,55,11.4,80,14.247,257,17.112,1528,22.193,1529,22.193,2548,18.796]],["name/69-2",[]],["text/69-2",[]],["component/69-2",[]],["title/69-3",[546,15.183,549,21.987]],["name/69-3",[]],["text/69-3",[]],["component/69-3",[]],["title/69",[4,9.822,12,17.187,23,10.907,80,16.634,257,19.978,1528,25.91,1529,25.91]],["name/69",[3,0.342,4,0.228,12,0.398,17,0.193,23,0.253,105,0.47,106,0.463,3215,0.916]],["text/69",[2,3.854,3,2.535,4,2.845,12,2.263,14,1.302,17,1.427,23,2.596,43,2.709,51,2.428,55,3.319,57,1.253,63,3.714,65,1.336,67,1.48,71,0.953,76,0.917,80,3.881,84,0.791,105,3.477,106,3.707,109,1.002,122,1.336,129,2.41,150,0.689,155,2.941,169,1.152,176,1.782,182,4.057,191,2.319,192,3.245,235,0.892,239,1.982,257,4.662,271,2.201,287,2.038,302,2.941,311,1.217,333,2.434,341,2.038,387,2.297,440,0.838,451,4.564,530,2.046,546,0.537,547,2.953,555,1.44,557,2.289,580,2.579,595,1.44,644,2.139,645,0.846,646,2.381,647,0.846,648,0.846,649,0.846,650,0.846,651,0.846,652,0.846,670,1.668,688,3.328,707,2.166,713,2.038,731,1.183,735,0.925,824,2.365,828,3.249,864,2.046,958,1.293,963,0.953,1027,1.013,1030,3.114,1045,2.794,1047,2.884,1062,3.606,1096,2.19,1133,1.621,1138,2.459,1151,1.882,1202,3.991,1337,2.046,1373,7.47,1501,4.564,1528,6.046,1529,6.046,1561,4.389,1589,5.19,1684,3.72,1706,4.354,1959,1.621,1967,2.046,2315,2.046,2531,5.02,2548,5.799,2579,1.721,2805,6.303,2821,1.721,3136,3.411,3148,3.854,3170,2.046,3171,2.19,3173,2.19,3177,2.19,3181,3.428,3182,4.193,3216,2.408,3217,2.408]],["component/69",[164,0.59]],["title/70-1",[17,8.321,18,4.755,96,19.978,97,17.582,98,16.121,1139,19.169,1672,28.266]],["name/70-1",[]],["text/70-1",[]],["component/70-1",[]],["title/70-2",[14,9.89,17,8.321,18,4.755,96,19.978,98,16.121,1139,19.169,1672,28.266]],["name/70-2",[]],["text/70-2",[]],["component/70-2",[]],["title/70-3",[546,15.183,549,21.987]],["name/70-3",[]],["text/70-3",[]],["component/70-3",[]],["title/70",[17,9.081,18,5.19,96,21.804,98,17.595,1139,20.922,1672,30.85]],["name/70",[96,0.845,98,0.682,173,1.347,1672,1.195]],["text/70",[3,1.372,14,1.947,17,2.181,18,1.31,34,1.385,46,2.406,49,2.003,55,2.33,56,1.652,67,1.347,70,2.196,71,2.243,96,5.237,97,4.256,98,4.163,106,2.864,129,2.243,137,1.671,146,3.449,162,2.293,168,1.614,175,2.543,176,4.196,182,4.656,191,2.636,218,3.671,234,4.564,239,1.804,254,1.652,263,2.112,276,2.406,313,1.633,333,1.467,348,2.906,436,3.12,440,1.278,456,2.957,512,2.826,546,0.819,554,1.528,571,1.614,595,4.141,644,1.289,645,1.289,646,1.99,647,1.289,648,1.289,649,1.289,650,1.289,651,1.289,652,1.289,735,2.178,796,3.716,881,4.052,924,2.293,963,1.453,1027,1.545,1044,2.824,1062,3.926,1085,3.539,1137,4.363,1138,2.677,1139,4.864,1151,2.644,1446,2.406,1503,2.826,1530,4.861,1672,7.589,1673,5.101,1765,4.052,1784,4.478,1862,2.471,1959,3.815,2547,2.471,2805,4.425,2974,2.826,3136,2.406,3148,2.718,3180,5.155,3182,4.565,3206,3.339,3218,5.667,3219,3.671,3220,3.671,3221,3.671,3222,3.671,3223,3.671,3224,3.671,3225,3.671]],["component/70",[164,0.59]],["title/71-1",[17,11.113,18,6.351,96,26.682,169,25.268]],["name/71-1",[]],["text/71-1",[]],["component/71-1",[]],["title/71-2",[537,25.191,657,26.653]],["name/71-2",[]],["text/71-2",[]],["component/71-2",[]],["title/71-3",[546,15.183,549,21.987]],["name/71-3",[]],["text/71-3",[]],["component/71-3",[]],["title/71",[17,12.512,18,7.15,96,30.043]],["name/71",[96,1.064,173,1.697,1885,1.418]],["text/71",[3,1.786,14,2.027,17,2.254,18,1.358,33,2.349,61,2.968,67,2.534,70,4.13,71,3.207,81,2.451,89,2.803,91,4.498,94,3.44,96,5.481,98,3.304,105,2.451,106,2.415,146,4.038,168,2.101,169,2.287,183,3.311,186,3.133,194,2.75,218,3.666,235,2.557,247,2.151,263,3.972,302,3.9,348,4.55,366,3.417,440,1.664,445,3.106,490,2.985,524,3.85,546,1.067,554,1.99,557,2.101,644,1.679,645,1.679,646,1.679,647,1.679,648,1.679,649,2.424,650,1.679,651,1.679,652,1.679,654,4.048,661,3.417,707,3.706,735,1.837,884,2.859,958,4.351,1029,3.85,1044,2.381,1045,3.311,1139,2.318,1221,6.239,1486,3.85,1526,3.417,1530,2.985,1671,3.417,1672,3.417,1673,3.133,1975,7.261,3226,4.347,3227,6.279]],["component/71",[164,0.59]],["title/72-1",[17,8.321,18,4.755,96,19.978,97,17.582,98,16.121,348,20.27,1671,28.266]],["name/72-1",[]],["text/72-1",[]],["component/72-1",[]],["title/72-2",[17,11.113,18,6.351,96,26.682,169,25.268]],["name/72-2",[]],["text/72-2",[]],["component/72-2",[]],["title/72-3",[13,16.998,17,8.321,18,4.755,98,16.121,315,18.919,348,20.27,1671,28.266]],["name/72-3",[]],["text/72-3",[]],["component/72-3",[]],["title/72-4",[17,11.113,18,6.351,96,26.682,333,21.101]],["name/72-4",[]],["text/72-4",[]],["component/72-4",[]],["title/72-5",[4,7.85,98,12.884,109,13.154,175,21.89,218,11.809,348,16.199,571,13.891,880,21.267,1671,22.59,2548,17.538]],["name/72-5",[]],["text/72-5",[]],["component/72-5",[]],["title/72-6",[4,11.799,14,11.88,958,25.497,1221,36.562,2548,26.36]],["name/72-6",[]],["text/72-6",[]],["component/72-6",[]],["title/72-7",[546,15.183,549,21.987]],["name/72-7",[]],["text/72-7",[]],["component/72-7",[]],["title/72",[17,9.081,18,5.19,96,21.804,98,17.595,348,22.123,1671,30.85]],["name/72",[96,0.845,98,0.682,173,1.347,1679,1.421]],["text/72",[3,0.395,4,2.406,11,0.633,13,1.165,14,1.859,17,1.972,18,1.238,33,0.52,34,0.735,39,0.527,43,0.55,44,3.096,49,0.577,51,0.909,53,0.857,55,0.656,59,0.399,61,0.838,67,2.405,69,0.735,70,0.633,71,2.593,76,3.383,81,1.39,84,2.064,85,1.625,87,1.938,89,1.976,90,2.97,91,2.189,93,0.418,94,1.679,96,4.49,97,2.914,98,3.452,109,2.616,112,1.166,122,1.87,129,0.771,133,1.57,136,0.646,138,0.481,145,0.66,146,0.971,150,1.62,151,0.693,155,0.597,168,0.857,169,1.297,174,0.921,175,1.35,177,0.756,180,0.829,182,2.016,183,1.35,186,1.277,191,3.483,192,0.506,194,2.819,200,1.297,209,0.597,217,2.476,218,3.64,223,1.935,235,1.461,247,2.002,254,0.476,257,0.985,263,0.608,276,0.693,287,2.249,302,0.597,306,2.504,308,2.585,313,1.498,315,3.007,317,1.57,333,3.284,338,0.445,341,1.37,348,4.647,349,1.505,365,1.297,366,0.756,387,1.848,390,0.608,440,0.368,445,2.002,451,0.712,456,0.852,490,0.66,511,0.633,524,0.852,529,1.781,532,2.845,546,0.236,547,1.314,550,1.121,554,1.403,555,1.166,556,1.998,557,1.734,571,2.154,580,0.676,594,0.646,595,4.445,619,0.693,644,0.371,645,0.371,646,0.952,647,0.371,648,0.371,649,0.684,650,0.371,651,0.371,652,0.371,654,1.143,661,0.756,664,3.171,672,0.52,707,1.046,725,1.455,727,2.007,732,2.376,735,1.042,741,0.676,744,0.712,776,0.587,790,0.712,800,0.527,805,0.62,822,0.608,829,1.57,841,0.633,844,1.57,880,2.655,918,0.921,922,1.143,943,0.899,946,0.542,950,1.656,958,4.086,962,1.143,963,0.418,1021,0.559,1022,1.312,1027,0.445,1030,2.016,1044,3.606,1045,1.878,1062,0.733,1085,2.104,1138,1.281,1139,0.513,1151,1.572,1166,0.646,1168,0.676,1172,0.756,1221,5.572,1288,2.655,1308,0.852,1335,2.864,1373,3.295,1445,1.393,1486,0.852,1522,0.783,1526,2.409,1527,2.864,1528,4.295,1529,4.295,1530,2.463,1550,0.852,1561,0.633,1667,1.773,1671,6.284,1673,2.917,1765,3.182,1784,2.56,1822,0.783,1862,1.825,1894,0.852,1896,0.962,1970,2.087,1975,5.034,2044,2.714,2046,0.756,2049,1.938,2193,0.962,2196,0.814,2203,1.656,2296,1.656,2416,0.899,2436,0.852,2531,2.007,2548,5.589,2560,2.087,2579,0.756,2690,2.466,2805,3.389,2821,0.756,2823,0.962,3025,1.5,3136,1.777,3145,4.048,3149,0.899,3167,0.962,3170,0.899,3226,0.962,3227,5.149,3228,1.057,3229,2.711,3230,2.711,3231,1.949,3232,4.45,3233,2.711,3234,1.057,3235,1.057,3236,1.057,3237,1.057,3238,2.711,3239,1.949,3240,1.949,3241,1.949,3242,1.057,3243,1.057,3244,4.45,3245,1.949,3246,1.949,3247,1.949,3248,1.057,3249,1.949,3250,1.057,3251,1.057,3252,1.057,3253,1.057,3254,1.057]],["component/72",[164,0.59]]],"invertedIndex":[["",{"_index":191,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{},"66":{},"67":{},"69":{},"70":{},"72":{}},"component":{}}],["0",{"_index":696,"title":{},"name":{},"text":{"6":{},"37":{},"46":{},"51":{},"56":{},"57":{},"58":{}},"component":{}}],["0.0.0.0",{"_index":2772,"title":{},"name":{},"text":{"49":{}},"component":{}}],["0.0.1",{"_index":2783,"title":{},"name":{},"text":{"50":{}},"component":{}}],["0.028",{"_index":2380,"title":{},"name":{},"text":{"37":{}},"component":{}}],["0.039",{"_index":2940,"title":{},"name":{},"text":{"54":{}},"component":{}}],["0.066",{"_index":2984,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["0.099",{"_index":2985,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["0.21.3",{"_index":1525,"title":{},"name":{},"text":{"19":{}},"component":{}}],["0.28.0",{"_index":336,"title":{},"name":{},"text":{"2":{}},"component":{}}],["0.3",{"_index":1376,"title":{},"name":{},"text":{"14":{}},"component":{}}],["0.322",{"_index":2986,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["0.5556",{"_index":2280,"title":{},"name":{},"text":{"35":{}},"component":{}}],["0.7.35",{"_index":496,"title":{},"name":{},"text":{"2":{}},"component":{}}],["0.8",{"_index":1156,"title":{},"name":{},"text":{"11":{},"18":{},"19":{},"32":{}},"component":{}}],["0/2",{"_index":2851,"title":{},"name":{},"text":{"51":{}},"component":{}}],["00",{"_index":2958,"title":{},"name":{},"text":{"56":{}},"component":{}}],["0000",{"_index":3023,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["00001",{"_index":768,"title":{},"name":{},"text":{"6":{},"23":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["0044ffa0",{"_index":2086,"title":{},"name":{},"text":{"31":{}},"component":{}}],["00:00:00.180",{"_index":1625,"title":{},"name":{},"text":{"19":{}},"component":{}}],["00ce5c1d",{"_index":2320,"title":{},"name":{},"text":{"37":{}},"component":{}}],["01",{"_index":2959,"title":{},"name":{},"text":{"56":{}},"component":{}}],["01t16:08:12.038z",{"_index":1813,"title":{},"name":{},"text":{"25":{}},"component":{}}],["01t16:08:12.061z",{"_index":1814,"title":{},"name":{},"text":{"25":{}},"component":{}}],["0229",{"_index":2637,"title":{},"name":{},"text":{"46":{}},"component":{}}],["03",{"_index":2352,"title":{},"name":{},"text":{"37":{},"51":{}},"component":{}}],["037c",{"_index":2064,"title":{},"name":{},"text":{"31":{}},"component":{}}],["03:00",{"_index":1384,"title":{},"name":{},"text":{"14":{},"37":{}},"component":{}}],["03e6cf79",{"_index":2611,"title":{},"name":{},"text":{"46":{}},"component":{}}],["03t16:36:19",{"_index":2390,"title":{},"name":{},"text":{"37":{}},"component":{}}],["04",{"_index":801,"title":{},"name":{},"text":{"6":{}},"component":{}}],["05",{"_index":1577,"title":{},"name":{},"text":{"19":{}},"component":{}}],["05t17:31:00z",{"_index":802,"title":{},"name":{},"text":{"6":{}},"component":{}}],["06",{"_index":2062,"title":{},"name":{},"text":{"31":{},"37":{},"46":{},"56":{},"57":{},"58":{}},"component":{}}],["06c3fe8e2dfc42e2211cbcc41224f5a3d6bd1f26",{"_index":3018,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["07",{"_index":1382,"title":{},"name":{},"text":{"14":{},"25":{}},"component":{}}],["08t18:31:15z",{"_index":2861,"title":{},"name":{},"text":{"51":{}},"component":{}}],["09ccd1e972bb",{"_index":2076,"title":{},"name":{},"text":{"31":{}},"component":{}}],["1",{"_index":554,"title":{},"name":{},"text":{"5":{},"6":{},"10":{},"11":{},"12":{},"14":{},"18":{},"19":{},"22":{},"23":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"46":{},"47":{},"49":{},"50":{},"53":{},"56":{},"57":{},"58":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["1.0",{"_index":794,"title":{},"name":{},"text":{"6":{},"11":{},"12":{},"14":{},"18":{},"19":{},"27":{},"30":{},"31":{},"35":{},"37":{},"41":{},"54":{}},"component":{}}],["1.0.0",{"_index":1549,"title":{},"name":{},"text":{"19":{},"33":{}},"component":{}}],["1.0.1",{"_index":2020,"title":{},"name":{},"text":{"31":{},"43":{}},"component":{}}],["1.0.jar",{"_index":2384,"title":{},"name":{},"text":{"37":{}},"component":{}}],["1.0578",{"_index":2068,"title":{},"name":{},"text":{"31":{}},"component":{}}],["1.22",{"_index":2833,"title":{},"name":{},"text":{"51":{}},"component":{}}],["1.22.0.final",{"_index":1642,"title":{},"name":{},"text":{"19":{}},"component":{}}],["1.22.1.final",{"_index":2938,"title":{},"name":{},"text":{"54":{}},"component":{}}],["1.27.2",{"_index":2048,"title":{},"name":{},"text":{"31":{}},"component":{}}],["1.302",{"_index":2939,"title":{},"name":{},"text":{"54":{}},"component":{}}],["1.34",{"_index":2872,"title":{},"name":{},"text":{"51":{}},"component":{}}],["1.34.0",{"_index":2871,"title":{},"name":{},"text":{"51":{}},"component":{}}],["1.40",{"_index":170,"title":{"2":{}},"name":{},"text":{},"component":{}}],["1.46.0",{"_index":3228,"title":{},"name":{},"text":{"72":{}},"component":{}}],["1/2",{"_index":2854,"title":{},"name":{},"text":{"51":{}},"component":{}}],["10",{"_index":619,"title":{},"name":{},"text":{"5":{},"6":{},"12":{},"31":{},"41":{},"56":{},"57":{},"58":{},"64":{},"72":{}},"component":{}}],["10.0.0.0/24",{"_index":2841,"title":{},"name":{},"text":{"51":{}},"component":{}}],["10.100.120.208",{"_index":2971,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.102.87.208",{"_index":2968,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.106.202.150",{"_index":2964,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.108.153.180",{"_index":2973,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.111.19.134",{"_index":2960,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.96.0.0/12",{"_index":3060,"title":{},"name":{},"text":{"57":{}},"component":{}}],["10.97.110.167",{"_index":2951,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.98.150.141",{"_index":2962,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.98.64.78",{"_index":2955,"title":{},"name":{},"text":{"56":{}},"component":{}}],["100",{"_index":1339,"title":{},"name":{},"text":{"13":{}},"component":{}}],["1000",{"_index":2462,"title":{},"name":{},"text":{"41":{}},"component":{}}],["10000",{"_index":569,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["10237",{"_index":508,"title":{},"name":{},"text":{"2":{}},"component":{}}],["11",{"_index":1522,"title":{},"name":{},"text":{"19":{},"31":{},"41":{},"43":{},"64":{},"72":{}},"component":{}}],["12",{"_index":2436,"title":{},"name":{},"text":{"41":{},"51":{},"64":{},"72":{}},"component":{}}],["12.2",{"_index":1251,"title":{},"name":{},"text":{"12":{}},"component":{}}],["123",{"_index":799,"title":{},"name":{},"text":{"6":{}},"component":{}}],["12345",{"_index":1375,"title":{},"name":{},"text":{"14":{}},"component":{}}],["124859",{"_index":3059,"title":{},"name":{},"text":{"57":{}},"component":{}}],["13",{"_index":3167,"title":{},"name":{},"text":{"64":{},"72":{}},"component":{}}],["1370",{"_index":479,"title":{},"name":{},"text":{"2":{}},"component":{}}],["13:43:45,077",{"_index":2674,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:43:45,215",{"_index":2675,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:43:45,219",{"_index":2676,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:43:45,230",{"_index":2678,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:43:45,239",{"_index":2684,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:43:45,244",{"_index":2689,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:44:36,666",{"_index":2644,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:44:36,669",{"_index":2646,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:44:36,673",{"_index":2648,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:44:36,676",{"_index":2650,"title":{},"name":{},"text":{"46":{}},"component":{}}],["14",{"_index":3253,"title":{},"name":{},"text":{"72":{}},"component":{}}],["14:38:09,741",{"_index":1579,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:09,840",{"_index":1581,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:09,843",{"_index":1585,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,877",{"_index":1592,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,878",{"_index":1597,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,879",{"_index":1598,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,880",{"_index":1603,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,889",{"_index":1608,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,890",{"_index":1617,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:13,375",{"_index":1632,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:13,377",{"_index":1637,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:13,378",{"_index":1640,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:13,379",{"_index":1646,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:13,380",{"_index":1649,"title":{},"name":{},"text":{"19":{}},"component":{}}],["15",{"_index":943,"title":{},"name":{},"text":{"8":{},"12":{},"72":{}},"component":{}}],["15.558",{"_index":2389,"title":{},"name":{},"text":{"37":{}},"component":{}}],["154.0",{"_index":1757,"title":{},"name":{},"text":{"24":{}},"component":{}}],["1564baf907a1",{"_index":2067,"title":{},"name":{},"text":{"31":{}},"component":{}}],["162.0",{"_index":1761,"title":{},"name":{},"text":{"24":{}},"component":{}}],["16384",{"_index":2845,"title":{},"name":{},"text":{"51":{}},"component":{}}],["16:36:11,461",{"_index":2353,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:11,708",{"_index":2357,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:12,004",{"_index":2369,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:14,486",{"_index":2371,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:14,612",{"_index":2372,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:14,613",{"_index":2376,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:16,559",{"_index":2379,"title":{},"name":{},"text":{"37":{}},"component":{}}],["17:38:09,692",{"_index":1599,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:09,705",{"_index":1604,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:12,332",{"_index":1609,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:12,405",{"_index":1618,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:12,636",{"_index":1630,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:12.332",{"_index":1611,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:13,105",{"_index":1633,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:13,132",{"_index":1638,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:13,181",{"_index":1641,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:13,182",{"_index":1647,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17ebabdb3585",{"_index":2640,"title":{},"name":{},"text":{"46":{}},"component":{}}],["18000/tcp",{"_index":2972,"title":{},"name":{},"text":{"56":{}},"component":{}}],["1912",{"_index":2667,"title":{},"name":{},"text":{"46":{}},"component":{}}],["192.168.58.2",{"_index":3061,"title":{},"name":{},"text":{"57":{}},"component":{}}],["1c12",{"_index":2631,"title":{},"name":{},"text":{"46":{}},"component":{}}],["1d174d25",{"_index":1377,"title":{},"name":{},"text":{"14":{}},"component":{}}],["1e37",{"_index":2617,"title":{},"name":{},"text":{"46":{}},"component":{}}],["2",{"_index":313,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"10":{},"11":{},"12":{},"14":{},"18":{},"19":{},"22":{},"23":{},"25":{},"30":{},"31":{},"32":{},"35":{},"37":{},"40":{},"41":{},"42":{},"46":{},"47":{},"50":{},"53":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"67":{},"68":{},"70":{},"72":{}},"component":{}}],["2.0",{"_index":126,"title":{"31":{},"30-5":{},"31-1":{}},"name":{},"text":{"1":{},"30":{},"31":{}},"component":{}}],["2.0.0",{"_index":2107,"title":{},"name":{},"text":{"32":{}},"component":{}}],["2.10.2.final",{"_index":3045,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["2.1156",{"_index":2069,"title":{},"name":{},"text":{"31":{}},"component":{}}],["2.16.7.final",{"_index":1583,"title":{},"name":{},"text":{"19":{},"62":{}},"component":{}}],["2.3.1",{"_index":491,"title":{},"name":{},"text":{"2":{}},"component":{}}],["2.9.0.final",{"_index":1643,"title":{},"name":{},"text":{"19":{}},"component":{}}],["2.9.2.final",{"_index":2373,"title":{},"name":{},"text":{"37":{},"54":{}},"component":{}}],["2/2",{"_index":2856,"title":{},"name":{},"text":{"51":{}},"component":{}}],["20",{"_index":614,"title":{},"name":{},"text":{"5":{},"51":{}},"component":{}}],["20.10.7",{"_index":2047,"title":{},"name":{},"text":{"31":{}},"component":{}}],["200",{"_index":1909,"title":{},"name":{},"text":{"30":{},"31":{},"35":{}},"component":{}}],["2000",{"_index":1796,"title":{},"name":{},"text":{"25":{}},"component":{}}],["201",{"_index":2347,"title":{},"name":{},"text":{"37":{}},"component":{}}],["2018",{"_index":507,"title":{},"name":{},"text":{"2":{},"6":{}},"component":{}}],["2021",{"_index":465,"title":{},"name":{},"text":{"2":{}},"component":{}}],["2022",{"_index":483,"title":{},"name":{},"text":{"2":{},"14":{},"19":{},"25":{},"31":{},"37":{},"46":{},"56":{},"57":{},"58":{}},"component":{}}],["2023",{"_index":472,"title":{},"name":{},"text":{"2":{},"51":{}},"component":{}}],["218.0",{"_index":1759,"title":{},"name":{},"text":{"24":{}},"component":{}}],["21bb14db61f0",{"_index":1257,"title":{},"name":{},"text":{"12":{}},"component":{}}],["21bb14db61f0\",\"source\":\"/local/curl\",\"type\":\"kogito.serverless.loanbroker.aggregated.quotes.response\",\"data",{"_index":1239,"title":{},"name":{},"text":{"12":{}},"component":{}}],["22.3.0",{"_index":2906,"title":{},"name":{},"text":{"54":{}},"component":{}}],["23",{"_index":3021,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["23:53:38",{"_index":3022,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["24",{"_index":940,"title":{},"name":{},"text":{"8":{},"46":{}},"component":{}}],["25",{"_index":1578,"title":{},"name":{},"text":{"19":{}},"component":{}}],["25194",{"_index":505,"title":{},"name":{},"text":{"2":{}},"component":{}}],["25t16:22:53.735128049",{"_index":1396,"title":{},"name":{},"text":{"14":{}},"component":{}}],["25t16:29:27.320408379",{"_index":1412,"title":{},"name":{},"text":{"14":{}},"component":{}}],["25t16:30:35.461988261",{"_index":1383,"title":{},"name":{},"text":{"14":{}},"component":{}}],["2669m",{"_index":2388,"title":{},"name":{},"text":{"37":{}},"component":{}}],["29425",{"_index":466,"title":{},"name":{},"text":{"2":{}},"component":{}}],["2acf710d",{"_index":2942,"title":{},"name":{},"text":{"54":{}},"component":{}}],["2d9184dd4b3d\",\"workflowdata\":{\"greeting\":\"hello",{"_index":1663,"title":{},"name":{},"text":{"19":{}},"component":{}}],["2fcda936e00",{"_index":2659,"title":{},"name":{},"text":{"46":{}},"component":{}}],["2s",{"_index":1736,"title":{},"name":{},"text":{"24":{}},"component":{}}],["3",{"_index":365,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"10":{},"11":{},"12":{},"18":{},"19":{},"22":{},"23":{},"25":{},"30":{},"31":{},"35":{},"37":{},"40":{},"41":{},"42":{},"46":{},"47":{},"53":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"72":{}},"component":{}}],["3.0.3",{"_index":2019,"title":{},"name":{},"text":{"31":{},"32":{},"35":{}},"component":{}}],["3.1.0",{"_index":1907,"title":{},"name":{},"text":{"30":{}},"component":{}}],["3.4.2.final",{"_index":2356,"title":{},"name":{},"text":{"37":{}},"component":{}}],["3.635",{"_index":2374,"title":{},"name":{},"text":{"37":{}},"component":{}}],["3.8.6",{"_index":1524,"title":{},"name":{},"text":{"19":{},"31":{},"43":{}},"component":{}}],["30",{"_index":1242,"title":{},"name":{},"text":{"12":{},"24":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["300000",{"_index":1240,"title":{},"name":{},"text":{"12":{}},"component":{}}],["32.0",{"_index":2278,"title":{},"name":{},"text":{"35":{}},"component":{}}],["3301",{"_index":2612,"title":{},"name":{},"text":{"46":{}},"component":{}}],["3349741271d5",{"_index":2665,"title":{},"name":{},"text":{"46":{}},"component":{}}],["34104",{"_index":473,"title":{},"name":{},"text":{"2":{}},"component":{}}],["34169",{"_index":503,"title":{},"name":{},"text":{"2":{}},"component":{}}],["3517",{"_index":498,"title":{},"name":{},"text":{"2":{}},"component":{}}],["36ee",{"_index":2237,"title":{},"name":{},"text":{"34":{}},"component":{}}],["36ef",{"_index":2808,"title":{},"name":{},"text":{"50":{}},"component":{}}],["399ce304",{"_index":2063,"title":{},"name":{},"text":{"31":{}},"component":{}}],["3aa1ace60e79",{"_index":1394,"title":{},"name":{},"text":{"14":{}},"component":{}}],["3h16m",{"_index":769,"title":{},"name":{},"text":{"6":{},"23":{}},"component":{}}],["3m50",{"_index":2718,"title":{},"name":{},"text":{"47":{}},"component":{}}],["4",{"_index":946,"title":{},"name":{},"text":{"8":{},"11":{},"12":{},"18":{},"19":{},"22":{},"25":{},"30":{},"31":{},"35":{},"37":{},"40":{},"41":{},"42":{},"47":{},"51":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"72":{}},"component":{}}],["4.691",{"_index":1644,"title":{},"name":{},"text":{"19":{}},"component":{}}],["4.885",{"_index":2988,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["4.x",{"_index":3071,"title":{},"name":{},"text":{"58":{}},"component":{}}],["400",{"_index":1116,"title":{},"name":{},"text":{"10":{}},"component":{}}],["4061",{"_index":2626,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4062",{"_index":1661,"title":{},"name":{},"text":{"19":{}},"component":{}}],["4091",{"_index":1621,"title":{},"name":{},"text":{"19":{}},"component":{}}],["4096",{"_index":2839,"title":{},"name":{},"text":{"51":{}},"component":{}}],["40b7",{"_index":2238,"title":{},"name":{},"text":{"34":{}},"component":{}}],["40ea",{"_index":2632,"title":{},"name":{},"text":{"46":{}},"component":{}}],["41495513",{"_index":1256,"title":{},"name":{},"text":{"12":{}},"component":{}}],["42d4",{"_index":2230,"title":{},"name":{},"text":{"34":{}},"component":{}}],["432d",{"_index":2681,"title":{},"name":{},"text":{"46":{}},"component":{}}],["434b",{"_index":2613,"title":{},"name":{},"text":{"46":{}},"component":{}}],["43m",{"_index":2966,"title":{},"name":{},"text":{"56":{}},"component":{}}],["44729",{"_index":1628,"title":{},"name":{},"text":{"19":{}},"component":{}}],["44m",{"_index":2953,"title":{},"name":{},"text":{"56":{}},"component":{}}],["4517",{"_index":2663,"title":{},"name":{},"text":{"46":{}},"component":{}}],["457c2d37d2fe",{"_index":1381,"title":{},"name":{},"text":{"14":{}},"component":{}}],["45ef",{"_index":2231,"title":{},"name":{},"text":{"34":{}},"component":{}}],["45fd",{"_index":1702,"title":{},"name":{},"text":{"22":{}},"component":{}}],["46175",{"_index":484,"title":{},"name":{},"text":{"2":{}},"component":{}}],["46ac",{"_index":1378,"title":{},"name":{},"text":{"14":{}},"component":{}}],["4730",{"_index":2157,"title":{},"name":{},"text":{"32":{}},"component":{}}],["4785",{"_index":1379,"title":{},"name":{},"text":{"14":{}},"component":{}}],["47d7",{"_index":2074,"title":{},"name":{},"text":{"31":{}},"component":{}}],["481d",{"_index":2944,"title":{},"name":{},"text":{"54":{}},"component":{}}],["486d",{"_index":2065,"title":{},"name":{},"text":{"31":{}},"component":{}}],["48ba",{"_index":2809,"title":{},"name":{},"text":{"50":{}},"component":{}}],["48c9",{"_index":1191,"title":{},"name":{},"text":{"11":{}},"component":{}}],["4936",{"_index":2321,"title":{},"name":{},"text":{"37":{}},"component":{}}],["4956",{"_index":1409,"title":{},"name":{},"text":{"14":{}},"component":{}}],["4[0",{"_index":1118,"title":{},"name":{},"text":{"10":{}},"component":{}}],["4a81",{"_index":1237,"title":{},"name":{},"text":{"12":{}},"component":{}}],["4b34",{"_index":2668,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4b35e85c2406\",\"workflowdata\":{\"result\":\"abc",{"_index":1184,"title":{},"name":{},"text":{"11":{}},"component":{}}],["4b8e",{"_index":2638,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4b94408d",{"_index":2679,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4bd2",{"_index":3005,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["4c0e",{"_index":2657,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4ca9",{"_index":2164,"title":{},"name":{},"text":{"32":{}},"component":{}}],["4d60",{"_index":2726,"title":{},"name":{},"text":{"47":{}},"component":{}}],["4d7a",{"_index":2618,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4d94",{"_index":1392,"title":{},"name":{},"text":{"14":{},"46":{}},"component":{}}],["4e0b",{"_index":1714,"title":{},"name":{},"text":{"23":{}},"component":{}}],["4e18",{"_index":2322,"title":{},"name":{},"text":{"37":{}},"component":{}}],["4e6c",{"_index":2762,"title":{},"name":{},"text":{"48":{}},"component":{}}],["4f25",{"_index":1182,"title":{},"name":{},"text":{"11":{}},"component":{}}],["4fb4",{"_index":1400,"title":{},"name":{},"text":{"14":{}},"component":{}}],["4fdc",{"_index":2088,"title":{},"name":{},"text":{"31":{}},"component":{}}],["5",{"_index":805,"title":{},"name":{},"text":{"6":{},"11":{},"19":{},"31":{},"35":{},"37":{},"41":{},"42":{},"47":{},"56":{},"57":{},"58":{},"63":{},"64":{},"72":{}},"component":{}}],["5.061",{"_index":2989,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["5.322",{"_index":2992,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["5.460",{"_index":2994,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["50051",{"_index":2220,"title":{},"name":{},"text":{"34":{}},"component":{}}],["51fd",{"_index":2163,"title":{},"name":{},"text":{"32":{}},"component":{}}],["5952",{"_index":2156,"title":{},"name":{},"text":{"32":{}},"component":{}}],["5df1ed6",{"_index":1619,"title":{},"name":{},"text":{"19":{}},"component":{}}],["6",{"_index":1166,"title":{},"name":{},"text":{"11":{},"19":{},"25":{},"31":{},"37":{},"41":{},"42":{},"56":{},"57":{},"58":{},"63":{},"64":{},"72":{}},"component":{}}],["6.470",{"_index":1584,"title":{},"name":{},"text":{"19":{}},"component":{}}],["60",{"_index":2468,"title":{},"name":{},"text":{"41":{}},"component":{}}],["610809090d9c",{"_index":2620,"title":{},"name":{},"text":{"46":{}},"component":{}}],["63dd79c4071e",{"_index":2683,"title":{},"name":{},"text":{"46":{}},"component":{}}],["6676",{"_index":2656,"title":{},"name":{},"text":{"46":{}},"component":{}}],["679e2cd89394",{"_index":2634,"title":{},"name":{},"text":{"46":{}},"component":{}}],["69019826",{"_index":1398,"title":{},"name":{},"text":{"14":{}},"component":{}}],["6e403a654a30\",\"workflowdata\":{\"name\":\"john\",\"language\":\"english\",\"message\":\"hello",{"_index":2233,"title":{},"name":{},"text":{"34":{}},"component":{}}],["6fbd61128f51\",\"workflowdata",{"_index":2728,"title":{},"name":{},"text":{"47":{}},"component":{}}],["6s",{"_index":2853,"title":{},"name":{},"text":{"51":{}},"component":{}}],["7",{"_index":1168,"title":{},"name":{},"text":{"11":{},"19":{},"31":{},"37":{},"41":{},"56":{},"57":{},"58":{},"63":{},"64":{},"72":{}},"component":{}}],["7.819",{"_index":2378,"title":{},"name":{},"text":{"37":{}},"component":{}}],["700",{"_index":1245,"title":{},"name":{},"text":{"12":{}},"component":{}}],["734907f0fef2",{"_index":2670,"title":{},"name":{},"text":{"46":{}},"component":{}}],["7450",{"_index":280,"title":{},"name":{},"text":{"2":{}},"component":{}}],["7456",{"_index":455,"title":{},"name":{},"text":{"2":{}},"component":{}}],["7640a0af",{"_index":1390,"title":{},"name":{},"text":{"14":{}},"component":{}}],["777adb97",{"_index":1700,"title":{},"name":{},"text":{"22":{}},"component":{}}],["782d",{"_index":1713,"title":{},"name":{},"text":{"23":{}},"component":{}}],["7a15",{"_index":1620,"title":{},"name":{},"text":{"19":{}},"component":{}}],["7b2b",{"_index":2087,"title":{},"name":{},"text":{"31":{}},"component":{}}],["7e4a",{"_index":2943,"title":{},"name":{},"text":{"54":{}},"component":{}}],["7f63872c92f4\",\"workflowdata\":{\"result\":\"bc",{"_index":1193,"title":{},"name":{},"text":{"11":{}},"component":{}}],["7m6",{"_index":3001,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["7s",{"_index":2855,"title":{},"name":{},"text":{"51":{}},"component":{}}],["8",{"_index":790,"title":{},"name":{},"text":{"6":{},"11":{},"19":{},"31":{},"41":{},"51":{},"63":{},"64":{},"72":{}},"component":{}}],["80/tcp",{"_index":2965,"title":{},"name":{},"text":{"56":{}},"component":{}}],["8057",{"_index":453,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8080",{"_index":1727,"title":{},"name":{},"text":{"24":{},"49":{},"56":{},"57":{},"58":{}},"component":{}}],["8080/tcp",{"_index":2961,"title":{},"name":{},"text":{"56":{}},"component":{}}],["8080:8080",{"_index":2937,"title":{},"name":{},"text":{"54":{}},"component":{}}],["8082",{"_index":892,"title":{},"name":{},"text":{"6":{}},"component":{}}],["8180",{"_index":635,"title":{},"name":{},"text":{"5":{}},"component":{}}],["82cd",{"_index":2619,"title":{},"name":{},"text":{"46":{}},"component":{}}],["837e",{"_index":3004,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["8455",{"_index":273,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8479",{"_index":1238,"title":{},"name":{},"text":{"12":{}},"component":{}}],["8555",{"_index":2658,"title":{},"name":{},"text":{"46":{}},"component":{}}],["85ab59366fe6",{"_index":1411,"title":{},"name":{},"text":{"14":{}},"component":{}}],["85bb",{"_index":2682,"title":{},"name":{},"text":{"46":{}},"component":{}}],["8601",{"_index":935,"title":{},"name":{},"text":{"8":{}},"component":{}}],["8644",{"_index":269,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8648",{"_index":266,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8650",{"_index":452,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8651",{"_index":450,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8675",{"_index":262,"title":{},"name":{},"text":{"2":{}},"component":{}}],["86cc",{"_index":1183,"title":{},"name":{},"text":{"11":{}},"component":{}}],["8775",{"_index":1410,"title":{},"name":{},"text":{"14":{}},"component":{}}],["880b",{"_index":1401,"title":{},"name":{},"text":{"14":{}},"component":{}}],["8843",{"_index":449,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8866",{"_index":260,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8961",{"_index":447,"title":{},"name":{},"text":{"2":{}},"component":{}}],["89fa54d25e98",{"_index":2811,"title":{},"name":{},"text":{"50":{}},"component":{}}],["8a5e",{"_index":2232,"title":{},"name":{},"text":{"34":{}},"component":{}}],["8a8b",{"_index":2686,"title":{},"name":{},"text":{"46":{}},"component":{}}],["8cad",{"_index":2680,"title":{},"name":{},"text":{"46":{}},"component":{}}],["8e96",{"_index":2627,"title":{},"name":{},"text":{"46":{}},"component":{}}],["8gb",{"_index":2837,"title":{},"name":{},"text":{"51":{}},"component":{}}],["9",{"_index":1172,"title":{},"name":{},"text":{"11":{},"31":{},"37":{},"41":{},"63":{},"64":{},"72":{}},"component":{}}],["9+&@#/%=~_",{"_index":3243,"title":{},"name":{},"text":{"72":{}},"component":{}}],["9+&@#/%?=_",{"_index":3242,"title":{},"name":{},"text":{"72":{}},"component":{}}],["9011",{"_index":444,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9017",{"_index":438,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9079",{"_index":433,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9090/tcp,8008/tcp",{"_index":2963,"title":{},"name":{},"text":{"56":{}},"component":{}}],["9090/tcp,8008/tcp,443/tcp",{"_index":2969,"title":{},"name":{},"text":{"56":{}},"component":{}}],["9090/tcp,8008/tcp,80/tcp,81/tcp,443/tcp",{"_index":2952,"title":{},"name":{},"text":{"56":{}},"component":{}}],["9090/tcp,8008/tcp,8080/tcp",{"_index":2956,"title":{},"name":{},"text":{"56":{}},"component":{}}],["9106",{"_index":255,"title":{},"name":{},"text":{"2":{}},"component":{}}],["910d8e06728d",{"_index":2628,"title":{},"name":{},"text":{"46":{}},"component":{}}],["9141",{"_index":429,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9143",{"_index":426,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9144",{"_index":250,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9154",{"_index":248,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9157",{"_index":423,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9163",{"_index":419,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9167",{"_index":417,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9168",{"_index":415,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9177",{"_index":244,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9181",{"_index":243,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9182",{"_index":409,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9183",{"_index":406,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9187",{"_index":404,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9189",{"_index":402,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9194",{"_index":400,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9200",{"_index":399,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9205",{"_index":396,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9207",{"_index":392,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9208",{"_index":389,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9209",{"_index":385,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9210",{"_index":382,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9211",{"_index":380,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9212",{"_index":376,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9213",{"_index":370,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9214",{"_index":367,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9216",{"_index":237,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9217",{"_index":232,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9220",{"_index":229,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9221",{"_index":364,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9225",{"_index":362,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9229",{"_index":357,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9230",{"_index":351,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9233",{"_index":226,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9234",{"_index":345,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9238",{"_index":343,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9241",{"_index":342,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9242",{"_index":340,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9246",{"_index":220,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9251",{"_index":337,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9254",{"_index":334,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9255",{"_index":331,"title":{},"name":{},"text":{"2":{}},"component":{}}],["925c",{"_index":2945,"title":{},"name":{},"text":{"54":{}},"component":{}}],["9262",{"_index":328,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9263",{"_index":213,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9281",{"_index":208,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9287",{"_index":205,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9290",{"_index":324,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9291",{"_index":201,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9300",{"_index":321,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9304",{"_index":320,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9305",{"_index":316,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9311",{"_index":2763,"title":{},"name":{},"text":{"48":{}},"component":{}}],["9312",{"_index":197,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9313",{"_index":312,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9315",{"_index":193,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9318",{"_index":189,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9322",{"_index":307,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9323",{"_index":187,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9326",{"_index":303,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9348",{"_index":300,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9349",{"_index":178,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9354",{"_index":2075,"title":{},"name":{},"text":{"31":{}},"component":{}}],["9364",{"_index":172,"title":{},"name":{},"text":{"2":{}},"component":{}}],["938264210",{"_index":1595,"title":{},"name":{},"text":{"19":{}},"component":{}}],["9386",{"_index":296,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9387",{"_index":290,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9388",{"_index":286,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9392",{"_index":284,"title":{},"name":{},"text":{"2":{}},"component":{}}],["93dd",{"_index":2239,"title":{},"name":{},"text":{"34":{}},"component":{}}],["948547ffd",{"_index":2849,"title":{},"name":{},"text":{"51":{}},"component":{}}],["953f07a7",{"_index":1407,"title":{},"name":{},"text":{"14":{}},"component":{}}],["9706",{"_index":2625,"title":{},"name":{},"text":{"46":{}},"component":{}}],["984b5c6c",{"_index":2807,"title":{},"name":{},"text":{"50":{}},"component":{}}],["99",{"_index":1613,"title":{},"name":{},"text":{"19":{}},"component":{}}],["9969",{"_index":1703,"title":{},"name":{},"text":{"22":{}},"component":{}}],["998c",{"_index":2323,"title":{},"name":{},"text":{"37":{}},"component":{}}],["9]{2",{"_index":1119,"title":{},"name":{},"text":{"10":{}},"component":{}}],["9bae",{"_index":2725,"title":{},"name":{},"text":{"47":{}},"component":{}}],["9d543764",{"_index":2685,"title":{},"name":{},"text":{"46":{}},"component":{}}],["9d9d",{"_index":1393,"title":{},"name":{},"text":{"14":{}},"component":{}}],["_",{"_index":1574,"title":{},"name":{},"text":{"19":{},"30":{},"32":{},"59":{}},"component":{}}],["_/_/|_/_/|_|\\____/___",{"_index":1576,"title":{},"name":{},"text":{"19":{}},"component":{}}],["__",{"_index":1569,"title":{},"name":{},"text":{"19":{},"59":{}},"component":{}}],["___",{"_index":1572,"title":{},"name":{},"text":{"19":{},"59":{}},"component":{}}],["___\\_\\____/_",{"_index":1575,"title":{},"name":{},"text":{"19":{}},"component":{}}],["____",{"_index":1570,"title":{},"name":{},"text":{"19":{},"59":{}},"component":{}}],["_____",{"_index":1571,"title":{},"name":{},"text":{"19":{},"59":{}},"component":{}}],["______",{"_index":1573,"title":{},"name":{},"text":{"19":{},"59":{}},"component":{}}],["_______",{"_index":3098,"title":{},"name":{},"text":{"59":{}},"component":{}}],["________",{"_index":3097,"title":{},"name":{},"text":{"59":{}},"component":{}}],["_________",{"_index":3099,"title":{},"name":{},"text":{"59":{}},"component":{}}],["____________",{"_index":3100,"title":{},"name":{},"text":{"59":{}},"component":{}}],["____________________",{"_index":3103,"title":{},"name":{},"text":{"59":{}},"component":{}}],["__________________________",{"_index":3104,"title":{},"name":{},"text":{"59":{}},"component":{}}],["______________________________",{"_index":3101,"title":{},"name":{},"text":{"59":{}},"component":{}}],["_dev_quarkus_rest_client_stock_svc_yaml_url=http://localhost:8383",{"_index":2169,"title":{},"name":{},"text":{"32":{}},"component":{}}],["_input",{"_index":405,"title":{},"name":{},"text":{"2":{}},"component":{}}],["_swf_eval_temp",{"_index":603,"title":{},"name":{},"text":{"5":{}},"component":{}}],["a0e5e0265fcb\",\"workflowdata\":{\"name\":\"john\",\"language\":\"english\",\"greeting\":\"hello",{"_index":3007,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["a2328f969c73\",\"workflowdata\":{\"name\":\"john\",\"response\":[{\"message\":\"hello",{"_index":2240,"title":{},"name":{},"text":{"34":{}},"component":{}}],["a363",{"_index":2639,"title":{},"name":{},"text":{"46":{}},"component":{}}],["a3e4",{"_index":1192,"title":{},"name":{},"text":{"11":{}},"component":{}}],["a6c4",{"_index":2662,"title":{},"name":{},"text":{"46":{}},"component":{}}],["a6d2",{"_index":1662,"title":{},"name":{},"text":{"19":{}},"component":{}}],["a95f95c9c190\",\"workflowdata\":{\"name\":\"kogito\",\"greeting\":\"greet",{"_index":1716,"title":{},"name":{},"text":{"23":{}},"component":{}}],["a9b",{"_index":1715,"title":{},"name":{},"text":{"23":{}},"component":{}}],["a9ef",{"_index":1236,"title":{},"name":{},"text":{"12":{}},"component":{}}],["a_unique_id_42",{"_index":812,"title":{},"name":{},"text":{"6":{}},"component":{}}],["aa11",{"_index":2810,"title":{},"name":{},"text":{"50":{}},"component":{}}],["aaee",{"_index":2687,"title":{},"name":{},"text":{"46":{}},"component":{}}],["abil",{"_index":3140,"title":{},"name":{},"text":{"63":{}},"component":{}}],["abort",{"_index":1092,"title":{},"name":{},"text":{"10":{},"64":{}},"component":{}}],["abov",{"_index":676,"title":{},"name":{},"text":{"6":{},"28":{},"50":{},"52":{},"59":{}},"component":{}}],["absolut",{"_index":2216,"title":{},"name":{},"text":{"34":{}},"component":{}}],["abstract",{"_index":1196,"title":{},"name":{},"text":{"12":{},"13":{}},"component":{}}],["acceler",{"_index":3186,"title":{},"name":{},"text":{"66":{}},"component":{}}],["accept",{"_index":1076,"title":{},"name":{},"text":{"9":{},"10":{},"11":{},"23":{},"31":{},"32":{},"34":{},"37":{},"41":{},"47":{}},"component":{}}],["accept(contenttype.json",{"_index":2340,"title":{},"name":{},"text":{"37":{},"40":{}},"component":{}}],["accept:application/json",{"_index":2226,"title":{},"name":{},"text":{"34":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["access",{"_index":547,"title":{"6-6":{},"35-4":{},"61-5":{}},"name":{"4":{}},"text":{"6":{},"8":{},"13":{},"19":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"43":{},"47":{},"50":{},"53":{},"56":{},"58":{},"62":{},"65":{},"66":{},"67":{},"69":{},"72":{}},"component":{}}],["accomplish",{"_index":2317,"title":{},"name":{},"text":{"36":{}},"component":{}}],["accord",{"_index":1431,"title":{},"name":{},"text":{"15":{},"16":{},"30":{},"35":{}},"component":{}}],["accordingli",{"_index":3070,"title":{},"name":{},"text":{"58":{}},"component":{}}],["account",{"_index":1373,"title":{"69-1":{}},"name":{},"text":{"14":{},"65":{},"66":{},"69":{},"72":{}},"component":{}}],["accur",{"_index":1966,"title":{},"name":{},"text":{"31":{}},"component":{}}],["achiev",{"_index":1476,"title":{},"name":{},"text":{"17":{},"18":{},"67":{}},"component":{}}],["acknowledgment(strategy.post_process",{"_index":1468,"title":{},"name":{},"text":{"16":{}},"component":{}}],["acm",{"_index":1963,"title":{},"name":{},"text":{"31":{}},"component":{}}],["acme_financial_oauth",{"_index":2028,"title":{},"name":{},"text":{"31":{}},"component":{}}],["acme_financial_service_oauth",{"_index":2045,"title":{},"name":{},"text":{"31":{}},"component":{}}],["acquir",{"_index":1763,"title":{},"name":{},"text":{"25":{}},"component":{}}],["act",{"_index":1199,"title":{},"name":{},"text":{"12":{},"14":{},"41":{}},"component":{}}],["action",{"_index":672,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"16":{},"17":{},"22":{},"23":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"46":{},"47":{},"50":{},"52":{},"59":{},"63":{},"64":{},"65":{},"72":{}},"component":{}}],["actiondatafilt",{"_index":1081,"title":{},"name":{},"text":{"9":{},"31":{},"46":{}},"component":{}}],["actionmod",{"_index":2135,"title":{},"name":{},"text":{"32":{},"35":{}},"component":{}}],["activ",{"_index":933,"title":{"64-2":{}},"name":{},"text":{"8":{},"11":{},"14":{},"19":{},"32":{},"36":{},"37":{},"46":{},"47":{},"48":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"64":{},"65":{},"67":{}},"component":{}}],["activateaccount",{"_index":1369,"title":{},"name":{},"text":{"14":{}},"component":{}}],["activateaccountev",{"_index":1368,"title":{},"name":{},"text":{"14":{}},"component":{}}],["activatedaccount",{"_index":1371,"title":{},"name":{},"text":{"14":{}},"component":{}}],["activatedaccountev",{"_index":1370,"title":{},"name":{},"text":{"14":{}},"component":{}}],["activity/servic",{"_index":1480,"title":{},"name":{},"text":{"17":{}},"component":{}}],["actual",{"_index":1504,"title":{},"name":{},"text":{"18":{}},"component":{}}],["ad",{"_index":725,"title":{"42-1":{}},"name":{},"text":{"6":{},"9":{},"16":{},"22":{},"24":{},"30":{},"34":{},"35":{},"40":{},"41":{},"42":{},"54":{},"56":{},"57":{},"58":{},"63":{},"64":{},"65":{},"72":{}},"component":{}}],["ad9c",{"_index":1660,"title":{},"name":{},"text":{"19":{}},"component":{}}],["add",{"_index":129,"title":{"12-1":{},"12-2":{}},"name":{},"text":{"1":{},"2":{},"3":{},"6":{},"7":{},"8":{},"11":{},"12":{},"13":{},"14":{},"15":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"49":{},"52":{},"54":{},"56":{},"57":{},"58":{},"61":{},"62":{},"64":{},"66":{},"67":{},"69":{},"70":{},"72":{}},"component":{}}],["addit",{"_index":657,"title":{"6-21":{},"7-1":{},"8-9":{},"9-4":{},"10-3":{},"11-4":{},"12-6":{},"13-4":{},"14-2":{},"15-2":{},"16-2":{},"17-3":{},"18-12":{},"19-6":{},"22-5":{},"23-2":{},"25-4":{},"27-2":{},"30-7":{},"31-4":{},"32-9":{},"35-6":{},"36-8":{},"37-1":{},"40-3":{},"41-4":{},"42-4":{},"43-6":{},"46-4":{},"47-11":{},"48-7":{},"49-3":{},"50-11":{},"51-4":{},"53-4":{},"54-5":{},"59-6":{},"68-2":{},"71-2":{}},"name":{},"text":{"12":{},"18":{},"30":{},"32":{},"33":{},"40":{},"59":{}},"component":{}}],["addition",{"_index":2308,"title":{},"name":{},"text":{"36":{},"64":{}},"component":{}}],["addon",{"_index":196,"title":{"8-7":{}},"name":{},"text":{"2":{},"6":{},"8":{},"12":{},"14":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"36":{},"37":{},"40":{},"51":{},"52":{},"56":{},"57":{},"58":{},"59":{},"62":{},"64":{}},"component":{}}],["addonsconfig",{"_index":2359,"title":{},"name":{},"text":{"37":{}},"component":{}}],["addonsconfig{usepersistence=fals",{"_index":2360,"title":{},"name":{},"text":{"37":{}},"component":{}}],["address",{"_index":267,"title":{"48-4":{}},"name":{},"text":{"2":{},"12":{},"41":{},"46":{},"48":{},"50":{},"53":{},"54":{},"58":{}},"component":{}}],["admin",{"_index":1884,"title":{},"name":{"29":{}},"text":{"51":{}},"component":{}}],["administr",{"_index":530,"title":{},"name":{},"text":{"3":{},"56":{},"69":{}},"component":{}}],["admiss",{"_index":2878,"title":{},"name":{},"text":{"52":{}},"component":{}}],["advanc",{"_index":3164,"title":{},"name":{},"text":{"64":{}},"component":{}}],["advantag",{"_index":2175,"title":{},"name":{},"text":{"33":{}},"component":{}}],["aea8",{"_index":1408,"title":{},"name":{},"text":{"14":{}},"component":{}}],["af5d",{"_index":2633,"title":{},"name":{},"text":{"46":{}},"component":{}}],["af60",{"_index":2089,"title":{},"name":{},"text":{"31":{}},"component":{}}],["afteral",{"_index":2428,"title":{},"name":{},"text":{"41":{}},"component":{}}],["ag",{"_index":764,"title":{},"name":{},"text":{"6":{},"23":{},"47":{},"51":{},"56":{},"57":{},"58":{}},"component":{}}],["again",{"_index":3051,"title":{},"name":{},"text":{"57":{}},"component":{}}],["against",{"_index":92,"title":{},"name":{},"text":{"1":{},"2":{},"7":{},"9":{},"10":{},"14":{},"31":{}},"component":{}}],["aggreg",{"_index":1293,"title":{},"name":{},"text":{"12":{}},"component":{}}],["aggregatedquotesrespons",{"_index":1281,"title":{},"name":{},"text":{"12":{}},"component":{}}],["agroal",{"_index":1650,"title":{},"name":{},"text":{"19":{},"27":{},"40":{}},"component":{}}],["aim",{"_index":1481,"title":{},"name":{},"text":{"17":{}},"component":{}}],["alert",{"_index":3147,"title":{},"name":{},"text":{"63":{},"64":{}},"component":{}}],["alia",{"_index":2092,"title":{"32-2":{}},"name":{},"text":{"32":{},"57":{}},"component":{}}],["align",{"_index":371,"title":{"52-4":{}},"name":{},"text":{"2":{},"52":{}},"component":{}}],["alloc",{"_index":2043,"title":{},"name":{},"text":{"31":{},"46":{}},"component":{}}],["allof",{"_index":1171,"title":{},"name":{},"text":{"11":{}},"component":{}}],["allow",{"_index":390,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"13":{},"14":{},"27":{},"32":{},"40":{},"41":{},"46":{},"58":{},"59":{},"63":{},"64":{},"65":{},"72":{}},"component":{}}],["along",{"_index":1822,"title":{},"name":{},"text":{"27":{},"56":{},"57":{},"58":{},"67":{},"72":{}},"component":{}}],["alongsid",{"_index":2690,"title":{},"name":{},"text":{"47":{},"72":{}},"component":{}}],["alpha",{"_index":2876,"title":{},"name":{},"text":{"52":{}},"component":{}}],["alphabet",{"_index":1904,"title":{},"name":{},"text":{"30":{},"32":{}},"component":{}}],["alreadi",{"_index":1202,"title":{},"name":{},"text":{"12":{},"28":{},"49":{},"50":{},"54":{},"56":{},"57":{},"58":{},"64":{},"69":{}},"component":{}}],["alter",{"_index":2803,"title":{},"name":{},"text":{"50":{}},"component":{}}],["altern",{"_index":1090,"title":{},"name":{},"text":{"10":{},"12":{},"14":{},"18":{},"27":{},"30":{},"31":{},"32":{},"36":{},"37":{},"42":{},"46":{},"50":{},"51":{},"54":{}},"component":{}}],["although",{"_index":1204,"title":{},"name":{},"text":{"12":{},"50":{}},"component":{}}],["alway",{"_index":2222,"title":{},"name":{},"text":{"34":{},"50":{},"66":{}},"component":{}}],["amaz",{"_index":1665,"title":{},"name":{},"text":{"19":{}},"component":{}}],["amount",{"_index":927,"title":{},"name":{},"text":{"8":{},"12":{},"31":{}},"component":{}}],["analyz",{"_index":2817,"title":{},"name":{},"text":{"50":{}},"component":{}}],["annot",{"_index":1332,"title":{},"name":{},"text":{"13":{},"40":{},"41":{},"50":{},"56":{},"57":{},"58":{}},"component":{}}],["anoth",{"_index":1198,"title":{},"name":{},"text":{"12":{},"13":{},"27":{},"34":{},"46":{},"66":{}},"component":{}}],["anymor",{"_index":952,"title":{},"name":{},"text":{"8":{}},"component":{}}],["apach",{"_index":119,"title":{"13":{}},"name":{},"text":{"1":{},"6":{},"12":{},"13":{},"15":{},"16":{},"19":{},"22":{},"31":{},"37":{},"40":{},"54":{}},"component":{}}],["api",{"_index":43,"title":{"30-4":{},"47-10":{}},"name":{},"text":{"1":{},"2":{},"5":{},"12":{},"18":{},"25":{},"30":{},"31":{},"32":{},"35":{},"37":{},"41":{},"42":{},"47":{},"52":{},"59":{},"65":{},"67":{},"69":{},"72":{}},"component":{}}],["api_key_exampl",{"_index":1901,"title":{},"name":{},"text":{"30":{}},"component":{}}],["apicatalog_apis_123_docu",{"_index":2102,"title":{},"name":{},"text":{"32":{}},"component":{}}],["apicurio",{"_index":3245,"title":{},"name":{},"text":{"72":{}},"component":{}}],["apikey",{"_index":1890,"title":{},"name":{},"text":{"30":{}},"component":{}}],["apivers",{"_index":1284,"title":{},"name":{},"text":{"12":{},"24":{},"49":{},"50":{},"56":{},"57":{},"58":{}},"component":{}}],["app",{"_index":434,"title":{},"name":{},"text":{"2":{},"19":{},"23":{},"24":{},"30":{},"31":{},"43":{},"49":{},"56":{},"57":{},"58":{}},"component":{}}],["app.kubernetes.io/nam",{"_index":3024,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["app.quarkus.io/build",{"_index":3019,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["app.quarkus.io/commit",{"_index":3017,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["app/quarku",{"_index":2056,"title":{},"name":{},"text":{"31":{},"32":{},"59":{}},"component":{}}],["appear",{"_index":2579,"title":{},"name":{},"text":{"46":{},"63":{},"64":{},"65":{},"67":{},"69":{},"72":{}},"component":{}}],["appl",{"_index":2528,"title":{},"name":{},"text":{"43":{}},"component":{}}],["appli",{"_index":271,"title":{"63-1":{}},"name":{},"text":{"2":{},"9":{},"10":{},"12":{},"24":{},"28":{},"30":{},"36":{},"47":{},"48":{},"50":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"69":{}},"component":{}}],["applic",{"_index":23,"title":{"3":{},"37":{},"56":{},"57":{},"58":{},"69":{},"19-3":{},"19-4":{},"19-5":{},"31-2":{},"31-3":{},"32-6":{},"32-7":{},"34-2":{},"40-2":{},"41-2":{},"48-5":{},"48-6":{},"50-3":{},"50-4":{},"50-9":{},"54-1":{},"54-2":{},"54-3":{},"56-2":{},"56-3":{},"56-4":{},"56-5":{},"57-2":{},"57-3":{},"57-4":{},"57-5":{},"58-2":{},"58-4":{},"58-5":{},"58-6":{},"69-1":{},"69-2":{}},"name":{"69":{}},"text":{"1":{},"3":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"16":{},"17":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"62":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{}},"component":{}}],["applicantworkflow",{"_index":1840,"title":{},"name":{},"text":{"27":{}},"component":{}}],["application.properti",{"_index":817,"title":{},"name":{},"text":{"6":{},"12":{},"16":{},"17":{},"27":{},"31":{},"32":{},"34":{},"35":{},"41":{},"49":{},"56":{},"57":{},"58":{}},"component":{}}],["application/cloudevents+json",{"_index":788,"title":{},"name":{},"text":{"6":{},"12":{}},"component":{}}],["application/json",{"_index":785,"title":{},"name":{},"text":{"6":{},"11":{},"12":{},"23":{},"31":{},"32":{},"35":{},"37":{},"42":{},"46":{},"47":{}},"component":{}}],["applications/ki",{"_index":3198,"title":{},"name":{},"text":{"67":{}},"component":{}}],["applicationscop",{"_index":2008,"title":{},"name":{},"text":{"31":{}},"component":{}}],["appreci",{"_index":652,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["approach",{"_index":534,"title":{},"name":{},"text":{"3":{},"6":{},"17":{},"27":{},"34":{},"35":{},"36":{},"43":{},"56":{},"57":{},"58":{},"67":{}},"component":{}}],["appropri",{"_index":1292,"title":{},"name":{},"text":{"12":{},"19":{},"28":{},"34":{}},"component":{}}],["approv",{"_index":2532,"title":{},"name":{},"text":{"43":{},"47":{}},"component":{}}],["approvedvisa",{"_index":989,"title":{},"name":{},"text":{"8":{}},"component":{}}],["architectur",{"_index":26,"title":{},"name":{},"text":{"1":{},"31":{},"36":{},"41":{},"46":{},"47":{}},"component":{}}],["arg",{"_index":1800,"title":{},"name":{},"text":{"25":{}},"component":{}}],["arg1",{"_index":1687,"title":{},"name":{},"text":{"22":{}},"component":{}}],["arg2",{"_index":1688,"title":{},"name":{},"text":{"22":{}},"component":{}}],["argument",{"_index":242,"title":{"6-4":{},"6-9":{},"6-14":{},"9-2":{}},"name":{},"text":{"2":{},"6":{},"8":{},"9":{},"10":{},"17":{},"22":{},"23":{},"31":{},"32":{},"33":{},"34":{},"35":{},"46":{},"50":{},"52":{}},"component":{}}],["arithmet",{"_index":856,"title":{},"name":{},"text":{"6":{}},"component":{}}],["arm",{"_index":203,"title":{},"name":{},"text":{"2":{}},"component":{}}],["around",{"_index":2778,"title":{},"name":{},"text":{"50":{}},"component":{}}],["array",{"_index":727,"title":{},"name":{},"text":{"6":{},"9":{},"15":{},"22":{},"34":{},"72":{}},"component":{}}],["arriv",{"_index":966,"title":{},"name":{},"text":{"8":{},"17":{},"47":{}},"component":{}}],["articl",{"_index":2533,"title":{},"name":{},"text":{"43":{},"58":{}},"component":{}}],["artifact",{"_index":1550,"title":{},"name":{},"text":{"19":{},"40":{},"54":{},"72":{}},"component":{}}],["ascloudev",{"_index":792,"title":{},"name":{},"text":{"6":{}},"component":{}}],["ask",{"_index":2823,"title":{},"name":{},"text":{"50":{},"72":{}},"component":{}}],["asp.net",{"_index":2265,"title":{},"name":{},"text":{"35":{}},"component":{}}],["aspect",{"_index":1968,"title":{},"name":{},"text":{"31":{},"36":{}},"component":{}}],["asset",{"_index":75,"title":{},"name":{},"text":{"1":{},"20":{},"27":{}},"component":{}}],["assign",{"_index":2113,"title":{},"name":{},"text":{"32":{},"59":{}},"component":{}}],["associ",{"_index":831,"title":{},"name":{},"text":{"6":{},"9":{},"14":{},"16":{},"18":{},"46":{}},"component":{}}],["assum",{"_index":690,"title":{},"name":{},"text":{"6":{},"33":{},"42":{},"54":{},"65":{}},"component":{}}],["assur",{"_index":128,"title":{"37":{}},"name":{},"text":{"1":{},"19":{},"37":{},"40":{},"41":{},"42":{}},"component":{}}],["assured/target/serverless",{"_index":2383,"title":{},"name":{},"text":{"37":{}},"component":{}}],["async",{"_index":38,"title":{},"name":{},"text":{"1":{},"18":{}},"component":{}}],["asyncapi",{"_index":111,"title":{"33":{}},"name":{"33":{}},"text":{"1":{},"33":{}},"component":{}}],["asyncapi.yaml",{"_index":2177,"title":{},"name":{},"text":{"33":{}},"component":{}}],["asyncapi.yaml#consumewait",{"_index":2185,"title":{},"name":{},"text":{"33":{}},"component":{}}],["asyncapi.yaml#sendresum",{"_index":2188,"title":{},"name":{},"text":{"33":{}},"component":{}}],["asynchron",{"_index":967,"title":{},"name":{},"text":{"8":{},"16":{},"17":{},"40":{},"41":{}},"component":{}}],["atleast",{"_index":1187,"title":{},"name":{},"text":{"11":{}},"component":{}}],["atleast(1",{"_index":2409,"title":{},"name":{},"text":{"40":{}},"component":{}}],["atmost(30",{"_index":2410,"title":{},"name":{},"text":{"40":{}},"component":{}}],["atmost(60",{"_index":2446,"title":{},"name":{},"text":{"41":{}},"component":{}}],["attach",{"_index":643,"title":{},"name":{},"text":{"5":{}},"component":{}}],["attempt",{"_index":2888,"title":{},"name":{},"text":{"53":{}},"component":{}}],["attempttoredeployfail",{"_index":2894,"title":{},"name":{},"text":{"53":{}},"component":{}}],["attent",{"_index":2999,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["attribut",{"_index":209,"title":{},"name":{},"text":{"2":{},"6":{},"7":{},"9":{},"12":{},"14":{},"15":{},"16":{},"17":{},"18":{},"22":{},"31":{},"35":{},"46":{},"50":{},"59":{},"72":{}},"component":{}}],["aud",{"_index":2081,"title":{},"name":{},"text":{"31":{}},"component":{}}],["augment",{"_index":2387,"title":{},"name":{},"text":{"37":{}},"component":{}}],["auth_property_nam",{"_index":1902,"title":{},"name":{},"text":{"30":{}},"component":{}}],["authent",{"_index":122,"title":{"30":{},"31":{},"30-1":{},"30-2":{},"30-3":{},"30-4":{},"30-5":{},"48-3":{}},"name":{"30":{}},"text":{"1":{},"30":{},"31":{},"35":{},"48":{},"56":{},"58":{},"69":{},"72":{}},"component":{}}],["author",{"_index":74,"title":{"30-6":{}},"name":{},"text":{"1":{},"20":{},"30":{},"31":{},"41":{}},"component":{}}],["authorizationurl",{"_index":1927,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["authprovid",{"_index":3244,"title":{},"name":{},"text":{"72":{}},"component":{}}],["auto",{"_index":1221,"title":{"72-6":{}},"name":{},"text":{"12":{},"63":{},"71":{},"72":{}},"component":{}}],["autocomplet",{"_index":2536,"title":{},"name":{},"text":{"43":{}},"component":{}}],["automat",{"_index":194,"title":{},"name":{},"text":{"2":{},"16":{},"17":{},"24":{},"27":{},"30":{},"31":{},"32":{},"33":{},"35":{},"36":{},"40":{},"43":{},"68":{},"71":{},"72":{}},"component":{}}],["autoscal",{"_index":2954,"title":{},"name":{},"text":{"56":{}},"component":{}}],["avaiabl",{"_index":210,"title":{},"name":{},"text":{"2":{}},"component":{}}],["avail",{"_index":200,"title":{"56-1":{},"59-5":{}},"name":{},"text":{"2":{},"6":{},"10":{},"19":{},"22":{},"24":{},"25":{},"27":{},"28":{},"30":{},"32":{},"35":{},"36":{},"43":{},"46":{},"50":{},"53":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"65":{},"72":{}},"component":{}}],["avoid",{"_index":352,"title":{},"name":{},"text":{"2":{},"6":{},"35":{},"36":{},"50":{},"57":{}},"component":{}}],["await",{"_index":2408,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["awaitil",{"_index":2393,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["awesom",{"_index":1555,"title":{},"name":{},"text":{"19":{}},"component":{}}],["b",{"_index":1173,"title":{},"name":{},"text":{"11":{}},"component":{}}],["b125",{"_index":2761,"title":{},"name":{},"text":{"48":{}},"component":{}}],["b232",{"_index":2664,"title":{},"name":{},"text":{"46":{}},"component":{}}],["b364",{"_index":2727,"title":{},"name":{},"text":{"47":{}},"component":{}}],["b4bf",{"_index":2066,"title":{},"name":{},"text":{"31":{}},"component":{}}],["b4f1",{"_index":3006,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["b526",{"_index":2158,"title":{},"name":{},"text":{"32":{}},"component":{}}],["b5e1",{"_index":2614,"title":{},"name":{},"text":{"46":{}},"component":{}}],["b689",{"_index":2165,"title":{},"name":{},"text":{"32":{}},"component":{}}],["b7fb",{"_index":1391,"title":{},"name":{},"text":{"14":{}},"component":{}}],["b869",{"_index":2669,"title":{},"name":{},"text":{"46":{}},"component":{}}],["back",{"_index":420,"title":{},"name":{},"text":{"2":{},"22":{},"34":{},"35":{}},"component":{}}],["backend",{"_index":2316,"title":{},"name":{},"text":{"36":{},"47":{}},"component":{}}],["balanc",{"_index":2993,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["band",{"_index":1478,"title":{},"name":{},"text":{"17":{}},"component":{}}],["bank1",{"_index":1249,"title":{},"name":{},"text":{"12":{}},"component":{}}],["bank2",{"_index":1252,"title":{},"name":{},"text":{"12":{}},"component":{}}],["bankid",{"_index":1248,"title":{},"name":{},"text":{"12":{}},"component":{}}],["bar",{"_index":1786,"title":{},"name":{},"text":{"25":{}},"component":{}}],["barchart",{"_index":1793,"title":{},"name":{},"text":{"25":{}},"component":{}}],["base",{"_index":61,"title":{"24":{},"34":{},"8-6":{},"35-2":{}},"name":{"33":{},"35":{},"46":{}},"text":{"1":{},"6":{},"8":{},"9":{},"11":{},"16":{},"17":{},"19":{},"23":{},"27":{},"30":{},"32":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"46":{},"48":{},"49":{},"51":{},"54":{},"58":{},"59":{},"61":{},"64":{},"66":{},"71":{},"72":{}},"component":{}}],["baselin",{"_index":1844,"title":{"28-5":{},"28-6":{},"28-7":{}},"name":{},"text":{"28":{}},"component":{}}],["baselineonmigrate=\"tru",{"_index":1878,"title":{},"name":{},"text":{"28":{}},"component":{}}],["baselinevers",{"_index":1874,"title":{},"name":{},"text":{"28":{}},"component":{}}],["baselineversion=\"1.32.0",{"_index":1879,"title":{},"name":{},"text":{"28":{}},"component":{}}],["basic",{"_index":344,"title":{"30-2":{},"50-6":{}},"name":{"37":{}},"text":{"2":{},"3":{},"30":{},"34":{},"48":{},"64":{}},"component":{}}],["batik",{"_index":470,"title":{},"name":{},"text":{"2":{}},"component":{}}],["bc76",{"_index":1380,"title":{},"name":{},"text":{"14":{}},"component":{}}],["bcfb",{"_index":1622,"title":{},"name":{},"text":{"19":{}},"component":{}}],["be",{"_index":177,"title":{},"name":{},"text":{"2":{},"8":{},"12":{},"19":{},"52":{},"58":{},"72":{}},"component":{}}],["bean",{"_index":591,"title":{},"name":{},"text":{"5":{},"6":{},"22":{}},"component":{}}],["bear",{"_index":519,"title":{},"name":{},"text":{"3":{}},"component":{}}],["bearer",{"_index":1886,"title":{"30-3":{}},"name":{},"text":{"30":{}},"component":{}}],["becom",{"_index":932,"title":{},"name":{},"text":{"8":{},"36":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["befor",{"_index":625,"title":{},"name":{},"text":{"5":{},"7":{},"8":{},"9":{},"12":{},"13":{},"31":{},"34":{},"35":{},"41":{},"42":{},"43":{},"47":{},"48":{},"53":{},"56":{},"57":{},"58":{},"65":{},"66":{}},"component":{}}],["beforeal",{"_index":2336,"title":{},"name":{},"text":{"37":{},"41":{}},"component":{}}],["begin",{"_index":1048,"title":{},"name":{},"text":{"9":{}},"component":{}}],["behav",{"_index":953,"title":{},"name":{},"text":{"8":{},"18":{},"42":{}},"component":{}}],["behavior",{"_index":1443,"title":{},"name":{},"text":{"16":{},"18":{},"36":{},"40":{},"48":{},"57":{}},"component":{}}],["belong",{"_index":1355,"title":{},"name":{},"text":{"14":{},"56":{},"57":{},"58":{}},"component":{}}],["below",{"_index":513,"title":{},"name":{},"text":{"3":{},"17":{},"22":{},"28":{},"49":{},"51":{},"53":{},"56":{},"63":{}},"component":{}}],["bequiet",{"_index":1427,"title":{},"name":{},"text":{"15":{}},"component":{}}],["best",{"_index":1670,"title":{},"name":{},"text":{"20":{}},"component":{}}],["better",{"_index":238,"title":{},"name":{},"text":{"2":{},"22":{},"54":{}},"component":{}}],["between",{"_index":422,"title":{},"name":{},"text":{"2":{},"10":{},"11":{},"17":{},"36":{},"41":{},"42":{},"59":{},"64":{}},"component":{}}],["bidirect",{"_index":2194,"title":{"34-6":{}},"name":{},"text":{"34":{}},"component":{}}],["bin",{"_index":3192,"title":{},"name":{},"text":{"67":{}},"component":{}}],["binari",{"_index":1254,"title":{},"name":{},"text":{"12":{},"27":{},"43":{}},"component":{}}],["bind",{"_index":140,"title":{},"name":{},"text":{"1":{},"12":{}},"component":{}}],["blank",{"_index":3146,"title":{},"name":{},"text":{"63":{}},"component":{}}],["block",{"_index":2202,"title":{},"name":{},"text":{"34":{},"43":{}},"component":{}}],["blocker",{"_index":461,"title":{},"name":{},"text":{"2":{}},"component":{}}],["bodi",{"_index":742,"title":{},"name":{},"text":{"6":{},"9":{},"17":{},"22":{},"35":{},"37":{},"41":{},"42":{}},"component":{}}],["body(\"workflowdata.greet",{"_index":2344,"title":{},"name":{},"text":{"37":{}},"component":{}}],["body(\"{\\\"nam",{"_index":2341,"title":{},"name":{},"text":{"37":{}},"component":{}}],["body(objectmapper.writevalueasstring(ord",{"_index":2444,"title":{},"name":{},"text":{"41":{}},"component":{}}],["boolean",{"_index":574,"title":{},"name":{},"text":{"5":{},"6":{},"9":{},"27":{}},"component":{}}],["boot",{"_index":2263,"title":{},"name":{},"text":{"35":{}},"component":{}}],["bootstrap",{"_index":1516,"title":{"19-1":{}},"name":{},"text":{"19":{}},"component":{}}],["both",{"_index":743,"title":{},"name":{},"text":{"6":{},"12":{},"15":{},"17":{},"41":{},"47":{},"63":{}},"component":{}}],["box",{"_index":3145,"title":{},"name":{},"text":{"63":{},"72":{}},"component":{}}],["branch",{"_index":1137,"title":{"11-3":{}},"name":{},"text":{"11":{},"18":{},"54":{},"70":{}},"component":{}}],["brancha",{"_index":1165,"title":{},"name":{},"text":{"11":{}},"component":{}}],["branchb",{"_index":1167,"title":{},"name":{},"text":{"11":{}},"component":{}}],["branchc",{"_index":1169,"title":{},"name":{},"text":{"11":{}},"component":{}}],["break",{"_index":2654,"title":{},"name":{},"text":{"46":{}},"component":{}}],["briefli",{"_index":733,"title":{},"name":{},"text":{"6":{}},"component":{}}],["brl",{"_index":2080,"title":{},"name":{},"text":{"31":{}},"component":{}}],["broken",{"_index":298,"title":{},"name":{},"text":{"2":{}},"component":{}}],["broker",{"_index":1216,"title":{},"name":{},"text":{"12":{},"13":{},"16":{},"33":{},"41":{},"52":{}},"component":{}}],["browser",{"_index":2720,"title":{},"name":{},"text":{"47":{},"50":{},"57":{},"65":{},"68":{}},"component":{}}],["bucket",{"_index":2957,"title":{},"name":{},"text":{"56":{}},"component":{}}],["buffer",{"_index":1334,"title":{},"name":{},"text":{"13":{}},"component":{}}],["bug",{"_index":166,"title":{"2-2":{}},"name":{},"text":{},"component":{}}],["build",{"_index":21,"title":{"48":{},"54":{},"12-4":{},"19-3":{},"25-2":{},"25-3":{},"43-3":{},"43-4":{},"48-1":{},"48-2":{},"48-4":{},"48-5":{},"54-2":{},"54-3":{}},"name":{"48":{},"54":{},"55":{}},"text":{"1":{},"2":{},"3":{},"12":{},"16":{},"19":{},"23":{},"25":{},"28":{},"31":{},"35":{},"37":{},"40":{},"41":{},"43":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["build=tru",{"_index":2934,"title":{},"name":{},"text":{"54":{},"57":{}},"component":{}}],["buildconfig",{"_index":256,"title":{},"name":{},"text":{"2":{}},"component":{}}],["builder",{"_index":264,"title":{},"name":{},"text":{"2":{},"17":{},"48":{},"52":{},"54":{}},"component":{}}],["buildfailedreason",{"_index":2898,"title":{},"name":{},"text":{"53":{}},"component":{}}],["buildisrunningreason",{"_index":2897,"title":{},"name":{},"text":{"53":{}},"component":{}}],["buildpack",{"_index":2908,"title":{},"name":{},"text":{"54":{}},"component":{}}],["built",{"_index":1762,"title":{},"name":{},"text":{"24":{},"35":{},"43":{},"53":{},"54":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["busi",{"_index":1816,"title":{"63-5":{}},"name":{},"text":{"25":{},"46":{},"63":{},"64":{}},"component":{}}],["businesskey",{"_index":1811,"title":{},"name":{},"text":{"25":{}},"component":{}}],["button",{"_index":3136,"title":{},"name":{},"text":{"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["buy",{"_index":2569,"title":{},"name":{},"text":{"46":{}},"component":{}}],["byte",{"_index":2487,"title":{},"name":{},"text":{"42":{}},"component":{}}],["c",{"_index":1174,"title":{},"name":{},"text":{"11":{}},"component":{}}],["c1658c4e49bc",{"_index":1402,"title":{},"name":{},"text":{"14":{}},"component":{}}],["c4e7",{"_index":1190,"title":{},"name":{},"text":{"11":{}},"component":{}}],["c82c",{"_index":2073,"title":{},"name":{},"text":{"31":{}},"component":{}}],["cace363774bb\",\"workflowdata\":{\"symbol\":\"kgto\",\"currentprice\":56.35,\"profit\":\"13",{"_index":2170,"title":{},"name":{},"text":{"32":{}},"component":{}}],["cace363774bb\",\"workflowdata\":{\"symbol\":\"kgto\",\"currentprice\":75,\"profit\":\"50",{"_index":2159,"title":{},"name":{},"text":{"32":{}},"component":{}}],["cach",{"_index":1587,"title":{},"name":{},"text":{"19":{},"37":{},"54":{}},"component":{}}],["cad",{"_index":2079,"title":{},"name":{},"text":{"31":{}},"component":{}}],["calcul",{"_index":1077,"title":{},"name":{},"text":{"9":{},"15":{},"31":{},"32":{}},"component":{}}],["calculateexchang",{"_index":1985,"title":{},"name":{},"text":{"31":{}},"component":{}}],["calculateexchangeact",{"_index":1998,"title":{},"name":{},"text":{"31":{}},"component":{}}],["calculateexchangeresult",{"_index":1986,"title":{},"name":{},"text":{"31":{}},"component":{}}],["calculatorclient.invokeoper",{"_index":898,"title":{},"name":{},"text":{"6":{}},"component":{}}],["calculatorclient.invokeoperation((string)metadata.getordefault(host,\"localhost",{"_index":890,"title":{},"name":{},"text":{"6":{}},"component":{}}],["call",{"_index":47,"title":{},"name":{},"text":{"1":{},"6":{},"8":{},"9":{},"11":{},"13":{},"17":{},"19":{},"22":{},"23":{},"33":{},"34":{},"35":{},"42":{},"46":{},"48":{},"50":{},"57":{}},"component":{}}],["callabl",{"_index":2418,"title":{},"name":{},"text":{"41":{}},"component":{}}],["callback",{"_index":118,"title":{"16":{},"17":{},"8-3":{},"16-1":{},"17-1":{},"47-1":{}},"name":{"16":{},"17":{}},"text":{"1":{},"2":{},"8":{},"9":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"27":{},"36":{},"40":{},"46":{},"47":{}},"component":{}}],["callback_event_typ",{"_index":2691,"title":{},"name":{},"text":{"47":{}},"component":{}}],["callbackact",{"_index":972,"title":{},"name":{},"text":{"8":{}},"component":{}}],["callbackerror",{"_index":980,"title":{},"name":{},"text":{"8":{}},"component":{}}],["callbackev",{"_index":976,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["callbackfunct",{"_index":973,"title":{},"name":{},"text":{"8":{}},"component":{}}],["callbackrestit",{"_index":2403,"title":{},"name":{},"text":{"40":{}},"component":{}}],["callbackst",{"_index":971,"title":{},"name":{},"text":{"8":{}},"component":{}}],["caller",{"_index":1437,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["callpetstor",{"_index":2287,"title":{},"name":{},"text":{"35":{}},"component":{}}],["camel",{"_index":152,"title":{"22":{},"6-7":{},"22-1":{},"22-2":{},"22-3":{}},"name":{"21":{},"22":{}},"text":{"1":{},"6":{},"22":{},"52":{}},"component":{}}],["camel:direct",{"_index":1694,"title":{},"name":{},"text":{"22":{}},"component":{}}],["camel:direct:logroutereplacehead",{"_index":1693,"title":{},"name":{},"text":{"22":{}},"component":{}}],["camel:direct:myendpoint",{"_index":737,"title":{},"name":{},"text":{"6":{}},"component":{}}],["cancel",{"_index":947,"title":{},"name":{},"text":{"8":{},"41":{},"46":{},"47":{}},"component":{}}],["cancelpay",{"_index":2594,"title":{},"name":{},"text":{"46":{}},"component":{}}],["cancelpaymentrespons",{"_index":2671,"title":{},"name":{},"text":{"46":{}},"component":{}}],["cancelstockrespons",{"_index":2672,"title":{},"name":{},"text":{"46":{}},"component":{}}],["can’t",{"_index":2900,"title":{},"name":{},"text":{"53":{},"67":{}},"component":{}}],["capabl",{"_index":661,"title":{},"name":{},"text":{"6":{},"12":{},"13":{},"27":{},"51":{},"71":{},"72":{}},"component":{}}],["card",{"_index":299,"title":{},"name":{},"text":{"2":{},"3":{},"46":{}},"component":{}}],["care",{"_index":1203,"title":{},"name":{},"text":{"12":{},"28":{}},"component":{}}],["case",{"_index":15,"title":{"1-12":{}},"name":{},"text":{"2":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"15":{},"18":{},"22":{},"28":{},"30":{},"31":{},"34":{},"35":{},"36":{},"42":{},"43":{},"46":{},"47":{},"50":{},"53":{},"54":{},"57":{},"59":{},"64":{},"65":{},"67":{}},"component":{}}],["catalog",{"_index":3132,"title":{},"name":{},"text":{"59":{}},"component":{}}],["catch",{"_index":895,"title":{},"name":{},"text":{"6":{},"10":{},"16":{},"42":{}},"component":{}}],["caus",{"_index":2830,"title":{},"name":{},"text":{"50":{}},"component":{}}],["cd",{"_index":1547,"title":{},"name":{},"text":{"19":{},"31":{},"32":{},"54":{}},"component":{}}],["cd98c6bd3ade",{"_index":2090,"title":{},"name":{},"text":{"31":{}},"component":{}}],["cdi",{"_index":1588,"title":{},"name":{},"text":{"19":{},"37":{}},"component":{}}],["ce",{"_index":1255,"title":{},"name":{},"text":{"12":{},"16":{}},"component":{}}],["ce.get().getdata",{"_index":1473,"title":{},"name":{},"text":{"16":{}},"component":{}}],["cekit",{"_index":416,"title":{},"name":{},"text":{"2":{}},"component":{}}],["celsiu",{"_index":1054,"title":{},"name":{},"text":{"9":{}},"component":{}}],["certain",{"_index":1307,"title":{},"name":{},"text":{"13":{},"32":{}},"component":{}}],["certif",{"_index":3203,"title":{},"name":{},"text":{"67":{}},"component":{}}],["chain",{"_index":1103,"title":{},"name":{},"text":{"10":{}},"component":{}}],["chang",{"_index":146,"title":{"2-1":{},"2-2":{}},"name":{},"text":{"1":{},"6":{},"9":{},"10":{},"11":{},"12":{},"13":{},"18":{},"19":{},"23":{},"27":{},"28":{},"31":{},"36":{},"46":{},"48":{},"49":{},"50":{},"66":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["channel",{"_index":585,"title":{"13-1":{},"13-2":{}},"name":{},"text":{"5":{},"8":{},"12":{},"13":{},"17":{},"33":{},"41":{},"50":{}},"component":{}}],["charact",{"_index":1046,"title":{},"name":{},"text":{"9":{},"30":{},"32":{}},"component":{}}],["charset=utf",{"_index":789,"title":{},"name":{},"text":{"6":{}},"component":{}}],["chart",{"_index":1787,"title":{},"name":{},"text":{"25":{}},"component":{}}],["check",{"_index":311,"title":{"48-6":{},"50-3":{}},"name":{},"text":{"2":{},"6":{},"8":{},"10":{},"12":{},"24":{},"31":{},"36":{},"37":{},"40":{},"41":{},"43":{},"47":{},"48":{},"50":{},"51":{},"53":{},"56":{},"57":{},"58":{},"65":{},"69":{}},"component":{}}],["checkbox",{"_index":3216,"title":{},"name":{},"text":{"69":{}},"component":{}}],["checkeven",{"_index":1126,"title":{},"name":{},"text":{"10":{}},"component":{}}],["checkevenact",{"_index":1127,"title":{},"name":{},"text":{"10":{}},"component":{}}],["checkeventarriv",{"_index":977,"title":{},"name":{},"text":{"8":{}},"component":{}}],["checkout",{"_index":2574,"title":{},"name":{},"text":{"46":{}},"component":{}}],["checkvalid",{"_index":1994,"title":{},"name":{},"text":{"31":{}},"component":{}}],["child",{"_index":1130,"title":{},"name":{},"text":{"10":{}},"component":{}}],["chip",{"_index":3142,"title":{},"name":{},"text":{"63":{}},"component":{}}],["chmod",{"_index":2526,"title":{},"name":{},"text":{"43":{}},"component":{}}],["choic",{"_index":2779,"title":{},"name":{},"text":{"50":{}},"component":{}}],["choos",{"_index":1861,"title":{},"name":{},"text":{"28":{}},"component":{}}],["chooseonev",{"_index":987,"title":{},"name":{},"text":{"8":{}},"component":{}}],["chooseonlanguag",{"_index":2785,"title":{},"name":{},"text":{"50":{}},"component":{}}],["choreographi",{"_index":24,"title":{},"name":{},"text":{"1":{}},"component":{}}],["chrome",{"_index":1672,"title":{"70":{},"70-1":{},"70-2":{}},"name":{"70":{}},"text":{"20":{},"70":{},"71":{}},"component":{}}],["chrome_extension_serverless_workflow_editor_version.zip",{"_index":3219,"title":{},"name":{},"text":{"70":{}},"component":{}}],["class",{"_index":373,"title":{},"name":{},"text":{"2":{},"6":{},"10":{},"31":{},"37":{},"40":{},"41":{},"42":{},"46":{}},"component":{}}],["classifi",{"_index":1297,"title":{},"name":{},"text":{"13":{},"41":{}},"component":{}}],["classpath",{"_index":916,"title":{},"name":{},"text":{"7":{},"13":{},"33":{},"34":{},"35":{}},"component":{}}],["clean",{"_index":1269,"title":{},"name":{},"text":{"12":{},"19":{},"31":{},"34":{},"37":{},"40":{},"41":{},"47":{}},"component":{}}],["clear",{"_index":3143,"title":{},"name":{},"text":{"63":{},"64":{}},"component":{}}],["cli",{"_index":104,"title":{"43":{},"54":{},"28-3":{},"28-7":{},"43-1":{},"43-2":{},"43-3":{},"43-5":{},"56-3":{},"56-4":{},"56-5":{},"57-3":{},"57-4":{},"57-5":{},"58-4":{},"58-5":{},"58-6":{}},"name":{"54":{}},"text":{"1":{},"3":{},"12":{},"19":{},"20":{},"23":{},"28":{},"30":{},"35":{},"43":{},"54":{},"56":{},"57":{},"58":{},"59":{},"62":{},"67":{}},"component":{}}],["click",{"_index":2805,"title":{},"name":{},"text":{"50":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["clickabl",{"_index":3137,"title":{},"name":{},"text":{"61":{},"64":{}},"component":{}}],["client",{"_index":1589,"title":{"34-5":{}},"name":{},"text":{"19":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"46":{},"59":{},"66":{},"69":{}},"component":{}}],["client.acme_financial_oauth.auth",{"_index":2034,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_oauth.cli",{"_index":2038,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_oauth.credentials.cli",{"_index":2040,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_oauth.discoveri",{"_index":2033,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_oauth.grant.type=cli",{"_index":2039,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_oauth.token",{"_index":2036,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_service_yml.url=http://localhost:8483",{"_index":2032,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.apicatalog_apis_123_document.url=http://localhost:8282",{"_index":2101,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.myworkflow_myfunction.url=http://localhost:8282",{"_index":2103,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.oauth_exampl",{"_index":1949,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.auth",{"_index":1937,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.cli",{"_index":1943,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.credentials.cli",{"_index":1946,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.discoveri",{"_index":1941,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.grant.type=cli",{"_index":1945,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.token",{"_index":1939,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.remotecatalog.url=http://localhost:8282",{"_index":2120,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.restcountries_json.url",{"_index":2505,"title":{},"name":{},"text":{"42":{}},"component":{}}],["client.stock",{"_index":2109,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.stock_portfolio_svc_yaml.url=http://localhost:8282",{"_index":2095,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.stock_svc_yaml.url=http://localhost:8181",{"_index":2148,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.stock_svc_yaml.url=http://localhost:8383",{"_index":2146,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.subtraction_yaml.url=${subtraction_url:http://myserver.com",{"_index":2294,"title":{},"name":{},"text":{"35":{}},"component":{}}],["client.subtraction_yaml.url=http://myserver.com",{"_index":2291,"title":{},"name":{},"text":{"35":{}},"component":{}}],["clientcredenti",{"_index":1926,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["clone",{"_index":1518,"title":{},"name":{},"text":{"19":{},"27":{},"31":{},"54":{},"66":{}},"component":{}}],["close",{"_index":3177,"title":{},"name":{},"text":{"65":{},"69":{}},"component":{}}],["cloud",{"_index":11,"title":{"3":{},"1-9":{},"63-7":{},"64-2":{}},"name":{},"text":{"1":{},"2":{},"6":{},"9":{},"17":{},"18":{},"36":{},"63":{},"64":{},"72":{}},"component":{}}],["cloudev",{"_index":27,"title":{"41":{},"6-16":{},"23-1":{}},"name":{"41":{}},"text":{"1":{},"5":{},"6":{},"9":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"19":{},"23":{},"33":{},"37":{},"41":{}},"component":{}}],["cloudeventbuild",{"_index":1491,"title":{},"name":{},"text":{"17":{}},"component":{}}],["cloudeventbuilder.v1",{"_index":1492,"title":{},"name":{},"text":{"17":{}},"component":{}}],["cloudeventdata",{"_index":1472,"title":{},"name":{},"text":{"16":{}},"component":{}}],["cloudeventdata.getnode().get(\"move\").astext",{"_index":1475,"title":{},"name":{},"text":{"16":{}},"component":{}}],["cloudeventutils.decode(message.getpayload",{"_index":1470,"title":{},"name":{},"text":{"16":{}},"component":{}}],["clue",{"_index":2820,"title":{},"name":{},"text":{"50":{}},"component":{}}],["cluster",{"_index":510,"title":{},"name":{},"text":{"3":{},"6":{},"12":{},"32":{},"35":{},"43":{},"47":{},"48":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["clusterip",{"_index":2950,"title":{},"name":{},"text":{"56":{}},"component":{}}],["cm",{"_index":2766,"title":{},"name":{},"text":{"49":{},"50":{}},"component":{}}],["cncf",{"_index":70,"title":{"18":{},"52-4":{}},"name":{"18":{}},"text":{"1":{},"6":{},"18":{},"19":{},"20":{},"35":{},"50":{},"52":{},"70":{},"71":{},"72":{}},"component":{}}],["code",{"_index":348,"title":{"72":{},"72-1":{},"72-3":{},"72-5":{}},"name":{},"text":{"2":{},"6":{},"7":{},"10":{},"15":{},"19":{},"20":{},"25":{},"31":{},"34":{},"35":{},"37":{},"50":{},"62":{},"63":{},"64":{},"70":{},"71":{},"72":{}},"component":{}}],["code\":\"org.kie.kogito.serviceexcept",{"_index":2596,"title":{},"name":{},"text":{"46":{}},"component":{}}],["cogwheel",{"_index":3181,"title":{},"name":{},"text":{"66":{},"67":{},"69":{}},"component":{}}],["collect",{"_index":726,"title":{},"name":{},"text":{"6":{}},"component":{}}],["colon",{"_index":1121,"title":{},"name":{},"text":{"10":{}},"component":{}}],["color",{"_index":488,"title":{},"name":{},"text":{"2":{}},"component":{}}],["column",{"_index":1789,"title":{},"name":{},"text":{"25":{},"61":{},"64":{}},"component":{}}],["columngroup",{"_index":1801,"title":{},"name":{},"text":{"25":{}},"component":{}}],["com.acme.myinterfaceorclass",{"_index":682,"title":{},"name":{},"text":{"6":{}},"component":{}}],["com.apple.quarantin",{"_index":3197,"title":{},"name":{},"text":{"67":{}},"component":{}}],["com.fasterxml.jackson.databind.jsonnod",{"_index":2490,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.fasterxml.jackson.databind.objectmapp",{"_index":2491,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.github.pull_request.open",{"_index":795,"title":{},"name":{},"text":{"6":{}},"component":{}}],["com.github.tomakehurst",{"_index":2419,"title":{},"name":{},"text":{"41":{},"42":{}},"component":{}}],["com.github.tomakehurst.wiremock.client.wiremock.arespons",{"_index":2498,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.github.tomakehurst.wiremock.client.wiremock.get",{"_index":2499,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.github.tomakehurst.wiremock.client.wiremock.urlequalto",{"_index":2500,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.github.tomakehurst.wiremock.core.wiremockconfigur",{"_index":2493,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.github.tomakehurst.wiremock.wiremockserv",{"_index":2492,"title":{},"name":{},"text":{"42":{}},"component":{}}],["combin",{"_index":1419,"title":{},"name":{},"text":{"15":{},"43":{}},"component":{}}],["come",{"_index":2930,"title":{},"name":{},"text":{"54":{},"58":{},"62":{}},"component":{}}],["comexampleextension1",{"_index":803,"title":{},"name":{},"text":{"6":{}},"component":{}}],["comexampleothervalu",{"_index":804,"title":{},"name":{},"text":{"6":{}},"component":{}}],["comma",{"_index":2542,"title":{},"name":{},"text":{"43":{}},"component":{}}],["command",{"_index":315,"title":{"72-3":{}},"name":{},"text":{"2":{},"11":{},"12":{},"19":{},"20":{},"23":{},"24":{},"27":{},"28":{},"31":{},"32":{},"34":{},"37":{},"40":{},"41":{},"43":{},"47":{},"48":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"62":{},"67":{},"72":{}},"component":{}}],["commerc",{"_index":2570,"title":{},"name":{},"text":{"46":{}},"component":{}}],["commit",{"_index":3180,"title":{},"name":{},"text":{"66":{},"70":{}},"component":{}}],["common",{"_index":468,"title":{},"name":{},"text":{"2":{},"5":{},"30":{},"36":{}},"component":{}}],["commonli",{"_index":552,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["commun",{"_index":1010,"title":{"36-6":{}},"name":{},"text":{"8":{},"28":{},"36":{},"46":{},"50":{},"51":{},"59":{}},"component":{}}],["compens",{"_index":1500,"title":{"18-9":{}},"name":{},"text":{"18":{},"46":{}},"component":{}}],["compensatedbi",{"_index":2593,"title":{},"name":{},"text":{"46":{}},"component":{}}],["compensatedby\":\"cancelpay",{"_index":2588,"title":{},"name":{},"text":{"46":{}},"component":{}}],["compil",{"_index":1557,"title":{},"name":{},"text":{"19":{},"34":{}},"component":{}}],["complet",{"_index":958,"title":{"72-6":{}},"name":{},"text":{"8":{},"11":{},"16":{},"17":{},"19":{},"24":{},"25":{},"27":{},"30":{},"37":{},"41":{},"43":{},"46":{},"47":{},"64":{},"65":{},"69":{},"71":{},"72":{}},"component":{}}],["completiontyp",{"_index":1170,"title":{},"name":{},"text":{"11":{}},"component":{}}],["complex",{"_index":1071,"title":{},"name":{},"text":{"9":{},"18":{},"22":{},"43":{}},"component":{}}],["compliant",{"_index":1359,"title":{},"name":{},"text":{"14":{},"18":{}},"component":{}}],["compon",{"_index":920,"title":{},"name":{},"text":{"7":{},"12":{},"22":{},"25":{},"30":{},"31":{},"35":{},"41":{}},"component":{}}],["components/messages/messag",{"_index":2182,"title":{},"name":{},"text":{"33":{}},"component":{}}],["components/schemas/exchangerateresult",{"_index":2023,"title":{},"name":{},"text":{"31":{}},"component":{}}],["components/schemas/multiplicationoper",{"_index":2275,"title":{},"name":{},"text":{"35":{}},"component":{}}],["compos",{"_index":1095,"title":{},"name":{},"text":{"10":{},"30":{},"31":{},"34":{},"35":{},"43":{}},"component":{}}],["composit",{"_index":540,"title":{},"name":{},"text":{"3":{}},"component":{}}],["comprehend",{"_index":3169,"title":{},"name":{},"text":{"65":{}},"component":{}}],["comprehens",{"_index":2825,"title":{},"name":{},"text":{"50":{}},"component":{}}],["comput",{"_index":658,"title":{},"name":{},"text":{"6":{},"18":{},"32":{},"35":{},"66":{}},"component":{}}],["computeprofit",{"_index":2138,"title":{},"name":{},"text":{"32":{}},"component":{}}],["concata",{"_index":1159,"title":{},"name":{},"text":{"11":{}},"component":{}}],["concatb",{"_index":1161,"title":{},"name":{},"text":{"11":{}},"component":{}}],["concatc",{"_index":1163,"title":{},"name":{},"text":{"11":{}},"component":{}}],["concaten",{"_index":1147,"title":{},"name":{},"text":{"11":{}},"component":{}}],["concept",{"_index":2195,"title":{},"name":{},"text":{"34":{}},"component":{}}],["concurr",{"_index":1838,"title":{},"name":{},"text":{"27":{}},"component":{}}],["condit",{"_index":543,"title":{"53":{},"9-1":{},"53-2":{},"53-3":{}},"name":{"53":{}},"text":{"3":{},"6":{},"8":{},"9":{},"23":{},"31":{},"32":{},"47":{},"50":{},"53":{},"56":{},"57":{},"58":{}},"component":{}}],["conf/flyway.conf",{"_index":1851,"title":{},"name":{},"text":{"28":{}},"component":{}}],["config",{"_index":1843,"title":{"28-2":{}},"name":{},"text":{"32":{},"42":{},"48":{},"56":{},"57":{}},"component":{}}],["config.nam",{"_index":2144,"title":{},"name":{},"text":{"32":{}},"component":{}}],["config/sampl",{"_index":2740,"title":{},"name":{},"text":{"48":{}},"component":{}}],["configmap",{"_index":215,"title":{},"name":{},"text":{"2":{},"32":{},"49":{},"50":{}},"component":{}}],["configsourc",{"_index":2121,"title":{},"name":{},"text":{"32":{}},"component":{}}],["configur",{"_index":84,"title":{"5":{},"32":{},"49":{},"6-17":{},"8-7":{},"12-1":{},"12-2":{},"13-1":{},"17-2":{},"27-1":{},"28-6":{},"31-2":{},"32-3":{},"35-5":{},"36-1":{},"48-4":{},"49-1":{},"50-9":{},"59-1":{}},"name":{"5":{},"32":{},"49":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"12":{},"13":{},"14":{},"16":{},"17":{},"18":{},"19":{},"24":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"40":{},"41":{},"42":{},"47":{},"48":{},"49":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"65":{},"66":{},"69":{},"72":{}},"component":{}}],["configurewiremockserv",{"_index":2503,"title":{},"name":{},"text":{"42":{}},"component":{}}],["confirm",{"_index":2575,"title":{},"name":{},"text":{"46":{},"65":{}},"component":{}}],["conflict",{"_index":2477,"title":{},"name":{},"text":{"42":{},"66":{}},"component":{}}],["conform",{"_index":1233,"title":{},"name":{},"text":{"12":{}},"component":{}}],["connect",{"_index":580,"title":{"67-2":{}},"name":{},"text":{"5":{},"12":{},"25":{},"27":{},"30":{},"31":{},"41":{},"67":{},"69":{},"72":{}},"component":{}}],["connect/auth",{"_index":2026,"title":{},"name":{},"text":{"31":{}},"component":{}}],["connect/token",{"_index":2027,"title":{},"name":{},"text":{"31":{}},"component":{}}],["connector",{"_index":1298,"title":{},"name":{},"text":{"13":{}},"component":{}}],["consequ",{"_index":1444,"title":{},"name":{},"text":{"16":{}},"component":{}}],["consid",{"_index":670,"title":{},"name":{},"text":{"6":{},"8":{},"10":{},"15":{},"27":{},"46":{},"59":{},"69":{}},"component":{}}],["consist",{"_index":826,"title":{},"name":{"26":{}},"text":{"6":{},"9":{},"12":{},"14":{},"15":{},"17":{},"34":{},"35":{},"46":{},"64":{}},"component":{}}],["consol",{"_index":451,"title":{},"name":{},"text":{"2":{},"10":{},"22":{},"46":{},"57":{},"62":{},"67":{},"69":{},"72":{}},"component":{}}],["constant",{"_index":1034,"title":{"18-10":{}},"name":{},"text":{"9":{},"18":{}},"component":{}}],["constraint",{"_index":745,"title":{},"name":{},"text":{"6":{}},"component":{}}],["construct",{"_index":1094,"title":{},"name":{},"text":{"10":{}},"component":{}}],["consult",{"_index":2896,"title":{},"name":{},"text":{"53":{}},"component":{}}],["consum",{"_index":31,"title":{"12":{},"13":{},"24-3":{},"24-4":{},"33-1":{}},"name":{"12":{},"13":{}},"text":{"1":{},"2":{},"6":{},"8":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"24":{},"25":{},"41":{},"59":{},"64":{}},"component":{}}],["consumeev",{"_index":2184,"title":{},"name":{},"text":{"33":{}},"component":{}}],["consumerwait",{"_index":2183,"title":{},"name":{},"text":{"33":{}},"component":{}}],["consumes(mediatype.application_json",{"_index":1487,"title":{},"name":{},"text":{"17":{}},"component":{}}],["consumewait",{"_index":2180,"title":{},"name":{},"text":{"33":{}},"component":{}}],["consumpt",{"_index":1197,"title":{"24-2":{}},"name":{},"text":{"12":{}},"component":{}}],["contact",{"_index":2091,"title":{},"name":{},"text":{"31":{}},"component":{}}],["contain",{"_index":235,"title":{"48-3":{}},"name":{},"text":{"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"19":{},"22":{},"23":{},"24":{},"25":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"43":{},"46":{},"47":{},"48":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{}},"component":{}}],["containerconcurr",{"_index":3026,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["containercr",{"_index":2852,"title":{},"name":{},"text":{"51":{}},"component":{}}],["containerport",{"_index":3036,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["contains($l[1",{"_index":1777,"title":{},"name":{},"text":{"25":{}},"component":{}}],["content",{"_index":713,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"11":{},"12":{},"19":{},"23":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"41":{},"46":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{},"66":{},"67":{},"69":{}},"component":{}}],["contenttype(contenttype.json",{"_index":2339,"title":{},"name":{},"text":{"37":{},"40":{}},"component":{}}],["contenttype(mediatype.application_json",{"_index":2443,"title":{},"name":{},"text":{"41":{}},"component":{}}],["context",{"_index":654,"title":{"6-6":{}},"name":{},"text":{"6":{},"14":{},"19":{},"22":{},"37":{},"48":{},"56":{},"57":{},"58":{},"59":{},"63":{},"65":{},"71":{},"72":{}},"component":{}}],["context/namespac",{"_index":2917,"title":{},"name":{},"text":{"54":{}},"component":{}}],["contextattributenam",{"_index":1357,"title":{},"name":{},"text":{"14":{}},"component":{}}],["contextattributevalu",{"_index":1358,"title":{},"name":{},"text":{"14":{}},"component":{}}],["contextu",{"_index":728,"title":{},"name":{},"text":{"6":{}},"component":{}}],["continu",{"_index":363,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"14":{},"36":{},"46":{},"47":{}},"component":{}}],["contrast",{"_index":1479,"title":{},"name":{},"text":{"17":{}},"component":{}}],["control",{"_index":162,"title":{},"name":{},"text":{"1":{},"6":{},"8":{},"16":{},"17":{},"27":{},"36":{},"46":{},"48":{},"51":{},"56":{},"70":{}},"component":{}}],["convent",{"_index":1934,"title":{},"name":{},"text":{"30":{}},"component":{}}],["converg",{"_index":515,"title":{},"name":{},"text":{"3":{}},"component":{}}],["convers",{"_index":1052,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["convert",{"_index":722,"title":{},"name":{},"text":{"6":{},"9":{}},"component":{}}],["cooki",{"_index":1923,"title":{},"name":{},"text":{"30":{}},"component":{}}],["coordin",{"_index":774,"title":{},"name":{},"text":{"6":{},"9":{},"23":{},"46":{}},"component":{}}],["copi",{"_index":688,"title":{},"name":{},"text":{"6":{},"9":{},"19":{},"25":{},"34":{},"35":{},"43":{},"50":{},"66":{},"67":{},"69":{}},"component":{}}],["core",{"_index":2,"title":{"1-2":{}},"name":{},"text":{"2":{},"35":{},"46":{},"51":{},"69":{}},"component":{}}],["core/custom",{"_index":1717,"title":{},"name":{},"text":{"23":{}},"component":{}}],["corner",{"_index":3182,"title":{},"name":{},"text":{"66":{},"67":{},"69":{},"70":{}},"component":{}}],["correclti",{"_index":2859,"title":{},"name":{},"text":{"51":{}},"component":{}}],["correct",{"_index":913,"title":{},"name":{},"text":{"7":{},"12":{},"28":{},"50":{},"51":{},"56":{},"57":{},"58":{},"67":{}},"component":{}}],["correctli",{"_index":425,"title":{},"name":{},"text":{"2":{},"12":{},"41":{},"50":{},"51":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["correl",{"_index":121,"title":{"14":{},"14-1":{}},"name":{"14":{}},"text":{"1":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{}},"component":{}}],["correspond",{"_index":724,"title":{},"name":{},"text":{"6":{},"34":{},"47":{},"68":{}},"component":{}}],["count",{"_index":1820,"title":{},"name":{},"text":{"25":{}},"component":{}}],["counter",{"_index":1753,"title":{},"name":{},"text":{"24":{}},"component":{}}],["countri",{"_index":2467,"title":{},"name":{},"text":{"41":{}},"component":{}}],["countryserviceworkflowtest",{"_index":2513,"title":{},"name":{},"text":{"42":{}},"component":{}}],["cover",{"_index":1433,"title":{},"name":{},"text":{"15":{},"17":{},"18":{},"34":{}},"component":{}}],["cpu",{"_index":2838,"title":{},"name":{},"text":{"51":{}},"component":{}}],["cr",{"_index":246,"title":{},"name":{},"text":{"2":{},"51":{},"52":{}},"component":{}}],["crash",{"_index":458,"title":{},"name":{},"text":{"2":{}},"component":{}}],["crd",{"_index":327,"title":{},"name":{},"text":{"2":{},"51":{}},"component":{}}],["creat",{"_index":55,"title":{"19":{},"11-1":{},"19-2":{},"22-2":{},"43-2":{},"47-8":{},"48-2":{},"48-3":{},"61-1":{},"61-2":{},"68-1":{},"69-1":{},"69-2":{}},"name":{"19":{}},"text":{"1":{},"2":{},"8":{},"9":{},"10":{},"11":{},"12":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"61":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["create_table.sql",{"_index":1872,"title":{},"name":{},"text":{"28":{}},"component":{}}],["creation",{"_index":1834,"title":{},"name":{},"text":{"27":{},"30":{},"43":{}},"component":{}}],["credenti",{"_index":1894,"title":{},"name":{},"text":{"30":{},"31":{},"56":{},"72":{}},"component":{}}],["credit",{"_index":1243,"title":{},"name":{},"text":{"12":{},"46":{}},"component":{}}],["critic",{"_index":462,"title":{},"name":{},"text":{"2":{}},"component":{}}],["cross",{"_index":441,"title":{},"name":{},"text":{"2":{}},"component":{}}],["crucial",{"_index":1465,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["ctrl+c",{"_index":1668,"title":{},"name":{},"text":{"19":{},"31":{}},"component":{}}],["ctrl+shift+m",{"_index":3254,"title":{},"name":{},"text":{"72":{}},"component":{}}],["ctrl+shift+p",{"_index":3234,"title":{},"name":{},"text":{"72":{}},"component":{}}],["ctrl+space",{"_index":3250,"title":{},"name":{},"text":{"72":{}},"component":{}}],["cue",{"_index":2796,"title":{},"name":{},"text":{"50":{}},"component":{}}],["curl",{"_index":1176,"title":{},"name":{},"text":{"11":{},"12":{},"19":{},"23":{},"31":{},"32":{},"34":{},"46":{},"47":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["currenc",{"_index":1961,"title":{},"name":{},"text":{"31":{}},"component":{}}],["currency_exchange_workflow",{"_index":1978,"title":{},"name":{},"text":{"31":{}},"component":{}}],["currencyfrom",{"_index":1991,"title":{},"name":{},"text":{"31":{}},"component":{}}],["currencyto",{"_index":1992,"title":{},"name":{},"text":{"31":{}},"component":{}}],["current",{"_index":25,"title":{},"name":{},"text":{"1":{},"6":{},"8":{},"14":{},"19":{},"27":{},"32":{},"36":{},"43":{},"48":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{},"64":{},"65":{},"66":{},"67":{}},"component":{}}],["currentpric",{"_index":2140,"title":{},"name":{},"text":{"32":{}},"component":{}}],["custom",{"_index":56,"title":{"6":{},"6-1":{},"6-2":{},"6-7":{},"6-11":{},"6-19":{},"6-20":{},"61-1":{},"61-2":{},"61-3":{}},"name":{"6":{},"23":{},"61":{}},"text":{"1":{},"2":{},"6":{},"10":{},"12":{},"18":{},"22":{},"23":{},"25":{},"31":{},"32":{},"46":{},"48":{},"50":{},"51":{},"52":{},"59":{},"61":{},"63":{},"70":{}},"component":{}}],["custom`workitemhandl",{"_index":907,"title":{},"name":{},"text":{"6":{}},"component":{}}],["customer_nam",{"_index":782,"title":{},"name":{},"text":{"6":{}},"component":{}}],["customresourc",{"_index":2798,"title":{},"name":{},"text":{"50":{}},"component":{}}],["cve",{"_index":464,"title":{},"name":{},"text":{"2":{}},"component":{}}],["cycl",{"_index":539,"title":{"41-3":{}},"name":{},"text":{"3":{},"50":{}},"component":{}}],["d",{"_index":1179,"title":{},"name":{},"text":{"11":{},"12":{},"23":{},"28":{},"31":{},"32":{},"34":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{},"67":{}},"component":{}}],["d297",{"_index":1701,"title":{},"name":{},"text":{"22":{}},"component":{}}],["d3",{"_index":487,"title":{},"name":{},"text":{"2":{}},"component":{}}],["d6899b5639aa",{"_index":2615,"title":{},"name":{},"text":{"46":{}},"component":{}}],["daef",{"_index":1399,"title":{},"name":{},"text":{"14":{}},"component":{}}],["daemon",{"_index":2935,"title":{},"name":{},"text":{"54":{},"57":{}},"component":{}}],["damag",{"_index":3191,"title":{},"name":{},"text":{"67":{}},"component":{}}],["dash",{"_index":190,"title":{},"name":{},"text":{"2":{}},"component":{}}],["dash.yaml|yml",{"_index":3210,"title":{},"name":{},"text":{"68":{}},"component":{}}],["dashboard",{"_index":108,"title":{"25":{},"61":{},"25-1":{},"25-2":{},"25-3":{},"61-1":{},"61-2":{},"61-3":{},"61-4":{},"61-5":{}},"name":{"25":{},"61":{}},"text":{"1":{},"2":{},"24":{},"25":{},"57":{},"61":{},"62":{}},"component":{}}],["dashbuild",{"_index":335,"title":{},"name":{},"text":{"2":{},"24":{},"25":{},"61":{},"65":{},"68":{}},"component":{}}],["dashoard",{"_index":1806,"title":{},"name":{},"text":{"25":{}},"component":{}}],["data",{"_index":80,"title":{"25":{},"69":{},"9-3":{},"18-4":{},"25-3":{},"63-4":{},"69-1":{},"69-2":{}},"name":{"25":{},"26":{}},"text":{"1":{},"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"14":{},"16":{},"18":{},"19":{},"22":{},"25":{},"27":{},"31":{},"35":{},"36":{},"40":{},"46":{},"49":{},"50":{},"52":{},"63":{},"64":{},"65":{},"68":{},"69":{}},"component":{}}],["data.processinst",{"_index":1817,"title":{},"name":{},"text":{"25":{}},"component":{}}],["databas",{"_index":143,"title":{"28":{},"47-5":{}},"name":{"29":{}},"text":{"1":{},"2":{},"5":{},"19":{},"27":{},"28":{},"36":{},"40":{},"47":{}},"component":{}}],["database.yml",{"_index":2696,"title":{},"name":{},"text":{"47":{}},"component":{}}],["database_nam",{"_index":1871,"title":{},"name":{},"text":{"28":{}},"component":{}}],["datacondit",{"_index":1041,"title":{},"name":{},"text":{"9":{},"31":{},"50":{},"52":{}},"component":{}}],["datacontenttyp",{"_index":806,"title":{},"name":{},"text":{"6":{},"12":{}},"component":{}}],["dataindex",{"_index":397,"title":{},"name":{},"text":{"2":{}},"component":{}}],["dataindexrestit",{"_index":293,"title":{},"name":{},"text":{"2":{}},"component":{}}],["datainputschema",{"_index":911,"title":{},"name":{},"text":{"7":{},"31":{}},"component":{}}],["dataonli",{"_index":1423,"title":{},"name":{},"text":{"15":{}},"component":{}}],["dataset",{"_index":1771,"title":{},"name":{},"text":{"25":{}},"component":{}}],["datasetlookup",{"_index":1803,"title":{},"name":{},"text":{"25":{}},"component":{}}],["datasourc",{"_index":1823,"title":{},"name":{},"text":{"27":{}},"component":{}}],["date",{"_index":297,"title":{},"name":{},"text":{"2":{},"36":{}},"component":{}}],["day",{"_index":938,"title":{},"name":{},"text":{"8":{}},"component":{}}],["db",{"_index":1883,"title":{},"name":{"29":{}},"text":{},"component":{}}],["ddebug=fals",{"_index":2149,"title":{},"name":{},"text":{"32":{}},"component":{}}],["ddl",{"_index":1845,"title":{},"name":{},"text":{"28":{},"36":{}},"component":{}}],["debug",{"_index":356,"title":{},"name":{"38":{}},"text":{"2":{},"5":{},"6":{},"22":{},"59":{}},"component":{}}],["decid",{"_index":810,"title":{},"name":{},"text":{"6":{}},"component":{}}],["decim",{"_index":756,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["decis",{"_index":107,"title":{},"name":{},"text":{"1":{},"8":{},"13":{},"68":{}},"component":{}}],["declar",{"_index":677,"title":{},"name":{},"text":{"6":{},"13":{},"14":{},"16":{},"17":{},"22":{},"23":{},"31":{},"33":{},"34":{},"36":{},"40":{},"41":{},"46":{}},"component":{}}],["dedic",{"_index":1306,"title":{},"name":{},"text":{"13":{},"36":{}},"component":{}}],["default",{"_index":223,"title":{"34-1":{}},"name":{},"text":{"2":{},"5":{},"6":{},"8":{},"9":{},"12":{},"13":{},"15":{},"16":{},"18":{},"19":{},"25":{},"27":{},"28":{},"30":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"43":{},"49":{},"51":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"66":{},"72":{}},"component":{}}],["defaultcondit",{"_index":986,"title":{},"name":{},"text":{"8":{},"31":{},"47":{},"50":{}},"component":{}}],["defin",{"_index":93,"title":{"22-3":{},"32-4":{},"32-8":{},"35-3":{}},"name":{"7":{}},"text":{"1":{},"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"18":{},"19":{},"22":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"42":{},"46":{},"47":{},"48":{},"49":{},"54":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"72":{}},"component":{}}],["definit",{"_index":90,"title":{"7":{},"63":{},"6-3":{},"6-8":{},"6-12":{},"10-1":{},"12-5":{},"35-1":{},"50-10":{},"63-1":{}},"name":{"63":{}},"text":{"1":{},"2":{},"3":{},"6":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"46":{},"47":{},"48":{},"50":{},"51":{},"59":{},"62":{},"63":{},"64":{},"72":{}},"component":{}}],["defint",{"_index":1425,"title":{},"name":{},"text":{"15":{}},"component":{}}],["deleg",{"_index":1229,"title":{},"name":{},"text":{"12":{},"30":{}},"component":{}}],["delet",{"_index":2812,"title":{},"name":{},"text":{"50":{},"51":{}},"component":{}}],["deliv",{"_index":2573,"title":{},"name":{},"text":{"46":{}},"component":{}}],["deliveri",{"_index":2571,"title":{},"name":{},"text":{"46":{}},"component":{}}],["demo\",node_name=\"2\",process_id=\"foreach\",version=\"1.0.0",{"_index":1760,"title":{},"name":{},"text":{"24":{}},"component":{}}],["demo\",node_name=\"2\",process_id=\"jsongreet\",version=\"1.0.0",{"_index":1756,"title":{},"name":{},"text":{"24":{}},"component":{}}],["demo\",node_name=\"2\",process_id=\"yamlgreet\",version=\"1.0.0",{"_index":1758,"title":{},"name":{},"text":{"24":{}},"component":{}}],["deni",{"_index":2711,"title":{},"name":{},"text":{"47":{}},"component":{}}],["deniedvisa",{"_index":991,"title":{},"name":{},"text":{"8":{}},"component":{}}],["denot",{"_index":867,"title":{},"name":{},"text":{"6":{}},"component":{}}],["depend",{"_index":50,"title":{},"name":{},"text":{"1":{},"2":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"37":{},"40":{},"41":{},"42":{},"43":{},"53":{},"54":{},"56":{},"57":{},"58":{},"62":{},"63":{},"64":{},"65":{},"67":{}},"component":{}}],["deploy",{"_index":66,"title":{"48":{},"56":{},"57":{},"58":{},"65":{},"8-6":{},"43-5":{},"47-5":{},"47-6":{},"47-7":{},"48-5":{},"50-2":{},"56-2":{},"56-3":{},"56-4":{},"56-5":{},"57-2":{},"57-3":{},"57-4":{},"57-5":{},"58-2":{},"58-4":{},"58-5":{},"58-6":{},"65-1":{},"65-2":{}},"name":{"48":{},"56":{},"57":{},"58":{},"65":{}},"text":{"1":{},"3":{},"6":{},"8":{},"12":{},"19":{},"23":{},"27":{},"35":{},"36":{},"41":{},"43":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"65":{},"67":{},"68":{}},"component":{}}],["deployment.apps/job",{"_index":2703,"title":{},"name":{},"text":{"47":{}},"component":{}}],["deployment.apps/timeout",{"_index":2698,"title":{},"name":{},"text":{"47":{}},"component":{}}],["deployment/kogito",{"_index":2858,"title":{},"name":{},"text":{"51":{}},"component":{}}],["deploymentconfigs.v1.apps.openshift.io",{"_index":3115,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deploymentfailur",{"_index":2892,"title":{},"name":{},"text":{"53":{}},"component":{}}],["deploymentisunavail",{"_index":2893,"title":{},"name":{},"text":{"53":{}},"component":{}}],["deployments.v1.app",{"_index":3114,"title":{},"name":{},"text":{"59":{}},"component":{}}],["descend",{"_index":718,"title":{},"name":{},"text":{"6":{},"25":{}},"component":{}}],["describ",{"_index":963,"title":{},"name":{},"text":{"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{},"66":{},"69":{},"70":{},"72":{}},"component":{}}],["descript",{"_index":555,"title":{},"name":{},"text":{"5":{},"10":{},"11":{},"12":{},"18":{},"19":{},"22":{},"30":{},"31":{},"33":{},"35":{},"53":{},"69":{},"72":{}},"component":{}}],["descriptor",{"_index":110,"title":{},"name":{},"text":{"1":{},"2":{},"36":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["desd",{"_index":1039,"title":{},"name":{},"text":{"9":{},"34":{},"50":{}},"component":{}}],["design",{"_index":1029,"title":{},"name":{},"text":{"9":{},"15":{},"46":{},"71":{}},"component":{}}],["desir",{"_index":1114,"title":{},"name":{},"text":{"10":{},"13":{},"50":{},"56":{},"57":{},"58":{}},"component":{}}],["desktop",{"_index":2737,"title":{},"name":{},"text":{"48":{}},"component":{}}],["detail",{"_index":161,"title":{"28-8":{},"61-5":{},"64-1":{}},"name":{},"text":{"1":{},"2":{},"7":{},"8":{},"23":{},"27":{},"41":{},"46":{},"47":{},"56":{},"61":{},"63":{},"64":{}},"component":{}}],["detect",{"_index":467,"title":{},"name":{},"text":{"2":{},"19":{}},"component":{}}],["determin",{"_index":1101,"title":{},"name":{},"text":{"10":{},"31":{},"59":{}},"component":{}}],["dev",{"_index":100,"title":{"62":{}},"name":{"61":{},"62":{},"63":{},"64":{}},"text":{"1":{},"2":{},"5":{},"19":{},"20":{},"32":{},"40":{},"49":{},"50":{},"52":{},"62":{}},"component":{}}],["dev.loc",{"_index":2545,"title":{},"name":{},"text":{"43":{},"57":{}},"component":{}}],["dev.local/kogito/serverless",{"_index":3066,"title":{},"name":{},"text":{"57":{}},"component":{}}],["dev.local/mi",{"_index":2544,"title":{},"name":{},"text":{"43":{}},"component":{}}],["dev.local/serverless",{"_index":1558,"title":{},"name":{},"text":{"19":{}},"component":{}}],["dev.quarkus.rest",{"_index":2147,"title":{},"name":{},"text":{"32":{}},"component":{}}],["develop",{"_index":526,"title":{"50":{},"32-6":{},"50-1":{},"53-2":{}},"name":{"39":{},"50":{}},"text":{"3":{},"5":{},"6":{},"10":{},"11":{},"12":{},"16":{},"17":{},"19":{},"20":{},"25":{},"32":{},"33":{},"34":{},"36":{},"43":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"62":{},"65":{},"67":{},"68":{}},"component":{}}],["devmod",{"_index":361,"title":{},"name":{},"text":{"2":{},"52":{}},"component":{}}],["devui",{"_index":388,"title":{},"name":{},"text":{"2":{},"62":{},"63":{},"64":{}},"component":{}}],["dexec.mainclass=\"org.kie.kogito.examples.sw.greeting.greeterservic",{"_index":2225,"title":{},"name":{},"text":{"34":{}},"component":{}}],["dextensions=\"kogito",{"_index":1201,"title":{},"name":{},"text":{"12":{},"19":{}},"component":{}}],["dextensions=\"quarku",{"_index":1263,"title":{},"name":{},"text":{"12":{}},"component":{}}],["dfd85a369987",{"_index":2946,"title":{},"name":{},"text":{"54":{}},"component":{}}],["diagram",{"_index":1975,"title":{},"name":{},"text":{"31":{},"47":{},"62":{},"64":{},"71":{},"72":{}},"component":{}}],["dialog",{"_index":3232,"title":{},"name":{},"text":{"72":{}},"component":{}}],["differ",{"_index":114,"title":{"32-3":{},"32-4":{},"32-8":{}},"name":{},"text":{"1":{},"2":{},"6":{},"9":{},"10":{},"11":{},"13":{},"15":{},"17":{},"18":{},"24":{},"27":{},"32":{},"34":{},"35":{},"36":{},"40":{},"42":{},"56":{},"57":{},"58":{},"59":{},"63":{},"68":{}},"component":{}}],["difficult",{"_index":2125,"title":{},"name":{},"text":{"32":{}},"component":{}}],["dimens",{"_index":1158,"title":{},"name":{},"text":{"11":{}},"component":{}}],["direct",{"_index":738,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["direct:logroutereplacehead",{"_index":1683,"title":{},"name":{},"text":{"22":{}},"component":{}}],["directli",{"_index":46,"title":{},"name":{},"text":{"1":{},"3":{},"19":{},"24":{},"25":{},"27":{},"48":{},"50":{},"59":{},"70":{}},"component":{}}],["directori",{"_index":1155,"title":{},"name":{},"text":{"11":{},"12":{},"19":{},"22":{},"31":{},"32":{},"34":{},"35":{},"37":{},"43":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["disabl",{"_index":228,"title":{},"name":{},"text":{"2":{},"5":{},"24":{},"31":{},"59":{},"65":{}},"component":{}}],["discard",{"_index":1066,"title":{},"name":{},"text":{"9":{},"16":{}},"component":{}}],["discov",{"_index":1705,"title":{},"name":{},"text":{"23":{},"59":{}},"component":{}}],["discoveri",{"_index":252,"title":{"59":{},"59-1":{},"59-2":{},"59-3":{},"59-4":{},"59-5":{}},"name":{"59":{}},"text":{"2":{},"3":{},"23":{},"31":{},"35":{},"37":{},"59":{}},"component":{}}],["dispatch",{"_index":1219,"title":{},"name":{},"text":{"12":{}},"component":{}}],["display",{"_index":155,"title":{"25":{}},"name":{},"text":{"1":{},"6":{},"9":{},"10":{},"16":{},"17":{},"19":{},"25":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"69":{},"72":{}},"component":{}}],["dist",{"_index":3222,"title":{},"name":{},"text":{"70":{}},"component":{}}],["distribut",{"_index":1606,"title":{},"name":{},"text":{"19":{},"46":{}},"component":{}}],["divid",{"_index":859,"title":{},"name":{},"text":{"6":{}},"component":{}}],["dividend",{"_index":900,"title":{},"name":{},"text":{"6":{}},"component":{}}],["dividend\":\".dividend",{"_index":903,"title":{},"name":{},"text":{"6":{}},"component":{}}],["divis",{"_index":865,"title":{},"name":{},"text":{"6":{}},"component":{}}],["divisor",{"_index":901,"title":{},"name":{},"text":{"6":{}},"component":{}}],["divisor\":\".divisor",{"_index":904,"title":{},"name":{},"text":{"6":{}},"component":{}}],["dn",{"_index":2980,"title":{},"name":{},"text":{"56":{}},"component":{}}],["dnocod",{"_index":1546,"title":{},"name":{},"text":{"19":{}},"component":{}}],["docker",{"_index":1594,"title":{},"name":{},"text":{"19":{},"27":{},"31":{},"40":{},"43":{},"48":{},"51":{},"54":{},"57":{},"58":{}},"component":{}}],["document",{"_index":1027,"title":{},"name":{},"text":{"9":{},"10":{},"11":{},"12":{},"13":{},"15":{},"16":{},"17":{},"18":{},"19":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"48":{},"49":{},"50":{},"53":{},"54":{},"56":{},"57":{},"58":{},"65":{},"66":{},"69":{},"70":{},"72":{}},"component":{}}],["doe",{"_index":2319,"title":{},"name":{},"text":{"37":{},"50":{}},"component":{}}],["doesn’t",{"_index":1562,"title":{},"name":{},"text":{"19":{},"37":{},"53":{}},"component":{}}],["domain",{"_index":1352,"title":{},"name":{},"text":{"14":{},"31":{},"46":{},"56":{},"57":{}},"component":{}}],["domainmap",{"_index":2967,"title":{},"name":{},"text":{"56":{}},"component":{}}],["domest",{"_index":2464,"title":{},"name":{},"text":{"41":{}},"component":{}}],["domesticship",{"_index":2466,"title":{},"name":{},"text":{"41":{}},"component":{}}],["done",{"_index":1011,"title":{},"name":{},"text":{"8":{},"11":{},"36":{}},"component":{}}],["don’t",{"_index":428,"title":{},"name":{},"text":{"2":{},"6":{}},"component":{}}],["dooper",{"_index":2272,"title":{},"name":{},"text":{"35":{}},"component":{}}],["doubl",{"_index":2011,"title":{},"name":{},"text":{"31":{},"48":{}},"component":{}}],["down",{"_index":2315,"title":{},"name":{},"text":{"36":{},"64":{},"69":{}},"component":{}}],["download",{"_index":1765,"title":{},"name":{},"text":{"25":{},"28":{},"34":{},"43":{},"67":{},"70":{},"72":{}},"component":{}}],["dprojectartifactid=serverless",{"_index":1543,"title":{},"name":{},"text":{"19":{}},"component":{}}],["dprojectgroupid=org.acm",{"_index":1542,"title":{},"name":{},"text":{"19":{}},"component":{}}],["dquarkus.contain",{"_index":2912,"title":{},"name":{},"text":{"54":{},"57":{}},"component":{}}],["dquarkus.native.contain",{"_index":2933,"title":{},"name":{},"text":{"54":{}},"component":{}}],["dquarkus.native.remot",{"_index":2936,"title":{},"name":{},"text":{"54":{},"57":{}},"component":{}}],["drag",{"_index":3163,"title":{},"name":{},"text":{"64":{}},"component":{}}],["drawer",{"_index":3217,"title":{},"name":{},"text":{"69":{}},"component":{}}],["driven",{"_index":29,"title":{},"name":{},"text":{"1":{},"14":{},"41":{}},"component":{}}],["driver",{"_index":2847,"title":{},"name":{},"text":{"51":{}},"component":{}}],["drool",{"_index":279,"title":{},"name":{},"text":{"2":{}},"component":{}}],["drop",{"_index":1337,"title":{},"name":{},"text":{"13":{},"64":{},"69":{}},"component":{}}],["dskiptest",{"_index":3046,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["dsl",{"_index":1676,"title":{"22-3":{}},"name":{},"text":{"22":{}},"component":{}}],["due",{"_index":294,"title":{},"name":{},"text":{"2":{},"42":{},"43":{},"56":{},"57":{},"67":{}},"component":{}}],["dupplic",{"_index":318,"title":{},"name":{},"text":{"2":{}},"component":{}}],["durabl",{"_index":2307,"title":{},"name":{},"text":{"36":{}},"component":{}}],["durat",{"_index":931,"title":{},"name":{},"text":{"8":{},"24":{},"25":{}},"component":{}}],["dure",{"_index":437,"title":{"12-4":{}},"name":{},"text":{"2":{},"6":{},"10":{},"12":{},"22":{},"25":{},"27":{},"30":{},"35":{},"41":{},"43":{},"46":{},"50":{},"51":{},"59":{}},"component":{}}],["dynam",{"_index":1486,"title":{},"name":{},"text":{"17":{},"42":{},"71":{},"72":{}},"component":{}}],["e",{"_index":1463,"title":{},"name":{},"text":{"16":{},"37":{},"42":{},"43":{},"46":{}},"component":{}}],["e.g",{"_index":2738,"title":{},"name":{},"text":{"48":{}},"component":{}}],["e0e7708d",{"_index":2072,"title":{},"name":{},"text":{"31":{}},"component":{}}],["e2",{"_index":446,"title":{},"name":{},"text":{"2":{}},"component":{}}],["e293aa293bf",{"_index":1623,"title":{},"name":{},"text":{"19":{}},"component":{}}],["e6ccbe9c94c3",{"_index":2688,"title":{},"name":{},"text":{"46":{}},"component":{}}],["each",{"_index":1021,"title":{},"name":{},"text":{"9":{},"11":{},"12":{},"13":{},"14":{},"16":{},"17":{},"18":{},"24":{},"28":{},"30":{},"32":{},"34":{},"35":{},"42":{},"46":{},"48":{},"58":{},"64":{},"68":{},"72":{}},"component":{}}],["earli",{"_index":2832,"title":{},"name":{},"text":{"51":{}},"component":{}}],["earlier",{"_index":834,"title":{},"name":{},"text":{"6":{},"58":{}},"component":{}}],["easi",{"_index":2714,"title":{},"name":{},"text":{"47":{},"65":{}},"component":{}}],["easiest",{"_index":2777,"title":{},"name":{},"text":{"50":{}},"component":{}}],["easili",{"_index":3078,"title":{},"name":{},"text":{"58":{}},"component":{}}],["ecosystem",{"_index":48,"title":{},"name":{},"text":{"1":{},"20":{}},"component":{}}],["edit",{"_index":1530,"title":{"49-1":{}},"name":{},"text":{"19":{},"20":{},"25":{},"28":{},"49":{},"50":{},"66":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["editor",{"_index":96,"title":{"70":{},"71":{},"72":{},"70-1":{},"70-2":{},"71-1":{},"72-1":{},"72-2":{},"72-4":{}},"name":{"70":{},"71":{},"72":{}},"text":{"1":{},"19":{},"20":{},"22":{},"49":{},"50":{},"63":{},"65":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["efafe4dfb3e7",{"_index":1704,"title":{},"name":{},"text":{"22":{}},"component":{}}],["elaps",{"_index":2377,"title":{},"name":{},"text":{"37":{}},"component":{}}],["elect",{"_index":2299,"title":{"36-5":{}},"name":{},"text":{"36":{}},"component":{}}],["element",{"_index":1356,"title":{},"name":{},"text":{"14":{}},"component":{}}],["else’",{"_index":3188,"title":{},"name":{},"text":{"66":{}},"component":{}}],["email",{"_index":1374,"title":{},"name":{},"text":{"14":{},"48":{}},"component":{}}],["emb",{"_index":1049,"title":{},"name":{},"text":{"9":{}},"component":{}}],["embed",{"_index":227,"title":{},"name":{},"text":{"2":{},"9":{},"10":{},"19":{},"36":{}},"component":{}}],["emitt",{"_index":1330,"title":{},"name":{},"text":{"13":{}},"component":{}}],["empti",{"_index":326,"title":{},"name":{},"text":{"2":{},"5":{},"16":{},"34":{},"59":{}},"component":{}}],["emul",{"_index":3064,"title":{},"name":{},"text":{"57":{}},"component":{}}],["enabl",{"_index":571,"title":{"22-1":{},"24-1":{},"59-4":{},"72-5":{}},"name":{},"text":{"5":{},"6":{},"9":{},"10":{},"12":{},"13":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"37":{},"40":{},"41":{},"43":{},"49":{},"52":{},"57":{},"59":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"72":{}},"component":{}}],["enabled=fals",{"_index":1942,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["encapsul",{"_index":1299,"title":{},"name":{},"text":{"13":{}},"component":{}}],["encod",{"_index":1568,"title":{},"name":{},"text":{"19":{}},"component":{}}],["encount",{"_index":1100,"title":{},"name":{},"text":{"10":{},"67":{}},"component":{}}],["end",{"_index":784,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"11":{},"16":{},"17":{},"19":{},"22":{},"25":{},"31":{},"32":{},"35":{},"40":{},"41":{},"47":{},"48":{},"50":{},"64":{}},"component":{}}],["endpoint",{"_index":113,"title":{"32":{},"12-3":{},"32-3":{},"35-5":{}},"name":{"32":{}},"text":{"1":{},"2":{},"5":{},"6":{},"7":{},"9":{},"11":{},"12":{},"17":{},"19":{},"22":{},"24":{},"25":{},"30":{},"31":{},"32":{},"33":{},"35":{},"37":{},"41":{},"42":{},"53":{},"59":{},"63":{},"64":{}},"component":{}}],["endsuccess",{"_index":1999,"title":{},"name":{},"text":{"31":{}},"component":{}}],["endwitherror",{"_index":1997,"title":{},"name":{},"text":{"31":{}},"component":{}}],["enforc",{"_index":214,"title":{},"name":{},"text":{"2":{},"43":{}},"component":{}}],["engin",{"_index":253,"title":{},"name":{},"text":{"2":{},"8":{},"10":{},"14":{},"22":{},"27":{},"35":{},"46":{},"49":{},"59":{}},"component":{}}],["english",{"_index":1032,"title":{},"name":{},"text":{"9":{},"34":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["enough",{"_index":1206,"title":{},"name":{},"text":{"12":{}},"component":{}}],["ensur",{"_index":221,"title":{},"name":{},"text":{"2":{},"6":{},"12":{},"24":{},"28":{},"40":{},"43":{},"46":{},"50":{},"56":{},"57":{},"58":{},"65":{},"66":{}},"component":{}}],["enter",{"_index":1561,"title":{},"name":{},"text":{"19":{},"34":{},"43":{},"53":{},"56":{},"57":{},"58":{},"61":{},"62":{},"63":{},"64":{},"67":{},"69":{},"72":{}},"component":{}}],["enterpris",{"_index":1607,"title":{},"name":{},"text":{"19":{},"67":{}},"component":{}}],["entir",{"_index":706,"title":{},"name":{},"text":{"6":{},"9":{},"14":{},"46":{},"65":{}},"component":{}}],["entiti",{"_index":1301,"title":{},"name":{},"text":{"13":{}},"component":{}}],["enum",{"_index":2193,"title":{"34-1":{}},"name":{},"text":{"72":{}},"component":{}}],["enumer",{"_index":606,"title":{},"name":{},"text":{"5":{},"34":{}},"component":{}}],["env",{"_index":414,"title":{},"name":{},"text":{"2":{},"57":{}},"component":{}}],["environ",{"_index":115,"title":{"32-3":{},"32-4":{},"32-8":{}},"name":{},"text":{"1":{},"8":{},"12":{},"17":{},"20":{},"30":{},"31":{},"32":{},"35":{},"36":{},"42":{},"43":{},"47":{},"50":{},"51":{},"57":{},"58":{},"64":{},"65":{}},"component":{}}],["ephemer",{"_index":2298,"title":{"36-4":{}},"name":{},"text":{"36":{}},"component":{}}],["ephemeral:1.40.0.fin",{"_index":638,"title":{},"name":{},"text":{"5":{}},"component":{}}],["equal",{"_index":1061,"title":{},"name":{},"text":{"9":{}},"component":{}}],["equals_to",{"_index":1799,"title":{},"name":{},"text":{"25":{}},"component":{}}],["equalto(\"hello",{"_index":2345,"title":{},"name":{},"text":{"37":{}},"component":{}}],["equip",{"_index":2310,"title":{},"name":{},"text":{"36":{}},"component":{}}],["error",{"_index":81,"title":{"10":{},"10-1":{},"10-2":{},"18-6":{}},"name":{"10":{}},"text":{"1":{},"2":{},"6":{},"10":{},"13":{},"18":{},"25":{},"31":{},"37":{},"46":{},"50":{},"57":{},"58":{},"63":{},"64":{},"67":{},"71":{},"72":{}},"component":{}}],["error.messag",{"_index":1818,"title":{},"name":{},"text":{"25":{}},"component":{}}],["errorref",{"_index":979,"title":{},"name":{},"text":{"8":{},"10":{},"31":{}},"component":{}}],["errorref\":\"process",{"_index":2589,"title":{},"name":{},"text":{"46":{}},"component":{}}],["establish",{"_index":1873,"title":{},"name":{},"text":{"28":{}},"component":{}}],["etc",{"_index":757,"title":{},"name":{},"text":{"6":{},"22":{},"31":{}},"component":{}}],["eur",{"_index":2059,"title":{},"name":{},"text":{"31":{}},"component":{}}],["eval",{"_index":3050,"title":{},"name":{},"text":{"57":{}},"component":{}}],["evalu",{"_index":1031,"title":{},"name":{},"text":{"9":{},"14":{},"18":{},"22":{},"31":{},"41":{},"52":{}},"component":{}}],["even",{"_index":45,"title":{},"name":{},"text":{"1":{},"10":{},"13":{},"27":{},"50":{}},"component":{}}],["event",{"_index":6,"title":{"12":{},"13":{},"14":{},"15":{},"1-5":{},"8-2":{},"8-5":{},"12-1":{},"12-2":{},"12-3":{},"12-5":{},"14-1":{},"15-1":{},"18-3":{},"33-1":{},"33-2":{},"36-7":{},"47-3":{},"63-7":{},"64-2":{}},"name":{"12":{},"13":{},"14":{},"15":{}},"text":{"1":{},"2":{},"3":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"27":{},"33":{},"36":{},"41":{},"43":{},"46":{},"47":{},"52":{},"56":{},"57":{},"58":{},"63":{},"64":{}},"component":{}}],["event1",{"_index":999,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["event2",{"_index":1005,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["eventbodi",{"_index":1451,"title":{},"name":{},"text":{"16":{}},"component":{}}],["eventbody.put(\"dummyeventvari",{"_index":1454,"title":{},"name":{},"text":{"16":{}},"component":{}}],["eventbody.put(\"result",{"_index":1453,"title":{},"name":{},"text":{"16":{}},"component":{}}],["eventcondit",{"_index":984,"title":{},"name":{},"text":{"8":{}},"component":{}}],["eventdata",{"_index":2692,"title":{},"name":{},"text":{"47":{}},"component":{}}],["eventdatafilt",{"_index":1000,"title":{},"name":{},"text":{"8":{},"9":{},"16":{}},"component":{}}],["eventing.knative.dev/v1",{"_index":1224,"title":{},"name":{},"text":{"12":{}},"component":{}}],["eventing:1.40.0.fin",{"_index":3012,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["eventinput",{"_index":1489,"title":{},"name":{},"text":{"17":{}},"component":{}}],["eventinput.getprocessinstanceid",{"_index":1493,"title":{},"name":{},"text":{"17":{}},"component":{}}],["eventref",{"_index":975,"title":{},"name":{},"text":{"8":{},"9":{},"14":{},"15":{},"16":{},"17":{}},"component":{}}],["eventrefdefinit",{"_index":1510,"title":{},"name":{},"text":{"18":{}},"component":{}}],["events.connector=quarku",{"_index":1018,"title":{},"name":{},"text":{"8":{}},"component":{}}],["events.method=post",{"_index":1020,"title":{},"name":{},"text":{"8":{}},"component":{}}],["events.url=${k_sink:http://localhost:8280/jobs/ev",{"_index":1019,"title":{},"name":{},"text":{"8":{}},"component":{}}],["eventtimeout",{"_index":965,"title":{},"name":{},"text":{"8":{}},"component":{}}],["eventu",{"_index":514,"title":{},"name":{},"text":{"3":{},"17":{},"36":{}},"component":{}}],["everyth",{"_index":2759,"title":{},"name":{},"text":{"48":{},"50":{},"51":{},"58":{}},"component":{}}],["everytim",{"_index":628,"title":{},"name":{},"text":{"5":{}},"component":{}}],["evolv",{"_index":509,"title":{},"name":{},"text":{"3":{},"50":{}},"component":{}}],["exactli",{"_index":939,"title":{},"name":{},"text":{"8":{}},"component":{}}],["exampl",{"_index":150,"title":{"46":{},"47":{},"6-20":{},"8-8":{},"9-1":{},"9-2":{},"9-3":{},"10-2":{},"12-5":{},"13-2":{},"14-1":{},"15-1":{},"16-1":{},"17-1":{},"22-4":{},"24-5":{},"30-2":{},"30-3":{},"30-4":{},"30-5":{},"30-6":{},"31-1":{},"31-2":{},"31-3":{},"41-3":{},"46-2":{},"46-3":{},"47-4":{},"54-1":{},"59-3":{}},"name":{"45":{},"47":{}},"text":{"1":{},"2":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"65":{},"69":{},"72":{}},"component":{}}],["example.json",{"_index":1888,"title":{},"name":{},"text":{"30":{}},"component":{}}],["examples.git",{"_index":1827,"title":{},"name":{},"text":{"27":{},"31":{},"54":{}},"component":{}}],["examples/serverless",{"_index":1519,"title":{},"name":{},"text":{"19":{},"31":{},"37":{},"54":{}},"component":{}}],["example’",{"_index":2694,"title":{},"name":{},"text":{"47":{}},"component":{}}],["exceed",{"_index":996,"title":{},"name":{},"text":{"8":{}},"component":{}}],["except",{"_index":1099,"title":{},"name":{},"text":{"10":{},"18":{},"46":{},"59":{}},"component":{}}],["excerpt",{"_index":2281,"title":{},"name":{},"text":{"35":{}},"component":{}}],["exchang",{"_index":1962,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exchanged",{"_index":1993,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exchanger",{"_index":1987,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exchangerateresult",{"_index":2024,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exchangeworkflowhelp",{"_index":2004,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exchangeworkflowhelper.java",{"_index":2005,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exclus",{"_index":994,"title":{},"name":{},"text":{"8":{},"15":{},"18":{},"30":{}},"component":{}}],["exec:java",{"_index":2224,"title":{},"name":{},"text":{"34":{}},"component":{}}],["execut",{"_index":53,"title":{"28-4":{},"41-3":{}},"name":{"38":{}},"text":{"1":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"25":{},"27":{},"28":{},"31":{},"34":{},"36":{},"37":{},"40":{},"41":{},"43":{},"46":{},"47":{},"49":{},"50":{},"54":{},"56":{},"57":{},"58":{},"62":{},"64":{},"67":{},"72":{}},"component":{}}],["executeworkitem",{"_index":849,"title":{},"name":{},"text":{"6":{}},"component":{}}],["executionstatu",{"_index":1995,"title":{},"name":{},"text":{"31":{}},"component":{}}],["executionstatusmessag",{"_index":2000,"title":{},"name":{},"text":{"31":{}},"component":{}}],["executor",{"_index":249,"title":{},"name":{},"text":{"2":{},"46":{}},"component":{}}],["exemplifi",{"_index":734,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["exhaust",{"_index":1104,"title":{},"name":{},"text":{"10":{}},"component":{}}],["exist",{"_index":145,"title":{},"name":{},"text":{"1":{},"5":{},"9":{},"13":{},"15":{},"28":{},"32":{},"34":{},"42":{},"59":{},"66":{},"72":{}},"component":{}}],["exitmessag",{"_index":1002,"title":{},"name":{},"text":{"8":{}},"component":{}}],["expect",{"_index":705,"title":{},"name":{},"text":{"6":{},"10":{},"16":{},"22":{},"34":{},"37":{},"40":{},"41":{},"54":{},"59":{}},"component":{}}],["experi",{"_index":524,"title":{},"name":{},"text":{"3":{},"20":{},"71":{},"72":{}},"component":{}}],["expir",{"_index":985,"title":{},"name":{},"text":{"8":{},"40":{},"41":{}},"component":{}}],["explain",{"_index":1323,"title":{},"name":{},"text":{"13":{},"50":{},"58":{}},"component":{}}],["explicitli",{"_index":1304,"title":{},"name":{},"text":{"13":{}},"component":{}}],["explor",{"_index":3158,"title":{},"name":{},"text":{"64":{}},"component":{}}],["export",{"_index":2168,"title":{},"name":{},"text":{"32":{}},"component":{}}],["expos",{"_index":157,"title":{"24":{}},"name":{"24":{}},"text":{"1":{},"24":{},"31":{},"35":{},"37":{},"50":{},"58":{},"59":{},"64":{}},"component":{}}],["express",{"_index":78,"title":{"9":{},"9-1":{},"9-2":{},"9-3":{},"18-5":{}},"name":{"9":{}},"text":{"1":{},"6":{},"7":{},"9":{},"10":{},"11":{},"18":{},"22":{},"25":{},"31":{},"35":{},"40":{},"41":{},"52":{},"59":{}},"component":{}}],["expressionlang",{"_index":1026,"title":{},"name":{},"text":{"9":{},"18":{}},"component":{}}],["expressionslang",{"_index":2877,"title":{},"name":{},"text":{"52":{}},"component":{}}],["ext",{"_index":3013,"title":{},"name":{},"text":{"56":{},"57":{},"58":{},"62":{}},"component":{}}],["extend",{"_index":660,"title":{"67-1":{}},"name":{},"text":{"6":{},"27":{},"67":{}},"component":{}}],["extens",{"_index":98,"title":{"61":{},"62":{},"64":{},"70":{},"72":{},"62-1":{},"70-1":{},"70-2":{},"72-1":{},"72-3":{},"72-5":{}},"name":{"70":{},"72":{}},"text":{"1":{},"2":{},"6":{},"12":{},"13":{},"14":{},"16":{},"17":{},"19":{},"20":{},"23":{},"24":{},"30":{},"32":{},"33":{},"35":{},"37":{},"40":{},"43":{},"54":{},"56":{},"57":{},"58":{},"62":{},"63":{},"64":{},"70":{},"71":{},"72":{}},"component":{}}],["extension.kogito.swf.silentlygeneratesvg",{"_index":3235,"title":{},"name":{},"text":{"72":{}},"component":{}}],["extensionid",{"_index":2114,"title":{},"name":{},"text":{"32":{}},"component":{}}],["extension’",{"_index":386,"title":{},"name":{},"text":{"2":{}},"component":{}}],["extern",{"_index":136,"title":{},"name":{},"text":{"1":{},"6":{},"8":{},"10":{},"14":{},"16":{},"17":{},"36":{},"52":{},"53":{},"56":{},"65":{},"72":{}},"component":{}}],["extract",{"_index":881,"title":{},"name":{},"text":{"6":{},"14":{},"25":{},"28":{},"35":{},"40":{},"70":{}},"component":{}}],["f",{"_index":1276,"title":{},"name":{},"text":{"12":{},"24":{},"28":{},"47":{},"48":{},"50":{},"51":{},"56":{},"57":{},"58":{}},"component":{}}],["f0f9",{"_index":1181,"title":{},"name":{},"text":{"11":{}},"component":{}}],["f5c5d5d784ad",{"_index":2324,"title":{},"name":{},"text":{"37":{}},"component":{}}],["f779929c9937\",\"workflowdata\":{\"symbol\":\"kgto\",\"currentprice\":59.36,\"profit\":\"19",{"_index":2166,"title":{},"name":{},"text":{"32":{}},"component":{}}],["fabric8",{"_index":3131,"title":{},"name":{},"text":{"59":{}},"component":{}}],["facilit",{"_index":1260,"title":{},"name":{},"text":{"12":{},"40":{}},"component":{}}],["fact",{"_index":1441,"title":{},"name":{},"text":{"16":{},"17":{},"47":{}},"component":{}}],["fahrenheit",{"_index":1053,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["fail",{"_index":233,"title":{},"name":{},"text":{"2":{},"5":{},"13":{},"31":{},"37":{},"42":{},"46":{},"53":{}},"component":{}}],["failonvalidationerror",{"_index":915,"title":{},"name":{},"text":{"7":{}},"component":{}}],["failsaf",{"_index":2395,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["failservic",{"_index":2652,"title":{},"name":{},"text":{"46":{}},"component":{}}],["failservice\":\".failservic",{"_index":2585,"title":{},"name":{},"text":{"46":{}},"component":{}}],["failservice\":\"shippingservic",{"_index":2660,"title":{},"name":{},"text":{"46":{}},"component":{}}],["failur",{"_index":292,"title":{"50-7":{}},"name":{},"text":{"2":{},"10":{},"36":{},"37":{},"46":{},"52":{},"53":{},"63":{},"64":{}},"component":{}}],["failurethreshold",{"_index":3029,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["fake",{"_index":2127,"title":{},"name":{},"text":{"32":{}},"component":{}}],["fals",{"_index":575,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"12":{},"15":{},"18":{},"27":{},"28":{},"35":{},"49":{},"50":{},"53":{},"54":{},"57":{}},"component":{}}],["familiar",{"_index":73,"title":{"20":{}},"name":{"20":{}},"text":{"1":{},"18":{},"19":{},"35":{},"42":{},"54":{}},"component":{}}],["fast",{"_index":475,"title":{},"name":{},"text":{"2":{},"43":{}},"component":{}}],["faster",{"_index":2941,"title":{},"name":{},"text":{"54":{},"56":{},"57":{},"58":{}},"component":{}}],["fat",{"_index":2161,"title":{},"name":{},"text":{"32":{}},"component":{}}],["fe5a3577efdd\",\"workflowdata\":{\"name\":\"john\",\"language\":\"english\",\"greeting\":\"hello",{"_index":2764,"title":{},"name":{},"text":{"48":{}},"component":{}}],["featur",{"_index":169,"title":{"2":{},"50-8":{},"52-1":{},"52-2":{},"71-1":{},"72-2":{}},"name":{},"text":{"2":{},"3":{},"6":{},"18":{},"19":{},"22":{},"23":{},"27":{},"28":{},"35":{},"36":{},"37":{},"48":{},"50":{},"52":{},"56":{},"57":{},"58":{},"59":{},"69":{},"71":{},"72":{}},"component":{}}],["feel",{"_index":648,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["fetch",{"_index":2821,"title":{},"name":{},"text":{"50":{},"57":{},"63":{},"64":{},"65":{},"69":{},"72":{}},"component":{}}],["few",{"_index":527,"title":{},"name":{},"text":{"3":{},"12":{},"49":{},"50":{},"54":{},"65":{}},"component":{}}],["field",{"_index":824,"title":{},"name":{},"text":{"6":{},"9":{},"16":{},"19":{},"25":{},"27":{},"34":{},"48":{},"50":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{}},"component":{}}],["figur",{"_index":1044,"title":{},"name":{},"text":{"9":{},"10":{},"14":{},"16":{},"17":{},"19":{},"25":{},"31":{},"36":{},"41":{},"46":{},"47":{},"50":{},"56":{},"59":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["file",{"_index":218,"title":{"61-2":{},"72-5":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"7":{},"9":{},"11":{},"12":{},"13":{},"14":{},"16":{},"17":{},"19":{},"20":{},"22":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"49":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"61":{},"62":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["file.yaml#myfunction1",{"_index":2256,"title":{},"name":{},"text":{"35":{}},"component":{}}],["file=.dockerconfigjson=${home}/.docker/config.json",{"_index":2733,"title":{},"name":{},"text":{"48":{}},"component":{}}],["file_nam",{"_index":596,"title":{},"name":{},"text":{"5":{}},"component":{}}],["file_name(default",{"_index":2094,"title":{},"name":{},"text":{"32":{}},"component":{}}],["filenam",{"_index":1896,"title":{},"name":{},"text":{"30":{},"72":{}},"component":{}}],["filename.svg",{"_index":3237,"title":{},"name":{},"text":{"72":{}},"component":{}}],["filesystem",{"_index":563,"title":{},"name":{},"text":{"5":{}},"component":{}}],["fill",{"_index":2223,"title":{"63-4":{}},"name":{},"text":{"34":{},"63":{},"64":{}},"component":{}}],["fillworkitemhandl",{"_index":837,"title":{},"name":{},"text":{"6":{}},"component":{}}],["fillworkitemhandler(workflow",{"_index":873,"title":{},"name":{},"text":{"6":{}},"component":{}}],["filter",{"_index":716,"title":{"9-3":{},"61-4":{},"63-1":{}},"name":{},"text":{"6":{},"9":{},"12":{},"18":{},"19":{},"25":{},"30":{},"31":{},"59":{},"61":{},"63":{},"64":{}},"component":{}}],["final",{"_index":739,"title":{},"name":{},"text":{"6":{},"9":{},"31":{},"35":{},"36":{},"41":{},"42":{},"48":{}},"component":{}}],["finalizewitherror",{"_index":981,"title":{},"name":{},"text":{"8":{}},"component":{}}],["financi",{"_index":1964,"title":{},"name":{},"text":{"31":{}},"component":{}}],["find",{"_index":644,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["fine",{"_index":2792,"title":{},"name":{},"text":{"50":{}},"component":{}}],["finish",{"_index":951,"title":{},"name":{},"text":{"8":{},"9":{},"10":{},"16":{},"17":{},"19":{},"27":{},"34":{},"37":{},"42":{},"53":{}},"component":{}}],["fire",{"_index":1477,"title":{},"name":{},"text":{"17":{},"36":{}},"component":{}}],["fire&wait",{"_index":1432,"title":{},"name":{},"text":{"15":{},"16":{}},"component":{}}],["first",{"_index":68,"title":{"19":{},"65-1":{},"65-2":{}},"name":{"19":{}},"text":{"1":{},"9":{},"10":{},"11":{},"13":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"24":{},"25":{},"27":{},"31":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"47":{},"50":{},"51":{},"54":{},"57":{},"58":{},"59":{},"65":{}},"component":{}}],["fit",{"_index":2309,"title":{},"name":{},"text":{"36":{}},"component":{}}],["fix",{"_index":167,"title":{"2-2":{}},"name":{},"text":{"2":{},"5":{},"42":{},"43":{},"50":{},"67":{}},"component":{}}],["flag",{"_index":995,"title":{},"name":{},"text":{"8":{},"10":{},"19":{},"43":{},"54":{},"67":{}},"component":{}}],["flasgger",{"_index":2264,"title":{},"name":{},"text":{"35":{}},"component":{}}],["fli",{"_index":2744,"title":{},"name":{},"text":{"48":{}},"component":{}}],["float",{"_index":755,"title":{},"name":{},"text":{"6":{},"22":{},"35":{}},"component":{}}],["flow",{"_index":948,"title":{},"name":{},"text":{"8":{},"12":{},"17":{},"19":{},"30":{},"31":{},"33":{},"41":{},"46":{},"50":{}},"component":{}}],["fluent",{"_index":391,"title":{},"name":{},"text":{"2":{}},"component":{}}],["flyway",{"_index":147,"title":{"28-2":{},"28-3":{},"28-7":{},"28-8":{}},"name":{"28":{}},"text":{"1":{},"27":{},"28":{},"36":{}},"component":{}}],["flyway.loc",{"_index":1864,"title":{},"name":{},"text":{"28":{}},"component":{}}],["flyway.locations=classpath:com.mycomp.migration,database/migrations,filesystem:/sql",{"_index":1865,"title":{},"name":{},"text":{"28":{}},"component":{}}],["flyway.password=bar",{"_index":1854,"title":{},"name":{},"text":{"28":{}},"component":{}}],["flyway.url=jdbc:postgresql://localhost:5432/foobardb",{"_index":1852,"title":{},"name":{},"text":{"28":{}},"component":{}}],["flyway.user=foo",{"_index":1853,"title":{},"name":{},"text":{"28":{}},"component":{}}],["flyway_schema_histori",{"_index":1848,"title":{},"name":{},"text":{"28":{}},"component":{}}],["focus",{"_index":1439,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["folder",{"_index":1862,"title":{},"name":{},"text":{"28":{},"35":{},"43":{},"47":{},"48":{},"65":{},"66":{},"70":{},"72":{}},"component":{}}],["follow",{"_index":67,"title":{},"name":{},"text":{"1":{},"5":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["footprint",{"_index":2932,"title":{},"name":{},"text":{"54":{}},"component":{}}],["foreach",{"_index":418,"title":{},"name":{},"text":{"2":{},"5":{},"18":{},"24":{}},"component":{}}],["forget",{"_index":808,"title":{},"name":{},"text":{"6":{}},"component":{}}],["form",{"_index":968,"title":{},"name":{},"text":{"8":{},"13":{},"18":{},"63":{},"64":{}},"component":{}}],["format",{"_index":922,"title":{},"name":{},"text":{"7":{},"8":{},"12":{},"13":{},"14":{},"22":{},"25":{},"27":{},"30":{},"31":{},"35":{},"49":{},"63":{},"64":{},"72":{}},"component":{}}],["former",{"_index":1440,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["forth",{"_index":421,"title":{},"name":{},"text":{"2":{}},"component":{}}],["found",{"_index":549,"title":{"5-1":{},"6-22":{},"7-2":{},"8-10":{},"9-5":{},"10-4":{},"11-5":{},"12-7":{},"13-5":{},"14-3":{},"15-3":{},"16-3":{},"17-4":{},"18-13":{},"19-7":{},"20-1":{},"22-6":{},"23-3":{},"24-6":{},"25-5":{},"27-3":{},"28-9":{},"30-8":{},"31-5":{},"32-10":{},"33-3":{},"34-7":{},"35-7":{},"36-9":{},"37-2":{},"40-4":{},"41-5":{},"42-5":{},"43-7":{},"46-5":{},"47-12":{},"48-8":{},"49-4":{},"50-12":{},"51-5":{},"53-5":{},"54-6":{},"56-6":{},"57-6":{},"58-7":{},"59-7":{},"61-6":{},"62-2":{},"63-8":{},"64-3":{},"65-3":{},"66-4":{},"67-3":{},"68-3":{},"69-3":{},"70-3":{},"71-3":{},"72-7":{}},"name":{},"text":{"6":{},"10":{},"13":{},"34":{},"35":{},"36":{},"37":{},"50":{},"58":{},"59":{}},"component":{}}],["foundat",{"_index":659,"title":{},"name":{},"text":{"6":{},"18":{}},"component":{}}],["four",{"_index":854,"title":{},"name":{},"text":{"6":{}},"component":{}}],["fqcn",{"_index":683,"title":{},"name":{},"text":{"6":{},"10":{},"46":{}},"component":{}}],["framework",{"_index":54,"title":{},"name":{},"text":{"1":{},"31":{},"35":{},"41":{}},"component":{}}],["fraud",{"_index":2459,"title":{},"name":{},"text":{"41":{}},"component":{}}],["fraudevalu",{"_index":2461,"title":{},"name":{},"text":{"41":{}},"component":{}}],["free",{"_index":649,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["from/test",{"_index":2441,"title":{},"name":{},"text":{"41":{}},"component":{}}],["fulfil",{"_index":2568,"title":{},"name":{},"text":{"46":{}},"component":{}}],["full",{"_index":512,"title":{},"name":{},"text":{"3":{},"32":{},"40":{},"43":{},"70":{}},"component":{}}],["full_uri",{"_index":597,"title":{},"name":{},"text":{"5":{},"32":{}},"component":{}}],["fulli",{"_index":684,"title":{},"name":{},"text":{"6":{},"10":{},"18":{},"46":{}},"component":{}}],["function",{"_index":76,"title":{"6":{},"6-1":{},"6-2":{},"6-3":{},"6-4":{},"6-5":{},"6-6":{},"6-7":{},"6-8":{},"6-9":{},"6-10":{},"6-11":{},"6-12":{},"6-14":{},"6-19":{},"6-20":{},"9-2":{},"18-2":{},"22-3":{},"35-1":{},"35-3":{},"35-4":{}},"name":{"6":{},"23":{}},"text":{"1":{},"2":{},"6":{},"9":{},"10":{},"11":{},"13":{},"15":{},"17":{},"18":{},"22":{},"23":{},"25":{},"31":{},"32":{},"33":{},"34":{},"35":{},"46":{},"50":{},"52":{},"59":{},"65":{},"69":{},"72":{}},"component":{}}],["function($l",{"_index":1775,"title":{},"name":{},"text":{"25":{}},"component":{}}],["function_nam",{"_index":599,"title":{},"name":{},"text":{"5":{},"32":{}},"component":{}}],["functiondef",{"_index":876,"title":{},"name":{},"text":{"6":{}},"component":{}}],["functiondefinit",{"_index":875,"title":{},"name":{},"text":{"6":{}},"component":{}}],["functionref",{"_index":241,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"9":{},"10":{},"11":{},"15":{},"17":{},"22":{},"23":{},"31":{},"32":{},"33":{},"34":{},"35":{},"46":{},"50":{},"52":{}},"component":{}}],["function’",{"_index":1708,"title":{},"name":{},"text":{"23":{}},"component":{}}],["further",{"_index":1972,"title":{},"name":{},"text":{"31":{},"56":{},"57":{},"58":{}},"component":{}}],["futur",{"_index":1415,"title":{},"name":{},"text":{"14":{},"18":{},"31":{},"35":{},"36":{}},"component":{}}],["gbp",{"_index":2078,"title":{},"name":{},"text":{"31":{}},"component":{}}],["gener",{"_index":247,"title":{"12-4":{},"53-1":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"12":{},"13":{},"16":{},"17":{},"19":{},"24":{},"30":{},"31":{},"32":{},"33":{},"35":{},"37":{},"43":{},"47":{},"48":{},"49":{},"53":{},"56":{},"57":{},"58":{},"62":{},"63":{},"66":{},"71":{},"72":{}},"component":{}}],["generalerror",{"_index":921,"title":{},"name":{},"text":{"7":{}},"component":{}}],["generatecloudevent(ce.get().getextension(cloudeventextensionconstants.process_instance_id).tostr",{"_index":1474,"title":{},"name":{},"text":{"16":{}},"component":{}}],["generatecloudevent(str",{"_index":1450,"title":{},"name":{},"text":{"16":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].[auth_property_nam",{"_index":1895,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].api",{"_index":1920,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].bear",{"_index":1916,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].head",{"_index":1955,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].password",{"_index":1913,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].token",{"_index":1951,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].usernam",{"_index":1911,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.codegen.default.security.schem",{"_index":1892,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.codegen.default.security.scheme=http",{"_index":1893,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.codegen.spec.acme_financial_service_yml.bas",{"_index":2029,"title":{},"name":{},"text":{"31":{}},"component":{}}],["generator.security_example_json.auth.api_key_example.api",{"_index":1921,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.security_example_json.auth.http_basic_example.password=my_passwd",{"_index":1914,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.security_example_json.auth.http_basic_example.username=my_us",{"_index":1912,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.security_example_json.auth.http_bearer_example.bear",{"_index":1917,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.security_example_json.auth.oauth_example.head",{"_index":1957,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.security_example_json.auth.oauth_example.token",{"_index":1953,"title":{},"name":{},"text":{"30":{}},"component":{}}],["get",{"_index":0,"title":{"20":{},"1-1":{}},"name":{"20":{}},"text":{"1":{},"3":{},"18":{},"19":{},"24":{},"35":{},"42":{},"47":{},"51":{},"54":{},"57":{}},"component":{}}],["get(\"/callback/{id",{"_index":2413,"title":{},"name":{},"text":{"40":{}},"component":{}}],["getexchanger",{"_index":1982,"title":{},"name":{},"text":{"31":{}},"component":{}}],["getexchangerateact",{"_index":1996,"title":{},"name":{},"text":{"31":{}},"component":{}}],["getpet",{"_index":2288,"title":{},"name":{},"text":{"35":{}},"component":{}}],["getpetbyid",{"_index":2284,"title":{},"name":{},"text":{"35":{}},"component":{}}],["getprofitfunct",{"_index":2133,"title":{},"name":{},"text":{"32":{}},"component":{}}],["getstockpric",{"_index":2129,"title":{},"name":{},"text":{"32":{}},"component":{}}],["getstockpricefunct",{"_index":2130,"title":{},"name":{},"text":{"32":{}},"component":{}}],["getstockprofit",{"_index":2139,"title":{},"name":{},"text":{"32":{}},"component":{}}],["getter",{"_index":2015,"title":{},"name":{},"text":{"31":{}},"component":{}}],["gist",{"_index":3183,"title":{},"name":{},"text":{"66":{}},"component":{}}],["git",{"_index":1825,"title":{},"name":{},"text":{"27":{},"31":{},"54":{},"66":{}},"component":{}}],["git@github.com:kiegroup/kogito",{"_index":1826,"title":{},"name":{},"text":{"27":{}},"component":{}}],["github",{"_index":1139,"title":{"66":{},"70":{},"66-1":{},"66-2":{},"66-3":{},"70-1":{},"70-2":{}},"name":{"66":{}},"text":{"11":{},"16":{},"17":{},"19":{},"20":{},"22":{},"27":{},"31":{},"32":{},"34":{},"37":{},"43":{},"46":{},"65":{},"66":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["give",{"_index":2795,"title":{},"name":{},"text":{"50":{}},"component":{}}],["given",{"_index":761,"title":{},"name":{},"text":{"6":{},"12":{},"14":{},"32":{},"37":{},"40":{},"41":{},"46":{},"48":{},"50":{},"51":{},"56":{},"59":{}},"component":{}}],["global",{"_index":1344,"title":{},"name":{},"text":{"13":{},"30":{},"48":{}},"component":{}}],["go",{"_index":182,"title":{},"name":{},"text":{"2":{},"25":{},"31":{},"35":{},"57":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["goal",{"_index":2305,"title":{},"name":{},"text":{"36":{}},"component":{}}],["goe",{"_index":2790,"title":{},"name":{},"text":{"50":{}},"component":{}}],["good",{"_index":2013,"title":{},"name":{},"text":{"31":{}},"component":{}}],["googl",{"_index":3218,"title":{},"name":{},"text":{"70":{}},"component":{}}],["goto",{"_index":1093,"title":{},"name":{},"text":{"10":{}},"component":{}}],["graalvm",{"_index":2905,"title":{},"name":{},"text":{"54":{}},"component":{}}],["gradl",{"_index":1842,"title":{},"name":{},"text":{"27":{},"56":{},"57":{},"58":{}},"component":{}}],["grafana",{"_index":1719,"title":{},"name":{},"text":{"24":{}},"component":{}}],["grant",{"_index":1967,"title":{},"name":{},"text":{"31":{},"67":{},"69":{}},"component":{}}],["graphic",{"_index":1821,"title":{},"name":{},"text":{"25":{}},"component":{}}],["graphiql",{"_index":1812,"title":{},"name":{},"text":{"25":{}},"component":{}}],["graphql",{"_index":1507,"title":{},"name":{},"text":{"18":{},"19":{},"25":{},"36":{}},"component":{}}],["greecepayload",{"_index":2479,"title":{},"name":{},"text":{"42":{}},"component":{}}],["greet",{"_index":771,"title":{},"name":{},"text":{"6":{},"9":{},"19":{},"23":{},"25":{},"34":{},"37":{},"48":{},"49":{},"50":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{}},"component":{}}],["greetact",{"_index":2788,"title":{},"name":{},"text":{"50":{}},"component":{}}],["greeter",{"_index":2198,"title":{},"name":{},"text":{"34":{}},"component":{}}],["greetfunct",{"_index":2786,"title":{},"name":{},"text":{"50":{}},"component":{}}],["greetinenglish",{"_index":1042,"title":{},"name":{},"text":{"9":{},"50":{}},"component":{}}],["greeting+.nam",{"_index":2789,"title":{},"name":{},"text":{"50":{}},"component":{}}],["greeting.proto",{"_index":2210,"title":{},"name":{},"text":{"34":{}},"component":{}}],["greeting.proto#greeter#sayhello",{"_index":2209,"title":{},"name":{},"text":{"34":{}},"component":{}}],["greeting_svc/greet",{"_index":2758,"title":{},"name":{},"text":{"48":{}},"component":{}}],["greeting_svc=$(minikub",{"_index":2757,"title":{},"name":{},"text":{"48":{}},"component":{}}],["greetinspanish",{"_index":1043,"title":{},"name":{},"text":{"9":{},"50":{}},"component":{}}],["greetperson",{"_index":2787,"title":{},"name":{},"text":{"50":{}},"component":{}}],["grep",{"_index":2715,"title":{},"name":{},"text":{"47":{},"51":{}},"component":{}}],["group",{"_index":1225,"title":{},"name":{},"text":{"12":{},"15":{},"19":{},"25":{},"59":{}},"component":{}}],["group/namespac",{"_index":3044,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["groupfunct",{"_index":1802,"title":{},"name":{},"text":{"25":{}},"component":{}}],["grpc",{"_index":116,"title":{"34":{},"34-3":{},"34-4":{},"34-5":{},"34-6":{}},"name":{"34":{}},"text":{"1":{},"5":{},"34":{},"46":{}},"component":{}}],["guarante",{"_index":2215,"title":{},"name":{},"text":{"34":{},"36":{}},"component":{}}],["guid",{"_index":19,"title":{"1":{}},"name":{},"text":{"1":{},"8":{},"27":{},"30":{},"31":{},"32":{},"36":{},"48":{},"51":{},"56":{},"57":{},"58":{},"61":{}},"component":{}}],["gvk",{"_index":3105,"title":{},"name":{},"text":{"59":{}},"component":{}}],["h",{"_index":1178,"title":{},"name":{},"text":{"11":{},"12":{},"19":{},"23":{},"28":{},"31":{},"32":{},"34":{},"43":{},"46":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["halt",{"_index":970,"title":{},"name":{},"text":{"8":{}},"component":{}}],["handi",{"_index":2719,"title":{},"name":{},"text":{"47":{}},"component":{}}],["handl",{"_index":82,"title":{"10":{},"10-2":{},"13-3":{},"18-6":{}},"name":{"10":{},"15":{}},"text":{"1":{},"2":{},"3":{},"6":{},"10":{},"16":{},"17":{},"18":{},"23":{},"27":{},"36":{},"41":{},"46":{},"52":{},"57":{}},"component":{}}],["handlenovisadecis",{"_index":992,"title":{},"name":{},"text":{"8":{}},"component":{}}],["handler",{"_index":830,"title":{},"name":{},"text":{"6":{}},"component":{}}],["handling.sw.json",{"_index":2578,"title":{},"name":{},"text":{"46":{}},"component":{}}],["happen",{"_index":1087,"title":{},"name":{},"text":{"10":{},"33":{},"50":{},"53":{}},"component":{}}],["hard",{"_index":347,"title":{},"name":{},"text":{"2":{}},"component":{}}],["hardcod",{"_index":2292,"title":{},"name":{},"text":{"35":{}},"component":{}}],["hashmap",{"_index":1452,"title":{},"name":{},"text":{"16":{}},"component":{}}],["hat",{"_index":1529,"title":{"69":{},"69-1":{},"69-2":{}},"name":{},"text":{"19":{},"58":{},"65":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["have",{"_index":2546,"title":{},"name":{},"text":{"43":{},"48":{},"50":{}},"component":{}}],["header",{"_index":211,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"9":{},"12":{},"15":{},"16":{},"17":{},"22":{},"30":{},"35":{},"37":{},"41":{},"42":{},"63":{},"64":{}},"component":{}}],["header(\"accept",{"_index":2346,"title":{},"name":{},"text":{"37":{}},"component":{}}],["header(\"c",{"_index":2439,"title":{},"name":{},"text":{"41":{}},"component":{}}],["header.workflowid",{"_index":1686,"title":{},"name":{},"text":{"22":{}},"component":{}}],["health",{"_index":384,"title":{},"name":{},"text":{"2":{},"12":{},"19":{},"50":{}},"component":{}}],["healthi",{"_index":2814,"title":{},"name":{},"text":{"50":{},"53":{}},"component":{}}],["heartbeat",{"_index":354,"title":{},"name":{},"text":{"2":{}},"component":{}}],["hello",{"_index":1036,"title":{},"name":{},"text":{"9":{},"17":{},"19":{},"30":{},"37":{},"43":{},"50":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["hello.sw.json",{"_index":1554,"title":{},"name":{},"text":{"19":{}},"component":{}}],["hello_world",{"_index":1520,"title":{},"name":{},"text":{"19":{}},"component":{}}],["hellorepli",{"_index":2206,"title":{},"name":{},"text":{"34":{}},"component":{}}],["hellorequest",{"_index":2205,"title":{},"name":{},"text":{"34":{}},"component":{}}],["hellotest",{"_index":2326,"title":{},"name":{},"text":{"37":{}},"component":{}}],["hellotest.java",{"_index":2328,"title":{},"name":{},"text":{"37":{}},"component":{}}],["help",{"_index":528,"title":{},"name":{},"text":{"3":{},"7":{},"10":{},"12":{},"24":{},"43":{},"50":{},"53":{},"58":{},"59":{},"62":{},"63":{}},"component":{}}],["henc",{"_index":848,"title":{},"name":{},"text":{"6":{}},"component":{}}],["here",{"_index":650,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["here’",{"_index":2767,"title":{},"name":{},"text":{"49":{}},"component":{}}],["hibern",{"_index":1651,"title":{},"name":{},"text":{"19":{}},"component":{}}],["hide",{"_index":3225,"title":{},"name":{},"text":{"70":{}},"component":{}}],["histori",{"_index":1246,"title":{},"name":{},"text":{"12":{},"28":{}},"component":{}}],["hit",{"_index":2456,"title":{},"name":{},"text":{"41":{},"50":{}},"component":{}}],["hold",{"_index":623,"title":{},"name":{},"text":{"5":{},"7":{},"16":{},"17":{},"48":{},"50":{}},"component":{}}],["home",{"_index":3205,"title":{},"name":{},"text":{"68":{}},"component":{}}],["home/user/dev/kiegroup/kogito",{"_index":2382,"title":{},"name":{},"text":{"37":{}},"component":{}}],["home}/.docker/config.json",{"_index":2735,"title":{},"name":{},"text":{"48":{}},"component":{}}],["hood",{"_index":3095,"title":{},"name":{},"text":{"59":{}},"component":{}}],["host",{"_index":1869,"title":{},"name":{},"text":{"28":{},"67":{}},"component":{}}],["hour",{"_index":941,"title":{},"name":{},"text":{"8":{}},"component":{}}],["hover",{"_index":3154,"title":{},"name":{},"text":{"64":{}},"component":{}}],["html",{"_index":1792,"title":{},"name":{},"text":{"25":{}},"component":{}}],["http",{"_index":138,"title":{"41":{},"12-3":{},"17-2":{},"30-2":{}},"name":{"41":{}},"text":{"1":{},"6":{},"7":{},"8":{},"9":{},"10":{},"12":{},"17":{},"19":{},"24":{},"30":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"48":{},"50":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"72":{}},"component":{}}],["http1",{"_index":3037,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["http://0.0.0.0:8080",{"_index":1645,"title":{},"name":{},"text":{"19":{}},"component":{}}],["http://127.0.0.1:57053",{"_index":2802,"title":{},"name":{},"text":{"50":{}},"component":{}}],["http://127.0.0.1:57053/q/swagger",{"_index":2804,"title":{},"name":{},"text":{"50":{}},"component":{}}],["http://custom",{"_index":766,"title":{},"name":{},"text":{"6":{},"23":{}},"component":{}}],["http://hello",{"_index":2995,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["http://localhost/q/openapi",{"_index":919,"title":{},"name":{},"text":{"7":{}},"component":{}}],["http://localhost:8080",{"_index":1253,"title":{},"name":{},"text":{"12":{},"19":{}},"component":{}}],["http://localhost:8080/callback",{"_index":1484,"title":{},"name":{},"text":{"17":{}},"component":{}}],["http://localhost:8080/currency_exchange_workflow",{"_index":2061,"title":{},"name":{},"text":{"31":{}},"component":{}}],["http://localhost:8080/hello_world",{"_index":1658,"title":{},"name":{},"text":{"19":{}},"component":{}}],["http://localhost:8080/jsongreet",{"_index":2228,"title":{},"name":{},"text":{"34":{},"54":{}},"component":{}}],["http://localhost:8080/jsongreetbidistream",{"_index":2252,"title":{},"name":{},"text":{"34":{}},"component":{}}],["http://localhost:8080/jsongreetclientstream",{"_index":2246,"title":{},"name":{},"text":{"34":{}},"component":{}}],["http://localhost:8080/jsongreetserverstream",{"_index":2235,"title":{},"name":{},"text":{"34":{}},"component":{}}],["http://localhost:8080/order_saga_error_workflow",{"_index":2608,"title":{},"name":{},"text":{"46":{}},"component":{}}],["http://localhost:8080/parallel",{"_index":1177,"title":{},"name":{},"text":{"11":{}},"component":{}}],["http://localhost:8080/q/dev",{"_index":3138,"title":{},"name":{},"text":{"62":{}},"component":{}}],["http://localhost:8080/q/metr",{"_index":1774,"title":{},"name":{},"text":{"25":{}},"component":{}}],["http://localhost:8080/q/swagg",{"_index":1539,"title":{},"name":{},"text":{"19":{}},"component":{}}],["http://localhost:8080/resum",{"_index":2191,"title":{},"name":{},"text":{"33":{}},"component":{}}],["http://localhost:8080/stockprofit",{"_index":2153,"title":{},"name":{},"text":{"32":{}},"component":{}}],["http://localhost:8080/wait",{"_index":1485,"title":{},"name":{},"text":{"17":{}},"component":{}}],["http://localhost:8081",{"_index":2375,"title":{},"name":{},"text":{"37":{}},"component":{}}],["http://localhost:8180",{"_index":1807,"title":{},"name":{},"text":{"25":{}},"component":{}}],["http://localhost:8180/graphiql",{"_index":1808,"title":{},"name":{},"text":{"25":{}},"component":{}}],["http://localhost:8180/graphql/?query=%7bprocessinstances%7bprocessid%20processname%20state%20start%20end%20businesskey%20error%7bmessage%7d%7d%7d%0a",{"_index":1819,"title":{},"name":{},"text":{"25":{}},"component":{}}],["http://localhost:8181",{"_index":2152,"title":{},"name":{},"text":{"32":{}},"component":{}}],["http://localhost:8281/auth/realms/kogito/protocol/openid",{"_index":2025,"title":{},"name":{},"text":{"31":{}},"component":{}}],["http://localhost:8282",{"_index":2150,"title":{},"name":{},"text":{"32":{}},"component":{}}],["http://localhost:8383",{"_index":2151,"title":{},"name":{},"text":{"32":{}},"component":{}}],["http://localhost:8483/financi",{"_index":2041,"title":{},"name":{},"text":{"31":{}},"component":{}}],["http://localhost:9000",{"_index":1214,"title":{},"name":{},"text":{"12":{}},"component":{}}],["http://myserver.com",{"_index":2297,"title":{},"name":{},"text":{"35":{}},"component":{}}],["http://myservice.mynamespace.cluster.svc.loc",{"_index":2112,"title":{},"name":{},"text":{"32":{}},"component":{}}],["http://timeout",{"_index":2716,"title":{},"name":{},"text":{"47":{}},"component":{}}],["http:400",{"_index":1122,"title":{},"name":{},"text":{"10":{}},"component":{}}],["http_basic_exampl",{"_index":1900,"title":{},"name":{},"text":{"30":{}},"component":{}}],["httpget",{"_index":3030,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["https://example.com/oauth",{"_index":1928,"title":{},"name":{},"text":{"30":{}},"component":{}}],["https://example.com/oauth/token",{"_index":1930,"title":{},"name":{},"text":{"30":{}},"component":{}}],["https://github.com/cloudevents/spec/pul",{"_index":797,"title":{},"name":{},"text":{"6":{}},"component":{}}],["https://github.com/kiegroup/kogito",{"_index":2050,"title":{},"name":{},"text":{"31":{},"54":{}},"component":{}}],["https://my.remote.host/apicatalog/apis/123/docu",{"_index":2100,"title":{},"name":{},"text":{"32":{}},"component":{}}],["https://raw.githubusercontent.com/kiegroup/kogito",{"_index":2741,"title":{},"name":{},"text":{"48":{},"50":{},"51":{}},"component":{}}],["https://{url",{"_index":3246,"title":{},"name":{},"text":{"72":{}},"component":{}}],["huge",{"_index":2174,"title":{},"name":{},"text":{"33":{}},"component":{}}],["hybrid",{"_index":3248,"title":{},"name":{},"text":{"72":{}},"component":{}}],["i)error",{"_index":1117,"title":{},"name":{},"text":{"10":{}},"component":{}}],["i.",{"_index":2730,"title":{"48-4":{}},"name":{},"text":{"54":{}},"component":{}}],["icon",{"_index":1503,"title":{},"name":{},"text":{"18":{},"63":{},"64":{},"65":{},"70":{}},"component":{}}],["id",{"_index":192,"title":{},"name":{},"text":{"2":{},"6":{},"11":{},"12":{},"14":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"31":{},"32":{},"35":{},"37":{},"40":{},"41":{},"50":{},"54":{},"56":{},"57":{},"58":{},"64":{},"69":{},"72":{}},"component":{}}],["id\":\"0f77abc",{"_index":3003,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["id\":\"217050a3",{"_index":2655,"title":{},"name":{},"text":{"46":{}},"component":{}}],["id\":\"2e8e1930",{"_index":2724,"title":{},"name":{},"text":{"47":{}},"component":{}}],["id\":\"358f97ba",{"_index":1180,"title":{},"name":{},"text":{"11":{}},"component":{}}],["id\":\"3da62df1",{"_index":1189,"title":{},"name":{},"text":{"11":{}},"component":{}}],["id\":\"4376cc50",{"_index":2229,"title":{},"name":{},"text":{"34":{}},"component":{}}],["id\":\"5ab5dcb8",{"_index":2155,"title":{},"name":{},"text":{"32":{}},"component":{}}],["id\":\"665911c5",{"_index":2236,"title":{},"name":{},"text":{"34":{}},"component":{}}],["id\":\"87cf8275",{"_index":1712,"title":{},"name":{},"text":{"23":{}},"component":{}}],["id\":\"a80c95d6",{"_index":2162,"title":{},"name":{},"text":{"32":{}},"component":{}}],["id\":\"b5c0bf16",{"_index":2616,"title":{},"name":{},"text":{"46":{}},"component":{}}],["id\":\"b5fbfaa3",{"_index":2760,"title":{},"name":{},"text":{"48":{}},"component":{}}],["id\":\"efb59bfa",{"_index":1659,"title":{},"name":{},"text":{"19":{}},"component":{}}],["id=io.quarkus.platform",{"_index":1552,"title":{},"name":{},"text":{"19":{}},"component":{}}],["id=kogito",{"_index":1944,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["ideal",{"_index":28,"title":{},"name":{},"text":{"1":{}},"component":{}}],["identifi",{"_index":822,"title":{},"name":{},"text":{"6":{},"10":{},"14":{},"15":{},"16":{},"17":{},"19":{},"22":{},"30":{},"31":{},"35":{},"40":{},"41":{},"46":{},"50":{},"72":{}},"component":{}}],["ifnotpres",{"_index":3055,"title":{},"name":{},"text":{"57":{}},"component":{}}],["ignor",{"_index":1511,"title":{},"name":{},"text":{"18":{}},"component":{}}],["illegalargumentexcept",{"_index":889,"title":{},"name":{},"text":{"6":{},"10":{},"22":{}},"component":{}}],["illegalargumentexception(",{"_index":1464,"title":{},"name":{},"text":{"16":{}},"component":{}}],["illegalargumentexception(\"odd",{"_index":698,"title":{},"name":{},"text":{"6":{}},"component":{}}],["illustr",{"_index":1123,"title":{},"name":{},"text":{"10":{},"17":{},"34":{}},"component":{}}],["imag",{"_index":202,"title":{"54":{},"54-3":{},"54-4":{}},"name":{"54":{},"55":{}},"text":{"2":{},"3":{},"5":{},"12":{},"17":{},"19":{},"23":{},"35":{},"36":{},"40":{},"43":{},"47":{},"48":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["image.build",{"_index":2911,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.build=tru",{"_index":2913,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.group",{"_index":2916,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.group=kiegroup",{"_index":3043,"title":{},"name":{},"text":{"56":{}},"component":{}}],["image.group=kogito",{"_index":2920,"title":{},"name":{},"text":{"54":{},"57":{},"58":{}},"component":{}}],["image.nam",{"_index":2919,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.name=serverless",{"_index":2921,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.push",{"_index":2925,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.push=fals",{"_index":3067,"title":{},"name":{},"text":{"57":{}},"component":{}}],["image.push=tru",{"_index":2926,"title":{},"name":{},"text":{"54":{},"56":{},"58":{}},"component":{}}],["image.registri",{"_index":2915,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.registry=dev.loc",{"_index":3068,"title":{},"name":{},"text":{"57":{}},"component":{}}],["image.registry=imag",{"_index":3093,"title":{},"name":{},"text":{"58":{}},"component":{}}],["image.registry=quay.io",{"_index":2923,"title":{},"name":{},"text":{"54":{},"56":{}},"component":{}}],["image.registry=some_of_the_values_abov",{"_index":3053,"title":{},"name":{},"text":{"57":{}},"component":{}}],["image.tag=1.0",{"_index":2922,"title":{},"name":{},"text":{"54":{},"56":{},"57":{},"58":{}},"component":{}}],["image=[nam",{"_index":2549,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=[name]:[tag",{"_index":2550,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=[registry]/[repository]/[nam",{"_index":2553,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=[registry]/[repository]/[name]:[tag",{"_index":2554,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=[repository]/[nam",{"_index":2551,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=[repository]/[name]:[tag",{"_index":2552,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=dev.local/kogito/serverless",{"_index":3065,"title":{},"name":{},"text":{"57":{}},"component":{}}],["image=imag",{"_index":3091,"title":{},"name":{},"text":{"58":{}},"component":{}}],["image=quay.io/kiegroup/serverless",{"_index":2982,"title":{},"name":{},"text":{"56":{}},"component":{}}],["imagepullpolici",{"_index":3041,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["imaginari",{"_index":1075,"title":{},"name":{},"text":{"9":{}},"component":{}}],["immedi",{"_index":1438,"title":{},"name":{},"text":{"16":{},"17":{},"40":{}},"component":{}}],["immut",{"_index":395,"title":{"49-2":{}},"name":{},"text":{"2":{},"49":{},"50":{},"53":{}},"component":{}}],["impact",{"_index":2815,"title":{},"name":{},"text":{"50":{}},"component":{}}],["implement",{"_index":72,"title":{"59-5":{}},"name":{},"text":{"1":{},"2":{},"6":{},"8":{},"10":{},"12":{},"17":{},"18":{},"31":{},"32":{},"34":{},"36":{},"42":{},"46":{},"48":{},"50":{},"52":{},"53":{},"65":{},"66":{}},"component":{}}],["import",{"_index":868,"title":{"66-3":{}},"name":{},"text":{"6":{},"7":{},"31":{},"36":{},"37":{},"42":{},"48":{},"49":{},"53":{},"58":{},"66":{}},"component":{}}],["improv",{"_index":274,"title":{},"name":{},"text":{"2":{}},"component":{}}],["inact",{"_index":1142,"title":{},"name":{},"text":{"11":{},"36":{}},"component":{}}],["includ",{"_index":174,"title":{},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"9":{},"10":{},"11":{},"12":{},"13":{},"15":{},"16":{},"17":{},"19":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"40":{},"41":{},"46":{},"50":{},"52":{},"64":{},"65":{},"68":{},"72":{}},"component":{}}],["incom",{"_index":224,"title":{},"name":{},"text":{"2":{},"5":{},"12":{},"13":{},"14":{},"17":{},"41":{}},"component":{}}],["incoming(\"in",{"_index":1466,"title":{},"name":{},"text":{"16":{}},"component":{}}],["incoming/outgo",{"_index":2884,"title":{},"name":{},"text":{"52":{}},"component":{}}],["incomplet",{"_index":1614,"title":{},"name":{},"text":{"19":{}},"component":{}}],["incorpor",{"_index":222,"title":{},"name":{},"text":{"2":{}},"component":{}}],["increas",{"_index":2844,"title":{},"name":{},"text":{"51":{}},"component":{}}],["independ",{"_index":1387,"title":{},"name":{},"text":{"14":{},"42":{},"47":{}},"component":{}}],["index",{"_index":20,"title":{"25-3":{}},"name":{"1":{},"3":{}},"text":{"2":{},"5":{},"19":{},"25":{},"36":{}},"component":{}}],["index.html",{"_index":3178,"title":{},"name":{},"text":{"65":{}},"component":{}}],["index.proto",{"_index":1636,"title":{},"name":{},"text":{"19":{}},"component":{}}],["indic",{"_index":605,"title":{},"name":{},"text":{"5":{},"6":{},"9":{},"11":{},"12":{},"13":{},"15":{},"16":{},"17":{},"22":{},"23":{},"31":{},"32":{},"46":{},"47":{},"61":{},"64":{},"65":{}},"component":{}}],["individu",{"_index":1950,"title":{},"name":{},"text":{"30":{}},"component":{}}],["infinispan",{"_index":564,"title":{},"name":{},"text":{"5":{}},"component":{}}],["info",{"_index":669,"title":{},"name":{},"text":{"6":{},"19":{},"30":{},"31":{},"32":{},"35":{},"37":{},"46":{},"53":{},"54":{}},"component":{}}],["info.titl",{"_index":2105,"title":{},"name":{},"text":{"32":{}},"component":{}}],["inform",{"_index":646,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["infrastructur",{"_index":1009,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["ingress",{"_index":2990,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["ingresses.v1.networking.k8s.io",{"_index":3118,"title":{},"name":{},"text":{"59":{}},"component":{}}],["inherit",{"_index":832,"title":{},"name":{},"text":{"6":{}},"component":{}}],["init",{"_index":909,"title":{},"name":{},"text":{"6":{},"37":{}},"component":{}}],["initi",{"_index":181,"title":{},"name":{},"text":{"2":{},"9":{},"16":{},"17":{},"28":{},"36":{},"46":{},"48":{},"56":{},"57":{},"58":{}},"component":{}}],["initialdelaysecond",{"_index":3032,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["inject",{"_index":906,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"12":{},"18":{},"19":{},"31":{},"35":{},"50":{},"52":{}},"component":{}}],["inmemori",{"_index":377,"title":{},"name":{},"text":{"2":{},"19":{},"36":{}},"component":{}}],["input",{"_index":88,"title":{"7":{}},"name":{"7":{}},"text":{"1":{},"2":{},"6":{},"7":{},"8":{},"9":{},"10":{},"13":{},"16":{},"19":{},"31":{},"63":{}},"component":{}}],["insecur",{"_index":2840,"title":{},"name":{},"text":{"51":{}},"component":{}}],["insecureskipverifi",{"_index":3204,"title":{},"name":{},"text":{"67":{}},"component":{}}],["insensit",{"_index":1113,"title":{},"name":{},"text":{"10":{}},"component":{}}],["insertlog",{"_index":432,"title":{},"name":{},"text":{"2":{}},"component":{}}],["insid",{"_index":729,"title":{},"name":{},"text":{"6":{},"9":{},"50":{},"52":{}},"component":{}}],["inspector",{"_index":2269,"title":{},"name":{},"text":{"35":{}},"component":{}}],["instal",{"_index":97,"title":{"51":{},"43-1":{},"51-2":{},"57-1":{},"58-1":{},"62-1":{},"70-1":{},"72-1":{}},"name":{"51":{}},"text":{"1":{},"3":{},"12":{},"19":{},"23":{},"24":{},"27":{},"31":{},"35":{},"37":{},"40":{},"42":{},"43":{},"47":{},"48":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"62":{},"67":{},"70":{},"72":{}},"component":{}}],["instanc",{"_index":63,"title":{"64":{},"47-8":{},"51-1":{},"63-2":{},"63-3":{},"63-6":{},"64-1":{},"64-2":{},"67-2":{}},"name":{"64":{}},"text":{"1":{},"5":{},"6":{},"8":{},"9":{},"10":{},"14":{},"15":{},"16":{},"17":{},"18":{},"20":{},"24":{},"25":{},"27":{},"31":{},"34":{},"36":{},"40":{},"41":{},"42":{},"47":{},"50":{},"51":{},"53":{},"62":{},"63":{},"64":{},"65":{},"67":{},"69":{}},"component":{}}],["instead",{"_index":375,"title":{},"name":{},"text":{"2":{},"6":{},"9":{},"10":{},"11":{},"18":{},"30":{},"31":{},"35":{},"36":{},"43":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"64":{}},"component":{}}],["instruct",{"_index":1669,"title":{},"name":{},"text":{"19":{},"27":{},"42":{},"43":{},"54":{},"58":{},"59":{}},"component":{}}],["int",{"_index":613,"title":{},"name":{},"text":{"5":{},"6":{}},"component":{}}],["int32",{"_index":923,"title":{},"name":{},"text":{"7":{}},"component":{}}],["int64",{"_index":2286,"title":{},"name":{},"text":{"35":{}},"component":{}}],["integ",{"_index":691,"title":{},"name":{},"text":{"6":{},"7":{},"10":{},"22":{},"35":{}},"component":{}}],["integer)iter.next",{"_index":894,"title":{},"name":{},"text":{"6":{}},"component":{}}],["integr",{"_index":12,"title":{"22":{},"40":{},"66":{},"67":{},"69":{},"1-10":{},"52-6":{}},"name":{"21":{},"22":{},"37":{},"40":{},"66":{},"67":{},"69":{}},"text":{"1":{},"2":{},"3":{},"6":{},"22":{},"25":{},"27":{},"28":{},"34":{},"36":{},"37":{},"40":{},"41":{},"42":{},"52":{},"53":{},"62":{},"65":{},"66":{},"67":{},"68":{},"69":{}},"component":{}}],["intend",{"_index":850,"title":{},"name":{},"text":{"6":{}},"component":{}}],["interact",{"_index":851,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"12":{},"13":{},"31":{},"40":{},"41":{},"46":{},"47":{}},"component":{}}],["interceptor",{"_index":3126,"title":{},"name":{},"text":{"59":{}},"component":{}}],["interfac",{"_index":268,"title":{},"name":{},"text":{"2":{},"6":{},"23":{},"25":{},"35":{},"42":{},"50":{},"53":{},"54":{},"56":{},"57":{},"58":{},"62":{},"67":{},"68":{}},"component":{}}],["intermedi",{"_index":2082,"title":{},"name":{},"text":{"31":{}},"component":{}}],["intermit",{"_index":291,"title":{},"name":{},"text":{"2":{}},"component":{}}],["intern",{"_index":52,"title":{},"name":{},"text":{"1":{},"14":{},"24":{},"25":{},"34":{},"35":{},"41":{},"46":{},"48":{},"52":{},"53":{},"58":{}},"component":{}}],["internalexecut",{"_index":845,"title":{},"name":{},"text":{"6":{}},"component":{}}],["internalexecute(kogitoworkitem",{"_index":883,"title":{},"name":{},"text":{"6":{}},"component":{}}],["interpol",{"_index":675,"title":{},"name":{},"text":{"6":{}},"component":{}}],["interpret",{"_index":544,"title":{},"name":{},"text":{"3":{}},"component":{}}],["interrupt",{"_index":954,"title":{},"name":{},"text":{"8":{}},"component":{}}],["interruptedexcept",{"_index":2432,"title":{},"name":{},"text":{"41":{}},"component":{}}],["interv",{"_index":1725,"title":{},"name":{},"text":{"24":{}},"component":{}}],["introduc",{"_index":1300,"title":{},"name":{},"text":{"13":{},"46":{}},"component":{}}],["introduct",{"_index":2775,"title":{"50-1":{}},"name":{},"text":{},"component":{}}],["invalid",{"_index":236,"title":{},"name":{},"text":{"2":{},"31":{},"50":{}},"component":{}}],["invoc",{"_index":40,"title":{},"name":{},"text":{"1":{},"9":{},"10":{},"16":{},"18":{},"30":{},"31":{},"33":{},"35":{}},"component":{}}],["invok",{"_index":154,"title":{"23":{}},"name":{},"text":{"1":{},"6":{},"9":{},"10":{},"17":{},"19":{},"23":{},"30":{},"32":{},"33":{},"34":{},"35":{},"46":{},"54":{}},"component":{}}],["invokefunct",{"_index":783,"title":{},"name":{},"text":{"6":{}},"component":{}}],["io",{"_index":469,"title":{},"name":{},"text":{"2":{},"6":{}},"component":{}}],["io.qua.run.con.configrecord",{"_index":1631,"title":{},"name":{},"text":{"19":{}},"component":{}}],["io.quarku",{"_index":1266,"title":{},"name":{},"text":{"12":{},"13":{},"19":{},"27":{},"30":{},"37":{},"40":{},"41":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["io.quarkus.deployment.quarkusaugmentor",{"_index":2386,"title":{},"name":{},"text":{"37":{}},"component":{}}],["io.quarkus.platform:quarku",{"_index":1540,"title":{},"name":{},"text":{"19":{}},"component":{}}],["io.quarkus.test.common.quarkustestresourc",{"_index":2511,"title":{},"name":{},"text":{"42":{}},"component":{}}],["io.quarkus.test.common.quarkustestresourcelifecyclemanag",{"_index":2494,"title":{},"name":{},"text":{"42":{}},"component":{}}],["io.quarkus.test.junit.quarkustest",{"_index":2329,"title":{},"name":{},"text":{"37":{},"42":{}},"component":{}}],["io.quarkus:quarku",{"_index":3010,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["io.rest",{"_index":2325,"title":{},"name":{},"text":{"37":{},"40":{},"41":{}},"component":{}}],["io.restassured.http.contenttyp",{"_index":2331,"title":{},"name":{},"text":{"37":{}},"component":{}}],["io.restassured.restassur",{"_index":2330,"title":{},"name":{},"text":{"37":{}},"component":{}}],["io.restassured.restassured.given",{"_index":2334,"title":{},"name":{},"text":{"37":{}},"component":{}}],["io.zon.tes.db.pos.emb.defaultpostgresbinaryresolv",{"_index":1605,"title":{},"name":{},"text":{"19":{}},"component":{}}],["io.zon.tes.db.pos.emb.embeddedpostgr",{"_index":1600,"title":{},"name":{},"text":{"19":{}},"component":{}}],["ioexcept",{"_index":896,"title":{},"name":{},"text":{"6":{},"42":{}},"component":{}}],["ip",{"_index":2747,"title":{},"name":{},"text":{"48":{},"56":{}},"component":{}}],["iseven",{"_index":1124,"title":{},"name":{},"text":{"10":{}},"component":{}}],["iso",{"_index":934,"title":{},"name":{},"text":{"8":{}},"component":{}}],["isol",{"_index":2470,"title":{},"name":{},"text":{"42":{}},"component":{}}],["issu",{"_index":546,"title":{"52":{},"5-1":{},"6-22":{},"7-2":{},"8-10":{},"9-5":{},"10-4":{},"11-5":{},"12-7":{},"13-5":{},"14-3":{},"15-3":{},"16-3":{},"17-4":{},"18-13":{},"19-7":{},"20-1":{},"22-6":{},"23-3":{},"24-6":{},"25-5":{},"27-3":{},"28-9":{},"30-8":{},"31-5":{},"32-10":{},"33-3":{},"34-7":{},"35-7":{},"36-9":{},"37-2":{},"40-4":{},"41-5":{},"42-5":{},"43-7":{},"46-5":{},"47-12":{},"48-8":{},"49-4":{},"50-12":{},"51-5":{},"53-5":{},"54-6":{},"56-6":{},"57-6":{},"58-7":{},"59-7":{},"61-6":{},"62-2":{},"63-8":{},"64-3":{},"65-3":{},"66-4":{},"67-3":{},"68-3":{},"69-3":{},"70-3":{},"71-3":{},"72-7":{}},"name":{"52":{}},"text":{"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["issues#292",{"_index":506,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#293",{"_index":504,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#294",{"_index":502,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#295",{"_index":499,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#296",{"_index":497,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#299",{"_index":492,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#300",{"_index":489,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#303",{"_index":485,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#304",{"_index":481,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#313",{"_index":478,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#330",{"_index":471,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#333",{"_index":463,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#341",{"_index":460,"title":{},"name":{},"text":{"2":{}},"component":{}}],["istio",{"_index":3075,"title":{},"name":{},"text":{"58":{}},"component":{}}],["item",{"_index":829,"title":{},"name":{},"text":{"6":{},"15":{},"46":{},"72":{}},"component":{}}],["iter",{"_index":538,"title":{},"name":{},"text":{"3":{},"6":{},"50":{}},"component":{}}],["it’",{"_index":521,"title":{},"name":{},"text":{"3":{},"6":{},"47":{},"49":{},"50":{}},"component":{}}],["jackson",{"_index":592,"title":{},"name":{},"text":{"5":{},"19":{},"37":{}},"component":{}}],["jackson,quarku",{"_index":1545,"title":{},"name":{},"text":{"19":{}},"component":{}}],["jackson’",{"_index":701,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["jan",{"_index":2244,"title":{},"name":{},"text":{"34":{}},"component":{}}],["jane",{"_index":2806,"title":{},"name":{},"text":{"50":{}},"component":{}}],["jar",{"_index":1563,"title":{},"name":{},"text":{"19":{},"31":{},"32":{},"37":{},"40":{},"59":{}},"component":{}}],["java",{"_index":525,"title":{"6-2":{}},"name":{},"text":{"3":{},"6":{},"10":{},"16":{},"17":{},"18":{},"19":{},"22":{},"27":{},"31":{},"32":{},"35":{},"37":{},"43":{},"46":{},"59":{}},"component":{}}],["java.io.ioexcept",{"_index":2495,"title":{},"name":{},"text":{"42":{}},"component":{}}],["java.io.uncheckedioexcept",{"_index":2496,"title":{},"name":{},"text":{"42":{}},"component":{}}],["java.lang.except",{"_index":1989,"title":{},"name":{},"text":{"31":{}},"component":{}}],["java.lang.illegalstateexcept",{"_index":1106,"title":{},"name":{},"text":{"10":{}},"component":{}}],["java.lang.runtimeexcept",{"_index":1105,"title":{},"name":{},"text":{"10":{}},"component":{}}],["java.util.map",{"_index":2497,"title":{},"name":{},"text":{"42":{}},"component":{}}],["java_hom",{"_index":1523,"title":{},"name":{},"text":{"19":{}},"component":{}}],["javax.enterprise.context.applicationscop",{"_index":2007,"title":{},"name":{},"text":{"31":{}},"component":{}}],["javi",{"_index":2234,"title":{},"name":{},"text":{"34":{}},"component":{}}],["javierito",{"_index":2190,"title":{},"name":{},"text":{"33":{},"34":{}},"component":{}}],["javierito\\nhello",{"_index":2248,"title":{},"name":{},"text":{"34":{}},"component":{}}],["jboss",{"_index":2355,"title":{},"name":{},"text":{"37":{}},"component":{}}],["jdbc",{"_index":561,"title":{},"name":{},"text":{"5":{},"14":{},"19":{},"27":{},"28":{},"40":{}},"component":{}}],["jdk17",{"_index":459,"title":{},"name":{},"text":{"2":{}},"component":{}}],["jib",{"_index":1265,"title":{},"name":{},"text":{"12":{},"43":{},"54":{}},"component":{}}],["job",{"_index":160,"title":{"36":{},"36-1":{},"36-2":{},"36-5":{},"36-6":{},"47-6":{}},"name":{"36":{}},"text":{"1":{},"2":{},"8":{},"36":{},"47":{}},"component":{}}],["job_nam",{"_index":1734,"title":{},"name":{},"text":{"24":{}},"component":{}}],["jobs_service_persist",{"_index":2311,"title":{},"name":{},"text":{"36":{}},"component":{}}],["john",{"_index":2227,"title":{},"name":{},"text":{"34":{},"37":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["john\"},{\"message\":\"saludo",{"_index":2241,"title":{},"name":{},"text":{"34":{}},"component":{}}],["john\\nhello",{"_index":2249,"title":{},"name":{},"text":{"34":{}},"component":{}}],["jpi",{"_index":2077,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jq",{"_index":77,"title":{"9":{},"9-1":{},"9-2":{},"9-3":{}},"name":{"9":{}},"text":{"1":{},"6":{},"9":{},"18":{},"19":{},"22":{},"35":{},"37":{},"50":{},"52":{}},"component":{}}],["jre8",{"_index":2420,"title":{},"name":{},"text":{"41":{},"42":{}},"component":{}}],["js",{"_index":495,"title":{},"name":{},"text":{"2":{}},"component":{}}],["json",{"_index":94,"title":{"6-15":{}},"name":{},"text":{"1":{},"2":{},"6":{},"7":{},"9":{},"10":{},"19":{},"22":{},"25":{},"31":{},"34":{},"37":{},"42":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{},"63":{},"64":{},"68":{},"71":{},"72":{}},"component":{}}],["json5",{"_index":482,"title":{},"name":{},"text":{"2":{}},"component":{}}],["jsonata",{"_index":1770,"title":{},"name":{},"text":{"25":{}},"component":{}}],["jsoncloudeventdata",{"_index":1471,"title":{},"name":{},"text":{"16":{}},"component":{}}],["jsongreet",{"_index":1751,"title":{},"name":{},"text":{"24":{}},"component":{}}],["jsonnod",{"_index":702,"title":{},"name":{},"text":{"6":{},"22":{},"42":{}},"component":{}}],["jsonp",{"_index":2541,"title":{},"name":{},"text":{"43":{}},"component":{}}],["jsonp,quarku",{"_index":1551,"title":{},"name":{},"text":{"19":{},"43":{}},"component":{}}],["jsonpath",{"_index":1025,"title":{},"name":{},"text":{"9":{},"18":{},"52":{}},"component":{}}],["jsonpath=\"{.spec.template.spec.containers[?(@.name=='manager')].imag",{"_index":2866,"title":{},"name":{},"text":{"51":{}},"component":{}}],["jsonpath='{..namespac",{"_index":2977,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["jsonpath={.status.condit",{"_index":2819,"title":{},"name":{},"text":{"50":{}},"component":{}}],["jsonprocessingexcept",{"_index":1462,"title":{},"name":{},"text":{"16":{},"17":{},"41":{}},"component":{}}],["jta",{"_index":1655,"title":{},"name":{},"text":{"19":{}},"component":{}}],["junit5",{"_index":2392,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["jvm",{"_index":359,"title":{},"name":{},"text":{"2":{},"19":{},"37":{},"40":{},"41":{},"54":{}},"component":{}}],["k",{"_index":1675,"title":{},"name":{"21":{}},"text":{},"component":{}}],["k8",{"_index":195,"title":{},"name":{},"text":{"2":{},"24":{},"50":{}},"component":{}}],["k_sink",{"_index":383,"title":{},"name":{},"text":{"2":{},"8":{},"12":{}},"component":{}}],["k_sink:http://localhost:9090",{"_index":1211,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kafka",{"_index":120,"title":{"13":{}},"name":{"13":{}},"text":{"1":{},"2":{},"5":{},"12":{},"13":{},"15":{},"16":{},"33":{}},"component":{}}],["kaoto",{"_index":1678,"title":{},"name":{},"text":{"22":{}},"component":{}}],["kebab",{"_index":3165,"title":{},"name":{},"text":{"64":{}},"component":{}}],["keep",{"_index":2604,"title":{},"name":{},"text":{"46":{}},"component":{}}],["key",{"_index":594,"title":{"30-4":{},"63-5":{}},"name":{},"text":{"5":{},"6":{},"25":{},"30":{},"32":{},"34":{},"35":{},"49":{},"63":{},"64":{},"72":{}},"component":{}}],["key/valu",{"_index":751,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["key1",{"_index":747,"title":{},"name":{},"text":{"6":{}},"component":{}}],["key2",{"_index":749,"title":{},"name":{},"text":{"6":{}},"component":{}}],["key=my_key",{"_index":1922,"title":{},"name":{},"text":{"30":{}},"component":{}}],["keycloak",{"_index":1974,"title":{},"name":{},"text":{"31":{}},"component":{}}],["keyword",{"_index":681,"title":{},"name":{},"text":{"6":{}},"component":{}}],["kgto",{"_index":2154,"title":{},"name":{},"text":{"32":{}},"component":{}}],["kie",{"_index":456,"title":{},"name":{},"text":{"2":{},"43":{},"70":{},"72":{}},"component":{}}],["kind",{"_index":401,"title":{},"name":{},"text":{"2":{},"12":{},"24":{},"28":{},"36":{},"49":{},"50":{},"51":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["kind=postgresql",{"_index":1830,"title":{},"name":{},"text":{"27":{},"28":{}},"component":{}}],["kn",{"_index":762,"title":{},"name":{"43":{}},"text":{"6":{},"12":{},"19":{},"23":{},"43":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["knativ",{"_index":103,"title":{"12":{},"23":{},"43":{},"6-11":{},"12-1":{},"12-2":{},"12-4":{},"12-5":{},"36-7":{},"43-1":{},"43-2":{},"43-3":{},"43-5":{},"52-6":{},"56-1":{},"56-3":{},"57-1":{},"57-3":{},"58-4":{}},"name":{"12":{},"23":{},"60":{}},"text":{"1":{},"2":{},"6":{},"8":{},"12":{},"13":{},"15":{},"16":{},"17":{},"19":{},"20":{},"23":{},"33":{},"35":{},"36":{},"41":{},"43":{},"47":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["knative.json",{"_index":3016,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["knative.yml",{"_index":1271,"title":{},"name":{},"text":{"12":{},"43":{},"56":{},"57":{},"58":{}},"component":{}}],["knative/kubernet",{"_index":2883,"title":{},"name":{},"text":{"52":{}},"component":{}}],["knative:services.v1.serving.knative.dev/custom",{"_index":772,"title":{},"name":{},"text":{"6":{},"23":{}},"component":{}}],["knative:services.v1.serving.knative.dev/my_different_namespace/custom",{"_index":778,"title":{},"name":{},"text":{"6":{}},"component":{}}],["know",{"_index":862,"title":{},"name":{},"text":{"6":{},"50":{}},"component":{}}],["known",{"_index":545,"title":{"52":{}},"name":{"52":{}},"text":{"3":{},"34":{},"36":{},"46":{},"48":{},"49":{},"50":{},"51":{},"53":{},"59":{},"67":{}},"component":{}}],["ko.loc",{"_index":3052,"title":{},"name":{},"text":{"57":{}},"component":{}}],["kogito",{"_index":16,"title":{"1":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"16":{},"17":{},"20":{},"23":{},"28":{},"30":{},"31":{},"40":{},"43":{},"46":{},"47":{},"51":{},"52":{},"57":{},"58":{},"59":{},"61":{},"62":{},"64":{},"65":{},"66":{},"67":{},"6-6":{},"22-1":{},"22-2":{},"24-1":{},"24-2":{},"24-5":{},"43-1":{},"48-4":{},"51-2":{},"59-3":{},"62-1":{},"65-1":{}},"name":{},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"67":{},"68":{}},"component":{}}],["kogito.addon.kn",{"_index":814,"title":{},"name":{},"text":{"6":{}},"component":{}}],["kogito.addon.messaging.emitter..buff",{"_index":1338,"title":{},"name":{},"text":{"13":{}},"component":{}}],["kogito.addon.messaging.emitter..overflow",{"_index":1333,"title":{},"name":{},"text":{"13":{}},"component":{}}],["kogito.addon.messaging.emitter.overflow",{"_index":1346,"title":{},"name":{},"text":{"13":{}},"component":{}}],["kogito.addon.messaging.emitter.wait.buff",{"_index":1342,"title":{},"name":{},"text":{"13":{}},"component":{}}],["kogito.addon.messaging.emitter.wait.overflow",{"_index":1340,"title":{},"name":{},"text":{"13":{}},"component":{}}],["kogito.addon.messaging.incoming.defaultnam",{"_index":584,"title":{},"name":{},"text":{"5":{},"13":{}},"component":{}}],["kogito.addon.messaging.outgoing.defaultnam",{"_index":587,"title":{},"name":{},"text":{"5":{},"13":{}},"component":{}}],["kogito.grpc.enum.includedefault",{"_index":604,"title":{},"name":{},"text":{"5":{},"34":{}},"component":{}}],["kogito.grpc.stream.timeout",{"_index":608,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.jackson.fail",{"_index":590,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.loanbroker.aggregated.quotes.respons",{"_index":1282,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kogito.messaging.a",{"_index":582,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.persistence.optimistic.lock",{"_index":570,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["kogito.persistence.optimistic.lock=tru",{"_index":1839,"title":{},"name":{},"text":{"27":{}},"component":{}}],["kogito.persistence.query.timeout.milli",{"_index":566,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["kogito.persistence.typ",{"_index":559,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["kogito.persistence.type=jdbc",{"_index":1828,"title":{},"name":{},"text":{"27":{}},"component":{}}],["kogito.quarkus.events.threads.pools",{"_index":615,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.quarkus.events.threads.queues",{"_index":620,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.serverless.loanbroker.aggregated.quotes.respons",{"_index":1259,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kogito.service.url",{"_index":579,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.sw.operationidstrategi",{"_index":593,"title":{},"name":{},"text":{"5":{},"32":{}},"component":{}}],["kogito.sw.request.quot",{"_index":1280,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kogito.sw.states.foreach.outputvarnam",{"_index":600,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.swf.serviceregistri",{"_index":3239,"title":{},"name":{},"text":{"72":{}},"component":{}}],["kogito.swf.stunner.enabled(default",{"_index":3161,"title":{},"name":{},"text":{"64":{}},"component":{}}],["kogito.workflow.vers",{"_index":576,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["kogito.yaml",{"_index":323,"title":{},"name":{},"text":{"2":{}},"component":{}}],["kogito.yml",{"_index":1272,"title":{},"name":{},"text":{"12":{},"43":{}},"component":{}}],["kogito/serverless/loanbroker/aggreg",{"_index":1283,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kogito_incoming_stream",{"_index":586,"title":{},"name":{},"text":{"5":{},"13":{}},"component":{}}],["kogito_outgoing_stream",{"_index":589,"title":{},"name":{},"text":{"5":{},"13":{}},"component":{}}],["kogito_process_instance_completed_tot",{"_index":1743,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["kogito_process_instance_completed_total{app_id=\"default",{"_index":1754,"title":{},"name":{},"text":{"24":{}},"component":{}}],["kogito_process_instance_duration_seconds_sum",{"_index":1746,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["kogito_process_instance_running_tot",{"_index":1745,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["kogito_process_instance_started_tot",{"_index":1744,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["kogito_version_redhat",{"_index":3166,"title":{},"name":{},"text":{"64":{}},"component":{}}],["kogitobusinesskey",{"_index":3153,"title":{},"name":{},"text":{"63":{}},"component":{}}],["kogitoprocesscontext",{"_index":212,"title":{},"name":{},"text":{"2":{},"6":{}},"component":{}}],["kogitoprocid",{"_index":1403,"title":{},"name":{},"text":{"14":{}},"component":{}}],["kogitoprocinstanceid",{"_index":1397,"title":{},"name":{},"text":{"14":{},"16":{},"17":{}},"component":{}}],["kogitoprocrefid",{"_index":1430,"title":{},"name":{},"text":{"15":{},"16":{},"17":{},"64":{}},"component":{}}],["kogitoproctyp",{"_index":1406,"title":{},"name":{},"text":{"14":{}},"component":{}}],["kogitoprocvers",{"_index":1404,"title":{},"name":{},"text":{"14":{}},"component":{}}],["kogitoserverlessbuild",{"_index":2864,"title":{},"name":{},"text":{"51":{},"53":{}},"component":{}}],["kogitoserverlessbuilds.sw.kogito.kie.org",{"_index":2860,"title":{},"name":{},"text":{"51":{}},"component":{}}],["kogitoserverlessplatform",{"_index":2739,"title":{},"name":{},"text":{"48":{},"51":{},"53":{}},"component":{}}],["kogitoserverlessplatforms.sw.kogito.kie.org",{"_index":2862,"title":{},"name":{},"text":{"51":{}},"component":{}}],["kogitoserverlessworkflow",{"_index":2752,"title":{},"name":{},"text":{"48":{},"49":{},"50":{},"53":{}},"component":{}}],["kogitoserverlessworkflows.sw.kogito.kie.org",{"_index":2863,"title":{},"name":{},"text":{"51":{}},"component":{}}],["kogitousertaskist",{"_index":1405,"title":{},"name":{},"text":{"14":{}},"component":{}}],["kogitoworkitemhandl",{"_index":879,"title":{},"name":{},"text":{"6":{}},"component":{}}],["kourier",{"_index":2970,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["ksw",{"_index":179,"title":{},"name":{},"text":{"2":{}},"component":{}}],["kube",{"_index":2750,"title":{},"name":{},"text":{"48":{}},"component":{}}],["kubectl",{"_index":1275,"title":{},"name":{},"text":{"12":{},"23":{},"43":{},"47":{},"48":{},"49":{},"50":{},"51":{},"56":{},"57":{}},"component":{}}],["kubectl=\"minikub",{"_index":3047,"title":{},"name":{},"text":{"57":{}},"component":{}}],["kubernet",{"_index":148,"title":{"56":{},"59":{},"3-1":{},"3-2":{},"56-1":{},"56-2":{},"56-4":{},"57-4":{},"59-1":{},"59-2":{},"59-3":{},"59-4":{}},"name":{"56":{},"59":{}},"text":{"1":{},"3":{},"12":{},"23":{},"24":{},"32":{},"35":{},"36":{},"41":{},"43":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"67":{}},"component":{}}],["kubernetes,quarku",{"_index":1264,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kubernetes/job",{"_index":2700,"title":{},"name":{},"text":{"47":{}},"component":{}}],["kubernetes/timeout",{"_index":2695,"title":{},"name":{},"text":{"47":{}},"component":{}}],["kubernetes:2.16.7.fin",{"_index":3011,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["kubernetes:pods.v1//?labels=label",{"_index":3123,"title":{},"name":{},"text":{"59":{}},"component":{}}],["kubernetesservicecatalog",{"_index":339,"title":{},"name":{},"text":{"2":{}},"component":{}}],["kubesmart",{"_index":188,"title":{},"name":{},"text":{"2":{}},"component":{}}],["l",{"_index":2607,"title":{},"name":{},"text":{"46":{}},"component":{}}],["l[0",{"_index":1776,"title":{},"name":{},"text":{"25":{}},"component":{}}],["l[1",{"_index":1781,"title":{},"name":{},"text":{"25":{}},"component":{}}],["l[2",{"_index":1782,"title":{},"name":{},"text":{"25":{}},"component":{}}],["label",{"_index":642,"title":{},"name":{},"text":{"5":{},"24":{},"25":{},"49":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["label=anoth",{"_index":3122,"title":{},"name":{},"text":{"59":{}},"component":{}}],["label=oth",{"_index":3110,"title":{},"name":{},"text":{"59":{}},"component":{}}],["labels=label",{"_index":3107,"title":{},"name":{},"text":{"59":{}},"component":{}}],["lack",{"_index":2827,"title":{},"name":{},"text":{"50":{}},"component":{}}],["languag",{"_index":1024,"title":{},"name":{},"text":{"9":{},"10":{},"18":{},"34":{},"41":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["language\":\"czech",{"_index":2245,"title":{},"name":{},"text":{"34":{}},"component":{}}],["language\":\"english",{"_index":2243,"title":{},"name":{},"text":{"34":{}},"component":{}}],["language\":\"english\"},{\"nam",{"_index":2251,"title":{},"name":{},"text":{"34":{}},"component":{}}],["language\":\"spanish",{"_index":2242,"title":{},"name":{},"text":{"34":{}},"component":{}}],["language\":\"spanish\"},{\"nam",{"_index":2250,"title":{},"name":{},"text":{"34":{}},"component":{}}],["language=2",{"_index":2208,"title":{},"name":{},"text":{"34":{}},"component":{}}],["larg",{"_index":1350,"title":{},"name":{},"text":{"14":{}},"component":{}}],["last",{"_index":730,"title":{},"name":{},"text":{"6":{},"10":{},"53":{},"61":{},"64":{}},"component":{}}],["later",{"_index":2046,"title":{},"name":{},"text":{"31":{},"43":{},"56":{},"57":{},"58":{},"65":{},"72":{}},"component":{}}],["latest",{"_index":763,"title":{},"name":{},"text":{"6":{},"23":{},"28":{},"43":{},"47":{},"50":{},"54":{},"56":{},"57":{},"58":{},"67":{}},"component":{}}],["latter",{"_index":1144,"title":{},"name":{},"text":{"11":{}},"component":{}}],["launch",{"_index":2085,"title":{},"name":{},"text":{"31":{},"40":{}},"component":{}}],["lead",{"_index":3151,"title":{},"name":{},"text":{"63":{},"64":{}},"component":{}}],["leader",{"_index":355,"title":{"36-5":{}},"name":{},"text":{"2":{},"36":{}},"component":{}}],["learn",{"_index":64,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["leav",{"_index":2567,"title":{},"name":{},"text":{"46":{}},"component":{}}],["left",{"_index":1060,"title":{},"name":{},"text":{"9":{},"67":{}},"component":{}}],["leftel",{"_index":1057,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["legaci",{"_index":852,"title":{},"name":{},"text":{"6":{}},"component":{}}],["letsgetloud",{"_index":1426,"title":{},"name":{},"text":{"15":{}},"component":{}}],["letter",{"_index":1195,"title":{},"name":{},"text":{"11":{}},"component":{}}],["let’",{"_index":2176,"title":{},"name":{},"text":{"33":{},"58":{}},"component":{}}],["level",{"_index":667,"title":{},"name":{},"text":{"6":{}},"component":{}}],["leverag",{"_index":1666,"title":{},"name":{},"text":{"19":{},"32":{},"35":{},"56":{},"57":{},"58":{}},"component":{}}],["librari",{"_index":2318,"title":{},"name":{},"text":{"37":{}},"component":{}}],["lifetim",{"_index":2452,"title":{},"name":{},"text":{"41":{}},"component":{}}],["lightweight",{"_index":60,"title":{},"name":{},"text":{"1":{}},"component":{}}],["limit",{"_index":258,"title":{"52":{}},"name":{},"text":{"2":{},"3":{},"18":{},"48":{},"49":{},"50":{},"51":{},"53":{}},"component":{}}],["line",{"_index":1274,"title":{},"name":{},"text":{"12":{},"20":{},"23":{},"28":{},"43":{},"51":{},"54":{},"56":{},"57":{},"58":{},"62":{}},"component":{}}],["link",{"_index":1769,"title":{},"name":{},"text":{"25":{},"28":{},"40":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"67":{}},"component":{}}],["link:{spec_doc_url}#ev",{"_index":1505,"title":{},"name":{},"text":{"18":{}},"component":{}}],["linux",{"_index":1601,"title":{},"name":{},"text":{"19":{},"54":{}},"component":{}}],["list",{"_index":287,"title":{},"name":{},"text":{"2":{},"3":{},"6":{},"12":{},"13":{},"23":{},"25":{},"30":{},"32":{},"43":{},"47":{},"49":{},"50":{},"52":{},"53":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"65":{},"69":{},"72":{}},"component":{}}],["listen",{"_index":634,"title":{},"name":{},"text":{"5":{},"12":{},"15":{},"16":{},"17":{},"19":{},"37":{},"41":{}},"component":{}}],["listener\",artifactid=\"kogito",{"_index":1755,"title":{},"name":{},"text":{"24":{}},"component":{}}],["liter",{"_index":1035,"title":{},"name":{},"text":{"9":{}},"component":{}}],["live",{"_index":1586,"title":{},"name":{},"text":{"19":{},"65":{}},"component":{}}],["livenessprob",{"_index":3028,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["load",{"_index":175,"title":{"72-5":{}},"name":{},"text":{"2":{},"56":{},"57":{},"58":{},"66":{},"70":{},"72":{}},"component":{}}],["loadbalanc",{"_index":3063,"title":{},"name":{},"text":{"57":{}},"component":{}}],["loader",{"_index":500,"title":{},"name":{},"text":{"2":{}},"component":{}}],["loanbrok",{"_index":1287,"title":{},"name":{},"text":{"12":{}},"component":{}}],["local",{"_index":532,"title":{"58-1":{}},"name":{},"text":{"3":{},"12":{},"19":{},"20":{},"43":{},"48":{},"57":{},"58":{},"66":{},"72":{}},"component":{}}],["local/curl",{"_index":1258,"title":{},"name":{},"text":{"12":{}},"component":{}}],["local/quarku",{"_index":3152,"title":{},"name":{},"text":{"63":{},"64":{}},"component":{}}],["localhost:5000",{"_index":2842,"title":{},"name":{},"text":{"51":{}},"component":{}}],["localhost:8080",{"_index":1739,"title":{},"name":{},"text":{"24":{},"33":{}},"component":{}}],["localhost:9092",{"_index":2178,"title":{},"name":{},"text":{"33":{}},"component":{}}],["locat",{"_index":1741,"title":{},"name":{},"text":{"24":{},"28":{},"31":{},"33":{},"34":{},"35":{},"47":{}},"component":{}}],["lock",{"_index":573,"title":{},"name":{},"text":{"5":{},"27":{},"31":{}},"component":{}}],["log",{"_index":664,"title":{},"name":{},"text":{"6":{},"19":{},"22":{},"37":{},"43":{},"46":{},"48":{},"50":{},"51":{},"53":{},"58":{},"59":{},"67":{},"72":{}},"component":{}}],["logger",{"_index":627,"title":{},"name":{},"text":{"5":{}},"component":{}}],["logger.info(\"about",{"_index":1490,"title":{},"name":{},"text":{"17":{}},"component":{}}],["logic",{"_index":105,"title":{"65":{},"66":{},"67":{},"68":{},"66-1":{},"67-2":{},"68-1":{}},"name":{"65":{},"66":{},"67":{},"68":{},"69":{}},"text":{"1":{},"6":{},"11":{},"20":{},"42":{},"65":{},"66":{},"67":{},"68":{},"69":{},"71":{}},"component":{}}],["login",{"_index":2560,"title":{},"name":{},"text":{"43":{},"48":{},"58":{},"67":{},"72":{}},"component":{}}],["loginfo",{"_index":665,"title":{},"name":{},"text":{"6":{}},"component":{}}],["logist",{"_index":2576,"title":{},"name":{},"text":{"46":{}},"component":{}}],["logrout",{"_index":1692,"title":{},"name":{},"text":{"22":{}},"component":{}}],["logroutereplacehead",{"_index":1695,"title":{},"name":{},"text":{"22":{}},"component":{}}],["long",{"_index":568,"title":{},"name":{},"text":{"5":{},"6":{},"27":{}},"component":{}}],["look",{"_index":533,"title":{},"name":{},"text":{"3":{},"6":{},"50":{},"56":{},"59":{},"63":{}},"component":{}}],["lookup",{"_index":1785,"title":{},"name":{},"text":{"25":{}},"component":{}}],["loop",{"_index":602,"title":{},"name":{},"text":{"5":{},"57":{}},"component":{}}],["lost",{"_index":1413,"title":{},"name":{},"text":{"14":{},"36":{}},"component":{}}],["m1",{"_index":3073,"title":{},"name":{},"text":{"58":{}},"component":{}}],["mac",{"_index":2524,"title":{},"name":{},"text":{"43":{},"57":{},"58":{}},"component":{}}],["machin",{"_index":2836,"title":{},"name":{},"text":{"51":{},"57":{}},"component":{}}],["maco",{"_index":3190,"title":{},"name":{},"text":{"67":{}},"component":{}}],["made",{"_index":2306,"title":{},"name":{},"text":{"36":{},"46":{}},"component":{}}],["magic",{"_index":2979,"title":{},"name":{},"text":{"56":{}},"component":{}}],["main",{"_index":366,"title":{},"name":{},"text":{"2":{},"19":{},"36":{},"37":{},"54":{},"71":{},"72":{}},"component":{}}],["major",{"_index":2869,"title":{},"name":{},"text":{"51":{}},"component":{}}],["make",{"_index":263,"title":{},"name":{},"text":{"2":{},"8":{},"17":{},"27":{},"33":{},"36":{},"47":{},"50":{},"53":{},"56":{},"58":{},"59":{},"64":{},"70":{},"71":{},"72":{}},"component":{}}],["manag",{"_index":65,"title":{},"name":{},"text":{"1":{},"2":{},"3":{},"5":{},"13":{},"16":{},"20":{},"30":{},"31":{},"36":{},"43":{},"46":{},"51":{},"52":{},"57":{},"62":{},"64":{},"69":{}},"component":{}}],["mandatori",{"_index":787,"title":{},"name":{},"text":{"6":{},"10":{},"13":{},"28":{}},"component":{}}],["mani",{"_index":353,"title":{},"name":{},"text":{"2":{},"13":{},"32":{},"53":{}},"component":{}}],["manipul",{"_index":79,"title":{},"name":{},"text":{"1":{},"18":{}},"component":{}}],["manner",{"_index":1112,"title":{},"name":{},"text":{"10":{},"36":{}},"component":{}}],["mantra",{"_index":1521,"title":{},"name":{},"text":{"19":{}},"component":{}}],["manual",{"_index":518,"title":{"12-3":{},"28-4":{}},"name":{},"text":{"3":{},"12":{},"24":{},"27":{},"28":{},"34":{},"36":{},"52":{},"56":{},"57":{},"58":{},"63":{}},"component":{}}],["map",{"_index":846,"title":{"13-2":{}},"name":{},"text":{"6":{},"10":{},"13":{},"16":{},"25":{},"30":{},"32":{},"34":{},"35":{},"41":{},"42":{},"48":{}},"component":{}}],["map.of(\"quarkus.rest",{"_index":2504,"title":{},"name":{},"text":{"42":{}},"component":{}}],["mappingbuild",{"_index":2455,"title":{},"name":{},"text":{"41":{}},"component":{}}],["marketplac",{"_index":3229,"title":{},"name":{},"text":{"72":{}},"component":{}}],["marshal",{"_index":1310,"title":{},"name":{},"text":{"13":{}},"component":{}}],["match",{"_index":841,"title":{"15-1":{}},"name":{},"text":{"6":{},"8":{},"10":{},"13":{},"14":{},"15":{},"16":{},"18":{},"24":{},"30":{},"41":{},"63":{},"72":{}},"component":{}}],["matcher",{"_index":1109,"title":{},"name":{},"text":{"10":{}},"component":{}}],["matchlabel",{"_index":1730,"title":{},"name":{},"text":{"24":{}},"component":{}}],["matter",{"_index":2160,"title":{},"name":{},"text":{"32":{},"59":{}},"component":{}}],["maven",{"_index":411,"title":{},"name":{},"text":{"2":{},"6":{},"12":{},"13":{},"19":{},"22":{},"27":{},"31":{},"34":{},"37":{},"40":{},"41":{},"43":{},"47":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["maven.hom",{"_index":2398,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["max",{"_index":1067,"title":{},"name":{},"text":{"9":{}},"component":{}}],["max.x",{"_index":1082,"title":{},"name":{},"text":{"9":{}},"component":{}}],["max_by(.x",{"_index":1068,"title":{},"name":{},"text":{"9":{}},"component":{}}],["maxact",{"_index":1080,"title":{},"name":{},"text":{"9":{}},"component":{}}],["maximum",{"_index":617,"title":{},"name":{},"text":{"5":{},"8":{},"9":{},"47":{}},"component":{}}],["mean",{"_index":704,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"11":{},"13":{},"14":{},"18":{},"27":{},"28":{},"30":{},"34":{},"37":{},"50":{},"58":{}},"component":{}}],["mechan",{"_index":820,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"14":{},"16":{},"17":{},"25":{},"28":{},"36":{},"46":{},"63":{}},"component":{}}],["memori",{"_index":1218,"title":{},"name":{},"text":{"12":{},"14":{},"36":{},"51":{}},"component":{}}],["mention",{"_index":1316,"title":{},"name":{},"text":{"13":{},"17":{},"24":{},"25":{},"27":{},"57":{},"58":{}},"component":{}}],["menu",{"_index":3170,"title":{},"name":{},"text":{"65":{},"69":{},"72":{}},"component":{}}],["merg",{"_index":715,"title":{},"name":{},"text":{"6":{},"9":{},"22":{},"31":{},"34":{},"66":{}},"component":{}}],["mermaid",{"_index":3160,"title":{},"name":{},"text":{"64":{}},"component":{}}],["messag",{"_index":239,"title":{},"name":{},"text":{"2":{},"6":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"16":{},"17":{},"19":{},"22":{},"23":{},"25":{},"33":{},"34":{},"37":{},"50":{},"53":{},"58":{},"63":{},"64":{},"65":{},"67":{},"69":{},"70":{}},"component":{}}],["message\":\"hello",{"_index":2253,"title":{},"name":{},"text":{"34":{}},"component":{}}],["message\":\"saludo",{"_index":2247,"title":{},"name":{},"text":{"34":{}},"component":{}}],["metadata",{"_index":809,"title":{},"name":{},"text":{"6":{},"12":{},"24":{},"27":{},"49":{},"50":{},"56":{},"57":{},"58":{}},"component":{}}],["metadata.get(oper",{"_index":887,"title":{},"name":{},"text":{"6":{}},"component":{}}],["metadata.getordefault(port",{"_index":891,"title":{},"name":{},"text":{"6":{}},"component":{}}],["metainform",{"_index":548,"title":{},"name":{"4":{}},"text":{},"component":{}}],["metdata",{"_index":1815,"title":{},"name":{},"text":{"25":{}},"component":{}}],["method",{"_index":49,"title":{},"name":{},"text":{"1":{},"6":{},"10":{},"16":{},"17":{},"25":{},"31":{},"34":{},"37":{},"41":{},"42":{},"43":{},"46":{},"49":{},"52":{},"63":{},"64":{},"70":{},"72":{}},"component":{}}],["metric",{"_index":158,"title":{"24":{},"24-1":{},"24-2":{},"24-3":{},"24-4":{},"24-5":{},"25-2":{}},"name":{"24":{}},"text":{"1":{},"2":{},"19":{},"22":{},"24":{},"25":{},"51":{},"65":{}},"component":{}}],["metrics_path",{"_index":1737,"title":{},"name":{},"text":{"24":{}},"component":{}}],["micoprofil",{"_index":2122,"title":{},"name":{},"text":{"32":{}},"component":{}}],["micromet",{"_index":1732,"title":{},"name":{},"text":{"24":{}},"component":{}}],["microprofil",{"_index":1903,"title":{},"name":{},"text":{"30":{},"32":{}},"component":{}}],["microservic",{"_index":2565,"title":{},"name":{},"text":{"46":{}},"component":{}}],["migrat",{"_index":142,"title":{"28":{},"28-1":{},"28-2":{},"28-3":{},"28-5":{},"28-8":{}},"name":{"28":{}},"text":{"1":{},"27":{},"28":{}},"component":{}}],["migrate=tru",{"_index":1876,"title":{},"name":{},"text":{"28":{}},"component":{}}],["migrations,s3:migrationsbucket,gcs:migrationsbucket",{"_index":1866,"title":{},"name":{},"text":{"28":{}},"component":{}}],["millisecond",{"_index":819,"title":{},"name":{},"text":{"6":{}},"component":{}}],["min",{"_index":1069,"title":{},"name":{},"text":{"9":{}},"component":{}}],["min_by(.i",{"_index":1070,"title":{},"name":{},"text":{"9":{}},"component":{}}],["mind",{"_index":520,"title":{},"name":{},"text":{"3":{}},"component":{}}],["minifi",{"_index":2976,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["minikub",{"_index":531,"title":{"57":{},"51-1":{},"57-1":{},"57-2":{}},"name":{"57":{}},"text":{"3":{},"19":{},"23":{},"47":{},"48":{},"50":{},"51":{},"52":{},"54":{},"57":{}},"component":{}}],["minikube’",{"_index":2748,"title":{},"name":{},"text":{"48":{},"57":{}},"component":{}}],["minim",{"_index":2540,"title":{},"name":{},"text":{"43":{}},"component":{}}],["minimum",{"_index":1078,"title":{},"name":{},"text":{"9":{},"11":{},"53":{}},"component":{}}],["minor",{"_index":2870,"title":{},"name":{},"text":{"51":{}},"component":{}}],["minu",{"_index":857,"title":{},"name":{},"text":{"6":{}},"component":{}}],["minut",{"_index":944,"title":{},"name":{},"text":{"8":{},"65":{}},"component":{}}],["mislead",{"_index":645,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["miss",{"_index":240,"title":{},"name":{},"text":{"2":{},"28":{}},"component":{}}],["mistak",{"_index":1882,"title":{},"name":{},"text":{"28":{}},"component":{}}],["mock",{"_index":134,"title":{"41":{},"42":{},"42-1":{}},"name":{"41":{},"42":{}},"text":{"1":{},"12":{},"37":{},"41":{},"42":{}},"component":{}}],["modal",{"_index":3171,"title":{},"name":{},"text":{"65":{},"69":{}},"component":{}}],["mode",{"_index":234,"title":{"32-6":{},"32-7":{}},"name":{},"text":{"2":{},"5":{},"11":{},"19":{},"25":{},"32":{},"40":{},"41":{},"48":{},"52":{},"64":{},"68":{},"70":{}},"component":{}}],["model",{"_index":535,"title":{"68-1":{}},"name":{},"text":{"3":{},"6":{},"9":{},"10":{},"16":{},"18":{},"34":{},"52":{},"68":{}},"component":{}}],["modif",{"_index":2829,"title":{},"name":{},"text":{"50":{}},"component":{}}],["modifi",{"_index":712,"title":{},"name":{},"text":{"6":{},"16":{},"25":{},"61":{}},"component":{}}],["modul",{"_index":185,"title":{},"name":{},"text":{"2":{},"6":{},"18":{}},"component":{}}],["moment",{"_index":1360,"title":{},"name":{},"text":{"14":{},"22":{},"33":{},"50":{},"52":{}},"component":{}}],["mongodb",{"_index":562,"title":{},"name":{},"text":{"5":{}},"component":{}}],["monitor",{"_index":304,"title":{},"name":{},"text":{"2":{},"24":{},"25":{},"64":{},"67":{}},"component":{}}],["monitor.yaml",{"_index":1722,"title":{},"name":{},"text":{"24":{}},"component":{}}],["monitoring.coreos.com/v1",{"_index":1723,"title":{},"name":{},"text":{"24":{}},"component":{}}],["more",{"_index":34,"title":{"28-8":{}},"name":{},"text":{"1":{},"2":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"72":{}},"component":{}}],["mount",{"_index":216,"title":{},"name":{},"text":{"2":{}},"component":{}}],["move",{"_index":969,"title":{},"name":{},"text":{"8":{},"9":{},"16":{},"17":{},"47":{},"66":{},"67":{}},"component":{}}],["mp.messaging.[incoming|outgo",{"_index":1305,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.emitter.default",{"_index":1345,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.incoming..path",{"_index":1231,"title":{},"name":{},"text":{"12":{}},"component":{}}],["mp.messaging.incoming.kogito_incoming_stream.connector=smallry",{"_index":1324,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.incoming.kogito_incoming_stream.path",{"_index":1230,"title":{},"name":{},"text":{"12":{}},"component":{}}],["mp.messaging.incoming.kogito_incoming_stream.topic=applic",{"_index":1325,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.incoming.kogito_incoming_stream.value.deserializer=org.apache.kafka.common.serialization.stringdeseri",{"_index":1326,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.incoming.wait.connector=quarku",{"_index":1497,"title":{},"name":{},"text":{"17":{}},"component":{}}],["mp.messaging.incoming.wait.connector=smallry",{"_index":1319,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.incoming.wait.path=/wait",{"_index":1498,"title":{},"name":{},"text":{"17":{}},"component":{}}],["mp.messaging.incoming.wait.value.deserializer=org.apache.kafka.common.serialization.stringdeseri",{"_index":1320,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.outgoing.kogito",{"_index":1017,"title":{},"name":{},"text":{"8":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.connector",{"_index":1212,"title":{},"name":{},"text":{"12":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.connector=smallry",{"_index":1327,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.topic=decis",{"_index":1328,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.url",{"_index":1210,"title":{},"name":{},"text":{"12":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.url=http://0.0.0.0:8181",{"_index":2458,"title":{},"name":{},"text":{"41":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.value.serializer=org.apache.kafka.common.serialization.stringseri",{"_index":1329,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.outgoing.resume.connector=smallry",{"_index":1321,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.outgoing.resume.value.serializer=org.apache.kafka.common.serialization.stringseri",{"_index":1322,"title":{},"name":{},"text":{"13":{}},"component":{}}],["multi",{"_index":184,"title":{},"name":{},"text":{"2":{}},"component":{}}],["multipl",{"_index":398,"title":{},"name":{},"text":{"2":{},"12":{},"14":{},"15":{},"35":{},"43":{},"59":{}},"component":{}}],["multipli",{"_index":858,"title":{},"name":{},"text":{"6":{},"35":{}},"component":{}}],["multiplicationoper",{"_index":2276,"title":{},"name":{},"text":{"35":{}},"component":{}}],["multiplyvalu",{"_index":2279,"title":{},"name":{},"text":{"35":{}},"component":{}}],["mvn",{"_index":360,"title":{},"name":{},"text":{"2":{},"11":{},"12":{},"19":{},"31":{},"32":{},"34":{},"37":{},"40":{},"41":{},"47":{}},"component":{}}],["mxn",{"_index":2071,"title":{},"name":{},"text":{"31":{}},"component":{}}],["my.body.data",{"_index":746,"title":{},"name":{},"text":{"6":{}},"component":{}}],["my.other.valu",{"_index":750,"title":{},"name":{},"text":{"6":{}},"component":{}}],["my.properties.key",{"_index":2769,"title":{},"name":{},"text":{"49":{}},"component":{}}],["my.valu",{"_index":748,"title":{},"name":{},"text":{"6":{}},"component":{}}],["my_different_namespac",{"_index":779,"title":{},"name":{},"text":{"6":{}},"component":{}}],["my_key",{"_index":1924,"title":{},"name":{},"text":{"30":{}},"component":{}}],["mycamelendpoint",{"_index":736,"title":{},"name":{},"text":{"6":{}},"component":{}}],["myendpoint",{"_index":740,"title":{},"name":{},"text":{"6":{}},"component":{}}],["myfunct",{"_index":678,"title":{},"name":{},"text":{"6":{},"32":{}},"component":{}}],["myheadernam",{"_index":1960,"title":{},"name":{},"text":{"30":{}},"component":{}}],["myinterfaceorclass",{"_index":693,"title":{},"name":{},"text":{"6":{}},"component":{}}],["mymethod",{"_index":686,"title":{},"name":{},"text":{"6":{}},"component":{}}],["mymethod(int",{"_index":695,"title":{},"name":{},"text":{"6":{}},"component":{}}],["mymethod(jsonnod",{"_index":708,"title":{},"name":{},"text":{"6":{}},"component":{}}],["myopenapifile.yaml",{"_index":2259,"title":{},"name":{},"text":{"35":{}},"component":{}}],["mystat",{"_index":671,"title":{},"name":{},"text":{"6":{}},"component":{}}],["myworkflow",{"_index":1513,"title":{},"name":{},"text":{"18":{},"32":{}},"component":{}}],["myworkflow_myfunct",{"_index":2104,"title":{},"name":{},"text":{"32":{}},"component":{}}],["n",{"_index":1512,"title":{},"name":{},"text":{"18":{},"43":{},"48":{},"50":{},"51":{},"56":{},"58":{}},"component":{}}],["name",{"_index":387,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["name\":\"javierito",{"_index":2192,"title":{},"name":{},"text":{"33":{}},"component":{}}],["name\":\"myfunction1",{"_index":2254,"title":{},"name":{},"text":{"35":{}},"component":{}}],["name\":\"process",{"_index":2597,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name\":\"processpay",{"_index":2580,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name\":\"processpaymentact",{"_index":2582,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name\":\"reserv",{"_index":2595,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name\":\"reservestock",{"_index":2601,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name\":\"ship",{"_index":2598,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name=[http_header_nam",{"_index":1956,"title":{},"name":{},"text":{"30":{}},"component":{}}],["name=label",{"_index":3108,"title":{},"name":{},"text":{"59":{}},"component":{}}],["name=myheadernam",{"_index":1958,"title":{},"name":{},"text":{"30":{}},"component":{}}],["name=namevalue;anoth",{"_index":3121,"title":{},"name":{},"text":{"59":{}},"component":{}}],["name=test",{"_index":3124,"title":{},"name":{},"text":{"59":{}},"component":{}}],["name={port_nam",{"_index":3106,"title":{},"name":{},"text":{"59":{}},"component":{}}],["name_oper",{"_index":3251,"title":{},"name":{},"text":{"72":{}},"component":{}}],["name_vers",{"_index":3252,"title":{},"name":{},"text":{"72":{}},"component":{}}],["namespac",{"_index":655,"title":{"6-13":{},"48-2":{}},"name":{},"text":{"6":{},"12":{},"24":{},"48":{},"49":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"67":{}},"component":{}}],["namespace/project",{"_index":2918,"title":{},"name":{},"text":{"54":{}},"component":{}}],["namespace=kogito",{"_index":2731,"title":{},"name":{},"text":{"48":{}},"component":{}}],["namespace=serverless",{"_index":2975,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["nan",{"_index":1783,"title":{},"name":{},"text":{"25":{}},"component":{}}],["narayana",{"_index":1654,"title":{},"name":{},"text":{"19":{}},"component":{}}],["nativ",{"_index":22,"title":{"54-3":{}},"name":{},"text":{"1":{},"3":{},"6":{},"18":{},"40":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["natur",{"_index":1097,"title":{},"name":{},"text":{"10":{}},"component":{}}],["navig",{"_index":2049,"title":{},"name":{},"text":{"31":{},"34":{},"54":{},"61":{},"63":{},"64":{},"72":{}},"component":{}}],["necess",{"_index":2543,"title":{},"name":{},"text":{"43":{}},"component":{}}],["necessari",{"_index":1008,"title":{},"name":{},"text":{"8":{},"28":{},"35":{}},"component":{}}],["need",{"_index":338,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"8":{},"11":{},"12":{},"13":{},"16":{},"17":{},"19":{},"24":{},"25":{},"27":{},"28":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{},"66":{},"67":{},"68":{},"72":{}},"component":{}}],["nest",{"_index":2643,"title":{},"name":{},"text":{"46":{}},"component":{}}],["net",{"_index":1881,"title":{},"name":{},"text":{"28":{},"35":{},"56":{}},"component":{}}],["network",{"_index":2217,"title":{},"name":{},"text":{"34":{},"59":{}},"component":{}}],["never",{"_index":3054,"title":{},"name":{},"text":{"57":{}},"component":{}}],["new",{"_index":168,"title":{"2":{},"50-2":{},"63-2":{},"63-3":{},"63-6":{}},"name":{},"text":{"3":{},"6":{},"8":{},"14":{},"15":{},"16":{},"17":{},"19":{},"22":{},"27":{},"28":{},"31":{},"36":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"50":{},"51":{},"53":{},"58":{},"63":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["newaccountev",{"_index":1361,"title":{},"name":{},"text":{"14":{}},"component":{}}],["newaccounteventtyp",{"_index":1362,"title":{},"name":{},"text":{"14":{}},"component":{}}],["newli",{"_index":2909,"title":{},"name":{},"text":{"54":{},"56":{},"57":{},"58":{},"63":{},"64":{}},"component":{}}],["newslett",{"_index":2562,"title":{},"name":{"45":{}},"text":{},"component":{}}],["next",{"_index":962,"title":{},"name":{},"text":{"8":{},"16":{},"17":{},"19":{},"23":{},"31":{},"46":{},"47":{},"53":{},"56":{},"57":{},"58":{},"63":{},"64":{},"72":{}},"component":{}}],["nightli",{"_index":204,"title":{},"name":{},"text":{"2":{}},"component":{}}],["nightly:1.34.0",{"_index":2867,"title":{},"name":{},"text":{"51":{}},"component":{}}],["node",{"_index":714,"title":{},"name":{},"text":{"6":{},"34":{},"36":{},"64":{}},"component":{}}],["node.workname(name).metadata(oper",{"_index":877,"title":{},"name":{},"text":{"6":{}},"component":{}}],["nodeport",{"_index":2756,"title":{},"name":{},"text":{"48":{},"50":{}},"component":{}}],["noisi",{"_index":1420,"title":{},"name":{},"text":{"15":{}},"component":{}}],["noisyev",{"_index":1422,"title":{},"name":{},"text":{"15":{}},"component":{}}],["non",{"_index":827,"title":{},"name":{},"text":{"6":{},"13":{},"14":{},"30":{}},"component":{}}],["none",{"_index":1335,"title":{},"name":{},"text":{"13":{},"47":{},"72":{}},"component":{}}],["normal",{"_index":1698,"title":{},"name":{},"text":{"22":{},"32":{},"34":{},"49":{},"50":{},"53":{}},"component":{}}],["notabl",{"_index":165,"title":{"2-1":{}},"name":{},"text":{},"component":{}}],["notcareaboutnois",{"_index":1428,"title":{},"name":{},"text":{"15":{}},"component":{}}],["note",{"_index":278,"title":{},"name":{},"text":{"2":{},"6":{},"10":{},"11":{},"12":{},"13":{},"16":{},"17":{},"19":{},"25":{},"30":{},"32":{},"35":{},"49":{},"54":{},"58":{}},"component":{}}],["notic",{"_index":3087,"title":{},"name":{},"text":{"58":{}},"component":{}}],["notif",{"_index":3149,"title":{},"name":{},"text":{"63":{},"64":{},"72":{}},"component":{}}],["notifi",{"_index":1482,"title":{},"name":{},"text":{"17":{}},"component":{}}],["notus",{"_index":2273,"title":{},"name":{},"text":{"35":{}},"component":{}}],["now",{"_index":517,"title":{},"name":{},"text":{"3":{},"28":{},"48":{},"58":{}},"component":{}}],["npm",{"_index":1767,"title":{},"name":{},"text":{"25":{}},"component":{}}],["null",{"_index":888,"title":{},"name":{},"text":{"6":{},"14":{},"25":{},"31":{},"41":{},"42":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["number",{"_index":609,"title":{},"name":{},"text":{"5":{},"6":{},"9":{},"10":{},"11":{},"12":{},"25":{},"31":{},"35":{},"42":{},"62":{}},"component":{}}],["numbertyp",{"_index":1134,"title":{},"name":{},"text":{"10":{}},"component":{}}],["numcomplet",{"_index":1188,"title":{},"name":{},"text":{"11":{}},"component":{}}],["o",{"_index":2818,"title":{},"name":{},"text":{"50":{},"51":{},"56":{},"57":{}},"component":{}}],["oauth",{"_index":125,"title":{"31":{},"30-5":{},"31-1":{}},"name":{},"text":{"1":{},"30":{},"31":{}},"component":{}}],["oauth2",{"_index":127,"title":{"31-2":{}},"name":{"31":{}},"text":{"1":{},"30":{},"31":{}},"component":{}}],["oauth_exampl",{"_index":1935,"title":{},"name":{},"text":{"30":{}},"component":{}}],["object",{"_index":529,"title":{"6-15":{},"12-4":{}},"name":{},"text":{"3":{},"6":{},"7":{},"9":{},"10":{},"12":{},"22":{},"30":{},"31":{},"34":{},"35":{},"49":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"72":{}},"component":{}}],["objectmapp",{"_index":2433,"title":{},"name":{},"text":{"41":{},"42":{}},"component":{}}],["objectmapper.readtree(countryserviceworkflowtest.class.getresourceasstream(\"/country_mock_feature_a.json",{"_index":2519,"title":{},"name":{},"text":{"42":{}},"component":{}}],["objectmapper.readtree(getclass().getresourceasstream(\"/country_mock.json",{"_index":2480,"title":{},"name":{},"text":{"42":{}},"component":{}}],["objectmapper.writevalueasstring(cloudeventbuilder.v1",{"_index":1455,"title":{},"name":{},"text":{"16":{}},"component":{}}],["observ",{"_index":2885,"title":{},"name":{},"text":{"53":{}},"component":{}}],["observedgener",{"_index":2886,"title":{},"name":{},"text":{"53":{}},"component":{}}],["obtain",{"_index":899,"title":{},"name":{},"text":{"6":{},"34":{},"67":{}},"component":{}}],["oc",{"_index":1731,"title":{},"name":{},"text":{"24":{},"58":{},"67":{}},"component":{}}],["occur",{"_index":717,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"15":{},"46":{},"50":{}},"component":{}}],["occurr",{"_index":2083,"title":{},"name":{},"text":{"31":{}},"component":{}}],["ocp",{"_index":309,"title":{},"name":{},"text":{"2":{}},"component":{}}],["odata",{"_index":1508,"title":{},"name":{},"text":{"18":{}},"component":{}}],["odd",{"_index":1125,"title":{},"name":{},"text":{"10":{}},"component":{}}],["oer",{"_index":1496,"title":{},"name":{},"text":{"17":{}},"component":{}}],["offer",{"_index":3048,"title":{},"name":{},"text":{"57":{}},"component":{}}],["offlin",{"_index":412,"title":{},"name":{},"text":{"2":{}},"component":{}}],["oidc",{"_index":1656,"title":{},"name":{},"text":{"19":{},"30":{},"31":{}},"component":{}}],["oidcclient",{"_index":1933,"title":{},"name":{},"text":{"30":{}},"component":{}}],["ojsonpath='{.spec.clusterip",{"_index":2751,"title":{},"name":{},"text":{"48":{}},"component":{}}],["ok",{"_index":770,"title":{},"name":{},"text":{"6":{},"23":{},"30":{},"31":{},"35":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["okhttp",{"_index":3125,"title":{},"name":{},"text":{"59":{}},"component":{}}],["omit",{"_index":2257,"title":{},"name":{},"text":{"35":{}},"component":{}}],["on",{"_index":254,"title":{},"name":{},"text":{"2":{},"3":{},"6":{},"8":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"18":{},"19":{},"23":{},"25":{},"27":{},"28":{},"30":{},"34":{},"35":{},"36":{},"42":{},"43":{},"47":{},"49":{},"50":{},"56":{},"57":{},"58":{},"59":{},"65":{},"68":{},"70":{},"72":{}},"component":{}}],["onc",{"_index":950,"title":{},"name":{},"text":{"8":{},"9":{},"14":{},"16":{},"17":{},"19":{},"22":{},"27":{},"31":{},"33":{},"34":{},"35":{},"40":{},"41":{},"42":{},"46":{},"47":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"72":{}},"component":{}}],["onerror",{"_index":978,"title":{},"name":{},"text":{"8":{},"10":{},"31":{},"46":{}},"component":{}}],["onev",{"_index":998,"title":{},"name":{},"text":{"8":{},"14":{},"15":{}},"component":{}}],["onevent(messag",{"_index":1469,"title":{},"name":{},"text":{"16":{}},"component":{}}],["onlin",{"_index":1674,"title":{},"name":{},"text":{"20":{},"61":{},"67":{}},"component":{}}],["onoverflow",{"_index":1295,"title":{"13-3":{}},"name":{},"text":{"13":{}},"component":{}}],["open",{"_index":595,"title":{"64-1":{}},"name":{},"text":{"5":{},"30":{},"42":{},"43":{},"47":{},"50":{},"57":{},"65":{},"66":{},"67":{},"69":{},"70":{},"72":{}},"component":{}}],["openapi",{"_index":109,"title":{"17":{},"30":{},"32":{},"35":{},"42":{},"17-1":{},"30-1":{},"32-3":{},"35-1":{},"35-2":{},"35-3":{},"35-5":{},"42-1":{},"72-5":{}},"name":{"17":{},"30":{},"32":{},"35":{},"42":{}},"text":{"1":{},"2":{},"7":{},"9":{},"10":{},"17":{},"19":{},"30":{},"31":{},"32":{},"35":{},"37":{},"41":{},"42":{},"43":{},"46":{},"52":{},"59":{},"65":{},"69":{},"72":{}},"component":{}}],["openapi/async",{"_index":42,"title":{},"name":{},"text":{"1":{}},"component":{}}],["openapi/stock",{"_index":2131,"title":{},"name":{},"text":{"32":{}},"component":{}}],["openid",{"_index":1932,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["openshift",{"_index":257,"title":{"58":{},"67":{},"69":{},"24-3":{},"58-1":{},"58-2":{},"58-5":{},"67-2":{},"69-1":{},"69-2":{}},"name":{"58":{},"67":{}},"text":{"2":{},"3":{},"24":{},"52":{},"54":{},"58":{},"59":{},"65":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["openshift1.40.0.fin",{"_index":3014,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["openshift:2.16.7.fin",{"_index":3092,"title":{},"name":{},"text":{"58":{}},"component":{}}],["openshift_registry_url",{"_index":3077,"title":{},"name":{},"text":{"58":{}},"component":{}}],["openshift_registry_url/kogito",{"_index":3084,"title":{},"name":{},"text":{"58":{}},"component":{}}],["openshift_registry_url=$(oc",{"_index":3079,"title":{},"name":{},"text":{"58":{}},"component":{}}],["openshift’",{"_index":3069,"title":{"58-3":{}},"name":{},"text":{"58":{}},"component":{}}],["oper",{"_index":180,"title":{"48":{},"50":{},"51":{},"52":{},"3-2":{},"48-4":{},"51-2":{},"51-3":{}},"name":{"51":{}},"text":{"2":{},"3":{},"6":{},"9":{},"10":{},"11":{},"16":{},"17":{},"18":{},"22":{},"23":{},"24":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"41":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"58":{},"65":{},"67":{},"72":{}},"component":{}}],["operation\":\"classpath:/myopenapi",{"_index":2255,"title":{},"name":{},"text":{"35":{}},"component":{}}],["operation\":\"service:org.kie.kogito.paymentservice::processpay",{"_index":2603,"title":{},"name":{},"text":{"46":{}},"component":{}}],["operation1",{"_index":2116,"title":{},"name":{},"text":{"32":{}},"component":{}}],["operation2",{"_index":2118,"title":{},"name":{},"text":{"32":{}},"component":{}}],["operationid",{"_index":319,"title":{},"name":{},"text":{"2":{},"6":{},"30":{},"31":{},"33":{},"35":{}},"component":{}}],["operationid.valueof(operationid.touppercas",{"_index":893,"title":{},"name":{},"text":{"6":{}},"component":{}}],["operator/.x/operator.yaml",{"_index":2874,"title":{},"name":{},"text":{"51":{}},"component":{}}],["operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessplatform.yaml",{"_index":2742,"title":{},"name":{},"text":{"48":{}},"component":{}}],["operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow.yaml",{"_index":2753,"title":{},"name":{},"text":{"48":{}},"component":{}}],["operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow_devmode.yaml",{"_index":2800,"title":{},"name":{},"text":{"50":{}},"component":{}}],["operator/main/operator.yaml",{"_index":2848,"title":{},"name":{},"text":{"51":{}},"component":{}}],["operator/main/test/testdata/sw.kogito_v1alpha08_kogitoserverlessworkflow_devmode.yaml",{"_index":2791,"title":{},"name":{},"text":{"50":{}},"component":{}}],["operator’",{"_index":2857,"title":{},"name":{},"text":{"51":{}},"component":{}}],["opt",{"_index":516,"title":{},"name":{},"text":{"3":{},"28":{}},"component":{}}],["optim",{"_index":1971,"title":{},"name":{},"text":{"31":{},"43":{}},"component":{}}],["optimist",{"_index":572,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["option",{"_index":44,"title":{},"name":{},"text":{"1":{},"3":{},"5":{},"6":{},"10":{},"13":{},"14":{},"16":{},"19":{},"23":{},"27":{},"28":{},"31":{},"34":{},"36":{},"42":{},"43":{},"46":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"65":{},"66":{},"72":{}},"component":{}}],["orchestr",{"_index":5,"title":{"31":{},"33":{},"34":{},"35":{},"46":{},"1-4":{},"31-1":{},"31-2":{}},"name":{"31":{},"33":{},"34":{},"35":{},"46":{}},"text":{"1":{},"6":{},"7":{},"9":{},"18":{},"19":{},"30":{},"31":{},"32":{},"35":{},"42":{},"46":{}},"component":{}}],["order",{"_index":955,"title":{},"name":{},"text":{"8":{},"11":{},"28":{},"31":{},"34":{},"41":{},"46":{},"48":{},"50":{},"51":{},"53":{}},"component":{}}],["order.getid",{"_index":2440,"title":{},"name":{},"text":{"41":{}},"component":{}}],["order.setcountry(\"u",{"_index":2438,"title":{},"name":{},"text":{"41":{}},"component":{}}],["order.setdescription(\"iphon",{"_index":2435,"title":{},"name":{},"text":{"41":{}},"component":{}}],["order.setid(uuid.randomuuid().tostr",{"_index":2434,"title":{},"name":{},"text":{"41":{}},"component":{}}],["order.settotal(1001",{"_index":2437,"title":{},"name":{},"text":{"41":{}},"component":{}}],["orderev",{"_index":2442,"title":{},"name":{},"text":{"41":{}},"component":{}}],["orderid",{"_index":2610,"title":{},"name":{},"text":{"46":{}},"component":{}}],["orderid\":\".orderid",{"_index":2584,"title":{},"name":{},"text":{"46":{}},"component":{}}],["orderid\":\"03e6cf79",{"_index":2621,"title":{},"name":{},"text":{"46":{}},"component":{}}],["orderrespons",{"_index":2641,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.acm",{"_index":1548,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.acme:serverless",{"_index":1534,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.apache.kafka.common.serialization.bytearraydeseri",{"_index":1311,"title":{},"name":{},"text":{"13":{}},"component":{}}],["org.apache.kafka.common.serialization.bytearrayseri",{"_index":1314,"title":{},"name":{},"text":{"13":{}},"component":{}}],["org.apache.kafka.common.serialization.stringdeseri",{"_index":1312,"title":{},"name":{},"text":{"13":{}},"component":{}}],["org.apache.kafka.common.serialization.stringseri",{"_index":1315,"title":{},"name":{},"text":{"13":{}},"component":{}}],["org.apache.maven.plugins:maven",{"_index":1565,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.awaitil",{"_index":2394,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["org.hamcrest.matchers.equalto",{"_index":2335,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.jbo.thread",{"_index":2354,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.jboss.logmanager.logmanag",{"_index":2397,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["org.junit.jupiter.api.beforeal",{"_index":2332,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.junit.jupiter.api.test",{"_index":2333,"title":{},"name":{},"text":{"37":{},"42":{}},"component":{}}],["org.kie.kog.add.qua.mes.com.quarkuskogitoextensioniniti",{"_index":1580,"title":{},"name":{},"text":{"19":{},"37":{}},"component":{}}],["org.kie.kog.cod.api.uti.addonsconfigdiscoveri",{"_index":2358,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.kie.kog.cod.cor.uti.applicationgeneratordiscoveri",{"_index":2370,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.kie.kog.mockservic",{"_index":2677,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kog.orderservic",{"_index":2651,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kog.paymentservic",{"_index":2647,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kog.per.inm.pos.run.inmemorypostgresqlrecord",{"_index":1626,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.kie.kog.per.pro.protobufservic",{"_index":1634,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.kie.kog.qua.pro.dev.dataindexinmemorycontain",{"_index":1593,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.kie.kog.shippingservic",{"_index":2649,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kog.stockservic",{"_index":2645,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kogito",{"_index":1015,"title":{},"name":{},"text":{"8":{},"12":{},"22":{},"23":{},"24":{},"25":{},"27":{},"40":{},"56":{},"57":{},"58":{},"59":{},"62":{},"64":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.auto_generate_brok",{"_index":1217,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.brok",{"_index":1228,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.health",{"_index":2773,"title":{},"name":{},"text":{"49":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.health_en",{"_index":1215,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.sink",{"_index":1220,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.sink.api_vers",{"_index":1223,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.sink.kind",{"_index":1227,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.sink.nam",{"_index":1226,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.sink.namespac",{"_index":1222,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.quarkus.knative.serving.customfunctions.operation#namespac",{"_index":408,"title":{},"name":{},"text":{"2":{}},"component":{}}],["org.kie.kogito.exampl",{"_index":2006,"title":{},"name":{},"text":{"31":{},"37":{}},"component":{}}],["org.kie.kogito.examples.evenservic",{"_index":1128,"title":{},"name":{},"text":{"10":{}},"component":{}}],["org.kie.kogito.examples.exchangeworkflowhelp",{"_index":2003,"title":{},"name":{},"text":{"31":{}},"component":{}}],["org.kie.kogito.examples.hellotest",{"_index":2351,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.kie.kogito.examples.sw.custom.rpccustomworkitemhandler.nam",{"_index":869,"title":{},"name":{},"text":{"6":{}},"component":{}}],["org.kie.kogito.examples.sw.custom.rpccustomworkitemhandler.oper",{"_index":870,"title":{},"name":{},"text":{"6":{}},"component":{}}],["org.kie.kogito.serviceexcept",{"_index":2599,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kogito.sw.knative.service=knative:services.v1/serverless",{"_index":3129,"title":{},"name":{},"text":{"59":{}},"component":{}}],["org.kie.kogito:kogito",{"_index":1677,"title":{},"name":{},"text":{"22":{},"24":{},"25":{},"56":{},"57":{},"58":{},"59":{},"62":{}},"component":{}}],["origin",{"_index":442,"title":{},"name":{},"text":{"2":{},"9":{},"10":{}},"component":{}}],["orm",{"_index":1652,"title":{},"name":{},"text":{"19":{}},"component":{}}],["otherwis",{"_index":1037,"title":{},"name":{},"text":{"9":{},"10":{},"15":{},"22":{},"23":{},"46":{},"49":{},"50":{},"51":{},"56":{},"57":{}},"component":{}}],["ought",{"_index":1205,"title":{},"name":{},"text":{"12":{}},"component":{}}],["out",{"_index":960,"title":{},"name":{},"text":{"8":{},"9":{},"17":{},"50":{},"53":{},"56":{},"63":{},"64":{},"67":{}},"component":{}}],["outcom",{"_index":2865,"title":{},"name":{},"text":{"51":{}},"component":{}}],["outgo",{"_index":588,"title":{},"name":{},"text":{"5":{},"8":{},"12":{},"13":{},"17":{}},"component":{}}],["outgoing(\"out",{"_index":1467,"title":{},"name":{},"text":{"16":{}},"component":{}}],["output",{"_index":424,"title":{},"name":{},"text":{"2":{},"9":{},"10":{},"13":{},"19":{},"23":{},"37":{},"43":{},"46":{},"47":{},"50":{},"51":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["outsid",{"_index":581,"title":{},"name":{},"text":{"5":{}},"component":{}}],["over",{"_index":1234,"title":{},"name":{},"text":{"12":{},"17":{},"33":{},"50":{}},"component":{}}],["overdu",{"_index":959,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["overeag",{"_index":3193,"title":{},"name":{},"text":{"67":{}},"component":{}}],["overflow",{"_index":1331,"title":{},"name":{},"text":{"13":{}},"component":{}}],["overrid",{"_index":558,"title":{},"name":{},"text":{"5":{},"6":{},"9":{},"12":{},"42":{},"43":{},"49":{},"54":{},"59":{}},"component":{}}],["overview",{"_index":1885,"title":{"30-1":{},"32-1":{},"40-1":{},"41-1":{},"46-1":{}},"name":{"43":{},"62":{},"68":{},"71":{}},"text":{},"component":{}}],["overwrit",{"_index":2167,"title":{},"name":{},"text":{"32":{},"43":{}},"component":{}}],["overwrot",{"_index":2171,"title":{},"name":{},"text":{"32":{}},"component":{}}],["p",{"_index":2755,"title":{},"name":{},"text":{"48":{},"50":{},"54":{},"57":{},"58":{}},"component":{}}],["p2dt3h4m",{"_index":945,"title":{},"name":{},"text":{"8":{}},"component":{}}],["packag",{"_index":486,"title":{},"name":{},"text":{"2":{},"19":{},"25":{},"31":{},"32":{},"37":{}},"component":{}}],["package=com.acm",{"_index":2030,"title":{},"name":{},"text":{"31":{}},"component":{}}],["packet",{"_index":1616,"title":{},"name":{},"text":{"19":{}},"component":{}}],["page",{"_index":1784,"title":{},"name":{"61":{},"63":{},"64":{}},"text":{"25":{},"37":{},"43":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"72":{}},"component":{}}],["pair",{"_index":752,"title":{},"name":{},"text":{"6":{},"22":{},"34":{}},"component":{}}],["palett",{"_index":3233,"title":{},"name":{},"text":{"72":{}},"component":{}}],["panach",{"_index":1653,"title":{},"name":{},"text":{"19":{}},"component":{}}],["panel",{"_index":3156,"title":{},"name":{},"text":{"64":{}},"component":{}}],["parallel",{"_index":83,"title":{"11":{},"11-1":{},"11-2":{},"11-3":{}},"name":{"11":{}},"text":{"1":{},"11":{},"18":{},"41":{}},"component":{}}],["parallel.sw.json",{"_index":1152,"title":{},"name":{},"text":{"11":{}},"component":{}}],["paramet",{"_index":703,"title":{},"name":{},"text":{"6":{},"7":{},"8":{},"10":{},"24":{},"30":{},"31":{},"34":{},"35":{},"36":{},"37":{},"41":{},"59":{}},"component":{}}],["parameters.values().iter",{"_index":885,"title":{},"name":{},"text":{"6":{}},"component":{}}],["pars",{"_index":2416,"title":{},"name":{},"text":{"41":{},"59":{},"72":{}},"component":{}}],["parser",{"_index":494,"title":{},"name":{},"text":{"2":{}},"component":{}}],["parser@^4.1.2",{"_index":477,"title":{},"name":{},"text":{"2":{}},"component":{}}],["parsercontext",{"_index":874,"title":{},"name":{},"text":{"6":{}},"component":{}}],["part",{"_index":838,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"14":{},"31":{},"33":{},"34":{},"35":{},"36":{}},"component":{}}],["parti",{"_index":124,"title":{"31":{}},"name":{"31":{}},"text":{"1":{},"30":{},"42":{},"46":{}},"component":{}}],["partial",{"_index":1107,"title":{},"name":{},"text":{"10":{},"18":{}},"component":{}}],["particip",{"_index":2563,"title":{},"name":{},"text":{"46":{}},"component":{}}],["particular",{"_index":700,"title":{},"name":{},"text":{"6":{},"13":{},"14":{},"30":{},"31":{}},"component":{}}],["pass",{"_index":689,"title":{},"name":{},"text":{"6":{},"9":{},"30":{},"31":{},"41":{},"54":{}},"component":{}}],["password",{"_index":1629,"title":{},"name":{},"text":{"19":{},"28":{},"30":{},"40":{},"48":{},"57":{}},"component":{}}],["password=bar",{"_index":1860,"title":{},"name":{},"text":{"28":{}},"component":{}}],["past",{"_index":3184,"title":{},"name":{},"text":{"66":{}},"component":{}}],["patch",{"_index":2754,"title":{},"name":{},"text":{"48":{},"50":{}},"component":{}}],["path",{"_index":217,"title":{"61-3":{}},"name":{},"text":{"2":{},"6":{},"7":{},"9":{},"12":{},"17":{},"24":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"43":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"72":{}},"component":{}}],["path(\"id",{"_index":2407,"title":{},"name":{},"text":{"40":{}},"component":{}}],["path=/token",{"_index":1940,"title":{},"name":{},"text":{"30":{}},"component":{}}],["path=http://localhost:8281/auth/realms/kogito/protocol/openid",{"_index":2037,"title":{},"name":{},"text":{"31":{}},"component":{}}],["patient",{"_index":330,"title":{},"name":{},"text":{"2":{}},"component":{}}],["pattern",{"_index":151,"title":{"46-1":{},"46-2":{},"46-3":{}},"name":{"46":{}},"text":{"1":{},"10":{},"46":{},"50":{},"59":{},"72":{}},"component":{}}],["paus",{"_index":1417,"title":{},"name":{},"text":{"15":{},"27":{}},"component":{}}],["pay",{"_index":2998,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["payload",{"_index":780,"title":{},"name":{},"text":{"6":{},"10":{},"12":{},"14":{},"22":{},"23":{},"33":{},"34":{},"35":{},"42":{}},"component":{}}],["payment",{"_index":2572,"title":{},"name":{},"text":{"46":{}},"component":{}}],["paymentrespons",{"_index":2629,"title":{},"name":{},"text":{"46":{}},"component":{}}],["paymentservice.java",{"_index":2600,"title":{},"name":{},"text":{"46":{}},"component":{}}],["pbuild",{"_index":2929,"title":{},"name":{},"text":{"54":{}},"component":{}}],["peform",{"_index":1435,"title":{},"name":{},"text":{"16":{}},"component":{}}],["pencil",{"_index":3224,"title":{},"name":{},"text":{"70":{}},"component":{}}],["per",{"_index":1149,"title":{},"name":{},"text":{"11":{},"13":{},"18":{}},"component":{}}],["percentag",{"_index":2141,"title":{},"name":{},"text":{"32":{}},"component":{}}],["perform",{"_index":707,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"11":{},"16":{},"17":{},"24":{},"35":{},"37":{},"40":{},"41":{},"42":{},"46":{},"48":{},"50":{},"59":{},"69":{},"71":{},"72":{}},"component":{}}],["period",{"_index":2142,"title":{},"name":{},"text":{"32":{}},"component":{}}],["periodsecond",{"_index":3033,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["permiss",{"_index":2525,"title":{},"name":{},"text":{"43":{},"66":{},"67":{}},"component":{}}],["persist",{"_index":10,"title":{"1-8":{},"27-1":{},"36-2":{},"40-2":{}},"name":{"27":{}},"text":{"1":{},"5":{},"14":{},"27":{},"28":{},"36":{},"40":{},"46":{},"47":{},"50":{},"68":{}},"component":{}}],["person",{"_index":2824,"title":{},"name":{},"text":{"50":{},"65":{}},"component":{}}],["perspect",{"_index":1436,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["pet",{"_index":2283,"title":{},"name":{},"text":{"35":{}},"component":{}}],["pet/{petid",{"_index":2282,"title":{},"name":{},"text":{"35":{}},"component":{}}],["petid",{"_index":2285,"title":{},"name":{},"text":{"35":{}},"component":{}}],["petstor",{"_index":2261,"title":{},"name":{},"text":{"35":{}},"component":{}}],["phase",{"_index":842,"title":{"48-2":{}},"name":{},"text":{"6":{},"53":{}},"component":{}}],["php",{"_index":2268,"title":{},"name":{},"text":{"35":{}},"component":{}}],["pick",{"_index":1847,"title":{},"name":{},"text":{"28":{}},"component":{}}],["pid",{"_index":3058,"title":{},"name":{},"text":{"57":{}},"component":{}}],["pipelin",{"_index":277,"title":{},"name":{},"text":{"2":{}},"component":{}}],["pknativ",{"_index":2706,"title":{},"name":{},"text":{"47":{}},"component":{}}],["place",{"_index":917,"title":{},"name":{},"text":{"7":{},"22":{},"53":{},"65":{}},"component":{}}],["placehold",{"_index":2873,"title":{},"name":{},"text":{"51":{}},"component":{}}],["plain",{"_index":3008,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["plainjsonknativefunct",{"_index":1711,"title":{},"name":{},"text":{"23":{}},"component":{}}],["plan",{"_index":1261,"title":{},"name":{},"text":{"12":{}},"component":{}}],["platform",{"_index":265,"title":{},"name":{},"text":{"2":{},"3":{},"12":{},"19":{},"48":{},"56":{},"57":{},"67":{}},"component":{}}],["play",{"_index":1348,"title":{},"name":{},"text":{"14":{},"46":{},"50":{}},"component":{}}],["pleas",{"_index":647,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["plug",{"_index":102,"title":{"43":{},"43-1":{}},"name":{},"text":{"1":{},"12":{},"19":{},"20":{},"23":{},"40":{},"41":{},"43":{},"56":{},"57":{},"62":{}},"component":{}}],["plugin",{"_index":457,"title":{},"name":{"43":{}},"text":{"2":{},"40":{},"41":{},"43":{},"58":{}},"component":{}}],["plugin:2.16.7.final:cr",{"_index":1541,"title":{},"name":{},"text":{"19":{}},"component":{}}],["plugin:2.16.7.final:dev",{"_index":1564,"title":{},"name":{},"text":{"19":{}},"component":{}}],["plugin:2.4:jar",{"_index":2381,"title":{},"name":{},"text":{"37":{}},"component":{}}],["plugin:2.6:resourc",{"_index":1566,"title":{},"name":{},"text":{"19":{}},"component":{}}],["plugin:2.9.2.final:build",{"_index":2385,"title":{},"name":{},"text":{"37":{}},"component":{}}],["pndtnhnmn.n",{"_index":937,"title":{},"name":{},"text":{"8":{}},"component":{}}],["pod",{"_index":314,"title":{},"name":{},"text":{"2":{},"12":{},"35":{},"48":{},"50":{},"51":{},"53":{},"59":{}},"component":{}}],["podman",{"_index":2522,"title":{},"name":{},"text":{"43":{},"51":{},"58":{}},"component":{}}],["pods.v1",{"_index":3113,"title":{},"name":{},"text":{"59":{}},"component":{}}],["point",{"_index":930,"title":{},"name":{},"text":{"8":{},"32":{},"33":{},"35":{},"36":{},"50":{}},"component":{}}],["pojo",{"_index":2012,"title":{},"name":{},"text":{"31":{}},"component":{}}],["polici",{"_index":2529,"title":{},"name":{},"text":{"43":{}},"component":{}}],["policy=ifnotpres",{"_index":2983,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["pom",{"_index":2212,"title":{},"name":{},"text":{"34":{}},"component":{}}],["pom.xml",{"_index":1014,"title":{},"name":{},"text":{"8":{},"12":{},"13":{},"22":{},"24":{},"25":{},"27":{},"34":{},"37":{},"40":{},"41":{},"42":{},"54":{},"56":{},"57":{},"58":{},"62":{},"64":{},"65":{}},"component":{}}],["pool",{"_index":618,"title":{},"name":{},"text":{"5":{}},"component":{}}],["pop",{"_index":3175,"title":{},"name":{},"text":{"65":{}},"component":{}}],["popul",{"_index":1132,"title":{},"name":{},"text":{"10":{}},"component":{}}],["port",{"_index":633,"title":{},"name":{},"text":{"5":{},"19":{},"34":{},"41":{},"42":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["port(",{"_index":2949,"title":{},"name":{},"text":{"56":{}},"component":{}}],["portabl",{"_index":663,"title":{},"name":{},"text":{"6":{},"9":{}},"component":{}}],["portfolio",{"_index":2098,"title":{},"name":{},"text":{"32":{}},"component":{}}],["possibl",{"_index":560,"title":{"50-7":{}},"name":{},"text":{"5":{},"6":{},"8":{},"13":{},"14":{},"31":{},"32":{},"34":{},"46":{},"53":{}},"component":{}}],["post",{"_index":275,"title":{},"name":{},"text":{"2":{},"6":{},"9":{},"11":{},"12":{},"17":{},"19":{},"23":{},"31":{},"32":{},"34":{},"35":{},"37":{},"41":{},"46":{},"47":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{},"63":{}},"component":{}}],["post(\"/callback",{"_index":2406,"title":{},"name":{},"text":{"40":{}},"component":{}}],["post(\"/hello",{"_index":2342,"title":{},"name":{},"text":{"37":{}},"component":{}}],["postconstruct",{"_index":908,"title":{},"name":{},"text":{"6":{}},"component":{}}],["postgr",{"_index":1627,"title":{},"name":{},"text":{"19":{}},"component":{}}],["postgres:pid(90",{"_index":1610,"title":{},"name":{},"text":{"19":{}},"component":{}}],["postgresql",{"_index":132,"title":{"27":{},"28":{},"40":{},"36-3":{},"40-2":{}},"name":{"27":{},"28":{},"40":{}},"text":{"1":{},"2":{},"5":{},"14":{},"19":{},"27":{},"28":{},"36":{},"37":{},"40":{},"47":{}},"component":{}}],["postgresql.yml",{"_index":2701,"title":{},"name":{},"text":{"47":{}},"component":{}}],["postgressql",{"_index":141,"title":{},"name":{},"text":{"1":{}},"component":{}}],["postmast",{"_index":1624,"title":{},"name":{},"text":{"19":{}},"component":{}}],["postrequestedfor(urlequalto(\"/\")).withrequestbody(containing(\"\\\"type\\\":\\\"domesticshipping\\\"\").and(containing(\"\\\"id",{"_index":2451,"title":{},"name":{},"text":{"41":{}},"component":{}}],["postrequestedfor(urlequalto(\"/\")).withrequestbody(containing(\"\\\"type\\\":\\\"fraudevaluation\\\"\").and(containing(\"\\\"id",{"_index":2450,"title":{},"name":{},"text":{"41":{}},"component":{}}],["postrequestedfor(urlequalto(\"/\")).withrequestbody(containing(order.getid",{"_index":2448,"title":{},"name":{},"text":{"41":{}},"component":{}}],["potenti",{"_index":1091,"title":{},"name":{},"text":{"10":{},"31":{}},"component":{}}],["power",{"_index":1582,"title":{},"name":{},"text":{"19":{},"37":{},"54":{}},"component":{}}],["pr",{"_index":310,"title":{},"name":{},"text":{"2":{}},"component":{}}],["practic",{"_index":1353,"title":{},"name":{},"text":{"14":{}},"component":{}}],["pre",{"_index":3172,"title":{},"name":{},"text":{"65":{}},"component":{}}],["preced",{"_index":3094,"title":{"59-2":{}},"name":{},"text":{},"component":{}}],["precis",{"_index":3119,"title":{},"name":{},"text":{"59":{}},"component":{}}],["predefin",{"_index":821,"title":{},"name":{},"text":{"6":{},"10":{}},"component":{}}],["prefer",{"_index":2196,"title":{},"name":{},"text":{"34":{},"43":{},"49":{},"56":{},"72":{}},"component":{}}],["prefix",{"_index":823,"title":{},"name":{},"text":{"6":{},"22":{},"32":{}},"component":{}}],["prepar",{"_index":2729,"title":{"48-1":{},"51-1":{},"58-3":{}},"name":{},"text":{"51":{},"57":{},"58":{}},"component":{}}],["prerequisit",{"_index":1151,"title":{},"name":{},"text":{"11":{},"12":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"31":{},"32":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"48":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"62":{},"65":{},"66":{},"67":{},"69":{},"70":{},"72":{}},"component":{}}],["present",{"_index":631,"title":{},"name":{},"text":{"5":{},"6":{},"12":{},"33":{},"40":{},"47":{},"64":{},"66":{}},"component":{}}],["preserv",{"_index":2774,"title":{},"name":{},"text":{"49":{}},"component":{}}],["press",{"_index":1667,"title":{},"name":{},"text":{"19":{},"72":{}},"component":{}}],["prevent",{"_index":1537,"title":{},"name":{},"text":{"19":{},"42":{}},"component":{}}],["preview",{"_index":3214,"title":{},"name":{},"text":{"68":{}},"component":{}}],["previou",{"_index":731,"title":{},"name":{},"text":{"6":{},"7":{},"9":{},"11":{},"12":{},"13":{},"15":{},"19":{},"23":{},"24":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"41":{},"43":{},"46":{},"47":{},"54":{},"57":{},"58":{},"59":{},"62":{},"69":{}},"component":{}}],["previous",{"_index":1750,"title":{},"name":{},"text":{"24":{},"57":{},"58":{}},"component":{}}],["price",{"_index":2124,"title":{},"name":{},"text":{"32":{}},"component":{}}],["price/{symbol",{"_index":2108,"title":{},"name":{},"text":{"32":{}},"component":{}}],["primit",{"_index":719,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["print",{"_index":1483,"title":{},"name":{},"text":{"17":{},"43":{},"48":{}},"component":{}}],["printact",{"_index":673,"title":{},"name":{},"text":{"6":{},"10":{}},"component":{}}],["printafterevent1",{"_index":1003,"title":{},"name":{},"text":{"8":{}},"component":{}}],["printafterevent2",{"_index":1006,"title":{},"name":{},"text":{"8":{}},"component":{}}],["printexitmessag",{"_index":1007,"title":{},"name":{},"text":{"8":{}},"component":{}}],["printmessag",{"_index":1135,"title":{},"name":{},"text":{"10":{}},"component":{}}],["priorit",{"_index":2826,"title":{},"name":{},"text":{"50":{},"52":{}},"component":{}}],["privaci",{"_index":2530,"title":{},"name":{},"text":{"43":{}},"component":{}}],["privat",{"_index":1449,"title":{},"name":{},"text":{"16":{},"31":{},"41":{},"42":{},"56":{},"66":{}},"component":{}}],["privileg",{"_index":2834,"title":{},"name":{},"text":{"51":{}},"component":{}}],["probe",{"_index":329,"title":{},"name":{},"text":{"2":{},"12":{},"50":{}},"component":{}}],["problem",{"_index":1970,"title":{},"name":{},"text":{"31":{},"43":{},"50":{},"53":{},"72":{}},"component":{}}],["proce",{"_index":3072,"title":{},"name":{},"text":{"58":{}},"component":{}}],["procedur",{"_index":1138,"title":{},"name":{},"text":{"11":{},"12":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"31":{},"32":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"54":{},"56":{},"57":{},"58":{},"62":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["proceed",{"_index":2948,"title":{},"name":{},"text":{"56":{},"58":{}},"component":{}}],["process",{"_index":379,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"14":{},"16":{},"17":{},"19":{},"24":{},"25":{},"27":{},"31":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"53":{},"56":{},"57":{},"58":{},"64":{},"65":{},"66":{}},"component":{}}],["process/correl",{"_index":1395,"title":{},"name":{},"text":{"14":{}},"component":{}}],["process_id",{"_index":1778,"title":{},"name":{},"text":{"25":{}},"component":{}}],["process_id=\".*?\"/).match",{"_index":1780,"title":{},"name":{},"text":{"25":{}},"component":{}}],["processdomesticorderunderfraudev",{"_index":2431,"title":{},"name":{},"text":{"41":{}},"component":{}}],["processid",{"_index":1748,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["processinst",{"_index":1810,"title":{},"name":{},"text":{"25":{}},"component":{}}],["processinstanceid",{"_index":1354,"title":{},"name":{},"text":{"14":{},"17":{}},"component":{}}],["processinstancelisten",{"_index":1764,"title":{},"name":{},"text":{"25":{}},"component":{}}],["processnam",{"_index":1749,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["processor",{"_index":3074,"title":{},"name":{},"text":{"58":{}},"component":{}}],["processpay",{"_index":2591,"title":{},"name":{},"text":{"46":{}},"component":{}}],["processpaymentact",{"_index":2592,"title":{},"name":{},"text":{"46":{}},"component":{}}],["prod",{"_index":1648,"title":{},"name":{},"text":{"19":{},"32":{},"52":{}},"component":{}}],["produc",{"_index":32,"title":{"12":{},"13":{}},"name":{"12":{},"13":{}},"text":{"1":{},"2":{},"6":{},"8":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"22":{},"31":{},"40":{},"41":{},"43":{},"47":{}},"component":{}}],["product",{"_index":2093,"title":{"32-7":{},"52-5":{},"53-3":{}},"name":{},"text":{"32":{},"35":{},"36":{},"47":{},"50":{},"52":{},"53":{},"65":{}},"component":{}}],["product_id",{"_index":781,"title":{},"name":{},"text":{"6":{}},"component":{}}],["profil",{"_index":261,"title":{"50-1":{},"52-5":{},"53-2":{},"53-3":{}},"name":{},"text":{"2":{},"19":{},"32":{},"37":{},"47":{},"49":{},"50":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["profit",{"_index":2123,"title":{},"name":{},"text":{"32":{}},"component":{}}],["program",{"_index":1016,"title":{},"name":{},"text":{"8":{},"41":{}},"component":{}}],["project",{"_index":69,"title":{"65":{},"66":{},"67":{},"19-1":{},"22-4":{},"43-2":{},"43-3":{},"43-4":{},"43-5":{},"65-1":{},"65-2":{}},"name":{"65":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"11":{},"12":{},"13":{},"19":{},"20":{},"22":{},"23":{},"24":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"42":{},"43":{},"54":{},"56":{},"57":{},"58":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"72":{}},"component":{}}],["project.basedir}/../serverless",{"_index":2213,"title":{},"name":{},"text":{"34":{}},"component":{}}],["project/namespac",{"_index":3086,"title":{},"name":{},"text":{"58":{}},"component":{}}],["project:1.0.0",{"_index":2559,"title":{},"name":{},"text":{"43":{}},"component":{}}],["project:1.0.1",{"_index":2558,"title":{},"name":{},"text":{"43":{}},"component":{}}],["project’",{"_index":522,"title":{},"name":{},"text":{"3":{},"6":{}},"component":{}}],["prometheu",{"_index":159,"title":{"24":{},"24-4":{}},"name":{"24":{}},"text":{"1":{},"24":{},"25":{}},"component":{}}],["prompt",{"_index":1856,"title":{},"name":{},"text":{"28":{}},"component":{}}],["promql",{"_index":1804,"title":{},"name":{},"text":{"25":{}},"component":{}}],["prop",{"_index":2765,"title":{},"name":{},"text":{"49":{},"50":{}},"component":{}}],["propag",{"_index":1590,"title":{"30-6":{}},"name":{},"text":{"19":{},"30":{},"37":{}},"component":{}}],["propagation=[true,fals",{"_index":1952,"title":{},"name":{},"text":{"30":{}},"component":{}}],["propagation=tru",{"_index":1954,"title":{},"name":{},"text":{"30":{}},"component":{}}],["proper",{"_index":844,"title":{},"name":{},"text":{"6":{},"8":{},"36":{},"72":{}},"component":{}}],["properli",{"_index":2001,"title":{},"name":{},"text":{"31":{},"58":{}},"component":{}}],["properti",{"_index":85,"title":{"5":{},"49-2":{}},"name":{"5":{}},"text":{"1":{},"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"18":{},"19":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"40":{},"41":{},"42":{},"47":{},"49":{},"50":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"64":{},"72":{}},"component":{}}],["protect",{"_index":872,"title":{},"name":{},"text":{"6":{}},"component":{}}],["proto",{"_index":2197,"title":{},"name":{},"text":{"34":{}},"component":{}}],["protobuff",{"_index":1635,"title":{},"name":{},"text":{"19":{}},"component":{}}],["protocol",{"_index":860,"title":{},"name":{},"text":{"6":{},"23":{},"33":{},"56":{},"57":{},"58":{}},"component":{}}],["protocolvers",{"_index":2179,"title":{},"name":{},"text":{"33":{}},"component":{}}],["prototyp",{"_index":2471,"title":{},"name":{},"text":{"42":{}},"component":{}}],["provid",{"_index":445,"title":{},"name":{},"text":{"2":{},"6":{},"7":{},"8":{},"10":{},"12":{},"13":{},"17":{},"19":{},"20":{},"28":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"40":{},"43":{},"47":{},"51":{},"52":{},"54":{},"56":{},"57":{},"59":{},"62":{},"63":{},"64":{},"65":{},"68":{},"71":{},"72":{}},"component":{}}],["provis",{"_index":2904,"title":{},"name":{},"text":{"53":{}},"component":{}}],["proxi",{"_index":3189,"title":{},"name":{},"text":{"67":{}},"component":{}}],["psql",{"_index":1868,"title":{},"name":{},"text":{"28":{}},"component":{}}],["pt15m",{"_index":942,"title":{},"name":{},"text":{"8":{}},"component":{}}],["pt1h",{"_index":957,"title":{},"name":{},"text":{"8":{}},"component":{}}],["pt30",{"_index":982,"title":{},"name":{},"text":{"8":{}},"component":{}}],["pt5",{"_index":993,"title":{},"name":{},"text":{"8":{}},"component":{}}],["public",{"_index":692,"title":{},"name":{},"text":{"6":{},"16":{},"17":{},"31":{},"41":{},"42":{},"46":{},"66":{}},"component":{}}],["publish",{"_index":1012,"title":{"33-2":{}},"name":{},"text":{"8":{},"13":{},"14":{},"16":{},"17":{},"33":{},"56":{}},"component":{}}],["publishact",{"_index":1448,"title":{},"name":{},"text":{"16":{}},"component":{}}],["pull",{"_index":2974,"title":{},"name":{},"text":{"56":{},"57":{},"58":{},"66":{},"70":{}},"component":{}}],["purpos",{"_index":541,"title":{},"name":{},"text":{"3":{},"14":{},"22":{},"31":{},"36":{},"65":{}},"component":{}}],["push",{"_index":2547,"title":{},"name":{},"text":{"43":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{},"66":{},"70":{}},"component":{}}],["put",{"_index":1788,"title":{},"name":{},"text":{"25":{}},"component":{}}],["python",{"_index":206,"title":{},"name":{},"text":{"2":{},"35":{}},"component":{}}],["q/health/liv",{"_index":3031,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["q/health/readi",{"_index":3040,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["q/metric",{"_index":1721,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["qualifi",{"_index":685,"title":{},"name":{},"text":{"6":{},"10":{},"46":{}},"component":{}}],["quarantin",{"_index":3195,"title":{},"name":{},"text":{"67":{}},"component":{}}],["quarkivers",{"_index":2173,"title":{},"name":{},"text":{"33":{}},"component":{}}],["quarku",{"_index":99,"title":{"54":{},"62":{},"3-1":{},"22-1":{},"28-6":{},"31-2":{},"56-5":{},"57-5":{},"58-6":{}},"name":{"54":{},"61":{},"62":{},"63":{},"64":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"49":{},"54":{},"56":{},"57":{},"58":{},"59":{},"62":{},"64":{},"65":{},"66":{}},"component":{}}],["quarkus.10.103.94.37.sslip.io",{"_index":2997,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["quarkus.10.103.94.37.sslip.io/jsongreet",{"_index":3002,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["quarkus.contain",{"_index":2910,"title":{},"name":{},"text":{"54":{},"56":{},"57":{},"58":{}},"component":{}}],["quarkus.datasource.db",{"_index":1829,"title":{},"name":{},"text":{"27":{},"28":{}},"component":{}}],["quarkus.datasource.jdbc.url",{"_index":2400,"title":{},"name":{},"text":{"40":{}},"component":{}}],["quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/postgr",{"_index":1833,"title":{},"name":{},"text":{"27":{}},"component":{}}],["quarkus.datasource.password",{"_index":2402,"title":{},"name":{},"text":{"40":{}},"component":{}}],["quarkus.datasource.password=pass",{"_index":1832,"title":{},"name":{},"text":{"27":{}},"component":{}}],["quarkus.datasource.reactive.url",{"_index":2399,"title":{},"name":{},"text":{"40":{}},"component":{}}],["quarkus.datasource.usernam",{"_index":2401,"title":{},"name":{},"text":{"40":{}},"component":{}}],["quarkus.datasource.username=postgr",{"_index":1831,"title":{},"name":{},"text":{"27":{}},"component":{}}],["quarkus.flyway.baselin",{"_index":1875,"title":{},"name":{},"text":{"28":{}},"component":{}}],["quarkus.flyway.migr",{"_index":1835,"title":{},"name":{},"text":{"27":{},"28":{}},"component":{}}],["quarkus.grpc.clients.greeter.host=localhost",{"_index":2218,"title":{},"name":{},"text":{"34":{}},"component":{}}],["quarkus.grpc.clients.greeter.port=50051",{"_index":2219,"title":{},"name":{},"text":{"34":{}},"component":{}}],["quarkus.http.host",{"_index":2771,"title":{},"name":{},"text":{"49":{}},"component":{}}],["quarkus.http.port",{"_index":2770,"title":{},"name":{},"text":{"49":{}},"component":{}}],["quarkus.knative.name=hello",{"_index":3015,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["quarkus.kogito",{"_index":3134,"title":{},"name":{},"text":{"61":{}},"component":{}}],["quarkus.kogito.devservices.en",{"_index":629,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kogito.devservices.imag",{"_index":636,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kogito.devservices.port",{"_index":632,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kogito.devservices.servic",{"_index":641,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kogito.devservices.shar",{"_index":639,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kogito.logger.alway",{"_index":626,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kubernetes.deploy",{"_index":1267,"title":{},"name":{},"text":{"12":{},"56":{},"57":{},"58":{}},"component":{}}],["quarkus.kubernetes.deploy=tru",{"_index":3042,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["quarkus.log.category.\"okhttp3.okhttpclient\".level=info",{"_index":3127,"title":{},"name":{},"text":{"59":{}},"component":{}}],["quarkus.oidc",{"_index":1936,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["quarkus.openapi",{"_index":1891,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["quarkus.profil",{"_index":2145,"title":{},"name":{},"text":{"32":{}},"component":{}}],["quarkus.rest",{"_index":2031,"title":{},"name":{},"text":{"31":{},"32":{},"35":{},"42":{}},"component":{}}],["quarkus/acm",{"_index":2054,"title":{},"name":{},"text":{"31":{}},"component":{}}],["quarkus/curr",{"_index":2058,"title":{},"name":{},"text":{"31":{}},"component":{}}],["quarkus/dock",{"_index":2053,"title":{},"name":{},"text":{"31":{}},"component":{}}],["quarkus/greet",{"_index":3130,"title":{},"name":{},"text":{"59":{}},"component":{}}],["quarkus/script",{"_index":2051,"title":{},"name":{},"text":{"31":{}},"component":{}}],["quarkus/src/main/proto",{"_index":2214,"title":{},"name":{},"text":{"34":{}},"component":{}}],["quarkus:1.0",{"_index":2928,"title":{},"name":{},"text":{"54":{},"56":{},"57":{},"58":{}},"component":{}}],["quarkus:add",{"_index":1200,"title":{},"name":{},"text":{"12":{}},"component":{}}],["quarkus:dev",{"_index":1175,"title":{},"name":{},"text":{"11":{},"19":{},"32":{},"34":{}},"component":{}}],["quarkus_devservices_en",{"_index":394,"title":{},"name":{},"text":{"2":{}},"component":{}}],["quarkus_extens",{"_index":413,"title":{},"name":{},"text":{"2":{}},"component":{}}],["quarkus_kogito_devservices_en",{"_index":393,"title":{},"name":{},"text":{"2":{}},"component":{}}],["quarkusintegrationtest",{"_index":2391,"title":{},"name":{},"text":{"40":{}},"component":{}}],["quarkustest",{"_index":372,"title":{},"name":{},"text":{"2":{},"37":{},"41":{},"42":{}},"component":{}}],["quarkustest(1",{"_index":2421,"title":{},"name":{},"text":{"41":{}},"component":{}}],["quarkustestresourc",{"_index":2469,"title":{"42-2":{}},"name":{},"text":{"42":{}},"component":{}}],["quarkustestresource(restcountriesmockserver.class",{"_index":2512,"title":{},"name":{},"text":{"42":{}},"component":{}}],["quarkustestresourcelifecyclemanag",{"_index":2502,"title":{},"name":{},"text":{"42":{}},"component":{}}],["quay.io",{"_index":2555,"title":{},"name":{},"text":{"43":{},"54":{},"56":{}},"component":{}}],["quay.io/kiegroup/kogito",{"_index":637,"title":{},"name":{},"text":{"5":{},"51":{}},"component":{}}],["quay.io/kiegroup/serverless",{"_index":3027,"title":{},"name":{},"text":{"56":{}},"component":{}}],["quay.io/kogito/serverless",{"_index":2927,"title":{},"name":{},"text":{"54":{}},"component":{}}],["quay.io/oth",{"_index":2556,"title":{},"name":{},"text":{"43":{}},"component":{}}],["queri",{"_index":567,"title":{},"name":{},"text":{"5":{},"6":{},"9":{},"25":{},"30":{},"31":{},"36":{},"58":{},"59":{}},"component":{}}],["queue",{"_index":621,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quick",{"_index":86,"title":{"27-1":{}},"name":{},"text":{"1":{},"5":{},"27":{}},"component":{}}],["quickli",{"_index":2521,"title":{},"name":{},"text":{"43":{}},"component":{}}],["quickstart",{"_index":3049,"title":{},"name":{},"text":{"57":{}},"component":{}}],["quot",{"_index":1247,"title":{},"name":{},"text":{"12":{}},"component":{}}],["random",{"_index":2126,"title":{},"name":{},"text":{"32":{}},"component":{}}],["rate",{"_index":1250,"title":{},"name":{},"text":{"12":{},"31":{}},"component":{}}],["raw",{"_index":2609,"title":{},"name":{},"text":{"46":{}},"component":{}}],["re",{"_index":2799,"title":{},"name":{},"text":{"50":{}},"component":{}}],["reach",{"_index":1388,"title":{},"name":{},"text":{"14":{},"15":{},"19":{},"27":{},"30":{},"33":{},"36":{},"47":{}},"component":{}}],["react",{"_index":2463,"title":{},"name":{},"text":{"41":{}},"component":{}}],["reactiv",{"_index":35,"title":{},"name":{},"text":{"1":{},"13":{},"19":{},"37":{},"40":{}},"component":{}}],["read",{"_index":1959,"title":{},"name":{},"text":{"30":{},"41":{},"56":{},"57":{},"58":{},"59":{},"64":{},"69":{},"70":{}},"component":{}}],["readi",{"_index":30,"title":{},"name":{},"text":{"1":{},"6":{},"23":{},"47":{},"50":{},"51":{},"53":{},"56":{},"57":{},"58":{},"65":{},"67":{}},"component":{}}],["readinessprob",{"_index":3039,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["readm",{"_index":1824,"title":{},"name":{},"text":{"27":{},"47":{}},"component":{}}],["real",{"_index":1073,"title":{},"name":{},"text":{"9":{},"32":{}},"component":{}}],["realli",{"_index":651,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["reason",{"_index":765,"title":{},"name":{},"text":{"6":{},"23":{},"34":{},"47":{},"50":{},"52":{},"53":{},"56":{},"57":{},"58":{}},"component":{}}],["rebuild",{"_index":1720,"title":{},"name":{},"text":{"24":{},"43":{},"54":{}},"component":{}}],["receiv",{"_index":427,"title":{},"name":{},"text":{"2":{},"8":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"22":{},"31":{},"33":{},"36":{},"41":{},"46":{},"47":{},"48":{},"50":{},"64":{}},"component":{}}],["recent",{"_index":863,"title":{},"name":{},"text":{"6":{}},"component":{}}],["recept",{"_index":1146,"title":{},"name":{},"text":{"11":{},"15":{}},"component":{}}],["recommend",{"_index":1514,"title":{},"name":{},"text":{"18":{},"27":{},"36":{},"47":{}},"component":{}}],["reconcil",{"_index":2991,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["record",{"_index":1850,"title":{},"name":{},"text":{"28":{}},"component":{}}],["recov",{"_index":2889,"title":{},"name":{},"text":{"53":{}},"component":{}}],["recoverfailureattempt",{"_index":2887,"title":{},"name":{},"text":{"53":{}},"component":{}}],["recreat",{"_index":2846,"title":{},"name":{},"text":{"51":{}},"component":{}}],["recurs",{"_index":721,"title":{},"name":{},"text":{"6":{},"10":{}},"component":{}}],["red",{"_index":1528,"title":{"69":{},"69-1":{},"69-2":{}},"name":{},"text":{"19":{},"58":{},"65":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["redhat",{"_index":3215,"title":{},"name":{"69":{}},"text":{},"component":{}}],["redirect",{"_index":2296,"title":{},"name":{},"text":{"35":{},"63":{},"72":{}},"component":{}}],["reduc",{"_index":816,"title":{},"name":{},"text":{"6":{}},"component":{}}],["ref",{"_index":1289,"title":{},"name":{},"text":{"12":{},"31":{},"33":{},"35":{}},"component":{}}],["refactor",{"_index":251,"title":{},"name":{},"text":{"2":{}},"component":{}}],["refer",{"_index":87,"title":{"27-1":{}},"name":{},"text":{"1":{},"5":{},"6":{},"7":{},"8":{},"12":{},"14":{},"17":{},"18":{},"22":{},"23":{},"24":{},"27":{},"30":{},"31":{},"32":{},"35":{},"41":{},"46":{},"50":{},"56":{},"58":{},"61":{},"64":{},"72":{}},"component":{}}],["referenc",{"_index":219,"title":{"22-3":{}},"name":{},"text":{"2":{},"15":{},"22":{},"25":{},"30":{},"35":{}},"component":{}}],["reflect",{"_index":2868,"title":{},"name":{},"text":{"51":{},"56":{},"57":{},"58":{}},"component":{}}],["refnam",{"_index":674,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"17":{},"22":{},"23":{},"31":{},"32":{},"34":{},"35":{},"50":{}},"component":{}}],["refname\":\"divis",{"_index":902,"title":{},"name":{},"text":{"6":{}},"component":{}}],["refname\":\"processpay",{"_index":2583,"title":{},"name":{},"text":{"46":{}},"component":{}}],["refresh",{"_index":2044,"title":{},"name":{},"text":{"31":{},"63":{},"64":{},"72":{}},"component":{}}],["regard",{"_index":1837,"title":{},"name":{},"text":{"27":{}},"component":{}}],["regardless",{"_index":928,"title":{},"name":{},"text":{"8":{},"9":{},"12":{},"41":{}},"component":{}}],["regcr",{"_index":2732,"title":{},"name":{},"text":{"48":{}},"component":{}}],["regex",{"_index":1108,"title":{},"name":{},"text":{"10":{}},"component":{}}],["regist",{"_index":536,"title":{},"name":{},"text":{"3":{},"6":{},"19":{},"37":{}},"component":{}}],["register(handler.getname(),handl",{"_index":910,"title":{},"name":{},"text":{"6":{}},"component":{}}],["registri",{"_index":2548,"title":{"48-3":{},"48-4":{},"58-3":{},"69-2":{},"72-5":{},"72-6":{}},"name":{},"text":{"43":{},"47":{},"48":{},"51":{},"52":{},"54":{},"56":{},"57":{},"58":{},"65":{},"69":{},"72":{}},"component":{}}],["registry.openshift",{"_index":3088,"title":{},"name":{},"text":{"58":{}},"component":{}}],["registry.svc:5000",{"_index":3089,"title":{},"name":{},"text":{"58":{}},"component":{}}],["registry.svc:5000/kogito",{"_index":3090,"title":{},"name":{},"text":{"58":{}},"component":{}}],["registry}/apis/registry/v2",{"_index":3247,"title":{},"name":{},"text":{"72":{}},"component":{}}],["regular",{"_index":656,"title":{"6-15":{}},"name":{},"text":{"6":{},"10":{},"31":{},"33":{}},"component":{}}],["rel",{"_index":305,"title":{},"name":{},"text":{"2":{},"31":{}},"component":{}}],["relat",{"_index":1013,"title":{},"name":{},"text":{"8":{},"12":{},"16":{},"17":{},"25":{},"27":{},"30":{},"31":{},"35":{},"36":{},"43":{},"46":{},"47":{},"57":{},"58":{},"64":{}},"component":{}}],["releas",{"_index":276,"title":{},"name":{},"text":{"2":{},"14":{},"18":{},"27":{},"35":{},"36":{},"43":{},"46":{},"70":{},"72":{}},"component":{}}],["release_not",{"_index":171,"title":{},"name":{"2":{}},"text":{},"component":{}}],["relev",{"_index":839,"title":{},"name":{},"text":{"6":{},"13":{},"34":{}},"component":{}}],["reli",{"_index":825,"title":{},"name":{},"text":{"6":{},"27":{},"30":{}},"component":{}}],["reload",{"_index":3226,"title":{},"name":{},"text":{"71":{},"72":{}},"component":{}}],["remain",{"_index":2211,"title":{},"name":{},"text":{"34":{},"47":{},"53":{}},"component":{}}],["rememb",{"_index":2186,"title":{},"name":{},"text":{"33":{},"34":{},"59":{}},"component":{}}],["remot",{"_index":880,"title":{"72-5":{}},"name":{},"text":{"6":{},"31":{},"34":{},"35":{},"54":{},"57":{},"66":{},"72":{}},"component":{}}],["remotecatalog",{"_index":2115,"title":{},"name":{},"text":{"32":{}},"component":{}}],["remotecatalog#operation1",{"_index":2117,"title":{},"name":{},"text":{"32":{}},"component":{}}],["remotecatalog#operation2",{"_index":2119,"title":{},"name":{},"text":{"32":{}},"component":{}}],["remov",{"_index":407,"title":{"50-4":{}},"name":{},"text":{"2":{},"15":{},"24":{},"27":{},"28":{},"36":{},"50":{},"51":{},"58":{}},"component":{}}],["renam",{"_index":285,"title":{},"name":{},"text":{"2":{},"68":{}},"component":{}}],["replac",{"_index":1690,"title":{},"name":{},"text":{"22":{},"23":{},"24":{},"30":{},"42":{},"49":{},"50":{},"51":{}},"component":{}}],["replace($match($l[1",{"_index":1779,"title":{},"name":{},"text":{"25":{}},"component":{}}],["replic",{"_index":2465,"title":{},"name":{},"text":{"41":{}},"component":{}}],["repo",{"_index":435,"title":{},"name":{},"text":{"2":{},"66":{}},"component":{}}],["report",{"_index":440,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["repositori",{"_index":1140,"title":{},"name":{},"text":{"11":{},"16":{},"17":{},"19":{},"27":{},"31":{},"32":{},"34":{},"37":{},"43":{},"46":{},"50":{},"54":{},"66":{}},"component":{}}],["repres",{"_index":1273,"title":{},"name":{},"text":{"12":{},"34":{},"46":{}},"component":{}}],["represent",{"_index":1682,"title":{},"name":{},"text":{"22":{}},"component":{}}],["request",{"_index":137,"title":{"6-18":{},"35-2":{}},"name":{},"text":{"1":{},"6":{},"8":{},"9":{},"11":{},"12":{},"14":{},"17":{},"19":{},"23":{},"24":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"41":{},"46":{},"50":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{},"67":{},"70":{}},"component":{}}],["requestbodi",{"_index":2274,"title":{},"name":{},"text":{"35":{}},"component":{}}],["requestquot",{"_index":1279,"title":{},"name":{},"text":{"12":{}},"component":{}}],["requir",{"_index":51,"title":{},"name":{},"text":{"1":{},"2":{},"6":{},"9":{},"12":{},"13":{},"16":{},"19":{},"27":{},"30":{},"31":{},"33":{},"34":{},"35":{},"36":{},"40":{},"41":{},"42":{},"43":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"66":{},"67":{},"69":{},"72":{}},"component":{}}],["reserv",{"_index":680,"title":{},"name":{},"text":{"6":{},"46":{}},"component":{}}],["reset",{"_index":2457,"title":{},"name":{},"text":{"41":{},"63":{},"64":{}},"component":{}}],["resiz",{"_index":1794,"title":{},"name":{},"text":{"25":{}},"component":{}}],["resolut",{"_index":2981,"title":{},"name":{},"text":{"56":{}},"component":{}}],["resolv",{"_index":578,"title":{},"name":{},"text":{"5":{},"9":{},"31":{},"66":{}},"component":{}}],["resourc",{"_index":537,"title":{"6-21":{},"7-1":{},"8-9":{},"9-4":{},"10-3":{},"11-4":{},"12-6":{},"13-4":{},"14-2":{},"15-2":{},"16-2":{},"17-3":{},"18-12":{},"19-6":{},"22-5":{},"23-2":{},"25-4":{},"27-2":{},"30-7":{},"31-4":{},"32-9":{},"35-6":{},"36-8":{},"37-1":{},"40-3":{},"41-4":{},"42-4":{},"43-6":{},"46-4":{},"47-11":{},"48-7":{},"49-3":{},"50-11":{},"51-4":{},"53-4":{},"54-5":{},"59-6":{},"68-2":{},"71-2":{}},"name":{},"text":{"3":{},"7":{},"19":{},"31":{},"34":{},"40":{},"41":{},"42":{},"48":{},"50":{},"51":{},"53":{},"59":{}},"component":{}}],["resourceid\":\"03e6cf79",{"_index":2642,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourceid\":\"2114cc5b",{"_index":2666,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourceid\":\"505259d9",{"_index":2630,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourceid\":\"6ab362c6",{"_index":2661,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourceid\":\"d6e2d538",{"_index":2636,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourceid\":\"dc32abe6",{"_index":2624,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourcenam",{"_index":3102,"title":{},"name":{},"text":{"59":{}},"component":{}}],["respect",{"_index":1133,"title":{},"name":{},"text":{"10":{},"14":{},"19":{},"24":{},"34":{},"43":{},"47":{},"49":{},"69":{}},"component":{}}],["respond",{"_index":813,"title":{},"name":{},"text":{"6":{},"46":{},"50":{}},"component":{}}],["respons",{"_index":607,"title":{},"name":{},"text":{"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"17":{},"19":{},"22":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"41":{},"42":{},"46":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["responsedefinitionbuilder#withbodi",{"_index":2486,"title":{},"name":{},"text":{"42":{}},"component":{}}],["rest",{"_index":39,"title":{"37":{},"35-2":{},"47-10":{},"63-3":{}},"name":{},"text":{"1":{},"9":{},"10":{},"18":{},"19":{},"25":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"46":{},"47":{},"50":{},"52":{},"63":{},"72":{}},"component":{}}],["rest/v2/name/greec",{"_index":2488,"title":{},"name":{},"text":{"42":{}},"component":{}}],["restart",{"_index":1414,"title":{},"name":{},"text":{"14":{},"19":{},"36":{},"51":{}},"component":{}}],["restassur",{"_index":131,"title":{},"name":{"37":{}},"text":{"1":{}},"component":{}}],["restassured.enableloggingofrequestandresponseifvalidationfail",{"_index":2337,"title":{},"name":{},"text":{"37":{},"41":{}},"component":{}}],["restassured.enableloggingofrequestandresponseifvalidationfails();(3",{"_index":2404,"title":{},"name":{},"text":{"40":{}},"component":{}}],["restcountriesmockserv",{"_index":2501,"title":{},"name":{},"text":{"42":{}},"component":{}}],["resteasi",{"_index":1533,"title":{},"name":{},"text":{"19":{},"37":{}},"component":{}}],["restworkitemhandl",{"_index":231,"title":{},"name":{},"text":{"2":{}},"component":{}}],["result",{"_index":723,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"11":{},"16":{},"17":{},"22":{},"25":{},"31":{},"32":{},"37":{},"43":{},"46":{},"50":{},"54":{},"65":{}},"component":{}}],["result\":\"abc",{"_index":1185,"title":{},"name":{},"text":{"11":{}},"component":{}}],["result\":\"bc",{"_index":1194,"title":{},"name":{},"text":{"11":{}},"component":{}}],["resulteventref",{"_index":1509,"title":{},"name":{},"text":{"18":{}},"component":{}}],["result|=.+\\\"a",{"_index":1160,"title":{},"name":{},"text":{"11":{}},"component":{}}],["result|=.+\\\"b",{"_index":1162,"title":{},"name":{},"text":{"11":{}},"component":{}}],["result|=.+\\\"c",{"_index":1164,"title":{},"name":{},"text":{"11":{}},"component":{}}],["resum",{"_index":1143,"title":{},"name":{},"text":{"11":{},"13":{},"15":{},"16":{},"17":{},"27":{},"30":{},"33":{}},"component":{}}],["resumeev",{"_index":1447,"title":{},"name":{},"text":{"16":{}},"component":{}}],["retri",{"_index":1499,"title":{"18-7":{}},"name":{},"text":{"18":{},"40":{},"41":{}},"component":{}}],["retriev",{"_index":1809,"title":{},"name":{},"text":{"25":{},"31":{},"32":{},"48":{},"58":{}},"component":{}}],["return",{"_index":653,"title":{"6-5":{},"6-10":{}},"name":{},"text":{"6":{},"9":{},"10":{},"11":{},"16":{},"17":{},"19":{},"22":{},"25":{},"31":{},"32":{},"34":{},"35":{},"37":{},"42":{},"57":{},"58":{}},"component":{}}],["reus",{"_index":295,"title":{},"name":{},"text":{"2":{}},"component":{}}],["revers",{"_index":2605,"title":{},"name":{},"text":{"46":{}},"component":{}}],["review",{"_index":270,"title":{},"name":{},"text":{"2":{},"52":{}},"component":{}}],["revis",{"_index":2987,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["right",{"_index":1062,"title":{},"name":{},"text":{"9":{},"64":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["rightel",{"_index":1058,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["roadmap",{"_index":523,"title":{"52":{},"52-3":{}},"name":{},"text":{"3":{},"48":{},"49":{},"50":{},"51":{},"53":{}},"component":{}}],["role",{"_index":828,"title":{},"name":{},"text":{"6":{},"14":{},"46":{},"69":{}},"component":{}}],["roll",{"_index":2902,"title":{},"name":{},"text":{"53":{}},"component":{}}],["rollout",{"_index":2895,"title":{},"name":{},"text":{"53":{}},"component":{}}],["root",{"_index":777,"title":{},"name":{},"text":{"6":{},"12":{},"31":{}},"component":{}}],["rout",{"_index":153,"title":{"22":{},"22-2":{}},"name":{"22":{}},"text":{"1":{},"6":{},"19":{},"22":{},"37":{},"52":{},"56":{},"57":{},"58":{}},"component":{}}],["router",{"_index":3062,"title":{},"name":{},"text":{"57":{}},"component":{}}],["routes.v1.route.openshift.io",{"_index":3117,"title":{},"name":{},"text":{"59":{}},"component":{}}],["row",{"_index":1790,"title":{},"name":{},"text":{"25":{}},"component":{}}],["rpc",{"_index":853,"title":{},"name":{},"text":{"6":{},"18":{},"33":{},"34":{}},"component":{}}],["rpc:divis",{"_index":866,"title":{},"name":{},"text":{"6":{}},"component":{}}],["rpccustomtypehandl",{"_index":871,"title":{},"name":{},"text":{"6":{}},"component":{}}],["rpccustomworkitemhandl",{"_index":882,"title":{},"name":{},"text":{"6":{}},"component":{}}],["rpccustomworkitemhandlerconfig",{"_index":905,"title":{},"name":{},"text":{"6":{}},"component":{}}],["rule",{"_index":1351,"title":{},"name":{},"text":{"14":{},"18":{},"30":{},"31":{},"32":{},"35":{}},"component":{}}],["rulebas",{"_index":281,"title":{},"name":{},"text":{"2":{}},"component":{}}],["ruleunit",{"_index":430,"title":{},"name":{},"text":{"2":{}},"component":{}}],["run",{"_index":59,"title":{"27":{},"11-2":{},"11-3":{},"19-4":{},"31-3":{},"32-5":{},"32-6":{},"32-7":{},"34-2":{},"46-3":{},"47-4":{},"48-6":{},"50-3":{}},"name":{},"text":{"1":{},"6":{},"8":{},"11":{},"14":{},"19":{},"20":{},"23":{},"24":{},"25":{},"27":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"65":{},"67":{},"72":{}},"component":{}}],["run.jar",{"_index":2057,"title":{},"name":{},"text":{"31":{},"32":{},"59":{}},"component":{}}],["runtim",{"_index":156,"title":{"8-7":{}},"name":{"4":{},"25":{},"38":{}},"text":{"1":{},"2":{},"5":{},"6":{},"10":{},"19":{},"22":{},"27":{},"35":{},"36":{},"43":{},"49":{},"61":{}},"component":{}}],["runtimeexcept",{"_index":1131,"title":{},"name":{},"text":{"10":{}},"component":{}}],["s",{"_index":2350,"title":{},"name":{},"text":{"37":{},"50":{}},"component":{}}],["s2i",{"_index":2907,"title":{},"name":{},"text":{"54":{}},"component":{}}],["safe",{"_index":2835,"title":{},"name":{},"text":{"51":{}},"component":{}}],["safeti",{"_index":1880,"title":{},"name":{},"text":{"28":{}},"component":{}}],["saga",{"_index":149,"title":{"46":{},"46-1":{},"46-2":{},"46-3":{}},"name":{"46":{}},"text":{"1":{},"18":{},"46":{}},"component":{}}],["saludo",{"_index":1038,"title":{},"name":{},"text":{"9":{},"50":{}},"component":{}}],["same",{"_index":57,"title":{},"name":{},"text":{"1":{},"6":{},"9":{},"10":{},"12":{},"13":{},"14":{},"15":{},"18":{},"22":{},"24":{},"27":{},"30":{},"32":{},"34":{},"35":{},"36":{},"41":{},"47":{},"51":{},"59":{},"69":{}},"component":{}}],["sampl",{"_index":1742,"title":{},"name":{},"text":{"24":{},"68":{}},"component":{}}],["sandbox",{"_index":3199,"title":{},"name":{},"text":{"67":{}},"component":{}}],["sanit",{"_index":1897,"title":{},"name":{},"text":{"30":{},"35":{}},"component":{}}],["save",{"_index":1045,"title":{},"name":{},"text":{"9":{},"23":{},"43":{},"50":{},"68":{},"69":{},"71":{},"72":{}},"component":{}}],["sayhello",{"_index":2199,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sayhelloalllanguag",{"_index":2200,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sayhelloapikey",{"_index":1919,"title":{},"name":{},"text":{"30":{}},"component":{}}],["sayhellobas",{"_index":1906,"title":{},"name":{},"text":{"30":{}},"component":{}}],["sayhellobear",{"_index":1915,"title":{},"name":{},"text":{"30":{}},"component":{}}],["sayhellomultiplelanguag",{"_index":2204,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sayhellomultiplelanguagesatonc",{"_index":2201,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sayhellooauth2",{"_index":1925,"title":{},"name":{},"text":{"30":{}},"component":{}}],["sb",{"_index":1286,"title":{},"name":{},"text":{"12":{},"47":{}},"component":{}}],["scaffold",{"_index":2539,"title":{},"name":{},"text":{"43":{}},"component":{}}],["scale",{"_index":2303,"title":{},"name":{},"text":{"36":{}},"component":{}}],["scan",{"_index":3096,"title":{},"name":{},"text":{"59":{}},"component":{}}],["scenario",{"_index":259,"title":{"50-7":{}},"name":{},"text":{"2":{},"12":{},"15":{},"18":{},"34":{},"40":{},"46":{},"50":{},"53":{}},"component":{}}],["schedul",{"_index":2300,"title":{},"name":{},"text":{"36":{},"46":{}},"component":{}}],["schema",{"_index":89,"title":{"7":{}},"name":{"7":{}},"text":{"1":{},"2":{},"7":{},"27":{},"28":{},"30":{},"31":{},"33":{},"35":{},"36":{},"63":{},"71":{},"72":{}},"component":{}}],["schema.json",{"_index":1979,"title":{},"name":{},"text":{"31":{}},"component":{}}],["scheme",{"_index":1728,"title":{},"name":{},"text":{"24":{},"30":{},"31":{},"34":{},"35":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["scope",{"_index":929,"title":{},"name":{},"text":{"8":{},"30":{},"31":{}},"component":{}}],["score",{"_index":1244,"title":{},"name":{},"text":{"12":{}},"component":{}}],["scrap_interv",{"_index":1740,"title":{},"name":{},"text":{"24":{}},"component":{}}],["scrape_interv",{"_index":1735,"title":{},"name":{},"text":{"24":{}},"component":{}}],["scratch",{"_index":3211,"title":{},"name":{},"text":{"68":{}},"component":{}}],["screen",{"_index":176,"title":{},"name":{},"text":{"2":{},"63":{},"64":{},"66":{},"69":{},"70":{}},"component":{}}],["script",{"_index":207,"title":{"28-4":{}},"name":{},"text":{"2":{},"28":{},"36":{},"43":{}},"component":{}}],["search",{"_index":1308,"title":{},"name":{},"text":{"13":{},"59":{},"63":{},"72":{}},"component":{}}],["sec",{"_index":2577,"title":{},"name":{},"text":{"46":{}},"component":{}}],["second",{"_index":610,"title":{},"name":{},"text":{"5":{},"6":{},"24":{},"40":{},"41":{},"47":{},"50":{}},"component":{}}],["secret",{"_index":1501,"title":{"18-11":{},"48-3":{},"48-4":{}},"name":{},"text":{"18":{},"30":{},"31":{},"48":{},"56":{},"69":{}},"component":{}}],["secret.method=bas",{"_index":1947,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["secret.value=secret",{"_index":1948,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["secret/timeout",{"_index":2697,"title":{},"name":{},"text":{"47":{}},"component":{}}],["section",{"_index":732,"title":{},"name":{},"text":{"6":{},"7":{},"8":{},"12":{},"13":{},"14":{},"18":{},"22":{},"23":{},"25":{},"31":{},"35":{},"36":{},"40":{},"41":{},"42":{},"43":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"63":{},"68":{},"72":{}},"component":{}}],["secur",{"_index":7,"title":{"1-6":{}},"name":{},"text":{"19":{},"30":{},"31":{},"43":{},"67":{}},"component":{}}],["security_example_json",{"_index":1898,"title":{},"name":{},"text":{"30":{}},"component":{}}],["security_scheme_nam",{"_index":1899,"title":{},"name":{},"text":{"30":{}},"component":{}}],["securityschem",{"_index":1889,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["sed",{"_index":2745,"title":{},"name":{},"text":{"48":{}},"component":{}}],["see",{"_index":735,"title":{},"name":{},"text":{"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["select",{"_index":1030,"title":{},"name":{},"text":{"9":{},"13":{},"24":{},"31":{},"42":{},"46":{},"56":{},"57":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["selector",{"_index":1729,"title":{},"name":{},"text":{"24":{},"59":{}},"component":{}}],["self",{"_index":3202,"title":{},"name":{},"text":{"67":{}},"component":{}}],["semant",{"_index":2221,"title":{},"name":{},"text":{"34":{}},"component":{}}],["semicolon",{"_index":3120,"title":{},"name":{},"text":{"59":{}},"component":{}}],["send",{"_index":198,"title":{"6-15":{},"6-16":{},"12-3":{},"23-1":{},"35-2":{},"64-2":{}},"name":{},"text":{"2":{},"6":{},"11":{},"12":{},"17":{},"19":{},"24":{},"31":{},"32":{},"33":{},"34":{},"35":{},"41":{},"46":{},"48":{},"51":{},"56":{},"57":{},"58":{},"64":{},"65":{}},"component":{}}],["sendev",{"_index":2189,"title":{},"name":{},"text":{"33":{}},"component":{}}],["sendresum",{"_index":2187,"title":{},"name":{},"text":{"33":{}},"component":{}}],["sendtolog",{"_index":1699,"title":{},"name":{},"text":{"22":{}},"component":{}}],["sensit",{"_index":1111,"title":{},"name":{},"text":{"10":{}},"component":{}}],["sent",{"_index":1709,"title":{},"name":{},"text":{"23":{},"36":{},"41":{},"64":{}},"component":{}}],["separ",{"_index":282,"title":{},"name":{},"text":{"2":{},"10":{},"15":{},"31":{},"32":{},"34":{},"43":{},"57":{}},"component":{}}],["sequenc",{"_index":1089,"title":{},"name":{},"text":{"10":{},"46":{}},"component":{}}],["sequenti",{"_index":2136,"title":{},"name":{},"text":{"32":{},"35":{}},"component":{}}],["seri",{"_index":1150,"title":{},"name":{},"text":{"11":{},"51":{}},"component":{}}],["serial",{"_index":754,"title":{},"name":{},"text":{"6":{},"11":{},"22":{}},"component":{}}],["serv",{"_index":551,"title":{},"name":{},"text":{"5":{},"6":{},"12":{},"19":{},"23":{},"27":{},"56":{},"57":{},"58":{}},"component":{}}],["server",{"_index":612,"title":{"34-4":{},"42-2":{},"42-3":{}},"name":{},"text":{"5":{},"6":{},"24":{},"30":{},"31":{},"33":{},"34":{},"41":{},"42":{},"48":{},"51":{},"67":{}},"component":{}}],["serverless",{"_index":17,"title":{"1":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"16":{},"17":{},"18":{},"20":{},"23":{},"30":{},"31":{},"40":{},"43":{},"46":{},"47":{},"51":{},"52":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{},"18-4":{},"22-1":{},"22-2":{},"24-1":{},"24-2":{},"24-5":{},"31-2":{},"43-1":{},"48-4":{},"51-2":{},"59-3":{},"62-1":{},"65-1":{},"66-1":{},"67-2":{},"68-1":{},"70-1":{},"70-2":{},"71-1":{},"72-1":{},"72-2":{},"72-3":{},"72-4":{}},"name":{"18":{},"25":{},"51":{},"65":{},"66":{},"67":{},"68":{},"69":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["serverless/serverless",{"_index":3085,"title":{},"name":{},"text":{"58":{}},"component":{}}],["serverlessworkflow",{"_index":164,"title":{},"name":{},"text":{},"component":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"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":{}}}],["servic",{"_index":4,"title":{"6":{},"19":{},"23":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"42":{},"49":{},"50":{},"53":{},"59":{},"69":{},"1-4":{},"1-11":{},"30-1":{},"32-3":{},"32-4":{},"32-5":{},"32-8":{},"35-5":{},"36-1":{},"36-2":{},"36-5":{},"36-6":{},"42-1":{},"47-6":{},"50-2":{},"50-5":{},"59-1":{},"59-2":{},"59-3":{},"59-4":{},"59-5":{},"67-1":{},"69-1":{},"69-2":{},"72-5":{},"72-6":{}},"name":{"19":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"42":{},"59":{},"69":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["service(",{"_index":2271,"title":{},"name":{},"text":{"35":{}},"component":{}}],["service.default.10.109.169.193.sslip.io",{"_index":767,"title":{},"name":{},"text":{"6":{},"23":{}},"component":{}}],["service.default.10.109.169.193.sslip.io/plainjsonfunct",{"_index":775,"title":{},"name":{},"text":{"6":{}},"component":{}}],["service.serving.knative.dev/timeout",{"_index":2709,"title":{},"name":{},"text":{"47":{}},"component":{}}],["service.yml",{"_index":2017,"title":{},"name":{},"text":{"31":{}},"component":{}}],["service.yml#exchanger",{"_index":1984,"title":{},"name":{},"text":{"31":{}},"component":{}}],["service/exchang",{"_index":2021,"title":{},"name":{},"text":{"31":{}},"component":{}}],["service/job",{"_index":2702,"title":{},"name":{},"text":{"47":{}},"component":{}}],["service/timeout",{"_index":2699,"title":{},"name":{},"text":{"47":{}},"component":{}}],["service:java:com.acme.myinterfaceorclass::mymethod",{"_index":679,"title":{},"name":{},"text":{"6":{}},"component":{}}],["service:java:org.kie.kogito.examples.evenservice::iseven",{"_index":1129,"title":{},"name":{},"text":{"10":{}},"component":{}}],["service:org.kie.kogito.examples.exchangeworkflowhelper::validateinput",{"_index":1981,"title":{},"name":{},"text":{"31":{}},"component":{}}],["service?path=/funct",{"_index":1707,"title":{},"name":{},"text":{"23":{}},"component":{}}],["service?path=/plainjsonfunct",{"_index":773,"title":{},"name":{},"text":{"6":{}},"component":{}}],["service?path=/plainjsonfunction&ascloudevent=tru",{"_index":791,"title":{},"name":{},"text":{"6":{}},"component":{}}],["service_api",{"_index":2111,"title":{},"name":{},"text":{"32":{}},"component":{}}],["service_api.url=http://localhost:8282",{"_index":2110,"title":{},"name":{},"text":{"32":{}},"component":{}}],["service_error",{"_index":1988,"title":{},"name":{},"text":{"31":{}},"component":{}}],["servicemonitor",{"_index":1724,"title":{},"name":{},"text":{"24":{}},"component":{}}],["services.app",{"_index":3200,"title":{},"name":{},"text":{"67":{}},"component":{}}],["services.serving.knative.dev",{"_index":3000,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["services.v1",{"_index":3111,"title":{},"name":{},"text":{"59":{}},"component":{}}],["services.v1.serving.knative.dev",{"_index":3112,"title":{},"name":{},"text":{"59":{}},"component":{}}],["serving.knative.dev/v1",{"_index":1290,"title":{},"name":{},"text":{"12":{},"56":{},"57":{},"58":{}},"component":{}}],["serving.request",{"_index":815,"title":{},"name":{},"text":{"6":{}},"component":{}}],["session",{"_index":283,"title":{},"name":{},"text":{"2":{}},"component":{}}],["set",{"_index":333,"title":{"63-5":{},"66-1":{},"67-1":{},"72-4":{}},"name":{},"text":{"2":{},"5":{},"6":{},"8":{},"10":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"20":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"40":{},"42":{},"43":{},"48":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"69":{},"70":{},"72":{}},"component":{}}],["setbodi",{"_index":1685,"title":{},"name":{},"text":{"22":{}},"component":{}}],["setconst",{"_index":1063,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["setter",{"_index":2016,"title":{},"name":{},"text":{"31":{}},"component":{}}],["setting.json",{"_index":3236,"title":{},"name":{},"text":{"72":{}},"component":{}}],["settings.json",{"_index":3238,"title":{},"name":{},"text":{"72":{}},"component":{}}],["setup",{"_index":308,"title":{},"name":{},"text":{"2":{},"6":{},"14":{},"16":{},"27":{},"28":{},"43":{},"63":{},"67":{},"72":{}},"component":{}}],["setup.j",{"_index":1768,"title":{},"name":{},"text":{"25":{}},"component":{}}],["sever",{"_index":1050,"title":{},"name":{},"text":{"9":{},"13":{},"43":{}},"component":{}}],["share",{"_index":640,"title":{},"name":{},"text":{"5":{},"9":{},"27":{},"34":{},"66":{}},"component":{}}],["shell",{"_index":2537,"title":{},"name":{},"text":{"43":{}},"component":{}}],["ship",{"_index":2460,"title":{},"name":{},"text":{"41":{},"46":{}},"component":{}}],["shippingrespons",{"_index":2635,"title":{},"name":{},"text":{"46":{}},"component":{}}],["shippingservic",{"_index":2653,"title":{},"name":{},"text":{"46":{}},"component":{}}],["short",{"_index":1096,"title":{},"name":{},"text":{"10":{},"69":{}},"component":{}}],["shortli",{"_index":3176,"title":{},"name":{},"text":{"65":{}},"component":{}}],["shouldn’t",{"_index":322,"title":{},"name":{},"text":{"2":{}},"component":{}}],["show",{"_index":288,"title":{},"name":{},"text":{"2":{},"6":{},"11":{},"12":{},"14":{},"16":{},"17":{},"18":{},"25":{},"30":{},"31":{},"36":{},"41":{},"46":{},"47":{},"63":{},"65":{}},"component":{}}],["showcas",{"_index":925,"title":{"8-8":{},"47-7":{},"47-9":{}},"name":{"47":{}},"text":{"36":{},"47":{}},"component":{}}],["showcase.default.10.105.86.217.sslip.io",{"_index":2717,"title":{},"name":{},"text":{"47":{}},"component":{}}],["showcase.default.10.105.86.217.sslip.io/callback_state_timeout",{"_index":2721,"title":{},"name":{},"text":{"47":{}},"component":{}}],["showcase.default.10.105.86.217.sslip.io/event_state_timeout",{"_index":2722,"title":{},"name":{},"text":{"47":{}},"component":{}}],["showcase.default.10.105.86.217.sslip.io/switch_state_timeout",{"_index":2723,"title":{},"name":{},"text":{"47":{}},"component":{}}],["shown",{"_index":341,"title":{},"name":{},"text":{"2":{},"6":{},"11":{},"12":{},"15":{},"17":{},"18":{},"24":{},"25":{},"30":{},"31":{},"32":{},"35":{},"36":{},"40":{},"41":{},"42":{},"43":{},"46":{},"59":{},"66":{},"67":{},"69":{},"72":{}},"component":{}}],["shut",{"_index":2314,"title":{},"name":{},"text":{"36":{}},"component":{}}],["shutdown",{"_index":2301,"title":{},"name":{},"text":{"36":{}},"component":{}}],["side",{"_index":1445,"title":{"34-4":{},"34-5":{}},"name":{},"text":{"16":{},"25":{},"34":{},"68":{},"72":{}},"component":{}}],["sign",{"_index":3185,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["signal",{"_index":2453,"title":{},"name":{},"text":{"41":{},"52":{}},"component":{}}],["signatur",{"_index":687,"title":{},"name":{},"text":{"6":{}},"component":{}}],["signific",{"_index":1349,"title":{},"name":{},"text":{"14":{}},"component":{}}],["silent",{"_index":1421,"title":{},"name":{},"text":{"15":{}},"component":{}}],["silentev",{"_index":1424,"title":{},"name":{},"text":{"15":{}},"component":{}}],["similar",{"_index":1065,"title":{},"name":{},"text":{"9":{},"15":{},"24":{},"30":{},"31":{},"35":{},"37":{},"47":{},"50":{},"59":{}},"component":{}}],["simpl",{"_index":855,"title":{"34-3":{}},"name":{},"text":{"6":{},"17":{},"22":{},"30":{},"34":{},"47":{}},"component":{}}],["simpli",{"_index":1697,"title":{},"name":{},"text":{"22":{},"47":{},"48":{}},"component":{}}],["simplic",{"_index":2693,"title":{},"name":{},"text":{"47":{}},"component":{}}],["simplifi",{"_index":753,"title":{},"name":{},"text":{"6":{},"59":{}},"component":{}}],["simul",{"_index":1442,"title":{},"name":{},"text":{"16":{},"18":{},"32":{}},"component":{}}],["simultan",{"_index":1141,"title":{},"name":{},"text":{"11":{},"41":{}},"component":{}}],["singl",{"_index":245,"title":{},"name":{},"text":{"2":{},"15":{},"18":{},"34":{},"35":{},"36":{},"46":{},"47":{},"65":{},"68":{}},"component":{}}],["sink",{"_index":139,"title":{"41":{},"12-2":{}},"name":{},"text":{"1":{},"12":{},"37":{},"41":{},"52":{}},"component":{}}],["sink.start",{"_index":2426,"title":{},"name":{},"text":{"41":{}},"component":{}}],["sink.stop",{"_index":2430,"title":{},"name":{},"text":{"41":{}},"component":{}}],["sink.stubfor(post(\"/\").willreturn(aresponse().withbody(\"ok\").withstatus(200",{"_index":2427,"title":{},"name":{},"text":{"41":{}},"component":{}}],["sink.verify(1",{"_index":2449,"title":{},"name":{},"text":{"41":{}},"component":{}}],["sink.verify(2",{"_index":2447,"title":{},"name":{},"text":{"41":{}},"component":{}}],["sinkbind",{"_index":1209,"title":{"41-2":{}},"name":{},"text":{"12":{},"41":{}},"component":{}}],["sinkbinding.sources.knative.dev/job",{"_index":2705,"title":{},"name":{},"text":{"47":{}},"component":{}}],["sinkbinding.sources.knative.dev/sb",{"_index":2713,"title":{},"name":{},"text":{"47":{}},"component":{}}],["situat",{"_index":699,"title":{},"name":{},"text":{"6":{},"8":{},"46":{}},"component":{}}],["size",{"_index":622,"title":{},"name":{},"text":{"5":{},"13":{},"54":{}},"component":{}}],["size=100",{"_index":1343,"title":{},"name":{},"text":{"13":{}},"component":{}}],["skip",{"_index":1047,"title":{},"name":{},"text":{"9":{},"37":{},"47":{},"51":{},"54":{},"58":{},"69":{}},"component":{}}],["sleep",{"_index":1502,"title":{},"name":{},"text":{"18":{}},"component":{}}],["slider",{"_index":3162,"title":{},"name":{},"text":{"64":{}},"component":{}}],["small",{"_index":2931,"title":{},"name":{},"text":{"54":{}},"component":{}}],["smallry",{"_index":1213,"title":{"13-1":{},"13-2":{}},"name":{},"text":{"12":{},"13":{},"19":{},"33":{},"37":{},"43":{}},"component":{}}],["smart",{"_index":480,"title":{},"name":{},"text":{"2":{}},"component":{}}],["snapshot",{"_index":1536,"title":{},"name":{},"text":{"19":{},"24":{},"27":{},"32":{},"51":{},"56":{},"57":{},"58":{}},"component":{}}],["snippet",{"_index":956,"title":{},"name":{},"text":{"8":{},"34":{}},"component":{}}],["solut",{"_index":1973,"title":{},"name":{},"text":{"31":{}},"component":{}}],["somehow",{"_index":2816,"title":{},"name":{},"text":{"50":{}},"component":{}}],["someon",{"_index":3187,"title":{},"name":{},"text":{"66":{}},"component":{}}],["someth",{"_index":2813,"title":{},"name":{},"text":{"50":{},"53":{}},"component":{}}],["sometim",{"_index":1207,"title":{},"name":{},"text":{"12":{},"50":{}},"component":{}}],["sonar",{"_index":439,"title":{},"name":{},"text":{"2":{}},"component":{}}],["soon",{"_index":2903,"title":{},"name":{},"text":{"53":{}},"component":{}}],["sort",{"_index":1797,"title":{},"name":{},"text":{"25":{},"64":{}},"component":{}}],["sortord",{"_index":1798,"title":{},"name":{},"text":{"25":{}},"component":{}}],["sourc",{"_index":796,"title":{"12-1":{}},"name":{},"text":{"6":{},"12":{},"14":{},"15":{},"16":{},"17":{},"25":{},"27":{},"31":{},"34":{},"40":{},"41":{},"42":{},"47":{},"52":{},"62":{},"63":{},"64":{},"70":{}},"component":{}}],["sources.knative.dev/v1",{"_index":1285,"title":{},"name":{},"text":{"12":{}},"component":{}}],["span",{"_index":1791,"title":{},"name":{},"text":{"25":{}},"component":{}}],["spanish",{"_index":1033,"title":{},"name":{},"text":{"9":{},"34":{},"50":{}},"component":{}}],["spec",{"_index":1288,"title":{},"name":{},"text":{"12":{},"24":{},"48":{},"50":{},"56":{},"57":{},"58":{},"65":{},"72":{}},"component":{}}],["spec.host",{"_index":3076,"title":{},"name":{},"text":{"58":{}},"component":{}}],["spec.platform.registri",{"_index":332,"title":{},"name":{},"text":{"2":{}},"component":{}}],["spec.platform.registry.secret",{"_index":2743,"title":{},"name":{},"text":{"48":{}},"component":{}}],["spec_titl",{"_index":598,"title":{},"name":{},"text":{"5":{},"32":{}},"component":{}}],["special",{"_index":1681,"title":{},"name":{},"text":{"22":{}},"component":{}}],["specif",{"_index":71,"title":{"18":{},"35-2":{},"42-3":{},"52-4":{}},"name":{"18":{}},"text":{"1":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"14":{},"17":{},"18":{},"19":{},"20":{},"24":{},"25":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"41":{},"42":{},"43":{},"46":{},"48":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"63":{},"65":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["specifi",{"_index":776,"title":{},"name":{},"text":{"6":{},"7":{},"8":{},"9":{},"10":{},"13":{},"17":{},"18":{},"27":{},"28":{},"31":{},"37":{},"40":{},"41":{},"43":{},"48":{},"54":{},"72":{}},"component":{}}],["specs/acm",{"_index":1983,"title":{},"name":{},"text":{"31":{}},"component":{}}],["specs/multiplication.yaml#dooper",{"_index":2277,"title":{},"name":{},"text":{"35":{}},"component":{}}],["specs/subtraction.yaml#dooper",{"_index":1056,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["specvers",{"_index":793,"title":{},"name":{},"text":{"6":{},"11":{},"12":{},"14":{},"19":{},"32":{},"41":{}},"component":{}}],["specversion\":\"1.0\",\"id\":\"41495513",{"_index":1235,"title":{},"name":{},"text":{"12":{}},"component":{}}],["speed",{"_index":2843,"title":{},"name":{},"text":{"51":{},"54":{}},"component":{}}],["split",{"_index":448,"title":{},"name":{},"text":{"2":{}},"component":{}}],["spring",{"_index":2262,"title":{},"name":{},"text":{"35":{}},"component":{}}],["springboot",{"_index":381,"title":{},"name":{},"text":{"2":{}},"component":{}}],["sql",{"_index":1863,"title":{},"name":{},"text":{"28":{}},"component":{}}],["squarest",{"_index":1079,"title":{},"name":{},"text":{"9":{}},"component":{}}],["sr2j2",{"_index":2850,"title":{},"name":{},"text":{"51":{}},"component":{}}],["src/main/resourc",{"_index":1154,"title":{},"name":{},"text":{"11":{},"19":{},"32":{},"34":{},"35":{},"43":{},"65":{},"66":{}},"component":{}}],["src/main/resources/application.properti",{"_index":553,"title":{},"name":{},"text":{"5":{}},"component":{}}],["src/main/resources/dashboard",{"_index":3133,"title":{},"name":{},"text":{"61":{}},"component":{}}],["src/main/resources/myopenapifile.yaml",{"_index":2258,"title":{},"name":{},"text":{"35":{}},"component":{}}],["src/main/resources/openapi/stock",{"_index":2097,"title":{},"name":{},"text":{"32":{}},"component":{}}],["src/main/resources/rout",{"_index":1680,"title":{},"name":{},"text":{"22":{}},"component":{}}],["src/main/resources/spec",{"_index":2018,"title":{},"name":{},"text":{"31":{},"35":{}},"component":{}}],["src/test/java/org/kie/kogito/exampl",{"_index":2327,"title":{},"name":{},"text":{"37":{}},"component":{}}],["ssl",{"_index":230,"title":{},"name":{},"text":{"2":{}},"component":{}}],["sso",{"_index":3249,"title":{},"name":{},"text":{"72":{}},"component":{}}],["stage",{"_index":1084,"title":{},"name":{},"text":{"9":{},"51":{},"53":{}},"component":{}}],["standard",{"_index":936,"title":{},"name":{},"text":{"8":{},"30":{},"41":{}},"component":{}}],["start",{"_index":1,"title":{"1-1":{},"42-2":{},"42-3":{},"63-2":{},"63-3":{},"63-6":{},"63-7":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"24":{},"25":{},"28":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"46":{},"50":{},"51":{},"53":{},"54":{},"57":{},"59":{},"62":{},"63":{},"64":{},"65":{},"68":{}},"component":{}}],["start\":\"waitforev",{"_index":1429,"title":{},"name":{},"text":{"15":{}},"component":{}}],["start=tru",{"_index":1836,"title":{},"name":{},"text":{"27":{},"28":{}},"component":{}}],["startkeycloak.sh",{"_index":2052,"title":{},"name":{},"text":{"31":{}},"component":{}}],["startsink",{"_index":2424,"title":{},"name":{},"text":{"41":{}},"component":{}}],["startup",{"_index":1615,"title":{},"name":{},"text":{"19":{},"27":{},"36":{},"54":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["startwiremockserverforfeaturea",{"_index":2517,"title":{},"name":{},"text":{"42":{}},"component":{}}],["startwiremockserverforfeatureb",{"_index":2518,"title":{},"name":{},"text":{"42":{}},"component":{}}],["state",{"_index":117,"title":{"15":{},"16":{},"8-3":{},"8-4":{},"8-5":{},"16-1":{},"18-1":{},"35-4":{}},"name":{},"text":{"1":{},"2":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"41":{},"46":{},"47":{},"50":{},"52":{},"53":{},"64":{},"65":{}},"component":{}}],["state[ev",{"_index":1506,"title":{},"name":{},"text":{"18":{}},"component":{}}],["statedatafilt",{"_index":1083,"title":{},"name":{},"text":{"9":{},"34":{}},"component":{}}],["statefulsets.v1.app",{"_index":3116,"title":{},"name":{},"text":{"59":{}},"component":{}}],["static",{"_index":759,"title":{},"name":{},"text":{"6":{},"19":{},"31":{},"37":{},"40":{},"41":{},"42":{},"59":{}},"component":{}}],["static_config",{"_index":1738,"title":{},"name":{},"text":{"24":{}},"component":{}}],["static_init",{"_index":3128,"title":{},"name":{},"text":{"59":{}},"component":{}}],["staticappl",{"_index":369,"title":{},"name":{},"text":{"2":{}},"component":{}}],["statu",{"_index":272,"title":{"53":{},"53-1":{},"65-2":{}},"name":{"53":{}},"text":{"2":{},"3":{},"10":{},"18":{},"31":{},"36":{},"37":{},"42":{},"50":{},"51":{},"53":{},"57":{},"64":{},"65":{}},"component":{}}],["statuscode(200",{"_index":2445,"title":{},"name":{},"text":{"41":{}},"component":{}}],["statuscode(201",{"_index":2343,"title":{},"name":{},"text":{"37":{},"40":{}},"component":{}}],["statuscode(404",{"_index":2414,"title":{},"name":{},"text":{"40":{}},"component":{}}],["stay",{"_index":2312,"title":{},"name":{},"text":{"36":{}},"component":{}}],["stdout",{"_index":1596,"title":{},"name":{},"text":{"19":{}},"component":{}}],["step",{"_index":1684,"title":{},"name":{},"text":{"22":{},"23":{},"25":{},"43":{},"46":{},"47":{},"48":{},"53":{},"54":{},"56":{},"57":{},"58":{},"69":{}},"component":{}}],["still",{"_index":431,"title":{},"name":{},"text":{"2":{},"56":{},"57":{},"58":{}},"component":{}}],["stock",{"_index":2106,"title":{},"name":{},"text":{"32":{},"46":{}},"component":{}}],["stock_portfolio_svc_yaml",{"_index":2096,"title":{},"name":{},"text":{"32":{}},"component":{}}],["stockprofit",{"_index":2128,"title":{},"name":{},"text":{"32":{}},"component":{}}],["stockrespons",{"_index":2622,"title":{},"name":{},"text":{"46":{}},"component":{}}],["stop",{"_index":1556,"title":{},"name":{},"text":{"19":{},"31":{},"33":{},"37":{},"41":{},"42":{},"50":{}},"component":{}}],["stopsink",{"_index":2429,"title":{},"name":{},"text":{"41":{}},"component":{}}],["storag",{"_index":133,"title":{"61-3":{}},"name":{},"text":{"1":{},"61":{},"72":{}},"component":{}}],["store",{"_index":1085,"title":{},"name":{},"text":{"9":{},"13":{},"14":{},"27":{},"34":{},"35":{},"36":{},"47":{},"57":{},"58":{},"70":{},"72":{}},"component":{}}],["straight",{"_index":2606,"title":{},"name":{},"text":{"46":{}},"component":{}}],["straightforward",{"_index":2561,"title":{},"name":{},"text":{"43":{}},"component":{}}],["strategi",{"_index":577,"title":{"43-4":{}},"name":{},"text":{"5":{},"10":{},"13":{},"27":{},"32":{},"43":{}},"component":{}}],["strategy=buff",{"_index":1341,"title":{},"name":{},"text":{"13":{}},"component":{}}],["strategy=none|unbounded|fail|drop",{"_index":1347,"title":{},"name":{},"text":{"13":{}},"component":{}}],["strategy=project",{"_index":1841,"title":{},"name":{},"text":{"27":{}},"component":{}}],["stream",{"_index":225,"title":{"34-4":{},"34-5":{},"34-6":{}},"name":{},"text":{"2":{},"5":{},"19":{},"34":{}},"component":{}}],["string",{"_index":349,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"7":{},"9":{},"10":{},"11":{},"16":{},"22":{},"27":{},"30":{},"31":{},"34":{},"35":{},"40":{},"42":{},"59":{},"72":{}},"component":{}}],["structur",{"_index":186,"title":{},"name":{},"text":{"2":{},"6":{},"12":{},"28":{},"35":{},"50":{},"53":{},"65":{},"71":{},"72":{}},"component":{}}],["stub",{"_index":2454,"title":{},"name":{},"text":{"41":{},"42":{}},"component":{}}],["studio",{"_index":1527,"title":{},"name":{},"text":{"19":{},"20":{},"72":{}},"component":{}}],["stunner",{"_index":3159,"title":{},"name":{},"text":{"64":{}},"component":{}}],["sub",{"_index":964,"title":{},"name":{},"text":{"8":{}},"component":{}}],["subcommand",{"_index":2535,"title":{},"name":{},"text":{"43":{}},"component":{}}],["subdirectori",{"_index":289,"title":{},"name":{},"text":{"2":{}},"component":{}}],["subject",{"_index":798,"title":{},"name":{},"text":{"6":{},"12":{}},"component":{}}],["submit",{"_index":1710,"title":{},"name":{},"text":{"23":{}},"component":{}}],["subscrib",{"_index":1294,"title":{},"name":{},"text":{"12":{},"33":{}},"component":{}}],["subscript",{"_index":1291,"title":{},"name":{"45":{}},"text":{"12":{},"33":{}},"component":{}}],["substitut",{"_index":2293,"title":{},"name":{},"text":{"35":{}},"component":{}}],["subtract",{"_index":1055,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["subtraction.yaml",{"_index":2289,"title":{},"name":{},"text":{"35":{}},"component":{}}],["subtraction_url",{"_index":2295,"title":{},"name":{},"text":{"35":{}},"component":{}}],["subtraction_yaml",{"_index":2290,"title":{},"name":{},"text":{"35":{}},"component":{}}],["subtractvalu",{"_index":1059,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["succeed",{"_index":3083,"title":{},"name":{},"text":{"58":{}},"component":{}}],["success",{"_index":1110,"title":{},"name":{},"text":{"10":{},"31":{},"37":{},"46":{},"51":{},"63":{},"64":{},"65":{}},"component":{}}],["successfulli",{"_index":1446,"title":{},"name":{},"text":{"16":{},"17":{},"37":{},"41":{},"43":{},"53":{},"63":{},"64":{},"65":{},"70":{}},"component":{}}],["successthreshold",{"_index":3034,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["such",{"_index":918,"title":{},"name":{},"text":{"7":{},"9":{},"10":{},"14":{},"16":{},"18":{},"19":{},"24":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"40":{},"41":{},"43":{},"46":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"62":{},"64":{},"68":{},"72":{}},"component":{}}],["suffix",{"_index":374,"title":{},"name":{},"text":{"2":{},"22":{},"30":{},"49":{}},"component":{}}],["suggest",{"_index":1318,"title":{},"name":{},"text":{"13":{}},"component":{}}],["suitabl",{"_index":1317,"title":{},"name":{},"text":{"13":{},"16":{},"17":{},"42":{}},"component":{}}],["summari",{"_index":2181,"title":{},"name":{},"text":{"33":{},"35":{}},"component":{}}],["support",{"_index":13,"title":{"1-11":{},"50-8":{},"52-1":{},"52-2":{},"72-3":{}},"name":{"6":{},"8":{},"18":{},"30":{}},"text":{"1":{},"2":{},"5":{},"6":{},"8":{},"9":{},"13":{},"14":{},"18":{},"19":{},"22":{},"23":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"40":{},"43":{},"47":{},"52":{},"58":{},"59":{},"72":{}},"component":{}}],["support.adoc#send",{"_index":1718,"title":{},"name":{},"text":{"23":{}},"component":{}}],["suppos",{"_index":1965,"title":{},"name":{},"text":{"31":{},"36":{}},"component":{}}],["sure",{"_index":2828,"title":{},"name":{},"text":{"50":{},"56":{},"58":{},"64":{}},"component":{}}],["suspend",{"_index":1145,"title":{},"name":{},"text":{"11":{},"64":{}},"component":{}}],["svc",{"_index":2749,"title":{},"name":{},"text":{"48":{},"50":{}},"component":{}}],["svc.yaml",{"_index":2099,"title":{},"name":{},"text":{"32":{}},"component":{}}],["svc.yaml#getstockpric",{"_index":2132,"title":{},"name":{},"text":{"32":{}},"component":{}}],["svc.yaml#getstockprofit",{"_index":2134,"title":{},"name":{},"text":{"32":{}},"component":{}}],["svg",{"_index":3227,"title":{},"name":{},"text":{"71":{},"72":{}},"component":{}}],["sw",{"_index":378,"title":{},"name":{},"text":{"2":{},"14":{},"31":{}},"component":{}}],["sw.json",{"_index":3206,"title":{},"name":{},"text":{"68":{},"70":{}},"component":{}}],["sw.kogito.kie.org/descript",{"_index":2781,"title":{},"name":{},"text":{"50":{}},"component":{}}],["sw.kogito.kie.org/profil",{"_index":2784,"title":{},"name":{},"text":{"50":{}},"component":{}}],["sw.kogito.kie.org/v1alpha08",{"_index":2780,"title":{},"name":{},"text":{"50":{}},"component":{}}],["sw.kogito.kie.org/vers",{"_index":2782,"title":{},"name":{},"text":{"50":{}},"component":{}}],["sw.yaml",{"_index":3223,"title":{},"name":{},"text":{"70":{}},"component":{}}],["sw.yaml|yml",{"_index":3207,"title":{},"name":{},"text":{"68":{}},"component":{}}],["swagger",{"_index":403,"title":{},"name":{},"text":{"2":{},"19":{},"35":{},"50":{},"65":{}},"component":{}}],["swagger/openapi",{"_index":2266,"title":{},"name":{},"text":{"35":{}},"component":{}}],["swaggerui",{"_index":1538,"title":{},"name":{},"text":{"19":{}},"component":{}}],["swf",{"_index":173,"title":{},"name":{"70":{},"71":{},"72":{}},"text":{"2":{}},"component":{}}],["swf_metric",{"_index":1773,"title":{},"name":{},"text":{"25":{}},"component":{}}],["switch",{"_index":924,"title":{"8-4":{},"9-1":{},"47-2":{}},"name":{},"text":{"8":{},"9":{},"18":{},"31":{},"36":{},"47":{},"50":{},"52":{},"70":{}},"component":{}}],["symbol",{"_index":2137,"title":{},"name":{},"text":{"32":{}},"component":{}}],["sync",{"_index":37,"title":{},"name":{},"text":{"1":{},"66":{}},"component":{}}],["synchron",{"_index":3179,"title":{"66-2":{}},"name":{},"text":{"66":{},"68":{}},"component":{}}],["syntax",{"_index":2143,"title":{},"name":{},"text":{"32":{}},"component":{}}],["sysout",{"_index":346,"title":{"6-1":{}},"name":{},"text":{"2":{},"6":{},"18":{},"50":{},"52":{}},"component":{}}],["sysout:info",{"_index":666,"title":{},"name":{},"text":{"6":{}},"component":{}}],["system",{"_index":1088,"title":{},"name":{},"text":{"10":{},"19":{},"32":{},"34":{},"35":{},"36":{},"40":{},"41":{},"43":{},"46":{},"48":{},"51":{},"54":{},"56":{},"57":{},"58":{},"67":{}},"component":{}}],["system_username}/{project_artifactid}:{project_vers",{"_index":2914,"title":{},"name":{},"text":{"54":{}},"component":{}}],["systemout",{"_index":1004,"title":{},"name":{},"text":{"8":{}},"component":{}}],["s|address",{"_index":2746,"title":{},"name":{},"text":{"48":{}},"component":{}}],["t",{"_index":2349,"title":{},"name":{},"text":{"37":{},"58":{}},"component":{}}],["tab",{"_index":2531,"title":{},"name":{},"text":{"43":{},"65":{},"66":{},"67":{},"69":{},"72":{}},"component":{}}],["tabl",{"_index":550,"title":{"63-1":{}},"name":{},"text":{"5":{},"10":{},"12":{},"18":{},"25":{},"27":{},"28":{},"30":{},"36":{},"49":{},"53":{},"61":{},"63":{},"64":{},"72":{}},"component":{}}],["tag",{"_index":2022,"title":{},"name":{},"text":{"31":{},"35":{},"43":{},"56":{},"57":{},"58":{}},"component":{}}],["tailor",{"_index":2776,"title":{},"name":{},"text":{"50":{}},"component":{}}],["take",{"_index":983,"title":{},"name":{},"text":{"8":{},"12":{},"16":{},"27":{},"43":{},"56":{},"63":{},"65":{}},"component":{}}],["taken",{"_index":1023,"title":{},"name":{},"text":{"9":{}},"component":{}}],["target",{"_index":199,"title":{},"name":{},"text":{"2":{},"9":{},"12":{},"24":{},"32":{},"48":{},"54":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["target/knative.yml",{"_index":1278,"title":{},"name":{},"text":{"12":{}},"component":{}}],["target/kogito.yml",{"_index":1277,"title":{},"name":{},"text":{"12":{}},"component":{}}],["target/kubernet",{"_index":1270,"title":{},"name":{},"text":{"12":{},"43":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["target/kubernetes/knative.yml",{"_index":2707,"title":{},"name":{},"text":{"47":{},"56":{},"57":{},"58":{}},"component":{}}],["target/kubernetes/kogito.yml",{"_index":2708,"title":{},"name":{},"text":{"47":{}},"component":{}}],["target/lib",{"_index":2924,"title":{},"name":{},"text":{"54":{}},"component":{}}],["target/quarku",{"_index":2055,"title":{},"name":{},"text":{"31":{},"32":{},"59":{}},"component":{}}],["target=kn",{"_index":1268,"title":{},"name":{},"text":{"12":{},"56":{},"57":{},"58":{}},"component":{}}],["targetport",{"_index":1726,"title":{},"name":{},"text":{"24":{}},"component":{}}],["task",{"_index":624,"title":{},"name":{},"text":{"5":{},"11":{},"24":{}},"component":{}}],["tcp",{"_index":3038,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["tekton",{"_index":2947,"title":{},"name":{"55":{}},"text":{},"component":{}}],["tell",{"_index":786,"title":{},"name":{},"text":{"6":{},"50":{}},"component":{}}],["temperatur",{"_index":1051,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["templat",{"_index":3025,"title":{},"name":{},"text":{"56":{},"57":{},"58":{},"65":{},"72":{}},"component":{}}],["term",{"_index":1241,"title":{},"name":{},"text":{"12":{},"28":{}},"component":{}}],["termin",{"_index":1136,"title":{},"name":{},"text":{"10":{},"11":{},"19":{},"23":{},"31":{},"32":{},"34":{},"35":{},"46":{},"54":{},"56":{},"57":{},"58":{},"62":{}},"component":{}}],["test",{"_index":8,"title":{"37":{},"40":{},"1-7":{},"19-5":{},"40-2":{},"41-2":{},"41-3":{},"42-1":{},"42-3":{},"46-3":{},"54-4":{}},"name":{"37":{},"40":{}},"text":{"1":{},"2":{},"3":{},"5":{},"11":{},"12":{},"14":{},"19":{},"25":{},"27":{},"32":{},"36":{},"37":{},"40":{},"41":{},"42":{},"46":{},"47":{},"48":{},"50":{},"51":{},"52":{},"54":{},"65":{},"67":{},"68":{}},"component":{}}],["test@test.com",{"_index":1385,"title":{},"name":{},"text":{"14":{}},"component":{}}],["testcallbackrest",{"_index":2405,"title":{},"name":{},"text":{"40":{}},"component":{}}],["testfeaturea",{"_index":2514,"title":{},"name":{},"text":{"42":{}},"component":{}}],["testfeatureb",{"_index":2515,"title":{},"name":{},"text":{"42":{}},"component":{}}],["testhello",{"_index":2338,"title":{},"name":{},"text":{"37":{}},"component":{}}],["text",{"_index":2203,"title":{},"name":{},"text":{"34":{},"63":{},"72":{}},"component":{}}],["text/plain",{"_index":1910,"title":{},"name":{},"text":{"30":{}},"component":{}}],["text/xml",{"_index":807,"title":{},"name":{},"text":{"6":{}},"component":{}}],["that’",{"_index":1232,"title":{},"name":{},"text":{"12":{},"22":{}},"component":{}}],["the*view",{"_index":3150,"title":{},"name":{},"text":{"63":{}},"component":{}}],["therefor",{"_index":662,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"11":{},"13":{},"14":{},"16":{},"17":{},"18":{},"24":{},"25":{},"27":{},"30":{},"32":{},"33":{},"34":{},"35":{},"46":{},"57":{},"59":{},"65":{},"66":{},"67":{}},"component":{}}],["there’",{"_index":2891,"title":{},"name":{},"text":{"53":{}},"component":{}}],["third",{"_index":123,"title":{"31":{}},"name":{"31":{}},"text":{"1":{},"30":{},"42":{},"46":{}},"component":{}}],["though",{"_index":1303,"title":{},"name":{},"text":{"13":{},"27":{}},"component":{}}],["thread",{"_index":58,"title":{},"name":{},"text":{"1":{},"5":{},"18":{},"19":{},"37":{},"46":{}},"component":{}}],["threadpoolexecutor",{"_index":616,"title":{},"name":{},"text":{"5":{}},"component":{}}],["three",{"_index":1148,"title":{},"name":{},"text":{"11":{},"34":{},"41":{},"53":{},"68":{}},"component":{}}],["through",{"_index":758,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"12":{},"13":{},"36":{},"46":{},"64":{}},"component":{}}],["throughout",{"_index":3057,"title":{},"name":{},"text":{"57":{}},"component":{}}],["throw",{"_index":697,"title":{},"name":{},"text":{"6":{},"10":{},"16":{},"17":{},"41":{},"42":{},"46":{}},"component":{}}],["thrown",{"_index":1696,"title":{},"name":{},"text":{"22":{},"46":{}},"component":{}}],["till",{"_index":1102,"title":{},"name":{},"text":{"10":{},"30":{}},"component":{}}],["time",{"_index":800,"title":{"8-6":{},"12-4":{}},"name":{},"text":{"6":{},"8":{},"9":{},"12":{},"14":{},"18":{},"19":{},"27":{},"31":{},"32":{},"35":{},"36":{},"37":{},"40":{},"41":{},"43":{},"47":{},"51":{},"53":{},"59":{},"61":{},"64":{},"72":{}},"component":{}}],["timelin",{"_index":3157,"title":{},"name":{},"text":{"64":{}},"component":{}}],["timeout",{"_index":95,"title":{"8":{},"47":{},"6-18":{},"8-1":{},"8-2":{},"8-3":{},"8-4":{},"8-5":{},"8-8":{},"18-8":{},"47-7":{}},"name":{"8":{},"47":{}},"text":{"1":{},"5":{},"6":{},"8":{},"18":{},"36":{},"47":{}},"component":{}}],["timeout=5000",{"_index":818,"title":{},"name":{},"text":{"6":{}},"component":{}}],["timeoutsecond",{"_index":3035,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["timer",{"_index":163,"title":{},"name":{},"text":{"1":{},"8":{},"36":{}},"component":{}}],["timestamp",{"_index":3020,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["titl",{"_index":1908,"title":{},"name":{},"text":{"30":{},"31":{},"32":{},"35":{}},"component":{}}],["tl",{"_index":3081,"title":{},"name":{},"text":{"58":{}},"component":{}}],["togeth",{"_index":1386,"title":{},"name":{},"text":{"14":{},"47":{}},"component":{}}],["toggl",{"_index":2880,"title":{},"name":{},"text":{"52":{},"64":{}},"component":{}}],["token",{"_index":1887,"title":{"30-3":{},"30-6":{},"66-1":{}},"name":{},"text":{"30":{},"31":{},"34":{},"58":{},"66":{},"67":{}},"component":{}}],["token=my_token",{"_index":1918,"title":{},"name":{},"text":{"30":{}},"component":{}}],["tokenurl",{"_index":1929,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["tool",{"_index":3,"title":{"20":{},"61":{},"62":{},"64":{},"65":{},"66":{},"67":{},"68":{},"1-3":{},"62-1":{},"66-1":{},"67-2":{},"68-1":{}},"name":{"20":{},"39":{},"44":{},"65":{},"66":{},"67":{},"68":{},"69":{}},"text":{"1":{},"2":{},"12":{},"18":{},"19":{},"20":{},"23":{},"24":{},"28":{},"35":{},"40":{},"42":{},"43":{},"51":{},"54":{},"56":{},"57":{},"58":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["toolbar",{"_index":3139,"title":{},"name":{},"text":{"63":{}},"component":{}}],["tools.custom.dashboard.fold",{"_index":3135,"title":{},"name":{},"text":{"61":{}},"component":{}}],["top",{"_index":3148,"title":{},"name":{},"text":{"63":{},"64":{},"66":{},"67":{},"69":{},"70":{}},"component":{}}],["topic",{"_index":1296,"title":{},"name":{},"text":{"13":{},"16":{},"33":{},"56":{},"57":{},"58":{}},"component":{}}],["topolog",{"_index":3201,"title":{},"name":{},"text":{"67":{}},"component":{}}],["tostatedata",{"_index":1001,"title":{},"name":{},"text":{"8":{},"9":{},"16":{}},"component":{}}],["tostatedata\":\".paymentrespons",{"_index":2586,"title":{},"name":{},"text":{"46":{}},"component":{}}],["total",{"_index":1747,"title":{},"name":{},"text":{"24":{},"25":{},"37":{},"41":{}},"component":{}}],["toward",{"_index":3194,"title":{},"name":{},"text":{"67":{}},"component":{}}],["trace",{"_index":668,"title":{},"name":{},"text":{"6":{}},"component":{}}],["track",{"_index":1849,"title":{},"name":{},"text":{"28":{},"36":{},"46":{}},"component":{}}],["traffic",{"_index":2270,"title":{},"name":{},"text":{"35":{}},"component":{}}],["transact",{"_index":2564,"title":{},"name":{},"text":{"46":{}},"component":{}}],["transfer",{"_index":2417,"title":{},"name":{},"text":{"41":{}},"component":{}}],["transform",{"_index":1805,"title":{},"name":{},"text":{"25":{},"31":{}},"component":{}}],["transit",{"_index":961,"title":{},"name":{},"text":{"8":{},"9":{},"10":{},"14":{},"16":{},"17":{},"19":{},"31":{},"32":{},"35":{},"46":{},"47":{},"50":{},"52":{},"53":{}},"component":{}}],["transition\":\"scheduleship",{"_index":2587,"title":{},"name":{},"text":{"46":{}},"component":{}}],["transition\":\"serviceerror",{"_index":2590,"title":{},"name":{},"text":{"46":{}},"component":{}}],["translat",{"_index":760,"title":{},"name":{},"text":{"6":{}},"component":{}}],["transport",{"_index":1208,"title":{"17-2":{}},"name":{},"text":{"12":{}},"component":{}}],["tri",{"_index":884,"title":{},"name":{},"text":{"6":{},"10":{},"16":{},"20":{},"34":{},"36":{},"42":{},"48":{},"49":{},"50":{},"51":{},"53":{},"65":{},"71":{}},"component":{}}],["trigger",{"_index":112,"title":{},"name":{},"text":{"1":{},"12":{},"14":{},"15":{},"17":{},"33":{},"36":{},"41":{},"46":{},"47":{},"54":{},"63":{},"64":{},"72":{}},"component":{}}],["trigger.eventing.knative.dev/callback",{"_index":2712,"title":{},"name":{},"text":{"47":{}},"component":{}}],["trigger.eventing.knative.dev/job",{"_index":2704,"title":{},"name":{},"text":{"47":{}},"component":{}}],["trigger.eventing.knative.dev/visa",{"_index":2710,"title":{},"name":{},"text":{"47":{}},"component":{}}],["triggereventref",{"_index":1389,"title":{},"name":{},"text":{"14":{},"16":{}},"component":{}}],["trimcustomoperation(functiondef",{"_index":878,"title":{},"name":{},"text":{"6":{}},"component":{}}],["troubleshoot",{"_index":9,"title":{"1-7":{},"50-5":{},"50-6":{}},"name":{"39":{}},"text":{"50":{},"53":{}},"component":{}}],["true",{"_index":583,"title":{},"name":{},"text":{"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"15":{},"18":{},"19":{},"22":{},"23":{},"25":{},"31":{},"32":{},"34":{},"35":{},"47":{},"50":{},"53":{},"54":{},"56":{},"57":{},"58":{},"64":{}},"component":{}}],["tunnel",{"_index":3056,"title":{},"name":{},"text":{"57":{}},"component":{}}],["turn",{"_index":1040,"title":{},"name":{},"text":{"9":{}},"component":{}}],["tutori",{"_index":2978,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["two",{"_index":511,"title":{},"name":{},"text":{"3":{},"6":{},"9":{},"11":{},"12":{},"13":{},"15":{},"16":{},"19":{},"34":{},"41":{},"47":{},"64":{},"72":{}},"component":{}}],["type",{"_index":556,"title":{"6-19":{},"6-20":{}},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"41":{},"42":{},"46":{},"47":{},"48":{},"50":{},"56":{},"57":{},"58":{},"63":{},"64":{},"68":{},"72":{}},"component":{}}],["type\":\"custom",{"_index":2602,"title":{},"name":{},"text":{"46":{}},"component":{}}],["type\":\"error",{"_index":2673,"title":{},"name":{},"text":{"46":{}},"component":{}}],["type\":\"oper",{"_index":2581,"title":{},"name":{},"text":{"46":{}},"component":{}}],["type\":\"success",{"_index":2623,"title":{},"name":{},"text":{"46":{}},"component":{}}],["type:application/json",{"_index":1657,"title":{},"name":{},"text":{"19":{},"34":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["type=kubernetes.io/dockerconfigjson",{"_index":2734,"title":{},"name":{},"text":{"48":{}},"component":{}}],["types.proto",{"_index":1639,"title":{},"name":{},"text":{"19":{}},"component":{}}],["typescript",{"_index":2267,"title":{},"name":{},"text":{"35":{}},"component":{}}],["u",{"_index":1870,"title":{},"name":{},"text":{"28":{},"58":{}},"component":{}}],["ua",{"_index":493,"title":{},"name":{},"text":{"2":{}},"component":{}}],["ui",{"_index":101,"title":{"62":{},"47-9":{}},"name":{"61":{},"62":{},"63":{},"64":{}},"text":{"1":{},"2":{},"19":{},"20":{},"35":{},"47":{},"50":{},"62":{},"65":{}},"component":{}}],["uid",{"_index":325,"title":{},"name":{},"text":{"2":{}},"component":{}}],["unbound",{"_index":1336,"title":{},"name":{},"text":{"13":{}},"component":{}}],["uncheck",{"_index":3174,"title":{},"name":{},"text":{"65":{}},"component":{}}],["uncheckedioexception(",{"_index":2508,"title":{},"name":{},"text":{"42":{}},"component":{}}],["uncheckedioexception(io",{"_index":897,"title":{},"name":{},"text":{"6":{}},"component":{}}],["uncommon",{"_index":861,"title":{},"name":{},"text":{"6":{}},"component":{}}],["uncompress",{"_index":1766,"title":{},"name":{},"text":{"25":{}},"component":{}}],["under",{"_index":1153,"title":{},"name":{},"text":{"11":{},"24":{},"34":{},"47":{},"48":{},"50":{},"51":{},"52":{},"59":{}},"component":{}}],["underli",{"_index":1120,"title":{},"name":{},"text":{"10":{},"36":{},"49":{},"53":{}},"component":{}}],["underneath",{"_index":2172,"title":{},"name":{},"text":{"33":{}},"component":{}}],["underscor",{"_index":1905,"title":{},"name":{},"text":{"30":{},"32":{}},"component":{}}],["understand",{"_index":542,"title":{"53":{}},"name":{"9":{},"10":{}},"text":{"3":{},"6":{},"16":{},"17":{},"22":{},"31":{},"46":{},"50":{},"53":{}},"component":{}}],["undo",{"_index":2566,"title":{},"name":{},"text":{"46":{}},"component":{}}],["unexpect",{"_index":2084,"title":{},"name":{},"text":{"31":{}},"component":{}}],["unidentifi",{"_index":2534,"title":{},"name":{},"text":{"43":{}},"component":{}}],["unidirect",{"_index":1302,"title":{},"name":{},"text":{"13":{}},"component":{}}],["unifi",{"_index":358,"title":{},"name":{},"text":{"2":{}},"component":{}}],["uninstal",{"_index":2831,"title":{"51-3":{}},"name":{},"text":{"51":{}},"component":{}}],["uniqu",{"_index":811,"title":{},"name":{},"text":{"6":{},"16":{},"17":{},"19":{},"64":{}},"component":{}}],["unit",{"_index":130,"title":{},"name":{},"text":{"1":{},"41":{},"42":{}},"component":{}}],["unknown",{"_index":1115,"title":{},"name":{},"text":{"10":{},"34":{},"53":{}},"component":{}}],["unless",{"_index":630,"title":{},"name":{},"text":{"5":{},"13":{}},"component":{}}],["unlik",{"_index":1931,"title":{},"name":{},"text":{"30":{}},"component":{}}],["unpack",{"_index":3220,"title":{},"name":{},"text":{"70":{}},"component":{}}],["unpredict",{"_index":1186,"title":{},"name":{},"text":{"11":{}},"component":{}}],["unrespons",{"_index":2313,"title":{},"name":{},"text":{"36":{}},"component":{}}],["unselect",{"_index":3155,"title":{},"name":{},"text":{"64":{}},"component":{}}],["unset",{"_index":410,"title":{},"name":{},"text":{"2":{}},"component":{}}],["unsuccess",{"_index":1976,"title":{},"name":{},"text":{"31":{}},"component":{}}],["unsuccessfulli",{"_index":3168,"title":{},"name":{},"text":{"64":{}},"component":{}}],["unsupport",{"_index":2070,"title":{},"name":{},"text":{"31":{}},"component":{}}],["until",{"_index":1418,"title":{},"name":{},"text":{"15":{},"33":{},"40":{},"41":{},"53":{},"65":{}},"component":{}}],["untilassert",{"_index":2412,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["untitl",{"_index":3213,"title":{},"name":{},"text":{"68":{}},"component":{}}],["up",{"_index":835,"title":{"63-4":{},"63-5":{}},"name":{},"text":{"6":{},"8":{},"11":{},"13":{},"20":{},"28":{},"31":{},"36":{},"43":{},"48":{},"50":{},"51":{},"54":{},"65":{}},"component":{}}],["upcom",{"_index":1064,"title":{},"name":{},"text":{"9":{}},"component":{}}],["updat",{"_index":302,"title":{},"name":{},"text":{"2":{},"6":{},"9":{},"19":{},"27":{},"28":{},"35":{},"48":{},"58":{},"61":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{}},"component":{}}],["upgrad",{"_index":144,"title":{"28":{}},"name":{},"text":{"1":{},"2":{},"27":{},"28":{}},"component":{}}],["upload",{"_index":3173,"title":{},"name":{},"text":{"65":{},"69":{}},"component":{}}],["upon",{"_index":1416,"title":{},"name":{},"text":{"15":{},"36":{},"41":{}},"component":{}}],["upper",{"_index":3221,"title":{},"name":{},"text":{"70":{}},"component":{}}],["uri",{"_index":741,"title":{"32-2":{}},"name":{},"text":{"6":{},"7":{},"17":{},"22":{},"32":{},"33":{},"34":{},"35":{},"59":{},"72":{}},"component":{}}],["url",{"_index":306,"title":{"32-4":{},"32-8":{},"35-5":{}},"name":{},"text":{"2":{},"5":{},"6":{},"7":{},"8":{},"17":{},"23":{},"25":{},"31":{},"32":{},"33":{},"35":{},"37":{},"41":{},"42":{},"47":{},"48":{},"50":{},"51":{},"56":{},"57":{},"58":{},"59":{},"63":{},"66":{},"72":{}},"component":{}}],["url=http://localhost:8281/auth/realms/kogito/protocol/openid",{"_index":2035,"title":{},"name":{},"text":{"31":{}},"component":{}}],["url=https://example.com/oauth",{"_index":1938,"title":{},"name":{},"text":{"30":{}},"component":{}}],["url=jdbc:postgresql://localhost:5432/foobardb",{"_index":1858,"title":{},"name":{},"text":{"28":{}},"component":{}}],["url_to_json_schema",{"_index":914,"title":{},"name":{},"text":{"7":{}},"component":{}}],["us",{"_index":14,"title":{"13":{},"27":{},"31":{},"37":{},"40":{},"41":{},"42":{},"54":{},"65":{},"66":{},"67":{},"1-12":{},"25-2":{},"25-3":{},"28-2":{},"28-3":{},"28-6":{},"28-7":{},"32-2":{},"32-8":{},"40-2":{},"41-2":{},"43-2":{},"43-3":{},"43-5":{},"47-9":{},"47-10":{},"54-1":{},"54-3":{},"56-3":{},"56-4":{},"56-5":{},"57-3":{},"57-4":{},"57-5":{},"58-4":{},"58-5":{},"58-6":{},"63-3":{},"63-7":{},"67-2":{},"70-2":{},"72-6":{}},"name":{},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["usag",{"_index":1028,"title":{},"name":{},"text":{"9":{},"10":{},"14":{},"30":{},"36":{},"43":{},"47":{}},"component":{}}],["usd",{"_index":2060,"title":{},"name":{},"text":{"31":{},"41":{}},"component":{}}],["usecas",{"_index":454,"title":{},"name":{},"text":{"2":{}},"component":{}}],["usecloudevents=tru",{"_index":2364,"title":{},"name":{},"text":{"37":{}},"component":{}}],["useeventdrivendecisions=fals",{"_index":2367,"title":{},"name":{},"text":{"37":{}},"component":{}}],["useeventdrivenrules=fals",{"_index":2368,"title":{},"name":{},"text":{"37":{}},"component":{}}],["useexplainability=fals",{"_index":2365,"title":{},"name":{},"text":{"37":{}},"component":{}}],["usemonitoring=fals",{"_index":2362,"title":{},"name":{},"text":{"37":{}},"component":{}}],["useprocesssvg=fals",{"_index":2366,"title":{},"name":{},"text":{"37":{}},"component":{}}],["useprometheusmonitoring=fals",{"_index":2363,"title":{},"name":{},"text":{"37":{}},"component":{}}],["user",{"_index":1372,"title":{},"name":{},"text":{"14":{},"19":{},"24":{},"34":{},"40":{},"43":{},"46":{},"57":{}},"component":{}}],["user'",{"_index":2207,"title":{},"name":{},"text":{"34":{}},"component":{}}],["user/mi",{"_index":2557,"title":{},"name":{},"text":{"43":{}},"component":{}}],["user=foo",{"_index":1859,"title":{},"name":{},"text":{"28":{}},"component":{}}],["userid",{"_index":1363,"title":{},"name":{},"text":{"14":{}},"component":{}}],["usernam",{"_index":1857,"title":{},"name":{},"text":{"28":{},"30":{},"48":{},"67":{}},"component":{}}],["usetracing=fals",{"_index":2361,"title":{},"name":{},"text":{"37":{}},"component":{}}],["usr/local/bin",{"_index":2523,"title":{},"name":{},"text":{"43":{}},"component":{}}],["usr/local/bin/kn",{"_index":2527,"title":{},"name":{},"text":{"43":{}},"component":{}}],["usual",{"_index":2260,"title":{},"name":{},"text":{"35":{},"49":{}},"component":{}}],["utc",{"_index":1612,"title":{},"name":{},"text":{"19":{}},"component":{}}],["utf",{"_index":1567,"title":{},"name":{},"text":{"19":{}},"component":{}}],["util",{"_index":501,"title":{},"name":{},"text":{"2":{},"8":{}},"component":{}}],["uuid",{"_index":1772,"title":{},"name":{},"text":{"25":{}},"component":{}}],["v",{"_index":2538,"title":{},"name":{},"text":{"43":{}},"component":{}}],["v0.8",{"_index":2875,"title":{"52-4":{}},"name":{},"text":{"52":{}},"component":{}}],["v1",{"_index":2768,"title":{},"name":{},"text":{"49":{}},"component":{}}],["valid",{"_index":91,"title":{},"name":{},"text":{"1":{},"6":{},"7":{},"10":{},"12":{},"14":{},"22":{},"31":{},"34":{},"35":{},"40":{},"41":{},"50":{},"52":{},"57":{},"63":{},"71":{},"72":{}},"component":{}}],["validateaccountemail",{"_index":1365,"title":{},"name":{},"text":{"14":{}},"component":{}}],["validateaccountemailev",{"_index":1364,"title":{},"name":{},"text":{"14":{}},"component":{}}],["validatedaccountemail",{"_index":1367,"title":{},"name":{},"text":{"14":{}},"component":{}}],["validatedaccountemailev",{"_index":1366,"title":{},"name":{},"text":{"14":{}},"component":{}}],["validateinput",{"_index":1980,"title":{},"name":{},"text":{"31":{}},"component":{}}],["validateinputs(str",{"_index":2010,"title":{},"name":{},"text":{"31":{}},"component":{}}],["validateinputsact",{"_index":1990,"title":{},"name":{},"text":{"31":{}},"component":{}}],["validateintpu",{"_index":2002,"title":{},"name":{},"text":{"31":{}},"component":{}}],["validationresult",{"_index":2009,"title":{},"name":{},"text":{"31":{}},"component":{}}],["validationresult(\"error",{"_index":2014,"title":{},"name":{},"text":{"31":{}},"component":{}}],["valu",{"_index":557,"title":{"6-5":{},"6-10":{},"34-1":{}},"name":{},"text":{"5":{},"6":{},"9":{},"10":{},"12":{},"13":{},"14":{},"15":{},"19":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"43":{},"46":{},"49":{},"54":{},"57":{},"58":{},"59":{},"63":{},"64":{},"67":{},"69":{},"71":{},"72":{}},"component":{}}],["value.deseri",{"_index":1309,"title":{},"name":{},"text":{"13":{}},"component":{}}],["value.seri",{"_index":1313,"title":{},"name":{},"text":{"13":{}},"component":{}}],["value1",{"_index":1689,"title":{},"name":{},"text":{"22":{}},"component":{}}],["value;oth",{"_index":3109,"title":{},"name":{},"text":{"59":{}},"component":{}}],["vari",{"_index":2890,"title":{},"name":{},"text":{"53":{}},"component":{}}],["variabl",{"_index":601,"title":{"32-8":{}},"name":{},"text":{"5":{},"6":{},"8":{},"12":{},"17":{},"30":{},"31":{},"32":{},"34":{},"35":{},"42":{},"47":{},"58":{},"64":{}},"component":{}}],["variou",{"_index":1515,"title":{},"name":{},"text":{"18":{},"35":{},"64":{},"65":{}},"component":{}}],["vendor",{"_index":1969,"title":{},"name":{},"text":{"31":{}},"component":{}}],["verbos",{"_index":1560,"title":{},"name":{},"text":{"19":{},"43":{}},"component":{}}],["veri",{"_index":2302,"title":{},"name":{},"text":{"36":{}},"component":{}}],["verif",{"_index":2415,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["verifi",{"_index":912,"title":{"56-1":{},"65-2":{}},"name":{},"text":{"7":{},"10":{},"12":{},"19":{},"37":{},"40":{},"41":{},"43":{},"46":{},"54":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["verify=fals",{"_index":3082,"title":{},"name":{},"text":{"58":{}},"component":{}}],["verifyworkflowexecutionit",{"_index":2422,"title":{},"name":{},"text":{"41":{}},"component":{}}],["versa",{"_index":2882,"title":{},"name":{},"text":{"52":{}},"component":{}}],["version",{"_index":301,"title":{},"name":{"60":{}},"text":{"2":{},"5":{},"11":{},"12":{},"18":{},"19":{},"27":{},"28":{},"30":{},"31":{},"32":{},"35":{},"37":{},"42":{},"50":{},"51":{},"52":{},"54":{},"57":{},"58":{},"59":{},"62":{},"66":{},"67":{}},"component":{}}],["version.failsafe.plugin",{"_index":2396,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["version=1.32.0",{"_index":1877,"title":{},"name":{},"text":{"28":{}},"component":{}}],["version=2.16.7.fin",{"_index":1553,"title":{},"name":{},"text":{"19":{}},"component":{}}],["vertx",{"_index":1591,"title":{},"name":{},"text":{"19":{},"37":{}},"component":{}}],["via",{"_index":41,"title":{},"name":{},"text":{"1":{},"2":{},"22":{},"28":{},"48":{},"50":{},"63":{}},"component":{}}],["vice",{"_index":2881,"title":{},"name":{},"text":{"52":{}},"component":{}}],["view",{"_index":1673,"title":{},"name":{},"text":{"20":{},"56":{},"57":{},"62":{},"63":{},"64":{},"65":{},"70":{},"71":{},"72":{}},"component":{}}],["visaapprovedev",{"_index":988,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["visadeniedev",{"_index":990,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["visit",{"_index":1867,"title":{},"name":{},"text":{"28":{}},"component":{}}],["visual",{"_index":1526,"title":{},"name":{},"text":{"19":{},"20":{},"24":{},"25":{},"61":{},"71":{},"72":{}},"component":{}}],["void",{"_index":694,"title":{},"name":{},"text":{"6":{},"17":{},"37":{},"40":{},"41":{},"42":{}},"component":{}}],["vs",{"_index":1671,"title":{"72":{},"72-1":{},"72-3":{},"72-5":{}},"name":{},"text":{"20":{},"71":{},"72":{}},"component":{}}],["vscode",{"_index":1679,"title":{},"name":{"72":{}},"text":{"22":{},"50":{}},"component":{}}],["vscode_extension_serverless_workflow_editor_version.vsix",{"_index":3231,"title":{},"name":{},"text":{"72":{}},"component":{}}],["vsix",{"_index":3230,"title":{},"name":{},"text":{"72":{}},"component":{}}],["vulner",{"_index":443,"title":{},"name":{},"text":{"2":{}},"component":{}}],["vulnerabiliti",{"_index":474,"title":{},"name":{},"text":{"2":{}},"component":{}}],["w",{"_index":2793,"title":{},"name":{},"text":{"50":{}},"component":{}}],["wait",{"_index":611,"title":{},"name":{},"text":{"5":{},"8":{},"11":{},"13":{},"14":{},"16":{},"17":{},"27":{},"30":{},"33":{},"36":{},"41":{},"46":{},"47":{},"53":{},"56":{},"57":{},"58":{},"64":{}},"component":{}}],["wait&fir",{"_index":1434,"title":{},"name":{},"text":{"15":{}},"component":{}}],["wait(eventinput",{"_index":1488,"title":{},"name":{},"text":{"17":{}},"component":{}}],["waitev",{"_index":1086,"title":{},"name":{},"text":{"9":{},"16":{},"17":{}},"component":{}}],["waitforev",{"_index":997,"title":{},"name":{},"text":{"8":{},"15":{},"16":{},"17":{},"33":{}},"component":{}}],["waitforprocessev",{"_index":368,"title":{},"name":{},"text":{"2":{}},"component":{}}],["waitingforbuildreason",{"_index":2901,"title":{},"name":{},"text":{"53":{}},"component":{}}],["waitingfordeploy",{"_index":2794,"title":{},"name":{},"text":{"50":{},"53":{}},"component":{}}],["waitingforplatform",{"_index":2899,"title":{},"name":{},"text":{"53":{}},"component":{}}],["want",{"_index":711,"title":{},"name":{},"text":{"6":{},"7":{},"11":{},"13":{},"15":{},"18":{},"22":{},"23":{},"28":{},"31":{},"34":{},"35":{},"41":{},"42":{},"43":{},"48":{},"59":{},"63":{},"68":{}},"component":{}}],["warn",{"_index":317,"title":{},"name":{},"text":{"2":{},"6":{},"19":{},"72":{}},"component":{}}],["watch",{"_index":2822,"title":{},"name":{},"text":{"50":{},"51":{}},"component":{}}],["way",{"_index":36,"title":{},"name":{},"text":{"1":{},"2":{},"6":{},"16":{},"17":{},"18":{},"34":{},"36":{},"43":{},"50":{},"59":{},"64":{}},"component":{}}],["web",{"_index":106,"title":{"65":{},"66":{},"67":{},"68":{},"66-1":{},"67-2":{},"68-1":{}},"name":{"65":{},"66":{},"67":{},"68":{},"69":{}},"text":{"1":{},"20":{},"35":{},"47":{},"57":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{}},"component":{}}],["webclient.postabs(eventinput.geturi()).sendjson(builder.build()).tocompletionstag",{"_index":1495,"title":{},"name":{},"text":{"17":{}},"component":{}}],["webhook",{"_index":2879,"title":{},"name":{},"text":{"52":{},"56":{}},"component":{}}],["websit",{"_index":1733,"title":{},"name":{},"text":{"24":{},"25":{},"28":{},"40":{},"41":{}},"component":{}}],["welcom",{"_index":1157,"title":{},"name":{},"text":{"11":{}},"component":{}}],["well",{"_index":1855,"title":{},"name":{},"text":{"28":{},"34":{},"48":{}},"component":{}}],["whatev",{"_index":710,"title":{},"name":{},"text":{"6":{}},"component":{}}],["whether",{"_index":1022,"title":{},"name":{},"text":{"9":{},"10":{},"13":{},"33":{},"47":{},"56":{},"57":{},"58":{},"72":{}},"component":{}}],["whoami",{"_index":3080,"title":{},"name":{},"text":{"58":{}},"component":{}}],["wide",{"_index":926,"title":{},"name":{},"text":{"8":{}},"component":{}}],["width",{"_index":1795,"title":{},"name":{},"text":{"25":{}},"component":{}}],["willreturn(arespons",{"_index":2510,"title":{},"name":{},"text":{"42":{}},"component":{}}],["willreturn(aresponse().withstatus(404",{"_index":2520,"title":{},"name":{},"text":{"42":{}},"component":{}}],["willreturn(wiremock.arespons",{"_index":2482,"title":{},"name":{},"text":{"42":{}},"component":{}}],["window",{"_index":1706,"title":{},"name":{},"text":{"23":{},"31":{},"32":{},"57":{},"66":{},"67":{},"69":{}},"component":{}}],["wiremock",{"_index":135,"title":{"41":{},"42":{},"42-2":{},"42-3":{}},"name":{"41":{},"42":{}},"text":{"1":{},"12":{},"37":{},"41":{},"42":{}},"component":{}}],["wiremock.vers",{"_index":2472,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockconfigur",{"_index":2473,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockconfiguration#port(int",{"_index":2478,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockconfiguration.wiremockconfig().dynamicport",{"_index":2474,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserv",{"_index":2423,"title":{},"name":{},"text":{"41":{},"42":{}},"component":{}}],["wiremockserver(config",{"_index":2475,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver(options().port(8181",{"_index":2425,"title":{},"name":{},"text":{"41":{}},"component":{}}],["wiremockserver(wiremockconfiguration.wiremockconfig().dynamicport",{"_index":2507,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver.baseurl",{"_index":2506,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver.start",{"_index":2476,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver.stop",{"_index":2489,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver.stubfor(get(urlequalto(\"/rest/v2/name/greec",{"_index":2509,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver.stubfor(wiremock.get(wiremock.urlequalto(\"/rest/v2/name/greec",{"_index":2481,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wish",{"_index":3212,"title":{},"name":{},"text":{"68":{}},"component":{}}],["with().pollinterval(1",{"_index":2411,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["withdata(objectmapper.writevalueasbytes(collections.singletonmap(\"messag",{"_index":1494,"title":{},"name":{},"text":{"17":{}},"component":{}}],["withdata(objectmapper.writevalueasbytes(eventbodi",{"_index":1461,"title":{},"name":{},"text":{"16":{}},"component":{}}],["withextension(cloudeventextensionconstants.process_reference_id",{"_index":1460,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["withheader(\"cont",{"_index":2484,"title":{},"name":{},"text":{"42":{}},"component":{}}],["withid(uuid.randomuuid().tostr",{"_index":1456,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["within",{"_index":62,"title":{},"name":{},"text":{"1":{},"6":{},"9":{},"10":{},"12":{},"32":{},"33":{},"34":{},"41":{}},"component":{}}],["withjsonbody(greecepayload",{"_index":2485,"title":{},"name":{},"text":{"42":{}},"component":{}}],["without",{"_index":744,"title":{},"name":{},"text":{"6":{},"8":{},"11":{},"16":{},"17":{},"19":{},"30":{},"43":{},"72":{}},"component":{}}],["withsource(uri.cr",{"_index":1457,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["withstatus(200",{"_index":2483,"title":{},"name":{},"text":{"42":{}},"component":{}}],["withtime(offsetdatetime.now",{"_index":1459,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["withtype(\"wait",{"_index":1458,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["won’t",{"_index":1846,"title":{},"name":{},"text":{"28":{},"48":{}},"component":{}}],["word",{"_index":350,"title":{},"name":{},"text":{"2":{},"11":{}},"component":{}}],["work",{"_index":33,"title":{},"name":{"11":{},"16":{},"17":{}},"text":{"1":{},"2":{},"3":{},"6":{},"12":{},"18":{},"28":{},"33":{},"34":{},"36":{},"40":{},"41":{},"47":{},"48":{},"50":{},"51":{},"56":{},"57":{},"58":{},"59":{},"66":{},"71":{},"72":{}},"component":{}}],["workflow",{"_index":18,"title":{"1":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"37":{},"40":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"70":{},"71":{},"72":{},"8-1":{},"8-6":{},"8-7":{},"11-1":{},"11-2":{},"11-3":{},"12-5":{},"13-1":{},"14-1":{},"18-4":{},"19-2":{},"19-3":{},"19-4":{},"19-5":{},"22-1":{},"22-2":{},"22-3":{},"24-1":{},"24-2":{},"24-5":{},"25-1":{},"31-1":{},"31-2":{},"32-6":{},"32-7":{},"34-2":{},"35-3":{},"35-4":{},"40-2":{},"41-2":{},"43-1":{},"43-2":{},"43-3":{},"43-4":{},"43-5":{},"46-2":{},"46-3":{},"47-1":{},"47-2":{},"47-3":{},"47-7":{},"47-8":{},"48-4":{},"48-5":{},"48-6":{},"49-1":{},"50-2":{},"50-3":{},"50-4":{},"50-5":{},"50-10":{},"51-2":{},"52-5":{},"54-2":{},"54-3":{},"54-4":{},"56-2":{},"56-3":{},"56-4":{},"56-5":{},"57-2":{},"57-3":{},"57-4":{},"57-5":{},"58-2":{},"58-4":{},"58-5":{},"58-6":{},"59-3":{},"62-1":{},"63-1":{},"63-2":{},"63-3":{},"63-4":{},"63-6":{},"63-7":{},"64-1":{},"64-2":{},"65-1":{},"68-1":{},"70-1":{},"70-2":{},"71-1":{},"72-1":{},"72-2":{},"72-3":{},"72-4":{}},"name":{"4":{},"7":{},"10":{},"14":{},"15":{},"18":{},"19":{},"29":{},"38":{},"43":{},"48":{},"49":{},"50":{},"53":{},"54":{},"55":{},"60":{},"63":{},"64":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["workflow,quarku",{"_index":1544,"title":{},"name":{},"text":{"19":{}},"component":{}}],["workflow.instanceid",{"_index":974,"title":{},"name":{},"text":{"8":{},"17":{},"22":{}},"component":{}}],["workflow.serverless",{"_index":2996,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["workflow.sw.json",{"_index":1977,"title":{},"name":{},"text":{"31":{},"43":{}},"component":{}}],["workflow/greet",{"_index":2797,"title":{},"name":{},"text":{"50":{}},"component":{}}],["workflow_devmode.yaml",{"_index":2801,"title":{},"name":{},"text":{"50":{}},"component":{}}],["workflowdata",{"_index":709,"title":{},"name":{},"text":{"6":{},"31":{},"34":{},"37":{},"46":{},"50":{},"54":{}},"component":{}}],["workflowdata.greet",{"_index":2348,"title":{},"name":{},"text":{"37":{}},"component":{}}],["workflowexectimeout",{"_index":949,"title":{},"name":{},"text":{"8":{}},"component":{}}],["workflowid",{"_index":1691,"title":{},"name":{},"text":{"22":{}},"component":{}}],["workflowworkitemhandl",{"_index":840,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workflow’",{"_index":3141,"title":{},"name":{},"text":{"63":{}},"component":{}}],["workitem",{"_index":847,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workitem.getnodeinstance().getnode().getmetadata",{"_index":886,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workitemhandlerconfig",{"_index":843,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workitemnodefactori",{"_index":836,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workitemtypehandl",{"_index":833,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workspac",{"_index":183,"title":{"66-2":{},"66-3":{}},"name":{},"text":{"2":{},"65":{},"66":{},"68":{},"71":{},"72":{}},"component":{}}],["world",{"_index":1517,"title":{},"name":{},"text":{"19":{},"43":{}},"component":{}}],["world\",\"mantra\":\"serverless",{"_index":1664,"title":{},"name":{},"text":{"19":{}},"component":{}}],["world:1.0.0",{"_index":1535,"title":{},"name":{},"text":{"19":{}},"component":{}}],["world:latest",{"_index":1559,"title":{},"name":{},"text":{"19":{}},"component":{}}],["wrap",{"_index":2516,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wrapper",{"_index":720,"title":{},"name":{},"text":{"6":{}},"component":{}}],["write",{"_index":864,"title":{},"name":{},"text":{"6":{},"40":{},"69":{}},"component":{}}],["wrong",{"_index":1098,"title":{"50-9":{},"50-10":{}},"name":{},"text":{"10":{},"28":{},"50":{},"53":{}},"component":{}}],["x",{"_index":1072,"title":{},"name":{},"text":{"9":{},"11":{},"12":{},"19":{},"23":{},"31":{},"32":{},"34":{},"43":{},"46":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["x86_64",{"_index":1602,"title":{},"name":{},"text":{"19":{}},"component":{}}],["x=kogito",{"_index":1531,"title":{},"name":{},"text":{"19":{}},"component":{}}],["x=quarku",{"_index":1532,"title":{},"name":{},"text":{"19":{}},"component":{}}],["xattr",{"_index":3196,"title":{},"name":{},"text":{"67":{}},"component":{}}],["xml",{"_index":476,"title":{},"name":{},"text":{"2":{},"22":{}},"component":{}}],["y",{"_index":1074,"title":{},"name":{},"text":{"9":{}},"component":{}}],["yaml",{"_index":490,"title":{},"name":{},"text":{"2":{},"3":{},"9":{},"17":{},"22":{},"25":{},"50":{},"61":{},"64":{},"68":{},"71":{},"72":{}},"component":{}}],["yamlgreet",{"_index":1752,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["yaml|json",{"_index":3009,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["yard.json",{"_index":3208,"title":{},"name":{},"text":{"68":{}},"component":{}}],["yard.yaml|yml",{"_index":3209,"title":{},"name":{},"text":{"68":{}},"component":{}}],["ye",{"_index":565,"title":{},"name":{},"text":{"5":{}},"component":{}}],["yml",{"_index":2042,"title":{},"name":{},"text":{"31":{}},"component":{}}],["yourself",{"_index":1262,"title":{},"name":{},"text":{"12":{}},"component":{}}],["you’ll",{"_index":3144,"title":{},"name":{},"text":{"63":{}},"component":{}}],["you’r",{"_index":2736,"title":{},"name":{},"text":{"48":{},"50":{},"51":{},"67":{}},"component":{}}],["z0",{"_index":3241,"title":{},"name":{},"text":{"72":{}},"component":{}}],["za",{"_index":3240,"title":{},"name":{},"text":{"72":{}},"component":{}}],["zero",{"_index":2304,"title":{},"name":{},"text":{"36":{}},"component":{}}],["zip",{"_index":436,"title":{},"name":{},"text":{"2":{},"28":{},"70":{}},"component":{}}]],"pipeline":["stemmer"]},"store":{"documents":{"1":{"id":1,"text":"Kogito Serverless Workflow is a tool for building cloud-native workflow applications. You can use it to do the services and events orchestration and choreography. Currently, with Kogito Serverless Workflow you can integrate with services and events in your architecture using: CloudEvents. Ideal for an Event-Driven architecture where the services are ready to consume and produce events working in a more reactive way. Sync or Async REST services invocations via OpenAPI/Async API. There are options even to directly call a REST service in the architecture or ecosystem. Either async or sync methods are supported depending on your requirements. Internal Service execution or invocation. Kogito Serverless Workflow is also a workflow framework to build applications. You can use it to create custom services in the same thread to run a lightweight workflow-based application within the same instance. You can learn how to create, manage, and deploy your workflow applications with the following guides. Creating your first workflow service Learn how to create your first Serverless Workflow project CNCF Serverless Workflow specification Learn about the CNCF Serverless Workflow Specification implementation Getting familiar with Kogito Serverless Workflow tooling Learn which tools you can use to author your workflow assets Custom functions for your Kogito Serverless Workflow service Learn about the custom functions supported by Serverless Workflow jq expressions in Kogito Serverless Workflow Learn how to create jq expressions to manipulate data within a workflow execution Error handling in Kogito Serverless Workflow Learn how to handle errors in your workflow application Parallelism in Kogito Serverless Workflow Working with parallelism in your workflow service Configuration properties in Kogito Serverless Workflow Quick reference of configuration properties in workflow Input schema definition for Kogito Serverless Workflow Learn about the input schema definition used to validate the workflow data input against a defined JSON Schema Timeouts in Kogito Serverless Workflow Learn how to configure timeouts in the workflow Serverless Workflow editor Learn how to install and use the Serverless Workflow editor Kogito Serverless Workflow Tools extension in Quarkus Dev UI Learn how to use the Serverless Workflow extension in Quarkus Dev UI Kogito Serverless Workflow plug-in for Knative CLI Learn how to install the Kogito Serverless Workflow plug-in for Knative CLI Serverless Logic Web Tools Learn how to use Serverless Logic Web Tools for creating and managing workflows, decisions, and dashboards. Orchestrating the OpenAPI services Learn how to orchestrate REST services using OpenAPI specification descriptors Orchestrating the AsyncAPI services Learn how to trigger and consume events using AsyncAPI specification descriptors Configuring the OpenAPI services endpoints Learn how to configure OpenAPI services endpoints in different environments Orchestration of gRPC based services Learn about orchestrating gRPC services Event state in Kogito Serverless Workflow Learn how to use the Event state in your workflow application Callback state in Kogito Serverless Workflow Learn how to use the Callback state in your workflow application Consuming and producing events using Apache Kafka Learn how to configure your Serverless Workflow application to produce and consume events using Apache Kafka Consuming and producing events on Knative Eventing Learn how to configure your Serverless Workflow application to produce and consume events on Knative Eventing Event correlation in Kogito Serverless Workflow Learn how to configure event correlation in your workflow application OpenAPI Callback in Kogito Serverless Workflow Learn how to use the OpenAPI Callback in your workflow application Authentication for OpenAPI services in Kogito Serverless Workflow Learn how to use authentication methods when calling REST services using OpenAPI specification Orchestration of third-party services using OAuth 2.0 authentication Learn about the OAuth2 method support when orchestrating REST services using your workflow application Testing your workflow application using REST Assured Learn how to add unit tests in your workflow application using RestAssured Kogito Serverless Workflow integration test using PostgreSQL Learn how to integrate tests on workflow applications that use PostgreSQL as a persistence storage Mocking OpenAPI services with WireMock Learn how to mock external REST requests when testing your Serverless Workflow applications Mocking HTTP CloudEvents Sink with WireMock Testing Serverless Workflow application that uses HTTP CloudEvents and Knative Sink Binding Running a workflow service using PostgreSQL Running Serverless Workflow service using PostgresSQL Migrate Your PostgreSQL database with Kogito upgrade Migrating your existing PostgreSQL Database with changes from the Kogito upgrade using Flyway Kogito Serverless Workflow in the Cloud Learn about the options to deploy workflow applications in Kubernetes Saga orchestration example in Kogito Serverless Workflow Learn how and when to use the SAGA pattern in your workflow projects Timeout example in Kogito Serverless Workflow Learn how and when to use timeout in your workflow projects Integrating with Camel Routes Learn how to use Camel Routes within your workflow application Invoking Knative services from Kogito Serverless Workflow Learn how to invoke Knative services from Kogito Serverless Workflow custom functions Displaying workflow data in dashboards Learn how to use dashboards to display the runtime data of your workflow application Exposing workflow base metrics to Prometheus Exposing the workflow base metrics to Prometheus Job Service Details about Job Service to control timers in Kogito Serverless Workflow Saga orchestration example in Kogito Serverless Workflow Learn how and when to use the SAGA pattern in your workflow projects Timeout example in Kogito Serverless Workflow Learn how and when to use timeout in your workflow projects","title":"Kogito Serverless Workflow Guides","component":"serverlessworkflow","version":"1.40.0.Final","name":"index","url":"/serverlessworkflow/latest/index.html","titles":[{"text":"Getting started","hash":"_getting_started","id":1},{"text":"Core","hash":"_core","id":2},{"text":"Tooling","hash":"_tooling","id":3},{"text":"Service Orchestration","hash":"_service_orchestration","id":4},{"text":"Eventing","hash":"_eventing","id":5},{"text":"Security","hash":"_security","id":6},{"text":"Testing and Troubleshooting","hash":"_testing_and_troubleshooting","id":7},{"text":"Persistence","hash":"_persistence","id":8},{"text":"Cloud","hash":"_cloud","id":9},{"text":"Integrations","hash":"_integrations","id":10},{"text":"Supporting Services","hash":"_supporting_services","id":11},{"text":"Use Cases","hash":"_use_cases","id":12}]},"2":{"id":2,"text":"KOGITO-9364 - [SWF Dev UI] Include a loading screen while workflows are being started KOGITO-9349 - [KSW-Operator] Initialize Go Workspace to manage multi-module structure KOGITO-9323 - [Operator] Kogito Serverless Operator and Kubesmarts integration KOGITO-9318 - Support dashes (-) in Kogito Serverless Workflow ids KOGITO-9315 - Serverless Workflow extension should not automatically include k8s addon KOGITO-9312 - Events sending produce no errors if the target endpoint is not available KOGITO-9291 - Kogito Serverless Operator image arm build in nightly KOGITO-9287 - Python script support in Serverless Workflow KOGITO-9281 - Cloud event attributes should be avaiable as headers in kogitoprocesscontext KOGITO-9263 - [Operator] Enforce ConfigMap mount path for files referenced by the function definition KOGITO-9246 - Ensure the kogito-addons-quarkus-knative-eventing add-on incorporates the kogito default incoming events stream KOGITO-9233 - Jobs service embedded add-on should disable kafka and database quarkus dev services by default KOGITO-9220 - Support SSL for RestWorkItemHandler KOGITO-9217 - Do not fail the Dev mode Container Image if the workflow is invalid KOGITO-9216 - Better error message handling when I miss a functionRef argument KOGITO-9181 - Kogito images arm build in nightly KOGITO-9177 - SWF Project (single file) to CR generator KOGITO-9154 - Support event state and callback state in serverless workflow executor KOGITO-9144 - Refactor the Service Discovery engine to support more than one implementation KOGITO-9106 - [KSW-Operator] Add support for BuildConfig on OpenShift for limited scenarios KOGITO-8866 - Ensure that Jobs Service is embedded in the workflow dev profile KOGITO-8675 - [KSW-Operator] Make Workflow Dev Profile builder image configurable via Platform KOGITO-8648 - [KSW-Operator] Implement the Knative Addressable interface in dev profile KOGITO-8644 - [KSW-Operator] Review \"applied\" status attribute KOGITO-8455 - Improve post-release pipeline job with Release Notes DROOLS-7450 - RuleBase separation from -core and sessions KOGITO-9392 - [SWF Dev UI] Rename extension to Serverless Workflow Tools KOGITO-9388 - [SWF Dev UI] Custom dashboards list should show files in subdirectories KOGITO-9387 - Intermitent test failure on DataIndexRestIT due to Postgresql container reuse KOGITO-9386 - [SWF Dev UI] Custom dashboards list has invalid date and broken cards KOGITO-9348 - [OPERATOR-KSW] API version not updated in workspace module KOGITO-9326 - [SWF Dev UI] Monitoring should work with custom and relative data index URLs KOGITO-9322 - Setup OCP PR checks KOGITO-9313 - 2 pods created to a single apply command KOGITO-9305 - Data Index produce warnings about OpenAPI dupplicated operationIds KOGITO-9304 - Jobs Service produce warnings about OpenAPI dupplicated operationIds KOGITO-9300 - operator dev mode image shouldn’t generate the kogito.yaml file KOGITO-9290 - uid is empty on generated CRDs KOGITO-9262 - [Operator] Making probes more patient KOGITO-9255 - [KSW Operator] Cannot create Workflow on Openshift if spec.platform.registry is set KOGITO-9254 - Update SWF Dashbuilder version to 0.28.0 KOGITO-9251 - [Dev-mode] KSW Discovery - You need to define a KubernetesServiceCatalog implementation KOGITO-9242 - Kogito Serverless Workflow Tools Dev UI not shown in the Operator Dev Mode KOGITO-9241 - Data Index Dev UI not shown in the Operator Dev Mode KOGITO-9238 - Update SWF Basic Metrics Dashboard KOGITO-9234 - Sysout message hard coded string fails if it is a single word KOGITO-9230 - Avoid too many \"Heartbeat Leader\" DEBUG messages KOGITO-9229 - Unify the jvm and mvn settings for devmode KOGITO-9225 - Disable continuous testing on dev images KOGITO-9221 - Quarkus 3: Setup main nightly pipeline KOGITO-9214 - waitForProcessEvent in StaticApplication should be refactor KOGITO-9213 - Align Jobs service QuarkusTests with the Test class suffix instead of IT KOGITO-9212 - kogito-addons-quarkus-data-index-inmemory fails when the project has no SWs or Processes KOGITO-9211 - springboot examples failing due to missing images KOGITO-9210 - Disable K_SINK health check in runtime KOGITO-9209 - [SWF Dev UI] Rename extension’s feature name to kogito-serverless-workflow-devui KOGITO-9208 - Allow reusing of state builder in fluent API KOGITO-9207 - [Operator] Make QUARKUS_KOGITO_DEVSERVICES_ENABLED and QUARKUS_DEVSERVICES_ENABLED properties immutable in devmode KOGITO-9205 - DataIndex inmemory extension starting multiple PostgreSQL containers in devmode KOGITO-9200 - Dev UI shows an error when data-index is loading KOGITO-9194 - Allow Data-index consume different kind of eventing KOGITO-9189 - swagger-ui not available when using jobs service embedded KOGITO-9187 - [SWF Dev UI] OpenAPI workflow input schema requires _input suffix KOGITO-9183 - Remove org.kie.kogito.addons.quarkus.knative.serving.customfunctions.Operation#namespace KOGITO-9182 - [Dev-mode] Unset the maven offline property if the QUARKUS_EXTENSION env is set KOGITO-9168 - [KSW-Operator] Create the cekit image descriptor for SWF devmode image KOGITO-9167 - ForEach and RestWorkItemHandler KOGITO-9163 - Error when going back and forth between multiple workflow details KOGITO-9157 - Input and Output schemas are not correctly referenced in Swagger UI KOGITO-9143 - K_SINK health check fails for serverless workflows that receive events but don’t send any events KOGITO-9141 - When RuleUnits are not used, still no way to insertLogical KOGITO-9079 - [KSW-Operator] Build the Quarkus app and the Maven repo zips during the build KOGITO-9017 - Sonar reports cross-origin vulnerabilities KOGITO-9011 - Provide a job of E2E tests against Openshift KOGITO-8961 - [KSW-Operator] Split use case and test examples KOGITO-8866 - Ensure that Jobs Service is embedded in the workflow dev profile KOGITO-8843 - Add health check on data-index service KOGITO-8651 - [KSW-Operator] Ensure that the Management Console is embedded in the workflow dev profile KOGITO-8650 - [KSW-Operator] Ensure that Data Index is embedded in the workflow dev profile KOGITO-8057 - Add dataindex to usecase example working with knative eventing KOGITO-8644 - [KSW-Operator] Review \"applied\" status attribute DROOLS-7456 - avoid kie maven plugin to crash on jdk17 project kie-issues#341 - Fix Blocker and Critical reports from Sonar in kogito-runtimes kie-issues#333 - Fix CVE-2021-29425 detected in commons-io as a dependency from batik kie-issues#330 - Fix CVE-2023-34104 vulnerabilitie in kogito-apps (fast-xml-parser@^4.1.2) kie-issues#313 - Fix CVE-2023-1370 in kogito-runtimes (json-smart upgrade) kie-issues#304 - Upgrade json5 due to CVE-2022-46175 kie-issues#303 - Upgrade packages which used vulnerable d3-color kie-issues#300 - upgrade yaml package to 2.3.1 kie-issues#299 - upgrade ua-parser-js to version 0.7.35 kie-issues#296 - Fix CVE-2022-3517 in kogito-apps and kie-tools kie-issues#295 - Upgrade loader-utils kie-issues#294 - Fix CVE-2022-34169 in kogito-runtimes kie-issues#293 - Fix CVE-2023-25194 in kogito-runtimes kie-issues#292 - Fix CVE-2018-10237 in kogito-runtimes","title":"New features on 1.40","component":"serverlessworkflow","version":"1.40.0.Final","name":"release_notes","url":"/serverlessworkflow/latest/release_notes.html","titles":[{"text":"Notable changes","hash":"_notable_changes","id":1},{"text":"Other changes and Bug fixes","hash":"_other_changes_and_bug_fixes","id":2}]},"3":{"id":3,"text":"Kogito Serverless Workflow is evolving as platform to build and deploy workflow applications in Kubernetes clusters. You have two options to deploy your workflow applications: either as a full Quarkus project or using the Kogito Serverless Workflow Operator. The cards below list all features included in the platform to deploy workflow applications either with Quarkus or the Operator. Eventually these two options will converge, the Kogito Serverless Workflow Operator will also be able to handle full Quarkus projects. So if you opt in to use Quarkus now and manually deploy your workflows, bear in mind that it’s on the project’s roadmap to integrate the Quarkus experience with the Operator. For Java developers, you can use Quarkus and a few add-ons to help you build and deploy the application in a Kubernetes cluster. Kogito Serverless Workflow also generates basic Kubernetes objects YAML files to help you getting started. The application should be managed by a Kubernetes administrator. Building workflow images using Quarkus CLI Learn how to build images for your workflow applications using Quarkus CLI Kubernetes service discovery in Kogito Serverless Workflow Learn what is and how the Kubernetes service discovery for workflow application configuration works Deploying your Kogito Serverless Workflow application on OpenShift Learn how to deploy your workflow application on OpenShift cluster Deploying your Kogito Serverless Workflow application on Minikube Learn how to deploy your workflow application on Minikube for local tests and development Deploying your Kogito Serverless Workflow application on Kubernetes Learn how to deploy your workflow application on Kubernetes For developers that are looking for a native Kubernetes approach where you can model workflows using YAML definitions and directly deploy them, you can use the Kogito Serverless Workflow Operator. The operator registers a new Kubernetes resource in the cluster to manage your workflow development iteration cycle and composition of services and events. The application is managed by the operator. Install the Kogito Serverless Workflow Operator Learn how to install the Kogito Serverless Workflow Operator in a Kubernetes cluster Developing Workflow Services with the Operator Learn how to deploy a workflow for development purposes Configuring Workflow Services Learn how to configure workflows deployed with Kogito Serverless Workflow Operator Understanding Workflow Services Status Conditions Learn to interpret the workflow resource status conditions Building and Deploying Workflows with the Operator Learn how to build and deploy workflow services with Kogito Serverless Workflow Operator Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Learn about the known issues and feature roadmap of the Kogito Serverless Workflow Operator","title":"Kogito Serverless Workflow Applications in Cloud","component":"serverlessworkflow","version":"1.40.0.Final","name":"index","url":"/serverlessworkflow/latest/cloud/index.html","titles":[{"text":"Kubernetes with Quarkus","hash":"_kubernetes_with_quarkus","id":1},{"text":"Kubernetes with the Operator","hash":"_kubernetes_with_the_operator","id":2}]},"4":{"id":4,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"accessing-workflow-metainformation-in-runtime","url":"/serverlessworkflow/latest/core/accessing-workflow-metainformation-in-runtime.html","titles":[]},"5":{"id":5,"text":"The following table serves as a quick reference for commonly used configuration properties supported in Kogito Serverless Workflow. You can define the following properties in the src/main/resources/application.properties file of your project. Table 1. Common configuration properties Property Description Type Default value Override at runtime kogito.persistence.type Defines the type of persistence database. The possible values of this property include: jdbc mongodb filesystem kafka infinispan postgresql string Yes kogito.persistence.query.timeout.millis Defines timeout for a query execution. long 10000 Yes kogito.persistence.optimistic.lock Enables or disables the optimistic locking. boolean false Yes kogito.workflow.version-strategy Defines strategy to resolve a process version to use. The possible values of this property include: * workflow * project string workflow No kogito.service.url Defines the service URL needed to connect to the runtime endpoint from outside the service. string Yes kogito.messaging.as-cloudevents Enables a service to use CloudEvents. boolean true No kogito.addon.messaging.incoming.defaultName Defines the default name of the incoming channel. string kogito_incoming_stream No kogito.addon.messaging.outgoing.defaultName Defines the default name of the outgoing channel. string kogito_outgoing_stream No kogito.jackson.fail-on-empty-bean If this property is set as true, Jackson fails on an empty bean. boolean false No kogito.sw.operationIdStrategy Defines strategy to generate the configuration key of open API specifications. The possible values of this property include: file_name full_uri spec_title function_name string file_name No kogito.sw.states.foreach.outputVarName Defines the variable name for foreach loop. string _swf_eval_temp No kogito.grpc.enum.includeDefault Indicates if the default value of enumerations needs to be included in gRPC response. boolean false No kogito.grpc.stream.timeout Number of seconds to wait for a response from the server when using streams. int 20 No kogito.quarkus.events.threads.poolSize Defines the ThreadPoolExecutor maximum number of threads to allow in the pool. int 10 Yes kogito.quarkus.events.threads.queueSize Defines the ThreadPoolExecutor queue size to use for holding tasks before the tasks are executed. int 1 Yes quarkus.kogito.logger.always-include Enables you to include the workflow debug logger everytime. By default, this property is included in development and test mode. boolean false No quarkus.kogito.devservices.enabled Enables or disables the Dev Services for Kogito. By default, the Dev Services are enabled, unless an existing configuration is present. boolean true No quarkus.kogito.devservices.port Defines the optional fixed port that the Dev Services listen to. int 8180 No quarkus.kogito.devservices.image-name Defines the Data Index image to use. string quay.io/kiegroup/kogito-data-index-ephemeral:1.40.0.Final No quarkus.kogito.devservices.shared Indicates if the Data Index instance, which is managed by Quarkus Dev Services, is shared. boolean true No quarkus.kogito.devservices.service-name Defines the value of the label that is attached to the started container. This property is used when shared is set to true. string kogito-data-index No If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Configuration properties in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"configuration-properties","url":"/serverlessworkflow/latest/core/configuration-properties.html","titles":[{"text":"Found an issue?","hash":"_found_an_issue","id":1}]},"6":{"id":6,"text":"The Cloud Native Computing Foundation (CNCF) specification supports the custom function type, which enables the implementations to extend the function definition capability. Kogito Serverless Workflow supports the java and sysout custom types. The CNCF specification does not support java and sysout functions. Therefore, these functions might not be portable across other implementations. You can use the sysout function for logging as shown in the following example: Example of sysout function definition { \"functions\": [ { \"name\": \"logInfo\", \"type\": \"custom\", \"operation\": \"sysout:INFO\" } ] } The string after the : is optional and is used to indicate the log level. The possible values are TRACE, DEBUG, INFO, WARN, and ERROR. If not present, INFO is considered by default. In the state definition, you can call the same sysout function as shown in the following example: Example of a sysout function reference within a state { \"states\": [ { \"name\": \"myState\", \"type\": \"operation\", \"actions\": [ { \"name\": \"printAction\", \"functionRef\": { \"refName\": \"logInfo\", \"arguments\": { \"message\": \"\\\"Workflow model is \\\\(.)\\\"\" } } } ] } ] } message argument can be a jq expression or a jq string using interpolation, as in the example above Kogito Serverless Workflow supports the java functions within an Apache Maven project, in which you define your workflow service. The following example shows the declaration of a java function: Example of a java function declaration { \"functions\": [ { \"name\": \"myFunction\", (1) \"type\": \"custom\", (2) \"operation\": \"service:java:com.acme.MyInterfaceOrClass::myMethod\" (3) } ] } 1 myFunction is the function name 2 custom is the function type 3 service:java:com.acme.MyInterfaceOrClass::myMethod is the custom operation definition. In the custom operation definition, service is the reserved operation keyword followed by the java keyword. com.acme.MyInterfaceOrClass is the FQCN (Fully Qualified Class Name) of the interface or implementation class followed by the method name (myMethod). Your method interface signature must copy the arguments passed by the workflow. For example, if you invoke a function using one argument as follows, then your method signature assumes that the number model variable is an integer: Example of a java function reference with one argument { \"functionRef\": { \"refName\": \"myFunction\", \"arguments\": { \"number\": \"${.number}\" } } } Example of a java function implementation public class MyInterfaceOrClass { public void myMethod(int number) { if (number % 2 != 0) { throw new IllegalArgumentException(\"Odd situation\"); } } } As a particular case, if you provide no argument in the workflow definition, the signature of the Java method might include a Jackson’s JsonNode parameter. This means that the Java method expects the entire workflow model as input. When using the following example function reference with no arguments, and if the method signature contains a JsonNode parameter, the entire workflow model is passed when the method call is performed. Example of a java function reference with no arguments { \"functionRef\": { \"refName\": \"myFunction\" } } Example of a java function implementation public class MyInterfaceOrClass { public JsonNode myMethod(JsonNode workflowData) { // do whatever I want with the Workflow model ...... // return the modified content: return workflowData; } } If your method returns a JsonNode, the content of that node is merged into the workflow model (you can use an action data filter to control what is merged). The same occurs if your method returns any Java Object descendant that is not a primitive wrapper, the Java object is recursively converted to a JSON object and the result is merged into the workflow model (you can use an action data filter to control what is merged). If your method returns a primitive type or their corresponding wrapper object (int, boolean, long, and so on), then the primitive value is added to the workflow model with the name response (you can change that name using an action data filter). If your method returns Java collections, it is converted to a JSON array and added to the workflow model with the name response (you can change that name using an action data filter). If you need access to process contextual information (for example, Kogito process instance ID) inside your Java service, you can add a KogitoProcessContext parameter as the last one in the method signature. Therefore, if you need to do so, you can update the signature of methods from previous sections. Example of a function accessing Kogito context public class MyInterfaceOrClass { public JsonNode myMethod(JsonNode workflowData, KogitoProcessContext context ) { // do whatever I want with the JsonNode and the Kogito process context ...... // return the modified content: return workflowData; } } Example of a function accessing Kogito context public class MyInterfaceOrClass { public void myMethod(int number, KogitoProcessContext context) { if (number % 2 != 0) { throw new IllegalArgumentException(\"Odd situation\"); } } } Avoid using java functions to call the external services, instead, you can use the services orchestration features. Kogito supports the Camel Routes functions within an Apache Maven project, in which you define your workflow service. This section briefly exemplifies how to define and use Camel Routes within your workflow application. For more information, see the Integrating with Camel Routes. The following example shows the declaration of a Camel function: { \"functions\": [ { \"name\": \"myCamelEndpoint\", (1) \"type\": \"custom\", (2) \"operation\": \"camel:direct:myendpoint\" (3) } ] } 1 myCamelEndpoint is the function name 2 custom is the function type 3 camel:direct:myendpoint is the custom operation definition. In this definition, camel is the reserved keyword followed by the direct endpoint. Camel Direct is the only supported consumer by Kogito Serverless Workflow. Finally, myendpoint is the endpoint URI name found in the route within your project’s context. The Camel function arguments must follow a specific structure when passing data from the workflow state to the route. The body and headers are the only attributes supported in the function arguments. Both are optional if you need to call the Camel routes without arguments. The only constraint is that you can not call a Camel route with only headers. The following examples display valid argument structures for Camel function arguments: Example calling a Camel route using body and headers { \"functionRef\": { \"refName\": \"myCamelEndpoint\", \"arguments\": { \"body\": \"${ .my.body.data }\", (1) \"headers\": { (2) \"key1\": \"${ .my.value }\", \"key2\": \"${ .my.other.value }\" } } } } 1 jq expression filtering the state data for the body argument. 2 JSON key/value pair for the headers argument. A jq expression returning the same JSON object is also valid. Example calling a Camel route using body { \"functionRef\": { \"refName\": \"myCamelEndpoint\", \"arguments\": { \"body\": \"${ .my.body.data }\" } } } Example calling a Camel route without arguments { \"functionRef\": { \"refName\": \"myCamelEndpoint\" } } Example calling a Camel route with only one argument { \"functionRef\": { \"refName\": \"myCamelEndpoint\", \"arguments\": \"${ .my.body.data }\" } } In this last example, the jq expression result is used as the body argument in a way to simplify the definition. The Camel route is responsible to produce the return value in a way that the workflow can understand. The following are considered valid objects: A string that contains a valid JSON object A valid Java bean that can be serialized to JSON A Jackson’s JsonNode object Any primitive type (Integer, Float, Decimal, String, etc) Kogito Serverless Workflow provides an implementation of a custom function through the knative-serving add-on to invoke Knative services. It allows you to have a static URI, defining a Knative service, which is used to perform HTTP requests. The Knative service defined in the URI is queried in the current Knative cluster and translated to a valid URL. This section briefly exemplifies how to define and use Knative custom functions within your workflow application. For more information, see Invoking Knative services from Serverless Workflow. Given the following deployed Knative service: $ kn service list NAME URL LATEST AGE CONDITIONS READY REASON custom-function-knative-service http://custom-function-knative-service.default.10.109.169.193.sslip.io custom-function-knative-service-00001 3h16m 3 OK / 3 True You can declare a Kogito Serverless Workflow custom function using the Knative service name, like the following: \"functions\": [ { \"name\": \"greet\", (1) \"type\": \"custom\", (2) \"operation\": \"knative:services.v1.serving.knative.dev/custom-function-knative-service?path=/plainJsonFunction\", (3) } ] 1 greet is the function name 2 custom is the function type 3 In operation you set the coordinates of the Knative service The above function will send a POST request to the http://custom-function-knative-service.default.10.109.169.193.sslip.io/plainJsonFunction URL. If you don’t specify a path, Kogito Serverless Workflow will use the root path (/). GET requests are not yet supported. Note that in the above example, you declared only the name of the service you wanted to call, but not a namespace. In this case, Kogito Serverless Workflow will look for a Knative service in the same namespace the workflow service is running. In case you need to call a Knative service in a different namespace, you can declare the function as: \"functions\": [ { \"name\": \"greet\", \"type\": \"custom\", \"operation\": \"knative:services.v1.serving.knative.dev/my_different_namespace/custom-function-knative-service?path=/plainJsonFunction\" } ] In the above example, Kogito Serverless Workflow will look for the custom-function-knative-service in the my_different_namespace namespace. In case you need to send a payload in the request, you can add it to arguments in functionRef. You must send the following JSON object as the payload: { \"product_id\": \".product_id\", \"customer_name\": \".customer_name\" } You must declare a functionRef like the following. \"states\": [ { \"name\": \"invokeFunction\", \"type\": \"operation\", \"actions\": [ { \"functionRef\": { \"refName\": \"greet\", \"arguments\": { (1) \"product_id\": \".product_id\", \"customer_name\": \".customer_name\" } } } ], \"end\": true } ] 1 The request payload is set in arguments. By default, Kogito Serverless Workflow sends the payload of a Knative function as a regular JSON object and Content-Type as application/json. However, you can tell Kogito Serverless Workflow to send the payload as a CloudEvent. In that case, Kogito Serverless Workflow will check if the CloudEvent has all mandatory attributes set and use application/cloudevents+json; charset=UTF-8 in Content-Type. To tell Kogito Serverless Workflow you want to send the payload as a CloudEvent, you must define your function as follows: \"functions\": [ { \"name\": \"greet\", \"type\": \"custom\", \"operation\": \"knative:services.v1.serving.knative.dev/custom-function-knative-service?path=/plainJsonFunction&asCloudEvent=true\" (1) } ] 1 Tells Kogito Serverless Workflow to send the payload as a CloudEvent. Default is false If you do not set the asCloudEvent attribute to true, you can not send a CloudEvent. If you do so, Kogito Serverless Workflow will throw an error. You must send the following CloudEvent as the payload: { \"specversion\" : \"1.0\", \"type\" : \"com.github.pull_request.opened\", \"source\" : \"https://github.com/cloudevents/spec/pull\", \"subject\" : \"123\", \"time\" : \"2018-04-05T17:31:00Z\", \"comexampleextension1\" : \"value\", \"comexampleothervalue\" : 5, \"datacontenttype\" : \"text/xml\", \"data\" : \"\" } You must declare a functionRef like the following: (Do not forget to set asCloudEvent as true in function metadata) \"states\": [ { \"name\": \"invokeFunction\", \"type\": \"operation\", \"actions\": [ { \"functionRef\": { \"refName\": \"greet\", \"arguments\": { (1) \"specversion\" : \"1.0\", \"type\" : \"com.github.pull_request.opened\", \"source\" : \"https://github.com/cloudevents/spec/pull\", \"subject\" : \"123\", \"time\" : \"2018-04-05T17:31:00Z\", \"comexampleextension1\" : \"value\", \"comexampleothervalue\" : 5, \"datacontenttype\" : \"text/xml\", \"data\" : \"\" } } } ], \"end\": true } ] 1 The CloudEvent is set in arguments. Kogito Serverless Workflow generates a CloudEvent ID based on the source and the workflow instance ID. In case you decide to set an ID, Kogito Serverless Workflow will use it and you must ensure it’s unique. Refer to the following example on how to set a CloudEvent ID: Setting a CloudEvent ID \"arguments\": { \"specversion\" : \"1.0\", \"id\": \"a_unique_id_42\", (1) \"type\" : \"com.github.pull_request.opened\", \"source\" : \"https://github.com/cloudevents/spec/pull\", \"subject\" : \"123\", \"time\" : \"2018-04-05T17:31:00Z\", \"comexampleextension1\" : \"value\", \"comexampleothervalue\" : 5, \"datacontenttype\" : \"text/xml\", \"data\" : \"\" } 1 The CloudEvent ID. By default, the Knative service must respond within 10 seconds. You can use the kogito.addon.knative-serving.request-timeout property to configure this value. For instance, if you want to reduce the request timeout to 5 seconds, you must add the following to your application.properties file: kogito.addon.knative-serving.request-timeout=5000 (1) 1 Time in milliseconds You can add your custom types by using the Kogito add-on mechanism. As predefined custom types like sysout or java, the custom type identifier is the prefix of the operation field of the function definition. Kogito add-ons relies on the Quarkus extensions mechanism. And the add-on consists of at least two Maven projects: The deployment module, which is responsible for generating the code required for the extension to work. The runtime module, which includes the non-generated classes that are required for the extension to work. In the case of a Serverless Workflow custom type, following are the roles of the modules: The deployment project The deployment project is expected to configure the work item handler used during runtime to perform the logic associated with the custom type. It must contain a Java class that inherits from WorkItemTypeHandler. Its responsibilities are to indicate the custom type identifier (the operation prefix, as indicated earlier) and to set up the WorkItemNodeFactory instance passed as a parameter of the fillWorkItemHandler method. That instance is included in the Kogito process definition for that Workflow. As a part of this setup, you must indicate the name of the WorkItemNodeFactory. You might also provide any relevant metadata for that handler if needed. The runtime project The runtime project consists of a WorkflowWorkItemHandler implementation, which name must match with the one provided to WorkItemNodeFactory during the deployment phase, and a WorkItemHandlerConfig bean that registers that handler with that name. When a Serverless Workflow function is called, Kogito identifies the proper WorkflowWorkItemHandler instance to be used for that function type (using the handler name associated with that type by the deployment project) and then invokes the internalExecute method. The Map parameter contains the function arguments defined in the workflow, and the WorkItem parameter contains the metadata information added to the handler by the deployment project. Hence, the executeWorkItem implementation has an access to all the information needed to perform the computational logic intended for that custom type. Assuming you want to interact, from a workflow file, with a legacy RPC server as the one defined in this project. This legacy server supports four simple arithmetic operations: add, minus, multiply and divide, which can be invoked using a custom RPC protocol. Since this is an uncommon protocol, the workflow cannot handle them by using any of the predefined Serverless Workflow function types. The available options are to use a Java service, which invokes a Java class that knows how to interact with the server, or define a custom type that knows how to interact with the service. Using the recent approach, you can write a workflow file defining this function. RPC Custom function definition example \"functions\": [ { \"name\": \"division\", \"type\": \"custom\", \"operation\": \"rpc:division\" } ], The operation starts with rpc, which is the custom type identifier, and continues with division, which denotes the operation that will be executed in the legacy server. A Kogito addon that defines the rpc custom type must be developed for this function definition to be identified. It is consist of a deployment project and a runtime project. The deployment project is responsible for extending the WorkItemTypeHandler and setup the WorkItemNodeFactory as follows: Example of the RPC function Java implementation import static org.kie.kogito.examples.sw.custom.RPCCustomWorkItemHandler.NAME; import static org.kie.kogito.examples.sw.custom.RPCCustomWorkItemHandler.OPERATION; public class RPCCustomTypeHandler extends WorkItemTypeHandler{ @Override public String type() { return \"rpc\"; } @Override protected > WorkItemNodeFactory fillWorkItemHandler(Workflow workflow, ParserContext context, WorkItemNodeFactory node, FunctionDefinition functionDef) { return node.workName(NAME).metaData(OPERATION, trimCustomOperation(functionDef)); } } This example setups the name of the KogitoWorkItemHandler, adds a metadata key with the name of the remote operation (extracted from the Serverless Workflow function definition operation property), and declares that the custom type is named as rpc. The Runtime project contains the KogitoWorkItemHandler and the WorkItemHandlerConfig implementations. As expected, RPCCustomWorkItemHandler implements the internalExecute method as follows: Example of implementation of the internalExecute method @Override protected Object internalExecute(KogitoWorkItem workItem, Map parameters) { try { Iterator iter = parameters.values().iterator(); Map metadata = workItem.getNodeInstance().getNode().getMetaData(); String operationId = (String) metadata.get(OPERATION); if (operationId == null) { throw new IllegalArgumentException (\"Operation is a mandatory parameter\"); } return CalculatorClient.invokeOperation((String)metadata.getOrDefault(HOST,\"localhost\"), (int) metadata.getOrDefault(PORT, 8082), OperationId.valueOf(operationId.toUpperCase()), (Integer)iter.next(), (Integer)iter.next()); } catch (IOException io ) { throw new UncheckedIOException(io); } } The implementation invokes the CalculatorClient.invokeOperation, a java static method that knows how to interact with the legacy service. You can obtain the operation parameter from the WorkItem metadata. The dividend and the divisor parameters are obtained from the Map parameter, which contains the function arguments defined in the workflow file. Example of the custom function call from the workflow definition { \"actions\":[ { \"functionRef\":{ \"refName\":\"division\", \"arguments\":{ \"dividend\":\".dividend\", \"divisor\":\".divisor\" } } } ] } The RPCCustomWorkItemHandlerConfig is a bean that registers the handler name. Example of injecting the custom`WorkItemHandler` @Inject RPCCustomWorkItemHandler handler; @PostConstruct void init () { register(handler.getName(),handler); } CNCF Serverless Workflow specification jq expressions in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Custom functions for your Kogito Serverless Workflow service","component":"serverlessworkflow","version":"1.40.0.Final","name":"custom-functions-support","url":"/serverlessworkflow/latest/core/custom-functions-support.html","titles":[{"text":"Sysout custom function","hash":"con-func-sysout","id":1},{"text":"Java custom function","hash":"con-func-java","id":2},{"text":"Function Definition","hash":"_function_definition","id":3},{"text":"Function Arguments","hash":"_function_arguments","id":4},{"text":"Function return values","hash":"_function_return_values","id":5},{"text":"Function accessing Kogito context","hash":"_function_accessing_kogito_context","id":6},{"text":"Camel custom function","hash":"con-func-camel","id":7},{"text":"Function definition","hash":"_function_definition_2","id":8},{"text":"Function arguments","hash":"_function_arguments_2","id":9},{"text":"Function return values","hash":"_function_return_values_2","id":10},{"text":"Knative custom function","hash":"con-func-knative","id":11},{"text":"Function definition","hash":"_function_definition_3","id":12},{"text":"About namespaces","hash":"about-namespaces","id":13},{"text":"Function arguments","hash":"_function_arguments_3","id":14},{"text":"Sending a regular JSON object","hash":"_sending_a_regular_json_object","id":15},{"text":"Sending a CloudEvent","hash":"sending-cloudevents","id":16},{"text":"Configurations","hash":"_configurations","id":17},{"text":"Request timeout","hash":"_request_timeout","id":18},{"text":"Custom function types","hash":"_custom_function_types","id":19},{"text":"Custom function type example","hash":"_custom_function_type_example","id":20},{"text":"Additional resources","hash":"_additional_resources","id":21},{"text":"Found an issue?","hash":"_found_an_issue","id":22}]},"7":{"id":7,"text":"The dataInputSchema in the Serverless Workflow specification is a parameter used in the workflow definition. The dataInputSchema parameter validates the workflow data input against a defined JSON Schema. It is important to provide dataInputSchema, as it is used to verify if the provided workflow data input is correct before any workflow states are executed. You can define a dataInputSchema as follows: dataInputSchema definition \"dataInputSchema\": { \"schema\": \"URL_to_json_schema\", \"failOnValidationErrors\": false } In the previous definition, the schema property is a URI, which holds the path to the JSON schema used to validate the workflow data input. The URI can be a classpath URI, a file, or an HTTP URL. If a classpath URI is specified, then the JSON schema file must be placed in the resources section of the project. You can see the serverless-workflow-expression-quarkus example application of a workflow definition with dataInputSchema. See the Serverless Workflow JSON file for more details. When a workflow definition contains a dataInputSchema attribute, the workflow application generates an OpenAPI file, such as http://localhost/q/openapi. The generated OpenAPI file references the schema file, which helps in defining the input data for the workflows. For more information about the OpenAPI file, see OpenAPI specification. If you want to generate an OpenAPI file for a workflow, then you must add the Quarkus dependency in the project. Example component section with schema in an OpenAPI file components: schemas: GeneralError: type: object properties: code: format: int32 type: integer message: type: string Orchestrating the OpenAPI services Configuring the OpenAPI services endpoints If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Input schema definition for Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"defining-an-input-schema-for-workflows","url":"/serverlessworkflow/latest/core/defining-an-input-schema-for-workflows.html","titles":[{"text":"Additional resources","hash":"_additional_resources","id":1},{"text":"Found an issue?","hash":"_found_an_issue","id":2}]},"8":{"id":8,"text":"Serverless Workflow specification defines a wide amount of possible timeout configurations. Among them, Kogito Serverless Workflow currently supports workflow and event timeouts. Regardless of its application scope (workflow or state), you can not define the timeouts as a specific point in time, but they should be an amount of time, a duration, which is considered to start when the referred scope becomes active. Timeouts use the ISO 8601 data and time standard to specify a duration of time. It follows the format PnDTnHnMn.nS with days considered to be exactly 24 hours. For instance, PT15M configures 15 minutes, and P2DT3H4M defines 2 days, 3 hours and 4 minutes. You can set up the maximum amount of time a workflow might be running before being canceled. This is configured in the header section of the flow, by using the WorkflowExecTimeout definition. Only the duration property is currently implemented. Once canceled, the workflow is considered to be finished and will not be accessible through a GET request anymore. So it behaves as if the interrupt was true by default. For example, in order to cancel the workflow after an hour of execution, you might add the following snippet. Example of workflow timeout \"timeouts\": { \"workflowExecTimeout\": \"PT1H\" } When you define a state in a serverless workflow, you can use the timeouts property to configure the maximum time to complete this state. When that time is overdue, the state is considered timed-out, and the engine continues the execution from this state. The execution flow depends on the state type, for instance, a transition to a next state. All the properties you can use to configure state timeouts are described in the Serverless Workflow specification. Event-based states can use the sub-property eventTimeout to configure the maximum time to wait for an event to arrive. Callback state can be used when you need to execute an action, in general to call an external service, and wait for an asynchronous response in form of an event, the callback. Once the response event is consumed, the workflow continues the execution, in general moving to the next state defined in the transition property. See more on Callback state in Kogito Serverless Workflow. Since the callback state halts the execution util the event is consumed, you can define an eventTimeout for it, and in case the event does not arrive in the defined duration time, the workflow continues the execution moving to the next state defined in the transition, see the example. Example of callback state with timeout { \"name\": \"CallbackState\", \"type\": \"callback\", \"action\": { \"name\": \"callbackAction\", \"functionRef\": { \"refName\": \"callbackFunction\", \"arguments\": { \"input\": \"${\\\"callback-state-timeouts: \\\" + $WORKFLOW.instanceId + \\\" has executed the callbackFunction.\\\"}\" } } }, \"eventRef\": \"callbackEvent\", \"transition\": \"CheckEventArrival\", \"onErrors\": [ { \"errorRef\": \"callbackError\", \"transition\": \"FinalizeWithError\" } ], \"timeouts\": { \"eventTimeout\": \"PT30S\" } } The switch state can be used when you need to take an action based on conditions, defined with the eventConditions property, where the workflow execution waits to make a decision depending on the events to be consumed and matched, defined through event definition. In this situation, you can define an event timeout, that controls the maximum time to wait for an event to match the conditions, if this time is expired, the workflow moves to the state defined in the defaultCondition property of the switch state, as you can see in the example. See more details about this state on the Serverless Workflow specification. Example of switch state with timeout { \"name\": \"ChooseOnEvent\", \"type\": \"switch\", \"eventConditions\": [ { \"eventRef\": \"visaApprovedEvent\", \"transition\": \"ApprovedVisa\" }, { \"eventRef\": \"visaDeniedEvent\", \"transition\": \"DeniedVisa\" } ], \"defaultCondition\": { \"transition\": \"HandleNoVisaDecision\" }, \"timeouts\": { \"eventTimeout\": \"PT5S\" } } The event state is used to wait for one or more events to be received by the workflow and then continue the execution. If the event state is a starting state, a new workflow instance is created. The event state is not supported as a starting state if the exclusive flag is set to false, therefore timeout is not supported in this case. The timeouts property is used for this state to configure the maximum time the workflow should wait for the defined events to arrive. If this time is exceeded and the events are not received, the workflow moves to the state defined in the transition property or ends the workflow instance without performing any actions in case of an end state. You can see this in the example. For more information about event state timeout, see Serverless Workflow specification. Example of event state with timeout { \"name\": \"WaitForEvent\", \"type\": \"event\", \"onEvents\": [ { \"eventRefs\": [ \"event1\" ], \"eventDataFilter\": { \"data\": \"${ \\\"The event1 was received.\\\" }\", \"toStateData\": \"${ .exitMessage }\" }, \"actions\": [ { \"name\": \"printAfterEvent1\", \"functionRef\": { \"refName\": \"systemOut\", \"arguments\": { \"message\": \"${\\\"event-state-timeouts: \\\" + $WORKFLOW.instanceId + \\\" executing actions for event1.\\\"}\" } } } ] }, { \"eventRefs\": [ \"event2\" ], \"eventDataFilter\": { \"data\": \"${ \\\"The event2 was received.\\\" }\", \"toStateData\": \"${ .exitMessage }\" }, \"actions\": [ { \"name\": \"printAfterEvent2\", \"functionRef\": { \"refName\": \"systemOut\", \"arguments\": { \"message\": \"${\\\"event-state-timeouts: \\\" + $WORKFLOW.instanceId + \\\" executing actions for event2.\\\"}\" } } } ] } ], \"timeouts\": { \"eventTimeout\": \"PT30S\" }, \"transition\": \"PrintExitMessage\" } In order to deploy a workflow that contains timeouts or any other timer-based action, it is necessary to have a job service running in your environment, which is an external service responsible to control the workflows timers, see the job service guide for more information. In the timeout example you can see the details of how set up a Knative infrastructure with the workflow and job service running. The communication from the workflow application with Job Service is done through an addon, which is responsible for publishing and consuming events related to timers. When you run the workflow as a Knative service, you must add the kogito-addons-quarkus-jobs-knative-eventing to your project and provide the proper configuration. Dependency in the pom.xml: Callback state example with timeout org.kie.kogito kogito-addons-quarkus-jobs-knative-eventing Configuration parameters: Callback state example with timeout # Events produced by kogito-addons-quarkus-jobs-knative-eventing to program the timers on the Job Service. mp.messaging.outgoing.kogito-job-service-job-request-events.connector=quarkus-http mp.messaging.outgoing.kogito-job-service-job-request-events.url=${K_SINK:http://localhost:8280/jobs/events} mp.messaging.outgoing.kogito-job-service-job-request-events.method=POST The K_SINK variable used in the URL configuration for the outgoing channel in the configuration, is injected by Knative Eventing, more information on Consuming and producing events on Knative Eventing. You can check Timeout example in Kogito Serverless Workflow to see how to use and configure workflows with timeouts. Callback state in Kogito Serverless Workflow Timeout example in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Timeouts in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"timeouts-support","url":"/serverlessworkflow/latest/core/timeouts-support.html","titles":[{"text":"Workflow timeout","hash":"_workflow_timeout","id":1},{"text":"Event timeout","hash":"_event_timeout","id":2},{"text":"Callback state timeout","hash":"_callback_state_timeout","id":3},{"text":"Switch state timeout","hash":"_switch_state_timeout","id":4},{"text":"Event state timeout","hash":"_event_state_timeout","id":5},{"text":"Deploying a timed-based workflow","hash":"_deploying_a_timed_based_workflow","id":6},{"text":"Addon configuration in the workflow runtime","hash":"job-addon-configuration","id":7},{"text":"Timeout showcase example","hash":"timeout-example","id":8},{"text":"Additional resources","hash":"_additional_resources","id":9},{"text":"Found an issue?","hash":"_found_an_issue","id":10}]},"9":{"id":9,"text":"Each workflow instance is associated with a data model. A data model consists of a JSON object regardless of whether the workflow file contains YAML or JSON. The initial content of the JSON object depends on how the workflow is started. If the workflow is created using the Cloud Event, then the workflow content is taken from the data property. However, if the workflow is started through an HTTP POST request, then the workflow content is taken from the request body. The workflow expressions in the Serverless Workflow specification are used to interact with the data model. The supported expression languages include JsonPath and jq. jq expression language is the default language. However, you can change the expression language to JsonPath using the expressionLang property. This document describes the usage of jq expressions in switch state conditions, action function arguments, and data filtering. The conditions occurring in a switch state enable the workflow designer to select the path that workflow follows based on the data model content. A condition in a switch state is an expression, which returns a boolean value when evaluated against the data model. If a condition associated with a state transition returns true, then the workflow must follow that transition. For example, in the serverless-workflow-greeting-quarkus example application, a message is displayed depending on the selected language, that is English or Spanish. If the value of the language property is English, the constant literal injected on the message property is Hello from, otherwise the constant value injected on the message property is Saludos desde…. The switch state in the serverless-workflow-greeting-quarkus example application contains the following conditions, which in turn contains two jq expressions returning a boolean. Example conditions in serverless-workflow-greeting-quarkus \"dataConditions\": [ { \"condition\": \"${ .language == \\\"English\\\" }\", \"transition\": \"GreetInEnglish\" }, { \"condition\": \"${ .language == \\\"Spanish\\\" }\", \"transition\": \"GreetInSpanish\" } ] The Serverless Workflow specification requires all the expressions to be embedded within ${… }. However, Kogito Serverless Workflow figures out whether or not a string is an expression. Therefore, you can save characters and skip ${ in the beginning and } in the end. In case of portability, you must embed the expressions within ${… }. In the Serverless Workflow specification, you can define workflow functions, which can be invoked several times by the workflow states. Each workflow function call might contain different arguments, which are specified using the function arguments. For example, you can see the temperature conversion function definition in serverless-workflow-temperature-conversion example application. The temperature conversion function performs OpenAPI invocations to convert Fahrenheit to Celsius. For more information about OpenAPI, see Orchestrating the OpenAPI services. Following is the subtraction function in serverless-workflow-temperature-conversion example application: Example subtraction function in serverless-workflow-temperature-conversion \"functions\": [ { \"name\": \"subtraction\", \"operation\": \"specs/subtraction.yaml#doOperation\" }] The arguments in subtraction function are expressed as a JSON object, and the property values of the JSON object are either a string containing an expression or a JSON data type, such as string, number, or boolean. Example arguments in subtraction function \"functionRef\": { \"refName\": \"subtraction\", \"arguments\": { \"leftElement\": \".fahrenheit\", \"rightElement\": \".subtractValue\" } } In the previous example, the left number is equal to the fahrenheit property (an input number that invokes the workflow), and the right number is equal to the subtractValue property (a constant number that is injected to the workflow model by SetConstants state). Once the expression evaluation is resolved for all properties that contain an expression, the resulting object is passed in the OpenAPI request. Based on the OpenAPI definition, the properties in the JSON object are used as body, path, query, or header of the upcoming REST invocation. Following is an example of function arguments defined as string that contains an expression, returning a JSON object: Example function arguments defined as string \"functionRef\": { \"refName\": \"subtraction\", \"arguments\": \"{leftElement: .fahrenheit, rightElement : .subtractValue}\" } In the previous example, the result of the expression evaluation is the same JSON object than in the first case, which is passed as arguments of the OpenAPI request. The Serverless Workflow specification defines the following filtering mechanisms to select which information must be part of the workflow data model: Action data filters: Select the part of the action result that is merged into the data model, which overrides the properties that share the name with the selected action result. Event data filters: Similar to the action data filters, but apply to the events instead of actions. State data filters: Define the workflow model to the JSON object, which is returned by the expression and discards an existing property. State and Action data filter example You can see serverless-workflow-expression-quarkus example application, in which actions and state data filters are used. Following is an expression function in serverless-workflow-expression-quarkus example application: Example expression function in serverless-workflow-expression-quarkus \"functions\": [ { \"name\": \"max\", \"type\": \"expression\", \"operation\": \"{max: .numbers | max_by(.x), min: .numbers | min_by(.y)}\" } ] In the previous example, an array of complex numbers (x is real coordinate and y is imaginary coordinate) is accepted and an expression function is defined to calculate the maximum value of x and minimum value of y for the numbers array. Also, the serverless-workflow-expression-quarkus example application contains an action data filter defined inside squareState action and a state data filter defined inside finish state. The action data filter selects the maximum value of x to be merged to the workflow model, and the state data filter defines the maximum value as the entire workflow model that is returned as the workflow response. The previous example expression also contains a max function of type expression and an operation property containing a string of jq expression. This jq expression returns a JSON object, in which the max property is the maximum value of the x coordinate and the min property is the minimum value of the y coordinate. Following is an action data filter in serverless-workflow-expression-quarkus example application: Example action data filter in serverless-workflow-expression-quarkus \"actions\": [ { \"name\": \"maxAction\", \"functionRef\": { \"refName\": \"max\" }, \"actionDataFilter\": { \"results\" : \".max.x\", \"toStateData\" : \".number\" } } ] In case the previous example of action data filter is not added in the serverless-workflow-expression-quarkus, then the entire JSON object returned by the function is merged into the workflow model. The previous action data filter contains the following properties: results, selecting the attribute from the data returned by the action. toStateData, indicating the name of the target property inside the workflow model. If the target property does not exist, then a target property is added. Therefore, after executing the action, the workflow model consists of a number property, containing the maximum value of x and the original numbers array. After that, the workflow transitions to the finish state. Example state data filter in serverless-workflow-expression-quarkus \"name\": \"finish\", \"type\": \"operation\", \"stateDataFilter\": { \"input\": \"{result: .number}\" } The original numbers array should not be returned as a result of the workflow execution, therefore the final stage consists of a state data filter defining the content of the output model. The output model should contain a result property and the value of result property should be the maximum number that is stored by the previous state in the number property. In the previous example, the workflow model is changed by the input property of the filter, which means that the output model is updated before the state is executed. As a final result, the output model consists of a result property, containing the maximum value of x. Event data filter example You can find an example of event data filtering in the serverless-workflow-callback-quarkus example application. Example event filter \"eventRef\": \"waitEvent\", \"eventDataFilter\": { \"data\": \".result\", \"toStateData\": \".move\" } The previous example of the event filter copies the content of CloudEvent data result field into the workflow model move field. Configuring the OpenAPI services endpoints If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"jq expressions in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"understanding-jq-expressions","url":"/serverlessworkflow/latest/core/understanding-jq-expressions.html","titles":[{"text":"Example of jq expressions in switch conditions","hash":"ref-example-jq-expression-switch-conditions","id":1},{"text":"Example of jq expressions in function arguments","hash":"ref-example-jq-expression-function-arguments","id":2},{"text":"Example of jq expressions in data filtering","hash":"ref-example-jq-expression-data-filtering","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"10":{"id":10,"text":"This document describes how you can handle the errors that might occur in Kogito Serverless Workflow. The Serverless Workflow specification provides an error handling mechanism, enabling you to handle the errors that might happen during the interactions between the workflow and external systems. When an error occurs, it changes the regular workflow sequence. In such cases, a workflow state transitions to an alternative state that can potentially handle the error, instead of transitioning to the predefined state. Note that error definition for a workflow is optional. If error handling is not defined, then the workflow execution is aborted when an error occurs. As a developer, you can consider the error handling in Kogito Serverless Workflow as a try-catch or a goto construct. An error definition in a workflow is composed of a name and code parameters. The name is a short and natural language description of an error, such as wrong parameter. The code parameter helps the implementation to identify the error. The code parameter is mandatory and the engine uses different strategies to map the provided value to an exception encountered at runtime. The available strategies include fully qualified class name, error message, and status code. Fully Qualified Class Name (FQCN) You can define the mapping as the fully qualified Java class name of an exception type. To determine if an exception is handled by an error definition, a workflow first checks whether or not the type of the Java exception is an instance of the exception that is specified in the error definition. Otherwise, the workflow recursively applies the same check to any embedded exception within the original Java one, till the exception chain is exhausted. Table 1. Runtime exception examples: Runtime exception Error code definition java.lang.RuntimeException java.lang.RuntimeException java.lang.IllegalStateException java.lang.RuntimeException Error message You can define the mapping as a partial match of the error message using regex patterns. A workflow verifies whether the message of the Java exception matches the value provided in the error code. The validation is performed using a regex matcher. The validation is successful if a partial match is found. Note that the validation is performed in a case-sensitive manner. If case-insensitive pattern matching is desired, use the embedded flag expression (?i) within the regular expression. Table 2. Error message examples: Error message of runtime exception Error code definition Unknown error, status code 400 Unknown error Unknown error, status code 400 (?i)Error or error Unknown error, status code 400 (.*)status code 4[0-9]{2} or status code 4[0-9]{2} Status code You can define the mapping as a status code returned by the invoked service. The external services return status codes in the event of a failure. For example, HTTP status codes are returned by REST or OpenAPI service invocations. In this case, the workflow verifies the defined error code against the HTTP code from the underlying response object. You can define the error code either as an HTTP code or as a colon-separated string, in which the error definition contains the error code in the last part. Table 3. Status code examples: HTTP status code Error code definition 400 400 400 HTTP:400 The workflow in the serverless-workflow-error-quarkus example application illustrate the usage of the error handling mechanism. Figure 1. Example of error handling The workflow accepts an integer number as the input model. When the workflow starts, it invokes the isEven Java service, which accepts that integer number as a parameter. This service throws an IllegalArgumentException exception if the integer number is odd. This means that if the integer number is even, the workflow transitions to the even state, however, if the integer number is odd, the workflow transitions to the odd state, resulting in a different model output. Example checkEven state { \"name\": \"checkEven\", \"type\": \"operation\", \"actions\": [ { \"name\": \"checkEvenAction\", \"functionRef\": { \"refName\": \"isEven\", \"arguments\": { \"number\": \"$.number\" } } } ], \"transition\": \"even\", \"onErrors\": [ { \"errorRef\": \"odd number\", \"transition\": \"odd\" } ] } The workflow defines a function that invokes the isEven method of org.kie.kogito.examples.EvenService class. This function uses a custom function type, enabling Kogito Serverless Workflow to invoke Java methods. Example isEven function definition { \"name\": \"isEven\", \"type\": \"custom\", \"operation\": \"service:java:org.kie.kogito.examples.EvenService::isEven\" } To handle the error, the workflow defines an odd number error which handles any runtime exception. As the IllegalArgumentException is a child of RuntimeException, if isEven method throws the exception, it will be handled. Example error definition \"errors\": [ { \"name\": \"odd number\", \"code\": \"java.lang.RuntimeException\" } ] The Inject state is used to populate the model with specific JSON payload. Therefore, the even and odd state defines the message property as even and odd respectively. { \"name\": \"even\", \"type\": \"inject\", \"data\": { \"numberType\": \"even\" }, \"transition\": \"finish\" }, { \"name\": \"odd\", \"type\": \"inject\", \"data\": { \"numberType\": \"odd\" }, \"transition\": \"finish\" } The finish state in the serverless-workflow-error-quarkus example application displays the model content to the console, so you can verify that the expected message has been set. { \"name\": \"finish\", \"type\": \"operation\", \"actions\": [ { \"name\": \"printAction\", \"functionRef\": { \"refName\": \"printMessage\", \"arguments\": { \"message\": \"$.numberType\" } } } ], \"end\": { \"terminate\": \"true\" } } Creating your first workflow service If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Error handling in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"understanding-workflow-error-handling","url":"/serverlessworkflow/latest/core/understanding-workflow-error-handling.html","titles":[{"text":"Error definition","hash":"con-error-definition","id":1},{"text":"Example of error handling","hash":"ref-example-error-handling","id":2},{"text":"Additional resources","hash":"_additional_resources","id":3},{"text":"Found an issue?","hash":"_found_an_issue","id":4}]},"11":{"id":11,"text":"This document describes how you can run parallel tasks in Kogito Serverless Workflow. The testing procedure described in this document is based on the serverless-workflow-service-calls-quarkus example application in GitHub repository. Kogito Serverless Workflow serializes the execution of parallel tasks. Therefore, the word \"parallel\" does not indicate simultaneous execution, but it means that there is no logical dependency between the execution of branches. An inactive branch can start or resume the execution of a task without waiting for an active branch to be completed, in case the latter suspends the execution (for example, wait for an event reception). The serverless-workflow-service-calls-quarkus example application is a workflow that concatenates three strings and returns a result. The concatenation in the example application is done in parallel, which includes one branch per three strings. You can create a workflow, which performs a series of parallel tasks. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. Procedure Create a workflow file named as parallel.sw.json under the src/main/resources/ directory. Add the following content to the parallel.sw.json file: Example content for parallel.sw.json file { \"id\": \"parallel\", \"version\": \"1.0\", \"specVersion\": \"0.8\", \"name\": \"Welcome to the Parallel dimension\", \"description\": \"Testing parallelism\", \"start\": \"Parallel\", \"functions\": [ { \"name\": \"concatA\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"A\\\"\" (1) }, { \"name\": \"concatB\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"B\\\"\" (2) }, { \"name\": \"concatC\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"C\\\"\" (3) } ], \"states\": [ { \"name\": \"Parallel\", \"type\": \"parallel\", (4) \"branches\": [ (5) { \"name\": \"branchA\", \"actions\": [ { \"functionRef\": \"concatA\" (6) } ] }, { \"name\": \"branchB\", \"actions\": [ { \"functionRef\": \"concatB\" (7) } ] }, { \"name\": \"branchC\", \"actions\": [ { \"functionRef\": \"concatC\" (8) } ] } ], \"completionType\": \"allOf\", (9) \"end\": { \"terminate\": true } } ] } 1 Function that concatenates the string A. 2 Function that concatenates the string B. 3 Function that concatenates the string C. 4 Defines the type of the state as parallel. 5 Defines the branches that run in parallel. 6 Defines the function that runs in branchA. 7 Defines the function that runs in branchB. 8 Defines the function that runs in branchC. 9 Defines the completion type of the parallel state as allOf. This means that the parallel state is completed when all the branches are completed. After you create a workflow that performs a series of parallel tasks, you can run the workflow. Prerequisites A parallel workflow is created. For more information, see Creating a parallel workflow. The workflow application is up and running. You can start the workflow application in development mode by using the following command: mvn quarkus:dev Procedure To run the created parallel workflow, send a request to the /parallel endpoint as shown in the following example request: Example request curl -X 'POST' \\ 'http://localhost:8080/parallel' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{}' Example response {\"id\":\"358f97ba-f0f9-4f25-86cc-4b35e85c2406\",\"workflowdata\":{\"result\":\"ABC\"}} The \"result\":\"ABC\" in the previous example response might be different in each request since the branches are running in parallel and the execution order of the branches is unpredictable. Note that the parallel workflow data shows the concatenated string as result. You can define the \"completionType\": \"atLeast\" to run only some branches in parallel workflow, instead of defining \"completionType\": \"allOf\". When you define \"completionType\": \"atLeast\", you also need to define the minimum number of branches that you want to run by defining the \"numCompleted\": property. Prerequisites A parallel workflow is created. For more information, see Creating a parallel workflow. Procedure Change the completionType property to \"atLeast\" and add the \"numCompleted\": 2 property to the parallel state. Example parallel workflow { \"id\": \"parallel\", \"version\": \"1.0\", \"specVersion\": \"0.8\", \"name\": \"Welcome to the Parallel dimension\", \"description\": \"Testing parallelism\", \"start\": \"Parallel\", \"functions\": [ { \"name\": \"concatA\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"A\\\"\" }, { \"name\": \"concatB\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"B\\\"\" }, { \"name\": \"concatC\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"C\\\"\" } ], \"states\": [ { \"name\": \"Parallel\", \"type\": \"parallel\", \"branches\": [ { \"name\": \"branchA\", \"actions\": [ { \"functionRef\": \"concatA\" } ] }, { \"name\": \"branchB\", \"actions\": [ { \"functionRef\": \"concatB\" } ] }, { \"name\": \"branchC\", \"actions\": [ { \"functionRef\": \"concatC\" } ] } ], \"completionType\": \"atLeast\", (1) \"numCompleted\": \"2\", (2) \"end\": { \"terminate\": true } } ] } 1 Defines the completion type of the parallel state as atLeast. 2 Defines the minimum number of branches that you want to run. This means that the parallel state is completed when at least two branches are completed. To run the created parallel workflow, send a request to the /parallel endpoint as shown in the following example: Example request curl -X 'POST' \\ 'http://localhost:8080/parallel' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{}' Example response {\"id\":\"3da62df1-c4e7-48c9-a3e4-7f63872c92f4\",\"workflowdata\":{\"result\":\"BC\"}} The \"result\":\"BC\" in the response might be different in each request. The parallel workflow data shows the concatenated string as result, but in this case, the workflow concatenates only two letters. Creating your first workflow service If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Parallelism in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"working-with-parallelism","url":"/serverlessworkflow/latest/core/working-with-parallelism.html","titles":[{"text":"Creating a parallel workflow","hash":"proc-parallel-creating-the-workflow","id":1},{"text":"Running a parallel workflow","hash":"proc-parallel-run-workflow","id":2},{"text":"Running some branches in parallel workflow","hash":"proc-parallel-run-branches","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"12":{"id":12,"text":"This document describes how you can configure a workflow to interact with Knative Eventing. Knative Eventing abstracts the events consumption through event source and sink components. An event source is a Kubernetes object that produces the event, and a sink is another Kubernetes object that receives the event. The workflow application can act as a source, a sink, or both in Knative Eventing platform. You need to add the Kogito Knative Eventing add-on dependency to indicate that you are using Knative Eventing. To enable a workflow to use Knative Eventing, add the following dependency to the pom.xml file of your project: Apache Maven Quarkus CLI Manually mvn quarkus:add-extension -Dextensions=\"kogito-addons-quarkus-knative-eventing\" quarkus extension add kogito-addons-quarkus-knative-eventing org.kie.kogito kogito-addons-quarkus-knative-eventing If you have used the Knative workflow CLI to create your project, then the Kogito Knative Eventing extension is already present. For more information about creating a project using Knative workflow CLI, see Kogito Serverless Workflow plug-in for Knative CLI. The Kogito Knative Eventing add-on takes care of the required dependencies and additional configuration that the workflow application needs, to interact with the Knative Eventing platform. Although the default configuration that the Quarkus Knative Eventing add-on provides ought to be enough for most of the use cases, sometimes you might need to do additional configuration to serve a specific scenario. The configuration described in this section is useful if your workflow consists of at least one produced type event definition. In this scenario, the workflow application produces events that act as a Knative source. HTTP transport configuration Knative injects the K_SINK environment variable in the workflow application when you deploy the application in the cluster. Kogito Serverless Workflow uses the K_SINK environment variable to address the produced events to the correct Knative sink. For more information, see SinkBinding in Knative Eventing documentation. The following table lists the HTTP transport configuration properties: Table 1. HTTP transport configuration properties Property Default value Description mp.messaging.outgoing.kogito_outgoing_stream.url ${K_SINK:http://localhost:9090} This property indicates where to POST the HTTP CloudEvent message. mp.messaging.outgoing.kogito_outgoing_stream.connector quarkus-http This property indicates the Quarkus Smallrye channel implementation. You might not need to change this property. If the K_SINK variable is not present, then the default value is http://localhost:9000. You can override the default value in development environments. Health check configuration By default, the workflow application generates a health check probe to verify if the Knative platform injected a valid K_SINK variable. If the K_SINK variable is not present, then the pod is not in the state of receiving requests. The following table lists the health check probe configuration property: Table 2. Health check probe configuration property Property Default value Description org.kie.kogito.addons.knative.eventing.health_enabled true This property indicates if the health check is enabled to verify that the K_SINK variable is injected into the environment. Knative target sink generation configuration The Kogito Knative Eventing add-on generates a few Knative objects during build time. By default, the add-on generates a Knative Broker named default if the workflow application is acting as an event source. The following table lists the configuration properties related to Knative sink generation: Table 3. Knative sink generation configuration properties Property Default value Description org.kie.kogito.addons.knative.eventing.auto_generate_broker true This property indicates if the Kogito Knative Eventing add-on generates a default Knative Broker in memory to sink and dispatch the messages. Set this property to false in case a broker is already installed in your namespace. Note that you can use org.kie.kogito.addons.knative.eventing.sink.* property to configure your custom sink. If this property is not set, then the auto-generated broker works as a sink. org.kie.kogito.addons.knative.eventing.sink.namespace This property indicates the namespace where the generated Knative sink is deployed. org.kie.kogito.addons.knative.eventing.sink.api_version eventing.knative.dev/v1 This property indicates the API group and version of the generated Knative sink. org.kie.kogito.addons.knative.eventing.sink.name default This property indicates the name of the generated Knative sink. org.kie.kogito.addons.knative.eventing.sink.kind Broker This property indicates the Kubernetes kind of the generated Knative sink. The configuration described in this section is useful if your workflow consists of at least one consumed type event definition. In this scenario, the workflow application consumes events, acting as a Knative sink. When the workflow application needs to consume events, the Knative Eventing add-on generates Knative triggers. The Knative triggers are configured to listen to a broker with the required event type, which is defined in your workflow definition. The following table lists the configuration property related to Knative sink generation: Table 4. Knative sink generation configuration property Property Default value Description org.kie.kogito.addons.knative.eventing.broker default This property indicates the name of the default Knative broker that is deployed in the Kubernetes namespace. This broker is used as the reference to create the Knative triggers, which are responsible to delegate the events that the workflow service consumes. mp.messaging.incoming.kogito_incoming_stream.path / (root path) This property indicates the HTTP path where the workflow application will listen for the CloudEvents in the default incoming channel. mp.messaging.incoming..path / (root path) This property indicates the HTTP path where the workflow application will listen for the CloudEvents in the specific given channel name. The channel name is the event type as defined in the Serverless Workflow events definition. You can send HTTP CloudEvents to the workflow application endpoint by using any tool that’s capable to produce HTTP requests. The only requirement is that the request conforms to the CloudEvents specification. For example, with the help of curl, you can send an event to the workflow using the following command: Sending a CloudEvent over HTTP using the structured format. curl -X POST \\ -H 'Content-Type: application/cloudevents+json' \\ -d '{\"datacontenttype\": \"application/json\", \"specversion\":\"1.0\",\"id\":\"41495513-a9ef-4a81-8479-21bb14db61f0\",\"source\":\"/local/curl\",\"type\":\"kogito.serverless.loanbroker.aggregated.quotes.response\",\"data\": { \"amount\": 300000, \"term\": 30, \"credit\": { \"score\": 700, \"history\": 15 }, \"quotes\": [{ \"bankId\": \"Bank1\", \"rate\": 12.2 }, {\"bankId\": \"Bank2\", \"rate\": 10}] } } ' \\ http://localhost:8080 In this example we are using the CloudEvents structured format, which includes every event information within the request payload. Note the header Content-Type being application/cloudevents+json. Alternatively, you can use the CloudEvents binary format, which includes the event metadata in the HTTP header. For example, using the same event as before: Sending a CloudEvent over HTTP using the binary format. curl -X POST -i \\ -H 'Content-Type: application/json' \\ -H 'ce-specversion: 1.0' \\ -H 'ce-id: 41495513-a9ef-4a81-8479-21bb14db61f0' \\ -H 'ce-source: /local/curl' \\ -H 'ce-type: kogito.serverless.loanbroker.aggregated.quotes.response' \\ -d '{ \"amount\": 300000, \"term\": 30, \"credit\": { \"score\": 700, \"history\": 15 }, \"quotes\": [{ \"bankId\": \"Bank1\", \"rate\": 12.2 }, {\"bankId\": \"Bank2\", \"rate\": 10}] }' \\ http://localhost:8080/ You can use this tool to test your Kogito Serverless Workflow application locally and verify if the events are being consumed correctly by the workflow. For more information about testing incoming and outgoing CloudEvents over HTTP, see Mocking HTTP CloudEvents sink using WireMock. Kogito Serverless Workflow can generate Knative objects during the workflow application build time to facilitate the deployment in a Kubernetes cluster. However, you do not need to use the generated objects if you plan to create and deploy the Knative objects by yourself. Prerequisites A workflow application with the Knative Eventing add-on is created. Procedure Add the following Quarkus Kubernetes extension dependency to the pom.xml file of your project: Apache Maven Quarkus CLI Manually mvn quarkus:add-extension -Dextensions=\"quarkus-kubernetes,quarkus-container-image-jib\" quarkus extension add quarkus-kubernetes quarkus-container-image-jib io.quarkus quarkus-kubernetes io.quarkus quarkus-container-image-jib Add the quarkus.kubernetes.deployment-target=knative property to your application.properties file. Build your workflow application using the following command: Apache Maven Quarkus CLI Knative CLI mvn clean install quarkus build kn workflow build --image= The target/kubernetes directory contains two files including knative.yml and kogito.yml. The knative.yml file contains the Knative service representing the workflow application. The kogito.yml file contains the required objects to connect the workflow application to the Knative Eventing platform. You can use the generated files to deploy the workflow application in the Kubernetes cluster using the following command: Kubernetes command line tool Knative CLI kubectl apply -f target/kogito.yml kubectl apply -f target/knative.yml kn workflow deploy For more information about building and deploying the workflow application, see Building workflow images using Quarkus CLI. A workflow must contain at least one event definition for the Knative Eventing add-on to generate the event binding objects. The following is an example of a workflow containing produced and consumed events: Example of a workflow with produced and consumed events { \"events\": [ { \"name\": \"requestQuote\", \"type\": \"kogito.sw.request.quote\", \"kind\": \"produced\" }, { \"name\": \"aggregatedQuotesResponse\", \"type\": \"kogito.loanbroker.aggregated.quotes.response\", \"kind\": \"consumed\", \"source\": \"/kogito/serverless/loanbroker/aggregator\" }] } A workflow application with events definition needs a Knative SinkBinding to configure the target sink. The target sink is where the produced events (kogito.sw.request.quote event in the previous example) are dispatched. In this case, the Knative Eventing add-on generates an object as shown in the following example: Example of a Knative SinkBinding generated by the add-on apiVersion: sources.knative.dev/v1 kind: SinkBinding metadata: name: sb-loanbroker-flow spec: sink: ref: apiVersion: eventing.knative.dev/v1 kind: Broker name: default namespace: \"\" subject: apiVersion: serving.knative.dev/v1 kind: Service name: loanbroker-flow Regardless of the number of produced events in the workflow definition, only one SinkBinding is generated. When you define multiple events, ensure that your sink is a Knative Broker. The listener services can configure the subscriptions or triggers to consume the events from the broker. For the kogito.loanbroker.aggregated.quotes.response event in a previous example, the Knative Eventing platform must be configured with a Knative trigger using an appropriate CloudEvent filter. The following example shows the Trigger generated by the Knative Eventing add-on: Example of a Knative Trigger generated by the add-on apiVersion: eventing.knative.dev/v1 kind: Trigger metadata: name: kogito-serverless-loanbroker-aggregated-quotes-response-trigger spec: broker: default filter: attributes: type: kogito.loanbroker.aggregated.quotes.response subscriber: ref: apiVersion: serving.knative.dev/v1 kind: Service name: loanbroker-flow For each consumed event definition, the Knative Eventing add-on generates one Knative Trigger. Mocking HTTP CloudEvents sink using WireMock Consuming and producing events using Apache Kafka Event correlation in Kogito Serverless Workflow Callback state in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Consuming and producing events on Knative Eventing","component":"serverlessworkflow","version":"1.40.0.Final","name":"consume-produce-events-with-knative-eventing","url":"/serverlessworkflow/latest/eventing/consume-produce-events-with-knative-eventing.html","titles":[{"text":"Knative Eventing add-on source configuration","hash":"ref-knative-eventing-add-on-source-configuration","id":1},{"text":"Knative Eventing add-on sink configuration","hash":"ref-knative-eventing-add-on-sink-configuration","id":2},{"text":"Manually sending events to an HTTP endpoint","hash":"proc-manually-sending-events-to-an-http-endpoint","id":3},{"text":"Generating Knative objects during build time","hash":"proc-generating-kn-objects-build-time","id":4},{"text":"Example of workflow event definition in Knative","hash":"ref-example-sw-event-definition-knative","id":5},{"text":"Additional resources","hash":"_additional_resources","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"13":{"id":13,"text":"This document describes how you can configure a workflow to interact with Apache Kafka. Apache Kafka uses an abstraction called topic to classify events. Events are published to a topic, and events are consumed from a topic. Kogito Serverless Workflow uses Smallrye connectors to encapsulate access to several brokers, enabling Kogito Serverless Workflow to support different brokers by changing the configuration and classpath dependencies. However, Smallrye connectors also introduce an entity called channel. The Smallrye channels are unidirectional and need to be declared as input (incoming) or output (outgoing). When using Apache Kafka, the Smallrye channels must be mapped to Apache Kafka topics through configuration. You need to add the Kafka Quarkus Smallrye connector dependency to indicate that you are using Apache Kafka. To enable a workflow to use Apache Kafka Smallrye connector, add the following dependency to the pom.xml file of your project if using Apache Maven: Add dependency for Apache Kafka Smallrye connector in pom.xml io.quarkus quarkus-smallrye-reactive-messaging-kafka The messaging capabilities are included in the Quarkus Serverless Workflow extension, even though the messaging capabilities are optional. This means you do not need to explicitly add the messaging add-on dependency when using Kogito Serverless Workflow. You can configure Smallrye channels for a workflow using event definitions. The Smallrye channels are defined using Quarkus configuration. The format for Smallrye channel properties is mp.messaging.[incoming|outgoing]... Kogito Serverless Workflow allows the following channel mapping strategies: Define one default incoming channel to receive all the incoming messages and one default outgoing channel to store all the published messages. Define a channel for each CloudEvent type so that every message type has a dedicated channel. Define a channel for certain CloudEvent types. The non-mapped CloudEvent types uses the default incoming or outgoing channel. Kogito Serverless Workflow first searches for a channel name in the properties that is same as CloudEvent type. If the channel name is found, Kogito Serverless Workflow uses the channel for that CloudEvent type. However, if the channel name is not found, Kogito Serverless Workflow searches for the default channel definition. In case the default channel definition is not existing, then an error is reported. The default incoming channel is kogito_incoming_stream and the default outgoing channel is kogito_outgoing_stream. To change the default incoming and outgoing topic names, you can use the following properties: Properties to change default incoming and outgoing topic names kogito.addon.messaging.incoming.defaultName= kogito.addon.messaging.outgoing.defaultName= The following properties are mandatory for each channel: connector: This property needs to be set to smallrye-kafka. Depending on whether the channel is incoming or outgoing: value.deserializer: This property is used for incoming channels. Unless you have specific marshaling requirements, you must set this property to org.apache.kafka.common.serialization.ByteArrayDeserializer or org.apache.kafka.common.serialization.StringDeserializer. value.serializer: This property is used for outgoing channels. Unless you have specific marshaling requirements, you must set this property to org.apache.kafka.common.serialization.ByteArraySerializer or org.apache.kafka.common.serialization.StringSerializer. topic is another relevant but optional property that might be set for a channel. The topic property contains the Apache Kafka topic name to be used for a channel. If topic property is not set, then the channel name is used as topic name. For more information about the properties that you can use for a channel when using Apache Kafka connector, see the properties list. This section describes examples of channel mapping, using the properties mentioned in the previous section. One Smallrye channel per CloudEvent type The serverless-workflow-callback-quarkus example application uses two CloudEvent types, including wait (incoming) and resume (outgoing). Kafka topic names match the CloudEvent types. Therefore, it is suitable to select the mapping strategy of one channel per CloudEvent type. This suggests that two channels must be configured. Note that you do not need to set the optional topic property as the channel name matches the CloudEvent type. Example property configuration mp.messaging.incoming.wait.connector=smallrye-kafka mp.messaging.incoming.wait.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer mp.messaging.outgoing.resume.connector=smallrye-kafka mp.messaging.outgoing.resume.value.serializer=org.apache.kafka.common.serialization.StringSerializer Default channel mapping The serverless-workflow-events-quarkus example application uses two CloudEvent types, including applicants (incoming) and decisions (outgoing). As mentioned before, Kafka topic names match the CloudEvent types. However, to use the default channel functionality, kogito_incoming_stream and kogito_outgoing_stream are used as channel names. As explained before, since there is no specific channel name for the CloudEvent type, then the default channels are used. Also, the default channels need to be mapped to the desired topic name using the topic property. Example property configuration mp.messaging.incoming.kogito_incoming_stream.connector=smallrye-kafka mp.messaging.incoming.kogito_incoming_stream.topic=applicants mp.messaging.incoming.kogito_incoming_stream.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer mp.messaging.outgoing.kogito_outgoing_stream.connector=smallrye-kafka mp.messaging.outgoing.kogito_outgoing_stream.topic=decisions mp.messaging.outgoing.kogito_outgoing_stream.value.serializer=org.apache.kafka.common.serialization.StringSerializer Smallrye provide means to manage emitter overflow through OnOverflow annotation Kogito will annotate generated smallrye emitters for a particular channel using the information provided by a property of the form kogito.addon.messaging.emitter..overflow-strategy. The possible values are BUFFER, NONE, UNBOUNDED, FAIL, and DROP. If the value of the strategy is BUFFER, then you must specify the buffer size by using the property of the form kogito.addon.messaging.emitter..buffer-size Therefore, for the wait channel, in the previous example, if we want to buffer as many as 100 events we will add these two properties Example overflow configuration kogito.addon.messaging.emitter.wait.overflow-strategy=BUFFER kogito.addon.messaging.emitter.wait.buffer-size=100 If all your channels use the same strategy and this strategy differs from the BUFFER one (you can change buffer size globally by using the mp.messaging.emitter.default-buffer-size smallrye property). You can set it up by using kogito.addon.messaging.emitter.overflow-strategy=NONE|UNBOUNDED|FAIL|DROP Consuming and producing events on Knative Eventing Event correlation in Kogito Serverless Workflow Callback state in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Consuming and producing events using Apache Kafka","component":"serverlessworkflow","version":"1.40.0.Final","name":"consume-producing-events-with-kafka","url":"/serverlessworkflow/latest/eventing/consume-producing-events-with-kafka.html","titles":[{"text":"Smallrye channels configuration for a workflow","hash":"con-sw-smallrye-channel-configuration","id":1},{"text":"Examples of Smallrye channel mapping","hash":"ref-example-smallrye-channel-mapping","id":2},{"text":"OnOverflow handling","hash":"_onoverflow_handling","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"14":{"id":14,"text":"Event correlation plays a significant role in large event-driven applications. It allows matching one or more events with a particular workflow instance. Correlation rules with domain information can be used when defining consumed events to match a workflow instance. Also, event correlation is a practical alternative to the internal identifier processInstanceId since you can use any external domain identifier as a correlation. A correlation definition consists of one or more attributes associated with an event and the respective workflow to which the event belongs. In Serverless Workflow specification, the correlation property defines the possible correlations for a given event. Each element must contain a contextAttributeName property, which is set for the value that matches an attribute from an event. You can optionally set the contextAttributeValue property, which matches the value for the respective attribute defined in contextAttributeName property for the consumed events in a workflow. The incoming events consumed by the engine must contain the correlation attributes, set in the definition as extension context attributes. The correlation attributes are compliant with the CloudEvent format, therefore, the attributes are not part of the event payload. A new workflow instance must be created using an event, which must be declared in the workflow definition file, containing correlation attributes in the event definition section. For more information about events, see Event state in Kogito Serverless Workflow. Once the event is consumed, the engine extracts the correlation attributes and associates the attributes with the created workflow instance. A start event does not trigger a correlation evaluation, but acts as a moment in which correlation attributes and values are set. The correlation attributes and values are evaluated against other incoming events that might trigger the given instance. Therefore, when a non-start event is consumed and correlation attributes are evaluated, then the engine continues the execution of the matched instances (if any). The following figure shows how engine processes the correlation: Figure 1. Event correlation evaluation process You can see the correlation configuration in the serverless-workflow-correlation-quarkus example application, describing the setup and usage of event correlation in a workflow. Figure 2. Event correlation evaluation process The workflow definition file contains the correlation information, in which the events section is defined as follows: Example event correlation in a workflow \"events\": [ { \"name\": \"newAccountEvent\", \"source\": \"\", \"type\": \"newAccountEventType\", \"correlation\": [ { \"contextAttributeName\": \"userid\" } ] }, { \"name\": \"validateAccountEmailEvent\", \"source\": \"workflow\", \"type\": \"validateAccountEmail\" }, { \"name\": \"validatedAccountEmailEvent\", \"source\": \"workflow\", \"type\": \"validatedAccountEmail\", \"correlation\": [ { \"contextAttributeName\": \"userid\" } ] }, { \"name\": \"activateAccountEvent\", \"source\": \"workflow\", \"type\": \"activateAccount\" }, { \"name\": \"activatedAccountEvent\", \"source\": \"workflow\", \"type\": \"activatedAccount\", \"correlation\": [ { \"contextAttributeName\": \"userid\" } ] } ] You can create a workflow by consuming events as defined in the New User Account Request event state. The New User Account Request event state contains a reference of the newAccountEvent event, containing a correlation definition for userid attribute. Example New User Account Request event state definition { \"name\": \"New User Account Request\", \"type\": \"event\", \"onEvents\": [ { \"eventRefs\": [ \"newAccountEvent\" ] } ], \"transition\": \"Validate User Email\" } When the workflow consumes a new event of newAccountEventType type, a workflow instance is created. After that, the events consumed by the same workflow must contain the same correlation attribute and value, such as userid attribute and 12345 value. This correlation attribute and value is used to evaluate and match the workflow instance to continue the workflow execution. Example incoming start event newAccountEvent { \"specversion\": \"0.3\", \"id\": \"1d174d25-46ac-4785-bc76-457c2d37d2fe\", \"source\": \"\", \"type\": \"newAccountEventType\", \"time\": \"2022-07-25T16:30:35.461988261-03:00\", \"userid\": \"12345\", \"data\": { \"email\": \"test@test.com\", \"userId\": \"12345\" } } In Kogito Serverless Workflow, correlating multiple events together is not supported, therefore, the events are evaluated with correlations independently. Using the workflow definition in serverless-workflow-correlation-quarkus example application, you can define other events that are published and consumed by the workflow. The serverless-workflow-correlation-quarkus example application uses Callback states, such as Validate User Email. This means that once the workflow execution reaches the Callback state, the workflow publishes an event of validateAccountEmailEvent type and waits to receive an event of validatedAccountEmailEvent type. For more information about callback state, see Callback state in Kogito Serverless Workflow. Example Callback state definition { \"name\": \"Validate User Email\", \"type\": \"callback\", \"action\": { \"name\": \"publish validate event\", \"eventRef\": { \"triggerEventRef\": \"validateAccountEmailEvent\" } }, \"eventRef\": \"validatedAccountEmailEvent\", \"transition\": \"Activate User Account\" } The produced events contain the same correlation attributes when the workflow is created. Example produced Callback state event validateAccountEmailEvent { \"id\": \"7640a0af-b7fb-4d94-9d9d-3aa1ace60e79\", \"source\": \"/process/correlation\", \"type\": \"validateAccountEmail\", \"time\": \"2022-07-25T16:22:53.735128049-03:00\", \"data\": { \"email\": \"test@test.com\", \"userId\": \"12345\" }, \"specversion\": \"1.0\", \"kogitoprocinstanceid\": \"69019826-daef-4fb4-880b-c1658c4e49bc\", \"kogitoprocid\": \"correlation\", \"kogitoprocversion\": \"1.0\", \"kogitousertaskist\": \"1\", \"kogitoproctype\": \"SW\", \"userid\": \"12345\" } All consumed events must contain the same correlation attributes since the consumed events are used to identify the workflow instance. The following example shows the consumed events containing same correlation attributes and values, such as userid and 12345: Consumed Callback state event validatedAccountEmailEvent { \"specversion\": \"1.0\", \"id\": \"953f07a7-aea8-4956-8775-85ab59366fe6\", \"source\": \"\", \"type\": \"validatedAccountEmail\", \"time\": \"2022-07-25T16:29:27.320408379-03:00\", \"userid\": \"12345\", \"data\": null } The engine stores the correlation information in the same persistence mechanism that is configured in the workflow application. If a persistence add-on is not configured, then the correlation information is stored in memory. This means that entire correlation information is lost when the workflow application restarts, therefore this process must be used for testing purposes. For more information about the persistence configuration, see Running a workflow service using PostgreSQL. Currently, only kogito-addons-quarkus-persistence-jdbc persistence add-on supports correlation. The kogito-addons-quarkus-persistence-jdbc add-on is configured for PostgreSQL. Other persistence add-ons will be supported in a future release. Event state in Kogito Serverless Workflow Callback state in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Event correlation in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"event-correlation-with-workflows","url":"/serverlessworkflow/latest/eventing/event-correlation-with-workflows.html","titles":[{"text":"Example of event correlation in a workflow","hash":"ref-example-event-correlation","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"15":{"id":15,"text":"This document describes event state in a workflow. You can use the event state to start a new workflow instance upon the reception of a designated CloudEvent or to pause the execution of an existing workflow instance until a designated CloudEvent is received. An event state consists of one or more event definitions. Event definitions are combined to designate the CloudEvent types that the event state listens to. In an event definition, the onEvents property is used to group the CloudEvent types that might trigger the same set of actions. The exclusive property in an event definition indicates how an event match is calculated. In case the value of exclusive property is false, then all CloudEvent types in the eventRefs array must be received for a match to occur. Otherwise, the reception of the referenced CloudEvent types is considered a match. The following is an example of event definitions, consisting of two CloudEvent types including noisy and silent: Example event definitions \"events\": [ { \"name\": \"noisyEvent\", \"source\": \"\", \"type\": \"noisy\", \"dataOnly\" : \"false\" }, { \"name\": \"silentEvent\", \"source\": \"\", \"type\": \"silent\" } ] To indicate that an event match occurs when both noisy and silent CloudEvent types are received and to execute different actions for both CloudEvent types, define an event state containing both event definitions in separate onEvent items and set exclusive property to false. Example event state defintion with multiple onEvent items { \"name\": \"waitForEvent\", \"type\": \"event\", \"onEvents\": [ { \"eventRefs\": [ \"noisyEvent\" ], \"actions\": [ { \"functionRef\": \"letsGetLoud\" } ] }, { \"eventRefs\": [ \"silentEvent\" ], \"actions\": [ { \"functionRef\": \"beQuiet\" } ] } ] , \"exclusive\": false } To execute the same action when both event types are received, use only one onEvent item as shown in the following example: Example event state definition with single onEvent item { \"name\": \"waitForEvent\", \"type\": \"event\", \"onEvents\": [ { \"eventRefs\": [ \"noisyEvent\", \"silentEvent\" ], \"actions\": [ { \"functionRef\": \"notCareAboutNoise\" } ] } ] , \"exclusive\": false } If you want the same action to be executed when any of the event types is received, set the exclusive property to true as shown in the following example: Example event state definition executing same action { \"name\": \"waitForEvent\", \"type\": \"event\", \"onEvents\": [ { \"eventRefs\": [ \"noisyEvent\", \"silentEvent\" ], \"actions\": [ { \"functionRef\": \"notCareAboutNoise\" } ] } ] ,\"exclusive\": true } You can also remove the exclusive property, as true is the default value. To start a new workflow instance, set the start property to the event state name in the workflow header. The workflow instance starts when there is an event match. Using the previous example of event state definition, add the following code in the workflow header: Start a workflow instance \"start\":\"waitForEvent\" An event state can also be used to pause an existing workflow instance. When the workflow execution reaches an event state, which is not starting, then the execution is paused until there is an event match for that workflow instance. Similar to the callback state in a workflow, the workflow instance to be resumed is identified by kogitoprocrefid CloudEvent attribute or calculated according to the event correlation functionality. While callback state is used for fire&wait scenarios, event state covers wait&fire scenarios. For more information about the callback state, see Callback state in Kogito Serverless Workflow. Creating your first workflow service Consuming and producing events using Apache Kafka Consuming and producing events on Knative Eventing If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Event state in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"handling-events-on-workflows","url":"/serverlessworkflow/latest/eventing/handling-events-on-workflows.html","titles":[{"text":"Example of event match","hash":"ref-example-event-match","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"16":{"id":16,"text":"This document describes the Callback state and related examples. The Callback state performs an action and waits for an event, to be produced as a result of the action, to resume the workflow. The action peformed by a Callback state is an asynchronous external service invocation. Therefore, the Callback state is suitable to perform fire&wait-for-result operations. From a workflow perspective, asynchronous service indicates that the control is returned to the caller immediately without waiting for the action to be completed. Once the action is completed, a CloudEvent is published to resume the workflow. For the workflow to identify the published CloudEvent it is waiting for, the external service developer includes the workflow instance ID in the CloudEvent header or uses the Event correlation. The following figure displays the process: The workflow correlation described in this document focuses on the former mechanism that is based on the fact that each workflow instance contains a unique identifier, which is generated automatically. To understand the Callback state, see the serverless-workflow-callback-quarkus example application in GitHub repository. The initial model of the serverless-workflow-callback-quarkus example application is empty. Once the workflow is started, it publishes a CloudEvent of the resume type and waits for a CloudEvent, which contains the type wait. A listener consumes the CloudEvent with the resume type and simulates the behavior of an external service. Consequently, on the external service side, when the actions associated with the resume type CloudEvent are completed, the listener publishes a wait type CloudEvent. Once the wait type CloudEvent is received, the workflow moves to the next state and ends successfully. To use the Callback state in a workflow, first CloudEvent types such as resume and wait are declared that the workflow uses. Following is an example of CloudEvents declaration in a workflow definition: Example of CloudEvents declaration in a workflow definition \"events\": [ { \"name\": \"resumeEvent\", \"source\": \"\", \"type\": \"resume\" }, { \"name\": \"waitEvent\", \"source\": \"\", \"type\": \"wait\" } ] After that, a Callback state is declared. The Callback state publishes a resume type CloudEvent and waits for a CloudEvent with wait type. The published CloudEvent contains a move data field, and the CloudEvent that is received is expected to contain a result data field. According to the eventDataFilter, the result data field is added to the workflow model as a move field. Following is an example of declaring a Callback state that handles the wait type CloudEvent: Example of a Callback State declaration handling the wait CloudEvent { \"name\": \"waitForEvent\", \"type\": \"callback\", \"action\": { \"name\": \"publishAction\", \"eventRef\": { \"triggerEventRef\": \"resumeEvent\", \"data\": \"{move: \\\"This is the initial data in the model\\\"}\" } }, \"eventRef\": \"waitEvent\", \"eventDataFilter\": { \"data\": \".result\", \"toStateData\": \".move\" }, \"transition\": \"finish\" } An event listener consumes the resume type CloudEvent and publishes a new wait type CloudEvent. Following is an example of a Java method that publishes the wait type CloudEvent: Example of a Java method that publishes the wait CloudEvent private String generateCloudEvent(String id, String input) { Map eventBody = new HashMap<>(); eventBody.put(\"result\", input + \" and has been modified by the event publisher\"); eventBody.put(\"dummyEventVariable\", \"This will be discarded by the process\"); try { return objectMapper.writeValueAsString(CloudEventBuilder.v1() .withId(UUID.randomUUID().toString()) .withSource(URI.create(\"\")) .withType(\"wait\") .withTime(OffsetDateTime.now()) .withExtension(CloudEventExtensionConstants.PROCESS_REFERENCE_ID, id) .withData(objectMapper.writeValueAsBytes(eventBody)) .build()); } catch (JsonProcessingException e) { throw new IllegalArgumentException(e); } } After that, the workflow application consumes the event published by the listener and sets the result field. The consumed CloudEvent contains an attribute named kogitoprocrefid, which holds the workflow instance ID of the workflow. The kogitoprocrefid attribute is crucial because when the correlation is not used, then this attribute is the only way for the Callback state to identify that the related CloudEvent needs to be used to resume the workflow. For more information about correlation, see Event correlation in Kogito Serverless Workflow. Note that each workflow is identified by a unique instance ID, which is automatically included in any published CloudEvent, as kogitoprocinstanceid CloudEvent extension. The following example shows that the event listener takes the workflow instance ID of a workflow from a CloudEvent attribute named kogitoprocinstanceid, which is associated with the CloudEvent that is consumed. Example of a Java method that consumes the resume CloudEvent @Incoming(\"in-resume\") @Outgoing(\"out-wait\") @Acknowledgment(Strategy.POST_PROCESSING) public String onEvent(Message message) { Optional ce = CloudEventUtils.decode(message.getPayload()); JsonCloudEventData cloudEventData = (JsonCloudEventData) ce.get().getData(); return generateCloudEvent(ce.get().getExtension(CloudEventExtensionConstants.PROCESS_INSTANCE_ID).toString(), cloudEventData.getNode().get(\"move\").asText()); } Apache Kafka configuration in serverless-workflow-callback-quarkus The serverless-workflow-callback-quarkus example application requires an external broker to manage the associated CloudEvents. The default setup in the serverless-workflow-callback-quarkus example application uses Apache Kafka. However, you can also use Knative Eventing. Apache Kafka uses topics to publish or consume messages. In the serverless-workflow-callback-quarkus example application, two topics are used, matching the name of the CloudEvent types that are defined in the workflow, such as resume and wait. The resume and wait CloudEvent types are configured in the application.properties file. For more information about using Apache Kafka with events, see Consuming and producing events using Apache Kafka. Creating your first workflow service Event correlation in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Callback state in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"working-with-callbacks","url":"/serverlessworkflow/latest/eventing/working-with-callbacks.html","titles":[{"text":"Example of Callback state","hash":"ref-example-callback","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"17":{"id":17,"text":"This document describes the OpenAPI Callback and related examples. Also, it covers the difference between OpenAPI Callback and the Serverless Workflow Callback state. The Serverless Workflow callback state can be implemented using both the OpenAPI callback and the Callback state functionalities. Both the functionalities perform an action and wait for an event to be produced as a result of the action to resume the workflow, but each of them follows a different approach in achieving it. Therefore, both OpenAPI callback and the Callback state approaches are suitable to perform fire & wait-for-result operations. The OpenAPI callback is an asynchronous, out-of-band request that your service will send to some other service in response to specific events. In contrast, the Callback state performs an action that triggers an external activity/service which is responsible for sending a cloud event to the workflow. Both ways aim to send an event to the workflow to resume the flow. As mentioned in the OpenAPI Callback document, when the workflow makes an asynchronous service call, you must provide the callback URL in the request body. The external service invokes the callback URL and sends a CloudEvent to the workflow. From a workflow perspective, asynchronous service indicates that the control is returned to the caller immediately without waiting for the action to be completed. Once the action is completed, a CloudEvent needs to be published to resume the workflow. For the workflow to identify the published CloudEvent it is waiting for, the external service developer includes the workflow instance ID in the CloudEvent header or uses the Event correlation. The following figure displays the process: The workflow correlation described in this document focuses on the former mechanism that is based on the fact that each workflow instance contains a unique identifier, which is generated automatically. To understand the OpenAPI Callback, see the serverless-workflow-callback-events-over-http-quarkus example application in GitHub repository. This example contains a simple workflow-service that illustrates callback state using OpenAPI callbacks functionality. A callback is a state that invokes an action and wait for an event (event that will be eventually fired by the external service notified by the action). This example consists of a callback state that waits for an event to arrive at the wait channel. Its action calls an external service named callback-event-service that publishes the wait event over HTTP. After consuming the wait event, the workflow prints the message received in the wait event and ends the workflow. The serverless-workflow-callback-events-over-http-quarkus application is initiated with the following request to http://localhost:8080/callback: { \"message\": \"Hello\" } Once the workflow is started, it makes an external service call with the callback URL and the workflow instance ID in the request body to callback-event-service. Then, as configured in the OpenAPI file, the callback URL is invoked to send a CloudEvent to the workflow. Once the wait type CloudEvent is received by the callback-workflow-service, the workflow moves to the next state and ends successfully. The following figure shows the serverless-workflow-callback-events-over-http-quarkus image: To use the OpenAPI callback in a workflow, the OpenAPI YAML file is configured with the callback as specified in the OpenAPI file. To use the Callback state in a workflow, first CloudEvent type wait is declared that the workflow uses. Following is an example of CloudEvents declaration in a workflow definition: Example of CloudEvent declaration in a workflow definition \"events\": [ { \"name\": \"waitEvent\", \"source\": \"\", \"type\": \"wait\" } After that, a Callback state is declared, which waits for a CloudEvent with the wait type. Following is an example of declaring a Callback state that handles the wait type CloudEvent: Example of a Callback State declaration handling the wait CloudEvent { \"name\": \"waitForEvent\", \"type\": \"callback\", \"action\": { \"functionRef\": { \"refName\": \"callBack\", \"arguments\": { \"uri\": \"http://localhost:8080/wait\", \"processInstanceId\": \"$WORKFLOW.instanceId\" } } }, \"eventRef\": \"waitEvent\", \"transition\": \"finish\" } Please refer configure openapi service endpoints document to set the URL dynamically using an environment variable. An event listener publishes a new wait type CloudEvent. Following is an example of a Java method that publishes the wait type CloudEvent: Example of a Java method that makes a call to Callback URL and publishes the wait CloudEvent @POST @Consumes(MediaType.APPLICATION_JSON) public void wait(EventInput eventInput) throws JsonProcessingException { logger.info(\"About to generate event for {}\",eventInput); CloudEventBuilder builder = CloudEventBuilder.v1() .withId(UUID.randomUUID().toString()) .withSource(URI.create(\"\")) .withType(\"wait\") .withTime(OffsetDateTime.now()) .withExtension(CloudEventExtensionConstants.PROCESS_REFERENCE_ID, eventInput.getProcessInstanceId()) .withData(objectMapper.writeValueAsBytes(Collections.singletonMap(\"message\", \"New Event\"))); webClient.postAbs(eventInput.getUri()).sendJson(builder.build()).toCompletionStage(); } The callback-workflow-service consumes the CloudEvent, it contains an attribute named kogitoprocrefid, which holds the instance ID of the workflow. The kogitoprocrefid attribute is crucial because when the correlation is not used, then this attribute is the only way for the Callback state to identify that the related CloudEvent needs to be used to resume the workflow. For more information about correlation, see Event correlation in Kogito Serverless Workflow. Note that each workflow is identified by a unique instance ID, which is automatically included in any published CloudEvent, as kogitoprocinstanceid CloudEvent extension. The serverless-workflow-callback-events-over-http-quarkus example application consumes the Cloudevents using Knative Eventing. For more information about incoming and outgoing CloudEvents oer HTTP, see Consuming and Producing CloudEvents over HTTP. The HTTP path where the workflow application will listen for the CloudEvents in the serverless-workflow-callback-events-over-http-quarkus example application, is configured in the application.properties file as shown below: mp.messaging.incoming.wait.connector=quarkus-http mp.messaging.incoming.wait.path=/wait Creating your first workflow service Event correlation in Kogito Serverless Workflow OpenAPI Callback Example If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"OpenAPI Callback in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"working-with-openapi-callbacks","url":"/serverlessworkflow/latest/eventing/working-with-openapi-callbacks.html","titles":[{"text":"Example of the OpenAPI Callback","hash":"ref-example-callback","id":1},{"text":"HTTP transport configuration","hash":"_http_transport_configuration","id":2},{"text":"Additional resources","hash":"_additional_resources","id":3},{"text":"Found an issue?","hash":"_found_an_issue","id":4}]},"18":{"id":18,"text":"This document describes the information about the implementation of the Cloud Native Computing Foundation (CNCF) Serverless Workflow specification. Kogito Serverless Workflow implements version 0.8 of the Serverless Workflow specification. The following table shows the implementation status for each Serverless Workflow specification feature. Kogito Serverless Workflow does not support Retries, Sleep State, and has a limited support of Timeouts features of Serverless Workflow specification. Table 1. Implementation status icons Icon Description Fully implemented feature and compliant with the Serverless Workflow specification Partially implemented feature Not implemented Table 2. Implementation status of the Serverless Workflow specification features Feature Status Reference States Workflow States Functions Function Definition Events Event Definition Serverless Workflow data Workflow Data Expressions Workflow Expressions Error handling Workflow Error Handling Retries Retry Definition Timeouts Workflow Timeouts Compensation Workflow Compensation Constants Workflow Constants Secrets Workflow Secrets The Parallel State of the workflow states feature works in a single thread. This means that a Parallel State does not create one thread per branch, simulating an actual parallel behavior. If an exclusive property is set to `false`, you should not use the link:{spec_doc_url}#event-state[Event State] of the workflow states feature as the starting state. In case, if it is specified that way, then it will behave as if an exclusive property was set to `true`. Kogito Serverless Workflow does not support the Sleep State feature. However, this feature will be supported in a future release. The following table shows all the workflow states that Kogito Serverless Workflow supports in the Serverless Workflow specification 0.8 version: Table 3. Workflow States implementation status State Status Reference Event Event State Operation Operation State Switch Switch State Sleep Sleep State Parallel Parallel State Inject Inject State ForEach ForEach State Callback Callback State The following table shows the status of the workflow functions that Kogito Serverless Workflow supports: Table 4. Workflow Functions implementation status Function Status Reference REST Using Functions for RESTful Service Invocations RPC Using Functions for RPC Service Invocations Expression Using Functions for Expression Evaluation Async API Using Functions for Async API Service Invocations GraphQL Using Functions for GraphQL Service Invocations OData Using Functions for OData Service Invocations Custom Defining custom function types For additional functions, the Serverless Workflow specification support the custom function type, such as sysout and java. For more information about these custom function types, see Custom functions for your Kogito Serverless Workflow service. Kogito Serverless Workflow supports events of the workflow model as defined in the Serverless Workflow specification definition, except the following: resultEventRef property in EventRefDefinition is not implemented and, if specified, this property is ignored. Same functionality can be achieved by using Callback state. Correlation has limited support, that evaluates correlation rules matching a single event consumed per time with a workflow instance. The correlation among N different events to be consumed and matched with a workflow instance is not supported in Kogito Serverless Workflow. For more information about event correlation, see Event correlation in Kogito Serverless Workflow. Kogito Serverless Workflow supports the implementation of the data manipulation feature using jq (default) or jsonpath expressions. jsonpath expressions can have limitations in specific scenarios of complex data manipulation. For more information, see Workflow Data section in the Serverless Workflow specification documentation. Kogito Serverless Workflow also supports data filtering. For more information about the data filtering, see State data filters section in the Serverless Workflow specification documentation. Kogito Serverless Workflow supports jq or jsonpath to define the workflow expressions. jq is the default expression language, however, if you want to use jsonpath, set the expressionLang attribute in the workflow definition as shown in the following example: Example of changing the default expression language { \"id\": \"myworkflow\", \"version\": \"1.0\", \"expressionLang\": \"jsonpath\", \"name\": \"Workflow example\", \"description\": \"An example of how to use jsonpath expressions\" } jsonpath expression is not recommended because of the limitations of the language for data manipulation. Instead, you can use jq in various use cases. Kogito Serverless Workflow supports the error handling feature as described in the Serverless Workflow specification definition. For more information about error handling, see Error handling in Kogito Serverless Workflow. Kogito Serverless Workflow does not support Retries feature, however, it will be implemented in a future release. Alternatively, you can use Error handling in Kogito Serverless Workflow. Kogito Serverless Workflow has limited support for the timeouts feature, which covers only workflow and event timeouts. For start event state the exclusive property is not supported if set to false, therefore the timeout is not supported for the event state when starting a workflow. For more information about timeouts, see Timeouts on events for Kogito Serverless Workflow. Kogito Serverless Workflow supports workflow compensation as described in the Serverless Workflow specification definition. For more information about compensations, see Saga orchestration example in Kogito Serverless Workflow. Kogito Serverless Workflow supports workflow constants as described in the Serverless Workflow specification definition. Kogito Serverless Workflow supports workflow secrets as described in the Serverless Workflow specification definition. Secrets are associated with the Quarkus Configuration module. This means that any form of configuration that Quarkus supports is also supported in Kogito Serverless Workflow. Creating your first workflow service Getting familiar with Kogito Serverless Workflow tooling If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"CNCF Serverless Workflow specification","component":"serverlessworkflow","version":"1.40.0.Final","name":"cncf-serverless-workflow-specification-support","url":"/serverlessworkflow/latest/getting-started/cncf-serverless-workflow-specification-support.html","titles":[{"text":"States","hash":"states","id":1},{"text":"Functions","hash":"functions","id":2},{"text":"Events","hash":"events","id":3},{"text":"Serverless Workflow data","hash":"workflow_data","id":4},{"text":"Expressions","hash":"expressions","id":5},{"text":"Error handling","hash":"error_handling","id":6},{"text":"Retries","hash":"retries","id":7},{"text":"Timeouts","hash":"timeouts","id":8},{"text":"Compensation","hash":"compensation","id":9},{"text":"Constants","hash":"constants","id":10},{"text":"Secrets","hash":"secrets","id":11},{"text":"Additional resources","hash":"_additional_resources","id":12},{"text":"Found an issue?","hash":"_found_an_issue","id":13}]},"19":{"id":19,"text":"As a developer, you can use Kogito Serverless Workflow and create a Hello World application, which includes the following procedures: Bootstrapping a project Creating a workflow Running your workflow application Testing your workflow application Also, you can directly access an example application by cloning serverless-workflow-examples/serverless-workflow-hello-world from the GitHub repository. This document describes how to create a workflow application that serves a hello_world endpoint. The workflow contains the following two states: Inject Hello World: Injects a Hello World message into the response Inject Mantra: Injects a Mantra message into the response Figure 1. Example Hello World workflow Prerequisites Java 11+ is installed with JAVA_HOME configured appropriately. Apache Maven 3.8.6 is installed. Quarkus CLI or Knative Workflow CLI 0.21.3 is installed. Visual Studio Code with Red Hat Java Extension and Red Hat Serverless Workflow Editor is installed to edit your workflows. For more information about the tooling and the required dependencies, see Getting familiar with Kogito Serverless Workflow tooling. To create your workflow service, first you need to bootstrap a project. Procedure In a command terminal, use one of the following commands to create a project: Quarkus CLI Apache Maven Knative workflow CLI Create a project using Quarkus CLI quarkus create app \\ -x=kogito-quarkus-serverless-workflow \\ -x=quarkus-resteasy-jackson \\ -x=quarkus-smallrye-openapi \\ --no-code \\ org.acme:serverless-workflow-hello-world:1.0.0-SNAPSHOT The previous command creates a Maven Quarkus project in the serverless-workflow-hello-world directory containing the required dependencies, including: kogito-quarkus-serverless-workflow: Adds support for workflows. quarkus-resteasy-jackson: Adds support for RESTEasy, which is required by the generated REST resources that are used to start the flow process using an HTTP request. quarkus-smallrye-openapi: Adds support for Swagger documentation when you run the application in development mode. --no-code: Prevents workflow example code from being generated. The SwaggerUI is available at http://localhost:8080/q/swagger-ui/ when you run the application. Create a project using Apache Maven mvn io.quarkus.platform:quarkus-maven-plugin:2.16.7.Final:create \\ -DprojectGroupId=org.acme \\ -DprojectArtifactId=serverless-workflow-hello-world \\ -Dextensions=\"kogito-quarkus-serverless-workflow,quarkus-resteasy-jackson,quarkus-smallrye-openapi\" \\ -DnoCode cd serverless-workflow-hello-world In the previous command, org.acme, serverless-workflow-hello-world, and 1.0.0-SNAPSHOT is group ID, artifact ID, and version of your project respectively. -DnoCode prevents the generation of workflow example code. Create a project using Knative workflow CLI kn workflow create \\ --name serverless-workflow-hello-world \\ --extension quarkus-jsonp,quarkus-smallrye-openapi \\ --quarkus-platform-group-id=io.quarkus.platform \\ --quarkus-version=2.16.7.Final For more information about Knative workflow CLI, see Kogito Serverless Workflow plug-in for Knative CLI. After bootstrapping a project, you need to create a workflow. In the following procedure, a workflow named Hello World Workflow is created. Procedure Create a file named hello.sw.json in the src/main/resources directory with the following content: Example content for hello.sw.json file { \"id\": \"hello_world\", (1) \"version\": \"1.0\", \"specVersion\": \"0.8\", \"name\": \"Hello World Workflow\", \"description\": \"JSON based hello world workflow\", \"start\": \"Inject Hello World\", (3) \"states\": [ (2) { \"name\": \"Inject Hello World\", \"type\": \"inject\", (4) \"data\": { (5) \"greeting\": \"Hello World\" }, \"transition\": \"Inject Mantra\" (6) }, { \"name\": \"Inject Mantra\", \"type\": \"inject\", \"data\": { \"mantra\": \"Serverless Workflow is awesome!\" (7) }, \"end\": true (8) } ] } In the previous example: 1 id field is the unique identifier of the workflow. Kogito Serverless Workflow generates the REST endpoints based on this unique identifier. 2 states defines the states of the workflow. In the Hello World example, the workflow contains two states, such as Inject Hello World and Inject Mantra. 3 start field defines the state in which the workflow starts. 4 type defines the type of the state. In the previous example, the state is inject. The inject state can be used to inject static data into state data input. 5 data defines the data that is injected into the state. In the previous example, greeting is injected with the Hello World value. 6 transition field defines the next state that is reached after the current state is completed. 7 Injects a mantra with the value Serverless Workflow is awesome! into the workflow data. 8 end field defines that the current state is the end of the workflow. When the workflow reaches the end state, the workflow stops and the REST endpoint returns the workflow data, such as: Example workflow data { \"greeting\": \"Hello World\", \"mantra\": \"Serverless Workflow is awesome!\" } The workflow definition follows the CNCF Serverless Workflow specification. For more information, see CNCF Serverless Workflow specification. To verify that project is created, compile the project using the following command: Quarkus CLI Apache Maven Knative workflow CLI Compile your project using Quarkus CLI quarkus build Compile your project using Apache Maven mvn clean package Build your project and generate a local image called dev.local/serverless-workflow-hello-world:latest kn workflow build --image dev.local/serverless-workflow-hello-world --verbose The --verbose flag is used to display the output of the build command. This flag is optional. For more information about Knative workflow CLI, see Kogito Serverless Workflow plug-in for Knative CLI. After creating a workflow, you can run your workflow application. Procedure Enter the following command to run your workflow application: Quarkus CLI Apache Maven Run your workflow application using Quarkus CLI quarkus dev Run your workflow application using Apache Maven mvn clean quarkus:dev Knative workflow CLI: Currently, Knative workflow CLI doesn’t support yet running workflows locally. You can either: Run your workflow application using Apache Maven mvn clean quarkus:dev Run your workflow application using Quarkus CLI quarkus dev For more information about Knative workflow CLI, see Kogito Serverless Workflow plug-in for Knative CLI. Also, to deploy and run your workflow application, see Deploying workflow application on Minikube Example response [INFO] ------------- [INFO] Building serverless-workflow-hello-world 1.0.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- quarkus-maven-plugin:2.16.7.Final:dev (default-cli) @ serverless-workflow-hello-world --- [INFO] Invoking org.apache.maven.plugins:maven-resources-plugin:2.6:resources) @ serverless-workflow-hello-world [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 3 resources ...more output... __ ____ __ _____ ___ __ ____ ______ --/ __ \\/ / / / _ | / _ \\/ //_/ / / / __/ -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\\ \\ --\\___\\_\\____/_/ |_/_/|_/_/|_|\\____/___/ 2022-05-25 14:38:09,741 INFO [org.kie.kog.add.qua.mes.com.QuarkusKogitoExtensionInitializer] (Quarkus Main Thread) Registered Kogito CloudEvent extension 2022-05-25 14:38:09,840 INFO [io.quarkus] (Quarkus Main Thread) serverless-workflow-hello-world 1.0.0-SNAPSHOT on JVM (powered by Quarkus 2.16.7.Final) started in 6.470s. Listening on: http://localhost:8080 2022-05-25 14:38:09,843 INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated. 2022-05-25 14:38:09,843 INFO [io.quarkus] (Quarkus Main Thread) Installed features: [cache, cdi, jackson-jq, kogito-addon-messaging-extension, kogito-processes, kogito-serverless-workflow, reactive-routes, rest-client, rest-client-jackson, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-openapi, smallrye-reactive-messaging, smallrye-reactive-messaging-http, swagger-ui, vertx] 2022-05-25 14:38:12,877 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: __ ____ __ _____ ___ __ ____ ______ 2022-05-25 14:38:12,878 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: --/ __ \\/ / / / _ | / _ \\/ //_/ / / / __/ 2022-05-25 14:38:12,879 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\\ \\ 2022-05-25 14:38:12,879 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: --\\___\\_\\____/_/ |_/_/|_/_/|_|\\____/___/ 2022-05-25 14:38:12,879 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:09,692 INFO [io.zon.tes.db.pos.emb.EmbeddedPostgres] (main) Detected a Linux x86_64 system 2022-05-25 14:38:12,880 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:09,705 INFO [io.zon.tes.db.pos.emb.DefaultPostgresBinaryResolver] (main) Detected distribution: 'Red Hat Enterprise Linux' ...more output... 2022-05-25 14:38:12,889 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:12,332 INFO [io.zon.tes.db.pos.emb.EmbeddedPostgres] (postgres:pid(90)) 2022-05-25 17:38:12.332 UTC [99] LOG: incomplete startup packet 2022-05-25 14:38:12,890 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:12,405 INFO [io.zon.tes.db.pos.emb.EmbeddedPostgres] (main) 5df1ed6e-7a15-4091-bcfb-e293aa293bfe postmaster startup finished in 00:00:00.180 2022-05-25 14:38:12,890 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:12,405 INFO [org.kie.kog.per.inm.pos.run.InmemoryPostgreSQLRecorder] (main) Embedded Postgres started at port \"44729\" with database \"postgres\", user \"postgres\" and password \"postgres\" 2022-05-25 14:38:12,890 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:12,636 WARN [io.qua.run.con.ConfigRecorder] (main) Build time property cannot be changed at runtime: 2022-05-25 14:38:13,375 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:13,105 INFO [org.kie.kog.per.pro.ProtobufService] (main) Registering Kogito ProtoBuffer file: kogito-index.proto 2022-05-25 14:38:13,377 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:13,132 INFO [org.kie.kog.per.pro.ProtobufService] (main) Registering Kogito ProtoBuffer file: kogito-types.proto 2022-05-25 14:38:13,378 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:13,181 INFO [io.quarkus] (main) data-index-service-inmemory 1.22.0.Final on JVM (powered by Quarkus 2.9.0.Final) started in 4.691s. Listening on: http://0.0.0.0:8080 2022-05-25 14:38:13,379 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:13,182 INFO [io.quarkus] (main) Profile prod activated. 2022-05-25 14:38:13,380 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:13,182 INFO [io.quarkus] (main) Installed features: [agroal, cdi, hibernate-orm, hibernate-orm-panache, inmemory-postgres, jdbc-postgresql, narayana-jta, oidc, reactive-routes, rest-client-reactive, rest-client-reactive-jackson, security, smallrye-context-propagation, smallrye-graphql-client, smallrye-health, smallrye-metrics, smallrye-reactive-messaging, smallrye-reactive-messaging-http, vertx, vertx-graphql] Once your workflow application is started, you can send a request for the provided endpoint: Example request curl -X POST -H 'Content-Type:application/json' http://localhost:8080/hello_world Example response {\"id\":\"efb59bfa-ad9c-4062-a6d2-2d9184dd4b3d\",\"workflowdata\":{\"greeting\":\"Hello World\",\"mantra\":\"Serverless Workflow is awesome!\"}} When running in development mode (using Quarkus CLI or Apache Maven), you can update your workflow with a new mantra value without restarting the application. Update your workflow { \"name\": \"Inject Mantra\", \"type\": \"inject\", \"data\": { \"mantra\": \"Serverless Workflow is amazing!\" (1) }, \"end\": true } 1 New mantra value Example request curl -X POST -H 'Content-Type:application/json' http://localhost:8080/hello_world Example response {\"id\":\"efb59bfa-ad9c-4062-a6d2-2d9184dd4b3d\",\"workflowdata\":{\"greeting\":\"Hello World\",\"mantra\":\"Serverless Workflow is amazing!\"}} Note that the mantra value is updated without restarting the application, because Kogito Serverless Workflow leverages the Quarkus live coding feature. To stop the application, press CTRL+C. To test your workflow application, you can follow the instructions in the Testing your workflow application using REST Assured. Getting familiar with Kogito Serverless Workflow tooling Orchestrating the OpenAPI services If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Creating your first workflow service","component":"serverlessworkflow","version":"1.40.0.Final","name":"create-your-first-workflow-service","url":"/serverlessworkflow/latest/getting-started/create-your-first-workflow-service.html","titles":[{"text":"Bootstrapping a project","hash":"proc-boostrapping-the-project","id":1},{"text":"Creating a workflow","hash":"proc-creating-workflow","id":2},{"text":"Building your workflow application","hash":"proc-building-application","id":3},{"text":"Running your workflow application","hash":"proc-running-application","id":4},{"text":"Testing your workflow application","hash":"proc-testing-application","id":5},{"text":"Additional resources","hash":"_additional_resources","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"20":{"id":20,"text":"The tooling in Kogito Serverless Workflow provides the best developer experience for the workflow ecosystem. The following tools are provided that you can use to author your workflow assets: VS Code extension: Use the Serverless Workflow editor and edit the CNCF Serverless Workflow specification files in Visual Studio Code. Chrome GitHub extension: View and edit the CNCF Serverless Workflow specification files in GitHub. Kogito Serverless Workflow Tools extension in Quarkus Dev UI: View, manage, and start the workflow instances. Kogito Serverless Workflow plug-in for Knative CLI: Set up a local workflow project using the command line. Serverless Logic online tooling: Try and run the Serverless Workflow example applications in a web environment. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Getting familiar with Kogito Serverless Workflow tooling","component":"serverlessworkflow","version":"1.40.0.Final","name":"getting-familiar-with-our-tooling","url":"/serverlessworkflow/latest/getting-started/getting-familiar-with-our-tooling.html","titles":[{"text":"Found an issue?","hash":"_found_an_issue","id":1}]},"21":{"id":21,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"camel-k-integration","url":"/serverlessworkflow/latest/integrations/camel-k-integration.html","titles":[]},"22":{"id":22,"text":"Kogito Serverless Workflow can integrate with Apache Camel Routes by adding the Kogito Quarkus Camel Add-on to your project. It enables the workflow engine to identify and call Camel routes declared in YAML or XML in the same workflow project context. You can enable Quarkus Camel in your project. Prerequisites A workflow application is created. For more information about creating a workflow, see Creating your first workflow service. Procedure To add the Quarkus Camel to your workflow application, add the org.kie.kogito:kogito-addons-quarkus-camel dependency to the pom.xml file of your project as follows: Dependency to be added to the pom.xml file to enable metrics org.kie.kogito kogito-addons-quarkus-camel You can add YAML or XML Camel routes to your workflow project. Procedure Create a YAML or XML Camel Routes using your IDE or the Kaoto VSCode Editor and place them in the src/main/resources/routes directory. The route from endpoint must be a direct component. That’s the endpoint producer expected by the workflow engine. The route response must be in a valid format that the workflow context can understand: A string that contains a valid JSON object A valid Java bean that can be serialized to JSON A Jackson’s JsonNode object Any primitive type (Integer, Float, Decimal, String, etc) The response will be merged into the workflow state context. If it is an array or a complex object, the response will be added to the special attribute response. Example of a Camel route with the direct endpoint returning a valid JSON string representation - from: uri: direct:logRouteReplaceHeader (1) steps: (2) - setBody: simple: '{ \"id\": \"${header.WorkflowID}\", \"arg1\": { \"arg2\": \"value1\" } }' (3) - log: message: We received the ${body} (4) 1 Camel route producer definition using the direct component 2 Definition of the Camel route steps 3 Replace the Camel message body with a valid JSON object containing the header WorkflowID from the workflow context 4 Log the Camel message body in the console for debugging purposes. You can define and reference your Camel functions in the workflow definition. Prerequisites You have created Camel routes in the workflow Maven project. Procedure In the functions definition section of your workflow DSL, declare the Camel route as exemplified below: Example of a Camel Route function definition { \"functions\": [ { \"name\": \"logRoute\", \"type\": \"custom\", \"operation\": \"camel:direct:logRouteReplaceHeader\" } ] } The operation description must have the prefix camel:direct:, indicating that you want to produce a message to this route via the Camel Direct Component. Direct is the only component supported by Kogito Serverless Workflow at the moment. The operation suffix contains the name of the route endpoint. In the case of this example, logRouteReplaceHeader. The Camel route defined in the workflow must be available in your project during runtime, otherwise, an IllegalArgumentException will be thrown. To use the Camel function definition in a workflow action, you can simply reference it as you normally would with any other Kogito Serverless Workflow function definitions. For example: Example of a workflow state action referencing { \"states\": [ { \"name\": \"sendToLog\", \"type\": \"operation\", \"actions\": [ { \"functionRef\": { \"refName\": \"logRoute\", (1) \"arguments\": { \"body\": \"${ . }\", (2) \"headers\": { \"WorkflowID\": \"$WORKFLOW.instanceId\" (3) } } } } ], \"end\": true } ] } 1 The function reference name, as defined in the function attribute. 2 The body definition. A jq expression to be evaluated in runtime resulting in the body payload. 3 The headers definition that must be a key/value pair or a valid jq expression evaluated in runtime. Once a message is received back from the Camel route, the data is merged into the workflow payload: Message payload example returned by the Camel route { \"id\": \"777adb97-d297-45fd-9969-efafe4dfb3e7\", \"arg1\": { \"arg2\": \"value1\" } } There is an example project available on GitHub using this new feature. You can use it as a reference to have a better understanding of the Camel integration with Kogito Serverless Workflow. Custom functions for your Kogito Serverless Workflow service jq expressions in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Integrating with Camel routes","component":"serverlessworkflow","version":"1.40.0.Final","name":"camel-routes-integration","url":"/serverlessworkflow/latest/integrations/camel-routes-integration.html","titles":[{"text":"Enabling Quarkus Camel in Kogito Serverless Workflow","hash":"proc-enable-quarkus-camel","id":1},{"text":"Creating Camel routes in Kogito Serverless Workflow","hash":"con-creating-camel-routes","id":2},{"text":"Defining and referencing Camel functions in the Workflow DSL","hash":"con-importing-camel-routes","id":3},{"text":"Example project","hash":"_example_project","id":4},{"text":"Additional resources","hash":"_additional_resources","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"23":{"id":23,"text":"This document describes how to call Knative services using Kogito Serverless Workflow custom functions. The procedure described in this document is based on the serverless-workflow-custom-function-knative example application. For more details about the Knative custom function, see Custom functions for your Kogito Serverless Workflow service. Prerequisites Your Kogito Serverless Workflow application is ready to use. For more information about building the application container, see Building workflow images using Quarkus CLI. Minikube is installed kubectl command-line tool is installed. Otherwise, Minikube handles it. Knative CLI is installed. For more information, see Install the Knative CLI. Knative workflow CLI is installed. For more information see Serverless Workflow plug-in for Knative CLI. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). You have the custom-function-knative-service project deployed on Knative. For more information on how to deploy a Quarkus project to Knative, see the Quarkus Kubernetes extension documentation. Procedure Add the knative-serving add-on dependency to your workflow project. org.kie.kogito kogito-addons-quarkus-knative-serving Enable the Service Discovery feature. Discover the name of the Knative service that your workflow will invoke. In a terminal window, run the following command: kn service list You should see an output like: NAME URL LATEST AGE CONDITIONS READY REASON custom-function-knative-service http://custom-function-knative-service.default.10.109.169.193.sslip.io custom-function-knative-service-00001 3h16m 3 OK / 3 True Save the Knative service name (custom-function-knative-service) to use it in the next step. Declare the Knative Kogito Serverless Workflow custom function. In the functions section of your workflow, add the following: { \"name\": \"greet\", (1) \"type\": \"custom\", (2) \"operation\": \"knative:services.v1.serving.knative.dev/custom-function-knative-service?path=/function\", (3) } 1 The name of the Kogito Serverless Workflow function 2 Indicates that this function is a custom one 3 The coordinates of the service you want to invoke Invoke the declared function. In an operation state, add an action that references the function you declared in the previous step like the following: \"actions\": [ { \"functionRef\": { \"refName\": \"greet\", (1) \"arguments\": { (2) \"name\": \".name\" } } } ] 1 Function’s name 2 The payload that should be sent in the request Deploy your workflow service to Knative. For more information on how to deploy a Kogito Serverless Workflow Kogito Serverless Workflow project to Knative, see the Deploying on Kubernetes. Submit a request to the workflow service curl -X 'POST' \\ '/plainJsonKnativeFunction' \\ (1) -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"name\": \"Kogito\" }' 1 Replace with the URL of your deployed workflow service You should see an output like (id will change): {\"id\":\"87cf8275-782d-4e0b-a9be-a95f95c9c190\",\"workflowdata\":{\"name\":\"Kogito\",\"greeting\":\"Greetings from Serverless Workflow, Kogito\"}} Knative functions support CloudEvent as the message protocol. Kogito Serverless Workflow can create and post CloudEvent messages in functionRef. For more information see core/custom-functions-support.adoc#sending-cloudevents Custom functions for your Kogito Serverless Workflow service Deploying your Serverless Workflow application on Minikube Deploying your Serverless Workflow application on Kubernetes If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Invoking Knative services from Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"custom-functions-knative","url":"/serverlessworkflow/latest/integrations/custom-functions-knative.html","titles":[{"text":"Sending as CloudEvent","hash":"_sending_as_cloudevent","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"24":{"id":24,"text":"Kogito Serverless Workflow generates metrics that can be consumed by Prometheus and visualized by dashboard tools, such as OpenShift, Dashbuilder, and Grafana. This document describes how you can enable and expose the generated metrics to Prometheus. You can enable the metrics in your workflow application. Prerequisites A workflow application is created. For more information about creating a workflow, see Creating your first workflow service. Procedure To add the metrics to your workflow application, add the org.kie.kogito:kogito-addons-quarkus-monitoring-prometheus dependency to the pom.xml file of your project: Dependency to be added to the pom.xml file to enable metrics org.kie.kogito kogito-addons-quarkus-monitoring-prometheus Rebuild your workflow application. The metrics is available at /q/metrics endpoint. After enabling the metrics in Kogito Serverless Workflow, the generated metrics can be consumed from OpenShift, Kubernetes, and Prometheus to visualize on different dashboard tools. If your workflow server is running on OpenShift, then you can use the server to monitor your workflow application. Also, you can perform the task of consuming metrics from OpenShift. Prerequisites Metrics is enabled in Kogito Serverless Workflow. For more information, see Enabling metrics in Kogito Serverless Workflow. Procedure To consume metrics from OpenShift, enable monitoring for user-defined projects. For more information, see Enabling monitoring for user-defined projects in OpenShift documentation. When you enable monitoring for user-defined projects, the Prometheus Operator is installed automatically. Create a service monitor as shown in the following configuration: Example configuration in service-monitor.yaml apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: k8s-app: prometheus-app-monitor name: prometheus-app-monitor namespace: my-project spec: endpoints: - interval: 30s targetPort: 8080 path: /q/metrics scheme: http selector: matchLabels: app-with-metrics: 'serverless-workflow-app' Run the following command to apply the service monitor: Apply service monitor oc apply -f service-monitor.yaml In the previous procedure, a service monitor named prometheus-app-monitor is created, which selects applications containing the label as app-with-metrics: serverless-workflow-app. Ensure that your workflow application contains the same label. After that, Prometheus sends request to the /q/metrics endpoint for all the services that are labeled with app-with-metrics: serverless-workflow-app every 30 seconds. For more information about monitoring Quarkus application using Micrometer and Prometheus into OpenShift, see Quarkus - Micrometer Metrics. Consuming metrics from Kubernetes is similar to OpenShift. However, you need to install the Prometheus Operator project manually. For more information about installing Prometheus Operator, see Prometheus Operator website. If your workflow server is running on Prometheus, then you can perform the task of consuming metrics from Prometheus and visualize the workflow on different dashboard tools. Prerequisites Metrics is enabled in Kogito Serverless Workflow. For more information, see Enabling metrics in Kogito Serverless Workflow. Procedure Use the following configuration to enable Prometheus to remove metrics directly from the workflow application: Example Prometheus configuration - job_name: 'Serverless Workflow App' scrape_interval: 2s metrics_path: /q/metrics static_configs: - targets: ['localhost:8080'] Replace the values of job_name and scrap_interval in the previous configuration with your own values. Ensure that target under static_configs parameter in Prometheus configuration matches with your workflow application location. For more information about configuring Prometheus, see Configure Prometheus to monitor the sample targets in Prometheus Getting Started document. In Kogito Serverless Workflow, you can check the following example metrics: kogito_process_instance_completed_total: Completed workflows kogito_process_instance_started_total: Started workflows kogito_process_instance_running_total: Running workflows kogito_process_instance_duration_seconds_sum: Workflows total duration Internally, workflows are referred as processes. Therefore, the processId and processName is workflow ID and name respectively. Each of the metrics mentioned previously contains a label for a specific workflow ID. For example, the kogito_process_instance_completed_total metric contains labels for jsongreet, yamlgreet, and foreach workflows: Example kogito_process_instance_completed_total metric # HELP kogito_process_instance_completed_total Completed Process Instances # TYPE kogito_process_instance_completed_total counter kogito_process_instance_completed_total{app_id=\"default-process-monitoring-listener\",artifactId=\"kogito-serverless-workflow-demo\",node_name=\"2\",process_id=\"jsongreet\",version=\"1.0.0-SNAPSHOT\",} 154.0 kogito_process_instance_completed_total{app_id=\"default-process-monitoring-listener\",artifactId=\"kogito-serverless-workflow-demo\",node_name=\"2\",process_id=\"yamlgreet\",version=\"1.0.0-SNAPSHOT\",} 218.0 kogito_process_instance_completed_total{app_id=\"default-process-monitoring-listener\",artifactId=\"kogito-serverless-workflow-demo\",node_name=\"2\",process_id=\"foreach\",version=\"1.0.0-SNAPSHOT\",} 162.0 Internally, Kogito Serverless Workflow uses Quarkus Micrometer extension, which also exposes built-in metrics. You can disable the Micrometer metrics in Kogito Serverless Workflow. For more information, see Quarkus - Micrometer Metrics. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Exposing workflow base metrics to Prometheus","component":"serverlessworkflow","version":"1.40.0.Final","name":"expose-metrics-to-prometheus","url":"/serverlessworkflow/latest/integrations/expose-metrics-to-prometheus.html","titles":[{"text":"Enabling metrics in Kogito Serverless Workflow","hash":"proc-enable-metrics-sw","id":1},{"text":"Metrics consumption in Kogito Serverless Workflow","hash":"con-consume-metrics-sw","id":2},{"text":"Consuming metrics from OpenShift","hash":"proc-consume-metrics-openshift","id":3},{"text":"Consuming metrics from Prometheus","hash":"proc-consume-metrics-prometheus","id":4},{"text":"Example metrics in Kogito Serverless Workflow","hash":"ref-sw-example-metrics","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"25":{"id":25,"text":"This document describes how you can build dashboards to monitor your workflows data. To build the dashboards, you need data, which you can acquire from your workflows using one of the following methods: Enable metrics Integrate with Data Index to consume data using the REST API Use custom mechanisms, such as ProcessInstanceListener The following sections describes the process of creating dashboards using metrics and Data Index GraphQL REST API. The dashboards for workflows are visualization of data that run on the client side. The dashboards are created using Dashbuilder, which consumes data from any JSON source. You can define a dashboard in YAML format. To use the Dashbuilder, download and uncompress the dashbuilder-client NPM package. Also, edit the setup.js file to link your YAML files. For more information about using Dashbuilder, see Dashbuilder documentation. Figure 1. Dashbuilder You can build dashboards to monitor the data of your workflows using metrics. Prerequisites A workflow application is created. For more information about creating a workflow, see Creating your first workflow service. Procedure To enable metrics for your workflows application add org.kie.kogito:kogito-addons-quarkus-monitoring-prometheus dependency in pom.xml file of your application: Add metrics dependency to pom.xml file org.kie.kogito kogito-addons-quarkus-monitoring-prometheus You can find the metrics in /q/metrics path. The dashbuilder can consume the data of your workflow directly from the metrics endpoints. Therefore, you can use a JSONAta expression to format the metrics and display the metrics in a table using the following example of YAML code: Example YAML to show metrics in a table datasets: - uuid: swf_metrics url: http://localhost:8080/q/metrics expression: >- $map($, function($l) { [ $l[0], $contains($l[1], \"process_id\") ? $replace($match($l[1], /process_id=\".*?\"/).match, \"process_id\", \"workflow\") : $l[1], $l[2] = \"NaN\" ? -1 : $l[2] ] } ) pages: - components: - settings: lookup: uuid: swf_metrics Figure 2. Example metrics in a table To extract a specific information from your workflow, use specific metrics. Metrics related to workflows include: kogito_process_instance_completed_total: Completed workflows kogito_process_instance_started_total: Started workflows kogito_process_instance_running_total: Running workflows kogito_process_instance_duration_seconds_sum: Workflows total duration When you display the metrics, you can filter the data to include the specific metrics. You can use the metrics and bar chart components in dashbuilder to display the specific metrics and after filtering the metrics, you can put the information in bar charts as shown in the following example YAML code: Example YAML to display bar charts datasets: - uuid: metrics url: http://localhost:8080/q/metrics expression: >- $map($, function($l) { [ $l[0], $contains($l[1], \"process_id\") ? $replace($match($l[1], /process_id=\".*?\"/).match, \"process_id\", \"workflow\") : $l[1], $l[2] = \"NaN\" ? -1 : $l[2] ] } ) columns: - id: metric type: label - id: labels type: label - id: value type: number pages: - rows: - columns: - span: \"6\" components: - html: >- Started - settings: type: BARCHART chart: resizable: 'true' width: '2000' lookup: uuid: metrics sort: - column: value sortOrder: DESCENDING filter: - column: metric function: EQUALS_TO args: - \"kogito_process_instance_started_total\" group: - columnGroup: source: labels groupFunctions: - source: labels - source: value - span: \"6\" components: - html: >- Running - settings: type: BARCHART chart: resizable: 'true' width: '2000' lookup: uuid: metrics sort: - column: value sortOrder: DESCENDING filter: - column: metric function: EQUALS_TO args: - \"kogito_process_instance_running_total\" group: - columnGroup: source: labels groupFunctions: - source: labels - source: value - columns: - span: \"6\" components: - html: >- Completed - settings: type: BARCHART chart: resizable: 'true' width: '2000' dataSetLookup: uuid: metrics sort: - column: value sortOrder: DESCENDING filter: - column: metric function: EQUALS_TO args: - \"kogito_process_instance_completed_total\" group: - columnGroup: source: labels groupFunctions: - source: labels - source: value - span: \"6\" components: - html: >- Total Duration - settings: type: BARCHART chart: resizable: 'true' width: '2000' lookup: uuid: metrics sort: - column: value sortOrder: DESCENDING filter: - column: metric function: EQUALS_TO args: - \"kogito_process_instance_duration_seconds_sum\" group: - columnGroup: source: labels groupFunctions: - source: labels - source: value Figure 3. Example workflow metrics dashboard If you are using Prometheus, you can use PROMQL with Prometheus REST API and transform the result to JSON format that is supported by dashbuilder to build the dashoards. For more information about dashbuilder and Prometheus, see Creating Prometheus Dashboards using Dashbuilder. Data Index is a service that contains all the data related to the execution of your workflow. The Data Index service is available during the development mode. By default, you can access the Data Index at http://localhost:8180. The Data Index service uses GraphQL, so that dashbuilder can connect with the service using its REST API and transform the result to the supported format. Prerequisites A workflow application is created. For more information about creating a workflow, see Creating your first workflow service. Procedure Go to the Data Index GraphQL interface (default to http://localhost:8180/graphiql) and test your query. The following is an example of GraphQL query that lists all the workflows: Example GraphQL query to retrieve all workflows { ProcessInstances { processId processName state start end businessKey error {message} } } Run the GraphQL query. When you run the query, note that the URL is modified to includes the query. Copy the URL and modify graphiql to graphql. When you access the URL with graphql, it returns the result in a JSON format as shown in the following example: GraphQL JSON result when using the query { \"data\": { \"ProcessInstances\": [ { \"processId\": \"yamlgreet\", \"processName\": \"Greeting workflow\", \"state\": \"COMPLETED\", \"start\": \"2022-07-01T16:08:12.038Z\", \"end\": \"2022-07-01T16:08:12.061Z\", \"businessKey\": null, \"error\": null }, ] } } Internally, workflows are referenced as processes, therefore the processId is the workflow ID and processName is the workflow name. Transform the response to the transform expression. When you transform the response, note that the response includes the columns metdata for the data set. Example transform expression to retrieve fields from JSON response { \"columns\" :[ {\"id\": \"Workflow Id\", \"type\": \"label\"}, {\"id\": \"Workflow Name\", \"type\": \"label\"}, {\"id\": \"State\", \"type\": \"label\"}, {\"id\": \"Start\", \"type\": \"label\"}, {\"id\": \"End\", \"type\": \"label\"}, {\"id\": \"Business Key\", \"type\": \"label\"}, {\"id\": \"Error\", \"type\": \"label\"} ], \"values\" : $.data.ProcessInstances.[ processId, processName, state, start, end, businessKey ? businessKey : \"\", error ? error.message : \"\"] } Create your dashboard using the transform expression and the URL mentioned in the previous step. Example dashboard created using Data Index datasets: - uuid: workflows url: http://localhost:8180/graphql/?query=%7BProcessInstances%7BprocessId%20processName%20state%20start%20end%20businessKey%20error%7Bmessage%7D%7D%7D%0A expression: >- { \"columns\" :[ {\"id\": \"Workflow Id\", \"type\": \"label\"}, {\"id\": \"Workflow Name\", \"type\": \"label\"}, {\"id\": \"State\", \"type\": \"label\"}, {\"id\": \"Start\", \"type\": \"label\"}, {\"id\": \"End\", \"type\": \"label\"}, {\"id\": \"Business Key\", \"type\": \"label\"}, {\"id\": \"Error\", \"type\": \"label\"} ], \"values\" : $.data.ProcessInstances.[ processId, processName, state, start, end, businessKey ? businessKey : \"\", error ? error.message : \"\"] } pages: - components: - settings: type: BARCHART lookup: uuid: workflows group: - columnGroup: source: State functions: - source: State - source: State function: COUNT - settings: lookup: uuid: workflows The previous example of dashboard contains bar chart that counts the workflow instances by State and lists all the dashboards in a table. Following is the graphical dashboard resulted from the previous example: Figure 4. Example dashboard created using Data Index For more examples of dashboards, see Dashbuilder website. Creating your first workflow service If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Displaying workflow data in dashboards","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-dashboard-with-runtime-data","url":"/serverlessworkflow/latest/integrations/serverless-dashboard-with-runtime-data.html","titles":[{"text":"Dashboards for workflows","hash":"con-sw-dashboard","id":1},{"text":"Building dashboards using metrics","hash":"proc-sw-dashboard-metrics","id":2},{"text":"Building dashboards using Data Index","hash":"proc-sw-dashboard-data-index","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"26":{"id":26,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"data-consistency","url":"/serverlessworkflow/latest/persistence/data-consistency.html","titles":[]},"27":{"id":27,"text":"This document describes how you can run your workflow application using PostgreSQL persistence. When your workflow execution requires wait states, then running your workflow application with persistence enabled is a recommended approach. For example, when a process reaches a callback or needs to wait for an event, then the execution of the process is paused and the engine takes a snapshot of the workflow data. The snapshot is persisted in the database as a binary format along with process metadata information. The process metadata information includes process ID, process instance ID, and process version. Runtime persistence is used for storing data, which is required to resume the workflow execution of a process instance. Once a process is completed, the related data is removed from the database. This means that only required data to resume the execution is persisted. In Kogito Serverless Workflow, you can enable persistence using add-ons. This document describes the use of the kogito-addons-quarkus-persistence-jdbc add-on, which is based on Java Database Connectivity (JDBC) along with PostgreSQL. The kogito-addons-quarkus-persistence-jdbc add-on also extends on the Quarkus capabilities and you can use the available features directly from Quarkus JDBC support. For more information about Quarkus and JDBC, see Quarkus Datasources. You can also see the serverless-workflow-callback-quarkus example application in GitHub repository. To execute the serverless-workflow-callback-quarkus example application, you can follow the instructions mentioned in the README file. To clone the kogito-example repository, use the following command: Clone kogito-examples repository git clone git@github.com:kiegroup/kogito-examples.git Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. Docker is installed. PostgreSQL is installed. For information about PostgreSQL installation and configuration, see PostgreSQL documentation. This document relies on running PostgreSQL as a Docker service, even though PostgreSQL installation is mentioned as a prerequisite. Procedure Add required dependencies to the pom.xml file of your project to use the persistence add-on: JDBC persistence add-on org.kie.kogito kogito-addons-quarkus-persistence-jdbc Quarkus JDBC PostgreSQL io.quarkus quarkus-jdbc-postgresql Quarkus Agroal data source io.quarkus quarkus-agroal Add the following properties to the application.properties file of your project: Persistence property kogito.persistence.type=jdbc Quarkus properties quarkus.datasource.db-kind=postgresql quarkus.datasource.username=postgres quarkus.datasource.password=pass quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/postgres Create PostgreSQL database schema. The persistence add-on uses Flyway to create the database schema. To enable the database schema creation during the runtime startup, you must set the following properties in the application.properties file. quarkus.flyway.migrate-at-start=true quarkus.datasource.db-kind=postgresql You can find more details regarding the PostgreSQL database schema migration in the Flyway migration guide. Optional: To handle the concurrent requests to shared workflow instances, enable the persistence-enabled optimistic locking for concurrency control using the version field in the database. Add kogito.persistence.optimistic.lock=true property in the application.properties file of your project to enable the optimistic locking. Change the version in the workflow file. Example workflow file { \"id\": \"applicantworkflow\", \"name\": \"Applicant Workflow\", \"version\": \"1.0\" } The versioning strategy is used to allow different workflow applications to run different versions of a process at the same time. The different versions of a process share the same database. This is useful when you migrate a process from one version to another. When allowing workflow instances to finish executing, a new version can be deployed using a new workflow application setup. By default, the engine considers the version specified in the workflow file as the current version of the asset. Therefore, you need to manually change the version in the workflow file, making the engine consider the specified version as a new version. As an alternative, you can set the kogito.workflow.version-strategy=project property in the application.properties file of your project. This enables the engine to consider the Maven or Gradle project version as the version of all workflows in the project. For instance, when you release a new version of your Maven project, the version in the workflow file is automatically updated. The following table serves as a quick reference of commonly used persistence configuration properties supported in Kogito Serverless Workflow. You can define these properties in the application.properties file of your project. Table 1. Persistence properties Configuration property Type Default value kogito.persistence.type string kogito.persistence.query.timeout.millis long 10000 kogito.persistence.optimistic.lock boolean false kogito.workflow.version-strategy string workflow Kogito Serverless Workflow integration test using PostgreSQL Migrating Your PostgreSQL Database with a Kogito upgrade If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Running a workflow service using PostgreSQL","component":"serverlessworkflow","version":"1.40.0.Final","name":"persistence-with-postgresql","url":"/serverlessworkflow/latest/persistence/persistence-with-postgresql.html","titles":[{"text":"Persistence configuration quick reference","hash":"ref-postgresql-persistence-configuration","id":1},{"text":"Additional resources","hash":"postgresql-persistence-additional-resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"28":{"id":28,"text":"When working with Kogito Serverless Workflow PostgreSQL database, you can either opt to use Flyway or manually upgrade your database via DDL scripts. When you upgrade your Kogito Serverless Workflow version, by default it won’t pick up the latest changes available. Kogito provides a mechanism for migrating your database while updating the Kogito version using the following Flyway properties (default value is false, not upgrade): quarkus.flyway.migrate-at-start=true quarkus.datasource.db-kind=postgresql This will create a schema history table flyway_schema_history in your database to track the version of each database, recording in it every versioned migration file applied to build that version. When using kogito-addons-persistence-jdbc, it is mandatory to set the quarkus.datasource.db-kind property, so that Flyway can locate the appropriate scripts for the database. If you want to migrate manually you can use the Flyway migration CLI tool. Download Flyway migration command-line tool from the Download Flyway Community Edition website. Add the following properties in the /conf/flyway.conf file: flyway.url=jdbc:postgresql://localhost:5432/foobardb flyway.user=foo flyway.password=bar You can specify these options with commands as well. The Flyway CLI will prompt for the username and password if they are missing in the configuration. $ flyway migrate -url=jdbc:postgresql://localhost:5432/foobardb -user=foo -password=bar Download the Kogito DDL zip from this link, choose the correct version, extract the files and use the scripts from the postgresql folder. You can specify the location of the SQL files that need to be migrated using the flyway.locations option. For example, flyway.locations=classpath:com.mycomp.migration,database/migrations,filesystem:/sql-migrations,s3:migrationsBucket,gcs:migrationsBucket You can use the provided SQL scripts in the zip file to migrate the database by executing them one by one. You can find the Kogito DDL scripts by visiting this link. Download the zip file of the scripts from the needed version for the Kogito upgrade. Extract the files. Execute the sql files from postgresql folder. > psql -H host -U username -d database_name -a -f create_table.sql In order to apply migrations to an existing schema. It is necessary to establish the baseline from where Flyway should start executing new migrations. That means, in case your schema already contains a structure and from now on, new changes provided by Kogito should be applied via Flyway integration. In Flyway terms, only migrations above baselineVersion will then be applied. Using below properties you can initialize flyway schema table. quarkus.flyway.baseline-on-migrate=true quarkus.flyway.baseline-version=1.32.0 $ flyway -baselineOnMigrate=\"true\" -baselineVersion=\"1.32.0\" migrate Be careful when enabling this feature as it removes the safety net which ensures that Flyway does not migrate the wrong database in case of a configuration mistake. Baseline Migrations Documentation. Existing Database Setup Documentation. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Migrating Your PostgreSQL Database with a Kogito upgrade","component":"serverlessworkflow","version":"1.40.0.Final","name":"postgresql-flyway-migration","url":"/serverlessworkflow/latest/persistence/postgresql-flyway-migration.html","titles":[{"text":"How to migrate","hash":"_how_to_migrate","id":1},{"text":"Migrate using Flyway Config","hash":"_migrate_using_flyway_config","id":2},{"text":"Migrate using Flyway CLI","hash":"_migrate_using_flyway_cli","id":3},{"text":"Manually executing scripts","hash":"manually-executing-scripts","id":4},{"text":"Baseline migration","hash":"_baseline_migration","id":5},{"text":"Baseline using Quarkus Configuration:","hash":"_baseline_using_quarkus_configuration","id":6},{"text":"Baseline using Flyway CLI:","hash":"_baseline_using_flyway_cli","id":7},{"text":"More details on Flyway migrations","hash":"_more_details_on_flyway_migrations","id":8},{"text":"Found an issue?","hash":"_found_an_issue","id":9}]},"29":{"id":29,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"workflow-database-for-db-admins","url":"/serverlessworkflow/latest/persistence/workflow-database-for-db-admins.html","titles":[]},"30":{"id":30,"text":"This document describes the supported authentication types and how to configure them to access the OpenAPI service operations that are used in workflows. For information about orchestrating and configuring the OpenAPI based services, you must see the following documents: Orchestrating the OpenAPI services Configuring the OpenAPI services endpoints The OpenAPI support for a workflow is based on the Quarkus OpenAPI generator extension. For more information about Quarkus OpenAPI generator, see Quarkus - OpenAPI Generator. According to the OpenAPI specification, you can secure an OpenAPI service operation by using a security scheme. These security schemes are defined in the Security Scheme Object definitions of the OpenAPI specification file. The security scheme type defined for an OpenAPI service operation is used to identify the required configuration, when a workflow invokes the same operation. The following shows the example of security scheme definitions: Example security-example.json file \"securitySchemes\": { \"http-basic-example\": { \"type\": \"http\", \"scheme\": \"basic\" } \"api-key-example\": { \"type\": \"apiKey\", \"name\": \"my-example-key\", \"in\": \"header\" } } If the OpenAPI specification file contains securitySchemes definitions, but not the Security Requirement Object definitions, the generator is configured to create the security requirement objects by default. In this case, for all the operations without a security requirement, the default one is created. Note that the property value must match the name of a security scheme object definition, such as http-basic-example or api-key-example in the previous securitySchemes list. Description Property key Example Create security for the referenced security scheme quarkus.openapi-generator.codegen.default.security.scheme quarkus.openapi-generator.codegen.default.security.scheme=http-basic-example To configure the credentials that are used to access the secured OpenAPI service operations and related parameters, you must use the application properties that are related to the security schemes. To compose the configuration keys, use the following format: Format for configuration keys quarkus.openapi-generator.[filename].auth.[security_scheme_name].[auth_property_name] The previous format includes the following parameters: filename is the sanitized name of the file containing the OpenAPI specification, such as security_example_json. security_scheme_name is the sanitized name of the security scheme object definition in the OpenAPI specification file, such as http_basic_example or api_key_example. auth_property_name is the name of the property to configure, such as username. This property depends on the defined security scheme type. To sanitize the previous parameters, you can follow the Environment Variables Mapping Rules from Microprofile Configuration. In the mapping rules, any non-alphabetic character is replaced by an underscore (_). The security schemes defined in an OpenAPI specification file are global to all the operations that are available in the same file. This means that the configurations set for a particular security scheme also apply to the other secured operations. You can use the alternatives defined in the Quarkus configuration reference guide to configure the required properties. A common usage is to define environment variables to set the authentication secrets. For a complete example, see Orchestration of third-party services using OAuth 2.0 authentication. The following example shows security-example.json file, defining a sayHelloBasic operation, which is secured using the http-basic-example security scheme and supported configurations: Example security-example.json file for HTTP authentication { \"openapi\": \"3.1.0\", \"info\": { \"title\": \"Http Basic Scheme Example\", \"version\": \"1.0\" }, \"paths\": { \"/hello-with-http-basic\": { \"get\": { \"operationId\": \"sayHelloBasic\", \"responses\": { \"200\": { \"description\": \"OK\", \"content\": { \"text/plain\": { \"schema\": { \"type\": \"string\" } } } } }, \"security\": [{\"http-basic-example\" : []}] } } }, \"components\": { \"securitySchemes\": { \"http-basic-example\": { \"type\": \"http\", \"scheme\": \"basic\" } } } } The following table shows the supported configurations that are used to secure the sayHelloBasic operation in the previous example: Table 1. Supported configuration examples for HTTP authentication Description Property key Example Username credentials quarkus.openapi-generator.[filename].auth.[security_scheme_name].username quarkus.openapi-generator.security_example_json.auth.http_basic_example.username=MY_USER Password credentials quarkus.openapi-generator.[filename].auth.[security_scheme_name].password quarkus.openapi-generator.security_example_json.auth.http_basic_example.password=MY_PASSWD The following example shows security-example.json file, defining a sayHelloBearer operation, which is secured using the http-bearer-example security scheme and supported configurations: Example security-example.json file for Bearer Token authentication { \"openapi\": \"3.1.0\", \"info\": { \"title\": \"Http Bearer Scheme Example\", \"version\": \"1.0\" }, \"paths\": { \"/hello-with-http-bearer\": { \"get\": { \"operationId\": \"sayHelloBearer\", \"responses\": { \"200\": { \"description\": \"OK\", \"content\": { \"text/plain\": { \"schema\": { \"type\": \"string\" } } } } }, \"security\": [{\"http-bearer-example\" : []}] } } }, \"components\": { \"securitySchemes\": { \"http-bearer-example\": { \"type\": \"http\", \"scheme\": \"bearer\" } } } } The following table shows the supported configurations that are used to secure the sayHelloBearer operation in the previous example: Table 2. Supported configuration examples for Bearer Token authentication Description Property key Example Bearer Token quarkus.openapi-generator.[filename].auth.[security_scheme_name].bearer-token quarkus.openapi-generator.security_example_json.auth.http_bearer_example.bearer-token=MY_TOKEN The following example shows security-example.json file, defining a sayHelloApiKey operation, which is secured using the api-key-example security scheme and supported configurations: Example security-example.json file for API key authentication { \"openapi\": \"3.1.0\", \"info\": { \"title\": \"Api Key Scheme Example\", \"version\": \"1.0\" }, \"paths\": { \"/hello-with-api-key\": { \"get\": { \"operationId\": \"sayHelloApiKey\", \"responses\": { \"200\": { \"description\": \"OK\", \"content\": { \"text/plain\": { \"schema\": { \"type\": \"string\" } } } } }, \"security\": [{\"api-key-example\" : []}] } } }, \"components\": { \"securitySchemes\": { \"api-key-example\": { \"type\": \"apiKey\", \"name\": \"api-key-name\", \"in\": \"header\" } } } } The following table shows the supported configurations that are used to secure the sayHelloApiKey operation in the previous example: Table 3. Supported configuration examples for API key authentication Description Property key Example API Key quarkus.openapi-generator.[filename].auth.[security_scheme_name].api-key quarkus.openapi-generator.security_example_json.auth.api_key_example.api-key=MY_KEY The API key scheme type contains an additional name property that configures the key name to use when the Open API service is invoked. Also, the format to pass the key depends on the value of the in property. When the value is header, the key is passed as an HTTP request parameter. When the value is cookie, the key is passed as an HTTP cookie. When the value is query, the key is passed as an HTTP query parameter. However, this is automatically managed without additional configurations. Following the previous example, the API key is passed as an http request parameter, such as api-key-name with the value MY_KEY. The following example shows security-example.json file, defining a sayHelloOauth2 operation, which is secured using the oauth-example security scheme and supported configurations: Example security-example.json file for OAuth 2.0 authentication { \"openapi\": \"3.1.0\", \"info\": { \"title\": \"Oauth2 Scheme Example\", \"version\": \"1.0\" }, \"paths\": { \"/hello-with-oauth2\": { \"get\": { \"operationId\": \"sayHelloOauth2\", \"responses\": { \"200\": { \"description\": \"OK\", \"content\": { \"text/plain\": { \"schema\": { \"type\": \"string\" } } } } }, \"security\": [{\"oauth-example\" : []}] } } }, \"components\": { \"securitySchemes\": { \"oauth-example\": { \"type\": \"oauth2\", \"flows\": { \"clientCredentials\": { \"authorizationUrl\": \"https://example.com/oauth\", \"tokenUrl\": \"https://example.com/oauth/token\", \"scopes\": { } } } } } } } Unlike the http basic, http bearer, and apiKey security schemes, the OAuth 2.0 authentication relies on the Quarkus OpenId Connect (OIDC) and OAuth 2.0 Clients and Filters. Therefore, you must add the Quarkus OIDC Client Filter Extension to your project as shown in the following example: Example of adding Quarkus OIDC client filter extension io.quarkus quarkus-oidc-client-filter You can also add the Quarkus OIDC client filter extension using the Quarkus CLI as shown in the following example: Add Quarkus OIDC client filter extension $ quarkus extension add quarkus-oidc-client-filter The token management operations are delegated to a Quarkus OidcClient using a simple naming convention. In the previous example, the token management operations that are used to access the sayHelloOauth2 operation are delegated to the OidcClient that is oauth_example. You can configure the OidcClient as shown in the following example: Example of configuring an OidcClient quarkus.oidc-client.oauth_example.auth-server-url=https://example.com/oauth quarkus.oidc-client.oauth_example.token-path=/tokens quarkus.oidc-client.oauth_example.discovery-enabled=false quarkus.oidc-client.oauth_example.client-id=kogito-app quarkus.oidc-client.oauth_example.grant.type=client quarkus.oidc-client.oauth_example.credentials.client-secret.method=basic quarkus.oidc-client.oauth_example.credentials.client-secret.value=secret The suffix (quarkus.oidc-client.oauth_example) used in the previous configuration example is exclusive for the security scheme defined in the OpenAPI service specification file and the scheme name is sanitized using the mapping rules. You can use the authorization token propagation with OpenAPI operations that are secured using the oauth2 or http bearer security scheme type. When the configuration is set, you can propagate the authorization tokens that are passed to your workflow during the workflow creation. The propagations must be configured individually for each security scheme, which enables you to configure the invocations that must propagate the token. Similar to other security scheme configurations, the token propagation applies to all the OpenAPI operations that are secured using the same security scheme. The following example shows security-example.json file, defining a sayHelloOauth2 operation, which is secured using the oauth-example security scheme and supported configurations: Example security-example.json file for authorization token propagation { \"openapi\": \"3.1.0\", \"info\": { \"title\": \"Oauth2 Scheme Example\", \"version\": \"1.0\" }, \"paths\": { \"/hello-with-oauth2\": { \"get\": { \"operationId\": \"sayHelloOauth2\", \"responses\": { \"200\": { \"description\": \"OK\", \"content\": { \"text/plain\": { \"schema\": { \"type\": \"string\" } } } } }, \"security\": [{\"oauth-example\" : []}] } } }, \"components\": { \"securitySchemes\": { \"oauth-example\": { \"type\": \"oauth2\", \"flows\": { \"clientCredentials\": { \"authorizationUrl\": \"https://example.com/oauth\", \"tokenUrl\": \"https://example.com/oauth/token\", \"scopes\": { } } } } } } } The following table shows the supported configurations that are used to secure the sayHelloOauth2 operation in the previous example: Table 4. Supported configuration examples for token propagation Property key Example quarkus.openapi-generator.[filename].auth.[security_scheme_name].token-propagation=[true,false] quarkus.openapi-generator.security_example_json.auth.oauth_example.token-propagation=true Enables the token propagation for all the operations that are secured using the oauth-example scheme in the security-example.json file. By default, the standard HTTP authorization header is propagated. quarkus.openapi-generator.[filename].auth.[security_scheme_name].header-name=[http_header_name] quarkus.openapi-generator.security_example_json.auth.oauth_example.header-name=MyHeaderName States that the authorization token is read from the MyHeaderName header instead of the standard HTTP authorization header. The authorization tokens are propagated till the workflow does not reach its waiting state. When the same workflow is resumed, the tokens will not be propagated. Orchestration of third-party services using OAuth 2.0 authentication in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Authentication for OpenAPI services in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"authention-support-for-openapi-services","url":"/serverlessworkflow/latest/security/authention-support-for-openapi-services.html","titles":[{"text":"Overview of OpenAPI services authentication","hash":"con-openapi-services-authentication","id":1},{"text":"Example of basic HTTP authentication","hash":"ref-example-http-authentication","id":2},{"text":"Example of Bearer Token authentication","hash":"ref-example-bearer-authentication","id":3},{"text":"Example of API key authentication","hash":"ref-example-api-key-authentication","id":4},{"text":"Example of OAuth 2.0 authentication","hash":"ref-example-oauth-authentication","id":5},{"text":"Example of authorization token propagation","hash":"ref-authorization-token-propagation","id":6},{"text":"Additional resources","hash":"_additional_resources","id":7},{"text":"Found an issue?","hash":"_found_an_issue","id":8}]},"31":{"id":31,"text":"This document describes the example of how you can implement and configure a workflow that orchestrates the interaction with an OAuth 2.0 secured REST service. For more information about orchestrating and configuring OpenAPI services, see Orchestrating the OpenAPI services, Configuring the OpenAPI services endpoints, and Authentication for OpenAPI services in Kogito Serverless Workflow. To understand the example of OAuth 2.0 orchestration in a workflow, you can use the serverless-workflow-oauth2-orchestration-quarkus example application. This example application implements a workflow related to currency exchange calculations, which orchestrates an OAuth 2.0 secured REST service provided by Acme Financial Services. Suppose you have a set of applications that must resolve the currency exchange calculations as their regular operations, and to resolve the currency exchange calculations, you need to get the accurate exchange rates. For this purpose, you can use the Acme Financial Services. When you use the Acme Financial Services, you can query the exchange rates using their OAuth 2.0 secured services, which you can access using the granted credentials. However, you do not want to expose the services provided by Acme to the applications. In this case, you can implement a workflow that resolves the following aspects: Orchestration with services provided by Acme and currency exchange calculations. Authentication requirements to access the services provided by Acme. Potential vendor lock-in problems, in case you want to change the provider in future. Domain-specific validations and optimizations. The further sections describes how an end-to-end solution is created in the serverless-workflow-oauth2-orchestration-quarkus example application. To see the source code of serverless-workflow-oauth2-orchestration-quarkus example application, you can clone the kogito-examples repository in GitHub and select the serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus directory. The serverless-workflow-oauth2-orchestration-quarkus example application contains the following services to compose the solution: currency-exchange-workflow: Workflow that implements the currency exchange calculations. acme-financial-service: REST service that provides the exchange rates. acme-oauth2-server: Keycloak server that secures the REST services from Acme Financial Services. The following figure describes the architecture of the solution in serverless-workflow-oauth2-orchestration-quarkus example application: Figure 1. Example architecture diagram of the solution The application creates a workflow instance to calculate the currency exchange. The workflow executes an OpenAPI operation to get the exchange rates information. Authorizations are produced to validate the access. The workflow receives the exchange rates information and executes the calculations. The execution of workflow is finalized by sending the result to the application. The workflow automatically manages the interactions with the OAuth 2.0 server. Also, you must configure a Quarkus OpenId Connect Client (OIDC). For more information, see Configuration in serverless-workflow-oauth2-orchestration-quarkus example application. currency-exchange-workflow The currency-exchange-workflow in serverless-workflow-oauth2-orchestration-quarkus example application is a workflow that implements the currency exchange calculations. The following figure describes the workflow in currency-exchange-workflow: Figure 2. Example currency-exchange-workflow First, validate the input data. Check the validation results: If validation is successful, then transition to (3). If validation is unsuccessful, then no transition and finalize the workflow with the error execution status. Send REST request to acme-financial-service to retrieve the exchange rates: If the request is successful, then transition to (4). If the request is unsuccessful, then transition to (6). Calculate the currency exchange and transition to (5). Set the successful execution status and finalize the currency-exchange-workflow execution. Set the error execution status and finalize the currency-exchange-workflow execution. The following currency-exchange-workflow.sw.json file shows the specification of the currency-exchange-workflow: currency-exchange-workflow.sw.json file { \"id\": \"currency_exchange_workflow\", \"version\": \"1.0\", \"name\": \"Currency Exchange SW\", \"dataInputSchema\": \"currency-exchange-workflow-schema.json\", \"start\": \"ValidateInputs\", \"functions\": [ { \"name\": \"validateInputs\", \"type\": \"custom\", \"operation\": \"service:org.kie.kogito.examples.ExchangeWorkflowHelper::validateInputs\" }, { \"name\": \"getExchangeRate\", \"type\": \"rest\", \"operation\": \"specs/acme-financial-service.yml#exchangeRate\" }, { \"name\": \"calculateExchange\", \"type\": \"expression\", \"operation\": \"${ { calculateExchangeResult: .amount * .exchangeRate } }\" } ], \"errors\": [ { \"name\": \"service_error\", \"code\": \"java.lang.Exception\" } ], \"states\": [ { \"name\": \"ValidateInputs\", (1) \"type\": \"operation\", \"actions\": [ { \"name\": \"validateInputsAction\", \"functionRef\": { \"refName\": \"validateInputs\", \"arguments\": { \"currencyFrom\": \"${ .currencyFrom }\", \"currencyTo\": \"${ .currencyTo }\", \"amount\": \"${ .amount }\", \"exchangeDate\": \"${ .exchangeDate }\" } } } ], \"transition\": \"CheckValidation\" }, { \"name\": \"CheckValidation\", (2) \"type\": \"switch\", \"dataConditions\": [ { \"condition\": \"${ .executionStatus == \\\"ERROR\\\" }\", \"end\": true } ], \"defaultCondition\": { \"transition\": \"GetExchangeRate\" } }, { \"name\": \"GetExchangeRate\", (3) \"type\": \"operation\", \"actions\": [ { \"name\": \"getExchangeRateAction\", \"functionRef\": { \"refName\": \"getExchangeRate\", \"arguments\": { \"currencyFrom\": \"${ .currencyFrom }\", \"currencyTo\": \"${ .currencyTo }\", \"exchangeDate\": \"${ .exchangeDate }\" } }, \"actionDataFilter\": { \"results\": \"${ {exchangeRate: .rate} }\" } } ], \"transition\": \"CalculateExchange\", \"onErrors\": [ { \"errorRef\": \"service_error\", \"transition\": \"EndWithError\" } ] }, { \"name\": \"CalculateExchange\", (4) \"type\": \"operation\", \"actions\": [ { \"name\": \"calculateExchangeAction\", \"functionRef\": { \"refName\": \"calculateExchange\" }, \"actionDataFilter\": { \"results\": \"${ {result: .calculateExchangeResult} }\" } } ], \"transition\": \"EndSuccessful\" }, { \"name\": \"EndWithError\", (5) \"type\": \"inject\", \"data\": { \"executionStatus\": \"ERROR\", \"executionStatusMessage\": \"Execution failed: The acme-financial-service invocation has failed, check that the service is running and that you have configured the OAuth2 client properly\" }, \"end\": true }, { \"name\": \"EndSuccessful\", (6) \"type\": \"inject\", \"data\": { \"executionStatus\": \"OK\", \"executionStatusMessage\": \"Execution successful\" }, \"end\": true } ] } 1 ValidateInputs state executes the validateInputs function to validate the input data. 2 CheckValidation state determines the next state to go by evaluating the validation results. 3 GetExchangeRate state executes the getExchangeRate function to retrieve the exchange rate from the remote server. 4 CalculateExchange state executes the calculateExchange function to calculate the currency exchange. 5 EndWithError state finalizes the workflow with an ERROR. 6 EndSuccessful state finalizes the workflow with successful OK status. The validateInputs function is used to execute the custom Java processing as part of the workflow. For more information about custom functions, see Serverless Workflow specification. The following is an example of validateInputs function definition: Example validateInputs function definition { \"name\": \"validateInputs\", (1) \"type\": \"custom\", (2) \"operation\": \"service:org.kie.kogito.examples.ExchangeWorkflowHelper::validateInputs\" (3) } 1 validateInputs function declaration. 2 custom type that enables you to use your own Java class to implement a function. 3 Specifies that the function is implemented by the method validateIntpus in the org.kie.kogito.examples.ExchangeWorkflowHelper Java class. To implement a custom function, you must create a Java class such as ExchangeWorkflowHelper in your project: Example ExchangeWorkflowHelper.java file package org.kie.kogito.examples; import javax.enterprise.context.ApplicationScoped; @ApplicationScoped public class ExchangeWorkflowHelper { public ValidationResult validateInputs(String currencyFrom, String currencyTo, double amount, String exchangeDate) { // Implement your custom Java processing here and return // a Java POJO to the Serverless Workflow. if (!good) { return new ValidationResult(\"ERROR\", \"Not good!\"); } return new ValidationResult(); } public static class ValidationResult { private String executionStatus; private String executionStatusMessage; // getters, setters, etc. } } To access the acme-financial-service REST service in currency-exchange-workflow, a workflow function such as getExchangeRate is used. For more information about using functions for REST services, see Serverless Workflow specification. Following is the function definition of getExchangeRate: Example getExchangeRate function definition { \"name\": \"getExchangeRate\", (1) \"type\": \"rest\", \"operation\": \"specs/acme-financial-service.yml#exchangeRate\" (2) } 1 getExchangeRate function declaration. 2 Specifies that the function is implemented by the exchangeRate operation in the acme-financial-service.yml file. For the previous configuration, the acme-financial-service.yml file must be located in the src/main/resources/specs directory of the project. In order to filter the information, which must be returned to the currency-exchange-workflow, an actionDataFilter is used: Example actionDataFilter to pass the getExchangeRate results \"actionDataFilter\": { \"results\": \"${ {exchangeRate: .rate} }\" (1) } 1 Merge the value of the rate property to the exchangeRate workflow data property. The value of the rate property is retrieved from the acme-financial-service invocation result. For more information about action data filters, see Action data filters in Serverless Workflow specification. To calculate the currency exchange rates in currency-exchange-workflow, a function named calculateExchange is used: Example calculateExchange function definition { \"name\": \"calculateExchange\", (1) \"type\": \"expression\", (2) \"operation\": \"${ { calculateExchangeResult: .amount * .exchangeRate } }\" (3) } 1 calculateExchange function declaration. 2 expression type that enables you to use an expression to implement a function. 3 Specifies that the function returns a JSON object with a calculateExchangeResult property, containing the calculation. For more information about using functions for expression evaluation, see Serverless Workflow specification. Similar to getExchangeRate to filter the information, which must be returned to the currency-exchange-workflow, an actionDataFilter is used: Example actionDataFilter to pass the calculateExchange results: \"actionDataFilter\": { \"results\": \"${ {result: .calculateExchangeResult} }\" (1) } 1 Merge the value of the calculateExchangeResult property to the result workflow data property. The value of the calculateExchangeResult property is retrieved from the expression result. acme-financial-service The acme-financial-service in serverless-workflow-oauth2-orchestration-quarkus example application is a REST service that provides the exchange rates. Following is the OpenAPI specification that defines the acme-financial-service: Example acme-financial-service.yml OpenAPI specification --- openapi: 3.0.3 info: title: Acme Financial Service API version: 1.0.1 paths: /financial-service/exchange-rate: (1) get: tags: - Acme Financial Resource operationId: exchangeRate parameters: (2) - name: currencyFrom in: query schema: type: string - name: currencyTo in: query schema: type: string - name: exchangeDate in: query schema: type: string responses: (3) \"200\": description: OK content: (4) application/json: schema: $ref: '#/components/schemas/ExchangeRateResult' security: - acme-financial-oauth: [ ] (5) components: schemas: ExchangeRateResult: (6) type: object properties: rate: format: double type: number securitySchemes: acme-financial-oauth: (7) type: oauth2 (8) flows: clientCredentials: (9) authorizationUrl: http://localhost:8281/auth/realms/kogito/protocol/openid-connect/auth tokenUrl: http://localhost:8281/auth/realms/kogito/protocol/openid-connect/token scopes: { } 1 REST path to access the exchangeRate operation in the remote server. 2 Parameter of the exchangeRate operation. 3 Responses of the exchangeRate operation. 4 Response type and data exchange format. 5 Specifies that the exchangeRate operation is secured using the acme-financial-oauth security scheme. 6 Response type specification. 7 Specification of the acme-financial-oauth security scheme. 8 Security scheme type. The security scheme type indicates that you must configure a Quarkus OpenId Connect Client (OIDC) using acme_financial_oauth name to execute the operation. 9 Authentication flow and related information. For more information about the acme-financial-service implementation, see acme-financial-service in serverless-workflow-oauth2-orchestration-quarkus example application. The configuration for the workflow used in serverless-workflow-oauth2-orchestration-quarkus example application includes defining required properties in application.properties file as shown in the following example: Example application.properties file configuration quarkus.openapi-generator.codegen.spec.acme_financial_service_yml.base-package=com.acme (1) quarkus.rest-client.acme_financial_service_yml.url=http://localhost:8483 (2) quarkus.oidc-client.acme_financial_oauth.discovery-enabled=false (3) quarkus.oidc-client.acme_financial_oauth.auth-server-url=http://localhost:8281/auth/realms/kogito/protocol/openid-connect/auth (4) quarkus.oidc-client.acme_financial_oauth.token-path=http://localhost:8281/auth/realms/kogito/protocol/openid-connect/token (5) quarkus.oidc-client.acme_financial_oauth.client-id=kogito-app (6) quarkus.oidc-client.acme_financial_oauth.grant.type=client quarkus.oidc-client.acme_financial_oauth.credentials.client-secret.method=basic (7) quarkus.oidc-client.acme_financial_oauth.credentials.client-secret.value=secret (8) 1 Package name for automatically generated classes that implement the access to all operations defined in the acme-financial-service.yml file. 2 Root URL to access all operations defined in the acme-financial-service.yml file. For the exchangeRate operation, a URL such as http://localhost:8483/financial-service/exchange-rate is automatically generated. 3 Disables the OAuth 2.0 server endpoints discovery as the endpoints provided in the acme-financial-service-yml file are used instead. 4 Authentication URL of the OAuth 2.0 server. 5 Relative path or URL of the OAuth 2.0 token endpoint, which allocates access and refreshes tokens. 6 Client ID to identify the workflow against the authorization service, such as kogito-app. This identifier must be provided by Acme. 7 Method that is used at the time of sending the client-secret for the authentications when the client grant type is used. 8 client-secret to authenticate the workflow against the authorization service when the client grant type is used. This secret must be provided by Acme. To configure the Quarkus OpenId Connect Client (OIDC) for acme_financial_service_oauth service, you must follow the rules described in Example of OAuth 2.0 authentication. Also, the particular attributes depend on the OAuth 2.0 server and authorization flow to use. You can get the information about the OAuth 2.0 server and authorization flow from the acme-financial-service.yml file. Also, you can use the alternatives defined in the Quarkus configuration reference guide to configure the properties in application.properties file. You can define environment variables to set the authentication secrets, and you can use the Quarkus Credentials Provider framework. Once you clone the serverless-workflow-oauth2-orchestration-quarkus example application from GitHub repository, you can run the example application. Prerequisites Java 11+ is installed. Maven 3.8.6 or later is installed. Docker 20.10.7 or later is installed. (Optional) Docker compose 1.27.2 or later is installed. Procedure In a command terminal, clone the kogito-examples repository and navigate to the cloned directory: Clone kogito-examples repository and navigate to the directory git clone https://github.com/kiegroup/kogito-examples.git cd kogito-examples/serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus Run the following command to build the example application using Apache Maven: Build the example application mvn clean install In a separate command terminal window, start the Keycloak server: Start the Keycloak server cd kogito-examples/serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus/scripts ./startKeycloak.sh Alternatively, you can start the Docker Compose using the following command: Start Docker Compose cd kogito-examples/serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus/docker-compose docker-compose up In a separate command terminal window, navigate to the acme-financial-service directory and start the Quarkus application of Acme Financial Service: Start Acme Financial Service cd kogito-examples/serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus/acme-financial-service java -jar target/quarkus-app/quarkus-run.jar In a separate command terminal window, navigate to the currency-exchange-workflow directory and start the Quarkus application of currency exchange workflow: Start currency exchange workflow cd kogito-examples/serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus/currency-exchange-workflow java -jar target/quarkus-app/quarkus-run.jar When all the services are running, use the following curl commands to run the currency-exchange-workflow: The following is an example of successful execution when calculating the currency exchange from EUR to USD: Example request Example response curl -X 'POST' \\ 'http://localhost:8080/currency_exchange_workflow' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"currencyFrom\": \"EUR\", \"currencyTo\": \"USD\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2.0 }' { \"id\": \"399ce304-037c-486d-b4bf-1564baf907a1\", \"workflowdata\": { \"currencyFrom\": \"EUR\", \"currencyTo\": \"USD\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2.0, \"executionStatus\": \"OK\", \"executionStatusMessage\": \"Execution successful\", \"exchangeRate\": 1.0578, \"result\": 2.1156 } } The following is an example of an unsupported currency error when calculating the currency exchange from EUR to MXN: Example request Example response curl -X 'POST' \\ 'http://localhost:8080/currency_exchange_workflow' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"currencyFrom\": \"EUR\", \"currencyTo\": \"MXN\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2.0 }' { \"id\": \"e0e7708d-c82c-47d7-9354-09ccd1e972bb\", \"workflowdata\": { \"currencyFrom\": \"EUR\", \"currencyTo\": \"MXN\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2, \"executionStatus\": \"ERROR\", \"executionStatusMessage\": \"Invalid currencyTo: MXN, only the following currencies are supported [EUR, USD, JPY, GBP, CAD, BRL, AUD]\", \"exchangeRate\": null } } In the previous examples, the currencies supported by the currency-exchange-workflow include EUR, USD, JPY, GBP, CAD, BRL, and AUD. However, the acme-financial-service REST service can resolve any type of currency exchange. This is an example of a workflow implementing the intermediate data filtering, transforming, and validations. The following is an example of the occurrence of unexpected errors when accessing acme-financial-service: Before you launch the command, you must go to the terminal window where you started the acme-financial-service and stop the service using CTRL+C. Example request Example response curl -X 'POST' \\ 'http://localhost:8080/currency_exchange_workflow' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"currencyFrom\": \"EUR\", \"currencyTo\": \"USD\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2.0 }' { \"id\": \"0044ffa0-7b2b-4fdc-af60-cd98c6bd3ade\", \"workflowdata\": { \"currencyFrom\": \"EUR\", \"currencyTo\": \"USD\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2.0, \"executionStatus\": \"ERROR\", \"executionStatusMessage\": \"Execution failed: The acme-financial-service invocation has failed, check that the service is running and that you have configured the OAuth2 client properly\", \"exchangeRate\": null } } In this example the error indicates that it was not possible to contact the acme-financial-service. Orchestrating the OpenAPI services If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Orchestration of third-party services using OAuth 2.0 authentication in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"orchestrating-third-party-services-with-oauth2","url":"/serverlessworkflow/latest/security/orchestrating-third-party-services-with-oauth2.html","titles":[{"text":"Example of OAuth 2.0 orchestration in a workflow","hash":"ref-example-oauth2-orchestration","id":1},{"text":"Configuration in serverless-workflow-oauth2-orchestration-quarkus example application","hash":"con-example-sw-configuration","id":2},{"text":"Running the example application","hash":"proc-run-example-application","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"32":{"id":32,"text":"This document describes how you can configure OpenAPI service endpoints in Kogito Serverless Workflow. Kogito Serverless Workflow leverages MicroProfile REST Client to invoke OpenAPI services. Therefore, you can configure the OpenAPI services by following the MicroProfile Config specification. For the list of properties to configure in the MicroProfile REST Client specification, see Support for MicroProfile Config in MicroProfile REST Client documentation. Kogito Serverless Workflow follows the strategy defined in the kogito.sw.operationIdStrategy property to generate the REST Client. The possible values of the kogito.sw.operationIdStrategy property include: FILE_NAME(Default value): Kogito Serverless Workflow uses the configuration key based on the OpenAPI document file name as shown in the following example: Example property quarkus.rest-client.stock_portfolio_svc_yaml.url=http://localhost:8282/ In the previous example, Kogito Serverless Workflow uses stock_portfolio_svc_yaml as configuration key as the OpenAPI document is available at src/main/resources/openapi/stock-portfolio-svc.yaml. FULL_URI: Kogito Serverless Workflow uses the full URI path as configuration key as shown in the following example: Example Serverless Workflow { \"id\": \"myworkflow\", \"functions\": [ { \"name\": \"myfunction\", \"operation\": \"https://my.remote.host/apicatalog/apis/123/document\" (1) } ] ... } 1 URI path of the OpenAPI document Example property quarkus.rest-client.apicatalog_apis_123_document.url=http://localhost:8282/ In the previous example, Kogito Serverless Workflow uses apicatalog_apis_123_document as configuration key. FUNCTION_NAME: Kogito Serverless Workflow uses the workflow ID and the function name that references the OpenAPI document as shown in the following examples: Example Serverless Workflow { \"id\": \"myworkflow\", \"functions\": [ { \"name\": \"myfunction\", \"operation\": \"https://my.remote.host/apicatalog/apis/123/document\" } ] ... } Example property quarkus.rest-client.myworkflow_myfunction.url=http://localhost:8282/ In the previous example, Kogito Serverless Workflow uses \"myworkflow_myfunction\" as configuration key. SPEC_TITLE: Kogito Serverless Workflow uses the value of info.title in the OpenAPI document as shown in the following examples: Example OpenAPI document --- openapi: 3.0.3 info: title: stock-service API version: 2.0.0-SNAPSHOT paths: /stock-price/{symbol}: ... Example property quarkus.rest-client.stock-service_API.url=http://localhost:8282/ In the previous example, Kogito Serverless Workflow uses stock-service_API as configuration key. A Kubernetes service endpoint can be used as a service URL if the target service is within the same cluster, such as http://myservice.mynamespace.cluster.svc.local. As an alternative to kogito.sw.operationIdStrategy, you can assign an alias name to an URI by using workflow-uri-definitions custom extension. Then you can use that alias as configuration key and in function definitions. Example workflow \"extensions\" : [ { \"extensionid\": \"workflow-uri-definitions\", \"definitions\": { \"remoteCatalog\": \"https://my.remote.host/apicatalog/apis/123/document\", } } ], \"functions\": [ { \"name\": \"operation1\", \"operation\": \"remoteCatalog#operation1\" }, { \"name\": \"operation2\", \"operation\": \"remoteCatalog#operation2\" } ] Example property quarkus.rest-client.remoteCatalog.url=http://localhost:8282/ In the previous example, Kogito Serverless Workflow uses remoteCatalog as configuration key. You can use different MicroProfile ConfigSources, such as environment variables and Kubernetes ConfigMaps, and MicroProfile Config profiles to configure the OpenAPI services in different environments. For more information about MicoProfile ConfigSources, see ConfigSources. Some operating systems allow only alphabetic characters or an underscore (_), in environment variables. Other characters such as . and / are not allowed. You must use the Environment Variables Mapping Rules, to set the value of a configuration property that contains a name with such characters. The testing procedure described in this document is based on the serverless-workflow-stock-profit example application in GitHub repository. The serverless-workflow-stock-profit example application is a workflow that computes the profit for a given stock based on an existing stock portfolio. The serverless-workflow-stock-profit example application sends request to the following services: stock-portfolio-service: Calculates the stock portfolio profit for a given stock based on the current stock price. stock-service: Retrieves the current stock price. Developing an application using a service that returns different results every time can be difficult, therefore the stock-service uses the following implementations depending on the environment. real-stock-service (default implementation): Returns the real stock price. This service returns a random price every time to simulate a real stock service. This implementation is used in normal or production environment. fake-stock-service: Returns the same price every time. This implementation is used in the development environment. The stock-profit service contains the following workflow definition: Workflow definition in stock-profit service { \"id\": \"stockprofit\", \"specVersion\": \"0.8\", \"version\": \"2.0.0-SNAPSHOT\", \"name\": \"Stock profit Workflow\", \"start\": \"GetStockPrice\", \"functions\": [ { \"name\": \"getStockPriceFunction\", \"operation\": \"openapi/stock-svc.yaml#getStockPrice\" (1) }, { \"name\": \"getProfitFunction\", \"operation\": \"openapi/stock-portfolio-svc.yaml#getStockProfit\" (2) } ], \"states\": [ { \"name\": \"GetStockPrice\", \"type\": \"operation\", \"actionMode\": \"sequential\", \"actions\": [ { \"name\": \"getStockPrice\", \"functionRef\": { \"refName\": \"getStockPriceFunction\", \"arguments\": { \"symbol\": \".symbol\" } } } ], \"transition\": \"ComputeProfit\" }, { \"name\": \"ComputeProfit\", \"type\": \"operation\", \"actionMode\": \"sequential\", \"actions\": [ { \"name\": \"getStockProfit\", \"functionRef\": { \"refName\": \"getProfitFunction\", \"arguments\": { \"symbol\": \".symbol\", \"currentPrice\": \".currentPrice\" } } } ], \"end\": true } ] } 1 Defines the stock-service service operation 2 Defines the stock-portfolio-service service operation Kogito Serverless Workflow leverages Quarkus profiles to configure the workflow application depending on the target environment. To set properties for different profiles, each property needs to be prefixed with a percentage (%) followed by the profile name and a period (.) in the syntax as %.config.name. By default, Quarkus provides the following profiles that activate automatically in certain conditions: dev: Activates in development mode, such as quarkus:dev test: Activates when tests are running prod (default profile): Activates when not running in development or test mode You can also create additional profiles and activate them using the quarkus.profile configuration property. For more information about Quarkus profiles, see Profiles in the Quarkus Configuration reference guide. You can define the URLs of the services in different environments by using profiles. Procedure Create a file named application.properties in the src/main/resources directory of the workflow project, if the file does not exist. In the application.properties file, add the OpenAPI configuration for the default environment: Example properties in application.properties file quarkus.rest-client.stock_svc_yaml.url=http://localhost:8383/ (1) quarkus.rest-client.stock_portfolio_svc_yaml.url=http://localhost:8282/ 1 URL of the real-stock-service service In the application.properties file, add the OpenAPI configuration for the dev environment: Example properties for development environment %dev.quarkus.rest-client.stock_svc_yaml.url=http://localhost:8181/ (1) 1 URL of the fake-stock-service service The %dev. prefix indicates the dev profile configuration, which is used when you run mvn quarkus:dev or quarkus dev. After defining the URLs of the services, you can run the services that the workflow sends request to. Prerequisites URLs of the services in the different environments are defined. For more information, see Defining the URLs of the services in different environments. Procedure In a separate command terminal window, run the stock-portfolio-service service: Run the stock-portfolio-service service cd stock-portfolio-service mvn quarkus:dev -Ddebug=false You can access the stock-portfolio-service service at http://localhost:8282/. In a separate command terminal window, run the real-stock-service service: Run real-stock-service service cd real-stock-service mvn quarkus:dev -Ddebug=false You can access the real-stock-service service at http://localhost:8383/. In a separate command terminal window, run the fake-stock-service service: Run fake-stock-service service cd fake-stock-service mvn quarkus:dev -Ddebug=false You can access the fake-stock-service service at http://localhost:8181/. When you define %dev.quarkus.rest-client.stock_svc_yaml.url=http://localhost:8181/, the fake-stock-service service is used in the development mode and you get the same result every time you run the workflow. Using this example, you can run the workflow application in development mode. Prerequisites Services that the workflow application sends requests to are started. For more information, see Running the services. Procedure In a separate command terminal window, run the workflow application in development mode: Run workflow application in development mode cd stock-profit mvn quarkus:dev -Ddebug=false In a separate command terminal window, send a request to the workflow application: Example request curl -X 'POST' \\ 'http://localhost:8080/stockprofit' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"symbol\": \"KGTO\" }' Example response {\"id\":\"5ab5dcb8-5952-4730-b526-cace363774bb\",\"workflowdata\":{\"symbol\":\"KGTO\",\"currentPrice\":75,\"profit\":\"50%\"}} Note that, in the previous example fake-stock-service is used, therefore, the computed profit property is same no matter how many times you run the workflow. When you define quarkus.rest-client.stock_svc_yaml.url=http://localhost:8383/, the real-stock-service service is used in the normal or production mode and you get different results every time you run the workflow. Using this example, you can run the workflow application in normal or production mode. Prerequisites Services that the workflow application sends requests to are started. For more information, see Running the services. Procedure In a separate command terminal window, package the workflow application to be run as fat JAR: Package workflow application cd stock-profit mvn package In a separate command terminal window, run the workflow application in normal or production mode: Run workflow application in normal or production mode java -jar target/quarkus-app/quarkus-run.jar In a separate command terminal window, send a request to the workflow application: Example request curl -X 'POST' \\ 'http://localhost:8080/stockprofit' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"symbol\": \"KGTO\" }' Example response {\"id\":\"a80c95d6-51fd-4ca9-b689-f779929c9937\",\"workflowdata\":{\"symbol\":\"KGTO\",\"currentPrice\":59.36,\"profit\":\"19%\"}} Note that, in the previous example, the real-stock-service is used, therefore, the computed profit property is different every time you run the workflow. You can define the URLs of the services in different environments using profiles and environment variables. Prerequisites Services that the workflow application sends requests to are started. For more information, see Running the services. Procedure In a separate command terminal window, run the workflow application in development mode, overwriting the property defined in the application.properties file using an environment variable: Run the workflow application in development mode cd stock-profit export _DEV_QUARKUS_REST_CLIENT_STOCK_SVC_YAML_URL=http://localhost:8383/ (1) mvn quarkus:dev -Ddebug=false 1 Overwrite the %dev.quarkus.rest-client.stock_svc_yaml.url=http://localhost:8181/ defined in the application.properties file using an environment variable, which is pointing to real-stock-service. In a separate command terminal window, send a request to the workflow application: Example request curl -X 'POST' \\ 'http://localhost:8080/stockprofit' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"symbol\": \"KGTO\" }' Example response {\"id\":\"5ab5dcb8-5952-4730-b526-cace363774bb\",\"workflowdata\":{\"symbol\":\"KGTO\",\"currentPrice\":56.35,\"profit\":\"13%\"}} Note that, in the previous example, you overwrote the property defined in the application.properties file to point to real-stock-service, therefore, the computed profit property is different every time you run the workflow. Orchestrating the OpenAPI services Quarkus configuration guide If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Configuring the OpenAPI services endpoints","component":"serverlessworkflow","version":"1.40.0.Final","name":"configuring-openapi-services-endpoints","url":"/serverlessworkflow/latest/service-orchestration/configuring-openapi-services-endpoints.html","titles":[{"text":"Overview","hash":"con-config-openapi-services-endpoints","id":1},{"text":"Using URI alias","hash":"_using_uri_alias","id":2},{"text":"Configuring the OpenAPI services endpoints in different environments","hash":"proc-configure-openapi-services-endpoints-different-environments","id":3},{"text":"Defining URLs of the services in different environments","hash":"proc-config-openapi-services-defining-urls","id":4},{"text":"Running the services","hash":"proc-config-openapi-services-running-the-services","id":5},{"text":"Running workflow application in development mode","hash":"proc-config-openapi-services-running-sw-application-in-development-mode","id":6},{"text":"Running workflow application in production mode","hash":"proc-config-openapi-services-running-sw-application-in-production-mode","id":7},{"text":"Defining URLs of services in different environments using environment variables","hash":"proc-define-urls-using-environment-variables","id":8},{"text":"Additional resources","hash":"_additional_resources","id":9},{"text":"Found an issue?","hash":"_found_an_issue","id":10}]},"33":{"id":33,"text":"This document describes how to trigger and publish events using an AsyncAPI specification file. Underneath, Kogito Serverless Workflow uses the AsyncAPI Quarkiverse extension. This extension automatically generates all the required Smallrye properties to make Kogito Serverless Workflow work with the servers declared in the AsyncAPI file. Therefore, you do not need to add any property specific to your event broker to make AsyncAPI work. This is a huge advantage over regular event states, where whether using Kafka or Knative, you have to provide additional configuration AsyncAPI Quarkiverse extension only supports kafka and http protocols at the moment. Let’s assume there is an AsyncAPI specification file called asyncAPI.yaml, located in the classpath of your project. This file contains a servers definition which protocol is Kafka: Example of an AsyncAPI kafka server definition servers: development: url: localhost:9092 description: Development server protocol: kafka protocolVersion: '1.0.0' and a subscription channel named wait: Example of an AsyncAPI subscribing channel definition channels: wait: description: A message channel subscribe: operationId: consumeWait summary: Get messages message: $ref: '#/components/messages/message' You can define a function in your workflow, of type asyncapi, that points to consumerWait operationId: Example of an AsyncAPI subscribing function definition { \"functions\": [ { \"name\": \"consumeEvent\", \"type\": \"asyncapi\", \"operation\": \"asyncAPI.yaml#consumeWait\" } ] } Remember that, as happens with REST and RPC types, the URI part of the operation property supports http, https, and file schemas. If no schema is present, it assumes the specification file is on the project classpath. Once the function is defined, you can invoke it within an operation state: Example of an AsyncAPI subscribing function invocation { \"name\": \"waitForEvent\", \"type\": \"operation\", \"actions\": [ { \"functionRef\": \"consumeEvent\" } ] } When your flow reach the waitForEvent state, it will stop until it receives a CloudEvent published over the Kafka topic wait. Let’s assume there is an AsyncAPI specification file called asyncAPI.yaml, located in the classpath of your project. This file contains a servers definition which protocol is HTTP: Example of an AsyncAPI http server definition servers: development: url: localhost:8080 description: Development server protocol: http protocolVersion: '1.0.0' and a publishing channel named resume: Example of an AsyncAPI publishing channel definition channels: resume: description: A message channel publish: operationId: sendResume summary: Get messages message: $ref: '#/components/messages/message' You can define a function in your workflow, of type asyncapi, that point to sendResume operationId: Example of an AsyncAPI publishing function definition { \"functions\": [ { \"name\": \"sendResume\", \"type\": \"asyncapi\", \"operation\": \"asyncAPI.yaml#sendResume\" } ] } Once the function is defined, you can invoke it within an operation state: Example of an AsyncAPI publishing function invocation { \"name\": \"sendEvent\", \"type\": \"operation\", \"actions\": [ { \"functionRef\": \"sendResume\", \"arguments\" : { \"name\" : \"Javierito\" } } ] } When your flow reach the sendEvent state, it will send an event to the endpoint http://localhost:8080/resume, with the payload {\"name\":\"Javierito\"} If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Orchestrating the AsyncAPI services","component":"serverlessworkflow","version":"1.40.0.Final","name":"orchestration-of-asyncapi-based-services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-asyncapi-based-services.html","titles":[{"text":"Consuming an event","hash":"_consuming_an_event","id":1},{"text":"Publishing an event","hash":"_publishing_an_event","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"34":{"id":34,"text":"As a developer, you can invoke a gRPC service using a workflow application that runs with Quarkus. This document describes how to create a workflow that invokes a running gRPC service and how to configure properties to locate that running gRPC service. For information about gRPC concepts, see gRPC. In order to illustrate how gRPC integration works, this Serverless Workflow application is used. This example greets a user in their preferred language by invoking a gRPC service. Relevant files of the workflow application include: gRPC proto file: This file defines a greeter service, which consists of sayHello methods, each covering a different gRPC scenario: The sayHello method accepts two parameters, including name of the user and an optional language to use in the greeting message (English by default). The sayHello method returns the greeting message in the appropriate language. The SayHelloAllLanguages accepts just the name parameter and streams greetings in all languages supported by the service. This represents the server-side streaming scenario. The SayHelloMultipleLanguagesAtOnce accepts a stream of name-language pairs as parameters and returns corresponding greetings as one block of text after the streaming is finished. This is the client-side streaming scenario. The SayHelloMultipleLanguages accepts a stream of name-language pairs and streams back greetings with a respective name and in a respective language. // The greeter service definition. service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {} rpc SayHelloAllLanguages (HelloRequest) returns (stream HelloReply) {} rpc SayHelloMultipleLanguagesAtOnce (stream HelloRequest) returns (HelloReply) {} rpc SayHelloMultipleLanguages (stream HelloRequest) returns (stream HelloReply) {} ... } // The request message containing the user's name. message HelloRequest { string name = 1; string language=2; } // The response message containing the greetings message HelloReply { string message = 1; } Workflow definition file: This file defines an RPC function. \"functions\": [ { \"name\": \"sayHello\", \"type\": \"rpc\", \"operation\": \"greeting.proto#Greeter#SayHello\" } ] In this rpc function, the operation property is composed of three tokens separated by #. The three tokens include: URI of the proto file (greeting.proto) Name of the service (Greeter) Name of the method (SayHello) Kogito Serverless Workflow supports three URI schemes, including http, file, and classpath (default). Therefore, in the previous example, the greeting.proto is expected to be found in the project classpath. The execution of the workflow consists of a single operation state, which is composed of one action. { \"name\": \"sayHello\", \"functionRef\" : { \"refName\": \"sayHello\", \"arguments\": { \"name\": \".name\", \"language\": \".language\" } } } In the previous example, the action invokes the sayHello RPC method using two model variables: name and language. These parameters are provided as part of the REST call that starts the workflow. The response of the method execution is mapped to a JSON object and merged with the workflow model. For the remaining scenarios, see the following workflow definition files: Server streaming Client streaming Bidirectional streaming The only difference to the basic scenario is that workflows with client streaming expect an array of requests as arguments of the gRPC function: { \"name\": \"SayHelloMultipleLanguagesAtOnce\", \"functionRef\" : { \"refName\": \"SayHelloMultipleLanguagesAtOnce\", \"arguments\": \".helloRequests\" } } The function expects an array of requests which is mapped under the helloRequests key in the workflow model. In case of server streaming, the response is returned as an array as well and merged with the workflow model. In these examples, because no stateDataFilter is defined, the response is merged under the default response key in the workflow model. Maven POM: The gRPC functionality is included within workflow dependencies, which means you do not need to add specific dependencies for gRPC to work with Kogito Serverless Workflow. This pom.xml file contains the following resource node: ${project.basedir}/../serverless-workflow-greeting-server-rpc-quarkus/src/main/proto greeting.proto The reason for this snippet to exist is to guarantee that the proto file is included in the classpath. Remember that in the workflow file, the URI for the proto file does not contain any scheme, therefore the proto file is expected to be accessible in the classpath. The previous, Maven based, approach can be used when the source code of the workflow and the gRPC server are stored in the same repository, but normally this will not be the case. If the proto file can be downloaded from a remote server, you might use the http scheme. If the proto file is not remotely accessible, you will need to manually obtain a copy of it and store in a directory that is included in the classpath (for example src/main/resources). Another possibility is to copy the proto file in a well known absolute path (that might be a shared network file system) and use the file scheme. Application properties: In the application.properties file, you can add the information for the workflow application to locate the gRPC server. Internally, the workflow implementation uses the same set of properties as Quarkus gRPC client. The client-name used by Kogito Serverless Workflow is the service name declared in the proto file. Therefore, since in this example a service called Greeter is invoked, the following code is added to the properties. quarkus.grpc.clients.Greeter.host=localhost quarkus.grpc.clients.Greeter.port=50051 In the same GitHub repository as the example application, there is a Maven project which provides a simple implementation of the Greeter service. By default, this gRPC server runs on port 50051. Therefore, the same port is used in the application.properties file. gRPC specification requires enumeration types to have a default value. The default value is not included in the server response payload. Therefore, use an empty value such as UNKNOWN as default. If, for any reason, your default value is semantically valid and you want the value to be included in the workflow model, you must set kogito.grpc.enum.includeDefault property to true. This way enumeration fields are always filled by the workflow if the server response does not include them. Before running the workflow application, you need to start the gRPC server the workflow invokes. To run the gRPC server, navigate to the serverless-workflow-greeting-server-rpc-quarkus directory in a command terminal and enter the command: mvn compile exec:java -Dexec.mainClass=\"org.kie.kogito.examples.sw.greeting.GreeterService\" Once the server is running, you must navigate to the serverless-workflow-greeting-client-rpc-quarkus directory in a separate command terminal and run the workflow application by entering the following command: mvn clean quarkus:dev Once the workflow application is started, you can invoke the workflow instance using any HTTP client, such as curl, from a separate command terminal. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://localhost:8080/jsongreet Example response {\"id\":\"4376cc50-42d4-45ef-8a5e-6e403a654a30\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"message\":\"Hello from gRPC service John\"}} You can also try greeting in a different language. curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"Javi\", \"language\": \"Spanish\"}' http://localhost:8080/jsongreet In response, you will see the greeting in Spanish language. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\"}' http://localhost:8080/jsongreetserverstream Example response {\"id\":\"665911c5-36ee-40b7-93dd-a2328f969c73\",\"workflowdata\":{\"name\":\"John\",\"response\":[{\"message\":\"Hello from gRPC service John\"},{\"message\":\"Saludos desde gRPC service John\"}]}} Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"helloRequests\" : [{\"name\" : \"Javierito\", \"language\":\"Spanish\"}, {\"name\" : \"John\", \"language\":\"English\"}, {\"name\" : \"Jan\", \"language\":\"Czech\"}]}' http://localhost:8080/jsongreetclientstream Example response {\"workflowdata\" : { \"helloRequests\" : [ {\"name\" : \"Javierito\", \"language\":\"Spanish\"}, {\"name\" : \"John\", \"language\":\"English\"}, {\"name\" : \"Jan\", \"language\":\"Czech\"}], \"message\":\"Saludos desde gRPC service Javierito\\nHello from gRPC service John\\nHello from gRPC service Jan\" } } Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"helloRequests\" : [{\"name\" : \"Javierito\", \"language\":\"Spanish\"},{\"name\" : \"John\", \"language\":\"English\"},{\"name\" : \"Jan\", \"language\":\"Czech\"}]}' http://localhost:8080/jsongreetbidistream Example response {\"workflowdata\" : { \"helloRequests\" : [ {\"name\" : \"Javierito\", \"language\":\"Spanish\"}, {\"name\" : \"John\", \"language\":\"English\"}, {\"name\" : \"Jan\", \"language\":\"Czech\"}], \"response\":[ {\"message\":\"Saludos desde gRPC service Javierito\"}, {\"message\":\"Hello from gRPC service John\"}, {\"message\":\"Hello from gRPC service Jan\"} ] } } If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Orchestrating the gRPC based services","component":"serverlessworkflow","version":"1.40.0.Final","name":"orchestration-of-grpc-services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-grpc-services.html","titles":[{"text":"Default enum values","hash":"_default_enum_values","id":1},{"text":"Running the workflow application","hash":"running-serverless-workflow-application","id":2},{"text":"Simple gRPC","hash":"_simple_grpc","id":3},{"text":"Server-side streaming gRPC","hash":"_server_side_streaming_grpc","id":4},{"text":"Client-side streaming gRPC","hash":"_client_side_streaming_grpc","id":5},{"text":"Bidirectional streaming gRPC","hash":"_bidirectional_streaming_grpc","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"35":{"id":35,"text":"This document describes how to call REST services using an OpenAPI specification file. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. You have installed the tooling. For more information about the tooling, see Getting familiar with Kogito Serverless Workflow tooling. Kogito Serverless Workflow follows the CNCF Serverless Workflow specification function definition to send requests to remote REST services using an OpenAPI specification reference as shown in the following example: Example of an OpenAPI function definition { \"functions\":[ { \"name\":\"myFunction1\", \"operation\":\"classpath:/myopenapi-file.yaml#myFunction1\" } ] } In the previous example function definition, the type attribute can be omitted as the default value is rest. In the previous example, the operation attribute is a string, which is composed using the following parameters: URI that the engine uses to locate the specification file, such as classpath. Operation identifier. You can find the operation identifier in the OpenAPI specification file. Kogito Serverless Workflow supports the following URI schemes: classpath: This URI scheme is supported for the files that are located in the src/main/resources folder of the application project. The classpath is the default URI scheme. If you do not define a URI scheme as shown in the following examples, the file location is defined as src/main/resources/myopenapifile.yaml: /myopenapifile.yaml file: This URI scheme is supported for the files that are located in the file system. http or https: This URI scheme is supported for remotely located files. The OpenAPI specification files must be available during the build time, because Kogito Serverless Workflow leverages the internal code generation feature to send requests on runtime. Therefore, once you have built the application image, Kogito Serverless Workflow will not have access to the files. For more information about building workflow images, see Building workflow images using Quarkus CLI. To get started with orchestrating the OpenAPI based services, you must locate the REST services OpenAPI specification files. Usually, REST services expose their interface using the OpenAPI specification. For example, see the Petstore API. In case, the OpenAPI service that you want to add to the workflow does not contain a specification file, you can either create a specification file or update the OpenAPI service to generate and expose the file. There are various REST frameworks that support the OpenAPI specification generation, including: Java Quarkus - Using OpenAPI and Swagger UI Spring Boot Documentation Go Go Swagger Documentation Python Flasgger .NET ASP.NET Core web API documentation with Swagger/OpenAPI TypeScript Swagger UI Express PHP swagger-php If you do not have access to the REST service, which is used to add the OpenAPI specification generator, you can use Swagger Inspector. The Swagger Inspector generates the specification file based on HTTP traffic. To send REST requests that are based on the OpenAPI specification files, you need to perform the following procedures: Define the function references Access the defined functions in the workflow states To send requests with the REST calls, first you need to define the OpenAPI functions. Prerequisites You have access to the OpenAPI specification files. Once you have access to the OpenAPI specification files, you can define the functions in the workflow. You can also use the serverless-workflow-temperature-conversion example application as a reference. Procedure Copy the OpenAPI specification files of the service(s) you want to invoke into your workflow service directory, which can be src/main/resources/specs. In the serverless-workflow-temperature-conversion example application, the services that are invoked include multiplication and subtraction services. The OpenAPI specification files in serverless-workflow-temperature-conversion example application are extracted from the running multiplication and subtraction services. The REST Quarkus applications expose the related OpenAPI specification files using the Quarkus Swagger extension. Following is an example OpenAPI specification of the multiplication REST service: Example multiplication REST service OpenAPI specification openapi: 3.0.3 info: title: Generated API version: \"1.0\" paths: /: post: operationId: doOperation (1) parameters: - in: header name: notUsed schema: type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/MultiplicationOperation' responses: \"200\": description: OK content: application/json: schema: type: object properties: product: format: float type: number components: schemas: MultiplicationOperation: (2) type: object properties: leftElement: format: float type: number rightElement: format: float type: number 1 operationId of the REST operation. The operationId in an OpenAPI specification is necessary to add a reference to the operation that you want to use in REST invocation. 2 Data structure of the REST operation. Use the same operationId to compose the final URI in the function definition as shown in the following example: OpenAPI functions definition in the Temperature Conversion example { \"functions\": [ { \"name\": \"multiplication\", \"operation\": \"specs/multiplication.yaml#doOperation\" (1) }, { \"name\": \"subtraction\", \"operation\": \"specs/subtraction.yaml#doOperation\" (2) } ] } 1 Function definition for OpenAPI multiplication function 2 Function definition for OpenAPI subtraction function Note that in the previous example, the multiplication and subtraction OpenAPI files are stored in the src/main/resources/specs folder of the application. After defining the function definitions, you can access the defined functions in the workflow states. Prerequisites You have defined the OpenAPI functions in a workflow. For more information, see Defining OpenAPI functions in a workflow. Procedure Use a workflow action to call a function definition that you added. Any workflow action that consists of a similar approach of referencing the functions that you used in the function definition can call a defined function. To map the arguments of a function, you can refer to the parameters described in the Operation Object section of OpenAPI specification. Also, the engine maps the parameter naming according to the OpenAPI specification. After that, you can use jq expressions to extract the payload data and map the data to the required parameters. In the following example, the parameters are part of the request body: Example of mapping a function arguments { \"states\": [ { \"name\": \"SetConstants\", \"type\": \"inject\", \"data\": { \"subtractValue\": 32.0, \"multiplyValue\": 0.5556 }, \"transition\": \"Computation\" }, { \"name\": \"Computation\", \"actionMode\": \"sequential\", \"type\": \"operation\", (1) \"actions\": [ { \"name\": \"subtract\", \"functionRef\": { \"refName\": \"subtraction\", (2) \"arguments\": { (3) \"leftElement\": \".fahrenheit\", \"rightElement\": \".subtractValue\" } } }, { \"name\": \"multiply\", \"functionRef\": { \"refName\": \"multiplication\", (4) \"arguments\": { (5) \"leftElement\": \".difference\", \"rightElement\": \".multiplyValue\" } } } ], \"end\": { \"terminate\": \"true\" } } ] } 1 Operation State definition 2 Reference to the subtraction function 3 Definition of the subtraction function arguments 4 Reference to the multiplication function 5 Definition of the multiplication function arguments In the serverless-workflow-temperature-conversion example application, the functions are called sequentially in an Operation State as shown in the previous example. For more information about mapping parameters in the request path instead of request body, you can refer to the following PetStore API example: Example Petstore OpenAPI specification excerpt { \"/pet/{petId}\": { \"get\": { \"tags\": [ \"pet\" ], \"summary\": \"Find pet by ID\", \"description\": \"Returns a single pet\", \"operationId\": \"getPetById\", \"parameters\": [ { \"name\": \"petId\", \"in\": \"path\", \"description\": \"ID of pet to return\", \"required\": true, \"schema\": { \"type\": \"integer\", \"format\": \"int64\" } } ] } } } Following is an example invocation of a function, in which only one parameter named petId is added in the request path: Example of calling the PetStore function { \"name\": \"CallPetStore\", (1) \"actionMode\": \"sequential\", \"type\": \"operation\", \"actions\": [ { \"name\": \"getPet\", \"functionRef\": { \"refName\": \"getPetById\", (2) \"arguments\": { (3) \"petId\": \".petId\" } } } ] } 1 State definition, such as CallPetStore. 2 Function definition reference. In the previous example, the function definition getPetById is for PetStore OpenAPI specification. 3 Arguments definition. In the previous example, Kogito Serverless Workflow adds the argument petId to the request path before sending a request. After accessing the function definitions in workflow states, you can configure the endpoint URL of OpenAPI services. Kogito Serverless Workflow uses the Quarkus OpenAPI Generator extension and the Quarkus REST Client, and all the configurations are based on these components, which are backed using Quarkus Configuration. Prerequisites You have defined the function definitions in the workflow. For more information, see Defining OpenAPI functions in a workflow. You have the access to the defined functions in the workflow states. For more information, see Accessing functions in the workflow states. Procedure To configure the endpoints, you must use the sanitized OpenAPI specification file name as the REST client configuration key. The configuration key must be set as a valid environment variable. For example, a file named as subtraction.yaml contains the configuration key as subtraction_yaml. For more information about how to sanitize file names, see Environment Variables Mapping Rules. You can use the same configuration key on each property that is related to the Quarkus REST client as shown in the following URL configuration example: Example of URL configuration quarkus.rest-client.subtraction_yaml.url=http://myserver.com To avoid hardcoding the URL in the application.properties file, you can use environment variables substitution, as shown in the following example: Example of URL configuration with environment variables quarkus.rest-client.subtraction_yaml.url=${SUBTRACTION_URL:http://myserver.com} In case the environment variable SUBTRACTION_URL is not found in the previous example, the URL redirects to http://myserver.com. You can also use environment variables to configure the application in Kubernetes environments, in which variables can be injected into the pod of the application. For more information about endpoints and general configuration, see Configuring the OpenAPI services endpoints. In a future release, Kogito Serverless Workflow will provide support for Kubernetes Service Discovery feature. Using the Kubernetes Service Discovery feature, you can point to a Kubernetes or Knative object that you want to call. After that, the engine will automatically configure the endpoints once you deploy the endpoints in the cluster. Configuring OpenAPI services endpoints Authentication for OpenAPI services in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Orchestrating the OpenAPI services","component":"serverlessworkflow","version":"1.40.0.Final","name":"orchestration-of-openapi-based-services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-openapi-based-services.html","titles":[{"text":"OpenAPI function definition","hash":"con-openapi-function-definition","id":1},{"text":"Sending REST requests based on the OpenAPI specification","hash":"proc-send-request-rest-call-openapi-spec","id":2},{"text":"Defining OpenAPI functions in a workflow","hash":"proc-define-openapi-functions","id":3},{"text":"Accessing functions in the workflow states","hash":"proc-access-function-sw-states","id":4},{"text":"Configuring the endpoint URL of OpenAPI services","hash":"proc-configuring-openapi-service-endpoint-url","id":5},{"text":"Additional resources","hash":"_additional_resources","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"36":{"id":36,"text":"In Kogito Serverless Workflow architecture there is a dedicated supporting service that is responsible for controlling the execution of time-triggered actions, also known as jobs. The job execution is a callback to the Kogito Serverless Workflow runtime application. This callback can be configured in different ways as described in the communication section. All timer nodes that might be declared in a workflow, are handled by the job service, which is responsible for managing, scheduling, and firing all actions (jobs) to be executed in the workflows. Suppose the workflow service is not configured to use the Job Service or there is no such service running. In that case, all timer-related actions use an embedded in-memory implementation of the Job Service, which should not be used in production, since when the application shutdown, all timers are lost, which in a serverless architecture is a very common behavior with the scale to zero approach. That said, the usage of in-memory Job Service can only be done for testing or development, but not for production. The main goal of the Job Service is to work with only active jobs. The Job Service tracks only the jobs that are scheduled and that need to be executed. When a job reaches a final state, the job is removed from the Job Service. When configured in your environment, all the jobs information and status changes are sent to the Kogito Serverless Workflow Data Index Service, where they can be indexed and made available by GraphQL queries. Data index service and the support for jobs information will be available in future releases. An important configuration aspect of the Job Service is the persistence mechanism, where all job information is stored in a database that makes this information durable upon service restarts and guarantees no information is lost. PostgreSQL is the recommended database to use with the Job Service. Additionally, it provides an initialization procedure that integrates Flyway for the database initialization. It automatically controls the database schema, in this way all tables are created by the service. In case you need to externally control the database schema, you can check and apply the DDL scripts for the Job Service in the same way as described in Manually executing scripts guide. You need to set the proper configuration parameters when starting the Job Service. The timeout showcase example shows how to run PostgreSQL as a Kubernetes deployment, but you can run it the way it fits in your environment, the important part is to set all the configuration parameters points to your running instance of PostgreSQL. Alternatively, there is an in-memory database support that does not require any external database configuration. It can be used for testing and development purposes, but it is not recommended for production, since all jobs are lost upon a service restart or failure. The Job Service image is equipped with the PostgreSQL and Ephemeral (InMemory) options that can be switched using the JOBS_SERVICE_PERSISTENCE. If not set, it defaults to the ephemeral option. For more information about the Job Service, the container image can be found here. Currently, the Job Service works in a single instance manner where there should be just one active instance of the service. To avoid issues when deploying the service in the cloud, where it is common to eventually have more than one instance deployed, the Job Service supports a leader instance election process. Only the instance that becomes the leader activates the external communication to receive and schedule jobs. In all instances who are not leaders, stay inactive in a kind of wait state and try to become the leader continuously. When a new instance of the service is started, it is not set as a leader at startup time but instead, it starts the process to become one. When an instance that is the leader for any issue stays unresponsive or is shut down, one of the other running instances becomes the leader. Figure 1. Job Service leader election This leader election mechanism uses the underlying persistence backend, which currently is only supported in the PostgreSQL implementation. There is no need for any configuration to support this feature, the only requirement is to have the supported database with the data schema up-to-date as described in the PostgreSQL section. In case the underlying persistence does not support this feature, you must guarantee that just one single instance of the Job Service is running at the same time. that just one single instance of the Job Service is running at the same time. The Job Service does not execute a job but triggers a callback that might be an HTTP request or a Cloud Event that is managed by the configured jobs addon in the workflow application. To configure the communication between the Job Service and the workflow runtime through the Knative eventing system, you must provide a set of configurations. The Job Service configuration is accomplished through the deployment descriptor shown in the example. Timeouts in Kogito Serverless Workflow Timeout example in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Job Service","component":"serverlessworkflow","version":"1.40.0.Final","name":"jobs-service","url":"/serverlessworkflow/latest/supporting-services/jobs-service.html","titles":[{"text":"Job Service configuration","hash":"job-service","id":1},{"text":"Job Service persistence","hash":"_job_service_persistence","id":2},{"text":"PostgreSQL","hash":"job-service-postgresql","id":3},{"text":"Ephemeral","hash":"_ephemeral","id":4},{"text":"Job service leader election","hash":"_job_service_leader_election","id":5},{"text":"Job Service communication","hash":"job-service-communication","id":6},{"text":"Knative Eventing","hash":"_knative_eventing","id":7},{"text":"Additional resources","hash":"_additional_resources","id":8},{"text":"Found an issue?","hash":"_found_an_issue","id":9}]},"37":{"id":37,"text":"This document describes how to test your workflow application using REST Assured. REST Assured enables you to test REST APIs using Java libraries and integrates with Apache Maven. For more information about REST Assured, see REST Assured page. The testing procedure in this document is based on the serverless-workflow-examples/serverless-workflow-testing-with-rest-assured example application. You can access this example application in Kogito Examples GitHub repository. The following procedure describes how to test a workflow application that exposes the hello endpoint, which expects a name as a request parameter and returns greeting value: Example request body { \"name\": \"John Doe\" } Example response { \"id\": \"00ce5c1d-4936-4e18-998c-f5c5d5d784ad\", \"workflowdata\": { \"greeting\": \"Hello, John Doe\" } } Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. This document is based on the serverless-workflow-testing-with-rest-assured example application from the GitHub repository. Procedure Check if your project has the REST Assured dependency in your pom.xml file. If it doesn’t, add it like the following: io.rest-assured rest-assured test Create a test class named HelloTest in the src/test/java/org/kie/kogito/examples/ directory, containing the following content: Example HelloTest.java file package org.kie.kogito.examples; import io.quarkus.test.junit.QuarkusTest; import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; import static org.hamcrest.Matchers.equalTo; @QuarkusTest class HelloTest { @BeforeAll static void init() { RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); (1) } @Test void testHello() { given() .contentType(ContentType.JSON) (2) .accept(ContentType.JSON) (3) .body(\"{\\\"name\\\": \\\"John Doe\\\"}\") (4) .when() .post(\"/hello\") (5) .then() .statusCode(201) (6) .body(\"workflowdata.greeting\", equalTo(\"Hello, John Doe\")); (7) } } 1 Enables logging of the request and response when the test fails. 2 Defines JSON as the content type of the request. 3 Specifies the accept header of the request. This is an alternative for header(\"Accept\", \"application/json\"). 4 Defines the request body as {\"name\": \"John Doe\"}. 5 Specifies the request as a POST method to the /hello URL. 6 Defines 201 as the expected response status code. 7 Defines that Hello, John Doe is expected in the workflowdata.greeting JSON path. To run your test, execute the following command: Command to run a test mvn clean verify Example output [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running org.kie.kogito.examples.HelloTest 2022-06-03 16:36:11,461 INFO [org.jbo.threads] (main) JBoss Threads version 3.4.2.Final 2022-06-03 16:36:11,708 INFO [org.kie.kog.cod.api.uti.AddonsConfigDiscovery] (build-1) Performed addonsConfig discovery, found: AddonsConfig{usePersistence=false, useTracing=false, useMonitoring=false, usePrometheusMonitoring=false, useCloudEvents=true, useExplainability=false, useProcessSVG=false, useEventDrivenDecisions=false, useEventDrivenRules=false} 2022-06-03 16:36:12,004 INFO [org.kie.kog.cod.cor.uti.ApplicationGeneratorDiscovery] (build-9) Generator discovery performed, found [processes] 2022-06-03 16:36:14,486 INFO [org.kie.kog.add.qua.mes.com.QuarkusKogitoExtensionInitializer] (main) Registered Kogito CloudEvent extension 2022-06-03 16:36:14,612 INFO [io.quarkus] (main) serverless-workflow-testing-with-rest-assured 1.0 on JVM (powered by Quarkus 2.9.2.Final) started in 3.635s. Listening on: http://localhost:8081 2022-06-03 16:36:14,613 INFO [io.quarkus] (main) Profile test activated. 2022-06-03 16:36:14,613 INFO [io.quarkus] (main) Installed features: [cache, cdi, jackson-jq, kogito-addon-messaging-extension, kogito-processes, kogito-serverless-workflow, reactive-routes, rest-client, rest-client-jackson, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-reactive-messaging, smallrye-reactive-messaging-http, vertx] [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.819 s - in org.kie.kogito.examples.HelloTest 2022-06-03 16:36:16,559 INFO [io.quarkus] (main) serverless-workflow-testing-with-rest-assured stopped in 0.028s [INFO] [INFO] Results: [INFO] [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ serverless-workflow-testing-with-rest-assured --- [INFO] Building jar: /home/user/dev/kiegroup/kogito-examples/serverless-workflow-examples/serverless-workflow-testing-with-rest-assured/target/serverless-workflow-testing-with-rest-assured-1.0.jar [INFO] [INFO] --- quarkus-maven-plugin:2.9.2.Final:build (default) @ serverless-workflow-testing-with-rest-assured --- [INFO] Performed addonsConfig discovery, found: AddonsConfig{usePersistence=false, useTracing=false, useMonitoring=false, usePrometheusMonitoring=false, useCloudEvents=true, useExplainability=false, useProcessSVG=false, useEventDrivenDecisions=false, useEventDrivenRules=false} [INFO] Generator discovery performed, found [processes] [INFO] [io.quarkus.deployment.QuarkusAugmentor] Quarkus augmentation completed in 2669ms [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 15.558 s [INFO] Finished at: 2022-06-03T16:36:19-03:00 [INFO] ------------------------------------------------------------------------ If you see a similar output, this means your test is executed successfully. Mocking OpenAPI services using WireMock Mocking HTTP CloudEvents sink using WireMock Kogito Serverless Workflow integration test using PostgreSQL Testing a Quarkus application REST Assured Documentation If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Testing your workflow application using REST Assured","component":"serverlessworkflow","version":"1.40.0.Final","name":"basic-integration-tests-with-restassured","url":"/serverlessworkflow/latest/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","titles":[{"text":"Additional resources","hash":"_additional_resources","id":1},{"text":"Found an issue?","hash":"_found_an_issue","id":2}]},"38":{"id":38,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"debugging-workflow-execution-runtime","url":"/serverlessworkflow/latest/testing-and-troubleshooting/debugging-workflow-execution-runtime.html","titles":[]},"39":{"id":39,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"development-tools-for-troubleshooting","url":"/serverlessworkflow/latest/testing-and-troubleshooting/development-tools-for-troubleshooting.html","titles":[]},"40":{"id":40,"text":"This document describes how you can test your integrated workflow application using PostgreSQL persistence. The example described in this document is based on the serverless-workflow-callback-quarkus example application. This document describes the process of launching and testing the artifact that is produced by the Quarkus builds, and verifying the interaction of the artifact with a PostgreSQL database instance. To perform this scenario and verify the service behavior, the following Quarkus annotations and tools are used: @QuarkusIntegrationTest: This annotation is used to launch and test the artifact produced by the Serverless Workflow Quarkus build. For more information, see Testing Quarkus application - Using @QuarkusIntegrationTest in Quarkus documentation. Quarkus Dev Services: This facilitates writing integration tests that need launching services to support the workflow application. For more information, see Testing Quarkus application - launching containers in Quarkus documentation. @QuarkusIntegrationTest works immediately with the additional containers that are launched using Quarkus Dev Services. You can test your workflow application using PostgreSQL persistence. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. Workflow application persistence is enabled using PostgreSQL. For more information, see Running workflow service using PostgreSQL. Docker is installed. Procedure Add the required test dependencies to the pom.xml file of your workflow application: Dependencies required for HTTP-based testing in JVM mode io.quarkus quarkus-junit5 test io.rest-assured rest-assured test Add awaitility dependency in pom.xml org.awaitility awaitility test The awaitility dependency allows the test to express the time expectations of an asynchronous system. For more information, see Awaitility website. Check the dependencies of PostgreSQL resources. The Quarkus Dev Services for Databases is enabled when a reactive or JDBC data source extension is present in the workflow application. Ensure that the pom.xml file of your workflow application contains the required dependency for PostgreSQL resources. JDBC persistence add-on dependency org.kie.kogito kogito-addons-quarkus-persistence-jdbc Quarkus JDBC PostgreSQL dependency io.quarkus quarkus-jdbc-postgresql Quarkus Agroal data source dependency io.quarkus quarkus-agroal To run the integration tests, add Apache Maven Failsafe plug-in in the pom.xml file of your workflow application. maven-failsafe-plugin in pom.xml plug-in section maven-failsafe-plugin ${version.failsafe.plugin} org.jboss.logmanager.LogManager ${maven.home} integration-test verify For more information about maven-failsafe-plugin, see Maven Failsafe Plugin documentation. Enable Quarkus Database Dev Services. The additional containers contain a full set of default configurations, including PostgreSQL Docker image name, default user, and default password. The required configuration to link the workflow application with the Quarkus Dev PostgreSQL container is automatically added to the integration test. Quarkus provides the properties such as quarkus.datasource.reactive.url, quarkus.datasource.jdbc.url, quarkus.datasource.username, or quarkus.datasource.password, when you start the container. For more information, see Quarkus Dev Services for Databases in Quarkus documentation. Create a test class and add the test annotations in the test class as shown in the following example: Example integration test annotations in a test class @QuarkusIntegrationTest (1) class CallbackRestIT { (2) static { RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();(3) } @Test void testCallbackRest() { String id = given() (3) .contentType(ContentType.JSON) .accept(ContentType.JSON) .post(\"/callback\") .then() .statusCode(201) .extract() .path(\"id\"); await() (4) .atLeast(1, SECONDS) .atMost(30, SECONDS) .with().pollInterval(1, SECONDS) .untilAsserted(() -> given() .contentType(ContentType.JSON) .accept(ContentType.JSON) .get(\"/callback/{id}\", id) .then() .statusCode(404)); } } 1 Allows launching and testing the artifact that is produced by the Quarkus build. Also, supports testing of a JAR file, a native image, or a container image. 2 Test name ends with 'IT' to identify which test needs to be executed as an integration test. 3 Testing application interactions using REST Assured. 4 await() allows the test to retry the validations until the verifications are declared or until the specified time expectation is expired. Once you specify the required resources and annotations, you can start testing the different interactions with the workflow application as described in Testing your workflow application using REST Assured document. To run the tests, execute the following command: Run the tests mvn clean verify Creating your first workflow service Running a workflow service using PostgreSQL Testing your workflow application using REST Assured Testing a Quarkus application If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Kogito Serverless Workflow integration test using PostgreSQL","component":"serverlessworkflow","version":"1.40.0.Final","name":"integration-tests-with-postgresql","url":"/serverlessworkflow/latest/testing-and-troubleshooting/integration-tests-with-postgresql.html","titles":[{"text":"Overview","hash":"con-integration-test-overview","id":1},{"text":"Testing a workflow application using PostgreSQL persistence","hash":"proc-test-sw-application-postgresql","id":2},{"text":"Additional resources","hash":"_additional_resources","id":3},{"text":"Found an issue?","hash":"_found_an_issue","id":4}]},"41":{"id":41,"text":"This document describes how you can test your workflow application that uses HTTP CloudEvents and Knative SinkBinding. The example described in this document is based on the serverless-workflow-order-processing example application. The workflow application that you want to test must be configured to use Knative Eventing. You must configure Knative Eventing using standard HTTP POST requests to send and receive events between event producers and sinks. The events between the event producers and sinks follow the CloudEvents specification, which enables creating, parsing, sending, and receiving events in any programming language. When you create an event source, you can specify a sink where events are sent to, from the source. A sink is a transferable or a callable resource that can receive incoming events from other resources. The examples of sink include Kubernetes deployments, Knative services, channels, and brokers. This document describes the testing of Knative service that is configured as a sink, and the same Knative service is mocked to verify if the CloudEvents are received correctly by the sink. In this process, the WireMock framework adds the mocked server, verifying the CloudEvents received by the sink during the workflow service execution. You can test a workflow application using SinkBinding. Prerequisites Your workflow application is working. For more information about creating a workflow application, see Creating your first workflow service. Your workflow application is configured to use HTTP CloudEvents using SinkBinding. For more information about enabling event-driven architecture in your workflow application using Knative Eventing, see Consuming and producing events on Knative Eventing. Procedure Add the required test dependencies to the pom.xml file of your workflow application: Add test dependencies to pom.xml file io.quarkus quarkus-junit5 (1) test io.rest-assured rest-assured (1) test com.github.tomakehurst wiremock-jre8 (2) test org.awaitility awaitility (3) test 1 quarkus-junit5 and rest-assured dependencies are required for HTTP-based testing in JVM mode. 2 wiremock-jre8 dependency allows you to mock the server that acts as a sink. 3 awaitility dependency is used to express the expectations of an asynchronous system. For more information, see Awaitility website. You can also see the dependencies added in pom.xml file of serverless-workflow-order-processing example application. Add failsafe maven plug-in to run integration tests: maven-failsafe-plugin in the pom.xml plug-in section maven-failsafe-plugin ${version.failsafe.plugin} org.jboss.logmanager.LogManager ${maven.home} integration-test verify More information in maven-failsafe-plugin documentation. Create a test class that mocks the sink using WireMock as shown in the following example: Example of a test class @QuarkusTest(1) public class VerifyWorkflowExecutionIT { (2) private static WireMockServer sink; (3) static { (4) RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); } /** * Starts the \"sink\" server, which is the endpoint that will receive our produced events */ @BeforeAll (5) public static void startSink() { sink = new WireMockServer(options().port(8181)); (6) sink.start(); (7) sink.stubFor(post(\"/\").willReturn(aResponse().withBody(\"ok\").withStatus(200))); (8) } @AfterAll (9) public static void stopSink() { if (sink != null) { sink.stop(); (10) } } @Test void processDomesticOrderUnderFraudEval() throws JsonProcessingException, InterruptedException { final ObjectMapper objectMapper = new ObjectMapper(); final Order order = new Order(); order.setId(UUID.randomUUID().toString()); order.setDescription(\"iPhone 12\"); order.setTotal(1001); order.setCountry(\"US\"); given() (4) .header(\"ce-specversion\", \"1.0\") .header(\"ce-id\", order.getId()) .header(\"ce-source\", \"/from/test\") .header(\"ce-type\", \"orderEvent\") .contentType(MediaType.APPLICATION_JSON) .body(objectMapper.writeValueAsString(order)) .post(\"/\") .then() .statusCode(200); await() (11) .atMost(60, SECONDS) .with().pollInterval(1, SECONDS) .untilAsserted(() -> { sink.verify(2, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(order.getId()))); sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"fraudEvaluation\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"domesticShipping\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); }); (12) } } 1 @QuarkusTest starts the Quarkus server for the lifetime of the test execution run. For more information, see Quarkus - Testing your application. 2 The test name ends with IT to identify which test needs to be executed as an integration test. More details in maven-failsafe-plugin documentation. 3 WireMockServer is a mocked server instance that is used for SinkBinding for testing. 4 given() is used to test interactions with the application. For more information about testing interactions, see Testing your workflow application using REST Assured. 5 @BeforeAll annotation is used to signal that the annotated method must be executed before running all the tests. 6 Creates a WireMockServer instance, listening at the port that is passed as a parameter and must match with the sink configuration. 7 Starts the server before the tests are executed. 8 Stubs the mocked API response. It accepts a MappingBuilder instance that is used to build API mapping information, such as URL, request parameters, body, headers, and authorization. 9 @AfterAll annotation is used to signal that the annotated method must be executed after executing all the tests. 10 Stops the server after executing all the tests. 11 await() is added to wait for asynchronous operations. 12 verify verifies if the request hits the mock API using the expected event content. You can check the VerifyWorkflowExecutionIT class of serverless-workflow-order-processing example application. Start the server before executing the tests, and stop the server once the tests are completed. You can also reset the mock stubs between the tests. Configure your test application to use the WireMockServer as a sink. Also, add the reference of WireMockServer in the application.properties file as shown in the following example: Example adding sink connection property in application.properties file mp.messaging.outgoing.kogito_outgoing_stream.url=http://0.0.0.0:8181 (1) 1 The port that needs to match with the passed parameter. The parameter is passed when the WireMockServer is created in the test class. For more information, see application.properties file of serverless-workflow-order-processing example application. To run the tests, execute the following command: Run the tests mvn clean verify The testing example in this document is based on the serverless-workflow-order-processing example application. The serverless-workflow-order-processing example application contains three workflows as shown in the following figure: Figure 1. Workflows in serverless-workflow-order-processing example The Order Workflow in the serverless-workflow-order-processing example application processes the incoming order event and starts a parallel state, which sends requests to two workflows including Fraud Handling and Shipping Handling. The Order Workflow ends when both Fraud Handling and Shipping Handling workflows are completed. The Fraud Handling workflow produces a FraudEvaluation event if the received order is more than 1000 USD. In the workflow architecture, any other system or service can read the FraudEvaluation event and react upon it, such as canceling the order. Simultaneously, regardless of evaluating the fraud, the Shipping Handling workflow produces events that classify the required shipping service, such as international or domestic. In this example, domestic shipping is classified for any order, containing the address within the United States. The following figure shows the event flow among the components in the serverless-workflow-order-processing example application: Figure 2. Example of event flow among components Also, the testing components replicate the interactions to verify the events that are received by the sink as shown in the following figure: Figure 3. Example of testing events flow Before executing a test, the WireMockServer starts listening to the configured port as the sink. The sink listens to the events that are produced by the workflows. When a workflow produces an event to the sink, the produced event is received by the WireMockServer, and then the test verifies the event content. The processDomesticOrderUnderFraudEval in the VerifyWorkflowExecutionIT class, produces events, such as fraudEvaluation (Total > 1000) and domesticShipping (country = \"US\"). Also, the order event consumed by the Order Workflow needs to match the requirements as shown in the following example: Example requirements for Order Workflow final ObjectMapper objectMapper = new ObjectMapper(); final Order order = new Order(); order.setId(UUID.randomUUID().toString()); order.setDescription(\"iPhone 12\"); order.setTotal(1001); order.setCountry(\"US\"); given() .header(\"ce-specversion\", \"1.0\") .header(\"ce-id\", order.getId()) .header(\"ce-source\", \"/from/test\") .header(\"ce-type\", \"orderEvent\") .contentType(MediaType.APPLICATION_JSON) .body(objectMapper.writeValueAsString(order)) .post(\"/\") .then() .statusCode(200); After matching the requirements, the test verifies if the sink is receiving the expected events as shown in the following example: Example of a sink verification await() .atMost(60, SECONDS) .with().pollInterval(1, SECONDS) .untilAsserted(() -> { sink.verify(2, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(order.getId()))); sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"fraudEvaluation\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"domesticShipping\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); }); The await() method in the previous example allows the test to retry the validations until the verifications are declared or until the specified time is expired. In this example, the specified time is 60 seconds. The following example shows how to check if the sink (WireMockServer) receives two events for the same order ID: Example if sink receives the events sink.verify(2, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(order.getId()))); To check the content of the received events, the following verifications can be declared or performed on the types: Example of verifications sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"fraudEvaluation\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"domesticShipping\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); After declaring the verifications on received events, the test successfully ends and the WireMockServer stops. Creating your first workflow service Testing your workflow application using REST Assured Mocking OpenAPI services using WireMock Testing a Quarkus application Knative Eventing components interaction: Source, Trigger, Broker, and Sink If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Mocking HTTP CloudEvents sink using WireMock","component":"serverlessworkflow","version":"1.40.0.Final","name":"mocking-http-cloudevents-with-wiremock","url":"/serverlessworkflow/latest/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","titles":[{"text":"Overview","hash":"con-sinkbinding-test-overview","id":1},{"text":"Testing a workflow application using SinkBinding","hash":"proc-test-sw-application-sinkbinding","id":2},{"text":"Example of test execution cycle","hash":"ref-example-test-execution-cycle","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"42":{"id":42,"text":"This document describes how to mock OpenAPI services using WireMock. The testing procedure described in this document is based on the serverless-workflow-service-calls-quarkus example application. WireMock is an open source Mocking API for unit, integration, and performance tests. You can use WireMock to isolate your tests from third party APIs and prototype APIs that do not exist. Prerequisites The examples used in this document assumes that you have the following prerequisites: Required tooling is installed. For more information, see Getting familiar with Kogito Serverless Workflow tooling. A workflow project is created and orchestrates OpenAPI services. For more information about orchestrating OpenAPI services, see Orchestrating the OpenAPI services. The procedure in this section describes how you can add WireMock to your workflow application. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. Procedure Add the following WireMock dependency to the pom.xml file of your project: Add WireMock dependency to pom.xml com.github.tomakehurst wiremock-jre8 {wiremock.version} test Replace {wiremock.version} variable with the version of WireMock that you want to use. Select one of the following methods to start your WireMock server: You can start the WireMock server as a QuarkusTestResource. If you select this method, then the WireMock server is started once before you run any test, and the server is stopped when the test finishes. This option is suitable for most use cases. You can start the WireMock server independently for each test. This option is useful when you want each test to behave differently. For more information about starting the WireMock server, see Starting WireMock server as a QuarkusTestResource and Starting WireMock server for a specific test. Start the WireMock server as shown in the following example: Example of starting a WireMock server WireMockConfiguration config = WireMockConfiguration.wireMockConfig().dynamicPort(); (1) WireMockServer wireMockServer = new WireMockServer(config); (2) wireMockServer.start(); (3) 1 Creates the configuration for the WireMock server. You can use a dynamic port since it prevents the tests from failing due to port conflicts. When you cannot use a dynamic port, you can use the WireMockConfiguration#port(int) method to use a fixed port number. 2 Creates the WireMock server instance. 3 Starts the WireMock server. Mock the endpoints as shown in the following example: Example of mocking endpoints ObjectMapper objectMapper = new ObjectMapper(); JsonNode greecePayload = objectMapper.readTree(getClass().getResourceAsStream(\"/country_mock.json\")); (1) wireMockServer.stubFor(WireMock.get(WireMock.urlEqualTo(\"/rest/v2/name/Greece\")) (2) .willReturn(WireMock.aResponse() (3) .withStatus(200) (4) .withHeader(\"Content-Type\", \"application/json\") (5) .withJsonBody(greecePayload))); (6) 1 Creates the JSON payload, which the WireMock server returns. Alternatively, you can use the ResponseDefinitionBuilder#withBody method to define a String or a byte[] as the response body. 2 Defines a stub for the /rest/v2/name/Greece endpoint. 3 Defines the response for the stub. 4 Defines the response status. 5 Defines the response headers. 6 Defines the response body. Stop the WireMock server as shown in the following example: Example of stopping a WireMock server wireMockServer.stop(); In the process of adding a mocked OpenAPI service to your tests, you need to start the WireMock server. You can start the WireMock server either as a QuarkusTestResource or you can start the server for each test. The procedure in this section describes how you can start the WireMock server as a QuarkusTestResource. For more information about QuarkusTestResource, see Starting services before the Quarkus application starts document. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. WireMock dependency is added in the pom.xml file. Procedure Create a class that implements the QuarkusTestResource interface as shown in the following example: Example implementation of QuarkusTestResource import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.tomakehurst.wiremock.WireMockServer; import com.github.tomakehurst.wiremock.core.WireMockConfiguration; import io.quarkus.test.common.QuarkusTestResourceLifecycleManager; import java.io.IOException; import java.io.UncheckedIOException; import java.util.Map; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.get; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; public class RestCountriesMockServer implements QuarkusTestResourceLifecycleManager { private WireMockServer wireMockServer; @Override public Map start() { (1) configureWiremockServer(); return Map.of(\"quarkus.rest-client.restcountries_json.url\", wireMockServer.baseUrl() + \"/rest\"); (2) } private void configureWiremockServer() { wireMockServer = new WireMockServer(WireMockConfiguration.wireMockConfig().dynamicPort()); wireMockServer.start(); ObjectMapper objectMapper = new ObjectMapper(); JsonNode greecePayload; try { greecePayload = objectMapper.readTree(getClass().getResourceAsStream(\"/country_mock.json\")); } catch (IOException e) { throw new UncheckedIOException(e); } wireMockServer.stubFor(get(urlEqualTo(\"/rest/v2/name/Greece\")) .willReturn(aResponse() .withStatus(200) .withHeader(\"Content-Type\", \"application/json\") .withJsonBody(greecePayload))); } @Override public void stop() { (3) if (wireMockServer != null) { wireMockServer.stop(); } } } 1 Starts the test resource. This method is called once before running all the tests. 2 Returns a map of application properties that are set in the test environment. In this case, the quarkus.rest-client.restcountries_json.url property is set as the base URL of the WireMock server. 3 Stops the test resource. This method is called once after running all the tests. Use the QuarkusTestResource implementation in your test class as shown in the following example: Example of a test class using the QuarkusTestResource implementation import io.quarkus.test.common.QuarkusTestResource; import io.quarkus.test.junit.QuarkusTest; import org.junit.jupiter.api.Test; @QuarkusTest @QuarkusTestResource(RestCountriesMockServer.class) (1) class CountryServiceWorkflowTest { @Test void testFeatureA() { // ... } @Test void testFeatureB() { // ... } } 1 Uses the RestCountriesMockServer class as a test resource. You can also start the WireMock server to be used in a specific test. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. WireMock dependency is added in the pom.xml file. Procedure Wrap the logic of a test between starting and stopping the WireMock server as shown in the following example: Example of a test using a specific WireMock server instance import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.tomakehurst.wiremock.WireMockServer; import com.github.tomakehurst.wiremock.core.WireMockConfiguration; import io.quarkus.test.junit.QuarkusTest; import org.junit.jupiter.api.Test; import java.io.IOException; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.get; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; @QuarkusTest class CountryServiceWorkflowTest { @Test void testFeatureA() throws IOException { WireMockServer wireMockServer = startWiremockServerForFeatureA(); try { // test logic } finally { wireMockServer.stop(); } } @Test void testFeatureB() { WireMockServer wireMockServer = startWiremockServerForFeatureB(); try { // test logic } finally { wireMockServer.stop(); } } private static WireMockServer startWiremockServerForFeatureA() throws IOException { WireMockServer wireMockServer = new WireMockServer(WireMockConfiguration.wireMockConfig().dynamicPort()); wireMockServer.start(); ObjectMapper objectMapper = new ObjectMapper(); JsonNode greecePayload = objectMapper.readTree(CountryServiceWorkflowTest.class.getResourceAsStream(\"/country_mock_feature_a.json\")); wireMockServer.stubFor(get(urlEqualTo(\"/rest/v2/name/Greece\")) .willReturn(aResponse() .withStatus(200) .withHeader(\"Content-Type\", \"application/json\") .withJsonBody(greecePayload))); return wireMockServer; } private static WireMockServer startWiremockServerForFeatureB() { WireMockServer wireMockServer = new WireMockServer(WireMockConfiguration.wireMockConfig().dynamicPort()); wireMockServer.start(); wireMockServer.stubFor(get(urlEqualTo(\"/rest/v2/name/Greece\")) .willReturn(aResponse().withStatus(404))); return wireMockServer; } } You can test your workflow application using the instructions described in Testing your workflow application using REST Assured document. Creating your first workflow service Testing your workflow application using REST Assured If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Mocking OpenAPI services using WireMock","component":"serverlessworkflow","version":"1.40.0.Final","name":"mocking-openapi-services-with-wiremock","url":"/serverlessworkflow/latest/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","titles":[{"text":"Adding a mocked OpenAPI service to your tests","hash":"proc-add-mocked-openapi-service-tests","id":1},{"text":"Starting WireMock server as a QuarkusTestResource","hash":"proc-start-wiremock-server-quarkustestresource","id":2},{"text":"Starting WireMock server for a specific test","hash":"proc-start-wiremock-server-specific-test","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"43":{"id":43,"text":"Kogito Serverless Workflow provides a plug-in named kn-plugin-workflow for Knative CLI, which enables you to set up a local workflow project quickly using the command line. This document describes how you can install and use the kn-plugin-workflow plug-in in Kogito Serverless Workflow. You can use the Kogito Serverless Workflow plug-in to set up your local workflow project quickly using Knative CLI. Prerequisites Java 11+ is installed. Maven 3.8.6 or later is installed. (Optional) Docker is installed. (Optional) Podman is installed. Kubernetes CLI is installed. Procedure Download the latest binaries from the KIE Tooling Releases page. Run the kn workflow command using one of the following methods: Add kn workflow command in your system path and ensure that it is executable. Install kn workflow command as a plug-in of the Knative CLI using the following steps: Install the Knative CLI. For installation instructions, see Installing kn documentation in GitHub. Copy the kn-workflow binary to a directory in your PATH, such as /usr/local/bin and ensure that the file name is kn-workflow. On Mac, add execution permission as follows: chmod +x /usr/local/bin/kn-workflow Some systems might block the application to run due to Apple enforcing policies. To fix this problem, check the Security & Privacy section in the System Preferences → General tab to approve the application to run. For more information, see Apple support article: Open a Mac app from an unidentified developer. Run the following command to verify that kn-workflow plug-in is installed successfully: kn plugin list After installing the plug-in, you can use kn workflow to run the related subcommands. Use the workflow subcommand in Knative CLI as follows: Methods to use workflow subcommand kn workflow kn-workflow Example output Manage Kogito Serverless Workflow projects Usage: kn workflow [command] Available Commands: build Build a Kogito Serverless Workflow project and generate a container image completion Generate the autocompletion script for the specified shell create Create a Kogito Serverless Workflow project deploy Deploy a Kogito Serverless Workflow project help Help about any command Flags: -h, --help help for kn-workflow -v, --verbose Print verbose logs Use \"kn workflow [command] --help\" for more information about a command. After installing the Kogito Serverless Workflow plug-in, you can use the create command with kn workflow to scaffold a new workflow project in your current directory. The create command sets up Quarkus project containing minimal extensions to build a workflow project. Also, the generated workflow project contains a \"hello world\" workflow.sw.json file in your .//src/main/resources directory. Prerequisites Kogito Serverless Workflow plug-in for Knative CLI is installed. For more information about installing the plug-in, see Installing the Kogito Serverless Workflow plug-in for Knative CLI. Procedure In Knative CLI, enter the following command to create a new project: Creates a project named new-project kn workflow create By default, the generated project is named as new-project. You can overwrite the project name by using the [-n|--name] flag as follows: Create a project named my-project kn workflow create --name my-project Add more extensions to the Quarkus project during its creation by using the [-e|--extension] flag as follows: Create a project with quarkus-jsonp and quarkus-smallrye-openapi extensions kn workflow create --extension quarkus-jsonp,quarkus-smallrye-openapi You can add multiple extensions using the comma-separated names of the extensions in the previous command. When you run the create command for the first time, it might take a while due to the necessity of downloading the required dependencies for the Quarkus project. After creating your workflow project, you can use the build command with kn workflow to build your workflow project in your current directory and to generate a container image. The process of building your workflow project produces a knative.yml file in the ./target/kubernetes folder. If your workflow contains events, then the building process also generates a kogito.yml file. Prerequisites Kogito Serverless Workflow plug-in for Knative CLI is installed. For more information about installing the plug-in, see Installing the Kogito Serverless Workflow plug-in for Knative CLI. A workflow project is created. For more information about creating a workflow project, see Creating workflow project using Knative CLI. Procedure In Knative CLI, enter the following command to build your workflow project: Build the project and generate a local image named dev.local/my-project kn workflow build --image dev.local/my-project By using dev.local as repository, you can deploy your Kogito Serverless Workflow project in a local environment without having to push the image to a container registry. To use the build command, you need to provide either --image or --image-name flag. In the previous command, you can use the [-i|--image] in several ways, such as: --image=[name] --image=[name]:[tag] --image=[repository]/[name] --image=[repository]/[name]:[tag] --image=[registry]/[repository]/[name] --image=[registry]/[repository]/[name]:[tag] The default value for registry and tag is quay.io and latest respectively. Also, you can use specific flags to compose the full name of the image as follows: --image-registry --image-repository --image-name --image-tag In case the --image flag is composed with specific flags as shown in the following command, then the specific value overrides the --image flag: Build the project and generate a local image named quay.io/other-user/my-project:1.0.1 kn workflow build --image my-user/my-project:1.0.0 --image-repository other-user --image-tag 1.0.1 You can use the following strategies to build a workflow project and to generate the container image: Using Jib Jib is an extension that builds a container image without the necessity of a container runtime. When using the Jib extension, the rebuilds are fast and the resultant container image is optimized. You can use the following commands to build a workflow project and to generate a local image using Jib: Build a project and generate a local image using Jib kn workflow build --image dev.local/my-project --jib The generated container image can be saved in the Docker runtime. Build a project and generate a local image using Jib kn workflow build --image dev.local/my-project --jib-podman Using the previous command, the generated container image can be saved in the Podman runtime. If you do not want to use any container runtime, then use --push to push the generated container image to the respective registry as shown in the following command: Build a project and push the image using Jib kn workflow build --image my-project --jib --push Before using the --push option, ensure that you have access to your registry. You can get the access using Docker or Podman login. Using Docker The process of building your workflow project using Docker is straightforward and also a default approach. When using Docker, you can automatically push the container image to the respective registry by using the --push option as shown in the following command: Build a project and push the image using Docker kn workflow build --image my-project --push You can use the deploy command combined with kn workflow to deploy your workflow project in your current directory. However, before deploying the project, you must build your workflow project as the build process produces deployment files, such as knative.yml and kogito.yml (In case of events) in the ./target/kubernetes folder. Prerequisites Kogito Serverless Workflow plug-in for Knative CLI is installed. For more information about installing the plug-in, see Installing the Kogito Serverless Workflow plug-in for Knative CLI. A workflow project is created. For more information about created a workflow project, see Creating workflow project using Knative CLI. A workflow project is built. For more information about building your workflow project, see Building workflow project using Knative CLI. Procedure In Knative CLI, enter the following command to deploy your workflow project: Deploy a workflow project kn workflow deploy If the deployment files (knative.yml and kogito.yml) are saved in any other folder instead of ./target/kubernetes, then you can override the path using the --path flag with deployment command as follows: Deploy a workflow project using --path kn workflow deploy --path other-path Also, ensure that you have access to your cluster and your cluster can access the generated container image. You can use the kubectl command line if you want to use a complex deployment setup for your workflow project. Creating your first workflow service If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Kogito Serverless Workflow plug-in for Knative CLI","component":"serverlessworkflow","version":"1.40.0.Final","name":"kn-plugin-workflow-overview","url":"/serverlessworkflow/latest/tooling/kn-plugin-workflow-overview.html","titles":[{"text":"Installing the Kogito Serverless Workflow plug-in for Knative CLI","hash":"proc-install-sw-plugin-kn-cli","id":1},{"text":"Creating a workflow project using Knative CLI","hash":"proc-create-sw-project-kn-cli","id":2},{"text":"Building a workflow project using Knative CLI","hash":"proc-build-sw-project-kn-cli","id":3},{"text":"Strategy for building a workflow project","hash":"con-build-strategy-kn-cli","id":4},{"text":"Deploying a workflow project using Knative CLI","hash":"proc-deploy-sw-project-kn-cli","id":5},{"text":"Additional resources","hash":"_additional_resources","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"44":{"id":44,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"tooling","url":"/serverlessworkflow/latest/tooling/tooling.html","titles":[]},"45":{"id":45,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"newsletter-subscription-example","url":"/serverlessworkflow/latest/use-cases/newsletter-subscription-example.html","titles":[]},"46":{"id":46,"text":"The Saga design pattern manages data consistency across participants that are available in distributed transaction scenarios. For more information about Saga pattern, see the initial publication. In a microservice architecture, you can define a participant as microservice, which is responsible to perform actions related to the business domain. The Saga pattern manages the transactions using a sequence of steps. If a failure occurs while executing a step, then a sequence of compensating actions is executed to undo the changes that are made during the execution. As an alternative, you can leave the system in a known termination state to be consistent. To understand the implementation of Saga pattern in a workflow, you can use the serverless-workflow-saga-quarkus example application in GitHub repository. The serverless-workflow-saga-quarkus example application is based on the order fulfillment process and describes how to define the Saga pattern using Kogito Serverless Workflow. In the order fulfillment example, a user buys an item from an e-commerce application. The user adds the delivery information and payment details, and waits for the item to be delivered. The following figure shows the sequence of steps that are executed to complete an order: Figure 1. Example of order fulfillment process The previous figure contains the following steps: Order checkout: User confirms the order with selected items, payment method, and delivery address. Stock reservation: The selected items in the order are reserved in the stock. Payment processing: Payment is processed based on the selected payment method and user information. For example, in case of processing payment using credit card, then the credit is verified and allocated to the payment. Shipping processing: The shipping processing represents a mechanism, which communicates with a third-party or an internal system who are responsible for logistics and delivery. The following figure describes the Saga pattern using the success and failure workflows in the order fulfillment process: Figure 2. Example of Saga pattern in Order fulfillment process The success workflow in the previous figure consists of the following steps: Reserve item stock Process the payment Schedule the order shipping However, in the failure workflow an error occurred during the shipping process. In this situation, a sequence of compensation actions is executed, including canceling the payment and releasing the stock for the items in the order. In the serverless-workflow-saga-quarkus example application, a workflow is used that implements the Saga pattern, in which all the steps and compensation actions are defined. Also, the workflow plays the role of Saga Executor Coordinator (SEC), which orchestrates the calls to the participants in the Saga pattern. The workflow definition used to define the Saga pattern is available in the order-saga-error-handling.sw.json file. Figure 3. Example of order fulfillment Saga workflow In the previous example figure of workflow, the calls are orchestrated to the participants (for example, order service, payment service), each participant can throw possible errors, and compensations for each step are defined, that are executed once an error appears during the workflow execution. To define the interactions among participants in the Saga pattern using Serverless Workflow specification, you can use workflow states with transitions. In Serverless Workflow specification, each workflow state represents a step to be completed in the Saga pattern. Also, an action associated with the workflow state represents how a participant is invoked to execute a given step. Example of workflow state declaration representing the payment process in Saga { \"name\":\"processPayment\", \"type\":\"operation\", \"actions\":[ { \"name\":\"processPaymentAction\", \"functionRef\":{ \"refName\":\"processPayment\", \"arguments\":{ \"orderId\":\".orderId\", \"failService\":\".failService\" } }, \"actionDataFilter\":{ \"results\":\".\", \"toStateData\":\".paymentResponse\" } } ], \"transition\":\"scheduleShipping\", \"compensatedBy\":\"CancelPayment\", \"onErrors\":[ { \"errorRef\":\"process payment failed\", \"transition\":\"ServiceError\" } ] } In the previous example, the processPayment state contains a processPaymentAction action, which invokes a function to execute the payment processing that Payment Service participant might process. The transition attribute represents the next step to be started, which schedules the order shipping for the Saga pattern. Compensation actions When designing a Saga pattern, compensation actions for each step is considered as a core functionality, which is executed by a participant. In Kogito Serverless Workflow each workflow state must define a compensation action using compensatedBy attribute, indicating another workflow state that performs the compensation action. For example, in serverless-workflow-saga-quarkus, processPayment state defines CancelPayment as a compensation action in the payment process. Example of defining a compensation action \"compensatedBy\": \"CancelPayment\" Errors In Kogito Serverless Workflow errors are identified by a name and can be associated with a workflow state. For example, a process payment failed error is associated with the processPayment state. Following is an example of error declaration in the workflow definition: Example the error declaration for the Saga { \"errors\":[ { \"name\":\"reserve stock failed\", \"code\":\"org.kie.kogito.ServiceException\" }, { \"name\":\"process payment failed\", \"code\":\"org.kie.kogito.ServiceException\" }, { \"name\":\"shipping failed\", \"code\":\"org.kie.kogito.ServiceException\" } ] } Once an error occurs during the workflow execution, the associated compensation action is triggered. An error definition uses the fully qualified class name (FQCN) for Java exceptions that are thrown by functions. In the previous example of error definition, org.kie.kogito.ServiceException is thrown by the service calls that are defined as Java methods in the PaymentService.java file. Example custom function using a Java class and method { \"name\":\"reserveStock\", \"type\":\"custom\", \"operation\":\"service:org.kie.kogito.PaymentService::processPayment\" } The function that are throwing errors can be any type of functions, such as REST, OpenAPI, or gRPC. For information about error handling, see Error handling in Kogito Serverless Workflow. The workflow engine controls the execution of the flow and keeps the track of the steps that need to be compensated. Also, the engine ensures that compensated states are executed in reverse order of each completed step. The engine is a stateful, allowing Saga to contain wait states, such as callbacks. After each wait state, the workflow is persisted and can continue once it receives a request or event. The serverless-workflow-saga-quarkus example application shows a Saga workflow that is executed as request-response. This is called a straight through process, in which an entire workflow is executed in a single request. You can use the following examples as a reference to run and test the Saga pattern in a workflow: Create new success order You can use the following example to send a request for creating an order: Example request to create an order curl -L -X POST \"http://localhost:8080/order_saga_error_workflow\" -H 'Content-Type: application/json' --data-raw '{ \"orderId\": \"03e6cf79-3301-434b-b5e1-d6899b5639aa\" }' Example response { \"id\":\"b5c0bf16-1e37-4d7a-82cd-610809090d9c\", \"workflowdata\":{ \"orderId\":\"03e6cf79-3301-434b-b5e1-d6899b5639aa\", \"stockResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"dc32abe6-9706-4061-8e96-910d8e06728d\" }, \"paymentResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"505259d9-1c12-40ea-af5d-679e2cd89394\" }, \"shippingResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"d6e2d538-0229-4b8e-a363-17ebabdb3585\" }, \"orderResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"03e6cf79-3301-434b-b5e1-d6899b5639aa\" } } } The response contains the workflow data with nested attributes, which represent the responses from the execution of each step including success or failure. In the previous example, the orderResponse attribute indicates if the order can be confirmed by the client by initiating the Saga workflow. Therefore, if the value of the orderResponse attribute is success, then the order can be confirmed, otherwise the order can be canceled. When executing the application, you can also verify the log with information related to the executed steps as shown in the following example: Example console output 2022-06-24 13:44:36,666 INFO [org.kie.kog.StockService] (executor-thread-0) Reserve Stock for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:44:36,669 INFO [org.kie.kog.PaymentService] (executor-thread-0) Process Payment for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:44:36,673 INFO [org.kie.kog.ShippingService] (executor-thread-0) Schedule Shipping for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:44:36,676 INFO [org.kie.kog.OrderService] (executor-thread-0) Order Success 03e6cf79-3301-434b-b5e1-d6899b5639aa Activate compensation actions To test the workflow, an optional failService attribute is introduced, indicating which participant must respond with an error. In the following example, the ShippingService state throws an error, which breaks the workflow execution and triggers the compensation actions: Example compensation request curl -L -X POST 'http://localhost:8080/order_saga_error_workflow' -H 'Content-Type: application/json' --data-raw '{ \"orderId\": \"03e6cf79-3301-434b-b5e1-d6899b5639aa\", \"failService\": \"ShippingService\" }' Example response { \"id\":\"217050a3-6676-4c0e-8555-2fcda936e00e\", \"workflowdata\":{ \"orderId\":\"03e6cf79-3301-434b-b5e1-d6899b5639aa\", \"failService\":\"ShippingService\", \"stockResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"6ab362c6-a6c4-4517-b232-3349741271d5\" }, \"paymentResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"2114cc5b-1912-4b34-b869-734907f0fef2\" }, \"cancelPaymentResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"2114cc5b-1912-4b34-b869-734907f0fef2\" }, \"cancelStockResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"6ab362c6-a6c4-4517-b232-3349741271d5\" }, \"orderResponse\":{ \"type\":\"ERROR\", \"resourceId\":\"03e6cf79-3301-434b-b5e1-d6899b5639aa\" } } } When executing the application, you can also verify the log with information related to the executed steps as shown in the following example: Example console output 2022-06-24 13:43:45,077 INFO [org.kie.kog.StockService] (executor-thread-0) Reserve Stock for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:43:45,215 INFO [org.kie.kog.PaymentService] (executor-thread-0) Process Payment for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:43:45,219 INFO [org.kie.kog.ShippingService] (executor-thread-0) Schedule Shipping for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:43:45,219 ERROR [org.kie.kog.MockService] (executor-thread-0) Error in ShippingService for 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:43:45,230 INFO [org.kie.kog.PaymentService] (executor-thread-0) Cancel Payment 4b94408d-8cad-432d-85bb-63dd79c4071e 2022-06-24 13:43:45,239 INFO [org.kie.kog.StockService] (executor-thread-0) Cancel Stock 9d543764-8a8b-4d94-aaee-e6ccbe9c94c3 2022-06-24 13:43:45,244 INFO [org.kie.kog.OrderService] (executor-thread-0) Order Failed 03e6cf79-3301-434b-b5e1-d6899b5639aa Error handling in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Saga orchestration example in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"orchestration-based-saga-pattern","url":"/serverlessworkflow/latest/use-cases/orchestration-based-saga-pattern.html","titles":[{"text":"Overview of Saga pattern","hash":"con-saga-overview","id":1},{"text":"Example of Saga pattern a workflow","hash":"ref-sw-example-saga-pattern","id":2},{"text":"Examples of running and testing the Saga pattern in a workflow","hash":"ref-sw-run-test-saga-example","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"47":{"id":47,"text":"In the serverless-workflow-timeouts-showcase you can see an end-to-end example that contains a serverless workflow application with timeouts configured alongside Job Service running on Knative. There are two workflows that showcase the timeouts usage in the Callback and Switch states. It is a simple workflow, where once the execution reaches the callback state it waits for the event callbackEvent to arrive and continue the execution. Figure 1. Callback timeout workflow Callback event { \"name\": \"callbackEvent\", \"source\": \"\", \"type\": \"callback_event_type\" } The timeout is configured with a maximum time 30 seconds to be waited by the workflow to receive the callbackEvent, in case it does not arrive in time, the execution moves, and the eventData variable remains null. See the callback state definition. The switch example is similar to the callback but once the execution reaches the state, it waits for one of the two configured events, visaDeniedEvent or visaApprovedEvent, to arrive, see the switch state definition. If any of the configured events arrives before the timeout is overdue, the workflow execution moves to the next state defined in the corresponding transition. If none of the events arrive before the timeout is overdue, the workflow then moves to the state defined in defaultCondition transition. Figure 2. Switch timeout workflow The event example is similar to the switch one but once the execution reaches the state, it waits for one of the configured events, event1 or event2, to arrive, see the event state definition. If none of the configured events arrive before the timeout is overdue, the workflow execution moves to the next state defined in the corresponding transition property, skipping the events that were not received in time together with actions configured for them. If one of the events arrives before the timeout is overdue, the workflow then moves to the state defined in transition, executing the corresponding event that has arrived in the state definition together with actions defined for it. Figure 3. Event timeout workflow To run the example you must have access to a kubernetes cluster running with Knative configured. For simplicity, the example uses minikube, you can follow the steps described in the example’s readme. All the descriptor files used to deploy the example infrastructure are present in the example. The database and Job Service deployment files are located under /kubernetes folder. The descriptors related to the workflow application are generated after the build under /target/kubernetes. The following diagram shows the example’s architecture when it is deployed in the Kubernetes + Knative infrastructure. Figure 4. Knative Workflow with Job Service architecture The workflow application and Job Service uses PostgreSQL as the persistence backend to store information about the workflow instances and jobs, respectively. In the example you can deploy a single database instance to be used on both, in a production environment is recommended to have independent database instances. To run PostgreSQL you need to apply the following on the cluster: Deploying the database kubectl apply -f kubernetes/timeouts-showcase-database.yml After executing the command, you will see an output like this: secret/timeouts-showcase-database created deployment.apps/timeouts-showcase-database created service/timeouts-showcase-database created Deploying Job Service kubectl apply -f kubernetes/jobs-service-postgresql.yml After executing the command, you will see an output like this: service/jobs-service-postgresql created deployment.apps/jobs-service-postgresql created trigger.eventing.knative.dev/jobs-service-postgresql-create-job-trigger created trigger.eventing.knative.dev/jobs-service-postgresql-cancel-job-trigger created sinkbinding.sources.knative.dev/jobs-service-postgresql-sb created You need to build the workflow with the knative maven profile, then the descriptor files are generated under the target/kubernetes folder, and the image is pushed in the container registry. Building the timeout workflow showcase for Knative mvn clean install -Pknative Deploying the timeout workflow showcase in Knative kubectl apply -f target/kubernetes/knative.yml kubectl apply -f target/kubernetes/kogito.yml After executing the commands you will see an output like this: service.serving.knative.dev/timeouts-showcase created trigger.eventing.knative.dev/visa-denied-event-type-trigger-timeouts-showcase created trigger.eventing.knative.dev/visa-approved-event-type-trigger-timeouts-showcase created trigger.eventing.knative.dev/callback-event-type-trigger-timeouts-showcase created sinkbinding.sources.knative.dev/sb-timeouts-showcase created To create a workflow you can interact with the workflow using the provided REST APIs, in the example provide a test Web UI to make it easy to test. First, you need to get the service URL on the cluster. Getting the workflow service URL on the cluster kn service list | grep timeouts-showcase Service URL in the response, similar to this. NAME URL LATEST AGE CONDITIONS READY REASON timeouts-showcase http://timeouts-showcase.default.10.105.86.217.sslip.io timeouts-showcase-00001 3m50s 3 OK / 3 True The example Web UI is handy to interact with the workflow, you just need to open in the browser the URL you got from the previous step. Figure 5. Timeout workflow showcase UI You can create new workflow instances and interact with them to complete, or simply wait for the timeout to be triggered to check it’s working. More details on the readme. You can test the workflows using the REST APIs, in fact they are the same used by the Web UI in both workflows. Callback Creating a callback workflow with timeout curl -X 'POST' \\ 'http://timeouts-showcase.default.10.105.86.217.sslip.io/callback_state_timeouts' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{}' Switch Creating a Switch workflow with timeout curl -X 'POST' \\ 'http://timeouts-showcase.default.10.105.86.217.sslip.io/callback_state_timeouts' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{}' Event Creating an event workflow with timeout curl -X 'POST' \\ 'http://timeouts-showcase.default.10.105.86.217.sslip.io/event_state_timeouts' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{}' Checking whether the workflow instance was created Getting the created workflow instance curl -X 'GET' 'http://timeouts-showcase.default.10.105.86.217.sslip.io/switch_state_timeouts' The command will produce an output like this, which indicates that the process is waiting for an event to arrive. Response with the created instance [{\"id\":\"2e8e1930-9bae-4d60-b364-6fbd61128f51\",\"workflowdata\":{}}] Checking the timeout was executed after 30 seconds: Getting the created workflow instance after 30 seconds curl -X 'GET' 'http://timeouts-showcase.default.10.105.86.217.sslip.io/switch_state_timeouts' [] As you can see there are no active workflow instances, indicating the timeout was executed and the created instance was completed. Timeout support in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Timeout example in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"timeout-showcase-example","url":"/serverlessworkflow/latest/use-cases/timeout-showcase-example.html","titles":[{"text":"Callback workflow","hash":"_callback_workflow","id":1},{"text":"Switch workflow","hash":"_switch_workflow","id":2},{"text":"Event workflow","hash":"_event_workflow","id":3},{"text":"Running the example","hash":"_running_the_example","id":4},{"text":"Deploying the database","hash":"_deploying_the_database","id":5},{"text":"Deploying Job Service","hash":"job-service-deploy","id":6},{"text":"Deploying the timeout showcase workflow","hash":"_deploying_the_timeout_showcase_workflow","id":7},{"text":"Creating a workflow instance","hash":"_creating_a_workflow_instance","id":8},{"text":"Using the showcase UI","hash":"_using_the_showcase_ui","id":9},{"text":"Using REST APIs","hash":"_using_rest_apis","id":10},{"text":"Additional resources","hash":"_additional_resources","id":11},{"text":"Found an issue?","hash":"_found_an_issue","id":12}]},"48":{"id":48,"text":"This document describes how to build and deploy your workflow on a Kubernetes cluster using the Kogito Serverless Workflow Operator only by having a workflow definition. Kogito Serverless Workflow Operator is under active development with features yet to be implemented. Please see Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap. Prerequisites A workflow definition. The Kogito Serverless Workflow Operator installed. See Install the Kogito Serverless Workflow Operator You should follow these steps to create a container that you can deploy as a service on Kubernetes. Create a new namespace that will hold all the resources that the operator will create (pods, deployments, services, secretes, config map, and Custom Resources) in this guide. Create a namespace for the application to build & run in kubectl create namespace kogito-workflows # set the kogito-workflows namespace to your context kubectl config set-context --current --namespace=kogito-workflows Create a secret for the container registry authentication kubectl create secret docker-registry regcred --docker-server= --docker-username= --docker-password= --docker-email= -n kogito-workflows or you can directly import your local docker config into your Kubernetes cluster: Create a secret for the container registry authentication based on local docker config kubectl create secret generic regcred --from-file=.dockerconfigjson=${HOME}/.docker/config.json --type=kubernetes.io/dockerconfigjson -n kogito-workflows Double check your ${HOME}/.docker/config.json. If you’re using local desktop authentication, this configuration won’t work in the cluster. You can initialize this by logging in in the target registry, e.g. docker login. The KogitoServerlessPlatform is the resource used to control the behavior of the Kogito Serverless Workflow Operator. It defines the behavior of all Custom Resources (Workflow and Build) in the given namespace. Since the operator is installed in global mode, you will need to specify a platform in each namespace where you want to deploy workflows. You can find a basic KogitoServerlessPlatform custom resource example in the config/samples folder that you can simply apply to configure your operator. Create a KogitoServerlessPlatform kubectl apply -f https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessplatform.yaml -n kogito-workflows In this Custom Resource, spec.platform.registry.secret is the name of the secret you created just before. You can also update \"on-the-fly\" the KogitoServerlessPlatform registry field with this command (change ) Create a KogitoServerlessPlatform with a specific registry curl https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessplatform.yaml | sed \"s|address: .*|address: \" | kubectl apply -f - In order to retrieve the Cluster IP address of Minikube’s internal registry to configure your platform, you can use the following command: Retrieve Minikube registry internal IP kubectl get svc registry -n kube-system -ojsonpath='{.spec.clusterIP}' You can now send your workflow definition (KogitoServerlessWorkflow) to the operator. You can find a basic KogitoServerlessWorkflow in the config/samples folder that is defining the Kogito Serverless Workflow Greeting example. kubectl apply -f https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow.yaml -n kogito-workflows You can check the logs of the build of your workflow via: Get the workflow application pod logs kubectl logs kogito-greeting-builder -n kogito-workflows The final pushed image must be printed into the logs at the end of the build. In order to check that the Kogito Serverless Workflow Greeting application is up and running, you can try to perform a test HTTP call, from the greeting pod. Check the greeting application is running kubectl patch svc greeting -n kogito-workflows -p '{\"spec\": {\"type\": \"NodePort\"}}' GREETING_SVC=$(minikube service greeting -n kogito-workflows --url) curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' $GREETING_SVC/greeting If everything is working well you should receive a response like this: Response from the greeting application {\"id\":\"b5fbfaa3-b125-4e6c-9311-fe5a3577efdd\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Developing Workflow Services with the Operator If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Building and Deploying Workflows with the Operator","component":"serverlessworkflow","version":"1.40.0.Final","name":"build-and-deploy-workflows","url":"/serverlessworkflow/latest/cloud/operator/build-and-deploy-workflows.html","titles":[{"text":"Preparing for the build","hash":"_preparing_for_the_build","id":1},{"text":"Create a namespace for the building phase","hash":"_create_a_namespace_for_the_building_phase","id":2},{"text":"Create a secret for the container registry authentication","hash":"_create_a_secret_for_the_container_registry_authentication","id":3},{"text":"Configure the Kogito Serverless Workflow Operator (i.e. registry address, secret) for building your workflows","hash":"_configure_the_kogito_serverless_workflow_operator_i_e_registry_address_secret_for_building_your_workflows","id":4},{"text":"Build and deploy your workflow application","hash":"_build_and_deploy_your_workflow_application","id":5},{"text":"Check the workflow application is running","hash":"_check_the_workflow_application_is_running","id":6},{"text":"Additional resources","hash":"_additional_resources","id":7},{"text":"Found an issue?","hash":"_found_an_issue","id":8}]},"49":{"id":49,"text":"This document describes how to configure a workflow service with the Kogito Serverless Workflow Operator. When the operator deploys the workflow service, it also creates a ConfigMap named after the KogitoServerlessWorkflow object with the suffix -props. For example, if your workflow name is greeting, then the ConfigMap name is greeting-props. You can use the Kubernetes object editor of your preference to add or edit the properties in the workflow configuration. Using kubectl you can do: Editing the Workflow Properties kubectl edit cm -props Note that it’s important to respect the properties format, otherwise the operator will replace your configuration with the default one. Here’s an example of a workflow properties: Example of a Workflow ConfigMap Properties apiVersion: v1 kind: ConfigMap metadata: labels: app: greeting name: greeting-props namespace: default data: application.properties: | my.properties.key = any-value The underlying runtime engine that executes the workflow service is based on Quarkus. So that, you can configure the workflow as you normally would any Quarkus application. Any Kogito Serverless Workflow configuration that the documentation describes or general Quarkus application property can be configured using this method. A few properties can not be changed in this configuration. Usually, they are already defined in the properties file. The table below lists them. Table 1. List of immutable properties Property Key Immutable Value Profile quarkus.http.port 8080 all quarkus.http.host 0.0.0.0 all org.kie.kogito.addons.knative.eventing.health-enabled false dev If you try to change any of them, the operator will override them with the default, but preserving your changes in other property keys. Configuration properties in Kogito Serverless Workflow Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Developing Workflow Services with the Operator Building and Deploying Workflows with the Operator If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Configuring Workflow Services","component":"serverlessworkflow","version":"1.40.0.Final","name":"configuring-workflows","url":"/serverlessworkflow/latest/cloud/operator/configuring-workflows.html","titles":[{"text":"Editing the Workflow Configuration","hash":"_editing_the_workflow_configuration","id":1},{"text":"Immutable properties","hash":"_immutable_properties","id":2},{"text":"Additional resources","hash":"_additional_resources","id":3},{"text":"Found an issue?","hash":"_found_an_issue","id":4}]},"50":{"id":50,"text":"This document describes how you can develop your workflows directly on Kubernetes with the Kogito Serverless Workflow Operator. Workflows in development profile are not tailored for production environments. To build and deploy an immutable workflow application with the operator, see Building and Deploying Workflows with the Operator. Kogito Serverless Workflow Operator is under active development with features yet to be implemented. Please see Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap. The development profile is the easiest way to start playing around with workflows and the operator. To get started, you can use an editor of your choice to create a new KogitoServerlessWorkflow Custom Resource YAML definition. For example: Example of a Kubernetes Kogito Serverless Workflow YAML definition apiVersion: sw.kogito.kie.org/v1alpha08 kind: KogitoServerlessWorkflow metadata: name: greeting annotations: sw.kogito.kie.org/description: Greeting example on k8s! sw.kogito.kie.org/version: 0.0.1 sw.kogito.kie.org/profile: dev (1) spec: flow: (2) start: ChooseOnLanguage functions: - name: greetFunction type: custom operation: sysout states: - name: ChooseOnLanguage type: switch dataConditions: - condition: \"${ .language == \\\"English\\\" }\" transition: GreetInEnglish - condition: \"${ .language == \\\"Spanish\\\" }\" transition: GreetInSpanish defaultCondition: GreetInEnglish - name: GreetInEnglish type: inject data: greeting: \"Hello from JSON Workflow, \" transition: GreetPerson - name: GreetInSpanish type: inject data: greeting: \"Saludos desde JSON Workflow, \" transition: GreetPerson - name: GreetPerson type: operation actions: - name: greetAction functionRef: refName: greetFunction arguments: message: \".greeting+.name\" end: true 1 The annotation sw.kogito.kie.org/profile: dev tells the operator to deploy your workflow using the development profile. This means that the operator will build a running instance of the workflow ready to receive changes during your development cycle. 2 In the flow attribute goes the workflow definition as described by the CNCF Serverless Workflow specification. So if you already have a workflow definition, you can use it there. Alternatively, you can use the editors to create your workflow definition. Prerequisites You have installed the Kogito Serverless Workflow Operator You have created a new Kogito Serverless Workflow Kubernetes YAML file Having a new Kubernetes workflow definition in a YAML file (you can use the above example), you can deploy it in your cluster with the following command: Deploying a new KogitoServerlessWorkflow custom resource in Kubernetes kubectl apply -f -n Alternatively, you can try one of the examples available in the operator repository: Deploying the greeting workflow example kubectl apply -f https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/test/testdata/sw.kogito_v1alpha08_kogitoserverlessworkflow_devmode.yaml -n Replace with the namespace you’re using to deploy your applications You can follow the workflow status to check if everything is fine with: Checking the workflow status kubectl get workflow -n -w You should see the workflow conditions evolving to READY in a few seconds: Example workflow deployment status NAME PROFILE VERSION ADDRESS READY REASON greeting dev 0.0.1 False WaitingForDeployment greeting dev 0.0.1 True The REASON field gives you a cue about the current workflow status. You can make changes to the workflow YAML using any Kubernetes editor. For example, you can use kubectl and the following command: kubectl edit workflow/greeting -n and changing the workflow definition inside the CustomResource Spec section. Otherwise, you can save the CustomResource definition file and edit it with your desired editor, and re-applying it. For example using VSCode, there are the commands needed: curl -S https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow_devmode.yaml > workflow_devmode.yaml code workflow_devmode.yaml kubectl apply -f workflow_devmode.yaml -n The operator ensures that the latest workflow definition is running and ready. This way, you can include the workflow application in your development scenario and start making requests to it. In order to check that the Kogito Serverless Workflow Greeting application is up and running, you can try to perform a test HTTP call. First, you must expose the service: Exposing the workflow application kubectl patch svc greeting -n -p '{\"spec\": {\"type\": \"NodePort\"}}' minikube service greeting -n --url http://127.0.0.1:57053 # use the above output to get the current workflow URL in your environment Alter exposing the workflow service, you can point your browser to the Swagger UI and start making requests with the REST interface. For example, using the above command execution you can access the Swagger UI via http://127.0.0.1:57053/q/swagger-ui/. At the Swagger UI, click on \"POST /greeting\", then on \"Try it out!\". Copy the following JSON message and hit execute: Operation Greeting result { \"name\": \"Jane Doe\" } Figure 1. The Swagger UI executing the POST /greeting operation You should see a result similar to this: Operation Greeting result { \"id\": \"984b5c6c-36ef-48ba-aa11-89fa54d25e98\", \"workflowdata\": { \"name\": \"Jane Doe\", \"greeting\": \"Hello from JSON Workflow, \" } } You can even make changes to your KogitoServerlessWorkflow YAML file and see the results using the Swagger UI. In order to remove the Kogito Serverless Workflow Greeting application, you can execute the following command: Removing the workflow application kubectl delete -f -n Since during development you are iterating over the deployed workflow service, it’s likely that you will need to troubleshoot the application if something goes wrong. To ensure the workflow is running in a healthy state, the operator deploys the application pod with health checks probes. So if your changes impact the application somehow, the pod will stop responding. Analyze the workflow status with: Get the workflow status conditions kubectl get workflow -o jsonpath={.status.conditions} | jq . It can give you a clue about what might be happening. See Understanding Workflow Services Status Conditions for more information. Fetch the logs and look for ERROR messages: Watch the application logs kubectl logs deployment/ -f If you are looking for opening an issue or ask in Kogito Serverless Workflow communication channels, this logging information is always useful for the person who will try to help you. The Kogito Serverless Workflow Operator is under active development. Sometimes a feature might not be available yet. Please see Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap for a comprehensive list of available features. If you identify you are referring to a feature that is not available yet, you can file a new issue so we can prioritize it for you or request in Kogito Serverless Workflow communication channels. A wrong configuration, or lack of one might impact your workflow to run correctly. The operator deploys a ConfigMap that holds the application properties for the workflow. Get the properties ConfigMap kubectl get cm -props The ConfigMap name pattern is the workflow name followed by -props. Make sure that the configuration is correct and you’re not lacking any required properties for a given feature to work. If so, you can make your changes to the configuration as you normally would to any ConfigMap. The operator ensures that these properties are applied to the application. See Configuring Workflow Services for more information. The Kogito Serverless Workflow Operator validates the workflow definition at the moment you create or edit the YAML file, to avoid persisting a workflow in an invalid state. Although, the operator is under active development, so errors during the validation might occur. In this case, you might have to make a few modifications to the workflow definition to fix any structural error. You can identify such problems by looking at the deployed workflow application logs as explained here. If you found an issue that a cause is not listed in this section, please let us know. Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Building and Deploying Workflows with the Operator If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Developing Workflow Services with the Operator","component":"serverlessworkflow","version":"1.40.0.Final","name":"developing-workflows","url":"/serverlessworkflow/latest/cloud/operator/developing-workflows.html","titles":[{"text":"Introduction to the Development Profile","hash":"_introduction_to_the_development_profile","id":1},{"text":"Deploying a New Workflow Service","hash":"_deploying_a_new_workflow_service","id":2},{"text":"Check the workflow application is running","hash":"_check_the_workflow_application_is_running","id":3},{"text":"Remove workflow application","hash":"_remove_workflow_application","id":4},{"text":"Troubleshooting the Workflow Service","hash":"troubleshooting","id":5},{"text":"Basic Troubleshooting","hash":"basic-troubleshooting","id":6},{"text":"Possible Failure Scenarios","hash":"_possible_failure_scenarios","id":7},{"text":"Feature Not Yet Supported","hash":"_feature_not_yet_supported","id":8},{"text":"Wrong Application Configuration","hash":"_wrong_application_configuration","id":9},{"text":"Wrong Workflow Definition","hash":"_wrong_workflow_definition","id":10},{"text":"Additional resources","hash":"_additional_resources","id":11},{"text":"Found an issue?","hash":"_found_an_issue","id":12}]},"51":{"id":51,"text":"This guide describes how to install the Kogito Serverless Workflow Operator in a Kubernetes cluster. The operator is in an early development stage (community only) and has been tested on Kubernetes 1.22+, and Minikube. Prerequisites A Kubernetes cluster with admin privileges. Alternatively, you can use Minikube or KIND. kubectl command-line tool is installed. Otherwise, Minikube provides it. You can safely skip this section if you’re not using Minikube. Prerequisites A machine with at least 8GB memory and a CPU with 8 cores Docker or Podman installed Run the following command to create a new instance capable of installing the operator and deploy workflows: minikube start --cpus 4 --memory 4096 --addons registry --addons metrics-server --insecure-registry \"10.0.0.0/24\" --insecure-registry \"localhost:5000\" To speed up the build time, you can increase CPUs and memory options so that your minikube instance will have more resources. For example, use --cpus 12 --memory 16384. In order to work, you will have to recreate your instance. If it does not work with the default driver, also known as docker, you can try to start with the podman driver as follows: Start minikube with podman driver minikube start [...] --driver podman In order to have an up-and-running instance of the Kogito Serverless Workflow Operator you can use the following command: Install Kogito Serverless Workflow Operator on Kubernetes kubectl create -f https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/operator.yaml You can follow the deployment of the Kogito Serverless Workflow Operator: Watch the Kogito Serverless Workflow Operator pod kubectl get pod -n kogito-serverless-operator-system --watch A successful installation should have an output like this: Successful Installation Output NAME READY STATUS RESTARTS AGE kogito-serverless-operator-controller-manager-948547ffd-sr2j2 0/2 ContainerCreating 0 6s kogito-serverless-operator-controller-manager-948547ffd-sr2j2 1/2 Running 0 7s kogito-serverless-operator-controller-manager-948547ffd-sr2j2 2/2 Running 0 20s You can also follow the operator’s log: Watch the Kogito Serverless Workflow Operator pod logs kubectl logs deployment/kogito-serverless-operator-controller-manager -n kogito-serverless-operator-system -f Once the operator is running, it will watch for new custom resources (CR) so that you can prepare your environment to be ready to create a new Kogito Serverless Workflow application based on the definitions you will send to the operator. To check if the definitions are correclty installed, try running: Check if the CRDs are correctly installed kubectl get crds | grep kogito kogitoserverlessbuilds.sw.kogito.kie.org 2023-03-08T18:31:15Z kogitoserverlessplatforms.sw.kogito.kie.org 2023-03-08T18:31:15Z kogitoserverlessworkflows.sw.kogito.kie.org 2023-03-08T18:31:15Z To uninstall the Kogito Serverless Workflow Operator, first you should remove all the object instances managed by it. Then, you can delete every object created during the installation. To delete every object instance managed by the workflow in your cluster, you can run these series of commands: Delete every Kogito Serverless Workflow object instances kubectl delete --all workflow --all-namespaces kubectl delete --all kogitoserverlessbuild --all-namespaces kubectl delete --all kogitoserverlessplatform --all-namespaces Alternatively, if you created everything under the same namespace, deleting the given namespace has the same outcome. To uninstall the correct version of the operator, first you must get the current version by running: Getting the operator version kubectl get deployment kogito-serverless-operator-controller-manager -n kogito-serverless-operator-system -o jsonpath=\"{.spec.template.spec.containers[?(@.name=='manager')].image}\" quay.io/kiegroup/kogito-serverless-operator-nightly:1.34.0 The operator manager image reflects the current operator’s version. Replace the major and minor version names in the command below. For example, if the image version is 1.34.0 use 1.34 in the placeholder: Uninstalling the operator kubectl delete -f https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/.x/operator.yaml If you’re running a snapshot version, use this URL instead https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/operator.yaml. Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Developing Workflow Services with the Operator If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Install the Kogito Serverless Workflow Operator","component":"serverlessworkflow","version":"1.40.0.Final","name":"install-serverless-operator","url":"/serverlessworkflow/latest/cloud/operator/install-serverless-operator.html","titles":[{"text":"Prepare a Minikube instance","hash":"_prepare_a_minikube_instance","id":1},{"text":"Install the Kogito Serverless Workflow Operator","hash":"_install_the_kogito_serverless_workflow_operator","id":2},{"text":"Uninstall the Operator","hash":"_uninstall_the_operator","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"52":{"id":52,"text":"The Kogito Serverless Workflow Operator is currently in Alpha version, is under active development. Functions Sysout Rest Custom Functions Expression functions Events Knative Eventing integration. Every Knative Eventing object (brokers, sources, sinks) must be manually configured. States Switch including dataConditions Inject including data with a transition States with Operations including Actions containing functionRef with arguments ExpressionsLang (jq or jsonpath) Configuring the workflow application in development profile Every other feature from the CNCF Serverless Workflow Specification not listed in the section above, is not supported or tested at the moment. Any feature requiring external file configuration such as OpenAPI or Camel Routes is not supported at the moment. The following issues is currently being prioritized. Alignment with Serverless Workflow v0.8 model Implement admission webhooks for workflow validation Manage the Functions included in a Workflow with Operator Enable toggle Workflow CR from devmode to production mode and vice-versa Review build failures and signal the reasoning in the Events API Handle deployment failures in prod profile Evaluate internal registry integration on OpenShift, Kubernetes and Minikube Add support to GET method to Knative custom function Review the need of the knative/kubernetes addons inside the dev profile builder image Knative eventing addon should not provide defaults for incoming/outgoing","title":"Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap","component":"serverlessworkflow","version":"1.40.0.Final","name":"known-issues","url":"/serverlessworkflow/latest/cloud/operator/known-issues.html","titles":[{"text":"Supported Features","hash":"_supported_features","id":1},{"text":"Not Supported Features","hash":"_not_supported_features","id":2},{"text":"Roadmap","hash":"_roadmap","id":3},{"text":"CNCF Specification v0.8 Alignment","hash":"_cncf_specification_v0_8_alignment","id":4},{"text":"Workflow Productization Profile","hash":"_workflow_productization_profile","id":5},{"text":"Knative Integration","hash":"_knative_integration","id":6}]},"53":{"id":53,"text":"This document describes the status and conditions of the KogitoServerlessWorkflow object deployed by the Kogito Serverless Workflow Operator. Kubernetes Status is an important property to observe in order to understand what is currently happening with the object. It can also help you troubleshoot or integrate with other objects in the cluster. The table below lists the general structure of a workflow status: Table 1. Description of KogitoServerlessWorkflow status object Status Description ObservedGeneration Last object generation observed by the status Conditions Current observed workflow conditions Address External or internal workflow access endpoint. Implements the Knative Addressable Interface RecoverFailureAttempts How many attempts the operator tried to recover from a failure The Conditions property might vary depending on the workflow profile. The next sections describe the current implementation. When you deploy a workflow with the development profile, the operator deploys a ready-to-use container with a running workflow instance. The following table lists the possible conditions. Table 2. Conditions Scenarios in Development Condition Status Reason Description Built Unknown In development profile there’s no build process, so this state remains in Unknown status Running True The workflow is running and in healthy state Running False WaitingForDeployment The workflow is waiting for the underlying deployment object to have a minimum availability Running False DeploymentFailure There was a problem with the underlying deployment object. Check the message in this condition and the workflow pod logs for more info Running False DeploymentIsUnavailable The underlying deployment object doesn’t have the minimum availability for this workflow. Check the message in this condition and the workflow pod logs for more info Running False AttemptToRedeployFailed If the workflow deployment is not available, the operator will try to rollout the deployment three times before entering in this stage. Check the message in this condition and the workflow pod logs for more info In normal conditions, the workflow will transition from Running, WaitingForDeployment condition to Running. In case something wrong happens, consult the section Workflow Troubleshooting in Development. Deploying the workflow in Production profile makes the operator to build an immutable image for the workflow service. The build step can be followed by observing the workflow conditions. Table 3. Condition Scenarios in Production Condition Status Reason Description Built False BuildIsRunningReason The build is currently running Built False BuildFailedReason The build has failed and any attempts to have it run failed Built True Last build has finished successfully Running True The workflow is running and in healthy state Running False WaitingForPlatform The workflow can’t have a pod running until a KogitoServerlessPlatform is ready Running False WaitingForBuildReason The workflow is waiting for the build to finish to start running Running False WaitingForDeployment The workflow is waiting for the underlying deployment object to have a minimum availability Running False DeploymentFailure There was a problem with the underlying deployment object. Check the message in this condition and the workflow pod logs for more info Running False DeploymentIsUnavailable The underlying deployment object doesn’t have the minimum availability for this workflow. Check the message in this condition and the workflow pod logs for more info Running False AttemptToRedeployFailed If the workflow deployment is not available, the operator will try to roll out the deployment three times before entering this stage. Check the message in this condition and the workflow pod logs for more info The normal conditions for the workflow resource are to place a KogitoServerlessBuild to run and wait for it to finish. As soon as the image is ready, the workflow transitions to the deployment phase, which is to provision a new workflow service pod to run with the built image. Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Developing Workflow Services with the Operator Building and Deploying Workflows with the Operator If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Understanding Workflow Services Status Conditions","component":"serverlessworkflow","version":"1.40.0.Final","name":"workflow-status-conditions","url":"/serverlessworkflow/latest/cloud/operator/workflow-status-conditions.html","titles":[{"text":"General Status","hash":"_general_status","id":1},{"text":"Development Profile Conditions","hash":"_development_profile_conditions","id":2},{"text":"Production Profile Conditions","hash":"_production_profile_conditions","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"54":{"id":54,"text":"This document describes how to build a Serverless Application Container image using the Quarkus CLI. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. Latest version of Docker is installed. Alternatively, you can use Jib to build container images. However, Docker is required to build GraalVM native image using the Quarkus native builder image. Optionally, GraalVM 22.3.0 is installed. Quarkus provides a few extensions to build container images, such as Jib, docker, s2i, and buildpacks. For more information about the Quarkus extensions, see the Quarkus documentation. The examples in this document assume that you have the Quarkus tooling installed. For more information about the tooling, see Getting familiar with Kogito Serverless Workflow tooling. To get started with building workflow images, you can use the serverless-workflow-greeting-quarkus example application. You can skip the following procedure if you already have a workflow application. Procedure Clone the kogito-examples repository and navigate to the serverless-workflow-greeting-quarkus example application. Clone an example application git clone --branch main https://github.com/kiegroup/kogito-examples.git cd kogito-examples/serverless-workflow-examples/serverless-workflow-greeting-quarkus To run the example application, follow the instructions in Creating your first workflow service. Install the Quarkus command line interface (CLI). For more information, see Installing the Quarkus CLI. Add the required Quarkus extension using Quarkus CLI: Add the Jib extension The kogito-examples already have this extension added by default, and can be activated with the container Maven profile. The steps to add the extension in your Serverless Workflow application are: quarkus extension add 'container-image-jib' After adding the Jib extension, you can verify the newly added dependency in the pom.xml file: Verify the Jib extension io.quarkus quarkus-container-image-jib After installing the required tooling, you can start building your workflow application. Prerequisites You have created a Quarkus project. Quarkus CLI is installed. For more information about installing the Quarkus CLI, see Installing the Quarkus CLI. Procedure In a command terminal, navigate to your Quarkus project. To build your workflow application on Quarkus, set the quarkus.container-image.build property value to true and run the following command: Build your workflow application quarkus build -Dquarkus.container-image.build=true The previous command builds your image with name: {system_username}/{project_artifactId}:{project_version}. Optionally, you can set the following properties to specify the image: quarkus.container-image.registry: To define the registry address of the image, such as quay.io. When using OpenShift use the provided registry. quarkus.container-image.group: To define the registry namespace of the image. For example, context/namespace or in case of Kubernetes or OpenShift namespace/project. quarkus.container-image.name: To override the image name. By default, this property uses artifact ID. Build your workflow application with specific image information quarkus build -Dquarkus.container-image.build=true \\ -Dquarkus.container-image.group=kogito \\ -Dquarkus.container-image.name=serverless-workflow-greeting-quarkus \\ -Dquarkus.container-image.tag=1.0 \\ -Dquarkus.container-image.registry=quay.io The added Jib extension caches the target/lib directory. Based on the size of your project, Jib speeds up the rebuilds. You can also push your workflow application to the defined registry. You need to set the quarkus.container-image.push property value to true (default value is false). Example of pushing the built workflow application to a registry quarkus build -Dquarkus.container-image.build=true \\ -Dquarkus.container-image.group=kogito \\ -Dquarkus.container-image.name=serverless-workflow-greeting-quarkus \\ -Dquarkus.container-image.tag=1.0 \\ -Dquarkus.container-image.registry=quay.io \\ -Dquarkus.container-image.push=true The previous command results in the following container image pushed to quay.io: quay.io/kogito/serverless-workflow-greeting-quarkus:1.0 Alternatively, you can create an Apache Maven profile to build the container image, which can be triggered by setting the target profile. Example Apache Maven profile build-container true kogito serverless-workflow-greeting-quarkus 1.0 quay.io true You can activate the created Apache Maven profile using Quarkus CLI: Activate the Apache Maven profile quarkus build -- -Pbuild-container When it comes to workflows, a small startup footprint is expected, which can be better when using the native builds to build a workflow application. Prerequisites You have created a Quarkus project. Quarkus CLI is installed. For more information about installing the Quarkus CLI, see Installing the Quarkus CLI. Procedure In a command terminal, navigate to your Quarkus project. To build a native image, pass the --native flag using Quarkus CLI: Example of building a native image quarkus build --native -Dquarkus.container-image.build=true \\ -Dquarkus.container-image.group=kogito \\ -Dquarkus.container-image.name=serverless-workflow-greeting-quarkus \\ -Dquarkus.container-image.tag=1.0-native \\ -Dquarkus.container-image.registry=quay.io The previous command results in the following container image: quay.io/kogito/serverless-workflow-greeting-quarkus:1.0-native In case GraalVM is not installed, you can set the -Dquarkus.native.container-build=true system property, which creates a Linux executable. Configure Docker to use the in-cluster (Remote) Docker daemon When build Container Images using a remote Docker Daemon, i.e. Minikube, you need to use the following system property instead of -Dquarkus.native.container-build=true System property to use a remote Docker Daemon -Dquarkus.native.remote-container-build=true For more information about native builds, see Building a native executable. After building your workflow image using Quarkus CLI, you can test the built image. Prerequisites Latest version of Docker is installed. Procedure Start JVM and native Container Images. Example JVM image Example native image docker run -it -p 8080:8080 quay.io/kogito/serverless-workflow-greeting-quarkus:1.0 ... INFO [io.quarkus] (main) serverless-workflow-greeting-quarkus 1.22.1.Final on JVM (powered by Quarkus 2.9.2.Final) started in 1.302s docker run -it -p 8080:8080 quay.io/kogito/serverless-workflow-greeting-quarkus:1.0-native ... INFO [io.quarkus] (main) serverless-workflow-greeting-quarkus 1.22.1.Final native (powered by Quarkus 2.9.2.Final) started in 0.039s Note that the startup of native image is faster than the JVM image. To invoke the workflow application, execute the following command once the container is started: Example request Example response curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://localhost:8080/jsongreet { \"id\": \"2acf710d-7e4a-481d-925c-dfd85a369987\", \"workflowdata\": { \"name\": \"John\", \"language\": \"English\", \"greeting\": \"Hello from JSON Workflow, \" } } Deploying your Kogito Serverless Workflow application on Minikube Deploying your Kogito Serverless Workflow application on Kubernetes Deploying your Kogito Serverless Workflow application on OpenShift If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Building workflow images using Quarkus CLI","component":"serverlessworkflow","version":"1.40.0.Final","name":"build-workflow-image-with-quarkus-cli","url":"/serverlessworkflow/latest/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","titles":[{"text":"Using an example application","hash":"proc-using-example-application","id":1},{"text":"Building the workflow application","hash":"proc-building-serverless-workflow-application","id":2},{"text":"Building the workflow application using a native image","hash":"proc-building-serverless-workflow-application-using-native-image","id":3},{"text":"Testing your workflow image","hash":"proc-testing-serverless-workflow-image","id":4},{"text":"Additional resources","hash":"_additional_resources","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"55":{"id":55,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"build-workflow-images-with-tekton","url":"/serverlessworkflow/latest/cloud/quarkus/build-workflow-images-with-tekton.html","titles":[]},"56":{"id":56,"text":"This document describes how to deploy a Kogito Serverless Workflow application using a Kubernetes cluster, along with a procedure to run the Knative platform. Prerequisites Your Kogito Serverless Workflow application is ready to use. For more information about building the application container, see Building workflow images using Quarkus CLI. Kubernetes Cluster is available kubectl command-line tool is installed Knative CLI is installed. For more information, see Install the Knative CLI. Knative workflow CLI is installed. For more information see Serverless Workflow plug-in for Knative CLI. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Before proceeding further, make sure that you have access to the Kubernetes cluster with Knative available. To make sure Knative is available, it can be checked with the commands below: Verify if Knative is available kubectl get services -n knative-serving NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE activator-service ClusterIP 10.97.110.167 9090/TCP,8008/TCP,80/TCP,81/TCP,443/TCP 44m autoscaler ClusterIP 10.98.64.78 9090/TCP,8008/TCP,8080/TCP 44m autoscaler-bucket-00-of-01 ClusterIP 10.111.19.134 8080/TCP 44m controller ClusterIP 10.98.150.141 9090/TCP,8008/TCP 44m default-domain-service ClusterIP 10.106.202.150 80/TCP 43m domainmapping-webhook ClusterIP 10.102.87.208 9090/TCP,8008/TCP,443/TCP 44m net-kourier-controller ClusterIP 10.100.120.208 18000/TCP 43m webhook ClusterIP 10.108.153.180 9090/TCP,8008/TCP,443/TCP 44m For more information on how to figure out if Knative is installed please refer to this link. If not, follow the installation steps described in the Knative documentation. Once Knative is ready, you can initiate the process of deploying your Kogito Serverless Workflow application on Kubernetes. Prerequisites Kubernetes with Knative is ready. Knative is ready. For more information, see Verifying Knative on Kubernetes. Knative CLI is installed. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Your Kogito Serverless Workflow application is ready to use. By default, Kubernetes does not have any registry installed. You can check with the administrator if a private registry is available. Otherwise, you can publish the Application Container image on the Quay.io, or on any other registry of your preference. If the registry requires authentication you need to create a Pull Secret with the registry credentials, for more information please take a look in this link. Procedure Create serverless-workflow-greeting-quarkus namespace using the following command: Create namespace kubectl create namespace serverless-workflow-greeting-quarkus Set the Kubernetes context to the newly created namespace using the following command: Set Kubernetes context to a namespace kubectl config set-context --current --namespace=serverless-workflow-greeting-quarkus After setting the context, all kubectl commands will use the selected namespace. You can use the following command to verify the current namespace: Verify the current namespace kubectl config view --minify -o jsonpath='{..namespace}' Deploy your Kogito Serverless Workflow application on Kubernetes. The next step is to deploy your workflow application and execute it. You can read the further sections on the different procedures to deploy your Kogito Serverless Workflow application. You can use the native image due to the faster startup. In the following procedures, you can find different approaches to deploy your workflow application, such as: Using Knative CLI (kn) Using kubectl command-line tool Using Quarkus CLI For this tutorial, we use the default-domain provided by Knative that configures Knative Serving to use the Magic DNS for naming resolution, for more details please check the Knative documentation. Once you have pushed your workflow application into the target registry, you can use the command-line tools, such as Knative CLI or Kubernetes CLI to initiate the deployment process. Prerequisites Workflow application is installed. Knative CLI is installed. For more information, see Install the Knative CLI. Procedure In a command terminal, execute the following command to deploy your workflow application using Knative CLI: Example of deploying workflow application using Knative CLI kn service create hello-workflow \\ --image=quay.io/kiegroup/serverless-workflow-greeting-quarkus:1.0 \\ --pull-policy=IfNotPresent \\ --port 8080 Example output Creating service 'hello-workflow' in namespace 'serverless-workflow-greeting-quarkus': 0.066s The Route is still working to reflect the latest desired specification. 0.099s ... 0.322s Configuration \"hello-workflow\" is waiting for a Revision to become ready. 4.885s ... 5.061s Ingress has not yet been reconciled. 5.322s Waiting for load balancer to be ready 5.460s Ready to serve. Service 'hello-workflow' created to latest revision 'hello-workflow-00001' is available at URL: http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io Depending on the cluster type where you have deployed the workflow application, the service URL might be different. Pay attention to the output to use the correct URL in the next topic. Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} You can also use kubectl command-line interface and plain Kubernetes objects to deploy your workflow application. And, instead of creating knative yaml|json descriptors, you can leverage the Quarkus Kubernetes extension and Kogito Knative add-on to generate the descriptors. Prerequisites Kogito Workflow application ready to use. Kubernetes CLI command-line tool is installed. (Optional) Quarkus CLI is installed For more information about installing the Quarkus CLI, see Installing the Quarkus CLI. Procedure Add the Quarkus extensions to generate knative yaml|json descriptors. To use the Quarkus Kubernetes extension and Kogito Knative add-on, ensure that the following dependencies are available in the pom.xml file and Gradle: pom.xml Gradle Quarkus CLI org.kie.kogito kogito-addons-quarkus-knative-eventing io.quarkus quarkus-kubernetes quarkus-kubernetes 'io.quarkus:quarkus-kubernetes:2.16.7.Final' quarkus-kubernetes 'org.kie.kogito:kogito-addons-quarkus-knative-eventing:1.40.0.Final' quarkus ext add org.kie.kogito:kogito-addons-quarkus-knative-eventing quarkus-openshift1.40.0.Final' To generate the knative yaml|json descriptors, set the following properties in the application.properties file of your workflow application: System properties to generate knative descriptors quarkus.kubernetes.deployment-target=knative quarkus.knative.name=hello-workflow Build your workflow application. Once you have built your application, you can find the generated descriptors files in the target/kubernetes directory: knative.json knative.yml The image used in this section is the one built in the following guide: Build Workflow Image with Quarkus CLI. Following is an example of the generated files: Knative descriptor example for a workflow application --- apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: app.quarkus.io/commit-id: 06c3fe8e2dfc42e2211cbcc41224f5a3d6bd1f26 app.quarkus.io/build-timestamp: 2022-06-23 - 23:53:38 +0000 labels: app.kubernetes.io/name: hello-workflow name: hello-workflow spec: template: metadata: labels: app.kubernetes.io/name: hello-workflow spec: containerConcurrency: 0 containers: - image: quay.io/kiegroup/serverless-workflow-greeting-quarkus:1.0-native livenessProbe: failureThreshold: 3 httpGet: path: /q/health/live port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 name: hello-workflow ports: - containerPort: 8080 name: http1 protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /q/health/ready port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 Once the files are generated, you must add the imagePullPolicy manually before deploying the workflow application. Enter the following command to deploy the workflow application using kubectl: Deploy the workflow application using kubectl kubectl apply -f target/kubernetes/knative.yml Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} Prerequisites Workflow application is ready. Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Procedure Add the Quarkus extensions to deploy the knative service. You can add the Kubernetes and the Kogito Knative extensions to your project with the Quarkus CLI: Add Kubernetes and Kogito Knative extensions to the project with Quarkus CLI quarkus ext add quarkus-kubernetes kogito-addons-quarkus-knative-eventing To deploy the workflow application using Quarkus CLI, set the following system properties in application.properties file: Required system properties quarkus.knative.name=hello-workflow (1) quarkus.kubernetes.deployment-target=knative (2) quarkus.kubernetes.deploy=true (3) quarkus.container-image.push=true (4) quarkus.container-image.group=kiegroup (5) quarkus.container-image.registry=quay.io (6) quarkus.container-image.tag=1.0-SNAPSHOT (7) 1 Property to set the Knative service name 2 Property to set the target deployment type 3 Property to set whether or not deploy on an active Kubernetes cluster 4 Property to push or not the Container image to the given registry 5 Property to define which registry group/namespace the built image belongs to 6 Property to define to which registry the built image will be pushed to 7 Sets the built Container Image tag This feature works with Quarkus 2.10.2.Final or later. For more information, see link. Build and Deploy your workflow application quarkus build -DskipTests The kogito-examples already have this extension added by default, and can be activated with the container Maven profile. Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Deploying your Serverless Workflow application on Kubernetes","component":"serverlessworkflow","version":"1.40.0.Final","name":"deploying-on-kubernetes","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-kubernetes.html","titles":[{"text":"Verifying Knative availability on Kubernetes","hash":"proc-verify-knative-kubernetes","id":1},{"text":"Deploying your workflow application on Kubernetes","hash":"proc-deploy-sw-application-kubernetes","id":2},{"text":"Deploying your workflow application using Knative CLI","hash":"proc-deploy-sw-application-knative-cli","id":3},{"text":"Deploying your workflow application using Kubernetes CLI","hash":"proc-deploy-sw-application-kubectl","id":4},{"text":"Deploying your workflow application using Quarkus CLI","hash":"proc-deploy-sw-application-quarkus-cli","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"57":{"id":57,"text":"This document describes how to deploy your workflow application using a local Kubernetes cluster, such as Minikube, along with a procedure to run the Knative platform. For more information about Minikube and related system requirements, see Getting started with Minikube documentation. Prerequisites Your Kogito Serverless Workflow application is ready to use. For more information about building the application container, see Building workflow images using Quarkus CLI. Minikube is installed kubectl command-line tool is installed. Otherwise, Minikube handles it. Knative CLI is installed. For more information, see Install the Knative CLI. Knative workflow CLI is installed. For more information see Serverless Workflow plug-in for Knative CLI. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). To deploy your workflow application on Minikube, you need to install Knative on Minikube. However, first you need to ensure that Minikube is installed correctly. You can check the Minikube installation by entering the following commands in a command terminal: Verify Minikube version minikube version Verify Knative CLI version kn version Verify kubectl CLI version kubectl version If kubectl is not installed, then Minikube handles it when you execute the following command: kubectl is available using Minikube alias kubectl=\"minikube kubectl --\" Once you verify the Minikube and Knative CLI installation, you can install Knative on Minikube. Prerequisites Minikube is installed. Knative CLI is installed. For more information, see Install the Knative CLI. Procedure Open a command terminal and install Knative on Minikube. Configure Knative on Minikube. Knative CLI offers quickstart plug-in, which provides the required configurations. For information about installing the quickstart plug-in, see Install Knative using quickstart. After configuring the plug-in, execute the following command to configure a Minikube profile: Configure a Minikube profile kn quickstart minikube The previous command configures a Minikube profile called knative. After creating a Minikube profile, all Minikube commands use the created profile. To list the available Minikube profiles, enter the following command: List the available Minikube profiles minikube profile list Enter the following command to open the Minikube web console on the knative profile: Open Minikube web console minikube dashboard --profile knative The previous command opens the Kubernetes Management console in your browser. If the console is not opened, you can go to the URL that is returned. To follow the manual process of installing Knative on Minikube, see Knative tutorial on Minikube. Once you install Knative on Minikube, you can initiate the process of deploying your workflow application on Minikube. Prerequisites Minikube is installed. Knative is ready. For more information, see Installing Knative on Minikube. Knative CLI is installed. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Your Kogito Serverless Workflow application is ready to use. Procedure In a command terminal, enter the following command to configure Docker to use the in-cluster Docker daemon: Configure Docker to use in-cluster Docker Daemon eval $(minikube -p minikube docker-env --profile knative) Build your application to store it in the Minikube registry. If your workflow application container image is built before configuring Docker to use the in-cluster Docker daemon, then you might need to build the image again so that the image is available in the Minikube registry. If you are building native container images, ensure that you use the following system property to use Minikube Docker Daemon: System property to build container images -Dquarkus.native.remote-container-build=true You might be required to tag the container images using one of the following registry: ko.local dev.local For more information, see How to use locally built docker image. In that case, use the -Dquarkus.container-image.registry=some_of_the_values_above property to enable Knative fetch the container images from Minikube Docker Daemon. If you do not use the values, you might need to set the imagePullPolicy to Never or IfNotPresent, otherwise, Minikube pulls the images from a remote registry. This behavior can be avoided by tagging the image using previously listed domains. In a separate command terminal window, start the Minikube tunnel using the Knative profile to prepare the environment: Start Minikube tunnel using Knative profile minikube tunnel --profile knative The previous command starts in a loop. Therefore, this command must be running throughout the process mentioned in this document. On Mac and Windows, you might be required to provide the user password. Example tunnel output Status: machine: knative pid: 124859 route: 10.96.0.0/12 -> 192.168.58.2 minikube: Running services: [kourier] errors: minikube: no errors router: no errors loadbalancer emulator: no errors After starting the Minikube tunnel, create serverless-workflow-greeting-quarkus namespace using the following command: Create namespace kubectl create namespace serverless-workflow-greeting-quarkus Set the Kubernetes context to the newly created namespace using the following command: Set Kubernetes context to a namespace kubectl config set-context --current --namespace=serverless-workflow-greeting-quarkus After setting the context, all kubectl commands will use the selected namespace. You can use the following command to verify the current namespace: Verify the current namespace kubectl config view --minify -o jsonpath='{..namespace}' Deploy your Kogito Serverless Workflow application using the Minikube registry. The next step is to deploy your workflow application and execute it. You can read the further sections on the different procedures to deploy your Kogito Serverless Workflow application. You can use the native image due to the faster startup. In the following procedures, you can find different approaches to deploy your workflow application, such as: Using Knative CLI (kn) Using kubectl command-line tool Using Quarkus CLI Once you have pushed your workflow application into the Minikube’s registry, you can use the command-line tools, such as Knative CLI or Kubernetes CLI to initiate the deployment process. Prerequisites Workflow application is installed. Knative CLI is installed. For more information, see Install the Knative CLI. Procedure In a command terminal, execute the following command to deploy your workflow application using Knative CLI: Example of deploying workflow application using Knative CLI kn service create hello-workflow \\ --image=dev.local/kogito/serverless-workflow-greeting-quarkus:1.0 \\ --pull-policy=IfNotPresent \\ --port 8080 Example output Creating service 'hello-workflow' in namespace 'serverless-workflow-greeting-quarkus': 0.066s The Route is still working to reflect the latest desired specification. 0.099s ... 0.322s Configuration \"hello-workflow\" is waiting for a Revision to become ready. 4.885s ... 5.061s Ingress has not yet been reconciled. 5.322s Waiting for load balancer to be ready 5.460s Ready to serve. Service 'hello-workflow' created to latest revision 'hello-workflow-00001' is available at URL: http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io Depending on the cluster type where you have deployed the workflow application, the service URL might be different. Pay attention to the output to use the correct URL in the next topic. Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} You can also use kubectl command-line interface and plain Kubernetes objects to deploy your workflow application. And, instead of creating knative yaml|json descriptors, you can leverage the Quarkus Kubernetes extension and Kogito Knative add-on to generate the descriptors. Prerequisites Kogito Workflow application ready to use. Kubernetes CLI command-line tool is installed. (Optional) Quarkus CLI is installed For more information about installing the Quarkus CLI, see Installing the Quarkus CLI. Procedure Add the Quarkus extensions to generate knative yaml|json descriptors. To use the Quarkus Kubernetes extension and Kogito Knative add-on, ensure that the following dependencies are available in the pom.xml file and Gradle: pom.xml Gradle Quarkus CLI org.kie.kogito kogito-addons-quarkus-knative-eventing io.quarkus quarkus-kubernetes quarkus-kubernetes 'io.quarkus:quarkus-kubernetes:2.16.7.Final' quarkus-kubernetes 'org.kie.kogito:kogito-addons-quarkus-knative-eventing:1.40.0.Final' quarkus ext add org.kie.kogito:kogito-addons-quarkus-knative-eventing quarkus-openshift1.40.0.Final' To generate the knative yaml|json descriptors, set the following properties in the application.properties file of your workflow application: System properties to generate knative descriptors quarkus.kubernetes.deployment-target=knative quarkus.knative.name=hello-workflow Build your workflow application. Once you have built your application, you can find the generated descriptors files in the target/kubernetes directory: knative.json knative.yml The image used in this section is the one built in the following guide: Build Workflow Image with Quarkus CLI. Following is an example of the generated files: Knative descriptor example for a workflow application --- apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: app.quarkus.io/commit-id: 06c3fe8e2dfc42e2211cbcc41224f5a3d6bd1f26 app.quarkus.io/build-timestamp: 2022-06-23 - 23:53:38 +0000 labels: app.kubernetes.io/name: hello-workflow name: hello-workflow spec: template: metadata: labels: app.kubernetes.io/name: hello-workflow spec: containerConcurrency: 0 containers: - image: dev.local/kogito/serverless-workflow-greeting-quarkus:1.0-native livenessProbe: failureThreshold: 3 httpGet: path: /q/health/live port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 name: hello-workflow ports: - containerPort: 8080 name: http1 protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /q/health/ready port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 Once the files are generated, you must add the imagePullPolicy manually before deploying the workflow application. Enter the following command to deploy the workflow application using kubectl: Deploy the workflow application using kubectl kubectl apply -f target/kubernetes/knative.yml Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} Prerequisites Workflow application is ready. Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Procedure Add the Quarkus extensions to deploy the knative service. You can add the {platform} and the Kogito Knative extensions to your project with the Quarkus CLI: Add {platform} and Kogito Knative extensions to the project with Quarkus CLI quarkus ext add quarkus-kubernetes kogito-addons-quarkus-knative-eventing To deploy the workflow application using Quarkus CLI, set the following system properties in application.properties file: Required system properties quarkus.knative.name=hello-workflow (1) quarkus.kubernetes.deployment-target=knative (2) quarkus.kubernetes.deploy=true (3) quarkus.container-image.push=false (4) quarkus.container-image.group=kogito (5) quarkus.container-image.registry=dev.local (6) quarkus.container-image.tag=1.0-SNAPSHOT (7) 1 Property to set the Knative service name 2 Property to set the target deployment type 3 Property to set whether or not deploy on an active {platform} cluster 4 Property to whether or not push images. False when using Minikube’s remote Docker daemon to avoid image validation 5 Property to define which registry group/namespace the built image belongs to 6 Property to define to which registry the built image will be pushed to 7 Sets the built Container Image tag This feature works with Quarkus 2.10.2.Final or later. For more information, see link. Build and Deploy your workflow application quarkus build -DskipTests The kogito-examples already have this extension added by default, and can be activated with the container Maven profile. Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Deploying your Kogito Serverless Workflow application on Minikube","component":"serverlessworkflow","version":"1.40.0.Final","name":"deploying-on-minikube","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-minikube.html","titles":[{"text":"Installing Knative on Minikube","hash":"proc-install-knative-minikube","id":1},{"text":"Deploying your workflow application on Minikube","hash":"proc-deploy-sw-application-minikube","id":2},{"text":"Deploying your workflow application using Knative CLI","hash":"proc-deploy-sw-application-knative-cli","id":3},{"text":"Deploying your workflow application using Kubernetes CLI","hash":"proc-deploy-sw-application-kubectl","id":4},{"text":"Deploying your workflow application using Quarkus CLI","hash":"proc-deploy-sw-application-quarkus-cli","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"58":{"id":58,"text":"This document describes how to deploy a Kogito Serverless Workflow application using a OpenShift cluster, along with a procedure to run the OpenShift Serverless Operator, which is based on Knative. Prerequisites Your Kogito Serverless Workflow application is ready to use. OpenShift CLI is installed. Knative CLI is installed. Knative CLI workflow plugin is installed. Podman If you are using Docker, you might need to update the commands accordingly. (Optional) Quarkus CLI is installed. For the following steps we will be using the OpenShift Local. However, the steps described here can be used on any OpenShift 4.x version that has support for OpenShift Serverless. If you already have an OpenShift cluster available you can skip this section. Instructions to install Openshift Local can be found here. Once you have OpenShift Local running, proceed to the next topic. If you are running OpenShift Local on Mac with M1 processors, you might not find the OpenShift Serverless Operator available. Before proceeding further, make sure that you have access to the OpenShift cluster, the OpenShift Serverless operator is properly installed and the Knative Serving is ready for use. For more information on each topic, please refer the following guides: Installing OpenShift Serverless Operator. Installing Knative Serving. Installing Knative Eventing. Knative Eventing is not required for this guide, however it is important to mention how to install it, if required by your Kogito Serverless Workflow application. If you get error messages related to Istio, this article might be helpful. Once Knative Serving is ready, you can initiate the process of deploying your Kogito Serverless Workflow application on OpenShift. Prerequisites OpenShift with Red Hat OpenShift Serverless is ready. Knative is ready. For more information, see Knative Serving. Knative CLI is installed. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Your Kogito Serverless Workflow application is ready to use. After checking the prerequisites, prepare the project that will be used to deploy your application: Procedure Create project oc new-project kogito-serverless Set the Kubernetes context to the newly created namespace using the following command: Set OpenShift current project oc project kogito-serverless You can use the native image for a faster startup. OpenShift comes with a registry where you can push your images built locally to be deployed. First, let’s check if the Registry is already exposed, to do that, check if the route is exposed: Check whether the OpenShift registry is exposed oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}' If no information or an error is returned, it does mean that the registry is not exposed. To expose the registry follow these steps. Now that we have the OpenShift registry exposed, let’s store into the OPENSHIFT_REGISTRY_URL environment variable, so we can use it easily in the next steps: Retrieve the OpenShift registry OPENSHIFT_REGISTRY_URL=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}') The OpenShift’s registry requires you to be logged in to be allowed to push Container Images. If you are already logged in the cluster you can use your token to authenticate to the OpenShift’s registry: Log in to the OpenShift’s registry podman login -u -p $(oc whoami -t) --tls-verify=false $OPENSHIFT_REGISTRY_URL If everything is working, you should get the Login Succeeded! message. Pushing Kogito Serverless Workflow Application To OpenShift’s registry First step, get the Container Image tag built previously: podman images With the Container Image, use the following command to tag the application image with the OpenShift’s registry and the namespace being used: podman tag $OPENSHIFT_REGISTRY_URL/kogito-serverless/serverless-workflow-greeting-quarkus:1.0 Then, push: podman push $OPENSHIFT_REGISTRY_URL/kogito-serverless/serverless-workflow-greeting-quarkus:1.0 The kogito-serverless is the current project/namespace created earlier to deploy your Kogito Serverless Workflow application. The next step is to deploy your workflow application and execute it. You can read further the next sections which explain different approaches to deploy your Kogito Serverless Workflow application: In the next steps you will notice the value image-registry.openshift-image-registry.svc:5000 being used. It is the internal OpenShift’s registry address where the images of the deployments will pulled from. Note that, the Container Image pushed in the previous step will be queried as image-registry.openshift-image-registry.svc:5000/kogito-serverless/serverless-workflow-greeting-quarkus:1.0 Using Knative CLI (kn) Using OpenShift command-line tool Using Quarkus CLI Once you have pushed your workflow application into the OpenShift’s registry, you can use the command-line tools, such as Knative CLI or OpenShift CLI to initiate the deployment process. Prerequisites Workflow application is installed. Knative CLI is installed. For more information, see Install the Knative CLI. Procedure In a command terminal, execute the following command to deploy your workflow application using Knative CLI: Example of deploying workflow application using Knative CLI kn service create hello-workflow \\ --image=image-registry.openshift-image-registry.svc:5000/kogito-serverless/serverless-workflow-greeting-quarkus:1.0 \\ --pull-policy=IfNotPresent \\ --port 8080 Example output Creating service 'hello-workflow' in namespace 'serverless-workflow-greeting-quarkus': 0.066s The Route is still working to reflect the latest desired specification. 0.099s ... 0.322s Configuration \"hello-workflow\" is waiting for a Revision to become ready. 4.885s ... 5.061s Ingress has not yet been reconciled. 5.322s Waiting for load balancer to be ready 5.460s Ready to serve. Service 'hello-workflow' created to latest revision 'hello-workflow-00001' is available at URL: http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io Depending on the cluster type where you have deployed the workflow application, the service URL might be different. Pay attention to the output to use the correct URL in the next topic. Verify if the workflow application is deployed correctly: On OpenShift CLI On Knative CLI oc get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} You can also use oc command-line interface and plain Kubernetes objects to deploy your workflow application. And, instead of creating knative yaml|json descriptors, you can leverage the Quarkus Kubernetes extension and Kogito Knative add-on to generate the descriptors. Prerequisites Kogito Workflow application ready to use. OpenShift CLI command-line tool is installed. (Optional) Quarkus CLI is installed For more information about installing the Quarkus CLI, see Installing the Quarkus CLI. Procedure Add the Quarkus extensions to generate knative yaml|json descriptors. To use the Quarkus Kubernetes extension and Kogito Knative add-on, ensure that the following dependencies are available in the pom.xml file and Gradle: pom.xml Gradle Quarkus CLI org.kie.kogito kogito-addons-quarkus-knative-eventing io.quarkus quarkus-openshift quarkus-kubernetes 'io.quarkus:quarkus-openshift:2.16.7.Final' quarkus-kubernetes 'org.kie.kogito:kogito-addons-quarkus-knative-eventing:1.40.0.Final' quarkus ext add org.kie.kogito:kogito-addons-quarkus-knative-eventing quarkus-openshift1.40.0.Final' To generate the knative yaml|json descriptors, set the following properties in the application.properties file of your workflow application: System properties to generate knative descriptors quarkus.kubernetes.deployment-target=knative quarkus.knative.name=hello-workflow Build your workflow application. Once you have built your application, you can find the generated descriptors files in the target/kubernetes directory: knative.json knative.yml The image used in this section is the one built in the following guide: Build Workflow Image with Quarkus CLI. Following is an example of the generated files: Knative descriptor example for a workflow application --- apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: app.quarkus.io/commit-id: 06c3fe8e2dfc42e2211cbcc41224f5a3d6bd1f26 app.quarkus.io/build-timestamp: 2022-06-23 - 23:53:38 +0000 labels: app.kubernetes.io/name: hello-workflow name: hello-workflow spec: template: metadata: labels: app.kubernetes.io/name: hello-workflow spec: containerConcurrency: 0 containers: - image: image-registry.openshift-image-registry.svc:5000/kogito-serverless/serverless-workflow-greeting-quarkus:1.0-native livenessProbe: failureThreshold: 3 httpGet: path: /q/health/live port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 name: hello-workflow ports: - containerPort: 8080 name: http1 protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /q/health/ready port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 Once the files are generated, you must add the imagePullPolicy manually before deploying the workflow application. Enter the following command to deploy the workflow application using oc: Deploy the workflow application using oc oc apply -f target/kubernetes/knative.yml Verify if the workflow application is deployed correctly: On OpenShift CLI On Knative CLI oc get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} Prerequisites Workflow application is ready. Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Procedure Add the Quarkus extensions to deploy the knative service. You can add the OpenShift and the Kogito Knative extensions to your project with the Quarkus CLI: Add OpenShift and Kogito Knative extensions to the project with Quarkus CLI quarkus ext add quarkus-openshift kogito-addons-quarkus-knative-eventing To deploy the workflow application using Quarkus CLI, set the following system properties in application.properties file: Required system properties quarkus.knative.name=hello-workflow (1) quarkus.kubernetes.deployment-target=knative (2) quarkus.kubernetes.deploy=true (3) quarkus.container-image.push=true (4) quarkus.container-image.group=kogito-serverless (5) quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000 (6) quarkus.container-image.tag=1.0-SNAPSHOT (7) 1 Property to set the Knative service name 2 Property to set the target deployment type 3 Property to set whether or not deploy on an active OpenShift cluster 4 This property should be removed if deploying on OpenShift Clusters 5 Property to define which registry group/namespace the built image belongs to 6 Property to define to which registry the built image will be pushed to 7 Sets the built Container Image tag This feature works with Quarkus 2.10.2.Final or later. For more information, see link. Build and Deploy your workflow application quarkus build -DskipTests The kogito-examples already have this extension added by default, and can be activated with the container Maven profile. Verify if the workflow application is deployed correctly: On OpenShift CLI On Knative CLI oc get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Deploying your Kogito Serverless Workflow application on OpenShift","component":"serverlessworkflow","version":"1.40.0.Final","name":"deploying-on-openshift","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-openshift.html","titles":[{"text":"Installing OpenShift Local","hash":"proc-install-openshift-local","id":1},{"text":"Deploying your workflow application on OpenShift","hash":"proc-deploy-sw-application-openshift","id":2},{"text":"Preparing the OpenShift’s Registry","hash":"_preparing_the_openshifts_registry","id":3},{"text":"Deploying your workflow application using Knative CLI","hash":"proc-deploy-sw-application-knative-cli","id":4},{"text":"Deploying your workflow application using OpenShift CLI","hash":"proc-deploy-sw-application-openfhift-client","id":5},{"text":"Deploying your workflow application using Quarkus CLI","hash":"proc-deploy-sw-application-quarkus-cli","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"59":{"id":59,"text":"The Kubernetes service discovery allows you to describe the Kubernetes resource you want to perform HTTP requests on using a custom URI. Under the hood, it will discover the network endpoint (URL) to where to make the request. The Kubernetes service discovery feature works during the workflow application startup, in which this feature scans all the Quarkus configurations in search of the URI pattern. Therefore, you must remember that if the application startup time matters, consider using a known static URL instead. Following is the custom URI pattern in Kubernetes service discovery: URI pattern in Kubernetes service discovery kubernetes:..//?= \\________/ \\____/ \\_______/ \\_____/ \\_________/ \\____________/ \\______________________________/ scheme kind version group namespace resourceName additional resource attributes \\____________________/ \\__________________________/ GVK Supported values: - port-name={PORT_NAME} - labels=label-name=label-value;other-label=other-value The following scheme values are supported in the URI pattern: kubernetes openshift knative The following resources are supported for the Kubernetes GVK (Group, Version, and Kind): services.v1 services.v1.serving.knative.dev pods.v1 deployments.v1.apps deploymentconfigs.v1.apps.openshift.io statefulsets.v1.apps routes.v1.route.openshift.io ingresses.v1.networking.k8s.io When using knative, you can also use a simplified URI like: knative:/ The above URI looks directly for services.v1.serving.knative.dev resource. The namespace in the URI is optional, however, if namespace contains an empty value, the current namespace or context is used. Query parameters in URI Also known as query string. The query parameters are defined the similar way with URLs to assign value to specific attributes. The following query parameters help the engine to be more precise when querying for a given Kubernetes resource: Custom labels: The custom labels are used to filter services in case there are more than one service with the same label selector but exposing different ports. In this case, you can instruct the engine that if more than one service is found, then the engine must use the service containing the provided label. The label is defined with the following expression and in case of multiple labels, you can use semicolon (;): labels=label-name=namevalue;another-label=another-value Example label definition in URI kubernetes:pods.v1//?labels=label-name=test-label Using the previous URI example, if there are more than one service exposing the given pod, the label-name=test-label label is used to filter the service. If the label does not exist, the first found service is used. Custom port name: The custom port name is used to determine which port to use when multiple ports are configured in the target service or container. You can configure the port name to be queried using the following pattern: port-name= There is no specific configuration required for the Kubernetes service discovery except by using the expected URI pattern. However, the okhttp communication interceptor, which logs the communication between the application and the Kubernetes API is disabled by default. You can enable the okhttp communication interceptor if there is a need to debug the communication between the client and the Kubernetes API by setting the following application property: Application property to enable okhttp communication interceptor quarkus.log.category.\"okhttp3.OkHttpClient\".level=INFO Based on the resource to be discovered, the Kubernetes service discovery follows specific paths as shown in the following figure: The Kubernetes service discovery is performed at the STATIC_INIT time of Quarkus during the workflow application startup. First, the service discovery scans the Quarkus configuration values and searches for the Kubernetes URI pattern. If the URI pattern is found, the engine parses the URI, queries the Kubernetes API searching for the given resource, and overrides the given application property. For example, consider an application that consumes a resource running on Kubernetes. This resource is a Knative service that exposes a function, which can be discovered using the following URI: Example URI org.kie.kogito.sw.knative.service=knative:services.v1/serverless-workflow-greeting-quarkus/greeting-quarkus-cli The service discovery engine does not read the application property name, but only value. Once the workflow application is started, you can see the Kubernetes service discovery into action in the logs: Example logs $ java -jar target/quarkus-app/quarkus-run.jar __ ____ __ _____ ___ __ ____ ______ --/ __ \\/ / / / _ | / _ \\/ //_/ / / / __/ -/ /_/ / /_/ / __ |/ , _/ , org.kie.kogito kogito-addons-quarkus-kubernetes org.kie.kogito kogito-addons-quarkus-fabric8-kubernetes-service-catalog Currently, only org.kie.kogito:kogito-addons-quarkus-fabric8-kubernetes-service-catalog is available. When enabled, it uses the Kubernetes Java API to discover the services. Configuring the OpenAPI services endpoints If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Kubernetes service discovery in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"kubernetes-service-discovery","url":"/serverlessworkflow/latest/cloud/quarkus/kubernetes-service-discovery.html","titles":[{"text":"Configuration in Kubernetes service discovery","hash":"con-kubernetes-service-doscovery-configuration","id":1},{"text":"Precedence in Kubernetes service discovery","hash":"con-precedence-kubernetes-service-discovery","id":2},{"text":"Example of Kubernetes service discovery in Kogito Serverless Workflow","hash":"ref-example-kubernetes-service-discovery","id":3},{"text":"Enabling Kubernetes service discovery","hash":"ref-enabling-kubernetes-service-discovery","id":4},{"text":"Available service discovery implementations","hash":"_available_service_discovery_implementations","id":5},{"text":"Additional resources","hash":"_additional_resources","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"60":{"id":60,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"versioning-workflows-in-knative","url":"/serverlessworkflow/latest/cloud/quarkus/versioning-workflows-in-knative.html","titles":[]},"61":{"id":61,"text":"In Kogito Serverless Workflow Tools, the Dashboards page is used to display the available dashboard files. The page displays a list of available dashboards and add filters to the list. Figure 1. Dashboard page The table on the Dashboards page displays the following details: Name: the name of a custom dashboard. Last Modified: the time reference indicating when the custom dashboard was last updated. See the dashboard guide for creating dashboards and visualizations with YAML. You can run all examples with Dashbuilder YAML Online. The default storage path for dashboard files is src/main/resources/dashboards, but the property quarkus.kogito-runtime-tools.custom.dashboard.folder can be used to set a custom storage path. Figure 2. Default storage path To filter the dashboard based on name, enter a name in the Filter by dashboard name field and click Apply filter button. Figure 3. Example filters applied on the dashboards In the dashboard table, the name column contains a clickable link, which enables you to navigate to the Dashboard Details page. Figure 4. Dashboard Details page If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Dashboards in Kogito Serverless Workflow Tools extension","component":"serverlessworkflow","version":"1.40.0.Final","name":"quarkus-dev-ui-custom-dashboard-page","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","titles":[{"text":"Creating a custom dashboard","hash":"_creating_a_custom_dashboard","id":1},{"text":"Create a custom dashboard file","hash":"_create_a_custom_dashboard_file","id":2},{"text":"Storage path of custom dashboards","hash":"_storage_path_of_custom_dashboards","id":3},{"text":"Filtering the dashboards","hash":"_filtering_the_dashboards","id":4},{"text":"Accessing a dashboard details","hash":"_accessing_a_dashboard_details","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"62":{"id":62,"text":"Quarkus applications come integrated with a Dev UI, providing a number of tools that help in developing the applications in Quarkus. You can plug in such tools to your Quarkus application as extensions, such as Kogito Serverless Workflow Tools. The Kogito Serverless Workflow Tools extension provides a console to view, manage, and start the workflow instances. Prerequisites Quarkus 2.16.7.Final is installed. Quarkus command line interface (CLI) is installed. For more information, see Installing the Quarkus CLI. Procedure In a command terminal, enter the following command to install the Kogito Serverless Workflow Tools extension: Install Kogito Serverless Workflow Tools extension quarkus ext add org.kie.kogito:kogito-quarkus-serverless-workflow-devui Executing the previous command adds the following dependency to pom.xml file of your project: Kogito Serverless Workflow Tools dependency in pom.xml file org.kie.kogito kogito-quarkus-serverless-workflow-devui ${VERSION} Enter the following command to add the kogito-addons-quarkus-source-files extension that provides the source code to generate the Serverless Workflow diagram in the consoles: Install Kogito source files add-on extension quarkus ext add org.kie.kogito:kogito-addons-quarkus-source-files Executing the previous command adds the following dependency to pom.xml file of your project: source files add-on dependency in pom.xml file org.kie.kogito kogito-addons-quarkus-source-files Run the following command to start the Quarkus application: Start Quarkus application quarkus dev To access the Quarkus Dev UI, go to http://localhost:8080/q/dev/. Figure 1. Kogito Serverless Workflow Tools extension in Quarkus Dev UI The Kogito Serverless Workflow Tools extension contains the following pages: Workflow Instances Workflow Definitions Dashboards If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","component":"serverlessworkflow","version":"1.40.0.Final","name":"quarkus-dev-ui-overview","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","titles":[{"text":"Installing Kogito Serverless Workflow Tools extension","hash":"proc-install-sw-tools-extension","id":1},{"text":"Found an issue?","hash":"_found_an_issue","id":2}]},"63":{"id":63,"text":"In the Kogito Serverless Workflow Tools extension, the Workflow Definitions page displays the list of available workflows in the Kogito project and helps you to start new workflow instances either via REST or by triggering cloud events. Figure 1. Workflow Definitions page In the Workflow Definitions table you will find the list of workflows that shows the following details: Workflow Name: Displays the name of a workflow definition. Endpoint: Displays the URL to a workflow definition. Actions: Provides the Start new Workflow button to start workflow instances via REST. In the table, the toolbar provides the ability to apply filters to the table or to trigger cloud events that can start workflow instances To search for a specific workflow definition, enter the workflow’s name in the Filter by workflow name field. Click the Apply Filter button. The matching workflow definitions appear as a chip below the search field. Click the Reset to default button to clear the applied filters. To fetch newly added workflow definitions, click on the refresh icon next to the Apply Filter button. Click the Apply Filter button. The matching workflow definitions appear as a chip below the search field. To clear the applied filters, you can click the Reset to default button. Also, to fetch newly added workflow definitions, click on the refresh icon next to the Apply Filter button. Figure 2. Workflow Definitions filters Workflows can be started either by using the specific workflow REST endpoints or by triggering Cloud Events. The Kogito Serverless Workflow Tools extension allows you to use both mechanisms. If you want to start a new workflow instance using the workflow REST endpoint, just click on the Start new Workflow button of any of the workflow in the Workflow Definitions table, then you’ll be redirected to the Start New Workflow page where you could setup the data and Business Key that will be used to start the new workflow instance. Depending on your workflow configuration the page can provide different mechanisms to fill the workflow data. If your workflow is configured with a valid Data Input Schema, this page will be able to display a custom Form to help a filling the data. Figure 3. Start Workflow Page with a Form defined in the Data Input Schema If your workflow does not provide a Data Input Schema, the page will display a Code Editor that will enable you to manually fill the workflow data in JSON format. Figure 4. Start Workflow Page with a Code Editor. For more information about how to setup the Input Schema Definition on your {context}, please take a look at the Input Schema for {context} section. You can use the Business key text box to define a custom business key value to the workflow instance. If the Business Key field is blank, then an auto-generated business key is defined for the workflow instance. By clicking on the Start button will POST the workflow data and the Business Key to the workflow REST endpoint. If the workflow instance starts successfully, a success alert appears on the top of the screen, which contains the Go to workflow list link to navigate to the Workflow Instances page. Figure 5. Example of workflow successful starting notification If there is an issue while starting a workflow, then a failure alert appears on the top of the screen, containing the*View Details* and Go to workflow list options. The View Details enables you to view the error message. Figure 6. Example of workflow starting failure notification On the Workflow Definitions Page, the Trigger Cloud Event button enables you to start new workflow instances by using HTTP Cloud Events. This will lead you to the Trigger Cloud Event page. Once there, you will have to fill out the form with the Cloud Event information: Endpoint: Defines the Path and the HTTP method where the cloud event should be triggered. Event Type: Sets the Cloud Event type header. Event Source: Sets the Cloud Event Source header. Defaults to /local/quarkus-devUi. Business Key: Sets the new workflow instance Business Key, it will be added in the kogitobusinesskey event header. Event Custom Headers: Allows you to define custom headers to be added to the event. Event Data: Data that will be in the event in JSON format. Figure 7. Starting a workflow using a cloud event Click the Trigger button to trigger the cloud event. If the workflow instance starts successfully, a success alert appears on the top of the screen, which contains the Go to workflow list link to navigate to the Workflow Instances page. Figure 8. Example of workflow successful starting notification If there is an issue while starting a workflow, then a failure alert appears on the top of the screen, containing View Details and Go to workflow list options. The View Details enables you to view the error message. Figure 9. Example of trigger workflow failure alert If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Workflow Definitions","component":"serverlessworkflow","version":"1.40.0.Final","name":"quarkus-dev-ui-workflow-definition-page","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","titles":[{"text":"Applying filters to the Workflow Definitions table","hash":"_applying_filters_to_the_workflow_definitions_table","id":1},{"text":"Starting new Workflow instances","hash":"con-start-workflow-instances","id":2},{"text":"Starting new Workflow instances using REST","hash":"con-start-workflow-instances-rest","id":3},{"text":"Filling up the Workflow data","hash":"_filling_up_the_workflow_data","id":4},{"text":"Setting up the Business Key","hash":"_setting_up_the_business_key","id":5},{"text":"Starting the new Workflow instance","hash":"_starting_the_new_workflow_instance","id":6},{"text":"Starting Workflows using Cloud Events","hash":"con-trigger-cloud-event-page","id":7},{"text":"Found an issue?","hash":"_found_an_issue","id":8}]},"64":{"id":64,"text":"In Kogito Serverless Workflow Tools, the Workflow Instances page is used to monitor and manage the available instances. The Workflow Instances page displays a list of available instances and add filters to the list. Figure 1. Workflow Instances page with no instances To create a workflow instance, you can use the Workflow Definitions page. For more information, see Workflow Definitions in Kogito Serverless Workflow Tools extension. When you create a workflow instance, the instance appears in the workflow instances table on the page, containing the following details: Id: Displays the name and business key of an instance. Also, when you hover on the name of the workflow instance, a unique ID is displayed for the instance. You can click on the ID to navigate to the Workflow Details page. Status: Displays the current state of the instance. This column can contain Active, Completed, Aborted, Error, and Suspended as values. Created: Displays the time reference indicating when the instance is created. Last Update: Displays the time reference indicating when the instance is last updated. Figure 2. Workflow Instances page with an instance You can also sort the columns of the workflow instances table. On the Workflow Instances page, you can filter the list of workflow instances based on the states and business keys. By default, Active, Completed, Aborted, Error, and Suspended are applied on the list. You can use the Status drop-down to see the available states. To filter the workflow instances based on the states, select or unselect the states in the Status drop-down and click Apply filter button. To filter the workflow instances based on business keys, enter a business key in the Filter by business key field and click Apply filter button. Figure 3. Example filters applied on the workflow instances To fetch the newly added workflow instances, click on the refresh icon next to the Apply Filter button. Also, to clear the applied filters and reset to the default state, click Reset to default button. In the workflow instances table, the Id column contains a clickable link, which enables you to navigate to the Workflow Details page. The Workflow Details page contains various panels, providing detailed information about a workflow instance. Figure 4. Example Workflow Details page The Workflow Details page consists of the following panels: Serverless Workflow Diagram panel Timeline panel Details panel Variables panel Serverless Workflow Diagram panel The Serverless Workflow Diagram panel enables you to explore the workflow diagram and execution path of the workflow instance. The workflow diagram and execution path are displayed by consuming the source which is exposed through the kogito-addons-quarkus-source-files. To add the source files add-on configuration, add the following dependency to pom.xml file of your project: source-files add-on dependency in pom.xml file org.kie.kogito kogito-addons-quarkus-source-files There are two ways to display the diagram. Stunner Diagram Mermaid Diagram By default, the Stunner diagram is displayed. To toggle between the two diagrams you can use the kogito.swf.stunner.enabled(defaulted to true) environment variable in your application properties. For yaml-based workflow files, the mermaid diagram is displayed instead of the stunner diagram. There is a slider available in the diagram panel, which when dragged to the right displays the source code in read-only mode. Figure 5. Stunner based Diagram panel Figure 6. Mermaid based Diagram panel Timeline panel The Timeline panel displays the list of nodes that are related to a workflow instance. Each node in the Timeline panel consists of an icon, indicating the state of the node, such as Active, Completed, or Error. Figure 7. Timeline panel Details panel The Details panel displays the basic information related to a workflow instance, including: Name: Name of the workflow instance. Business key: Business key related to the workflow instance. State: Current state of the workflow instance. Id: Unique ID of the workflow instance. Start: Time reference indicating when the workflow instance is started. Last Updated: Time reference indicating when the workflow instance is last updated. End: Time reference indicating when the workflow instance is completed. Figure 8. Details panel Variables panel The Variables panel displays the data of a workflow in the form of JSON. Figure 9. Variables panel The Workflow Instances page also allows you to send HTTP Cloud Events to the active workflow instances that are waiting for an event to advance. To do so you just have to click on the Trigger Cloud Event button that will lead you to the Trigger Cloud Event page. Once there, you will have to fill out the form with the Cloud Event information: Endpoint: Defines the Path and the HTTP method where the cloud event should be triggered. Event Type: Sets the Cloud Event type header. Event Source: Sets the Cloud Event Source header. Defaults to /local/quarkus-devUi. Instance Id: Sets the id of the workflow instance that must receive the event, it will be added in the kogitoprocrefid event header. Event Data: Data that will be in the event in JSON format. Figure 10. Sending a Cloud Event to an active workflow instance. Additionally, you can use the Send Cloud Event action present available on the instance actions kebab. By using it you will be lead to the Trigger Cloud Event page, but in this case the Instance Id field will be already filled with the selected workflow id. Figure 11. Send Cloud Event button in the actions kebab. To enable the actions kebab, make sure your project is configured to have the kogito-addons-quarkus-process-management dependency on its pom.xml file, like: org.kie.kogito kogito-addons-quarkus-process-management {kogito_version_redhat} Click the Trigger button to trigger the cloud event. If the event is successfully triggered, a success alert appears at the top of the screen, which contains the Go to workflow list link to navigate to the Workflow Instances page. Figure 12. Example of cloud event successfully sent notification. If there is an issue while sending the event, then a failure alert appears at the top of the screen, containing View Details and Go to workflow list options. The View Details enables you to view the error message. Figure 13. Example cloud event unsuccessfully sent notification. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Workflow Instances in Kogito Serverless Workflow Tools extension","component":"serverlessworkflow","version":"1.40.0.Final","name":"quarkus-dev-ui-workflow-instances-page","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","titles":[{"text":"Opening the Workflow instance details","hash":"_opening_the_workflow_instance_details","id":1},{"text":"Sending Cloud Events to active Workflow Instances","hash":"_sending_cloud_events_to_active_workflow_instances","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"65":{"id":65,"text":"You can deploy your Kogito Serverless Workflow projects to an OpenShift instance using the OpenShift integration. The OpenShift integration allows you to test your implementations in a live environment. The deployments described in this document are for development purposes, but not for production. You can deploy your first Kogito Serverless Workflow project to an OpenShift instance and run the project in a live environment. Prerequisites OpenShift integration is configured correctly. For more information, see Integrating your Kogito Serverless Workflow project with OpenShift using Serverless Logic Web Tools. Procedure Create a project using an example application in GitHub. You can use the serverless-workflow-greeting-quarkus example application, which does not contain external dependencies and is easy to test and comprehend. The serverless-workflow-greeting-quarkus example application contains a single operation state with one action, sending request to the greeting function. In the example application, the workflow data is assumed to be the name of the person to greet, and the result is the greeting for the person. The result is added to the state data, which later becomes the workflow data output. On the editor page, click Try on OpenShift button. On the context menu, click Deploy \"greetings\" (Kogito Serverless Workflow). A modal appears, displaying the following deployment options: Deploy as a project: This option is available if your current workspace contains the entire project structure including a single pom.xml file. If Deploy as a project option is disabled, a pre-built image container, containing a Quarkus project is used and the workflow files are placed in the src/main/resources folder of the project. In this case, ensure that the workflow files do not have other dependencies as the dependencies are not included in the deployment. If Deploy as a project option is enabled, all the workflow files are deployed as-is, indicating that no project template is used. Therefore, ensure that the project is deployable. Upload OpenAPI spec to Service Registry: After a workflow is deployed, an OpenAPI specification is available in the deployed service. When you check this option, the Serverless Logic Web Tools fetches the OpenAPI specification, and when ready, the OpenAPI specification is uploaded to your configured service registry. To use this option, you need to configure your service account and service registry on the Settings page. To configure the service account and service registry, see Integrating with Red Hat OpenShift Application and Data Services. Uncheck all options and click Confirm. A pop-up appears displaying Your deployment has been successfully started and will be available shortly. Please do not close this browser tab until the operation is completed. message. Clicking on the OpenShift deployments icon shows your deployment status. The deployment process takes a few minutes since a build needs to be completed before the services are active. OpenShift deployment status After the deployment of your Kogito Serverless Workflow project is successful, you can verify various information about the deployed service. Prerequisites OpenShift integration is configured correctly. For more information, see Integrating your Kogito Serverless Workflow project with OpenShift using Serverless Logic Web Tools. Your Kogito Serverless Workflow project is deployed successfully. Deployed project must be deployed using the Deploy as a project option as unchecked, as the deployment page is only available using the pre-built image container. If the option Deploy as a project option is checked the tool opens the index.html file your project provides, if any. Procedure Click on the OpenShift deployments icon to view a list of deployments. If your deployment is successful (listed with ), you can click on it and access the deployment page to check the Swagger UI, Open API specification, and Metrics page using DashBuilder. Serverless deployment page If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Deploying your Kogito Serverless Workflow projects using Serverless Logic Web Tools","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-logic-web-tools-deploy-projects","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","titles":[{"text":"Deploying your first Kogito Serverless Workflow project","hash":"proc-deploy-first-serverless-project-serverless-logic-web-tools","id":1},{"text":"Verifying the deployment status of your first project","hash":"proc-verify-deploy-status-serverless-logic-web-tools","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"66":{"id":66,"text":"The Serverless Logic Web Tools implements a web version of a Git client, enabling you to clone, create, commit, push, and pull repositories. This process synchronizes your workspaces remotely. This document describes how you can configure the integration and synchronize your projects. You can generate a token from your GitHub account and add the token to the Serverless Logic Web Tools. Prerequisites You have an account in GitHub. Procedure Go to Serverless Logic Web Tools web application, and click the Cogwheel (⚙️) on the top-right corner of the screen. Go to the GitHub tab. In the GitHub tab, click the Add access token button and a window will be shown. Click Create a new token option. Ensure that you select the repo option. Optionally, select gist, which enables you to import and update gists. Copy the generated token and paste it into the Token field in Serverless Logic Web Tools GitHub Settings. The contents of the tab are updated and displays that you are signed into the GitHub and contains all the required permissions. After your GitHub token is set, you can synchronize your workspaces with remote repositories. Prerequisites Your GitHub token is configured in the Serverless Logic Web Tools. For more information, see Setting your GitHub token in Serverless Logic Web Tools. Procedure In the Serverless Logic Web Tools web application, create or open a workspace. Add or edit the existing files in the workspace. Click Share → Github: Create Repository. Name your repository and set the repository as Public or Private. (Optional) Select the Use Quarkus Accelerator to create a repository with a base Quarkus project and move the workspace files to src/main/resources folder. Figure 1. Create a repository for your workspace Click Sync → Push to update the remote repository with your local changes. To get new updates from the remote repository, click Sync → Pull. Currently, Serverless Logic Web Tools cannot resolve the merge conflicts. Therefore, ensure that you always pull changes before working on your files. You can import a workspace from GitHub in Serverless Logic Web Tools when you need to work from another computer or need to use someone else’s workspace. Prerequisites Your GitHub token is configured in the Serverless Logic Web Tools. For more information, see Setting your GitHub token in Serverless Logic Web Tools. You have a repository containing workflow files. Procedure Go to GitHub, find the repository with your project, and copy the repository URL. In Serverless Logic Web Tools web application, paste the repository URL in the Import → From URL field and click Clone. The page loads your imported project, defaulting to a workflow file, if present. If applicable, you can push to the imported repository by clicking on the Sync → Push. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Integrating your Kogito Serverless Workflow project in GitHub using Serverless Logic Web Tools","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-logic-web-tools-github-integration","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","titles":[{"text":"Setting your GitHub token in Serverless Logic Web Tools","hash":"proc-setting-github-token-serverless-logic-web-tools","id":1},{"text":"Synchronizing your workspaces with GitHub","hash":"proc-sync-workspace-github-serverless-logic-web-tools","id":2},{"text":"Importing a workspace from GitHub","hash":"proc-import-workspace-github-serverless-logic-web-tools","id":3},{"text":"Found an issue?","hash":"_found_an_issue","id":4}]},"67":{"id":67,"text":"You can integrate your Kogito Serverless Workflow project with Red Hat OpenShift. OpenShift is an enterprise-ready Kubernetes container platform, enabling your Kogito Serverless Workflow projects to be deployed and tested online. The Extended Services tool is required to proxy requests to an OpenShift instance. Therefore, setting the Extended Services enables you to deploy and monitor your Kogito Serverless Workflow projects. Procedure In the Serverless Logic Web Tools web application, click the Cogwheel (⚙️) on the top-right corner and go to the Extended Services tab. In case you are not connected to Extended Services, you see You are not connected to Extended Services. Click to setup message. Click on the link in the message. A window appears containing your current operating system as selected and a link to download the latest version of Extended Services. Download the Extended Services and execute it. You might need to grant permissions to run the file depending on your operating system and settings. If you are using macOS, you might encounter the \"Extended Services\" is damaged and can’t be opened. You should move it to Bin error message while running the \"Extended Services\" application. This is due to the overeager approach towards security by macOS and you can fix it by moving the \"Extended Services\" application out of quarantine. You can execute the xattr -d com.apple.quarantine /Applications/KIE\\ Sandbox\\ Extended\\ Services.app command to achieve this. After executing the Extended Services the content in the Extended Services is updated and displays that you are connected to the Extended Services. After setting the Extended Services, you can connect to your OpenShift instance to deploy your Kogito Serverless Workflow projects with Serverless Logic Web Tools. Prerequisites Extended Services tool is installed and running. OpenShift instance is active. You can create a free developer sandbox. For more information, see OpenShift Developer Sandbox. Procedure Log in to your OpenShift instance console interface. In the OpenShift instance console interface, you need your OpenShift project name (also known as namespace), API server, and an access token. For the OpenShift project name, go to the Topology tab and in the top-left corner you see your project name. Figure 1. OpenShift project name in OpenShift instance console To obtain the API server and access token, click on your username and Copy login command. A new page opens containing your new API token along with oc cli login command. From the oc cli command, copy the value of --server=. Figure 2. OpenShift access token and API server Go to the Serverless Logic Web Tools web application, click the Cogwheel (⚙️) on the top-right corner and go to the OpenShift tab. Click the Add connection button and a window will be shown. Enter your OpenShift project name in the Namespace (project) field. Enter the value copied value of --server flag in the Host field. Enter the value of API token in the Token field. Click Connect. If the entered values are correct, then the tab updates and displays You’re connected to OpenShift message. After connecting to OpenShift, you are ready to deploy your Kogito Serverless Workflow projects using Serverless Logic Web Tools. For more information about deploying your projects, see Deploying your Kogito Serverless Workflow projects using Serverless Logic Web Tools. If your OpenShift instance uses self-signed certificates, then you must enable the InsecureSkipVerify on Extended Services. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Integrating your Kogito Serverless Workflow project with OpenShift using Serverless Logic Web Tools","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-logic-web-tools-openshift-integration","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","titles":[{"text":"Setting Extended Services","hash":"proc-setting-kie-sandbox-extended-services-serverless-logic-web-tools","id":1},{"text":"Connecting to OpenShift instance using Serverless Logic Web Tools","hash":"proc-connecting-openshift-instance-serverless-logic-web-tools","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"68":{"id":68,"text":"The Serverless Logic Web Tools is a web application that enables you to create and synchronize your Kogito Serverless Workflow, decision files, and Dashbuilder files in a single interface. Also, the Serverless Logic Web Tools application provides the integrations that are needed to deploy and test the Kogito Serverless Workflow models in development mode. Figure 1. Home page of Serverless Logic Web Tools The Serverless Logic Web Tools provides three different editors for your projects, including Kogito Serverless Workflow editor for .sw.json or .sw.yaml|yml files Serverless Decision editor for .yard.json or .yard.yaml|yml files Dashbuilder editor for dash.yaml|yml files You can start by creating a new model from scratch or using one of the samples provided. Procedure Go to the Serverless Logic Web Tools web application. On the Home page, select the type of model you want to create and click the button corresponding to the file type you wish such as JSON or YAML. Figure 2. Create section in Serverless Logic Web Tools A new workspace is created, containing a single file named as Untitled of the selected type. Click on the name to rename the file. Edit your workflow file, which updates the preview on the right-side of the editor. The workflow files in Serverless Logic Web Tools are saved automatically after each change. The files are persisted in the browser, but you can synchronize the file using GitHub integration. For more information about GitHub integration, see Integrating your Kogito Serverless Workflow project in GitHub using Serverless Logic Web Tools. Integrating your Kogito Serverless Workflow project with OpenShift using Serverless Logic Web Tools Integrating with Red Hat OpenShift Application and Data Services Deploying your Kogito Serverless Workflow projects using Serverless Logic Web Tools If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Serverless Logic Web Tools","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-logic-web-tools-overview","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","titles":[{"text":"Creating a workflow model in Serverless Logic Web Tools","hash":"proc-create-workflow-model-web-tools","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"69":{"id":69,"text":"Some of the features in Serverless Logic Web Tools require integration with Red Hat OpenShift Application and Data Services. Consider uploading OpenAPI specifications to a service registry and fetching its service functions as examples of integration with Red Hat OpenShift Application and Data Services. This document describes how you can configure the required settings to complete the integration with Red Hat OpenShift Application and Data Services. You can create or use a service account from your Red Hat OpenShift Application and Data Services console and add the service account to the Serverless Logic Web Tools. Prerequisites You have access to the Red Hat OpenShift Application and Data Services console. Procedure To create a service account in Red Hat Openshift Application and Data Services, perform the following steps: You can skip this step if you already have a service account. Go to Service Accounts | Red Hat OpenShift Application and Data Services. Click Create service account. In the Create a service account window, enter a service account name in the Short description field. Click Create. A modal displaying your Client ID and Client Secret appears. Copy and save the Client ID and Client Secret. Check the I have copied the client ID and secret checkbox and click Close. If you already have a service account, find your Client ID and Client Secret. In the Serverless Logic Web Tools, click the Cogwheel (⚙️) on the top-right corner and go to the Service Account tab. Click on the Add service account button and a window will be shown. Enter your Client ID and Client Secret in the respective fields. Click Apply. The content in the Service Account tab updates and displays Your Service Account information is set message. You can create or use a Service Registry instance from your Red Hat OpenShift Application and Data Services console and add the Service Registry to Serverless Logic Web Tools. Prerequisites You have access to the Red Hat OpenShift Application and Data Services console. You have created a service account. For information about creating a service account, see Creating a service account in Red Hat OpenShift application and Data Services. Procedure To create a Service Registry instance in Red Hat Openshift Application and Data Services console, perform the following steps: You can skip this step if you already have a Service Registry instance. Go to Service Registry | Red Hat OpenShift Application and Data Services. Click Create Service Registry instance button. In the Create a Service Registry instance window, enter a Service Registry instance name and click Create. The list of Service Registry instances updates with your instance. Find the Service Registry instance you created in the list and click on the instance. Go to the Settings tab and click on Grant access. In the drop-down, select the service account you created in the previous procedure. Select a role for your service account. You must select the role as Manager or Administrator to have the read and write access. Click Save. Click on the menu on the top-right corner of the screen. Click Connection. A drawer opens containing the required connection and authentication information. Copy the value of Core Registry API. If you already have a Service Registry, find the value of Core Registry API of your Service Registry. In the Serverless Logic Web Tools web application, click the Cogwheel (⚙️) on the top-right corner and go to the Service Registry tab. Click on the Add service registry button and a window will be shown. Enter a name for your registry. You can enter the same name that you used while creating the Service Registry instance. Enter the value of Core Registry API and click Apply. The content in the Service Registry tab updates and displays Your Service Registry information is set message. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Integrating with Red Hat OpenShift Application and Data Services","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-logic-web-tools-redhat-application-services-integration","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","titles":[{"text":"Creating a service account in Red Hat OpenShift application and Data Services","hash":"proc-create-service-account-serverless-logic-web-tools","id":1},{"text":"Creating a Service Registry in Red Hat OpenShift application and Data Services","hash":"proc-create-service-registry-serverless-logic-web-tools","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"70":{"id":70,"text":"The Google Chrome extension for the Serverless Workflow editor enables you to view and edit CNCF Serverless Workflow specification files in GitHub. This document describes how to install and use the Chrome GitHub extension for Serverless Workflow editor. You can install the Chrome extension for the Serverless Workflow editor to view and edit the workflow specification files in GitHub. Prerequisites Google Chrome is installed. Procedure You can install the Chrome extension using one of the following methods: Go to Chrome web store: Go to the Serverless Workflow Editor for GitHub extension page in Chrome web store and click Add to Chrome. Figure 1. Serverless Workflow Chrome extension page Download the ZIP file: Download and extract the chrome_extension_serverless_workflow_editor_VERSION.zip file from the kie-tools releases page in GitHub. Go to Customize and control → Settings → Extensions → Load unpacked in the upper-right corner in Chrome. Open the extracted dist folder. The Chrome extension for Serverless Workflow editor is successfully installed. After installing the Chrome extension for the Serverless Workflow editor, you can use the editor to edit and view the workflow files in GitHub. Prerequisites You have installed the Serverless Workflow editor extension in Chrome. For more information, see Installing the Chrome GitHub extension for Serverless Workflow editor. Procedure Create a workflow file (.sw.json or .sw.yaml). Push the created workflow file to GitHub, or you can go to the GitHub page and click on the workflow file to open in the editor. Figure 2. Serverless Workflow file in GitHub The Serverless Workflow editor opens in read-only mode. To change the read-only mode to edit mode, click the pencil icon on the top-right corner of the screen. You can switch to the full-screen mode. Also, you can hide the editor and view the source code using See as source button. Make changes to the source code, add a commit message. You can either commit the changes to a branch directly or create a new branch for pull request. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Chrome GitHub extension for Serverless Workflow editor","component":"serverlessworkflow","version":"1.40.0.Final","name":"swf-editor-chrome-extension","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","titles":[{"text":"Installing the Chrome GitHub extension for Serverless Workflow editor","hash":"proc-install-chrome-extension-sw-editor","id":1},{"text":"Using the Chrome GitHub extension for Serverless Workflow editor","hash":"proc-using-chrome-extension-sw-editor","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"71":{"id":71,"text":"You can use the Serverless Workflow editor to edit the CNCF Serverless Workflow specification files in the code editor and view the workflow diagram in the diagram visualizer. When you make changes to the specification files in the editor, you see the workflow diagram is updated with the new changes. Figure 1. Serverless Workflow editor The Serverless Workflow editor contains the following main features: Reload diagram dynamically: In the Serverless Workflow editor, when you make a change in the code editor, the workflow diagram updates automatically. SVG generation: In the Serverless Workflow editor, you can save a workflow diagram as .svg file in the workspace. Auto-completion based on the context: The Serverless Workflow editor contains the capability of auto-completing the code based on the context. Validation: The Serverless Workflow editor performs validation on the workflow files and provides an error-free experience. The editor performs validation using JSON schema to the workflow file structure but not the values, and auto-completion works with JSON but not with YAML. The following extensions are provided that you can use to design the workflow files: VS Code extension Chrome GitHub extension You can also try it at the Serverless Logic Web Tools. CNCF Serverless Workflow specification If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Serverless Workflow editor","component":"serverlessworkflow","version":"1.40.0.Final","name":"swf-editor-overview","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-overview.html","titles":[{"text":"Features in Serverless Workflow editor","hash":"ref-sw-editor-features","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"72":{"id":72,"text":"The VS Code extension for the Serverless Workflow editor enables you to view and edit CNCF Serverless Workflow specification files in your local projects. This document describes how to install and use the VS Code extension for Serverless Workflow editor, along with how to load OpenAPI files using the extension. Using the VS Code extension for Serverless Workflow editor, enables you to view and edit the workflow specification files in your local projects. Figure 1. Serverless Workflow VS Code extension Prerequisites Visual Studio Code 1.46.0 or later is installed. Procedure You can install the VS Code extension for Serverless Workflow editor using one of the following methods: Go to Visual Studio Marketplace: Go to Serverless Workflow Editor extension page in Visual Studio Marketplace and click Install. Figure 2. Serverless Workflow Editor in Visual Studio Marketplace Download VSIX file: Download the vscode_extension_serverless_workflow_editor_VERSION.vsix file from the kie-tools releases page in GitHub. Click Install from VSIX option from the extensions menu and install the vscode_extension_serverless_workflow_editor_VERSION.vsix file in VS Code. Figure 3. Install VS Code extension using VSIX Once installation is complete, you can create a workflow file or open an existing workflow file in VS Code. When you open a workflow file, VS Code uses the extension automatically. The Serverless Workflow editor contains the following main features: Reload diagram dynamically: In the Serverless Workflow editor, when you make a change in the code editor, the workflow diagram updates automatically. SVG generation: In the Serverless Workflow editor, you can save a workflow diagram as .svg file in the workspace. Auto-completion based on the context: The Serverless Workflow editor contains the capability of auto-completing the code based on the context. The Serverless Workflow VS Code extension parses the OpenAPI specification files and provides a list of function definitions in the auto-complete dialog box. Figure 4. Function definition in auto-complete dialog box Once you select an option in the auto-complete dialog box, a function definition is added to the functions array with proper settings as shown in the following example: Figure 5. Example of function definition object When the function definition is added, the function is available for auto-completion in the function reference section as shown in the following example: Figure 6. Example of a function reference Once you select an option from the auto-complete dialog box, a function reference is added with proper reference name and attributes. Validation: The Serverless Workflow editor performs validation on the workflow files and provides an error-free experience. The VS Code extension for Serverless Workflow editor supports the following commands: Table 1. Supported commands in Serverless Workflow VS Code extension Command Description Serverless Workflow: Generate SVG without any notification Generates an SVG file of a workflow diagram in the workspace next to the workflow file. Serverless Workflow: Open as Diagram (to the side) Opens the workflow diagram to the right side of the editor. Serverless Workflow: Setup automatically open Diagram Editor alongside Text Editor Allows you to set whether or not a workflow diagram needs to be opened by default alongside the editor. This operation provides two options, including Open automatically and Do not open. Serverless Workflow: Configure Service Registries Opens the service registries configurations on the Extension Settings page. Serverless Workflow: Refresh Service Registries Refreshes the artifact list of service registries. Serverless Workflow: Log in Service Registries Triggers a login action of service registries. To trigger a command in VS Code, go to View → Command Palette…​ or you can press Ctrl+Shift+P to open the command palette. Enter Serverless Workflow in the search tab to see the list of supported commands. Figure 7. Command Palette in VS Code You can navigate to File → Preferences → Settings and configure the following settings for the Serverless Workflow editor: Table 2. Settings in Serverless Workflow VS Code extension Setting Description Automatically Open Diagram Editor Alongside Text Editor This setting enables the editor to open a workflow diagram when a workflow is being edited. The available options include: Ask next time (default) Do not open Open automatically Run On Save This setting executes a VS Code command when you save an edited workflow file. The default VS Code command that is executed is extension.kogito.swf.silentlyGenerateSvg (generate a diagram SVG). Service Registries This setting provides access to the configuration of service registries in the setting.json file. Should Reference Service Registry Functions With Urls When automatically completing the functions in the service registry, this setting specifies whether a function operation uses the URL of OpenAPI specification file or uses the local path, where the file is downloaded (Specs Storage Path). Specs Storage Path This setting enables you to define or edit the path of OpenAPI specification file. The default value is specs folder. Svg Filename Template This setting enables you to set a file name template, which can be used while generating the diagram SVG file. The default value is fileName.svg. Svg File Path This setting enables you to set a path, where the generated diagram SVG file will be stored. Figure 8. Settings page in VS Code extension The VS Code extension for Serverless Workflow editor can use OpenAPI specification files that are stored locally in the specs folder. Also, the OpenAPI specification files can be stored in remote service registries, providing auto-complete feature for function definitions. For more information about OpenAPI specification files path, see Serverless Workflow editor settings. The VS Code extension configures a list of service registries, which enables the Serverless Workflow editor to load OpenAPI specification files that are stored in the external registries. Prerequisites VS Code extension for the Serverless Workflow editor is installed. For more information about installing the VS Code extension, see Installing the VS Code Extension for Serverless Workflow editor. Procedure Open your workflow file in VS Code IDE and select the Setup Service Registries option. Navigate to the settings.json file. Add the list of service registries in the settings.json file using the kogito.swf.serviceRegistries key, which matches the following JSON schema: Service Registry Schema { \"type\": \"object\", \"properties\": { \"registries\": { \"type\": \"array\", \"items\": { \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\" }, (1) \"url\": { (2) \"type\": \"string\", \"format\": \"uri\", \"pattern\": \"^https?://?[-A-Za-z0-9+&@#/%?=_!:.]+[-A-Za-z0-9+&@#/%=~_|]\" }, \"authProvider\": { (3) \"type\": \"string\", \"enum\": [\"none\", \"red-hat-account\"], \"default\": \"none\" } }, \"required\": [\"name\", \"url\", \"authProvider\"] } } } } In the registries array, each item must contain the following properties: 1 name: Identifier provided for a registry. 2 url: URL for the REST API of the remotes service registry, such as Apicurio registry. 3 authProvider: Type of authentication for the remote service registry. This property contains values as none (no authentication) and red-hat-account (log in with your Red Hat account). Following is an example of a service registry configuration: Example of service registry configuration { \"kogito.swf.serviceRegistries\": { \"registries\": [ { \"name\": \"openshift\", \"url\": \"https://{url-to-openshift-registry}/apis/registry/v2\", \"authProvider\": \"red-hat-account\" }, { \"name\": \"local\", \"url\": \"https://{url-to-local-registry}/apis/registry/v2\", \"authProvider\": \"none\" }, ] } } To access the service registry settings in the VS Code, click on the Setup Service Registries option and use the Serverless Workflow: Configure Service Registries command. You can use the service registries for auto-completion feature in the Serverless Workflow VS Code extension. Prerequisites The following prerequisites are for the service registries that require Red Hat authentication: You have a Red Hat account with access to Red Hat Hybrid Cloud Console. Red Hat authentication extension is installed. Procedure In a workflow file, click the Setup Service Registries options and navigate to the settings.json file to configure the service registries. Figure 9. Function definition section with Setup Service Registries option Once you configure the service registry settings, the function definition section in the workflow file displays a Log in Service Registries button. The Log in Service Registries button appears when the function definition is configured to a remote service registry, such as Apicurio registry. Click on the Log in Service Registries option. You are redirected to the Red Hat login (SSO) page. Log in with your Red Hat credentials to connect to the remote service registry. You are redirected to the Red Hat login (SSO) page only if the authProvider property contains the value of red-hat-account in the service registry settings. Figure 10. Function definition section with Log in Service Registries option After logging in, use Ctrl+Space in the function definition section to view the list of available functions. Figure 11. Example of function definition section auto-complete dialog box Click on a function to auto-complete the function definition as shown in the following example: Figure 12. Example of an auto-completed function definition After selecting an option in the auto-complete dialog box, the OpenAPI specification file is downloaded into the specs folder. The downloaded OpenAPI specification file follows the REGISTRY-NAME_OPERATION-NAME_VERSION format. Figure 13. Downloaded OpenAPI specification file To fetch the new changes in the service registry, click Refresh Service Registries. Figure 14. Refresh Service Registries button in function definition section To create a new function definition object, click Add function. You can also validate the auto-completion using the JSON schema to the workflow file structure. The Serverless Workflow editor performs validation using JSON schema to the workflow file structure but not the values, and auto-completion works with JSON but not with YAML. To view the validation warnings and errors, go to View → Problems or press Ctrl+Shift+M to open the Problems tab. Figure 15. Errors and warnings in Problems tab If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"VS Code extension for Serverless Workflow editor","component":"serverlessworkflow","version":"1.40.0.Final","name":"swf-editor-vscode-extension","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","titles":[{"text":"Installing the VS Code Extension for Serverless Workflow editor","hash":"proc-install-vscode-extension-sw-editor","id":1},{"text":"Features in Serverless Workflow editor","hash":"_features_in_serverless_workflow_editor","id":2},{"text":"Supported commands in Serverless Workflow VS Code extension","hash":"ref-supported-commands-vscode-extension","id":3},{"text":"Serverless Workflow editor settings","hash":"ref-sw-editor-settings","id":4},{"text":"Enabling VS Code extension to load OpenAPI files from remote service registries","hash":"_enabling_vs_code_extension_to_load_openapi_files_from_remote_service_registries","id":5},{"text":"Using service registries for auto-completion","hash":"_using_service_registries_for_auto_completion","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]}},"components":{},"componentVersions":{"serverlessworkflow/main":{"displayVersion":"snapshot","title":"Kogito Serverless Workflow Guides","version":"main","name":"serverlessworkflow","prerelease":"snapshot","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.7.Final","quarkus_platform_version":"2.16.7.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/main/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","docker_compose_install_url":"https://docs.docker.com/compose/install/","kn_cli_install_url":"https://knative.dev/docs/client/install-kn/","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new","ocp_local_url":"https://access.redhat.com/documentation/en-us/red_hat_openshift_local/2.17","ocp_knative_serving_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-serving.html","ocp_knative_eventing_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-eventing.html","ocp_kn_cli_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-kn.html"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/main/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/main/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/main/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/main/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/main/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/main/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/main/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/main/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/main/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/main/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/main/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/main/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/main/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/main/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/main/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/main/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/main/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/main/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/main/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/main/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/main/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/main/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/main/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/main/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/main/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/main/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/main/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/main/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/main/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/main/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/main/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/main/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/main/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/main/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/main/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/main/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/main/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/main/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/main/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/main/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/main/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/main/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/main/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/main/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/main/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/main/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/main/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/main/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/main/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/main/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/main/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on OpenShift","url":"/serverlessworkflow/main/cloud/quarkus/deploying-on-openshift.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/main/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/main/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/main/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/main/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/main/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/main/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/main/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Supporting Services","items":[{"content":"Job Service","url":"/serverlessworkflow/main/supporting-services/jobs-service.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/main/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/main/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.40.0.Final":{"displayVersion":"1.40","title":"Kogito Serverless Workflow Guides","version":"1.40.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.7.Final","quarkus_platform_version":"2.16.7.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.40.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","docker_compose_install_url":"https://docs.docker.com/compose/install/","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new","ocp_local_url":"https://access.redhat.com/documentation/en-us/red_hat_openshift_local/2.17","ocp_knative_serving_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-serving.html","ocp_knative_eventing_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-eventing.html","ocp_kn_cli_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-kn.html"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/latest/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/latest/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/latest/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/latest/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/latest/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/latest/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/latest/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/latest/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/latest/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/latest/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/latest/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/latest/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/latest/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/latest/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/latest/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/latest/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/latest/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/latest/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/latest/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/latest/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/latest/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/latest/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/latest/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/latest/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/latest/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/latest/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/latest/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/latest/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/latest/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/latest/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/latest/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/latest/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/latest/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/latest/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/latest/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/latest/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on OpenShift","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-openshift.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/latest/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/latest/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/latest/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/latest/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/latest/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Supporting Services","items":[{"content":"Job Service","url":"/serverlessworkflow/latest/supporting-services/jobs-service.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/latest/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/latest/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.40.0-SNAPSHOT":{"displayVersion":"1.40-RC","title":"Kogito Serverless Workflow Guides","version":"1.40.0-SNAPSHOT","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.7.Final","quarkus_platform_version":"2.16.7.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.40.x-prod/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","docker_compose_install_url":"https://docs.docker.com/compose/install/","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new","ocp_local_url":"https://access.redhat.com/documentation/en-us/red_hat_openshift_local/2.17","ocp_knative_serving_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-serving.html","ocp_knative_eventing_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-eventing.html","ocp_kn_cli_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-kn.html"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.40.0-SNAPSHOT/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/1.40.0-SNAPSHOT/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.40.0-SNAPSHOT/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.40.0-SNAPSHOT/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/1.40.0-SNAPSHOT/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.40.0-SNAPSHOT/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/1.40.0-SNAPSHOT/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.40.0-SNAPSHOT/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.40.0-SNAPSHOT/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/1.40.0-SNAPSHOT/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/1.40.0-SNAPSHOT/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.40.0-SNAPSHOT/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.40.0-SNAPSHOT/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on OpenShift","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-openshift.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.40.0-SNAPSHOT/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.40.0-SNAPSHOT/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.40.0-SNAPSHOT/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Supporting Services","items":[{"content":"Job Service","url":"/serverlessworkflow/1.40.0-SNAPSHOT/supporting-services/jobs-service.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/1.40.0-SNAPSHOT/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/1.40.0-SNAPSHOT/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.39.0.Final":{"displayVersion":"1.39","title":"Kogito Serverless Workflow Guides","version":"1.39.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.6.Final","quarkus_platform_version":"2.16.6.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.39.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.39.0.Final/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/1.39.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.39.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.39.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/1.39.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/1.39.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/1.39.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/1.39.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/1.39.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/1.39.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/1.39.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/1.39.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.39.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.39.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.39.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.39.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.39.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.39.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.39.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.39.0.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.39.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/1.39.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.39.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.39.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/1.39.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/1.39.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/1.39.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/1.39.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/1.39.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.39.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.39.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/1.39.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/1.39.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.39.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.39.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/1.39.0.Final/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.39.0.Final/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/1.39.0.Final/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/1.39.0.Final/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/1.39.0.Final/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.39.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/1.39.0.Final/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.39.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.39.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Supporting Services","items":[{"content":"Job Service","url":"/serverlessworkflow/1.39.0.Final/supporting-services/jobs-service.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/1.39.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/1.39.0.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.38.0.Final":{"displayVersion":"1.38","title":"Kogito Serverless Workflow Guides","version":"1.38.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.6.Final","quarkus_platform_version":"2.16.6.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.38.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.38.0.Final/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/1.38.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.38.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.38.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/1.38.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/1.38.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/1.38.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/1.38.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/1.38.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/1.38.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/1.38.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/1.38.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.38.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.38.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.38.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.38.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.38.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.38.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.38.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.38.0.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.38.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/1.38.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.38.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.38.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/1.38.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/1.38.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/1.38.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/1.38.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/1.38.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.38.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.38.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/1.38.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/1.38.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.38.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.38.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/1.38.0.Final/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.38.0.Final/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/1.38.0.Final/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/1.38.0.Final/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/1.38.0.Final/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.38.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/1.38.0.Final/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.38.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.38.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Supporting Services","items":[{"content":"Job Service","url":"/serverlessworkflow/1.38.0.Final/supporting-services/jobs-service.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/1.38.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/1.38.0.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.37.0.Final":{"displayVersion":"1.37","title":"Kogito Serverless Workflow Guides","version":"1.37.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.5.Final","quarkus_platform_version":"2.16.5.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.37.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.37.0.Final/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/1.37.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.37.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.37.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/1.37.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/1.37.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/1.37.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/1.37.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/1.37.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/1.37.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/1.37.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/1.37.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.37.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.37.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.37.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.37.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.37.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.37.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.37.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.37.0.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.37.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/1.37.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.37.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.37.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/1.37.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/1.37.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/1.37.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/1.37.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/1.37.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.37.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.37.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/1.37.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/1.37.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.37.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.37.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/1.37.0.Final/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.37.0.Final/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/1.37.0.Final/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/1.37.0.Final/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/1.37.0.Final/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.37.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/1.37.0.Final/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.37.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.37.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/1.37.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/1.37.0.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.36.1.Final":{"displayVersion":"1.36","title":"Kogito Serverless Workflow Guides","version":"1.36.1.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.4.Final","quarkus_platform_version":"2.16.4.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.36.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.36.1.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.36.1.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.36.1.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.36.1.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.36.1.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.36.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.36.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.36.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.36.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.36.1.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.36.1.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.36.1.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.36.1.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.36.1.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.36.1.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.36.1.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.36.1.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.36.1.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.36.1.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.36.1.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.36.1.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.36.1.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.36.1.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.36.1.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Kubernetes","url":"/serverlessworkflow/1.36.1.Final/cloud/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"},{"content":"Buiding and deploying a Serverless Workflow application on Kubernetes using the Kogito Serverless Operator","url":"/serverlessworkflow/1.36.1.Final/cloud/build-and-deploy-with-serverless-operator-on-kubernetes.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.36.1.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services from Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.36.1.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.36.1.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout example in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.35.0.Final":{"displayVersion":"1.35","title":"Kogito Serverless Workflow Guides","version":"1.35.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.0.Final","quarkus_platform_version":"2.16.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.35.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.35.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.35.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.35.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.35.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.35.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.35.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.35.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.35.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.35.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.35.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.35.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.35.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.35.0.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.35.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.35.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.35.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.35.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.35.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.35.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.35.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.35.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.35.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.35.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.35.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Kubernetes","url":"/serverlessworkflow/1.35.0.Final/cloud/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"},{"content":"Buiding and deploying a Serverless Workflow application on Kubernetes using the Kogito Serverless Operator","url":"/serverlessworkflow/1.35.0.Final/cloud/build-and-deploy-with-serverless-operator-on-kubernetes.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.35.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services from Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.35.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.35.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout example in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.34.0.Final":{"displayVersion":"1.34","title":"Kogito Serverless Workflow Guides","version":"1.34.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.34.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.34.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.34.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.34.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.34.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.34.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.34.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.34.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.34.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.34.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.34.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.34.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.34.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.34.0.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.34.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.34.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.34.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.34.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.34.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.34.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.34.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.34.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.34.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.34.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.34.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Kubernetes","url":"/serverlessworkflow/1.34.0.Final/cloud/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"},{"content":"Buiding and deploying a Serverless Workflow application on Kubernetes using the Kogito Serverless Operator","url":"/serverlessworkflow/1.34.0.Final/cloud/build-and-deploy-with-serverless-operator-on-kubernetes.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.34.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.34.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.34.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout example in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.33.0.Final":{"displayVersion":"1.33","title":"Kogito Serverless Workflow Guides","version":"1.33.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.33.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.33.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.33.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.33.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.33.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.33.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.33.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.33.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.33.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.33.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.33.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.33.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.33.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.33.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.33.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.33.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.33.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.33.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.33.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.33.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.33.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.33.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.33.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Kubernetes","url":"/serverlessworkflow/1.33.0.Final/cloud/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.33.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.33.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.33.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.32.0.Final":{"displayVersion":"1.32","title":"Kogito Serverless Workflow Guides","version":"1.32.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.15.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"v1.32.0","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.32.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.32.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.32.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.32.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.32.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.32.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.32.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.32.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.32.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.32.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.32.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.32.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.32.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.32.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.32.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.32.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.32.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.32.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.32.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.32.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.32.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.32.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.32.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Kubernetes","url":"/serverlessworkflow/1.32.0.Final/cloud/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"},{"content":"Buiding and deploying a Serverless Workflow application on Kubernetes using the Kogito Serverless Operator","url":"/serverlessworkflow/1.32.0.Final/cloud/build-and-deploy-with-serverless-operator-on-kubernetes.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.32.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.32.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.31.1.Final":{"displayVersion":"1.31","title":"Kogito Serverless Workflow Guides","version":"1.31.1.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.15.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.31.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.31.1.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.31.1.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.31.1.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.31.1.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.31.1.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.31.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.31.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.31.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.31.1.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.31.1.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.31.1.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.31.1.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.31.1.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.31.1.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.31.1.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.31.1.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.31.1.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.31.1.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.31.1.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.31.1.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.31.1.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.31.1.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.31.1.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.30.0.Final":{"displayVersion":"1.30","title":"Kogito Serverless Workflow Guides","version":"1.30.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.14.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.2.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.30.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.30.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.30.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.30.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.30.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.30.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.30.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.30.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.30.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.30.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.30.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.30.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.30.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.30.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.30.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.30.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.30.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.30.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.30.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.30.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.30.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.30.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.30.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.30.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.29.0.Final":{"displayVersion":1.29,"title":"Kogito Serverless Workflow Guides","version":"1.29.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.13.1.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.2.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.29.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.29.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.29.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.29.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.29.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.29.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.29.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.29.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.29.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.29.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.29.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.29.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.29.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.29.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.29.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.29.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.29.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.29.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.29.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.29.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.29.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.29.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.29.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.29.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.28.0.Final":{"displayVersion":1.28,"title":"Kogito Serverless Workflow Guides","version":"1.28.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.13.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.2.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.28.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.28.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.28.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.28.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.28.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.28.0.Final/core/custom-functions-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.28.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.28.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.28.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.28.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.28.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.28.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.28.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.28.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.28.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.28.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.28.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.28.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.28.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.28.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.28.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.28.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.28.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.28.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.27.0.Final":{"displayVersion":1.27,"title":"Kogito Serverless Workflow Guides","version":"1.27.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.7.6.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.2.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.27.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.27.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.27.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.27.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.27.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.27.0.Final/core/custom-functions-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.27.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.27.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.27.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.27.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"GitHub integration","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"OpenShift integration","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Red Hat OpenShift Application and Data Services integration","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying projects","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Visualization","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.27.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.27.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.27.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.27.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.27.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.27.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.27.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.27.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.27.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.27.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.27.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.27.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.27.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.27.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.26.0.Final":{"displayVersion":1.26,"title":"Kogito Serverless Workflow Guides","version":"1.26.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.11.2.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.1.0","spec_version":0.8,"vscode_version":"1.46.0","kn-cli-version":"0.21.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.26.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.26.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.26.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.26.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.26.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.26.0.Final/core/custom-functions-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.26.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.26.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.26.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.26.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.26.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.26.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.26.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.26.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.26.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.26.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.26.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.26.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.26.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.26.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.26.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.26.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.26.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.26.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.26.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.26.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.25.0.Final":{"displayVersion":1.25,"title":"Kogito Serverless Workflow Guides","version":"1.25.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.10.2.Final","java_min_version":"11+","maven_min_version":"3.8.1","graalvm_min_version":"22.1.0","spec_version":0.8,"vscode_version":"1.46.0","kn-cli-version":"0.21.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.25.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.25.0.Final/index.html","navigation":[{"items":[{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.25.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.25.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.25.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.25.0.Final/core/custom-functions-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.25.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.25.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.25.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.25.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.25.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.25.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.25.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.25.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.25.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.25.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.25.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.25.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.25.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.25.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.25.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.25.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.25.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.25.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.25.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.25.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.24.1.Final":{"displayVersion":1.24,"title":"Kogito Serverless Workflow Guides","version":"1.24.1.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.10.2.Final","java_min_version":"11+","maven_min_version":"3.8.1","graalvm_min_version":"22.1.0","spec_version":0.8,"vscode_version":"1.46.0","kn-cli-version":"0.21.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.24.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.24.1.Final/index.html","navigation":[{"items":[{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.24.1.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.24.1.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.24.1.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.24.1.Final/core/custom-functions-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.24.1.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.24.1.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.24.1.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.24.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.24.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.24.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.24.1.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.24.1.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.24.1.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.24.1.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.24.1.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.24.1.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.24.1.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.24.1.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.24.1.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.24.1.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.24.1.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.24.1.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.24.1.Final/cloud/deploying-on-minikube.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.24.1.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"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,40.69,1,26.653]],["name/1-1",[]],["text/1-1",[]],["component/1-1",[]],["title/1-2",[2,58.833]],["name/1-2",[]],["text/1-2",[]],["component/1-2",[]],["title/1-3",[3,29.703]],["name/1-3",[]],["text/1-3",[]],["component/1-3",[]],["title/1-4",[4,16.899,5,33.89]],["name/1-4",[]],["text/1-4",[]],["component/1-4",[]],["title/1-5",[6,29.703]],["name/1-5",[]],["text/1-5",[]],["component/1-5",[]],["title/1-6",[7,58.833]],["name/1-6",[]],["text/1-6",[]],["component/1-6",[]],["title/1-7",[8,28.619,9,50.355]],["name/1-7",[]],["text/1-7",[]],["component/1-7",[]],["title/1-8",[10,45.722]],["name/1-8",[]],["text/1-8",[]],["component/1-8",[]],["title/1-9",[11,47.541]],["name/1-9",[]],["text/1-9",[]],["component/1-9",[]],["title/1-10",[12,34.548]],["name/1-10",[]],["text/1-10",[]],["component/1-10",[]],["title/1-11",[4,16.899,13,29.244]],["name/1-11",[]],["text/1-11",[]],["component/1-11",[]],["title/1-12",[14,17.015,15,31.733]],["name/1-12",[]],["text/1-12",[]],["component/1-12",[]],["title/1",[16,13.484,17,11.113,18,6.351,19,31.587]],["name/1",[20,3.038]],["text/1",[0,1.07,3,2.332,4,2.546,5,3.882,6,3.325,8,2.625,10,1.029,11,1.871,12,2.172,13,1.791,14,2.633,16,2.648,17,2.29,18,1.38,19,1.07,21,1.25,22,1.172,23,2.642,24,1.789,25,0.931,26,3.085,27,2.274,28,1.789,29,1.52,30,1.117,31,3.199,32,3.047,33,1.537,34,0.675,35,1.377,36,1.117,37,2.844,38,2.844,39,3.347,40,2.105,41,1.279,42,1.789,43,0.931,44,1.477,45,1.377,46,1.172,47,1.736,48,1.627,49,2.274,50,0.805,51,0.835,52,1.117,53,1.375,54,1.441,55,2.101,56,2.248,57,1.627,58,1.324,59,1.572,60,1.789,61,2.148,62,2.805,63,0.737,64,9.697,65,1.736,66,1.108,67,0.657,68,1.407,69,2.141,70,1.871,71,2.246,72,0.945,73,1.239,74,1.324,75,1.52,76,1.587,77,1.834,78,1.653,79,1.627,80,2.102,81,1.603,82,1.653,83,2.105,84,2.341,85,1.288,86,1.441,87,0.879,88,2.492,89,2.443,90,1.25,91,0.993,92,1.279,93,0.708,94,0.891,95,3.35,96,1.58,97,1.391,98,1.275,99,1.098,100,1.799,101,1.834,102,1.91,103,2.632,104,1.375,105,1.603,106,1.58,107,1.441,108,2.274,109,3.115,110,2.236,111,2.519,112,1.07,113,1.459,114,0.867,115,0.931,116,2.05,117,2.017,118,2.525,119,1.91,120,2.05,121,1.999,122,2.313,123,1.324,124,1.324,125,1.324,126,1.324,127,1.377,128,1.279,129,0.708,130,1.52,131,1.627,132,3.097,133,1.441,134,2.731,135,1.999,136,1.093,137,0.814,138,1.424,139,2.236,140,1.627,141,1.789,142,2.05,143,1.953,144,2.408,145,1.117,146,0.891,147,1.204,148,0.769,149,3.462,150,1.429,151,2.05,152,1.999,153,1.953,154,1.834,155,1.767,156,1.011,157,1.999,158,1.799,159,2.315,160,1.953,161,1.029,162,1.117,163,1.52]],["component/1",[164,0.59]],["title/2-1",[146,33.89,165,68.019]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[146,29.622,166,59.452,167,42.507]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2",[168,26.138,169,28.451,170,59.452]],["name/2",[171,4.386]],["text/2",[1,0.941,2,0.984,3,1.228,4,1.601,6,2.409,8,1.958,11,0.795,12,0.578,13,2.234,14,1.007,15,0.62,16,2.919,17,1.425,18,1.021,20,4.212,21,1.608,31,0.681,32,1.763,33,1.18,34,0.906,36,0.83,41,0.95,43,1.25,50,0.598,51,0.62,55,1.106,56,1.478,65,1.333,69,1.239,72,1.736,76,0.506,80,2.558,81,2.064,82,0.702,84,0.437,85,0.989,88,1.437,89,1.408,90,0.531,92,0.95,93,0.526,94,0.662,98,1.339,99,1.634,100,5.303,101,4.296,103,1.287,108,1.793,109,1.367,110,0.95,113,0.62,114,0.644,117,1.326,118,0.672,120,0.871,129,1.842,132,1.311,143,0.83,144,4,150,0.94,156,2.935,158,0.765,160,3.797,161,0.765,167,4.347,169,0.636,172,1.329,173,5.689,174,1.134,175,1.664,176,0.984,177,0.95,178,1.329,179,7.783,180,3.83,181,0.85,182,1.437,183,1.664,184,1.329,185,2.041,186,0.871,187,1.329,188,1.329,189,1.329,190,1.329,191,0.914,192,0.636,193,1.329,194,0.765,195,1.13,196,1.66,197,1.329,198,1.164,199,0.85,200,1.149,201,1.329,202,3.167,203,2.401,204,3.285,205,1.329,206,1.209,207,1.023,208,1.329,209,1.856,210,1.329,211,0.765,212,1.209,213,1.329,214,1.209,215,1.071,216,1.329,217,0.672,218,1.504,219,1.717,220,1.329,221,2.784,222,1.329,223,1.044,224,0.95,225,0.95,226,1.329,227,4,228,2.432,229,1.329,230,1.329,231,2.401,232,1.329,233,3.224,234,3.047,235,1.216,236,2.041,237,1.329,238,1.13,239,1.614,240,2.184,241,0.738,242,0.714,243,1.329,244,1.329,245,2.153,246,1.13,247,1.478,248,1.329,249,1.209,250,1.329,251,2.401,252,1.437,253,0.871,254,0.598,255,1.329,256,1.329,257,1.66,258,0.895,259,0.871,260,2.401,261,2.935,262,1.329,263,1.89,264,1.849,265,0.921,266,1.329,267,0.871,268,0.779,269,2.401,270,2.184,271,1.793,272,1.333,273,1.329,274,1.329,275,0.681,276,1.574,277,2.401,278,0.765,279,2.401,280,1.329,281,1.329,282,0.921,283,1.329,284,1.329,285,2.184,286,1.329,287,1.213,288,1.357,289,1.329,290,1.329,291,1.329,292,0.871,293,1.329,294,2.432,295,2.401,296,1.329,297,1.209,298,1.329,299,1.13,300,1.329,301,1.637,302,1.856,303,1.329,304,1.023,305,1.209,306,0.628,307,1.329,308,1.574,309,1.329,310,1.329,311,2.034,312,1.329,313,0.591,314,0.921,315,0.636,316,1.329,317,1.934,318,2.401,319,1.778,320,1.329,321,1.329,322,1.329,323,1.329,324,1.329,325,1.329,326,1.023,327,1.209,328,1.329,329,1.13,330,1.329,331,1.329,332,1.329,333,1.313,334,1.329,335,0.984,336,1.329,337,1.329,338,0.559,339,1.329,340,1.329,341,1.213,342,1.329,343,1.329,344,0.895,345,1.329,346,0.984,347,1.329,348,0.681,349,0.738,350,1.209,351,1.329,352,1.778,353,1.071,354,1.329,355,1.13,356,0.984,357,1.329,358,1.329,359,0.984,360,0.85,361,3.661,362,1.329,363,0.95,364,1.329,365,0.636,366,0.95,367,1.329,368,1.329,369,1.329,370,1.329,371,1.13,372,1.071,373,0.895,374,1.934,375,0.738,376,1.329,377,2.041,378,1.13,379,0.653,380,1.329,381,1.329,382,1.329,383,2.041,384,2.646,385,1.329,386,1.329,387,0.501,388,1.071,389,1.329,390,1.382,391,1.329,392,1.329,393,1.329,394,1.329,395,1.023,396,1.329,397,2.401,398,1.717,399,1.329,400,1.329,401,0.83,402,1.329,403,1.849,404,1.329,405,1.329,406,1.329,407,0.871,408,1.329,409,1.329,410,1.329,411,1.823,412,1.329,413,1.329,414,1.209,415,1.329,416,1.329,417,1.329,418,1.071,419,1.329,420,1.071,421,1.329,422,0.895,423,1.329,424,0.765,425,0.895,426,1.329,427,0.738,428,1.209,429,1.329,430,1.329,431,1.071,432,1.329,433,1.329,434,2.1,435,1.209,436,1.13,437,0.765,438,1.329,439,2.401,440,0.836,441,1.329,442,1.13,443,2.401,444,1.329,445,0.598,446,1.329,447,1.329,448,1.329,449,1.329,450,1.329,451,0.895,452,1.329,453,1.329,454,1.329,455,1.329,456,6.429,457,0.984,458,1.329,459,1.329,460,1.329,461,1.329,462,1.329,463,1.329,464,6.08,465,1.329,466,1.329,467,1.209,468,1.071,469,1.209,470,1.329,471,1.329,472,2.987,473,1.329,474,1.329,475,1.209,476,1.209,477,1.329,478,1.329,479,1.329,480,1.329,481,1.329,482,1.329,483,2.153,484,1.329,485,1.329,486,1.778,487,1.329,488,1.329,489,1.329,490,0.83,491,1.329,492,1.329,493,1.329,494,1.329,495,1.329,496,1.329,497,1.329,498,1.329,499,1.329,500,1.329,501,1.209,502,1.329,503,1.329,504,1.329,505,1.329,506,1.329,507,1.209,508,1.329]],["component/2",[164,0.59]],["title/3-1",[99,23.888,148,29.244]],["name/3-1",[]],["text/3-1",[]],["component/3-1",[]],["title/3-2",[148,29.244,180,28.927]],["name/3-2",[]],["text/3-2",[]],["component/3-2",[]],["title/3",[11,28.409,16,12.127,17,9.995,18,5.712,23,13.102]],["name/3",[20,3.038]],["text/3",[0,1.968,1,1.289,4,2.21,6,1.229,8,1.384,12,1.43,14,2.225,16,2.677,17,2.206,18,1.384,21,3.394,22,2.156,23,2.86,33,1.617,44,2.457,46,2.156,64,9.022,65,3.581,66,3.75,69,1.962,82,1.738,84,2.119,90,1.315,97,2.313,99,3.239,104,2.287,129,1.302,148,4.265,168,1.446,169,2.489,174,1.554,180,4.458,202,2.556,218,1.229,247,1.48,252,3.112,254,1.48,257,2.628,258,2.214,265,3.604,272,2.887,287,1.662,299,2.796,344,2.214,490,3.248,509,2.992,510,4.684,511,3.112,512,4.005,513,2.214,514,2.796,515,3.289,516,2.992,517,2.649,518,1.968,519,3.289,520,3.289,521,2.533,522,2.992,523,4.47,524,2.649,525,1.858,526,3.867,527,2.435,528,3.248,529,1.738,530,2.796,531,3.05,532,2.103,533,2.435,534,2.054,535,2.156,536,2.649,537,1.926,538,2.796,539,2.796,540,3.289,541,2.435,542,2.054,543,2.887,544,3.289,545,3.177,546,1.161]],["component/3",[164,0.59]],["title/4",[]],["name/4",[18,0.201,156,0.945,547,0.811,548,1.672]],["text/4",[]],["component/4",[164,0.59]],["title/5-1",[546,15.183,549,21.987]],["name/5-1",[]],["text/5-1",[]],["component/5-1",[]],["title/5",[16,12.127,17,9.995,18,5.712,84,15.6,85,19.566]],["name/5",[84,0.935,85,1.173]],["text/5",[1,1.194,4,2.144,8,1.282,10,1.754,13,1.311,14,2.159,16,1.566,17,0.642,18,0.845,20,4.865,27,2.671,43,1.586,44,1.44,53,2.152,58,2.257,63,1.256,65,1.692,67,1.797,69,1.847,71,1.206,80,2.955,84,2.307,85,3.914,86,2.455,87,1.498,93,4.03,95,1.636,99,1.07,100,4.04,113,1.422,116,1.998,120,1.998,132,1.663,143,1.904,145,1.904,156,2.765,167,2.179,174,4.077,191,1.864,202,1.498,218,1.139,223,3.57,224,2.179,225,2.179,228,3.624,233,2.112,234,1.787,235,1.129,247,1.371,301,1.519,306,1.44,326,3.769,333,1.956,338,2.06,349,5.139,356,2.257,379,1.498,387,2.901,390,1.754,418,2.455,440,1.061,468,2.455,526,1.388,546,0.68,550,2.816,551,2.052,552,2.772,553,3.048,554,2.038,555,1.823,556,1.996,557,3.611,558,2.052,559,2.772,560,3.921,561,2.257,562,3.048,563,3.048,564,3.048,565,8.213,566,2.772,567,2.052,568,2.591,569,2.772,570,2.772,571,3.382,572,2.772,573,2.591,574,6.951,575,4.118,576,2.772,577,4.386,578,2.455,579,3.048,580,1.949,581,3.048,582,3.048,583,3.832,584,2.772,585,3.208,586,2.772,587,2.772,588,2.347,589,2.772,590,3.048,591,4.161,592,2.591,593,2.772,594,1.862,595,1.823,596,4.895,597,2.772,598,2.772,599,2.772,600,3.048,601,1.787,602,2.772,603,3.048,604,2.772,605,2.717,606,2.772,607,2.373,608,3.048,609,3.129,610,2.179,611,1.663,612,1.787,613,6.387,614,2.772,615,3.048,616,4.895,617,2.455,618,3.048,619,1.998,620,3.048,621,3.048,622,2.591,623,2.257,624,4.161,625,1.636,626,3.048,627,3.048,628,3.048,629,3.048,630,2.772,631,2.112,632,3.048,633,2.052,634,2.112,635,3.048,636,3.048,637,2.772,638,3.048,639,3.048,640,3.769,641,3.048,642,2.112,643,3.048,644,1.07,645,1.07,646,1.07,647,1.07,648,1.07,649,1.07,650,1.07,651,1.07,652,1.07]],["component/5",[164,0.59]],["title/6-1",[56,26.749,76,22.638,346,44.013]],["name/6-1",[]],["text/6-1",[]],["component/6-1",[]],["title/6-2",[56,26.749,76,22.638,525,33.586]],["name/6-2",[]],["text/6-2",[]],["component/6-2",[]],["title/6-3",[76,25.9,90,27.183]],["name/6-3",[]],["text/6-3",[]],["component/6-3",[]],["title/6-4",[76,25.9,242,36.519]],["name/6-4",[]],["text/6-4",[]],["component/6-4",[]],["title/6-5",[76,22.638,557,26.138,653,32.446]],["name/6-5",[]],["text/6-5",[]],["component/6-5",[]],["title/6-6",[16,13.484,76,20.106,547,25.602,654,30.963]],["name/6-6",[]],["text/6-6",[]],["component/6-6",[]],["title/6-7",[56,26.749,76,22.638,152,38.006]],["name/6-7",[]],["text/6-7",[]],["component/6-7",[]],["title/6-8",[76,25.9,90,27.183]],["name/6-8",[]],["text/6-8",[]],["component/6-8",[]],["title/6-9",[76,25.9,242,36.519]],["name/6-9",[]],["text/6-9",[]],["component/6-9",[]],["title/6-10",[76,22.638,557,26.138,653,32.446]],["name/6-10",[]],["text/6-10",[]],["component/6-10",[]],["title/6-11",[56,26.749,76,22.638,103,23.296]],["name/6-11",[]],["text/6-11",[]],["component/6-11",[]],["title/6-12",[76,25.9,90,27.183]],["name/6-12",[]],["text/6-12",[]],["component/6-12",[]],["title/6-13",[655,46.602]],["name/6-13",[]],["text/6-13",[]],["component/6-13",[]],["title/6-14",[76,25.9,242,36.519]],["name/6-14",[]],["text/6-14",[]],["component/6-14",[]],["title/6-15",[94,26.308,198,25.602,529,27.904,656,40.652]],["name/6-15",[]],["text/6-15",[]],["component/6-15",[]],["title/6-16",[27,37.122,198,32.981]],["name/6-16",[]],["text/6-16",[]],["component/6-16",[]],["title/6-17",[84,26.106]],["name/6-17",[]],["text/6-17",[]],["component/6-17",[]],["title/6-18",[95,36.519,137,30.968]],["name/6-18",[]],["text/6-18",[]],["component/6-18",[]],["title/6-19",[56,26.749,76,22.638,556,24.243]],["name/6-19",[]],["text/6-19",[]],["component/6-19",[]],["title/6-20",[56,23.757,76,20.106,150,15.105,556,21.531]],["name/6-20",[]],["text/6-20",[]],["component/6-20",[]],["title/6-21",[537,25.191,657,26.653]],["name/6-21",[]],["text/6-21",[]],["component/6-21",[]],["title/6-22",[546,15.183,549,21.987]],["name/6-22",[]],["text/6-22",[]],["component/6-22",[]],["title/6",[4,10.72,16,11.018,17,9.081,18,5.19,56,19.413,76,16.43]],["name/6",[13,0.906,56,0.948,76,0.802]],["text/6",[1,0.259,4,1.804,5,0.33,11,0.396,12,0.288,13,1.796,14,1.952,15,1.638,16,1.913,17,1.475,18,1.097,22,0.434,23,0.347,25,0.344,27,2.592,30,0.413,31,0.339,32,0.355,33,0.882,34,0.474,36,0.785,44,0.848,47,2.914,49,3.412,51,0.586,53,0.291,56,3.707,57,1.188,59,0.25,61,0.285,62,2.363,63,1.292,66,1.48,67,2.62,69,2.065,70,1.074,71,0.903,72,2.774,76,3.727,77,1.839,78,1.442,80,1.757,81,0.644,82,0.35,84,0.413,85,0.518,87,1.341,88,0.396,90,2.273,91,1.741,93,2.077,94,1.922,95,0.675,98,0.732,99,0.232,103,2.693,105,0.644,113,0.586,114,0.321,117,1.417,119,0.768,129,1.77,136,0.404,137,1.428,138,0.301,146,0.626,150,2.285,152,3.635,153,3.128,154,2.059,155,0.374,156,1.772,162,0.785,168,1.004,169,0.317,174,0.848,180,3.036,185,1.525,186,0.824,191,4.369,192,1.846,196,0.335,198,2.025,200,0.317,209,1.014,211,1.57,212,1.632,217,0.635,218,0.853,221,0.396,223,0.992,235,1.3,239,0.618,241,2.914,242,4.24,247,0.807,254,1.58,268,0.737,275,0.339,278,0.381,287,0.335,288,0.71,302,0.374,306,0.848,308,1.176,311,0.335,313,1.99,317,0.533,319,0.931,333,1.788,338,1.477,341,0.635,346,2.599,348,0.339,349,1.949,352,0.49,356,0.49,363,0.473,365,1.846,373,3.011,375,0.367,379,1.122,387,3.013,390,0.381,411,0.996,428,0.602,437,0.723,440,0.23,445,1.027,469,0.602,507,1.632,510,0.388,511,0.396,521,0.51,522,0.602,525,4.033,526,0.301,529,2.51,533,0.931,534,0.413,535,2.738,536,1.012,538,1.068,542,0.413,543,0.367,546,0.148,547,1.107,549,0.214,551,0.446,554,2.603,556,3.422,557,1.544,558,1.208,560,0.423,567,0.446,568,0.563,571,0.291,574,0.533,575,0.388,583,1.359,591,1.525,594,0.404,601,0.388,605,1.267,607,1.521,609,2.245,610,0.899,612,1.339,613,1.143,619,0.434,631,0.459,644,0.232,645,0.232,646,1.101,647,0.232,648,0.232,649,0.232,650,0.232,651,0.232,652,0.232,653,2.865,654,2.059,655,1.339,656,0.51,658,0.968,659,0.602,660,1.445,661,0.473,662,0.635,663,0.602,664,0.752,665,1.257,666,0.662,667,0.662,668,0.662,669,0.824,670,0.871,671,0.662,672,1.895,673,0.602,674,2.609,675,0.662,676,1.758,677,2.499,678,2.076,679,1.257,680,1.143,681,1.795,682,0.662,683,0.563,684,0.533,685,0.563,686,0.662,687,3.136,688,0.423,689,1.69,690,0.968,691,0.968,692,3.1,693,2.283,694,1.329,695,1.257,696,0.899,697,1.951,698,1.257,699,1.068,700,0.51,701,1.143,702,2.984,703,2.902,704,0.396,705,1.176,706,0.968,707,1.226,708,1.257,709,1.632,710,1.257,711,1.712,712,1.012,713,1.379,714,1.012,715,1.69,716,1.6,717,0.49,718,0.602,719,2.076,720,1.257,721,0.602,722,1.143,723,0.723,724,0.533,725,0.964,726,0.662,727,0.49,728,0.662,729,0.533,730,0.968,731,0.325,732,0.87,733,1.257,734,1.143,735,0.483,736,3.136,737,1.257,738,1.143,739,0.459,740,0.662,741,1.147,742,2.433,743,0.473,744,0.846,745,0.662,746,1.795,747,0.662,748,0.662,749,0.662,750,0.662,751,0.602,752,0.563,753,0.602,754,0.563,755,0.563,756,0.602,757,0.563,758,0.459,759,1.582,760,0.662,761,0.404,762,0.434,763,0.423,764,0.473,765,0.434,766,1.143,767,0.602,768,0.49,769,0.602,770,0.446,771,1.804,772,1.143,773,1.257,774,0.533,775,0.662,776,0.367,777,0.563,778,0.662,779,0.662,780,2.528,781,2.283,782,2.283,783,1.257,784,0.686,785,0.423,786,1.632,787,1.012,788,0.602,789,0.662,790,0.446,791,0.662,792,1.257,793,1.283,794,1.096,795,1.795,796,1.226,797,1.795,798,1.632,799,1.795,800,1.137,801,1.795,802,1.795,803,1.795,804,1.795,805,1.339,806,1.632,807,1.795,808,0.662,809,2.111,810,0.662,811,0.51,812,0.662,813,0.563,814,1.257,815,1.257,816,0.662,817,0.396,818,0.662,819,0.662,820,0.804,821,1.143,822,1.57,823,1.068,824,0.388,825,0.563,826,1.147,827,0.533,828,0.533,829,0.533,830,3.511,831,0.931,832,0.662,833,1.795,834,0.602,835,0.381,836,3.136,837,0.662,838,0.446,839,0.563,840,1.257,841,0.396,842,0.563,843,1.257,844,0.533,845,1.795,846,1.395,847,1.795,848,0.662,849,0.662,850,0.662,851,1.496,852,2.283,853,3.107,854,0.662,855,0.473,856,0.662,857,0.662,858,0.602,859,0.662,860,0.931,861,0.662,862,1.632,863,0.662,864,0.563,865,1.257,866,0.662,867,0.662,868,0.785,869,0.662,870,0.662,871,0.662,872,1.257,873,0.662,874,0.662,875,0.662,876,0.662,877,0.662,878,0.662,879,1.257,880,0.446,881,0.473,882,1.257,883,0.662,884,0.396,885,0.662,886,0.662,887,0.662,888,0.434,889,0.563,890,0.662,891,0.662,892,0.662,893,0.662,894,1.257,895,0.533,896,0.602,897,0.662,898,0.662,899,1.068,900,0.662,901,0.662,902,0.662,903,0.662,904,0.662,905,0.662,906,0.804,907,0.662,908,0.662,909,0.602,910,0.662]],["component/6",[164,0.59]],["title/7-1",[537,25.191,657,26.653]],["name/7-1",[]],["text/7-1",[]],["component/7-1",[]],["title/7-2",[546,15.183,549,21.987]],["name/7-2",[]],["text/7-2",[]],["component/7-2",[]],["title/7",[16,11.018,17,9.081,18,5.19,88,25.812,89,25.303,90,17.244]],["name/7",[18,0.201,88,1,89,0.98,93,0.662]],["text/7",[4,1.595,5,2.157,14,1.914,17,1.611,18,1.306,23,1.771,34,2.422,50,1.947,53,1.903,67,1.589,69,2.422,71,2.54,78,2.287,80,3.562,84,1.422,85,2.645,87,2.127,88,5.064,89,5.905,90,3.613,91,3.564,92,3.095,93,3.028,94,4.218,99,2.255,109,4.192,113,2.019,117,1.747,129,1.713,138,1.971,150,1.837,161,2.49,191,2.445,209,2.445,217,2.187,218,3.844,235,1.603,239,2.127,247,3.443,306,2.045,348,2.219,349,2.403,440,1.507,445,2.888,528,2.703,529,2.287,537,1.603,546,0.966,556,3.121,575,2.538,623,3.204,625,2.324,644,1.52,645,1.52,646,2.255,647,1.52,648,1.52,649,1.52,650,1.52,651,1.52,652,1.52,691,3.332,703,3.922,711,2.362,731,2.127,732,3.113,735,2.942,741,5.412,776,2.403,868,2.703,911,9.158,912,2.49,913,2.913,914,4.328,915,4.328,916,4.943,917,3.486,918,2.045,919,4.328,920,4.448,921,4.328,922,2.538,923,4.328]],["component/7",[164,0.59]],["title/8-1",[18,8.181,95,36.519]],["name/8-1",[]],["text/8-1",[]],["component/8-1",[]],["title/8-2",[6,25.423,95,36.519]],["name/8-2",[]],["text/8-2",[]],["component/8-2",[]],["title/8-3",[95,31.92,117,23.998,118,30.043]],["name/8-3",[]],["text/8-3",[]],["component/8-3",[]],["title/8-4",[95,31.92,117,23.998,924,37.128]],["name/8-4",[]],["text/8-4",[]],["component/8-4",[]],["title/8-5",[6,22.221,95,31.92,117,23.998]],["name/8-5",[]],["text/8-5",[]],["component/8-5",[]],["title/8-6",[18,6.351,61,22.702,66,18.705,800,26.308]],["name/8-6",[]],["text/8-6",[]],["component/8-6",[]],["title/8-7",[18,6.351,84,17.345,156,29.829,196,26.682]],["name/8-7",[]],["text/8-7",[]],["component/8-7",[]],["title/8-8",[95,31.92,150,17.007,925,44.013]],["name/8-8",[]],["text/8-8",[]],["component/8-8",[]],["title/8-9",[537,25.191,657,26.653]],["name/8-9",[]],["text/8-9",[]],["component/8-9",[]],["title/8-10",[546,15.183,549,21.987]],["name/8-10",[]],["text/8-10",[]],["component/8-10",[]],["title/8",[16,13.484,17,11.113,18,6.351,95,28.349]],["name/8",[13,1.224,95,1.528]],["text/8",[1,1.449,4,1.878,6,3.757,13,1.59,14,1.891,15,1.726,16,1.683,17,1.531,18,1.216,19,0.92,23,0.755,25,1.425,31,2.637,32,1.47,34,2.15,47,0.854,50,1.664,53,3.436,55,0.518,59,1.692,61,1.59,63,1.848,66,0.545,67,1.005,69,0.58,71,2.035,72,0.813,80,1.556,84,2.567,85,2.865,87,0.756,88,0.92,90,1.094,93,3.265,95,5.324,99,1.299,103,2.421,107,1.239,115,0.801,117,4.191,118,3.676,129,1.083,136,1.672,137,2.043,138,0.7,150,2.301,160,5.153,161,1.575,162,1.71,163,3.813,168,0.676,177,1.1,191,4.359,196,2.267,211,0.885,223,0.669,235,0.57,239,1.345,241,2.053,242,1.986,247,1.232,253,1.008,254,0.692,263,0.885,306,0.727,311,0.777,313,0.684,333,1.478,338,1.152,363,3.208,365,0.736,383,1.307,387,2.15,427,2.49,440,0.536,445,0.692,501,1.399,543,1.52,546,0.343,547,0.746,556,1.83,560,0.983,575,0.902,583,0.766,585,1.008,588,1.184,601,0.902,607,2.175,611,3.111,617,4.143,625,0.826,644,0.54,645,0.54,646,1.576,647,0.54,648,0.54,649,0.54,650,0.54,651,0.54,652,0.54,662,0.777,670,3.108,672,3.418,674,2.31,699,1.307,703,0.94,707,0.826,732,0.746,735,2.673,744,1.035,758,2.563,776,0.854,784,1.494,800,4.112,835,1.575,841,1.638,844,1.239,906,0.983,922,0.902,924,2.802,926,1.538,927,3.144,928,1.239,929,2.327,930,1.139,931,3.813,932,1.139,933,0.826,934,1.538,935,1.538,936,1.307,937,1.538,938,2.738,939,1.538,940,1.399,941,3.699,942,1.538,943,1.307,944,2.49,945,1.538,946,0.789,947,2.979,948,1.794,949,2.738,950,1.345,951,0.983,952,1.538,953,1.307,954,1.538,955,1.75,956,1.399,957,1.538,958,0.826,959,1.399,960,1.035,961,4.266,962,2.169,963,0.609,964,1.538,965,5.144,966,3.144,967,1.184,968,1.184,969,3.208,970,1.538,971,1.538,972,1.538,973,2.738,974,3.144,975,3.808,976,1.399,977,1.538,978,1.239,979,1.307,980,1.538,981,1.538,982,2.738,983,1.066,984,2.738,985,1.307,986,2.205,987,1.538,988,1.399,989,1.538,990,1.399,991,1.538,992,1.538,993,1.538,994,1.239,995,1.139,996,1.538,997,1.184,998,1.307,999,3.364,1000,2.327,1001,2.327,1002,2.738,1003,1.538,1004,2.738,1005,3.364,1006,1.538,1007,1.538,1008,1.307,1009,1.399,1010,1.066,1011,1.307,1012,1.066,1013,0.885,1014,0.84,1015,0.92,1016,1.399,1017,3.699,1018,1.538,1019,1.538,1020,1.538]],["component/8",[164,0.59]],["title/9-1",[77,27.848,78,25.096,150,13.585,543,26.36,924,29.658]],["name/9-1",[]],["text/9-1",[]],["component/9-1",[]],["title/9-2",[76,18.083,77,27.848,78,25.096,150,13.585,242,25.497]],["name/9-2",[]],["text/9-2",[]],["component/9-2",[]],["title/9-3",[77,27.848,78,25.096,80,19.981,150,13.585,716,27.848]],["name/9-3",[]],["text/9-3",[]],["component/9-3",[]],["title/9-4",[537,25.191,657,26.653]],["name/9-4",[]],["text/9-4",[]],["component/9-4",[]],["title/9-5",[546,15.183,549,21.987]],["name/9-5",[]],["text/9-5",[]],["component/9-5",[]],["title/9",[16,12.127,17,9.995,18,5.712,77,27.848,78,25.096]],["name/9",[77,1.235,78,1.113,542,1.315]],["text/9",[1,0.932,4,0.591,5,0.655,6,2.104,11,0.786,13,0.565,14,1.29,15,1.519,16,0.336,17,1.838,18,1.27,23,1.768,27,0.717,34,0.496,39,0.655,40,1.6,47,0.73,50,1.07,51,0.613,53,1.431,55,0.443,57,0.684,61,1.022,62,1.6,63,0.542,67,2.352,68,0.592,71,1.579,76,3.274,77,3.025,78,5.227,80,4.107,84,0.432,85,3.825,88,1.947,90,0.95,92,0.94,93,2.664,94,3.632,99,2.56,109,2.343,113,0.613,114,0.637,117,3.413,118,0.664,137,1.817,138,0.599,145,1.485,146,1.185,150,2.773,154,1.394,155,0.743,174,0.621,180,1.698,181,0.84,191,4.022,199,2.081,209,0.743,211,0.756,217,1.202,218,0.491,223,0.572,227,1.012,235,2.869,239,1.6,241,1.807,242,3.615,271,0.717,275,0.674,302,0.743,349,2.863,375,0.73,387,1.946,424,2.296,440,0.458,442,2.021,490,0.821,511,0.786,529,3.713,535,5.724,543,3.354,546,0.293,556,1.628,557,3.31,558,0.885,567,0.885,571,0.578,574,2.622,578,1.059,583,0.655,605,0.73,607,0.637,609,5.197,617,4.534,625,0.706,640,1.012,644,0.835,645,0.462,646,1.143,647,0.462,648,0.462,649,0.462,650,0.462,651,0.462,652,0.462,653,3.675,662,1.645,663,1.196,672,4.155,674,2.033,688,0.84,689,1.76,704,0.786,706,1.831,707,0.706,713,2.607,715,2.41,716,5.328,717,0.973,722,1.196,723,4.457,725,1.277,727,2.955,729,2.622,731,3.149,735,1.251,739,1.647,742,1.647,758,0.911,771,1.873,774,3.215,776,0.73,784,0.717,800,0.655,820,0.84,824,1.394,826,2.552,831,1.76,838,1.6,851,0.862,906,2.081,918,0.621,924,2.493,928,1.059,950,0.646,951,2.081,960,0.885,961,2.708,963,0.52,969,1.7,975,0.973,1000,1.117,1001,2.767,1021,1.257,1022,1.6,1023,2.378,1024,3.862,1025,2.021,1026,1.196,1027,0.553,1028,0.94,1029,1.059,1030,3.367,1031,2.327,1032,2.255,1033,2.021,1034,2.767,1035,1.315,1036,0.84,1037,0.84,1038,1.196,1039,1.117,1040,1.315,1041,1.059,1042,1.196,1043,1.196,1044,0.655,1045,0.911,1046,1.117,1047,0.94,1048,1.315,1049,1.315,1050,1.117,1051,4.201,1052,4.201,1053,3.63,1054,1.315,1055,5.119,1056,1.196,1057,2.163,1058,2.163,1059,2.961,1060,1.196,1061,2.378,1062,0.911,1063,1.196,1064,1.315,1065,0.862,1066,1.196,1067,4.618,1068,1.315,1069,2.378,1070,1.315,1071,1.059,1072,2.968,1073,1.196,1074,3.255,1075,1.315,1076,0.862,1077,1.059,1078,2.021,1079,1.315,1080,1.315,1081,1.117,1082,1.315,1083,1.196,1084,1.117,1085,0.821,1086,1.117]],["component/9",[164,0.59]],["title/10-1",[81,34.874,90,27.183]],["name/10-1",[]],["text/10-1",[]],["component/10-1",[]],["title/10-2",[81,30.482,82,31.418,150,17.007]],["name/10-2",[]],["text/10-2",[]],["component/10-2",[]],["title/10-3",[537,25.191,657,26.653]],["name/10-3",[]],["text/10-3",[]],["component/10-3",[]],["title/10-4",[546,15.183,549,21.987]],["name/10-4",[]],["text/10-4",[]],["component/10-4",[]],["title/10",[16,12.127,17,9.995,18,5.712,81,24.348,82,25.096]],["name/10",[18,0.201,81,0.857,82,0.884,542,1.044]],["text/10",[1,0.71,4,1.561,6,0.677,14,1.572,15,2.351,16,1.074,17,1.323,18,1.201,23,0.872,39,0.902,40,1.219,44,0.855,45,5.206,49,2.295,53,0.796,55,0.61,56,1.422,57,0.942,62,2.128,63,0.746,68,1.422,71,1.251,72,0.957,76,1.919,78,1.67,80,1.33,81,5.555,82,4.411,85,0.746,88,1.083,90,3.13,91,2.335,92,1.295,93,2.977,94,0.902,99,1.11,109,0.754,114,1.533,117,3.037,136,1.931,138,2.294,146,0.902,150,2.241,151,2.072,154,2.955,155,1.023,156,3.231,174,0.855,180,1.789,191,4.126,200,0.867,227,2.433,235,0.671,239,3.697,241,1.754,242,1.697,253,1.187,254,0.815,271,0.988,272,4.633,278,1.819,282,1.254,292,1.187,311,1.597,313,0.805,333,0.724,348,5.16,349,1.005,365,0.867,373,3.392,375,1.005,387,3.23,422,1.219,424,1.042,437,1.042,440,0.63,442,1.539,445,1.892,451,1.219,525,3.55,526,0.824,528,1.131,529,0.957,535,3.303,546,0.404,549,0.585,550,2.42,554,1.316,555,1.083,556,2.924,557,1.39,571,1.39,577,2.26,583,0.902,607,0.878,609,5.007,644,0.636,645,0.636,646,0.636,647,0.636,648,0.636,649,0.636,650,0.636,651,0.636,652,0.636,653,2.295,656,2.433,662,0.915,670,1.254,672,1.553,673,1.647,674,1.974,683,1.539,684,3.388,685,3.575,691,4.403,697,2.26,703,3.494,704,1.083,705,1.187,707,1.697,713,0.915,717,3.114,721,1.647,723,1.042,730,1.394,776,1.005,780,1.187,784,0.988,787,1.458,820,2.021,821,1.647,822,1.042,838,1.219,841,3.015,846,3.078,851,1.187,884,1.083,889,2.686,895,1.458,906,2.689,912,2.42,918,1.493,951,3.222,961,4.205,963,0.717,978,1.458,979,1.539,995,1.341,1022,2.128,1024,1.158,1027,0.762,1028,1.295,1037,1.158,1044,0.902,1076,2.072,1087,1.458,1088,1.023,1089,1.647,1090,1.062,1091,1.647,1092,1.647,1093,1.811,1094,1.811,1095,1.341,1096,1.647,1097,1.811,1098,1.341,1099,7.053,1100,1.647,1101,1.539,1102,1.647,1103,1.811,1104,1.811,1105,5.039,1106,1.811,1107,2.875,1108,3.161,1109,1.811,1110,1.254,1111,1.811,1112,1.647,1113,1.811,1114,1.341,1115,4.283,1116,6.284,1117,1.811,1118,3.161,1119,3.161,1120,1.458,1121,1.811,1122,1.811,1123,1.539,1124,6.284,1125,8.105,1126,3.161,1127,1.811,1128,1.811,1129,1.811,1130,1.811,1131,1.811,1132,1.811,1133,1.219,1134,4.206,1135,1.811,1136,1.083]],["component/10",[164,0.59]],["title/11-1",[18,7.15,55,20.016,83,40.018]],["name/11-1",[]],["text/11-1",[]],["component/11-1",[]],["title/11-2",[18,7.15,59,22.427,83,40.018]],["name/11-2",[]],["text/11-2",[]],["component/11-2",[]],["title/11-3",[18,6.351,59,19.919,83,35.541,1137,40.652]],["name/11-3",[]],["text/11-3",[]],["component/11-3",[]],["title/11-4",[537,25.191,657,26.653]],["name/11-4",[]],["text/11-4",[]],["component/11-4",[]],["title/11-5",[546,15.183,549,21.987]],["name/11-5",[]],["text/11-5",[]],["component/11-5",[]],["title/11",[16,13.484,17,11.113,18,6.351,83,35.541]],["name/11",[33,1.399,83,1.916]],["text/11",[1,1.945,4,1.233,6,0.662,8,1.74,14,0.443,15,1.447,16,0.792,17,1.187,18,1.214,23,1.556,34,1.56,47,1.722,50,0.797,53,2.729,55,2.86,59,3.205,61,0.762,67,1.822,68,1.396,69,1.17,76,2.701,78,3.28,80,1.305,83,7.22,85,1.704,93,3.362,99,1.089,105,0.909,113,1.447,114,1.504,117,2.863,129,1.227,137,3.043,146,0.883,150,2.43,174,0.837,180,2.639,191,4.414,192,1.484,198,1.504,218,1.546,234,1.039,241,3.445,254,0.797,275,1.59,278,1.02,288,1.752,301,1.545,313,2.76,315,0.848,338,0.746,341,1.567,349,3.71,350,1.612,360,1.133,365,1.484,375,0.984,387,3.462,422,1.193,440,0.617,511,1.856,526,0.807,546,0.396,554,2.067,555,1.856,556,3.464,583,1.545,605,0.984,607,2.407,609,1.983,611,1.693,624,4.795,644,0.622,645,0.622,646,1.743,647,0.622,648,0.622,649,0.622,650,0.622,651,0.622,652,0.622,653,0.967,662,0.896,672,3.05,704,2.474,707,1.665,711,1.693,713,2.508,723,2.38,731,0.871,735,1.59,744,1.193,754,1.506,784,1.693,785,1.983,790,2.088,793,2.218,794,1.895,805,1.819,835,1.02,933,0.951,946,1.59,955,1.133,958,3.589,963,1.227,1011,1.506,1021,1.639,1027,1.305,1072,1.785,1076,2.033,1078,2.636,1136,1.856,1137,6.692,1138,2.345,1139,0.859,1140,1.06,1141,1.612,1142,1.612,1143,1.228,1144,1.772,1145,1.612,1146,1.612,1147,7.094,1148,2.388,1149,1.506,1150,2.821,1151,1.93,1152,4.136,1153,1.193,1154,1.228,1155,1.06,1156,2.498,1157,3.102,1158,3.102,1159,4.964,1160,3.102,1161,4.964,1162,3.102,1163,4.964,1164,3.102,1165,4.136,1166,1.895,1167,4.136,1168,1.983,1169,4.136,1170,6.206,1171,4.136,1172,2.218,1173,1.772,1174,1.772,1175,1.427,1176,1.819,1177,3.102,1178,2.856,1179,1.856,1180,1.772,1181,1.772,1182,1.772,1183,1.772,1184,1.772,1185,1.772,1186,1.772,1187,5.641,1188,4.136,1189,1.772,1190,1.772,1191,1.772,1192,1.772,1193,1.772,1194,1.772,1195,1.772]],["component/11",[164,0.59]],["title/12-1",[6,17.75,84,15.6,103,18.609,129,18.792,796,25.497]],["name/12-1",[]],["text/12-1",[]],["component/12-1",[]],["title/12-2",[6,17.75,84,15.6,103,18.609,129,18.792,139,33.954]],["name/12-2",[]],["text/12-2",[]],["component/12-2",[]],["title/12-3",[6,17.75,113,22.156,138,21.621,198,23.026,518,28.409]],["name/12-3",[]],["text/12-3",[]],["component/12-3",[]],["title/12-4",[21,17.244,103,16.908,247,19.413,437,24.825,529,22.802,800,21.499]],["name/12-4",[]],["text/12-4",[]],["component/12-4",[]],["title/12-5",[6,17.75,18,5.712,90,18.979,103,18.609,150,13.585]],["name/12-5",[]],["text/12-5",[]],["component/12-5",[]],["title/12-6",[537,25.191,657,26.653]],["name/12-6",[]],["text/12-6",[]],["component/12-6",[]],["title/12-7",[546,15.183,549,21.987]],["name/12-7",[]],["text/12-7",[]],["component/12-7",[]],["title/12",[6,25.682,31,24.348,32,25.497,103,18.609]],["name/12",[6,0.932,31,0.711,32,0.744,103,0.543]],["text/12",[3,0.988,4,0.959,6,3.919,8,0.798,14,2.203,15,1.234,16,1.77,17,1.095,18,1.188,21,1.921,23,2.243,27,3.658,31,3.171,32,3.321,33,0.505,34,1.242,43,0.535,50,1.481,51,1.536,55,1.299,56,0.462,57,0.535,62,0.691,66,1.844,67,2.369,69,1.242,71,1.046,72,0.543,84,2.713,85,3.666,87,0.505,90,2.08,91,0.57,93,1.046,97,0.844,98,1.778,99,2.699,102,0.627,103,4.097,104,2.446,112,3.523,113,0.479,115,1.713,117,0.766,118,0.519,119,2.011,120,0.673,121,0.657,129,3.162,134,1.244,135,1.213,137,1.499,138,3.251,139,5.992,140,0.934,146,0.512,148,2.532,150,1.769,174,1.249,177,1.357,186,1.244,191,3.567,192,0.492,196,1.336,198,1.596,199,1.69,202,1.897,209,0.58,211,1.092,217,1.664,218,1.796,221,0.614,223,3.268,224,1.357,235,1.928,239,0.932,247,3.871,254,1.736,259,1.733,265,2.674,267,0.673,271,1.036,275,1.356,278,1.092,287,1.664,288,0.58,301,0.512,311,1.95,313,0.457,314,0.712,315,1.575,329,2.247,333,0.758,338,2.022,341,0.519,360,1.69,365,0.492,383,3.706,384,3.109,387,2.435,398,0.734,401,3.25,411,1.468,425,0.691,427,1.053,437,1.092,440,0.358,445,0.462,510,1.551,511,0.614,518,1.135,526,0.468,527,0.76,528,0.641,529,2.94,532,0.657,546,0.229,550,2.995,551,0.691,554,0.428,555,1.969,556,2.522,557,1.917,558,0.691,571,0.834,575,0.602,580,0.657,583,0.945,585,2.158,588,0.791,601,2.557,605,3.583,607,0.92,609,0.657,619,1.244,625,0.551,631,1.832,634,2.281,644,0.361,645,0.361,646,1.531,647,0.361,648,0.361,649,0.361,650,0.361,651,0.361,652,0.361,655,1.931,657,0.744,661,0.734,713,1.336,716,1.113,731,0.932,732,0.92,735,1.265,743,0.734,758,0.712,761,0.627,762,1.244,777,1.613,780,0.673,785,1.213,788,1.726,793,0.734,794,0.627,796,2.58,798,0.934,800,0.945,806,0.934,809,1.78,817,0.614,826,1.213,851,1.244,906,1.69,912,1.521,913,0.691,920,0.712,922,1.931,927,1.613,928,0.827,943,1.613,946,0.527,948,1.733,963,1.046,983,0.712,1013,1.092,1014,1.036,1015,0.614,1021,0.543,1027,0.798,1072,1.092,1090,0.602,1138,0.485,1151,0.479,1155,0.614,1176,1.551,1178,2.509,1179,1.135,1196,0.934,1197,0.934,1198,0.76,1199,2.798,1200,1.897,1201,0.934,1202,1.244,1203,0.934,1204,0.934,1205,1.027,1206,1.027,1207,0.934,1208,2.405,1209,3.28,1210,1.027,1211,1.027,1212,1.027,1213,0.712,1214,1.027,1215,1.027,1216,4.779,1217,1.027,1218,0.827,1219,1.897,1220,1.027,1221,0.791,1222,1.027,1223,1.027,1224,2.644,1225,0.791,1226,1.027,1227,1.027,1228,1.027,1229,0.934,1230,1.027,1231,1.027,1232,0.934,1233,1.027,1234,2.13,1235,1.027,1236,1.897,1237,1.897,1238,1.897,1239,1.027,1240,1.897,1241,1.726,1242,1.405,1243,1.726,1244,1.897,1245,1.897,1246,1.726,1247,2.644,1248,3.292,1249,1.897,1250,2.994,1251,1.897,1252,1.897,1253,1.726,1254,1.613,1255,2.994,1256,1.027,1257,1.027,1258,1.027,1259,1.027,1260,0.934,1261,1.027,1262,1.027,1263,1.027,1264,1.027,1265,2.247,1266,1.185,1267,0.827,1268,0.827,1269,0.712,1270,0.76,1271,1.461,1272,1.726,1273,0.873,1274,0.657,1275,1.244,1276,1.244,1277,1.027,1278,1.027,1279,1.027,1280,1.897,1281,1.027,1282,2.644,1283,1.027,1284,2.759,1285,1.027,1286,0.934,1287,3.292,1288,1.277,1289,1.528,1290,1.528,1291,0.873,1292,0.827,1293,1.027,1294,0.934]],["component/12",[164,0.59]],["title/13-1",[18,6.351,84,17.345,585,34.605,1213,36.581]],["name/13-1",[]],["text/13-1",[]],["component/13-1",[]],["title/13-2",[150,15.105,585,34.605,846,32.255,1213,36.581]],["name/13-2",[]],["text/13-2",[]],["component/13-2",[]],["title/13-3",[82,35.945,1295,61.865]],["name/13-3",[]],["text/13-3",[]],["component/13-3",[]],["title/13-4",[537,25.191,657,26.653]],["name/13-4",[]],["text/13-4",[]],["component/13-4",[]],["title/13-5",[546,15.183,549,21.987]],["name/13-5",[]],["text/13-5",[]],["component/13-5",[]],["title/13",[6,16.127,14,10.794,31,22.123,32,23.166,119,26.358,120,28.279]],["name/13",[6,0.625,31,0.857,32,0.898,120,1.096]],["text/13",[6,2.832,13,0.79,14,2.607,15,0.858,16,2.013,17,1.767,18,1.08,23,1.174,27,4.699,31,1.642,32,0.987,34,0.693,35,1.415,44,2.01,45,1.415,47,1.778,50,2.852,51,1.494,57,1.667,65,1.02,67,1.869,68,0.827,69,0.693,71,1.684,76,0.7,81,0.943,84,2.489,85,4.128,88,1.1,90,1.701,93,2.015,98,0.75,99,2.226,103,0.72,107,1.481,114,1.553,117,0.742,118,1.618,119,4.816,120,6.168,121,1.175,129,2.508,145,1.148,146,2.537,150,1.95,174,2.01,218,0.687,223,3.743,224,5.83,233,1.274,235,0.681,239,3.35,247,0.827,254,2.598,278,1.058,287,0.929,333,2.724,338,2.667,353,1.481,387,3.321,390,1.058,411,1.02,424,1.058,427,1.02,440,1.115,445,1.441,511,3.046,546,0.41,547,0.891,549,1.035,556,3.589,557,1.408,560,1.175,571,1.408,577,4.532,584,1.672,585,7.18,586,2.913,587,1.672,588,6.07,589,2.913,605,1.02,611,1.748,622,4.328,625,1.719,630,2.913,644,0.646,645,0.646,646,1.494,647,0.646,648,0.646,649,0.646,650,0.646,651,0.646,652,0.646,661,2.29,662,1.618,677,1.1,700,1.415,704,1.916,711,1.003,731,1.574,732,1.553,735,0.707,758,2.219,776,1.02,787,1.481,827,1.481,835,1.058,839,1.562,841,2.546,846,4.164,851,1.205,916,1.415,922,1.078,963,1.267,968,2.466,1012,2.219,1014,1.748,1021,1.692,1022,1.237,1027,0.773,1030,1.1,1050,1.562,1085,1.148,1114,1.361,1143,1.274,1149,2.722,1196,1.672,1198,1.361,1213,6.329,1216,2.371,1266,1.148,1295,1.672,1296,6.763,1297,1.672,1298,6.816,1299,1.838,1300,1.672,1301,1.838,1302,1.838,1303,1.672,1304,1.838,1305,1.838,1306,1.672,1307,1.672,1308,2.58,1309,1.838,1310,3.203,1311,1.838,1312,1.838,1313,1.838,1314,1.838,1315,1.838,1316,2.29,1317,1.481,1318,1.838,1319,1.838,1320,1.838,1321,1.838,1322,1.838,1323,1.562,1324,1.838,1325,1.838,1326,1.838,1327,1.838,1328,1.838,1329,1.838,1330,3.203,1331,3.203,1332,2.29,1333,1.838,1334,6.816,1335,1.562,1336,1.838,1337,1.562,1338,1.838,1339,1.838,1340,1.838,1341,1.838,1342,1.838,1343,1.838,1344,1.562,1345,1.838,1346,1.838,1347,1.838]],["component/13",[164,0.59]],["title/14-1",[6,19.735,18,6.351,121,33.755,150,15.105]],["name/14-1",[]],["text/14-1",[]],["component/14-1",[]],["title/14-2",[537,25.191,657,26.653]],["name/14-2",[]],["text/14-2",[]],["component/14-2",[]],["title/14-3",[546,15.183,549,21.987]],["name/14-3",[]],["text/14-3",[]],["component/14-3",[]],["title/14",[6,17.75,16,12.127,17,9.995,18,5.712,121,30.359]],["name/14",[6,0.787,18,0.253,121,1.347]],["text/14",[1,1.478,4,0.392,6,4.061,8,0.663,10,3.605,13,1.622,14,1.761,16,1.6,17,1.482,18,1.265,23,1.597,25,0.821,27,0.86,29,1.34,31,4.165,32,1.502,34,1.972,44,0.745,52,0.985,53,1.659,55,1.76,57,3.012,59,0.595,63,2.901,67,1.385,71,0.624,80,1.587,84,1.718,85,1.882,87,0.775,90,2.814,91,2.535,92,1.127,93,2.29,98,0.643,99,1.836,112,1.674,117,3.279,118,3.558,121,6.8,129,1.807,132,1.527,136,0.963,137,2.08,150,2.014,168,2.544,191,4.168,192,1.805,196,1.414,209,5.222,218,1.046,224,2.697,235,2.726,253,3.427,254,1.697,276,1.033,288,1.581,308,1.033,313,0.701,333,1.825,363,2.001,378,1.34,379,2.245,387,2.52,390,0.907,398,1.127,427,0.875,440,0.549,483,2.472,541,1.167,546,0.352,554,1.165,556,3.313,557,2.937,560,1.008,561,2.072,611,0.86,644,0.554,645,0.554,646,2.473,647,0.554,648,0.554,649,0.554,650,0.554,651,0.554,652,0.554,654,0.925,662,2.308,672,0.775,677,0.943,700,1.214,704,1.674,706,1.214,732,1.357,735,1.756,761,1.709,780,1.033,793,2.697,794,2.304,796,3.586,800,1.88,820,1.008,822,2.17,826,1.008,827,1.27,828,1.27,831,2.072,838,1.061,841,3.462,881,1.127,888,1.033,918,1.782,922,0.925,933,0.846,950,1.375,961,1.641,963,0.624,975,2.793,998,1.34,1012,2.614,1021,0.833,1028,1.127,1031,4.48,1044,1.88,1085,1.747,1090,0.925,1133,1.883,1199,1.34,1218,1.27,1348,1.34,1349,1.577,1350,1.577,1351,1.167,1352,2.154,1353,1.577,1354,1.434,1355,1.27,1356,1.577,1357,5.229,1358,1.577,1359,1.434,1360,1.214,1361,4.567,1362,3.772,1363,7.643,1364,4.567,1365,2.798,1366,4.567,1367,2.798,1368,1.577,1369,1.577,1370,1.577,1371,1.577,1372,4.627,1373,3.871,1374,4.756,1375,6.265,1376,1.577,1377,1.577,1378,1.577,1379,1.577,1380,1.577,1381,1.577,1382,3.431,1383,1.577,1384,3.431,1385,2.798,1386,1.434,1387,1.34,1388,1.092,1389,1.434,1390,1.577,1391,1.577,1392,1.434,1393,1.577,1394,1.577,1395,1.577,1396,1.577,1397,1.34,1398,1.577,1399,1.577,1400,1.577,1401,1.577,1402,1.577,1403,1.577,1404,1.577,1405,1.577,1406,1.577,1407,1.577,1408,1.577,1409,1.577,1410,1.577,1411,1.577,1412,1.577,1413,1.434,1414,1.27,1415,1.214]],["component/14",[164,0.59]],["title/15-1",[6,22.221,150,17.007,841,35.565]],["name/15-1",[]],["text/15-1",[]],["component/15-1",[]],["title/15-2",[537,25.191,657,26.653]],["name/15-2",[]],["text/15-2",[]],["component/15-2",[]],["title/15-3",[546,15.183,549,21.987]],["name/15-3",[]],["text/15-3",[]],["component/15-3",[]],["title/15",[6,17.75,16,12.127,17,9.995,18,5.712,117,19.17]],["name/15",[6,0.787,18,0.253,82,1.113]],["text/15",[1,2.899,4,0.608,6,4.146,14,1.964,15,1.142,16,0.625,17,0.515,18,1.175,27,4.817,31,2.097,32,2.196,34,1.543,53,3.452,55,0.824,57,3.202,63,3.391,67,2.258,68,1.101,76,0.932,85,3.235,90,3.527,93,0.968,103,0.959,112,1.464,114,1.187,117,4.045,118,3.109,119,1.495,120,1.604,121,1.565,129,0.968,145,2.554,150,2.354,168,1.798,174,1.156,191,4.404,209,1.383,211,2.353,219,1.75,223,1.064,235,0.906,241,3.416,245,1.604,254,1.84,259,2.68,282,1.696,333,2.459,341,2.066,348,1.255,387,2.791,398,1.75,407,1.604,427,3.799,440,0.852,511,1.464,546,0.546,556,3.924,557,1.798,575,4.013,583,2.624,605,2.27,634,1.696,644,0.86,645,0.86,646,1.436,647,0.86,648,0.86,649,0.86,650,0.86,651,0.86,652,0.86,670,1.696,672,4.202,711,1.336,717,3.027,727,1.812,731,1.203,735,0.941,743,4.399,796,2.196,822,1.408,826,2.614,829,4.956,841,4.425,963,0.968,975,5.067,994,6.629,997,4.055,998,6.995,1027,1.03,1029,4.242,1037,1.565,1065,1.604,1077,3.294,1143,1.696,1146,3.719,1225,1.884,1388,1.696,1416,2.08,1417,4.791,1418,3.027,1419,2.226,1420,5.267,1421,5.267,1422,6.153,1423,2.448,1424,6.153,1425,2.448,1426,2.448,1427,2.448,1428,4.089,1429,2.448,1430,1.971,1431,1.971,1432,2.226,1433,1.971,1434,2.448]],["component/15",[164,0.59]],["title/16-1",[117,23.998,118,30.043,150,17.007]],["name/16-1",[]],["text/16-1",[]],["component/16-1",[]],["title/16-2",[537,25.191,657,26.653]],["name/16-2",[]],["text/16-2",[]],["component/16-2",[]],["title/16-3",[546,15.183,549,21.987]],["name/16-3",[]],["text/16-3",[]],["component/16-3",[]],["title/16",[16,12.127,17,9.995,18,5.712,117,19.17,118,23.998]],["name/16",[33,1.399,118,1.438]],["text/16",[1,0.747,4,1.608,6,3.181,14,2.07,16,0.844,17,1.548,18,1.268,21,0.762,23,1.786,27,5.783,31,3.77,32,1.775,34,1.247,36,1.191,40,1.284,44,0.901,49,2.389,51,0.89,55,0.642,61,0.82,63,2.434,65,1.058,67,2.168,68,1.488,80,2.724,82,1.747,84,1.086,88,1.978,90,1.321,93,0.755,98,0.778,99,2.273,103,0.747,117,3.436,118,4.805,119,3.609,120,3.872,121,4.138,136,3.609,150,2.549,155,1.077,162,1.191,168,1.924,174,1.562,180,0.811,181,2.114,191,3.974,192,3.098,194,1.902,209,2.95,211,1.097,218,0.713,223,0.829,235,2.188,239,1.625,247,0.858,278,1.097,288,1.077,308,1.25,326,1.468,333,0.762,338,0.802,349,2.429,379,1.625,387,2.621,427,1.835,440,0.664,511,1.141,525,2.473,526,0.868,535,2.869,542,1.191,546,0.426,556,3.878,605,1.058,611,5.255,623,1.412,634,4.093,644,0.67,645,0.67,646,1.537,647,0.67,648,0.67,649,0.67,650,0.67,651,0.67,652,0.67,653,2.389,662,0.964,672,3.415,677,3.872,692,1.321,697,1.363,705,1.25,707,1.775,712,1.536,723,3.724,725,1.024,735,1.682,744,1.284,784,1.041,796,1.775,811,2.545,817,1.141,820,1.219,822,3.005,824,3.464,831,3.24,841,1.141,846,1.165,884,1.141,895,1.536,918,1.562,950,2.151,951,1.219,958,2.35,961,1.118,962,1.118,963,1.308,967,2.545,969,4.224,975,2.448,983,1.321,997,1.468,1000,2.81,1001,1.621,1012,6.043,1013,1.902,1021,1.747,1027,1.391,1044,0.95,1066,1.734,1086,2.81,1139,0.925,1140,1.141,1143,6.174,1216,1.412,1255,1.734,1296,2.448,1317,1.536,1389,1.734,1397,2.81,1430,2.663,1431,1.536,1432,1.734,1435,1.907,1436,1.734,1437,1.734,1438,1.621,1439,1.734,1440,1.734,1441,1.621,1442,1.621,1443,1.412,1444,1.907,1445,1.363,1446,1.25,1447,3.306,1448,1.907,1449,1.412,1450,1.907,1451,1.907,1452,1.907,1453,1.907,1454,1.907,1455,1.907,1456,1.734,1457,1.734,1458,1.734,1459,1.734,1460,1.734,1461,1.907,1462,1.621,1463,1.468,1464,1.907,1465,1.734,1466,1.907,1467,1.907,1468,1.907,1469,1.907,1470,1.907,1471,3.306,1472,1.907,1473,1.907,1474,1.907,1475,1.907]],["component/16",[164,0.59]],["title/17-1",[109,24.751,118,30.043,150,17.007]],["name/17-1",[]],["text/17-1",[]],["component/17-1",[]],["title/17-2",[84,19.53,138,27.068,1208,54.074]],["name/17-2",[]],["text/17-2",[]],["component/17-2",[]],["title/17-3",[537,25.191,657,26.653]],["name/17-3",[]],["text/17-3",[]],["component/17-3",[]],["title/17-4",[546,15.183,549,21.987]],["name/17-4",[]],["text/17-4",[]],["component/17-4",[]],["title/17",[16,12.127,17,9.995,18,5.712,109,19.771,118,23.998]],["name/17",[33,1.035,109,0.877,118,1.064]],["text/17",[1,0.711,4,2.26,6,3.763,11,1.085,14,1.96,16,0.808,17,1.584,18,1.299,23,1.579,27,5.405,31,2.586,32,1.699,34,1.194,36,1.976,47,2.8,49,1.727,55,0.61,61,0.78,63,2.358,67,2.483,68,1.424,71,0.717,72,0.958,76,1.603,82,1.672,84,1.657,87,0.891,90,1.265,98,0.739,99,2.01,103,0.711,109,3.647,112,1.085,113,0.846,114,1.534,115,0.944,117,3.536,118,5.476,121,4.021,136,3.842,137,2.297,138,3.568,150,2.451,154,2.469,155,1.024,162,1.132,168,1.391,174,1.495,180,0.771,181,1.159,191,3.57,192,2.414,194,1.821,198,2.775,202,0.891,209,2.379,211,1.043,217,0.916,218,1.885,224,1.296,235,1.559,239,1.555,241,1.006,242,0.974,247,1.424,263,2.422,264,1.396,275,0.93,278,1.043,288,1.024,306,2.971,333,0.725,338,1.331,341,0.916,379,0.891,387,1.903,422,1.22,427,1.757,440,0.631,445,0.816,490,1.132,513,1.22,514,1.541,525,1.788,526,0.826,534,1.976,542,1.132,546,0.405,556,2.926,585,1.188,588,1.396,601,1.063,605,1.006,607,1.534,611,5.245,623,1.342,634,2.192,644,0.637,645,0.637,646,1.479,647,1.111,648,0.637,649,0.637,650,0.637,651,0.637,652,0.637,653,0.99,662,0.916,672,3.7,674,1.132,677,3.762,692,1.256,694,1.342,697,1.296,707,2.261,723,1.821,735,1.618,741,1.159,742,2.192,743,3.606,744,1.22,776,1.006,784,1.727,796,0.974,811,2.436,817,1.085,820,1.159,822,2.902,826,1.159,855,1.296,948,1.188,950,2.069,951,1.159,958,1.699,960,1.22,961,1.063,962,1.063,963,1.252,966,1.541,967,3.242,969,1.296,974,1.541,975,1.342,997,1.396,1012,4.688,1013,1.821,1021,2.225,1027,2.122,1036,1.159,1044,1.577,1086,2.69,1123,1.541,1139,0.879,1140,1.085,1143,3.495,1234,5.45,1316,1.296,1317,1.46,1354,1.649,1397,1.541,1430,2.549,1433,1.46,1436,1.649,1437,1.649,1438,1.541,1439,1.649,1440,1.649,1441,1.541,1446,1.188,1456,1.649,1457,1.649,1458,1.649,1459,1.649,1460,1.649,1462,1.541,1465,1.649,1476,1.541,1477,2.878,1478,1.813,1479,1.813,1480,1.813,1481,1.813,1482,1.813,1483,1.541,1484,1.813,1485,1.813,1486,1.46,1487,1.813,1488,1.813,1489,3.165,1490,1.813,1491,1.813,1492,1.813,1493,1.813,1494,1.813,1495,1.813,1496,1.813,1497,1.813,1498,1.813]],["component/17",[164,0.59]],["title/18-1",[117,32.079]],["name/18-1",[]],["text/18-1",[]],["component/18-1",[]],["title/18-2",[76,30.261]],["name/18-2",[]],["text/18-2",[]],["component/18-2",[]],["title/18-3",[6,29.703]],["name/18-3",[]],["text/18-3",[]],["component/18-3",[]],["title/18-4",[17,12.512,18,7.15,80,25.014]],["name/18-4",[]],["text/18-4",[]],["component/18-4",[]],["title/18-5",[78,41.997]],["name/18-5",[]],["text/18-5",[]],["component/18-5",[]],["title/18-6",[81,34.874,82,35.945]],["name/18-6",[]],["text/18-6",[]],["component/18-6",[]],["title/18-7",[1499,64.008]],["name/18-7",[]],["text/18-7",[]],["component/18-7",[]],["title/18-8",[95,42.667]],["name/18-8",[]],["text/18-8",[]],["component/18-8",[]],["title/18-9",[1500,67.545]],["name/18-9",[]],["text/18-9",[]],["component/18-9",[]],["title/18-10",[1034,67.545]],["name/18-10",[]],["text/18-10",[]],["component/18-10",[]],["title/18-11",[1501,53.492]],["name/18-11",[]],["text/18-11",[]],["component/18-11",[]],["title/18-12",[537,25.191,657,26.653]],["name/18-12",[]],["text/18-12",[]],["component/18-12",[]],["title/18-13",[546,15.183,549,21.987]],["name/18-13",[]],["text/18-13",[]],["component/18-13",[]],["title/18",[17,11.113,18,6.351,70,31.587,71,20.894]],["name/18",[13,0.596,17,0.292,18,0.167,70,0.829,71,0.548]],["text/18",[0,1.052,1,1.611,3,0.657,4,1.653,5,0.876,6,3.166,11,1.052,13,4.226,14,2.168,15,1.437,16,2.532,17,2.27,18,1.37,22,1.152,31,1.579,33,0.864,34,2.511,36,1.098,38,2.802,39,1.535,40,3.778,43,1.603,55,1.037,56,2.525,57,0.915,58,2.28,63,1.269,67,2.06,68,0.791,70,1.052,71,3.564,72,4.476,73,1.218,76,3.486,77,2.895,78,4.231,79,3.739,80,3.122,81,3.167,82,3.264,83,3.778,84,1.012,85,2.312,87,2.02,90,2.966,93,1.627,95,3.793,99,1.082,114,0.852,117,4.035,118,2.077,121,3.588,146,0.876,149,1.218,150,1.606,169,4.148,180,1.31,185,1.494,191,1.173,192,0.841,209,0.993,223,1.787,245,2.019,254,0.791,258,3.778,259,1.152,272,4.119,276,2.019,288,2.322,301,2.048,313,0.782,333,1.973,341,0.888,346,1.302,365,0.841,375,0.976,387,0.663,418,2.481,440,0.612,525,0.993,535,1.152,546,0.392,550,3.829,554,0.732,555,1.843,556,1.676,575,1.806,583,0.876,644,0.617,645,0.617,646,2.606,647,0.617,648,0.617,649,0.617,650,0.617,651,0.617,652,0.617,657,0.689,658,1.354,659,1.599,662,0.888,684,1.416,704,1.843,711,0.959,716,2.411,732,1.494,735,2.558,776,1.71,794,1.074,800,0.876,831,1.302,841,1.843,853,2.481,906,1.969,918,0.831,924,1.924,946,0.901,953,1.494,963,2.221,968,1.354,994,3.311,1021,0.929,1024,2.628,1025,5.657,1026,2.802,1027,1.73,1031,2.202,1034,3.494,1071,1.416,1090,1.031,1099,1.416,1107,1.599,1137,1.354,1149,2.618,1156,2.481,1351,1.302,1359,1.599,1415,2.371,1433,1.416,1442,1.494,1443,1.302,1476,1.494,1499,3.976,1500,4.196,1501,3.323,1502,4.936,1503,2.371,1504,1.758,1505,1.758,1506,1.758,1507,2.481,1508,3.08,1509,1.758,1510,1.758,1511,1.758,1512,1.257,1513,1.599,1514,1.416,1515,1.416]],["component/18",[164,0.59]],["title/19-1",[69,25.659,1516,61.865]],["name/19-1",[]],["text/19-1",[]],["component/19-1",[]],["title/19-2",[18,8.181,55,22.9]],["name/19-2",[]],["text/19-2",[]],["component/19-2",[]],["title/19-3",[18,7.15,21,23.759,23,16.402]],["name/19-3",[]],["text/19-3",[]],["component/19-3",[]],["title/19-4",[18,7.15,23,16.402,59,22.427]],["name/19-4",[]],["text/19-4",[]],["component/19-4",[]],["title/19-5",[8,25.014,18,7.15,23,16.402]],["name/19-5",[]],["text/19-5",[]],["component/19-5",[]],["title/19-6",[537,25.191,657,26.653]],["name/19-6",[]],["text/19-6",[]],["component/19-6",[]],["title/19-7",[546,15.183,549,21.987]],["name/19-7",[]],["text/19-7",[]],["component/19-7",[]],["title/19",[4,13.119,18,6.351,55,17.777,68,23.757]],["name/19",[4,0.415,18,0.201,55,0.563,68,0.752]],["text/19",[0,0.946,1,1.794,3,0.834,4,0.554,5,0.421,7,0.625,8,0.938,13,1.206,14,1.805,16,1.756,17,1.755,18,1.291,20,0.585,21,1.511,23,2.074,25,1.161,27,0.461,34,1.584,35,3.524,39,2.281,44,0.399,46,0.553,47,0.469,50,0.712,51,1.04,55,2.252,58,2.077,59,2.187,61,0.68,66,0.56,67,1.807,68,0.38,69,2.368,70,0.946,71,0.626,73,1.096,77,0.495,80,2.327,84,0.277,85,0.348,88,0.505,90,0.337,93,1.496,94,0.421,96,0.427,97,1.682,98,1.144,99,2.994,100,1.283,101,0.927,102,1.362,103,2.272,104,3.365,109,1.574,113,1.309,117,2.62,119,3.007,128,0.604,129,0.882,132,0.461,137,1.277,138,1.015,143,0.527,146,0.421,150,1.857,153,0.988,154,0.495,155,0.477,156,0.477,158,0.486,168,0.695,169,1.067,174,0.747,177,0.604,191,3.999,192,1.343,196,0.427,198,0.409,200,0.404,202,0.777,218,1.049,223,0.367,225,4.64,227,0.65,234,0.927,235,0.826,239,2.063,247,1.494,254,0.38,261,0.893,265,0.585,275,0.811,278,0.486,301,0.788,302,1.26,313,0.703,315,2.009,317,0.68,338,0.665,348,2.153,359,1.171,360,1.794,365,1.067,366,4.487,377,1.344,379,0.777,384,0.68,387,1.584,403,1.218,411,3.218,424,1.283,434,0.54,440,0.294,445,0.38,467,1.438,483,5.645,486,0.625,511,0.946,525,3.885,526,1.015,531,0.495,532,1.011,536,1.796,537,1.039,546,0.189,547,0.409,551,0.568,554,1.382,555,0.505,556,1.354,557,1.459,561,0.625,583,0.788,592,3.214,607,1.61,633,0.568,634,1.096,644,0.297,645,0.297,646,1.328,647,0.297,648,0.297,649,0.297,650,0.297,651,0.297,652,0.297,653,0.461,654,0.927,664,0.505,669,5.94,688,1.011,713,1.418,716,0.495,731,1.631,735,1.454,744,1.064,759,0.585,762,1.036,771,1.283,784,1.812,790,1.501,793,0.604,794,0.516,800,0.421,805,0.927,811,1.218,822,0.91,824,1.645,906,4.712,912,0.486,918,0.747,933,1.197,946,0.811,948,0.553,950,0.415,951,0.54,958,0.453,961,0.927,962,0.495,963,0.334,995,1.171,1027,0.665,1036,5.267,1044,0.421,1072,0.91,1088,0.477,1133,0.568,1136,0.505,1138,1.568,1139,0.409,1140,0.505,1151,0.394,1154,0.585,1155,0.946,1156,0.68,1166,0.966,1168,1.011,1175,1.274,1176,0.927,1178,0.91,1201,0.768,1213,4.348,1225,1.218,1253,0.768,1266,2.362,1269,1.545,1292,0.68,1372,0.585,1388,1.096,1414,1.274,1507,1.274,1516,2.028,1517,7.297,1518,0.65,1519,0.68,1520,1.581,1521,6.046,1522,0.625,1523,0.844,1524,0.718,1525,0.844,1526,0.604,1527,0.718,1528,1.462,1529,1.462,1530,0.527,1531,0.844,1532,1.581,1533,3.439,1534,0.844,1535,0.844,1536,1.944,1537,1.438,1538,0.844,1539,0.844,1540,0.844,1541,0.844,1542,0.844,1543,0.844,1544,0.844,1545,0.844,1546,1.581,1547,0.68,1548,0.844,1549,2.028,1550,0.68,1551,0.768,1552,0.844,1553,0.844,1554,1.581,1555,2.806,1556,1.131,1557,2.028,1558,1.581,1559,0.844,1560,1.438,1561,0.505,1562,0.718,1563,0.625,1564,0.844,1565,0.844,1566,0.844,1567,0.844,1568,0.844,1569,5.274,1570,2.552,1571,1.438,1572,1.438,1573,1.438,1574,5.055,1575,1.581,1576,1.581,1577,8.613,1578,8.613,1579,0.844,1580,0.768,1581,0.844,1582,1.344,1583,0.768,1584,0.844,1585,1.581,1586,1.438,1587,0.718,1588,1.438,1589,2.028,1590,1.274,1591,2.028,1592,0.844,1593,6.49,1594,4.254,1595,6.49,1596,6.49,1597,0.844,1598,2.23,1599,0.844,1600,2.23,1601,1.438,1602,0.844,1603,0.844,1604,0.844,1605,0.844,1606,0.768,1607,0.768,1608,0.844,1609,0.844,1610,0.844,1611,0.844,1612,0.844,1613,0.844,1614,0.844,1615,1.096,1616,0.844,1617,2.23,1618,1.581,1619,0.844,1620,0.844,1621,0.844,1622,0.844,1623,0.844,1624,0.844,1625,0.844,1626,0.844,1627,3.32,1628,0.844,1629,0.625,1630,0.844,1631,0.844,1632,0.844,1633,0.844,1634,1.581,1635,1.581,1636,0.844,1637,0.844,1638,0.844,1639,0.844,1640,0.844,1641,0.844,1642,0.844,1643,0.844,1644,0.844,1645,0.844,1646,0.844,1647,1.581,1648,0.718,1649,0.844,1650,0.718,1651,1.581,1652,1.581,1653,0.844,1654,0.844,1655,0.844,1656,0.718,1657,1.131,1658,1.581,1659,1.581,1660,1.581,1661,1.581,1662,1.581,1663,1.581,1664,1.581,1665,1.581,1666,0.625,1667,0.768,1668,0.768,1669,0.604]],["component/19",[164,0.59]],["title/20-1",[546,15.183,549,21.987]],["name/20-1",[]],["text/20-1",[]],["component/20-1",[]],["title/20",[0,25.812,3,16.127,16,11.018,17,9.081,18,5.19,73,29.894]],["name/20",[0,1.26,3,0.787,73,1.459]],["text/20",[1,2.235,3,3.586,14,2.231,16,2.278,17,2.279,18,1.35,23,1.573,48,5.187,59,2.151,63,2.349,65,3.165,67,2.093,69,2.151,70,4.676,71,3.093,74,4.222,75,4.847,96,2.882,98,3.637,99,2.003,100,3.281,101,3.344,102,3.483,103,2.235,104,2.507,105,2.924,106,2.882,115,2.968,150,1.631,218,2.922,315,2.729,333,2.279,348,4.008,440,1.986,445,3.517,524,4.593,526,2.596,532,3.645,546,1.273,644,2.003,645,2.003,646,2.003,647,2.003,648,2.003,649,2.003,650,2.003,651,2.003,652,2.003,835,3.281,884,3.411,1139,3.79,1274,3.645,1526,4.077,1527,4.847,1530,4.882,1670,5.702,1671,4.077,1672,4.077,1673,5.123,1674,4.847]],["component/20",[164,0.59]],["title/21",[]],["name/21",[12,0.916,152,1.347,1675,2.106]],["text/21",[]],["component/21",[164,0.59]],["title/22-1",[16,11.018,17,9.081,18,5.19,99,15.153,152,27.584,571,18.97]],["name/22-1",[]],["text/22-1",[]],["component/22-1",[]],["title/22-2",[16,11.018,17,9.081,18,5.19,55,14.527,152,27.584,153,26.947]],["name/22-2",[]],["text/22-2",[]],["component/22-2",[]],["title/22-3",[18,5.19,76,16.43,93,17.074,152,27.584,219,30.85,1676,39.245]],["name/22-3",[]],["text/22-3",[]],["component/22-3",[]],["title/22-4",[69,25.659,150,19.458]],["name/22-4",[]],["text/22-4",[]],["component/22-4",[]],["title/22-5",[537,25.191,657,26.653]],["name/22-5",[]],["text/22-5",[]],["component/22-5",[]],["title/22-6",[546,15.183,549,21.987]],["name/22-6",[]],["text/22-6",[]],["component/22-6",[]],["title/22",[12,25.846,152,38.006,153,37.128]],["name/22",[12,0.916,152,1.347,153,1.315]],["text/22",[4,0.96,12,1.68,13,0.983,14,1.648,15,1.067,16,2.042,17,1.504,18,1.261,23,1.066,32,2.693,34,0.863,41,1.635,47,1.27,50,1.738,55,2.217,56,1.738,57,1.19,67,0.84,68,1.029,69,3.016,76,3.17,77,2.941,78,2.65,80,0.962,87,2.897,90,3.327,91,3.966,93,1.985,94,2.937,96,1.156,99,2.313,113,2.75,117,2.025,119,1.397,129,2.332,150,2.176,152,6.704,153,6.154,156,2.833,158,1.316,168,1.006,169,1.095,180,2.507,191,4.17,192,2.4,196,1.952,200,1.849,209,2.183,211,2.886,218,1.444,219,1.635,235,1.857,238,1.944,239,3.512,241,1.27,242,1.228,253,2.532,313,2.621,349,2.784,356,1.693,365,2.821,374,1.842,387,2.223,411,1.27,420,1.842,427,2.145,437,1.316,440,0.796,451,1.54,476,4.562,490,3.132,513,1.54,525,1.292,529,3.115,541,1.693,542,2.413,546,0.511,554,2.454,555,1.368,556,2.045,571,2.205,583,1.14,591,1.944,605,1.27,607,2.858,644,0.803,645,0.803,646,1.357,647,0.803,648,0.803,649,0.803,650,0.803,651,0.803,652,0.803,653,2.109,654,3.456,664,2.311,672,2.465,674,1.429,677,2.311,691,1.761,701,2.081,702,1.944,705,1.499,711,1.248,715,2.86,719,2.081,723,1.316,725,2.693,727,1.693,732,1.109,734,2.081,735,0.879,738,5.99,741,1.462,742,4.951,751,2.081,752,1.944,754,1.944,755,1.944,756,2.081,757,1.944,780,3.287,784,1.248,822,1.316,823,1.944,855,1.635,889,1.944,917,1.842,920,4.083,922,1.341,946,1.981,950,1.124,974,1.944,1014,2.109,1015,1.368,1031,2.762,1037,1.462,1071,1.842,1138,2.369,1139,1.109,1151,1.802,1155,1.368,1232,2.081,1360,1.761,1676,2.081,1677,1.585,1678,2.287,1679,1.944,1680,2.287,1681,2.287,1682,2.287,1683,2.287,1684,2.36,1685,2.287,1686,2.287,1687,3.864,1688,3.864,1689,3.864,1690,1.585,1691,3.864,1692,3.864,1693,2.287,1694,2.287,1695,2.287,1696,2.081,1697,1.944,1698,1.693,1699,2.287,1700,2.287,1701,2.287,1702,2.287,1703,2.287,1704,2.287]],["component/22",[164,0.59]],["title/23-1",[27,37.122,198,32.981]],["name/23-1",[]],["text/23-1",[]],["component/23-1",[]],["title/23-2",[537,25.191,657,26.653]],["name/23-2",[]],["text/23-2",[]],["component/23-2",[]],["title/23-3",[546,15.183,549,21.987]],["name/23-3",[]],["text/23-3",[]],["component/23-3",[]],["title/23",[4,10.72,16,11.018,17,9.081,18,5.19,103,16.908,154,25.303]],["name/23",[56,0.948,76,0.802,103,0.825]],["text/23",[3,0.965,4,2.461,13,1.11,14,1.591,16,2.407,17,2.055,18,1.273,21,2.186,23,1.944,27,2.985,30,2.669,34,3.173,44,1.219,47,1.432,50,1.161,55,0.869,56,4.241,59,0.973,61,1.11,66,2.98,67,2.007,69,2.399,76,3.939,82,1.364,87,1.268,97,3.378,98,1.052,99,2.824,102,1.576,103,4.175,104,3.535,117,1.042,129,2.516,137,1.946,146,1.286,148,2.352,150,0.738,154,3.207,161,1.485,169,1.235,180,1.817,191,3.903,192,1.235,196,1.304,202,1.268,235,0.956,239,2.1,241,2.372,242,1.386,252,1.544,254,1.161,268,1.513,275,2.191,287,1.304,306,2.019,313,2.828,315,2.617,365,3.043,387,3.291,424,2.459,434,1.65,440,0.899,531,3.207,543,1.432,546,0.576,551,2.876,554,3.162,556,1.743,571,1.135,583,1.286,605,1.432,644,0.906,645,0.906,646,2.954,647,0.906,648,0.906,649,0.906,650,0.906,651,0.906,652,0.906,672,2.1,674,1.612,677,3.272,711,1.408,713,1.304,731,1.268,732,1.251,735,3.457,762,1.691,763,1.65,764,1.845,765,1.691,766,2.347,767,2.347,768,1.91,769,2.347,770,1.737,771,2.459,772,2.347,774,2.079,780,1.691,785,1.65,860,1.91,962,1.513,963,1.691,1015,1.544,1027,2.301,1037,1.65,1045,1.788,1072,1.485,1076,1.691,1136,1.544,1138,2.019,1151,1.204,1176,1.513,1178,2.459,1179,1.544,1274,2.732,1275,1.691,1684,2.611,1690,1.788,1705,2.347,1706,1.845,1707,2.581,1708,2.581,1709,2.079,1710,2.581,1711,2.581,1712,2.581,1713,2.581,1714,2.581,1715,2.581,1716,2.581,1717,2.581,1718,2.581]],["component/23",[164,0.59]],["title/24-1",[16,12.127,17,9.995,18,5.712,158,27.323,571,20.879]],["name/24-1",[]],["text/24-1",[]],["component/24-1",[]],["title/24-2",[16,12.127,17,9.995,18,5.712,158,27.323,1197,43.193]],["name/24-2",[]],["text/24-2",[]],["component/24-2",[]],["title/24-3",[31,30.482,158,34.205,257,30.043]],["name/24-3",[]],["text/24-3",[]],["component/24-3",[]],["title/24-4",[31,30.482,158,34.205,159,44.013]],["name/24-4",[]],["text/24-4",[]],["component/24-4",[]],["title/24-5",[16,12.127,17,9.995,18,5.712,150,13.585,158,27.323]],["name/24-5",[]],["text/24-5",[]],["component/24-5",[]],["title/24-6",[546,15.183,549,21.987]],["name/24-6",[]],["text/24-6",[]],["component/24-6",[]],["title/24",[18,5.712,61,20.418,157,30.359,158,27.323,159,35.157]],["name/24",[157,1.347,158,1.212,159,1.559]],["text/24",[0,1.284,1,1.435,3,1.789,4,1.931,14,1.415,16,2.145,17,2.013,18,1.323,23,2.318,31,3.543,34,2.932,46,1.407,50,1.647,52,2.287,55,2.137,57,1.117,59,2.134,63,0.885,67,2.076,68,0.966,69,2.607,71,0.85,84,2.553,87,1.055,93,1.894,97,2.129,98,0.876,99,2.427,108,2.612,113,2.233,114,1.775,129,1.449,137,0.978,138,0.978,148,1.574,150,1.816,157,2.341,158,6.104,159,7.553,180,2.405,191,1.394,192,1.752,194,1.235,195,1.825,196,1.85,198,1.041,199,3.06,200,1.027,217,1.085,218,1.368,221,2.19,228,1.59,235,2.095,247,2.154,257,3.928,271,2.612,304,7.555,311,1.085,315,1.027,335,1.59,338,0.903,341,1.085,379,3.119,387,1.806,401,1.341,407,1.407,418,1.729,434,5.534,440,0.748,518,1.284,528,1.341,546,0.479,556,0.876,557,1.61,571,3.904,610,1.535,612,2.807,624,3.112,642,4.788,644,0.754,645,0.754,646,2.848,647,0.754,648,0.754,649,0.754,650,0.754,651,0.754,652,0.754,655,1.259,662,1.085,703,1.312,707,1.966,725,1.153,731,1.799,735,2.988,809,1.445,841,1.284,918,1.014,931,1.825,958,1.966,963,0.85,1014,1.998,1015,1.284,1021,1.135,1027,2.014,1030,1.284,1065,1.407,1133,1.445,1138,2.672,1151,2.233,1153,1.445,1242,2.711,1276,1.407,1284,1.535,1288,1.445,1316,1.535,1372,3.316,1526,3.422,1536,3.316,1677,1.488,1690,1.488,1719,2.147,1720,1.825,1721,5.144,1722,3.661,1723,2.147,1724,2.147,1725,2.147,1726,2.147,1727,1.653,1728,1.445,1729,1.953,1730,2.147,1731,1.825,1732,6.347,1733,1.653,1734,3.661,1735,2.147,1736,2.147,1737,2.147,1738,3.661,1739,1.953,1740,2.147,1741,1.535,1742,1.953,1743,5.773,1744,1.953,1745,1.953,1746,1.953,1747,1.729,1748,1.953,1749,1.953,1750,1.825,1751,2.147,1752,1.953,1753,2.147,1754,4.787,1755,4.787,1756,2.147,1757,2.147,1758,2.147,1759,2.147,1760,2.147,1761,2.147,1762,1.445]],["component/24",[164,0.59]],["title/25-1",[18,8.181,108,37.122]],["name/25-1",[]],["text/25-1",[]],["component/25-1",[]],["title/25-2",[14,13.208,21,21.101,108,28.817,158,30.379]],["name/25-2",[]],["text/25-2",[]],["component/25-2",[]],["title/25-3",[14,11.88,20,32.901,21,18.979,80,19.981,108,25.918]],["name/25-3",[]],["text/25-3",[]],["component/25-3",[]],["title/25-4",[537,25.191,657,26.653]],["name/25-4",[]],["text/25-4",[]],["component/25-4",[]],["title/25-5",[546,15.183,549,21.987]],["name/25-5",[]],["text/25-5",[]],["component/25-5",[]],["title/25",[18,6.351,80,22.216,108,28.817,155,29.829]],["name/25",[17,0.352,80,0.703,108,0.912,156,0.945]],["text/25",[1,2.374,4,1.403,8,0.556,12,0.574,13,1.027,14,2.219,16,0.337,18,1.218,20,4.451,21,1.601,23,1.105,31,1.676,34,1.748,39,1.996,43,2.085,46,0.866,49,0.721,50,1.075,52,0.825,53,0.581,55,2.54,56,0.594,59,1.748,63,0.544,67,2.072,68,1.471,71,1.585,76,1.971,78,2.984,80,3.68,81,2.653,93,0.523,94,2.309,99,0.839,108,4.445,113,0.616,117,2.725,129,0.945,150,2.278,155,2.263,158,5.542,159,3.831,174,1.893,182,0.79,191,4.158,192,4.186,196,1.207,200,0.632,217,0.668,218,1.497,219,0.945,223,1.038,234,0.775,235,0.885,239,0.649,254,0.594,268,0.775,278,1.374,287,1.207,288,0.746,304,3.085,306,2.667,313,0.588,333,2.421,335,5.586,338,0.556,341,1.207,348,1.225,365,0.632,379,1.174,387,1.233,437,0.76,440,0.46,483,1.565,486,0.978,490,3.232,526,0.602,546,0.295,547,1.158,550,2.305,554,1.361,556,3.666,557,3.096,567,3.8,571,1.05,580,0.845,583,1.996,594,1.459,607,1.943,609,0.845,642,6.441,644,0.839,645,0.464,646,1.983,647,0.464,648,0.464,649,0.464,650,0.464,651,0.464,652,0.464,653,0.721,662,1.207,688,0.845,712,1.924,716,3.035,718,3.644,723,2.666,731,1.606,732,0.641,735,1.781,771,0.76,784,2.824,796,4.373,820,0.845,824,0.775,846,1.459,881,0.945,888,1.565,918,0.624,920,3.911,922,2.718,931,2.03,946,0.677,958,1.755,963,0.945,1013,1.374,1014,1.303,1015,0.79,1027,1.005,1044,1.996,1138,1.128,1151,1.114,1166,2.447,1225,3.568,1316,0.945,1382,2.172,1445,0.945,1507,5.175,1526,0.945,1530,0.825,1589,1.459,1677,0.915,1684,0.807,1721,1.202,1733,1.017,1743,2.172,1744,2.172,1745,2.172,1746,2.172,1747,1.924,1748,4.215,1749,4.215,1752,1.202,1763,1.321,1764,1.321,1765,0.945,1766,1.321,1767,1.321,1768,1.321,1769,0.866,1770,1.321,1771,3.268,1772,6.751,1773,2.388,1774,2.388,1775,2.388,1776,2.388,1777,2.388,1778,4.006,1779,2.388,1780,2.388,1781,2.388,1782,4.006,1783,2.388,1784,1.88,1785,5.175,1786,4.006,1787,6.059,1788,1.321,1789,6.598,1790,1.321,1791,4.006,1792,4.006,1793,4.634,1794,4.006,1795,4.006,1796,4.006,1797,3.644,1798,4.006,1799,4.006,1800,4.006,1801,4.634,1802,4.006,1803,1.321,1804,1.321,1805,5.135,1806,1.321,1807,1.321,1808,1.321,1809,1.839,1810,2.388,1811,5.175,1812,1.321,1813,1.321,1814,1.321,1815,1.321,1816,1.839,1817,2.388,1818,2.388,1819,1.321,1820,2.388,1821,1.321]],["component/25",[164,0.59]],["title/26",[]],["name/26",[80,1.197,826,1.819]],["text/26",[]],["component/26",[164,0.59]],["title/27-1",[10,30.379,84,17.345,86,42.528,87,25.949]],["name/27-1",[]],["text/27-1",[]],["component/27-1",[]],["title/27-2",[537,25.191,657,26.653]],["name/27-2",[]],["text/27-2",[]],["component/27-2",[]],["title/27-3",[546,15.183,549,21.987]],["name/27-3",[]],["text/27-3",[]],["component/27-3",[]],["title/27",[4,11.799,14,11.88,18,5.712,59,17.915,132,25.918]],["name/27",[10,1.637,132,1.553]],["text/27",[4,0.905,6,0.797,8,0.898,10,5.492,12,0.927,13,1.566,14,2.311,16,2.065,17,1.449,18,1.252,19,1.276,23,2.029,25,1.11,34,1.797,44,1.008,45,1.642,46,1.398,50,0.96,51,2.627,53,3.028,55,2.129,57,1.895,59,2.125,61,0.917,63,2.605,66,0.756,67,2.321,68,0.96,69,3.161,75,1.813,80,2.66,82,1.127,84,1.565,85,3.453,86,1.718,87,1.048,89,3.303,93,0.844,97,2.505,99,3.245,114,2.31,117,0.861,118,2.407,129,3.2,132,4.945,137,0.971,142,3.691,143,5.234,144,1.642,146,1.814,147,2.451,150,1.97,156,2.057,161,1.227,162,1.332,168,2.476,169,1.021,174,1.008,191,1.387,192,2.28,194,1.227,196,2.407,200,1.021,218,3.312,223,1.583,253,3.691,254,1.638,263,1.227,276,1.398,301,4.881,302,1.205,308,1.398,315,1.021,333,1.455,338,1.532,349,2.021,379,4.355,387,0.805,390,2.095,407,1.398,411,2.021,437,1.227,440,0.743,518,1.276,525,1.205,534,1.332,546,0.476,550,2.095,551,1.436,552,1.94,554,0.888,556,0.87,557,0.938,559,1.94,561,5.988,566,1.94,568,1.813,569,1.94,570,1.94,571,3.234,572,3.312,573,3.095,574,1.718,575,1.251,576,3.312,577,2.603,580,1.364,611,1.987,640,2.803,644,1.279,645,0.749,646,2.419,647,0.749,648,0.749,649,0.749,650,0.749,651,0.749,652,0.749,660,1.718,661,1.525,662,1.078,670,3.3,704,1.276,735,2.165,776,2.021,794,1.303,796,1.145,800,1.063,809,2.451,817,3.783,824,1.251,825,1.813,922,1.251,950,1.048,951,1.364,958,1.145,963,1.441,983,1.478,1013,1.227,1014,1.164,1015,1.276,1027,2.37,1085,1.332,1090,1.251,1138,1.008,1139,1.034,1140,2.85,1143,2.523,1151,1.699,1198,1.579,1254,1.813,1266,2.274,1303,1.94,1316,2.603,1388,1.478,1417,1.94,1514,1.718,1518,3.668,1536,2.523,1594,2.386,1615,1.478,1650,3.095,1669,1.525,1822,2.696,1823,2.133,1824,1.94,1825,1.718,1826,2.133,1827,1.813,1828,2.133,1829,3.312,1830,3.312,1831,2.133,1832,2.133,1833,2.133,1834,1.813,1835,1.94,1836,1.94,1837,2.133,1838,3.641,1839,2.133,1840,2.133,1841,2.133,1842,1.718]],["component/27",[164,0.59]],["title/28-1",[142,52.084]],["name/28-1",[]],["text/28-1",[]],["component/28-1",[]],["title/28-2",[14,13.208,142,34.605,147,35.541,1843,39.09]],["name/28-2",[]],["text/28-2",[]],["component/28-2",[]],["title/28-3",[14,13.208,104,23.214,142,34.605,147,35.541]],["name/28-3",[]],["text/28-3",[]],["component/28-3",[]],["title/28-4",[53,26.138,207,45.772,518,35.565]],["name/28-4",[]],["text/28-4",[]],["component/28-4",[]],["title/28-5",[142,44.578,1844,54.785]],["name/28-5",[]],["text/28-5",[]],["component/28-5",[]],["title/28-6",[14,13.208,84,17.345,99,18.544,1844,42.528]],["name/28-6",[]],["text/28-6",[]],["component/28-6",[]],["title/28-7",[14,13.208,104,23.214,147,35.541,1844,42.528]],["name/28-7",[]],["text/28-7",[]],["component/28-7",[]],["title/28-8",[34,19.919,142,34.605,147,35.541,161,30.379]],["name/28-8",[]],["text/28-8",[]],["component/28-8",[]],["title/28-9",[546,15.183,549,21.987]],["name/28-9",[]],["text/28-9",[]],["component/28-9",[]],["title/28",[16,12.127,132,25.918,142,31.124,143,29.658,144,36.562]],["name/28",[132,1.15,142,1.38,147,1.418]],["text/28",[1,1.264,3,1.914,10,1.856,12,1.402,14,2.291,15,2.389,16,2.409,17,1.078,18,0.616,21,1.289,33,1.585,41,3.662,44,2.42,53,2.8,55,1.086,67,1.88,84,1.682,85,2.988,89,4.253,104,2.252,129,1.276,132,3.476,142,6.764,143,5.892,144,5.584,145,3.198,146,2.552,147,6.947,150,0.923,168,2.252,169,1.544,181,2.062,186,2.114,191,2.425,196,1.63,200,1.544,207,6.483,218,3.423,221,1.93,223,2.226,235,1.195,240,2.934,254,2.304,271,3.958,301,4.398,302,1.822,308,2.114,315,2.451,333,1.289,338,2.155,401,2.014,407,2.114,436,5.413,440,1.123,445,2.866,513,2.171,516,2.934,517,2.598,518,3.064,546,0.72,550,2.947,557,1.418,561,2.388,571,1.418,575,1.892,644,1.799,645,1.133,646,1.133,647,1.133,648,1.133,649,1.133,650,1.133,651,1.133,652,1.133,676,2.483,704,1.93,711,1.76,763,2.062,776,2.843,787,2.598,820,2.062,835,1.856,881,3.662,913,2.171,955,2.062,1008,2.742,1010,2.235,1021,1.705,1027,2.155,1098,2.388,1178,1.856,1179,1.93,1202,2.114,1203,2.934,1241,2.934,1246,2.934,1274,2.062,1276,2.114,1292,2.598,1530,2.014,1629,2.388,1733,2.483,1741,3.662,1765,5.185,1769,3.356,1829,4.658,1830,2.934,1835,2.934,1836,2.934,1844,4.125,1845,5.793,1846,2.934,1847,3.226,1848,3.226,1849,2.742,1850,3.226,1851,3.226,1852,3.226,1853,3.226,1854,3.226,1855,2.742,1856,3.226,1857,4.125,1858,3.226,1859,3.226,1860,3.226,1861,3.226,1862,3.447,1863,6.369,1864,3.226,1865,3.226,1866,3.226,1867,3.226,1868,3.226,1869,2.934,1870,2.934,1871,3.226,1872,3.226,1873,3.226,1874,3.226,1875,5.121,1876,3.226,1877,3.226,1878,3.226,1879,3.226,1880,3.226,1881,2.742,1882,3.226]],["component/28",[164,0.59]],["title/29",[]],["name/29",[18,0.201,143,1.044,1883,1.672,1884,1.521]],["text/29",[]],["component/29",[164,0.59]],["title/30-1",[4,13.119,109,21.982,122,29.309,1885,35.541]],["name/30-1",[]],["text/30-1",[]],["component/30-1",[]],["title/30-2",[122,29.309,138,24.04,150,15.105,344,35.541]],["name/30-2",[]],["text/30-2",[]],["component/30-2",[]],["title/30-3",[122,29.309,150,15.105,1886,48.025,1887,35.541]],["name/30-3",[]],["text/30-3",[]],["component/30-3",[]],["title/30-4",[43,27.479,122,29.309,150,15.105,594,32.255]],["name/30-4",[]],["text/30-4",[]],["component/30-4",[]],["title/30-5",[122,29.309,125,39.09,126,39.09,150,15.105]],["name/30-5",[]],["text/30-5",[]],["component/30-5",[]],["title/30-6",[74,39.09,150,15.105,1590,42.528,1887,35.541]],["name/30-6",[]],["text/30-6",[]],["component/30-6",[]],["title/30-7",[537,25.191,657,26.653]],["name/30-7",[]],["text/30-7",[]],["component/30-7",[]],["title/30-8",[546,15.183,549,21.987]],["name/30-8",[]],["text/30-8",[]],["component/30-8",[]],["title/30",[4,10.72,16,11.018,17,9.081,18,5.19,109,17.963,122,23.951]],["name/30",[4,0.415,13,0.719,109,0.696,122,0.928]],["text/30",[4,1.496,5,1.577,7,7.675,13,3,14,2.192,15,0.456,16,0.25,17,0.206,18,0.607,19,0.585,23,0.27,34,0.369,40,0.658,43,3.632,50,0.816,51,1.735,55,0.853,57,1.647,61,0.78,65,1.407,67,2.763,69,0.369,71,1.84,74,3.442,84,3.058,85,2.591,87,0.481,89,2.181,90,1.683,93,2.489,98,1.717,99,2.376,104,0.43,109,3.523,113,0.456,115,0.944,117,0.732,122,3.491,123,1.342,124,1.342,125,4.656,126,2.753,127,3.58,129,1.252,137,0.826,138,3.9,150,2.982,154,1.063,174,0.462,180,3.502,191,4.406,194,0.563,200,0.468,211,2.423,217,1.879,218,2.873,219,0.699,223,1.102,235,0.939,247,1.424,254,0.44,271,0.99,278,0.563,287,0.494,288,3.234,301,1.853,313,0.435,319,2.753,333,1.013,341,1.281,344,4.052,349,2.064,365,0.468,374,0.788,375,0.543,387,2.373,434,0.625,437,0.563,440,0.341,468,0.788,529,1.965,546,0.218,547,1.229,550,2.902,554,0.407,555,3.231,556,3,557,1.851,567,1.221,571,0.797,580,0.625,594,5.352,595,0.585,601,1.063,607,1.803,611,0.534,612,0.574,644,0.343,645,0.343,646,0.89,647,0.343,648,0.343,649,0.343,650,0.343,651,0.343,652,0.343,657,0.711,662,0.494,669,2.437,689,3.117,700,0.753,703,2.572,704,0.585,713,1.879,716,2.727,725,0.525,731,2.813,735,0.974,744,1.221,770,2.503,794,2.272,822,0.563,825,0.831,827,0.788,841,0.585,846,1.549,855,0.699,918,1.757,920,2.577,922,1.856,929,1.541,936,1.541,946,0.501,948,1.188,958,0.525,963,0.387,994,0.788,1013,1.043,1021,0.517,1027,0.763,1028,0.699,1036,2.377,1046,0.831,1065,0.641,1090,0.574,1095,0.724,1102,0.89,1143,0.678,1229,1.649,1266,0.611,1344,0.831,1351,1.877,1388,0.678,1431,0.788,1501,0.658,1574,0.788,1589,2.84,1590,4.848,1629,0.724,1656,3.952,1690,0.678,1728,6.221,1834,0.831,1857,1.461,1886,5.475,1887,4.83,1888,6.29,1889,4.588,1890,2.535,1891,6.347,1892,0.978,1893,0.978,1894,2.042,1895,0.978,1896,0.89,1897,2.878,1898,0.978,1899,0.978,1900,0.978,1901,0.978,1902,0.978,1903,0.89,1904,0.89,1905,0.89,1906,2.535,1907,3.719,1908,2.995,1909,3.161,1910,3.719,1911,0.978,1912,0.978,1913,0.978,1914,0.978,1915,2.535,1916,0.978,1917,0.978,1918,0.978,1919,2.535,1920,0.978,1921,0.978,1922,0.978,1923,1.813,1924,0.978,1925,4.211,1926,1.649,1927,1.649,1928,1.813,1929,1.649,1930,1.813,1931,0.978,1932,0.89,1933,3.165,1934,0.978,1935,0.978,1936,4.588,1937,0.978,1938,0.978,1939,0.978,1940,0.978,1941,0.978,1942,0.89,1943,0.978,1944,0.89,1945,0.978,1946,1.813,1947,0.89,1948,0.89,1949,0.978,1950,0.978,1951,0.978,1952,0.978,1953,0.978,1954,0.978,1955,0.978,1956,0.978,1957,0.978,1958,0.978,1959,0.658,1960,0.978]],["component/30",[164,0.59]],["title/31-1",[5,23.661,18,5.712,125,35.157,126,35.157,150,13.585]],["name/31-1",[]],["text/31-1",[]],["component/31-1",[]],["title/31-2",[5,18.176,17,7.678,18,4.387,23,10.064,84,11.983,99,12.811,127,28.085,150,10.436]],["name/31-2",[]],["text/31-2",[]],["component/31-2",[]],["title/31-3",[23,16.402,59,22.427,150,17.007]],["name/31-3",[]],["text/31-3",[]],["component/31-3",[]],["title/31-4",[537,25.191,657,26.653]],["name/31-4",[]],["text/31-4",[]],["component/31-4",[]],["title/31-5",[546,15.183,549,21.987]],["name/31-5",[]],["text/31-5",[]],["component/31-5",[]],["title/31",[4,7.357,5,14.755,14,7.408,16,7.562,17,6.233,18,3.562,122,16.438,123,21.923,124,21.923,125,21.923,126,21.923]],["name/31",[4,0.344,5,0.691,123,1.026,124,1.026,127,1.067]],["text/31",[1,1.683,4,2.239,5,3.461,7,3.179,13,0.51,14,1.854,15,0.554,16,1.097,17,1.274,18,1.18,19,0.373,21,0.474,23,1.803,26,0.879,32,0.335,34,1.265,39,2.402,40,1.144,43,0.324,44,0.295,49,0.648,50,0.281,51,0.554,53,2.662,54,0.502,55,0.572,56,1.509,59,1.128,63,0.257,65,0.346,67,2.157,68,0.281,69,0.448,71,1.699,72,2.791,74,1.922,76,2.645,78,1.58,80,1.807,81,2.341,84,1.735,85,1.769,87,0.306,88,0.71,89,1.522,90,1.038,91,2.222,92,0.849,93,1.183,94,0.311,97,1.155,99,2.242,109,1.667,113,1.011,115,0.324,117,1.49,119,0.381,122,2.049,125,4.066,126,4.213,127,5.031,137,1.361,146,0.311,150,2.502,157,0.399,168,0.522,174,0.561,180,2.715,182,0.71,191,4.233,192,1.242,194,0.978,198,0.824,209,0.352,217,0.859,218,1.802,228,0.462,233,1.502,235,0.44,236,0.53,241,0.943,242,0.637,247,0.534,252,0.373,272,1.203,275,0.871,282,1.178,288,0.352,301,0.592,305,0.567,306,1.024,311,0.859,313,2.349,315,1.766,319,0.462,333,0.866,338,0.262,341,0.315,348,0.609,349,1.862,360,0.399,365,2.185,373,2.013,375,0.346,378,0.53,379,0.583,387,2.571,411,0.659,427,0.346,434,0.759,440,0.217,445,2.054,483,1.96,486,0.879,525,2.262,529,0.627,537,0.231,541,0.462,542,0.389,543,0.346,546,0.139,547,1.941,554,2.447,555,0.373,556,3.106,557,0.953,560,0.399,567,1.459,571,0.522,573,0.53,578,1.746,580,1.087,583,0.847,601,0.366,605,0.659,607,1.626,609,0.399,612,2.827,619,1.96,625,0.335,644,0.219,645,0.219,646,1.855,647,0.219,648,0.219,649,0.219,650,0.417,651,0.219,652,0.219,653,1.632,656,0.48,669,0.409,672,1.276,674,1.062,677,1.017,689,0.879,692,1.178,700,0.48,703,0.725,709,1.215,711,0.648,713,1.095,715,0.879,716,1.522,723,3.16,731,0.583,732,0.302,735,1.419,739,2.072,757,0.53,759,0.432,770,1.459,776,1.203,777,0.53,784,1.417,785,1.386,790,1.459,794,0.381,796,0.335,800,0.311,805,1.967,817,1.017,822,0.683,835,0.359,838,0.42,851,0.778,868,0.389,880,0.799,888,0.778,906,0.759,911,0.567,918,1.024,920,0.432,922,0.696,924,0.389,927,3.881,929,0.53,946,1.72,948,1.421,950,0.306,955,0.399,961,2.518,962,0.366,963,1.027,978,0.502,979,0.53,986,0.502,1013,0.683,1027,0.262,1030,0.373,1031,0.849,1041,0.502,1044,1.08,1065,0.409,1072,0.978,1076,1.114,1077,4.254,1081,3.137,1090,0.696,1091,0.567,1095,2.214,1101,0.53,1110,2.324,1136,1.553,1138,0.295,1139,0.576,1140,1.297,1151,0.291,1155,1.789,1166,2.049,1168,1.386,1172,0.849,1176,1.271,1178,1.72,1179,1.017,1250,5.176,1269,0.432,1289,0.502,1351,0.462,1352,0.48,1415,0.48,1449,0.879,1501,1.459,1518,2.302,1519,3.678,1522,0.462,1524,0.53,1547,2.091,1556,0.446,1563,0.879,1589,2.624,1594,1.701,1656,1.445,1668,0.567,1706,1.55,1728,1.459,1741,0.446,1805,0.567,1809,1.669,1825,0.502,1827,0.53,1887,0.799,1889,0.567,1891,0.567,1894,0.956,1908,0.502,1909,0.53,1926,0.567,1927,0.567,1929,0.567,1932,1.546,1936,3.051,1942,0.567,1944,0.567,1947,0.567,1948,0.567,1961,8.219,1962,8.686,1963,8.499,1964,8.364,1965,0.567,1966,0.623,1967,1.445,1968,0.567,1969,0.623,1970,0.48,1971,0.567,1972,0.502,1973,2.167,1974,1.7,1975,0.462,1976,1.187,1977,1.08,1978,0.623,1979,0.623,1980,4.566,1981,1.187,1982,5.058,1983,1.187,1984,1.187,1985,4.566,1986,3.354,1987,5.493,1988,1.187,1989,0.623,1990,0.623,1991,4.82,1992,5.058,1993,4.82,1994,1.7,1995,3.354,1996,0.623,1997,1.7,1998,0.623,1999,1.7,2000,2.99,2001,1.08,2002,0.623,2003,0.623,2004,1.187,2005,0.623,2006,0.567,2007,0.623,2008,0.623,2009,1.7,2010,0.623,2011,1.08,2012,0.623,2013,1.187,2014,0.623,2015,0.623,2016,0.623,2017,2.99,2018,0.567,2019,0.53,2020,0.567,2021,1.187,2022,0.462,2023,0.623,2024,0.623,2025,1.187,2026,1.187,2027,1.187,2028,0.623,2029,0.623,2030,0.623,2031,0.502,2032,0.623,2033,0.623,2034,0.623,2035,0.623,2036,0.623,2037,0.623,2038,0.623,2039,0.623,2040,1.187,2041,0.623,2042,0.623,2043,0.567,2044,0.502,2045,0.623,2046,1.215,2047,0.623,2048,0.623,2049,1.55,2050,0.567,2051,0.623,2052,0.623,2053,0.623,2054,0.623,2055,1.009,2056,1.009,2057,1.009,2058,0.623,2059,4.295,2060,3.051,2061,1.7,2062,2.214,2063,0.623,2064,0.623,2065,0.623,2066,0.623,2067,0.623,2068,0.623,2069,0.623,2070,0.623,2071,2.167,2072,0.623,2073,0.623,2074,0.623,2075,0.623,2076,0.623,2077,1.187,2078,1.187,2079,1.187,2080,1.187,2081,1.187,2082,0.623,2083,0.623,2084,0.623,2085,0.567,2086,0.623,2087,0.623,2088,0.623,2089,0.623,2090,0.623,2091,0.623]],["component/31",[164,0.59]],["title/32-1",[1885,53.492]],["name/32-1",[]],["text/32-1",[]],["component/32-1",[]],["title/32-2",[14,14.872,741,38.006,2092,50.531]],["name/32-2",[]],["text/32-2",[]],["component/32-2",[]],["title/32-3",[4,10.72,84,14.174,109,17.963,113,20.13,114,20.922,115,22.455]],["name/32-3",[]],["text/32-3",[]],["component/32-3",[]],["title/32-4",[4,11.799,93,18.792,114,23.026,115,24.714,306,22.436]],["name/32-4",[]],["text/32-4",[]],["component/32-4",[]],["title/32-5",[4,16.899,59,25.659]],["name/32-5",[]],["text/32-5",[]],["component/32-5",[]],["title/32-6",[18,5.712,23,13.102,59,17.915,234,27.848,526,21.621]],["name/32-6",[]],["text/32-6",[]],["component/32-6",[]],["title/32-7",[18,5.712,23,13.102,59,17.915,234,27.848,2093,30.359]],["name/32-7",[]],["text/32-7",[]],["component/32-7",[]],["title/32-8",[4,9.063,14,9.125,93,14.435,114,17.688,115,29.35,306,17.234,601,21.392]],["name/32-8",[]],["text/32-8",[]],["component/32-8",[]],["title/32-9",[537,25.191,657,26.653]],["name/32-9",[]],["text/32-9",[]],["component/32-9",[]],["title/32-10",[546,15.183,549,21.987]],["name/32-10",[]],["text/32-10",[]],["component/32-10",[]],["title/32",[4,13.119,84,17.345,109,21.982,113,24.634]],["name/32",[4,0.415,84,0.549,109,0.696,113,0.78]],["text/32",[1,1.246,4,2.641,5,0.49,8,1.338,13,0.423,14,2.24,16,1.675,17,1.588,18,1.212,19,1.091,23,2.206,25,0.949,34,1.595,39,1.584,43,0.512,50,0.82,55,0.614,56,0.443,57,1.655,59,3.276,61,1.367,62,0.662,67,2.217,69,0.371,71,0.721,72,1.68,76,1.61,84,2.581,85,3.175,87,0.896,90,1.69,93,2.595,98,0.743,99,1.485,100,2.149,109,2.825,113,0.851,114,2.928,115,3.928,117,0.397,129,0.721,137,2.75,145,1.139,148,0.784,150,2.648,154,0.577,174,0.465,180,2.568,191,4.149,192,1.522,194,0.566,198,2.455,199,1.166,200,0.471,215,0.792,217,1.288,218,2.026,223,1.382,234,3.7,235,0.675,241,1.012,242,0.979,247,0.443,261,3.564,275,1.306,278,1.466,282,3.98,287,0.497,301,0.908,306,2.392,313,0.811,315,2.749,333,0.729,338,0.414,341,1.607,353,0.792,360,2.984,387,2.783,390,1.049,440,0.343,445,0.443,486,1.886,510,0.577,512,0.757,525,0.556,526,2.75,543,0.546,546,0.22,547,1.235,554,2.391,556,1.523,557,1.398,560,0.629,577,0.703,583,0.49,593,2.317,594,3.093,597,0.895,598,0.895,599,0.895,601,2.48,605,0.546,607,1.235,644,0.346,645,0.346,646,1.64,647,0.346,648,0.346,649,0.346,650,0.346,651,0.346,652,0.346,653,1.735,657,0.386,658,2.448,662,1.888,669,0.645,672,0.896,674,1.139,678,1.658,713,1.288,723,1.466,731,2.488,735,1.795,741,2.388,761,1.114,784,0.537,785,1.629,793,0.703,800,2.523,817,2.793,823,1.55,846,0.601,918,1.765,930,1.35,933,2.006,961,0.577,963,0.721,1021,0.52,1027,2.281,1046,2.166,1072,1.466,1073,5.739,1076,1.67,1077,0.792,1088,0.556,1090,0.577,1136,3.436,1138,1.998,1139,0.477,1140,0.589,1151,1.484,1154,0.682,1155,0.589,1156,0.792,1175,3.76,1176,1.494,1178,2.433,1179,1.524,1307,0.895,1351,0.728,1442,0.836,1513,1.658,1536,1.263,1547,3.406,1563,1.35,1574,0.792,1589,1.943,1648,0.836,1666,1.35,1698,2.766,1706,4.107,1809,0.757,1843,1.886,1903,4.246,1904,0.895,1905,0.895,1908,0.792,2019,0.836,2031,4.078,2055,0.836,2056,0.836,2057,0.836,2092,1.55,2093,2.388,2094,0.984,2095,1.823,2096,0.984,2097,0.984,2098,5.744,2099,0.984,2100,2.548,2101,0.984,2102,0.984,2103,0.984,2104,0.984,2105,0.984,2106,9.058,2107,1.823,2108,0.984,2109,0.984,2110,0.984,2111,0.984,2112,0.984,2113,0.895,2114,0.984,2115,1.823,2116,0.984,2117,0.984,2118,0.984,2119,0.984,2120,0.984,2121,2.548,2122,0.984,2123,6.787,2124,3.736,2125,0.984,2126,0.984,2127,5.064,2128,0.984,2129,2.548,2130,1.823,2131,1.823,2132,0.984,2133,1.823,2134,0.984,2135,1.658,2136,1.658,2137,4.668,2138,1.823,2139,0.984,2140,1.823,2141,0.984,2142,0.984,2143,0.984,2144,0.984,2145,0.984,2146,1.823,2147,2.548,2148,2.548,2149,3.736,2150,0.984,2151,0.984,2152,0.984,2153,2.548,2154,2.548,2155,1.823,2156,1.823,2157,1.823,2158,1.823,2159,0.984,2160,0.895,2161,0.984,2162,0.984,2163,0.984,2164,0.984,2165,0.984,2166,0.984,2167,1.658,2168,0.984,2169,0.984,2170,0.984,2171,0.984]],["component/32",[164,0.59]],["title/33-1",[6,25.423,31,34.874]],["name/33-1",[]],["text/33-1",[]],["component/33-1",[]],["title/33-2",[6,25.423,1012,47.124]],["name/33-2",[]],["text/33-2",[]],["component/33-2",[]],["title/33-3",[546,15.183,549,21.987]],["name/33-3",[]],["text/33-3",[]],["component/33-3",[]],["title/33",[4,14.771,5,29.622,111,47.885]],["name/33",[4,0.415,5,0.833,61,0.719,111,1.347]],["text/33",[6,2.499,13,1.967,14,1.45,16,1.168,17,0.963,18,0.804,27,1.53,33,2.248,39,1.397,40,3.079,47,2.539,51,1.308,62,3.079,69,2.186,71,2.915,76,3.522,84,0.921,85,2.388,89,2.683,90,3.475,93,2.646,98,2.363,103,1.099,111,8.475,112,1.677,113,1.308,117,2.974,120,5.18,129,1.109,138,3.598,150,2.487,154,2.683,180,3.545,191,4.214,194,1.613,198,1.359,218,3.25,235,1.694,239,3.884,241,2.539,242,1.505,247,1.261,263,2.632,306,2.161,319,4.951,338,1.18,387,3.145,427,1.556,440,0.976,445,1.261,526,3.045,546,0.626,555,4,556,3.4,585,5.698,611,3.163,612,5.274,631,1.942,644,0.985,645,0.985,646,0.985,647,0.985,648,0.985,649,0.985,650,0.985,651,0.985,652,0.985,656,2.159,657,1.099,662,1.417,672,2.248,677,1.677,690,4.462,741,1.792,780,1.838,838,1.887,853,2.258,860,5.454,916,4.462,930,3.387,948,2.998,950,2.248,963,1.109,997,3.522,1012,5.776,1022,1.887,1027,1.18,1087,2.258,1143,3.17,1213,1.942,1216,2.076,1234,3.685,1289,3.685,1291,2.383,1294,6.082,1296,2.076,1360,2.159,1388,3.17,1418,2.076,1549,4.161,1556,2.005,1739,2.55,1741,3.271,2172,2.804,2173,4.575,2174,2.804,2175,2.804,2176,4.161,2177,4.575,2178,2.804,2179,4.575,2180,2.804,2181,4.161,2182,4.575,2183,2.804,2184,4.575,2185,2.804,2186,2.383,2187,6.687,2188,2.804,2189,4.575,2190,2.55,2191,2.804,2192,2.804]],["component/33",[164,0.59]],["title/34-1",[223,25.846,557,26.138,2193,54.074]],["name/34-1",[]],["text/34-1",[]],["component/34-1",[]],["title/34-2",[18,7.15,23,16.402,59,22.427]],["name/34-2",[]],["text/34-2",[]],["component/34-2",[]],["title/34-3",[116,44.578,855,48.632]],["name/34-3",[]],["text/34-3",[]],["component/34-3",[]],["title/34-4",[116,34.605,225,37.752,612,30.963,1445,37.752]],["name/34-4",[]],["text/34-4",[]],["component/34-4",[]],["title/34-5",[116,34.605,225,37.752,1445,37.752,1589,32.255]],["name/34-5",[]],["text/34-5",[]],["component/34-5",[]],["title/34-6",[116,38.964,225,42.507,2194,54.074]],["name/34-6",[]],["text/34-6",[]],["component/34-6",[]],["title/34-7",[546,15.183,549,21.987]],["name/34-7",[]],["text/34-7",[]],["component/34-7",[]],["title/34",[4,13.119,5,26.308,61,22.702,116,34.605]],["name/34",[4,0.523,5,1.049,116,1.38]],["text/34",[1,1.27,4,2.197,12,0.569,13,1.018,14,1.819,15,1.104,16,0.828,17,1.082,18,1.173,23,1.763,33,1.163,36,0.817,39,0.652,44,0.618,47,1.314,49,2.806,50,1.065,51,0.61,52,0.817,53,1.041,55,0.44,57,2.069,59,2.273,61,0.562,62,0.881,63,0.539,67,1.459,69,0.893,71,0.937,72,1.251,76,1.958,84,0.43,85,2.118,90,1.296,91,0.726,93,1.283,94,0.652,99,1.397,114,1.572,116,6.246,117,0.528,129,0.937,137,2.555,138,1.476,145,0.817,150,2.269,154,3.291,174,3.173,180,1.379,191,4.152,198,0.634,217,0.661,218,3.306,223,2.619,225,5.801,235,1.473,239,2.758,241,1.314,242,1.741,245,0.857,254,1.065,259,3.016,275,2.36,282,2.246,315,2.202,326,1.007,333,0.946,338,1.364,344,0.881,348,1.214,349,1.799,360,1.513,387,3.652,411,1.799,420,1.054,440,0.456,445,1.065,511,1.416,518,0.783,526,0.596,529,0.691,534,0.817,535,3.37,537,0.485,545,0.799,546,0.292,547,1.148,549,0.423,554,0.985,556,0.965,557,2.023,560,0.836,583,0.652,594,1.446,601,0.767,604,1.19,606,2.153,607,3.643,612,4.534,625,0.702,633,1.593,640,1.007,644,0.459,645,0.459,646,1.139,647,0.459,648,0.459,649,0.459,650,0.459,651,0.459,652,0.459,653,3.063,662,2.326,672,1.163,674,1.478,677,0.783,688,1.513,703,2.429,704,0.783,705,2.606,709,1.692,711,0.714,713,2.326,714,1.054,715,2.4,724,1.054,725,0.702,727,2.4,731,1.593,735,1.246,741,2.072,752,2.012,765,1.551,771,4.322,780,0.857,796,0.702,817,1.416,824,0.767,826,1.513,838,0.881,839,1.112,846,1.446,853,5.645,855,0.935,880,1.593,884,0.783,899,1.112,916,3.543,918,1.118,950,1.163,951,0.836,955,0.836,956,1.19,963,0.518,1014,0.714,1021,0.691,1024,4.942,1027,0.55,1032,1.64,1033,2.012,1039,2.755,1072,2.648,1076,2.606,1083,1.19,1085,1.478,1088,0.739,1095,1.752,1115,1.112,1123,1.112,1133,1.593,1136,1.939,1139,0.634,1140,1.416,1148,2.496,1153,1.593,1154,0.906,1155,1.939,1175,1.054,1176,3.015,1178,3.864,1179,2.753,1198,0.968,1269,0.906,1273,1.112,1292,1.054,1372,1.64,1433,1.054,1445,1.692,1557,1.19,1561,1.416,1589,3.428,1657,3.291,1698,0.968,1728,2.677,1741,1.692,1765,0.935,1855,2.012,1887,1.593,2049,1.692,2186,1.112,2190,4.186,2194,1.19,2195,1.308,2196,1.007,2197,6.39,2198,5.142,2199,6.39,2200,2.367,2201,3.977,2202,1.19,2203,1.112,2204,2.367,2205,7.009,2206,4.602,2207,1.308,2208,1.308,2209,1.308,2210,3.242,2211,1.112,2212,1.308,2213,1.308,2214,1.308,2215,1.19,2216,1.308,2217,1.19,2218,1.308,2219,1.308,2220,1.308,2221,1.308,2222,1.112,2223,1.054,2224,1.308,2225,1.308,2226,3.407,2227,4.569,2228,2.153,2229,1.308,2230,1.308,2231,1.308,2232,1.308,2233,1.308,2234,1.308,2235,1.308,2236,1.308,2237,1.308,2238,1.308,2239,1.308,2240,1.308,2241,1.308,2242,3.242,2243,3.242,2244,5.142,2245,3.977,2246,1.308,2247,2.367,2248,1.308,2249,1.308,2250,1.308,2251,1.308,2252,1.308,2253,2.367]],["component/34",[164,0.59]],["title/35-1",[76,22.638,90,23.759,109,24.751]],["name/35-1",[]],["text/35-1",[]],["component/35-1",[]],["title/35-2",[39,21.499,61,18.552,71,17.074,109,17.963,137,19.645,198,20.922]],["name/35-2",[]],["text/35-2",[]],["component/35-2",[]],["title/35-3",[18,6.351,76,20.106,93,20.894,109,21.982]],["name/35-3",[]],["text/35-3",[]],["component/35-3",[]],["title/35-4",[18,6.351,76,20.106,117,21.314,547,25.602]],["name/35-4",[]],["text/35-4",[]],["component/35-4",[]],["title/35-5",[4,11.799,84,15.6,109,19.771,113,22.156,306,22.436]],["name/35-5",[]],["text/35-5",[]],["component/35-5",[]],["title/35-6",[537,25.191,657,26.653]],["name/35-6",[]],["text/35-6",[]],["component/35-6",[]],["title/35-7",[546,15.183,549,21.987]],["name/35-7",[]],["text/35-7",[]],["component/35-7",[]],["title/35",[4,14.771,5,29.622,109,24.751]],["name/35",[4,0.415,5,0.833,61,0.719,109,0.696]],["text/35",[0,0.653,1,0.428,2,0.809,3,1.041,4,2.066,5,0.544,13,1.957,14,2.142,15,0.937,16,1.474,17,1.546,18,1.137,21,1.114,23,1.682,34,2.177,39,3.926,40,1.351,43,1.799,47,2.778,51,1.3,52,0.682,54,0.88,55,1.164,57,1.045,59,0.412,61,1.486,66,0.387,67,2.536,68,0.903,69,1.051,70,0.653,71,3.551,73,0.757,76,3.736,77,0.64,78,1.061,80,1.454,84,2.476,85,1.148,87,2.836,89,2.369,90,3.211,91,0.606,93,2.823,97,0.486,98,0.819,99,1.899,101,1.177,103,0.428,104,0.48,106,0.552,109,4.127,113,2.335,114,0.53,115,2.605,117,2.329,122,0.606,129,1.368,137,2.776,138,1.269,148,1.486,150,2.641,154,1.177,156,0.617,157,1.781,169,1.333,174,0.949,180,2.938,182,1.201,186,0.716,191,4.07,192,0.961,194,0.628,198,1.959,200,0.523,202,1.369,206,0.993,209,1.134,211,0.628,217,2.042,218,3.354,219,0.781,223,0.873,235,0.744,241,1.547,242,3.098,245,0.716,247,2.433,252,1.201,253,1.826,254,0.491,268,0.64,275,0.56,276,0.716,278,0.628,301,0.544,302,0.617,306,2.151,313,2.405,314,0.757,319,2.991,333,0.436,338,0.845,341,2.3,348,0.56,349,1.114,352,0.809,365,1.654,375,0.606,387,2.77,398,4.359,403,3.853,420,0.88,437,0.628,440,0.38,445,0.491,510,0.64,525,0.617,529,1.827,534,0.682,546,0.244,547,2.798,549,0.353,554,2.252,555,1.667,556,2.607,557,0.48,575,0.64,583,1,594,2.112,601,2.935,607,0.53,609,1.781,625,0.586,644,0.979,645,0.384,646,2.141,647,0.384,648,0.384,649,0.384,650,0.384,651,0.384,652,0.384,653,1.096,658,1.546,662,0.552,669,0.716,672,1.699,674,1.74,688,0.698,691,0.841,703,3.525,707,0.586,711,1.887,713,1.015,725,1.078,731,2.46,732,0.53,735,2.218,739,0.757,741,3.458,742,1.391,755,2.368,770,0.735,780,0.716,784,0.596,785,1.284,794,0.667,800,0.544,805,1.177,817,0.653,822,1.155,826,0.698,838,0.735,846,2.781,858,0.993,880,1.351,881,1.436,906,1.284,916,2.145,918,0.949,920,1.391,922,2.027,930,0.809,946,1.029,950,1.369,961,0.64,963,0.794,1008,0.928,1013,1.155,1021,0.577,1027,1.454,1051,3.675,1052,3.675,1053,0.993,1055,5.249,1056,0.993,1057,2.534,1058,2.534,1059,1.826,1063,0.993,1065,0.716,1085,0.682,1088,0.617,1095,1.486,1136,0.653,1138,1.633,1151,1.613,1154,0.757,1155,0.653,1289,0.88,1351,0.809,1415,0.841,1431,0.88,1515,0.88,1589,1.702,1666,0.809,1728,3.064,1741,3.255,1762,0.735,1862,1.351,1881,0.928,1897,1.826,1908,0.88,1909,0.928,2018,1.826,2019,0.928,2022,0.809,2031,1.617,2093,0.698,2135,1.826,2136,2.534,2181,0.993,2254,1.092,2255,1.092,2256,1.092,2257,1.092,2258,1.092,2259,1.092,2260,0.993,2261,4.04,2262,1.092,2263,1.092,2264,1.092,2265,1.092,2266,1.092,2267,1.092,2268,2.008,2269,2.008,2270,1.092,2271,1.092,2272,1.092,2273,1.092,2274,1.092,2275,1.092,2276,1.092,2277,1.092,2278,1.092,2279,2.008,2280,1.092,2281,1.092,2282,1.092,2283,3.457,2284,2.787,2285,4.04,2286,1.092,2287,2.008,2288,1.092,2289,1.092,2290,1.092,2291,1.092,2292,1.092,2293,1.092,2294,1.092,2295,1.092,2296,0.928,2297,1.092]],["component/35",[164,0.59]],["title/36-1",[4,14.771,84,19.53,160,37.128]],["name/36-1",[]],["text/36-1",[]],["component/36-1",[]],["title/36-2",[4,14.771,10,34.205,160,37.128]],["name/36-2",[]],["text/36-2",[]],["component/36-2",[]],["title/36-3",[132,43.371]],["name/36-3",[]],["text/36-3",[]],["component/36-3",[]],["title/36-4",[2298,72.281]],["name/36-4",[]],["text/36-4",[]],["component/36-4",[]],["title/36-5",[4,13.119,160,32.975,355,44.878,2299,48.025]],["name/36-5",[]],["text/36-5",[]],["component/36-5",[]],["title/36-6",[4,14.771,160,37.128,1010,41.189]],["name/36-6",[]],["text/36-6",[]],["component/36-6",[]],["title/36-7",[6,25.423,103,26.653]],["name/36-7",[]],["text/36-7",[]],["component/36-7",[]],["title/36-8",[537,25.191,657,26.653]],["name/36-8",[]],["text/36-8",[]],["component/36-8",[]],["title/36-9",[546,15.183,549,21.987]],["name/36-9",[]],["text/36-9",[]],["component/36-9",[]],["title/36",[4,16.899,160,42.478]],["name/36",[4,0.707,160,1.777]],["text/36",[1,1.934,4,2.702,6,1.417,8,1.595,10,2.839,11,2.268,12,0.973,13,3.404,14,1.883,15,2.302,16,1.66,17,1.487,18,1.027,19,1.338,20,3.419,23,1.361,25,1.973,26,2.807,33,1.863,34,1.43,36,3.629,44,1.791,51,1.769,53,3.106,55,0.753,57,2.568,59,2.84,63,3.711,65,2.105,66,2.058,72,2.004,80,2.076,82,1.182,84,2.958,89,2.894,95,2.649,103,0.877,110,1.6,112,2.268,114,1.085,115,1.973,117,1.531,118,2.494,132,3.855,136,3.015,137,1.019,138,1.019,143,4.944,146,1.115,147,1.506,148,0.962,150,1.412,156,2.142,160,6.865,162,3.082,163,4.194,168,0.984,169,1.815,181,2.424,194,1.287,196,1.131,200,1.815,202,1.863,207,2.919,223,0.973,227,1.723,235,0.829,245,3.234,254,3.178,263,1.287,271,1.221,272,1.242,276,1.466,288,1.264,292,1.466,297,2.035,311,1.131,333,2.599,338,2.445,341,1.131,352,1.656,355,7.012,363,1.6,366,1.6,375,1.242,377,1.902,379,1.863,401,1.397,407,1.466,422,1.506,427,1.242,440,0.779,445,1.706,468,3.054,514,1.902,518,1.338,526,1.726,534,1.397,541,1.656,545,1.367,546,1.102,549,0.723,550,1.287,554,0.931,567,1.506,607,1.839,611,1.221,644,0.786,645,0.786,646,2.644,647,0.786,648,0.786,649,0.786,650,1.332,651,0.786,652,0.786,672,2.425,677,1.338,703,2.316,714,1.802,732,1.839,739,1.55,758,2.627,800,2.895,820,2.424,835,1.287,838,1.506,844,1.802,868,2.368,884,1.338,918,1.057,924,1.397,925,1.656,930,1.656,932,4.301,933,2.649,963,1.953,1010,3.419,1011,1.902,1013,1.287,1028,1.6,1044,1.115,1085,1.397,1088,1.264,1090,1.312,1112,2.035,1120,3.054,1138,1.057,1142,2.035,1218,3.975,1306,2.035,1388,1.55,1413,4.488,1414,3.054,1415,1.723,1416,3.223,1443,1.656,1477,2.035,1507,1.802,1514,3.054,1615,1.55,1709,1.802,1845,2.035,1849,1.902,1965,2.035,1968,2.035,2093,3.155,2215,3.449,2298,3.449,2299,4.488,2300,4.488,2301,2.237,2302,2.237,2303,2.237,2304,2.237,2305,2.237,2306,2.035,2307,2.237,2308,2.035,2309,2.237,2310,2.237,2311,2.237,2312,3.792,2313,2.237,2314,2.237,2315,1.902,2316,2.035,2317,2.237]],["component/36",[164,0.59]],["title/37-1",[537,25.191,657,26.653]],["name/37-1",[]],["text/37-1",[]],["component/37-1",[]],["title/37-2",[546,15.183,549,21.987]],["name/37-2",[]],["text/37-2",[]],["component/37-2",[]],["title/37",[8,18.154,14,10.794,18,5.19,23,11.904,39,21.499,128,30.85]],["name/37",[8,0.703,12,0.727,131,1.521,344,1.125]],["text/37",[1,0.731,4,0.806,8,4.23,12,1.411,14,1.458,16,1.633,17,1.606,18,1.121,21,2.057,23,1.764,27,1.771,34,1.224,35,3.315,39,4.71,43,0.971,49,1.019,50,0.84,53,1.427,55,1.733,58,1.382,59,2.199,61,1.395,67,1.889,68,0.84,69,1.624,77,1.095,81,1.664,93,2.037,94,1.617,97,0.83,98,1.324,99,1.807,109,0.777,113,0.871,119,1.14,128,6.45,129,0.739,132,1.019,134,2.127,135,2.075,137,3.129,138,1.478,139,1.335,150,2.082,153,1.166,157,1.193,169,0.893,191,3.369,192,0.893,196,0.943,211,1.074,217,0.943,218,1.213,223,1.411,233,1.293,235,0.691,239,2.116,247,1.46,252,3.079,261,1.055,272,1.036,275,0.957,292,2.127,301,0.93,306,0.882,311,0.943,313,1.443,315,1.553,348,0.957,359,1.382,360,1.193,365,1.553,366,4.572,372,1.503,373,2.185,379,2.116,387,1.942,411,2.39,424,1.867,440,0.65,483,5,486,1.382,525,1.055,536,1.503,546,0.417,547,0.905,549,1.664,554,2.427,556,0.761,557,0.821,571,1.427,592,3.66,607,2.088,634,1.293,644,0.656,645,0.656,646,1.512,647,0.656,648,0.656,649,0.656,650,0.656,651,0.656,652,0.656,653,1.019,654,1.095,664,1.117,669,6.919,694,2.403,696,4.572,703,1.14,704,1.117,705,2.822,707,2.763,709,1.335,713,1.64,723,1.074,735,1.655,742,2.249,759,2.983,761,1.14,771,1.867,776,1.802,785,1.193,794,1.14,800,1.617,805,1.903,868,4.291,909,1.698,912,1.074,933,1.002,946,1.664,951,1.193,958,1.002,963,1.284,1014,1.019,1027,2.165,1036,3.29,1047,2.321,1065,1.223,1076,1.223,1090,1.095,1110,1.293,1138,2.034,1139,1.574,1140,1.942,1151,0.871,1155,1.117,1166,1.983,1168,2.075,1172,1.335,1213,2.983,1266,3.214,1269,1.293,1384,1.698,1446,1.223,1463,1.437,1519,3.468,1533,2.952,1556,1.335,1562,1.587,1563,3.188,1580,1.698,1582,1.587,1587,1.587,1588,1.698,1589,1.983,1590,1.503,1591,1.698,1747,1.503,1784,1.074,2006,1.698,2062,5.648,2227,4.572,2318,1.867,2319,5.817,2320,1.867,2321,1.867,2322,1.867,2323,1.867,2324,1.867,2325,1.587,2326,3.246,2327,1.867,2328,1.867,2329,1.698,2330,1.867,2331,1.867,2332,1.867,2333,1.698,2334,1.867,2335,1.867,2336,1.698,2337,1.698,2338,1.867,2339,1.698,2340,1.698,2341,1.867,2342,1.867,2343,1.698,2344,1.867,2345,1.867,2346,1.867,2347,1.867,2348,1.867,2349,2.952,2350,4.681,2351,3.246,2352,6.62,2353,1.867,2354,1.867,2355,1.867,2356,1.867,2357,1.867,2358,1.867,2359,3.246,2360,3.246,2361,3.246,2362,3.246,2363,3.246,2364,3.246,2365,3.246,2366,3.246,2367,3.246,2368,3.246,2369,1.867,2370,1.867,2371,1.867,2372,1.867,2373,1.698,2374,1.867,2375,1.867,2376,3.246,2377,1.867,2378,1.867,2379,1.867,2380,1.867,2381,1.867,2382,1.867,2383,1.867,2384,1.867,2385,1.867,2386,1.867,2387,1.867,2388,1.867,2389,1.867,2390,1.867]],["component/37",[164,0.59]],["title/38",[]],["name/38",[18,0.201,53,0.735,156,0.945,356,1.238]],["text/38",[]],["component/38",[164,0.59]],["title/39",[]],["name/39",[3,0.787,9,1.559,526,0.959]],["text/39",[]],["component/39",[164,0.59]],["title/40-1",[1885,53.492]],["name/40-1",[]],["text/40-1",[]],["component/40-1",[]],["title/40-2",[8,18.154,10,24.825,14,10.794,18,5.19,23,11.904,132,23.548]],["name/40-2",[]],["text/40-2",[]],["component/40-2",[]],["title/40-3",[537,25.191,657,26.653]],["name/40-3",[]],["text/40-3",[]],["component/40-3",[]],["title/40-4",[546,15.183,549,21.987]],["name/40-4",[]],["text/40-4",[]],["component/40-4",[]],["title/40",[8,16.634,12,17.187,14,9.89,16,10.096,17,8.321,18,4.755,132,21.576]],["name/40",[8,0.886,12,0.916,132,1.15]],["text/40",[1,1.417,3,0.791,4,2.139,8,4.588,10,3.621,12,3.185,13,1.555,14,2.21,16,0.54,17,0.997,18,1.202,21,1.892,22,1.387,23,2.664,32,2.542,33,1.04,34,2.764,35,1.629,39,2.791,50,3.627,51,2.936,53,1.59,55,2.119,59,2.374,61,1.555,63,0.872,67,1.738,68,1.627,69,1.364,78,1.118,80,1.522,84,1.188,85,0.872,91,1.175,97,0.941,98,0.863,99,3.627,100,3.945,102,2.209,114,1.026,118,1.069,119,1.293,128,4.499,129,2.49,132,4.823,138,0.964,143,3.499,150,1.603,174,1,191,2.94,192,1.731,194,1.218,196,1.069,202,2.327,218,2.094,221,1.266,223,2.059,234,1.241,235,2.86,259,1.387,311,1.069,313,1.608,315,1.013,333,0.846,338,1.522,341,1.069,349,1.175,359,1.567,360,1.353,365,1.731,373,3.771,379,1.04,387,1.364,390,2.725,411,3.493,440,0.737,445,0.952,457,4.147,512,1.629,537,1.754,546,0.472,554,1.506,561,4.659,571,2.082,610,3.386,631,1.466,644,0.743,645,0.743,646,2.712,647,0.743,648,0.743,649,0.743,650,0.743,651,0.743,652,0.743,657,1.417,677,1.266,694,1.567,705,2.37,707,1.136,725,1.136,732,1.026,735,2.816,759,1.466,761,2.209,776,2.007,784,1.155,796,1.942,800,1.802,822,1.218,851,3.104,864,1.799,881,1.513,912,3.223,918,1,946,1.854,950,1.04,963,2.217,967,1.629,985,1.799,1014,3.435,1015,1.266,1027,3.249,1088,1.196,1138,1,1151,0.987,1260,1.925,1266,2.957,1269,1.466,1332,4.499,1372,1.466,1418,2.677,1438,1.799,1443,1.567,1499,1.705,1550,4.512,1563,1.567,1594,2.37,1629,1.567,1650,3.074,1733,1.629,1769,1.387,2085,6.237,2325,1.799,2339,3.289,2340,3.289,2343,1.925,2391,5.602,2392,1.925,2393,5.095,2394,1.925,2395,5.724,2396,1.925,2397,1.925,2398,1.925,2399,2.116,2400,2.116,2401,2.116,2402,2.116,2403,2.116,2404,2.116,2405,2.116,2406,2.116,2407,2.116,2408,3.289,2409,2.116,2410,2.116,2411,1.925,2412,1.925,2413,2.116,2414,2.116,2415,1.925]],["component/40",[164,0.59]],["title/41-1",[1885,53.492]],["name/41-1",[]],["text/41-1",[]],["component/41-1",[]],["title/41-2",[8,19.981,14,11.88,18,5.712,23,13.102,1209,40.363]],["name/41-2",[]],["text/41-2",[]],["component/41-2",[]],["title/41-3",[8,22.216,53,23.214,150,15.105,539,44.878]],["name/41-3",[]],["text/41-3",[]],["component/41-3",[]],["title/41-4",[537,25.191,657,26.653]],["name/41-4",[]],["text/41-4",[]],["component/41-4",[]],["title/41-5",[546,15.183,549,21.987]],["name/41-5",[]],["text/41-5",[]],["component/41-5",[]],["title/41",[14,10.794,27,23.548,134,28.279,135,27.584,138,19.645,139,30.85]],["name/41",[27,0.912,134,1.096,135,1.069,138,0.761]],["text/41",[1,1.866,4,1.489,6,3.661,8,4.32,12,1.28,14,2.061,17,1.261,18,1.171,21,0.466,23,2.382,26,1.578,27,2.313,29,0.991,31,1.093,32,3.393,33,0.573,34,2.261,39,1.813,43,1.533,49,1.607,50,2.142,51,2.221,52,0.728,53,2.909,54,0.939,55,1.895,57,1.109,59,1.599,61,1.266,62,0.785,63,1.213,66,0.413,67,2.428,68,0.959,71,0.461,74,0.863,78,0.616,82,2.516,83,0.785,84,1.715,85,0.48,87,0.573,91,0.647,99,1.489,102,1.302,103,2.348,109,0.485,112,0.697,113,0.544,117,0.861,128,3.03,129,1.677,130,0.991,134,3.928,135,2.71,137,1.657,138,1.657,139,6.477,148,0.501,150,2.643,161,0.671,168,1.863,174,1.007,180,0.496,191,3.924,192,1.409,198,1.428,211,0.671,218,1.78,224,1.524,234,0.684,235,0.79,267,0.764,275,1.51,288,1.204,306,0.551,311,1.488,313,1.885,315,0.558,338,1.239,341,2.406,359,0.863,360,0.745,365,2.028,372,0.939,373,3.205,379,3.251,387,0.44,390,1.226,411,2.353,422,1.982,425,0.785,427,4.081,437,0.671,440,0.406,457,2.694,511,1.275,537,0.79,546,0.26,554,2.174,556,1.201,571,0.937,580,0.745,585,0.764,607,0.565,610,3.03,611,0.636,612,3.515,619,1.397,625,1.954,633,1.982,634,2.04,644,0.409,645,0.409,646,2.105,647,0.409,648,0.409,649,0.409,650,0.409,651,0.409,652,0.409,677,1.762,689,2.18,692,2.04,694,2.18,697,0.834,703,2.223,705,1.93,707,0.626,711,0.636,713,1.488,725,1.581,731,0.573,732,0.565,735,2.007,739,2.521,742,0.808,743,0.834,759,2.521,761,1.799,776,1.635,784,1.607,790,1.435,793,1.524,794,1.302,796,2.276,800,1.062,805,1.25,817,1.762,822,0.671,841,2.177,846,0.712,851,2.385,888,0.764,912,3.448,918,1.719,920,2.521,928,0.939,936,0.991,946,1.51,947,0.939,948,1.93,950,0.573,955,5.729,958,1.145,963,1.165,967,1.641,985,0.991,1014,1.986,1016,1.06,1024,0.745,1027,2.003,1031,0.834,1044,2.372,1076,0.764,1088,1.204,1138,0.551,1141,1.06,1148,0.898,1151,0.544,1166,1.302,1168,1.363,1172,1.524,1199,0.991,1209,3.093,1216,1.578,1266,0.728,1269,0.808,1297,1.939,1332,2.602,1416,0.991,1418,1.578,1446,0.764,1449,0.863,1462,0.991,1499,0.939,1522,1.578,1556,2.106,1709,0.939,1733,0.898,1747,0.939,1959,0.785,2060,1.06,2325,0.991,2336,1.939,2337,1.06,2392,1.939,2393,2.679,2394,1.06,2395,3.855,2396,1.06,2397,1.06,2398,1.06,2408,3.31,2411,1.939,2412,1.939,2415,3.855,2416,0.991,2417,1.166,2418,1.166,2419,1.06,2420,1.939,2421,1.166,2422,2.945,2423,5.749,2424,1.166,2425,1.166,2426,1.166,2427,1.166,2428,2.132,2429,1.166,2430,1.166,2431,2.132,2432,1.166,2433,4.33,2434,2.132,2435,2.132,2436,2.931,2437,2.132,2438,2.132,2439,5.629,2440,5.629,2441,2.132,2442,2.132,2443,2.132,2444,2.132,2445,2.132,2446,2.132,2447,2.945,2448,2.945,2449,4.761,2450,2.945,2451,2.945,2452,1.166,2453,1.939,2454,1.939,2455,1.166,2456,1.06,2457,0.991,2458,1.166,2459,3.639,2460,3.855,2461,2.945,2462,2.132,2463,1.166,2464,2.132,2465,1.166,2466,1.166,2467,1.166,2468,1.166]],["component/41",[164,0.59]],["title/42-1",[4,11.799,8,19.981,109,19.771,134,31.124,725,25.497]],["name/42-1",[]],["text/42-1",[]],["component/42-1",[]],["title/42-2",[1,20.69,135,33.755,612,30.963,2469,48.025]],["name/42-2",[]],["text/42-2",[]],["component/42-2",[]],["title/42-3",[1,18.609,8,19.981,71,18.792,135,30.359,612,27.848]],["name/42-3",[]],["text/42-3",[]],["component/42-3",[]],["title/42-4",[537,25.191,657,26.653]],["name/42-4",[]],["text/42-4",[]],["component/42-4",[]],["title/42-5",[546,15.183,549,21.987]],["name/42-5",[]],["text/42-5",[]],["component/42-5",[]],["title/42",[4,11.799,14,11.88,109,19.771,134,31.124,135,30.359]],["name/42",[4,0.415,109,0.696,134,1.096,135,1.069]],["text/42",[0,0.889,1,3.559,3,0.993,4,1.85,5,1.793,8,4.25,12,0.646,14,2.24,15,1.239,16,0.38,17,1.058,18,1.043,23,1.671,34,2.285,39,1.793,43,1.873,44,1.255,47,1.998,49,3.046,50,1.969,51,0.694,55,2.806,59,1.358,61,1.142,63,1.094,67,2.509,68,1.969,69,2.441,71,1.424,72,2.657,73,1.03,84,0.488,85,1.094,93,2.208,94,0.741,97,0.661,99,0.933,105,1.845,109,2.093,113,1.679,114,0.721,115,0.774,123,1.101,124,1.101,128,1.899,129,1.424,130,1.264,134,3.295,135,6.457,145,0.928,150,2.33,167,1.063,168,2.845,191,4.206,211,0.855,218,1.345,233,1.03,254,0.669,268,0.872,272,0.825,294,1.101,301,0.741,306,0.702,313,2.482,333,1.061,338,0.626,341,2.82,349,0.825,365,2.671,372,2.139,373,4.077,379,0.731,422,1.001,440,0.518,537,1.333,546,0.332,554,2.694,556,1.467,558,1.788,595,0.889,601,0.872,607,2.437,609,0.95,612,5.576,625,1.932,633,2.945,644,0.522,645,0.522,646,2.273,647,0.522,648,0.522,649,0.522,650,0.522,651,0.522,652,0.522,653,2.744,690,1.145,692,2.493,694,4.132,697,2.573,702,3.059,707,0.798,711,1.449,725,1.932,732,1.288,735,2.328,739,1.84,742,1.84,759,4.484,780,0.974,785,2.301,796,0.798,805,1.557,846,1.622,868,5.938,884,2.153,888,0.974,895,1.197,896,3.273,946,1.362,950,1.769,951,0.95,953,1.264,963,1.989,1014,2.388,1021,1.902,1027,2.115,1030,1.589,1090,0.872,1138,2.637,1151,2.345,1166,1.622,1317,1.197,1387,1.264,1449,3.239,1463,1.145,1486,2.139,1537,1.352,1556,3.99,1669,1.063,1690,1.03,1843,1.101,2031,1.197,2329,2.415,2333,2.415,2419,1.352,2420,1.352,2423,8.021,2433,6.217,2454,2.415,2469,6.217,2470,1.487,2471,1.487,2472,2.656,2473,1.487,2474,1.487,2475,1.487,2476,4.376,2477,1.352,2478,1.487,2479,4.376,2480,2.656,2481,1.487,2482,1.487,2483,3.599,2484,3.599,2485,3.599,2486,1.487,2487,1.487,2488,1.487,2489,4.376,2490,2.656,2491,2.656,2492,2.656,2493,2.656,2494,1.487,2495,2.656,2496,1.487,2497,1.487,2498,2.656,2499,2.656,2500,2.656,2501,2.656,2502,1.487,2503,2.656,2504,1.487,2505,2.656,2506,1.487,2507,3.599,2508,1.487,2509,3.599,2510,2.656,2511,1.487,2512,1.487,2513,2.656,2514,2.656,2515,2.656,2516,1.487,2517,2.656,2518,2.656,2519,1.487,2520,1.487]],["component/42",[164,0.59]],["title/43-1",[16,10.096,17,8.321,18,4.755,97,17.582,102,24.151,103,15.492,104,17.381]],["name/43-1",[]],["text/43-1",[]],["component/43-1",[]],["title/43-2",[14,10.794,18,5.19,55,14.527,69,16.277,103,16.908,104,18.97]],["name/43-2",[]],["text/43-2",[]],["component/43-2",[]],["title/43-3",[14,10.794,18,5.19,21,17.244,69,16.277,103,16.908,104,18.97]],["name/43-3",[]],["text/43-3",[]],["component/43-3",[]],["title/43-4",[18,6.351,21,21.101,69,19.919,577,37.752]],["name/43-4",[]],["text/43-4",[]],["component/43-4",[]],["title/43-5",[14,10.794,18,5.19,66,15.285,69,16.277,103,16.908,104,18.97]],["name/43-5",[]],["text/43-5",[]],["component/43-5",[]],["title/43-6",[537,25.191,657,26.653]],["name/43-6",[]],["text/43-6",[]],["component/43-6",[]],["title/43-7",[546,15.183,549,21.987]],["name/43-7",[]],["text/43-7",[]],["component/43-7",[]],["title/43",[16,11.018,17,9.081,18,5.19,102,26.358,103,16.908,104,18.97]],["name/43",[18,0.201,457,1.238,762,1.096,1885,1.125]],["text/43",[3,0.472,4,0.314,6,0.857,7,0.935,13,0.543,14,2.598,15,1.07,16,1.997,17,1.646,18,1.337,21,3.806,23,0.633,25,1.639,32,1.231,34,2.365,36,0.789,44,1.829,49,1.252,50,0.568,51,0.589,53,1.008,55,2.901,59,1.896,65,0.701,66,2.77,67,3,68,1.032,69,4.067,71,1.246,97,3.942,98,2.557,99,1.765,102,4.89,103,3.203,104,3.664,109,0.955,115,0.658,129,1.532,148,0.543,150,0.361,156,2.188,167,0.903,168,1.702,191,1.71,194,0.727,200,0.605,202,4.902,207,0.973,214,1.149,217,2.775,218,1.878,221,2.316,223,1.369,235,2.964,247,3.678,254,0.568,276,0.828,282,0.875,287,0.638,294,1.698,308,0.828,311,0.638,315,4.519,333,1.259,338,0.532,341,1.592,375,0.701,379,1.903,387,2.873,398,0.903,411,0.701,424,0.727,434,0.808,437,0.727,440,0.44,445,1.032,456,1.018,457,2.332,475,1.149,510,1.345,512,0.973,525,0.714,526,0.575,528,2.804,532,3.774,534,0.789,546,0.282,547,1.878,557,1.008,558,1.544,571,0.555,577,0.903,595,0.756,625,1.231,644,0.444,645,0.444,646,2.202,647,0.444,648,0.444,649,0.444,650,0.444,651,0.444,652,0.444,664,0.756,688,0.808,711,1.252,723,0.727,731,1.548,732,0.613,735,2.27,744,1.544,762,6.29,763,1.466,776,0.701,800,0.63,835,1.812,912,0.727,918,1.488,958,0.678,963,0.5,983,0.875,995,4.642,1013,0.727,1027,0.965,1028,0.903,1036,0.808,1045,2.182,1050,1.074,1071,1.018,1072,0.727,1088,1.779,1095,1.698,1133,2.12,1138,1.829,1139,0.613,1140,1.884,1151,1.807,1154,0.875,1155,2.686,1178,0.727,1213,1.589,1254,1.949,1265,5.607,1270,2.332,1271,2.425,1272,2.865,1274,1.466,1275,0.828,1372,0.875,1419,1.149,1446,0.828,1463,0.973,1483,1.074,1512,0.903,1517,1.149,1522,0.935,1524,1.074,1551,1.149,1560,2.086,1561,1.884,1594,3.6,1669,0.903,1684,0.772,1720,1.074,1762,0.85,1765,1.64,1784,0.727,1834,1.074,1862,2.12,1970,0.973,1971,1.149,1977,1.149,2020,1.149,2022,2.332,2046,0.903,2167,1.149,2196,0.973,2202,1.149,2521,2.294,2522,3.291,2523,1.263,2524,1.949,2525,1.074,2526,1.263,2527,1.263,2528,2.294,2529,1.263,2530,1.263,2531,0.935,2532,1.149,2533,1.149,2534,1.263,2535,3.15,2536,1.263,2537,1.263,2538,1.263,2539,1.263,2540,1.263,2541,1.263,2542,1.263,2543,2.294,2544,3.872,2545,1.149,2546,1.074,2547,4.44,2548,2.789,2549,1.263,2550,1.263,2551,1.263,2552,1.263,2553,1.263,2554,1.263,2555,1.074,2556,1.263,2557,2.294,2558,1.263,2559,1.263,2560,0.973,2561,1.263]],["component/43",[164,0.59]],["title/44",[]],["name/44",[3,1.639]],["text/44",[]],["component/44",[164,0.59]],["title/45",[]],["name/45",[150,0.603,1291,1.79,2562,2.106]],["text/45",[]],["component/45",[164,0.59]],["title/46-1",[149,41.189,151,38.964,1885,40.018]],["name/46-1",[]],["text/46-1",[]],["component/46-1",[]],["title/46-2",[18,6.351,149,36.581,150,15.105,151,34.605]],["name/46-2",[]],["text/46-2",[]],["component/46-2",[]],["title/46-3",[8,18.154,18,5.19,59,16.277,149,29.894,150,12.344,151,28.279]],["name/46-3",[]],["text/46-3",[]],["component/46-3",[]],["title/46-4",[537,25.191,657,26.653]],["name/46-4",[]],["text/46-4",[]],["component/46-4",[]],["title/46-5",[546,15.183,549,21.987]],["name/46-5",[]],["text/46-5",[]],["component/46-5",[]],["title/46",[5,21.499,16,11.018,17,9.081,18,5.19,149,29.894,150,12.344]],["name/46",[5,0.833,61,0.719,149,1.158,151,1.096]],["text/46",[1,0.424,2,0.801,4,0.853,5,0.992,6,0.405,8,0.838,10,0.623,14,1.777,15,0.505,16,1.025,17,1.396,18,1.184,23,1.373,26,0.801,34,0.408,39,0.539,44,0.511,47,1.905,49,1.873,52,0.676,53,3.644,55,0.931,56,0.487,58,4.71,59,0.408,61,0.856,65,1.105,67,2.227,71,0.788,72,1.052,76,1.722,80,1.444,81,4.249,82,1.461,87,0.532,90,1.372,93,2.401,99,1.409,109,0.451,112,1.191,116,0.709,117,3.03,118,0.547,123,0.801,124,0.801,129,0.428,137,2.06,146,0.539,149,6.263,150,2.677,151,4.793,154,1.168,161,0.623,162,0.676,168,0.476,174,0.941,181,1.273,191,3.768,198,0.525,200,0.953,209,2.555,218,0.744,221,0.648,233,3.134,235,1.271,241,0.601,242,0.581,245,0.709,249,6.032,253,1.812,259,0.709,267,0.709,275,1.021,276,0.709,288,1.125,292,2.249,299,0.92,313,0.481,338,0.455,341,1.006,363,0.774,365,0.518,373,1.34,379,3.935,387,0.751,390,0.623,424,1.146,427,0.601,437,1.975,440,0.377,451,1.34,483,4.17,525,1.562,542,0.676,545,0.661,546,0.242,554,0.451,556,1.128,557,0.476,560,0.692,605,1.535,607,2.413,611,1.509,644,0.38,645,0.38,646,1.747,647,0.38,648,0.38,649,0.38,650,0.38,651,0.38,652,0.38,662,0.547,664,1.191,669,3.976,670,0.75,672,3.689,677,1.654,680,3.65,683,0.92,684,0.872,685,0.92,692,0.75,696,4.549,697,1.977,699,0.92,706,0.833,707,1.069,709,1.424,713,1.006,717,2.047,723,0.623,731,2.223,735,0.765,758,0.75,761,0.661,774,0.872,785,1.273,813,0.92,820,0.692,822,0.623,826,1.768,828,0.872,829,3.643,831,2.541,851,0.709,912,1.591,918,0.941,933,0.581,940,5.787,947,2.765,948,0.709,950,1.359,955,5.886,958,1.485,961,1.168,962,0.635,963,0.788,978,0.872,1010,0.75,1013,1.591,1021,2.842,1029,1.604,1030,1.654,1037,0.692,1044,2.68,1072,1.146,1081,0.92,1088,1.125,1089,3.122,1090,0.635,1099,0.872,1110,3.134,1136,0.648,1139,0.525,1140,0.648,1176,1.168,1178,1.146,1198,0.801,1243,1.811,1273,3.845,1300,0.984,1348,0.92,1352,0.833,1372,2.378,1392,0.984,1463,0.833,1500,6.38,1589,0.661,1606,0.984,1684,4.586,1696,1.811,1816,0.833,1849,0.92,2043,0.984,2062,4.71,2106,4.892,2300,3.122,2306,0.984,2460,4.525,2563,6.067,2564,1.991,2565,1.991,2566,1.082,2567,1.082,2568,4.524,2569,1.082,2570,1.082,2571,2.765,2572,8.152,2573,1.082,2574,1.082,2575,2.515,2576,1.082,2577,1.082,2578,1.082,2579,0.774,2580,1.082,2581,1.082,2582,1.082,2583,1.082,2584,1.082,2585,1.082,2586,1.082,2587,1.082,2588,1.082,2589,1.082,2590,1.082,2591,2.765,2592,1.082,2593,1.991,2594,1.991,2595,1.082,2596,2.765,2597,1.082,2598,1.082,2599,1.082,2600,1.082,2601,1.082,2602,1.082,2603,1.082,2604,1.082,2605,1.082,2606,1.082,2607,1.991,2608,1.991,2609,1.991,2610,1.991,2611,6.363,2612,7.314,2613,7.314,2614,7.314,2615,7.314,2616,1.082,2617,1.082,2618,1.082,2619,1.082,2620,1.082,2621,1.991,2622,1.991,2623,5.379,2624,1.082,2625,1.082,2626,1.082,2627,1.082,2628,1.082,2629,1.991,2630,1.082,2631,1.082,2632,1.082,2633,1.082,2634,1.082,2635,1.082,2636,1.082,2637,1.082,2638,1.082,2639,1.082,2640,1.082,2641,3.432,2642,1.991,2643,1.082,2644,1.082,2645,2.765,2646,1.082,2647,2.765,2648,1.082,2649,1.991,2650,1.082,2651,1.991,2652,1.991,2653,2.765,2654,1.082,2655,1.082,2656,1.082,2657,1.082,2658,1.082,2659,1.082,2660,1.082,2661,1.991,2662,1.991,2663,1.991,2664,1.991,2665,1.991,2666,1.991,2667,1.991,2668,1.991,2669,1.991,2670,1.991,2671,1.082,2672,1.082,2673,1.082,2674,1.082,2675,1.082,2676,1.991,2677,1.082,2678,1.082,2679,1.082,2680,1.082,2681,1.082,2682,1.082,2683,1.082,2684,1.082,2685,1.082,2686,1.082,2687,1.082,2688,1.082,2689,1.082]],["component/46",[164,0.59]],["title/47-1",[18,8.181,118,34.372]],["name/47-1",[]],["text/47-1",[]],["component/47-1",[]],["title/47-2",[18,8.181,924,42.478]],["name/47-2",[]],["text/47-2",[]],["component/47-2",[]],["title/47-3",[6,25.423,18,8.181]],["name/47-3",[]],["text/47-3",[]],["component/47-3",[]],["title/47-4",[59,25.659,150,19.458]],["name/47-4",[]],["text/47-4",[]],["component/47-4",[]],["title/47-5",[66,24.096,143,42.478]],["name/47-5",[]],["text/47-5",[]],["component/47-5",[]],["title/47-6",[4,14.771,66,21.061,160,37.128]],["name/47-6",[]],["text/47-6",[]],["component/47-6",[]],["title/47-7",[18,6.351,66,18.705,95,28.349,925,39.09]],["name/47-7",[]],["text/47-7",[]],["component/47-7",[]],["title/47-8",[18,7.15,55,20.016,63,24.494]],["name/47-8",[]],["text/47-8",[]],["component/47-8",[]],["title/47-9",[14,14.872,101,34.863,925,44.013]],["name/47-9",[]],["text/47-9",[]],["component/47-9",[]],["title/47-10",[14,14.872,39,29.622,43,30.94]],["name/47-10",[]],["text/47-10",[]],["component/47-10",[]],["title/47-11",[537,25.191,657,26.653]],["name/47-11",[]],["text/47-11",[]],["component/47-11",[]],["title/47-12",[546,15.183,549,21.987]],["name/47-12",[]],["text/47-12",[]],["component/47-12",[]],["title/47",[16,12.127,17,9.995,18,5.712,95,25.497,150,13.585]],["name/47",[95,1.131,150,0.603,925,1.559]],["text/47",[0,2.336,4,2.149,6,3.454,8,1.643,10,0.948,13,0.708,14,1.606,15,0.768,16,0.421,17,0.822,18,1.259,21,1.561,23,1.077,26,2.153,30,1.029,32,0.884,33,0.809,34,0.621,39,1.449,43,1.514,53,3.633,55,3.286,57,0.857,59,1.778,63,3.094,66,2.275,67,1.433,68,0.741,84,2.245,85,0.679,90,1.884,93,2.129,95,5.406,97,0.732,101,2.764,103,2.516,106,1.973,110,2.792,112,3.555,115,0.857,117,3.245,118,3.453,132,3.504,143,4.01,148,1.679,150,2.148,160,4.268,161,0.948,168,0.724,191,3.749,202,0.809,218,1.46,235,1.077,245,1.079,247,1.309,254,2.121,261,0.93,263,0.948,271,2.937,275,2.002,287,0.832,288,0.93,306,2.542,311,1.973,313,0.732,315,2.256,338,1.983,360,1.053,363,1.178,365,1.869,379,0.809,387,1.097,411,0.914,424,2.712,427,1.614,440,0.573,445,1.309,510,2.764,511,1.74,521,1.268,531,0.966,543,0.914,546,0.368,547,0.799,554,0.686,556,2.618,583,0.821,595,0.985,601,0.966,605,1.614,607,1.41,610,2.792,611,3.243,617,1.327,625,2.531,631,1.141,644,0.578,645,0.578,646,1.021,647,0.578,648,0.578,649,0.578,650,0.578,651,0.578,652,0.578,672,1.429,713,1.973,724,3.146,731,0.809,735,2.627,743,2.079,762,1.079,763,1.053,764,1.178,765,1.079,768,1.219,770,1.109,784,1.587,785,2.497,796,0.884,800,1.946,805,0.966,851,2.56,855,1.178,888,1.079,924,4.01,925,6.641,933,0.884,946,0.844,947,1.327,950,1.919,958,1.561,959,4.287,961,2.764,962,1.705,963,0.652,966,6.383,969,3.847,976,3.552,986,1.327,988,1.498,990,1.498,999,1.498,1005,1.498,1009,2.645,1013,0.948,1022,1.109,1028,1.178,1044,2.681,1047,1.178,1065,2.56,1072,3.096,1076,2.56,1085,1.029,1133,1.109,1153,2.629,1176,3.156,1178,3.419,1179,2.336,1242,2.891,1269,1.141,1270,2.153,1275,3.089,1276,3.089,1286,1.498,1335,2.472,1386,2.645,1387,1.4,1388,2.706,1441,1.4,1514,1.327,1684,1.777,1697,1.4,1741,1.178,1824,2.645,1862,1.958,1975,1.219,2093,1.053,2211,1.4,2316,1.498,2532,1.498,2547,1.109,2548,0.914,2690,1.498,2691,1.647,2692,1.647,2693,1.647,2694,2.908,2695,1.647,2696,1.647,2697,1.647,2698,1.647,2699,1.647,2700,1.647,2701,1.647,2702,1.647,2703,1.647,2704,2.908,2705,1.647,2706,1.647,2707,1.327,2708,1.647,2709,1.647,2710,2.908,2711,1.647,2712,1.647,2713,1.647,2714,1.498,2715,1.498,2716,5.943,2717,1.647,2718,1.647,2719,1.647,2720,1.268,2721,2.908,2722,1.647,2723,2.908,2724,1.647,2725,1.647,2726,1.647,2727,1.647,2728,1.647]],["component/47",[164,0.59]],["title/48-1",[21,27.183,2729,50.355]],["name/48-1",[]],["text/48-1",[]],["component/48-1",[]],["title/48-2",[21,21.101,55,17.777,655,30.963,842,44.878]],["name/48-2",[]],["text/48-2",[]],["component/48-2",[]],["title/48-3",[55,15.988,122,26.36,235,17.588,1501,31.966,2548,26.36]],["name/48-3",[]],["text/48-3",[]],["component/48-3",[]],["title/48-4",[16,7.562,17,6.233,18,5.752,21,11.835,84,9.728,180,12.594,267,19.408,1501,19.933,2548,16.438,2730,26.935]],["name/48-4",[]],["text/48-4",[]],["component/48-4",[]],["title/48-5",[18,6.351,21,21.101,23,14.567,66,18.705]],["name/48-5",[]],["text/48-5",[]],["component/48-5",[]],["title/48-6",[18,6.351,23,14.567,59,19.919,311,26.682]],["name/48-6",[]],["text/48-6",[]],["component/48-6",[]],["title/48-7",[537,25.191,657,26.653]],["name/48-7",[]],["text/48-7",[]],["component/48-7",[]],["title/48-8",[546,15.183,549,21.987]],["name/48-8",[]],["text/48-8",[]],["component/48-8",[]],["title/48",[18,6.351,21,21.101,66,18.705,180,22.456]],["name/48",[18,0.253,21,0.842,66,0.746]],["text/48",[4,1.515,8,1.015,14,1.525,16,2.604,17,1.943,18,1.307,19,1.443,21,2.713,23,1.873,25,1.255,33,1.985,41,1.725,46,1.581,47,1.339,52,2.523,55,3.108,56,2.743,59,1.966,61,1.037,66,2.16,67,1.483,71,0.954,72,1.275,84,1.712,90,2.083,93,1.599,94,1.202,97,2.318,122,2.893,138,1.098,146,1.202,148,2.241,150,1.156,162,1.506,168,1.06,169,1.154,180,3.925,181,1.542,191,2.97,198,1.17,199,1.542,202,1.185,234,1.414,235,1.93,247,1.085,258,2.719,264,1.857,265,2.799,267,2.648,271,3.327,275,1.237,302,1.363,306,1.14,311,3.081,314,3.611,315,1.933,333,1.614,338,1.015,344,2.719,387,1.524,427,1.339,440,0.84,510,3.575,517,1.943,523,2.799,526,1.839,531,1.414,532,3.332,537,2.72,545,2.468,546,1.163,556,0.984,607,1.959,612,1.414,623,1.786,625,1.295,644,1.83,645,0.847,646,0.847,647,1.419,648,0.847,649,0.847,650,0.847,651,0.847,652,0.847,654,2.369,655,4.306,664,4.061,707,1.295,711,1.316,713,1.219,735,1.553,739,1.671,761,1.473,771,4.706,776,1.339,784,1.316,824,1.414,835,1.388,846,1.473,868,1.506,884,1.443,933,1.295,955,2.582,963,0.954,1021,1.275,1024,1.542,1027,1.015,1032,1.671,1072,1.388,1088,1.363,1151,1.125,1153,1.624,1176,2.369,1178,2.324,1179,1.443,1275,5.754,1276,3.416,1288,1.624,1344,2.05,1374,2.194,1443,2.991,1483,2.05,1501,4.943,1512,5.848,1594,5.361,1629,1.786,1657,1.725,1684,1.473,1697,2.05,1809,3.11,1843,4.514,1846,2.194,1855,2.05,1857,1.943,1862,2.719,2011,2.194,2226,1.786,2227,1.725,2546,2.05,2547,1.624,2548,4.719,2560,1.857,2731,2.412,2732,4.04,2733,2.412,2734,2.412,2735,2.412,2736,1.943,2737,2.412,2738,2.412,2739,5.769,2740,4.04,2741,4.43,2742,4.04,2743,2.412,2744,2.412,2745,2.412,2746,2.412,2747,3.674,2748,2.194,2749,3.674,2750,2.412,2751,2.412,2752,3.254,2753,2.412,2754,2.194,2755,1.857,2756,2.194,2757,2.412,2758,2.412,2759,1.943,2760,2.412,2761,2.412,2762,2.412,2763,2.412,2764,2.412]],["component/48",[164,0.59]],["title/49-1",[18,7.15,84,19.53,1530,37.128]],["name/49-1",[]],["text/49-1",[]],["component/49-1",[]],["title/49-2",[85,28.024,395,52.368]],["name/49-2",[]],["text/49-2",[]],["component/49-2",[]],["title/49-3",[537,25.191,657,26.653]],["name/49-3",[]],["text/49-3",[]],["component/49-3",[]],["title/49-4",[546,15.183,549,21.987]],["name/49-4",[]],["text/49-4",[]],["component/49-4",[]],["title/49",[4,14.771,18,7.15,84,19.53]],["name/49",[18,0.342,84,0.935]],["text/49",[4,2.054,14,1.861,16,2.111,17,1.74,18,1.318,21,1.649,23,1.709,49,2.252,53,1.814,55,1.389,61,1.774,66,2.195,80,1.736,84,3.261,85,4.384,93,1.633,96,2.085,99,2.612,100,2.374,129,1.633,146,3.706,148,1.774,150,2.128,156,2.331,180,4.104,191,2.359,215,6.659,218,1.542,223,3.234,247,1.857,253,2.705,254,1.857,258,2.778,261,2.331,278,2.374,287,3.131,374,3.324,387,3.119,395,4.77,401,2.577,434,2.638,440,1.437,513,2.778,521,3.177,523,2.859,526,1.879,527,3.055,529,3.274,545,2.521,546,1.383,550,3.565,554,1.718,557,2.724,558,2.778,571,1.814,575,2.42,594,3.785,642,2.859,644,1.449,645,1.449,646,1.449,647,1.449,648,1.449,649,1.449,650,1.449,651,1.449,652,1.449,655,2.42,771,4.757,809,2.778,817,2.469,868,2.577,884,2.469,922,2.42,963,2.452,1027,2.607,1037,2.638,1120,3.324,1133,2.778,1202,2.705,1275,4.06,1284,2.951,1530,4.645,1690,2.859,1698,3.055,1727,3.177,2196,3.177,2260,3.753,2752,3.324,2765,7.52,2766,3.753,2767,4.127,2768,4.127,2769,4.127,2770,4.127,2771,4.127,2772,4.127,2773,4.127,2774,4.127]],["component/49",[164,0.59]],["title/50-1",[261,33.586,526,27.068,2775,59.452]],["name/50-1",[]],["text/50-1",[]],["component/50-1",[]],["title/50-2",[4,13.119,18,6.351,66,18.705,168,23.214]],["name/50-2",[]],["text/50-2",[]],["component/50-2",[]],["title/50-3",[18,6.351,23,14.567,59,19.919,311,26.682]],["name/50-3",[]],["text/50-3",[]],["component/50-3",[]],["title/50-4",[18,7.15,23,16.402,407,38.964]],["name/50-4",[]],["text/50-4",[]],["component/50-4",[]],["title/50-5",[4,14.771,9,44.013,18,7.15]],["name/50-5",[]],["text/50-5",[]],["component/50-5",[]],["title/50-6",[9,50.355,344,45.784]],["name/50-6",[]],["text/50-6",[]],["component/50-6",[]],["title/50-7",[259,38.964,292,38.964,560,38.006]],["name/50-7",[]],["text/50-7",[]],["component/50-7",[]],["title/50-8",[13,29.244,169,32.55]],["name/50-8",[]],["text/50-8",[]],["component/50-8",[]],["title/50-9",[23,16.402,84,19.53,1098,44.013]],["name/50-9",[]],["text/50-9",[]],["component/50-9",[]],["title/50-10",[18,7.15,90,23.759,1098,44.013]],["name/50-10",[]],["text/50-10",[]],["component/50-10",[]],["title/50-11",[537,25.191,657,26.653]],["name/50-11",[]],["text/50-11",[]],["component/50-11",[]],["title/50-12",[546,15.183,549,21.987]],["name/50-12",[]],["text/50-12",[]],["component/50-12",[]],["title/50",[4,13.119,18,6.351,180,22.456,526,24.04]],["name/50",[18,0.342,526,1.296]],["text/50",[1,1.922,4,1.355,8,0.603,9,1.061,10,0.825,14,1.955,15,0.669,16,2.05,17,1.802,18,1.322,21,1.702,23,2.215,25,1.338,30,2.66,33,0.705,34,0.97,36,1.606,39,0.714,41,1.025,45,1.104,46,0.94,47,0.796,51,0.669,53,1.873,55,1.434,56,1.572,59,1.85,63,0.591,66,2.844,67,2.002,68,0.645,70,0.858,71,0.567,72,0.758,76,0.546,77,0.841,80,1.082,81,1.792,84,1.399,85,1.755,87,0.705,90,2.926,91,1.427,94,2.123,96,2.153,97,0.638,100,2.451,101,3.199,115,1.338,117,1.411,137,1.591,138,0.653,146,2.718,148,2.345,150,2.012,151,0.94,157,2.234,167,1.025,168,2.156,169,2.347,174,0.677,180,4.044,186,0.94,191,3.371,192,0.686,195,1.219,200,2.039,209,0.81,215,3.431,218,2.039,221,2.091,236,1.219,239,1.717,241,0.796,242,0.77,254,1.157,258,2.352,259,0.94,261,2.407,263,3.412,267,0.94,268,0.841,271,2.677,272,3.292,275,1.318,287,1.299,301,0.714,306,1.215,311,2.153,313,1.143,314,1.781,315,2.347,329,1.219,338,1.082,346,1.061,348,0.735,352,1.061,384,1.155,387,2.86,395,1.104,401,0.895,403,3.776,407,1.685,424,0.825,425,0.965,427,0.796,437,2.011,440,0.499,490,3.703,509,1.304,510,0.841,521,1.104,523,2.421,526,3.202,527,1.903,528,0.895,531,0.841,533,2.587,537,0.952,538,1.219,539,1.219,542,0.895,543,2.722,545,2.135,546,1.324,547,0.695,549,0.463,554,1.455,556,2.224,575,0.841,583,1.281,585,1.685,595,0.858,610,1.025,623,1.061,644,0.504,645,0.504,646,1.496,647,1.496,648,0.504,649,0.504,650,0.903,651,0.504,652,0.504,655,0.841,664,2.934,672,0.705,674,0.895,676,2.691,688,0.917,704,0.858,707,0.77,709,1.025,717,1.061,723,2.451,729,1.155,732,1.247,735,2.439,761,0.876,763,0.917,765,1.685,771,4.832,784,0.782,786,1.304,809,0.965,813,1.219,822,1.479,824,0.841,835,0.825,862,1.304,884,2.548,906,1.643,913,0.965,918,0.677,924,0.895,930,1.061,933,1.876,948,1.685,955,1.643,960,0.965,961,2.498,963,1.017,986,1.155,1010,1.781,1024,1.643,1027,0.603,1032,0.993,1033,1.219,1036,1.643,1037,0.917,1038,1.304,1039,1.219,1041,1.155,1042,3.179,1043,2.338,1044,0.714,1045,0.993,1065,0.94,1087,1.155,1090,1.508,1098,1.903,1114,1.061,1140,0.858,1151,0.669,1153,2.352,1176,0.841,1202,0.94,1204,1.304,1207,1.304,1234,1.155,1275,4.798,1276,3.214,1284,1.025,1288,2.352,1323,1.219,1332,1.838,1348,1.219,1360,1.104,1512,4.536,1530,2.182,1556,1.025,1679,1.219,1690,0.993,1698,1.061,1970,1.104,2093,0.917,2222,1.219,2319,2.338,2350,1.304,2456,1.304,2546,1.219,2720,1.104,2736,2.071,2741,2.185,2749,1.304,2752,3.431,2754,1.304,2755,1.104,2756,1.304,2759,1.155,2765,2.338,2766,1.304,2776,1.434,2777,1.434,2778,1.434,2779,1.434,2780,1.434,2781,1.434,2782,1.434,2783,3.495,2784,2.571,2785,2.571,2786,2.571,2787,3.495,2788,1.434,2789,1.434,2790,2.571,2791,1.434,2792,1.434,2793,1.434,2794,1.304,2795,2.571,2796,1.434,2797,1.434,2798,2.571,2799,1.434,2800,1.434,2801,3.495,2802,1.434,2803,1.434,2804,1.434,2805,0.917,2806,2.571,2807,1.434,2808,1.434,2809,1.434,2810,1.434,2811,1.434,2812,1.304,2813,1.304,2814,1.304,2815,2.571,2816,1.434,2817,1.434,2818,1.155,2819,1.434,2820,1.434,2821,1.025,2822,1.304,2823,1.304,2824,1.304,2825,1.434,2826,1.304,2827,2.571,2828,1.155,2829,1.434,2830,1.434]],["component/50",[164,0.59]],["title/51-1",[63,24.494,531,34.863,2729,44.013]],["name/51-1",[]],["text/51-1",[]],["component/51-1",[]],["title/51-2",[16,12.127,17,9.995,18,5.712,97,21.119,180,20.197]],["name/51-2",[]],["text/51-2",[]],["component/51-2",[]],["title/51-3",[180,28.927,2831,61.865]],["name/51-3",[]],["text/51-3",[]],["component/51-3",[]],["title/51-4",[537,25.191,657,26.653]],["name/51-4",[]],["text/51-4",[]],["component/51-4",[]],["title/51-5",[546,15.183,549,21.987]],["name/51-5",[]],["text/51-5",[]],["component/51-5",[]],["title/51",[16,12.127,17,9.995,18,5.712,97,21.119,180,20.197]],["name/51",[17,0.443,97,0.937,180,0.896]],["text/51",[0,1.417,1,2.362,2,1.754,3,0.885,4,0.589,8,0.997,14,1.82,16,2.567,17,2.192,18,1.147,19,1.417,21,0.947,23,0.654,25,2.071,30,2.485,33,1.956,34,0.894,44,1.119,55,2.262,56,1.066,57,2.071,59,3.185,61,1.019,63,3.186,65,4.505,66,1.823,67,2.466,68,1.79,90,1.59,97,3.879,115,1.233,148,2.592,150,1.138,158,1.363,162,4.196,168,2.262,180,4.542,191,1.515,196,2.011,198,1.149,202,1.956,223,1.03,246,2.014,258,1.595,272,1.315,301,3.853,306,1.119,311,2.011,314,3.564,315,3.216,327,3.619,375,1.315,387,1.501,401,1.479,407,1.553,424,2.289,425,1.595,437,1.363,440,0.825,445,1.066,472,4.679,510,3.017,513,1.595,523,1.641,526,1.812,529,3.185,531,4.76,537,1.474,545,2.431,546,0.888,612,1.389,614,2.155,637,2.155,644,0.832,645,0.832,646,0.832,647,0.832,648,0.832,649,0.832,650,0.832,651,0.832,652,0.832,655,3.94,661,1.694,664,3.078,696,3.678,732,1.149,761,1.447,764,1.694,790,1.595,800,1.18,835,2.289,884,2.38,913,1.595,946,1.215,950,1.164,955,2.544,963,0.937,1010,1.641,1037,1.514,1047,1.694,1084,2.014,1088,2.906,1090,2.333,1110,2.757,1150,2.155,1151,1.856,1153,1.595,1218,4.855,1274,1.514,1275,5.716,1276,3.372,1414,1.908,1512,3.678,1536,1.641,1594,2.608,1690,1.641,1884,2.155,2352,4.679,2436,1.908,2522,5.123,2548,2.856,2715,2.155,2729,1.754,2736,3.205,2739,2.014,2741,4.373,2759,1.908,2812,7.383,2818,1.908,2822,5.482,2831,4.679,2832,2.369,2833,2.369,2834,2.369,2835,2.369,2836,2.155,2837,2.369,2838,6.028,2839,2.369,2840,3.979,2841,2.369,2842,2.369,2843,2.155,2844,2.369,2845,2.369,2846,2.369,2847,6.028,2848,3.979,2849,5.145,2850,5.145,2851,2.369,2852,2.369,2853,2.369,2854,2.369,2855,2.369,2856,2.369,2857,3.979,2858,2.369,2859,2.369,2860,2.369,2861,5.145,2862,2.369,2863,2.369,2864,2.155,2865,2.369,2866,2.369,2867,2.369,2868,1.908,2869,2.369,2870,2.369,2871,2.369,2872,2.369,2873,2.369,2874,2.369]],["component/51",[164,0.59]],["title/52-1",[13,29.244,169,32.55]],["name/52-1",[]],["text/52-1",[]],["component/52-1",[]],["title/52-2",[13,29.244,169,32.55]],["name/52-2",[]],["text/52-2",[]],["component/52-2",[]],["title/52-3",[523,55.058]],["name/52-3",[]],["text/52-3",[]],["component/52-3",[]],["title/52-4",[70,31.587,71,20.894,371,44.878,2875,48.025]],["name/52-4",[]],["text/52-4",[]],["component/52-4",[]],["title/52-5",[18,7.15,261,33.586,2093,38.006]],["name/52-5",[]],["text/52-5",[]],["component/52-5",[]],["title/52-6",[12,29.57,103,26.653]],["name/52-6",[]],["text/52-6",[]],["component/52-6",[]],["title/52",[16,9.315,17,7.678,18,4.387,180,15.514,258,24.555,523,25.273,545,22.284,546,8.143]],["name/52",[545,1.739,546,0.635]],["text/52",[6,3.498,8,1.983,12,2.97,13,3.456,16,1.203,17,1.692,18,1.211,21,1.883,23,1.3,25,3.556,39,2.348,43,2.452,49,2.572,51,2.198,52,2.943,56,3.074,65,2.616,66,1.669,67,1.729,70,2.819,71,1.865,72,2.49,76,3.564,77,2.763,78,2.49,80,1.983,82,2.49,84,2.64,91,2.616,100,2.711,103,3.455,109,1.962,117,2.758,129,1.865,136,2.878,139,3.369,148,2.026,152,3.012,153,2.943,169,3.27,174,4.165,177,3.369,180,3.418,196,3.453,202,2.316,218,1.761,223,2.048,234,2.763,235,1.745,241,2.616,242,2.53,246,4.005,257,2.381,261,4.541,264,3.628,270,6.214,287,2.381,292,4.478,301,2.348,338,1.983,346,3.488,361,4.286,371,4.005,445,2.12,518,2.819,526,3.111,529,2.49,531,2.763,535,3.088,546,1.052,571,2.072,672,2.316,676,3.628,729,3.795,732,2.285,765,3.088,796,2.53,906,3.012,918,2.226,924,2.943,933,2.53,961,2.763,1025,4.005,1031,3.369,1041,3.795,1153,3.172,1216,3.488,1360,5.26,1648,4.005,2093,3.012,2453,4.286,2548,2.616,2826,4.286,2875,4.286,2876,4.712,2877,4.712,2878,4.712,2879,4.286,2880,4.286,2881,4.712,2882,4.712,2883,4.712,2884,4.712]],["component/52",[164,0.59]],["title/53-1",[247,30.603,272,37.756]],["name/53-1",[]],["text/53-1",[]],["component/53-1",[]],["title/53-2",[261,33.586,526,27.068,543,33]],["name/53-2",[]],["text/53-2",[]],["component/53-2",[]],["title/53-3",[261,33.586,543,33,2093,38.006]],["name/53-3",[]],["text/53-3",[]],["component/53-3",[]],["title/53-4",[537,25.191,657,26.653]],["name/53-4",[]],["text/53-4",[]],["component/53-4",[]],["title/53-5",[546,15.183,549,21.987]],["name/53-5",[]],["text/53-5",[]],["component/53-5",[]],["title/53",[4,11.799,18,5.712,272,26.36,542,29.658,543,26.36]],["name/53",[18,0.253,272,1.169,543,1.169]],["text/53",[1,0.975,4,1.324,9,3.07,12,1.082,14,0.623,15,1.161,16,1.059,17,0.873,18,1.337,21,3.312,25,3.236,30,3.329,34,2.814,50,1.12,52,1.554,59,3.993,63,1.025,66,3.522,67,1.522,72,2.191,85,1.708,103,0.975,113,1.161,117,2.152,136,1.52,148,1.07,168,1.094,180,3.66,186,1.631,200,3.57,202,2.62,233,2.873,235,0.922,239,3.666,247,1.866,258,1.675,259,2.718,261,3.513,263,1.432,267,2.718,268,1.459,272,4.777,287,2.095,292,1.631,311,3.77,313,1.107,314,5.742,353,2.005,365,1.191,379,1.223,395,1.916,440,0.867,510,1.459,513,1.675,523,1.724,526,3.145,528,1.554,529,4.817,537,0.922,542,1.554,543,5.698,545,1.52,546,0.926,547,1.207,550,3.974,554,1.036,555,3.72,560,1.591,575,5.466,583,2.656,611,3.393,625,2.226,644,0.874,645,0.874,646,0.874,647,0.874,648,0.874,649,0.874,650,0.874,651,0.874,652,0.874,664,4.463,669,4.889,730,3.193,732,2.011,765,2.718,800,2.066,842,2.115,868,1.554,884,3.189,917,2.005,951,3.408,955,1.591,960,1.675,961,2.432,962,1.459,963,1.641,1027,1.047,1078,5.285,1084,3.525,1087,3.34,1098,1.842,1115,3.525,1120,6.009,1148,3.193,1418,1.842,1446,1.631,1561,2.481,1562,3.525,1684,1.52,1698,3.07,1762,4.65,1970,3.193,2093,2.651,2211,2.115,2739,2.115,2752,3.34,2794,4.848,2813,2.264,2814,3.772,2864,2.264,2885,6.218,2886,2.489,2887,2.489,2888,4.147,2889,2.489,2890,2.489,2891,2.489,2892,4.147,2893,4.147,2894,4.147,2895,2.489,2896,2.489,2897,2.489,2898,2.489,2899,2.489,2900,2.264,2901,2.489,2902,2.489,2903,2.489,2904,2.489]],["component/53",[164,0.59]],["title/54-1",[14,14.872,23,16.402,150,17.007]],["name/54-1",[]],["text/54-1",[]],["component/54-1",[]],["title/54-2",[18,7.15,21,23.759,23,16.402]],["name/54-2",[]],["text/54-2",[]],["component/54-2",[]],["title/54-3",[14,10.794,18,5.19,21,17.244,22,28.279,23,11.904,202,21.205]],["name/54-3",[]],["text/54-3",[]],["component/54-3",[]],["title/54-4",[8,25.014,18,7.15,202,29.217]],["name/54-4",[]],["text/54-4",[]],["component/54-4",[]],["title/54-5",[537,25.191,657,26.653]],["name/54-5",[]],["text/54-5",[]],["component/54-5",[]],["title/54-6",[546,15.183,549,21.987]],["name/54-6",[]],["text/54-6",[]],["component/54-6",[]],["title/54",[14,10.794,18,5.19,21,17.244,99,15.153,104,18.97,202,21.205]],["name/54",[18,0.167,21,0.554,99,0.487,104,0.609,202,0.681]],["text/54",[0,0.925,1,2.24,3,1.683,4,0.683,8,0.65,14,2.158,15,1.282,16,1.688,17,1.648,18,1.25,21,3.874,22,5.654,23,2.464,34,2.337,44,1.299,50,0.695,51,1.732,53,1.632,55,2.347,59,1.698,61,0.664,66,1.315,67,2.425,68,1.237,69,2.337,71,0.612,73,1.071,84,0.508,85,2.552,93,1.469,94,0.77,97,3.676,98,2.973,99,3.737,104,3.543,112,0.925,119,2.75,129,1.781,137,0.704,148,1.182,150,2.419,154,0.906,191,3.499,192,1.316,199,0.988,202,4.843,218,0.578,223,1.614,235,3.132,238,1.314,257,1.876,261,3.23,264,1.19,267,1.013,268,0.906,275,0.792,278,0.889,301,1.37,315,3.163,333,2.062,338,1.157,359,3.333,366,2.654,375,0.858,387,1.698,411,2.864,440,0.538,445,1.237,510,0.906,527,1.144,531,1.612,546,0.345,557,1.632,558,1.04,575,0.906,583,2.243,607,0.749,622,1.314,644,0.543,645,0.543,646,2.448,647,0.543,648,0.543,649,0.543,650,0.543,651,0.543,652,0.543,655,0.906,669,1.802,689,1.144,690,1.19,705,1.013,709,1.105,713,0.781,723,1.582,725,2.417,731,1.825,735,2.381,763,1.757,771,4.756,776,0.858,794,0.944,835,0.889,880,2.499,912,1.582,918,1.299,933,1.993,950,0.76,963,0.612,995,1.144,1014,0.843,1024,1.757,1027,1.562,1032,1.904,1036,0.988,1047,1.105,1072,0.889,1088,2.097,1090,1.612,1136,1.644,1137,1.19,1138,2.438,1140,0.925,1151,2.1,1155,0.925,1176,0.906,1178,1.582,1179,0.925,1202,1.802,1265,5.925,1266,2.319,1274,0.988,1518,2.858,1519,2.214,1547,1.245,1550,1.245,1582,2.336,1587,1.314,1594,4.778,1601,1.406,1615,1.904,1657,1.105,1669,1.105,1684,0.944,1720,1.314,1762,1.85,1825,1.245,1827,1.314,2049,2.654,2050,1.406,2226,1.144,2227,1.965,2228,1.406,2373,2.5,2547,2.499,2548,2.864,2555,3.156,2730,1.406,2755,2.116,2843,1.406,2905,3.713,2906,1.545,2907,1.545,2908,1.545,2909,1.144,2910,4.156,2911,1.545,2912,7.991,2913,4.502,2914,1.545,2915,1.545,2916,1.545,2917,1.545,2918,1.545,2919,1.545,2920,3.156,2921,3.713,2922,2.99,2923,3.377,2924,1.545,2925,1.545,2926,1.314,2927,4.502,2928,3.626,2929,1.545,2930,1.314,2931,1.545,2932,1.545,2933,2.749,2934,3.377,2935,3.377,2936,1.406,2937,2.749,2938,2.749,2939,1.545,2940,1.545,2941,1.245,2942,1.545,2943,1.545,2944,1.545,2945,1.545,2946,1.545]],["component/54",[164,0.59]],["title/55",[]],["name/55",[18,0.201,21,0.668,202,0.822,2947,1.672]],["text/55",[]],["component/55",[164,0.59]],["title/56-1",[103,20.69,148,22.702,200,25.268,912,30.379]],["name/56-1",[]],["text/56-1",[]],["component/56-1",[]],["title/56-2",[18,6.351,23,14.567,66,18.705,148,22.702]],["name/56-2",[]],["text/56-2",[]],["component/56-2",[]],["title/56-3",[14,10.794,18,5.19,23,11.904,66,15.285,103,16.908,104,18.97]],["name/56-3",[]],["text/56-3",[]],["component/56-3",[]],["title/56-4",[14,10.794,18,5.19,23,11.904,66,15.285,104,18.97,148,18.552]],["name/56-4",[]],["text/56-4",[]],["component/56-4",[]],["title/56-5",[14,10.794,18,5.19,23,11.904,66,15.285,99,15.153,104,18.97]],["name/56-5",[]],["text/56-5",[]],["component/56-5",[]],["title/56-6",[546,15.183,549,21.987]],["name/56-6",[]],["text/56-6",[]],["component/56-6",[]],["title/56",[17,9.995,18,5.712,23,13.102,66,16.823,148,20.418]],["name/56",[66,1.008,148,1.224]],["text/56",[3,1.188,4,1.629,6,0.952,14,2.195,16,1.732,17,1.208,18,1.289,19,0.588,21,2.165,22,1.194,23,2.534,25,1.325,30,4.094,33,0.895,34,2.473,44,1.203,50,0.82,51,0.85,53,0.801,55,1.824,59,0.371,66,2.878,67,2.315,69,0.687,71,0.389,84,0.599,85,2.366,87,0.483,93,0.721,94,1.269,97,3.355,98,1.903,99,3.38,102,0.601,103,3.831,104,4.099,110,3.336,114,1.235,122,0.546,129,2.144,136,0.601,137,1.924,138,0.83,148,3.645,150,1.941,153,0.614,161,0.566,162,1.138,169,0.47,175,0.681,181,1.165,191,2.299,192,0.47,196,1.606,198,1.235,199,1.165,200,2.233,202,2.822,217,0.921,218,1.58,221,0.588,223,1.382,235,1.565,247,2.099,254,0.442,261,0.555,263,1.048,265,0.681,268,1.864,271,0.537,275,1.306,287,1.287,294,0.728,306,2.56,311,1.287,313,0.81,315,3.442,333,2.295,338,0.414,365,2.748,375,0.546,379,0.895,387,2.379,401,0.614,411,0.546,424,2.912,425,1.714,431,0.792,434,1.628,440,0.342,445,0.442,483,0.644,510,2.478,513,0.662,518,0.588,529,0.52,530,0.836,533,0.728,534,0.614,543,1.413,546,0.219,547,0.477,551,1.714,554,1.323,556,1.038,583,1.269,607,1.235,611,0.994,619,1.194,625,0.978,633,2.139,642,1.262,644,0.894,645,0.345,646,2.302,647,1.116,648,0.345,649,0.345,650,0.345,651,0.345,652,0.345,654,1.864,655,3.177,696,1.821,713,1.287,725,0.528,732,0.883,735,2.207,761,0.601,762,2.447,763,2.387,764,2.272,765,1.669,768,2.353,770,1.714,771,3.771,805,1.068,809,1.226,817,1.09,860,0.728,888,1.194,912,2.685,913,0.662,918,0.861,932,0.728,933,1.367,946,0.934,950,1.562,960,0.662,962,1.068,963,0.721,983,0.681,1012,0.681,1014,0.994,1015,0.588,1022,0.662,1024,1.628,1027,1.071,1030,0.588,1032,1.764,1036,5.11,1037,0.628,1044,0.49,1072,1.465,1088,1.438,1114,0.728,1136,0.588,1138,2.204,1151,1.742,1155,0.588,1166,1.113,1168,1.165,1176,1.493,1178,2.432,1179,1.523,1202,0.644,1242,1.349,1266,0.614,1267,1.468,1268,1.468,1270,0.728,1271,0.757,1274,3.235,1275,4.446,1276,0.644,1284,0.703,1288,1.226,1290,0.792,1296,0.728,1332,0.703,1352,1.403,1355,0.792,1449,0.728,1501,0.662,1512,0.703,1536,0.681,1561,0.588,1615,0.681,1657,1.821,1666,0.728,1673,0.644,1677,1.262,1684,1.113,1727,1.403,1728,1.226,1762,2.513,1769,1.669,1822,0.728,1842,1.468,1843,1.349,1881,0.836,1894,0.792,1959,0.662,1972,1.468,2022,0.728,2046,0.703,2062,0.728,2196,0.757,2226,1.885,2227,1.821,2547,1.714,2548,3.007,2555,0.836,2707,0.792,2747,1.657,2818,0.792,2828,1.468,2868,0.792,2879,1.657,2909,0.728,2910,2.56,2922,0.792,2923,0.894,2926,0.836,2928,1.468,2941,0.792,2948,0.894,2949,0.983,2950,5.061,2951,0.983,2952,0.983,2953,4.226,2954,1.822,2955,0.983,2956,0.983,2957,0.983,2958,0.983,2959,0.983,2960,0.983,2961,0.983,2962,0.983,2963,0.983,2964,0.983,2965,0.983,2966,1.822,2967,0.983,2968,0.983,2969,1.822,2970,0.894,2971,0.983,2972,0.983,2973,0.983,2974,1.403,2975,0.894,2976,0.894,2977,0.894,2978,0.894,2979,0.983,2980,0.983,2981,0.983,2982,0.983,2983,0.836,2984,0.836,2985,0.836,2986,0.836,2987,1.549,2988,0.836,2989,0.836,2990,0.836,2991,0.836,2992,0.836,2993,0.836,2994,0.836,2995,3.966,2996,3.966,2997,2.701,2998,0.836,2999,0.836,3000,2.164,3001,2.164,3002,2.164,3003,2.164,3004,2.164,3005,2.164,3006,2.164,3007,2.164,3008,0.836,3009,2.164,3010,0.836,3011,0.894,3012,0.836,3013,1.468,3014,0.836,3015,1.549,3016,0.836,3017,0.836,3018,0.836,3019,0.836,3020,0.836,3021,0.836,3022,0.836,3023,0.836,3024,1.549,3025,0.757,3026,0.836,3027,0.983,3028,0.836,3029,1.549,3030,1.549,3031,0.836,3032,1.549,3033,1.549,3034,1.549,3035,1.549,3036,0.836,3037,0.836,3038,0.836,3039,0.836,3040,0.836,3041,0.836,3042,0.836,3043,0.983,3044,0.836,3045,0.836,3046,0.836]],["component/56",[164,0.59]],["title/57-1",[97,26.439,103,23.296,531,34.863]],["name/57-1",[]],["text/57-1",[]],["component/57-1",[]],["title/57-2",[18,6.351,23,14.567,66,18.705,531,30.963]],["name/57-2",[]],["text/57-2",[]],["component/57-2",[]],["title/57-3",[14,10.794,18,5.19,23,11.904,66,15.285,103,16.908,104,18.97]],["name/57-3",[]],["text/57-3",[]],["component/57-3",[]],["title/57-4",[14,10.794,18,5.19,23,11.904,66,15.285,104,18.97,148,18.552]],["name/57-4",[]],["text/57-4",[]],["component/57-4",[]],["title/57-5",[14,10.794,18,5.19,23,11.904,66,15.285,99,15.153,104,18.97]],["name/57-5",[]],["text/57-5",[]],["component/57-5",[]],["title/57-6",[546,15.183,549,21.987]],["name/57-6",[]],["text/57-6",[]],["component/57-6",[]],["title/57",[16,11.018,17,9.081,18,5.19,23,11.904,66,15.285,531,25.303]],["name/57",[66,1.008,531,1.669]],["text/57",[0,0.474,1,1.237,3,0.995,4,1.389,6,0.788,14,2.33,15,0.37,16,1.427,17,0.922,18,1.272,19,0.474,21,2.332,22,1.382,23,2.454,25,1.097,30,3.49,33,0.732,34,2.201,44,0.996,47,0.44,50,0.67,51,1.473,53,1.17,55,1.695,59,0.795,65,0.44,66,2.731,67,2.63,68,0.357,69,0.562,71,0.314,81,1.364,82,0.787,84,1.654,85,2.404,91,0.44,93,0.59,94,1.326,97,3.788,98,1.636,99,3.192,102,1.626,103,3.843,104,4.072,106,0.753,108,0.433,110,2.869,114,1.022,115,0.412,129,1.869,137,1.996,138,0.678,148,2.867,150,1.958,153,0.931,169,0.379,175,0.549,181,0.953,182,0.474,191,2.391,192,0.379,196,1.345,198,1.29,199,0.507,200,1.725,202,3.521,217,0.753,218,1.348,221,1.261,223,0.345,235,1.865,247,1.805,254,0.67,261,3.548,265,1.844,268,1.56,271,0.433,272,0.44,275,1.364,282,0.549,287,2.215,294,0.587,301,1.796,306,2.64,311,0.401,313,0.663,315,3.992,333,2.127,338,1.12,352,1.103,365,2.675,375,0.44,379,1.308,387,2.108,401,0.495,411,0.44,414,0.721,424,3.062,425,2.125,431,0.638,434,1.348,440,0.276,445,0.67,451,1.791,483,0.519,510,2.114,518,0.891,529,0.419,531,5.632,532,0.953,534,0.495,543,1.477,546,0.177,551,0.534,554,1.108,556,0.608,557,0.348,571,0.348,575,0.465,583,1.326,595,1.889,602,0.721,607,1.29,611,0.813,619,0.977,625,0.8,633,1.791,642,1.032,644,0.741,645,0.278,646,2.205,647,0.278,648,0.278,649,0.278,650,0.278,651,0.278,652,0.278,653,0.433,654,1.56,655,2.769,662,0.401,696,1.508,713,1.345,725,0.426,731,1.036,732,0.723,735,2.414,762,2.873,763,2.305,764,1.903,765,1.744,768,2.337,770,1.791,771,3.613,805,0.874,809,1.003,817,0.891,860,0.587,880,1.003,888,0.977,912,2.897,913,0.534,918,0.996,932,0.587,933,0.8,946,0.764,950,1.552,962,0.874,963,0.314,1013,0.456,1014,0.813,1015,0.474,1022,1.003,1024,1.701,1027,0.887,1030,0.474,1032,1.844,1036,5.004,1037,0.953,1072,1.531,1085,0.495,1088,2.037,1114,0.587,1136,1.889,1138,2.071,1151,1.682,1155,0.474,1166,0.91,1168,0.953,1176,1.56,1178,2.522,1179,1.592,1202,0.519,1242,1.103,1266,0.495,1267,1.2,1268,1.2,1270,0.587,1271,0.61,1274,2.802,1275,4.594,1276,0.519,1284,0.567,1288,1.003,1290,0.638,1296,0.587,1316,0.567,1332,0.567,1352,0.61,1355,0.638,1372,0.549,1443,0.587,1536,0.549,1561,1.889,1594,3.488,1615,0.549,1629,0.587,1657,1.903,1666,0.587,1673,0.519,1677,1.032,1684,0.484,1706,1.065,1727,1.147,1728,1.003,1750,0.674,1762,2.701,1769,0.519,1822,0.587,1842,1.2,1843,1.103,1959,0.534,1972,0.638,2022,1.561,2046,0.567,2062,0.587,2092,0.674,2226,1.97,2227,1.903,2524,0.674,2545,0.721,2547,1.419,2548,2.433,2707,0.638,2720,0.61,2729,0.587,2748,1.355,2755,0.61,2818,0.638,2821,0.567,2836,0.721,2868,0.638,2909,0.587,2910,2.143,2912,0.721,2920,0.674,2922,0.638,2928,1.2,2934,0.721,2935,3.279,2936,0.721,2941,0.638,2970,0.721,2974,1.147,2975,0.721,2976,0.721,2977,0.721,2978,0.721,2983,0.674,2984,0.674,2985,0.674,2986,0.674,2987,1.267,2988,0.674,2989,0.674,2990,0.674,2991,0.674,2992,0.674,2993,0.674,2994,0.674,2995,4.014,2996,4.014,2997,2.683,2998,0.674,2999,0.674,3000,2.262,3001,2.262,3002,2.262,3003,2.262,3004,2.262,3005,2.262,3006,2.262,3007,2.262,3008,0.674,3009,1.792,3010,0.674,3011,0.721,3012,0.674,3013,1.2,3014,0.674,3015,1.267,3016,0.674,3017,0.674,3018,0.674,3019,0.674,3020,0.674,3021,0.674,3022,0.674,3023,0.674,3024,1.267,3025,0.61,3026,0.674,3028,0.674,3029,1.267,3030,1.267,3031,0.674,3032,1.267,3033,1.267,3034,1.267,3035,1.267,3036,0.674,3037,0.674,3038,0.674,3039,0.674,3040,0.674,3041,1.267,3042,0.674,3044,0.674,3045,0.674,3046,0.674,3047,0.793,3048,0.793,3049,2.661,3050,0.793,3051,0.793,3052,0.793,3053,0.793,3054,0.793,3055,0.793,3056,3.157,3057,0.793,3058,0.793,3059,0.793,3060,0.793,3061,0.793,3062,0.793,3063,0.793,3064,0.793,3065,0.793,3066,0.793,3067,0.793,3068,0.793]],["component/57",[164,0.59]],["title/58-1",[97,26.439,257,30.043,532,38.006]],["name/58-1",[]],["text/58-1",[]],["component/58-1",[]],["title/58-2",[18,6.351,23,14.567,66,18.705,257,26.682]],["name/58-2",[]],["text/58-2",[]],["component/58-2",[]],["title/58-3",[2548,33,2729,44.013,3069,54.074]],["name/58-3",[]],["text/58-3",[]],["component/58-3",[]],["title/58-4",[14,10.794,18,5.19,23,11.904,66,15.285,103,16.908,104,18.97]],["name/58-4",[]],["text/58-4",[]],["component/58-4",[]],["title/58-5",[14,10.794,18,5.19,23,11.904,66,15.285,104,18.97,257,21.804]],["name/58-5",[]],["text/58-5",[]],["component/58-5",[]],["title/58-6",[14,10.794,18,5.19,23,11.904,66,15.285,99,15.153,104,18.97]],["name/58-6",[]],["text/58-6",[]],["component/58-6",[]],["title/58-7",[546,15.183,549,21.987]],["name/58-7",[]],["text/58-7",[]],["component/58-7",[]],["title/58",[16,11.018,17,9.081,18,5.19,23,11.904,66,15.285,257,21.804]],["name/58",[66,1.008,257,1.438]],["text/58",[3,0.907,4,1.38,6,1.337,13,0.4,14,2.241,16,1.922,17,1.584,18,1.275,19,1.451,21,1.622,22,1.134,23,2.513,25,0.9,30,4.12,33,1.192,34,1.694,44,1.146,50,0.778,51,1.417,52,0.58,53,0.76,55,1.512,59,0.915,61,0.4,66,2.944,67,2.246,68,0.778,69,1.694,71,0.368,81,0.887,84,0.305,85,2.288,87,0.457,93,0.684,94,1.209,97,3.414,98,1.831,99,3.199,103,3.597,104,3.939,110,3.211,114,0.839,115,0.484,122,0.516,129,2.071,137,1.848,138,0.787,148,1.745,150,1.887,153,2.535,157,2.595,168,0.409,169,0.445,175,0.644,177,1.237,180,1.291,181,1.106,191,2.424,192,0.445,196,1.534,198,1.176,199,0.594,200,1.453,202,4.085,217,0.874,218,1.517,221,0.556,223,1.054,235,1.663,239,0.85,247,2.02,254,0.418,257,4.673,261,0.525,263,0.535,267,0.609,268,1.422,271,0.507,275,1.244,278,0.535,287,1.226,301,0.463,302,0.525,306,2.472,311,1.534,313,0.769,315,2.928,333,1.95,338,0.391,365,2.658,375,0.516,379,0.85,387,2.095,390,0.535,401,0.58,407,0.609,411,0.516,424,2.808,425,1.633,431,0.749,434,1.106,440,0.324,457,0.688,483,0.609,510,2.633,517,0.749,518,0.556,528,0.58,529,0.491,532,2.287,534,0.58,543,1.346,546,0.207,547,0.451,549,0.3,551,2.408,554,1.264,556,0.705,557,0.409,567,0.626,583,1.209,601,0.545,607,1.176,611,0.944,619,1.134,625,0.929,633,2.044,642,1.198,644,0.852,645,0.326,646,1.838,647,0.607,648,0.326,649,0.326,650,0.852,651,0.326,652,0.326,653,0.507,654,0.545,655,1.422,664,1.451,696,1.734,704,0.556,713,1.226,725,0.499,731,0.457,732,1.176,735,1.56,762,2.344,763,2.287,764,1.734,765,1.59,768,2.248,770,1.633,771,3.663,805,1.014,809,1.164,817,1.035,834,0.845,860,0.688,868,0.58,888,1.134,912,1.395,913,0.626,918,0.439,932,0.688,933,0.929,946,0.887,950,1.758,962,2.38,963,0.684,1013,0.535,1014,0.944,1015,0.556,1021,0.491,1022,1.164,1024,1.551,1027,0.391,1032,1.68,1036,4.998,1047,0.665,1072,1.395,1085,0.58,1088,1.37,1114,0.688,1136,0.556,1138,1.69,1151,1.893,1155,0.556,1166,1.057,1168,1.106,1176,1.422,1178,2.335,1179,1.451,1202,1.99,1242,1.28,1266,0.58,1267,1.393,1268,1.393,1270,0.688,1271,0.716,1274,2.595,1276,0.609,1284,0.665,1288,1.164,1290,0.749,1296,1.796,1316,0.665,1323,0.79,1332,0.665,1355,0.749,1512,1.237,1528,0.609,1529,0.609,1536,0.644,1561,0.556,1594,0.609,1615,0.644,1657,1.734,1666,0.688,1669,0.665,1677,1.198,1684,2.981,1727,1.332,1728,1.164,1731,4.971,1750,0.79,1762,3.023,1769,0.609,1809,0.716,1822,0.688,1842,1.393,1870,0.845,1887,0.626,1959,0.626,1972,1.393,2001,0.845,2022,2.248,2046,0.665,2062,0.688,2176,1.573,2226,1.796,2227,1.734,2349,0.845,2522,3.04,2524,0.79,2533,0.845,2547,3.285,2548,4.088,2560,1.332,2707,0.749,2729,0.688,2755,0.716,2759,0.749,2828,0.749,2868,0.749,2909,0.688,2910,2.446,2920,0.79,2922,0.749,2926,0.79,2928,2.881,2930,0.79,2941,0.749,2948,0.845,2974,1.332,2983,0.79,2984,0.79,2985,0.79,2986,0.79,2987,1.47,2988,0.79,2989,0.79,2990,0.79,2991,0.79,2992,0.79,2993,0.79,2994,0.79,2995,3.817,2996,3.817,2997,2.581,2998,0.79,2999,0.79,3000,2.062,3001,2.062,3002,2.062,3003,2.062,3004,2.062,3005,2.062,3006,2.062,3007,2.062,3008,0.79,3009,2.062,3010,0.79,3012,0.79,3013,1.393,3014,0.79,3015,1.47,3016,0.79,3017,0.79,3018,0.79,3019,0.79,3020,0.79,3021,0.79,3022,0.79,3023,0.79,3024,1.47,3025,1.867,3026,0.79,3028,0.79,3029,1.47,3030,1.47,3031,0.79,3032,1.47,3033,1.47,3034,1.47,3035,1.47,3036,0.79,3037,0.79,3038,0.79,3039,0.79,3040,0.79,3041,0.79,3042,0.79,3044,0.79,3045,0.79,3046,0.79,3069,4.084,3070,0.929,3071,0.929,3072,0.929,3073,0.929,3074,0.929,3075,0.929,3076,1.73,3077,1.73,3078,0.929,3079,0.929,3080,0.929,3081,0.929,3082,0.929,3083,0.929,3084,1.73,3085,3.577,3086,0.929,3087,0.929,3088,3.577,3089,1.73,3090,2.426,3091,0.929,3092,0.929,3093,0.929]],["component/58",[164,0.59]],["title/59-1",[4,13.119,84,17.345,148,22.702,252,31.587]],["name/59-1",[]],["text/59-1",[]],["component/59-1",[]],["title/59-2",[4,13.119,148,22.702,252,31.587,3094,52.802]],["name/59-2",[]],["text/59-2",[]],["component/59-2",[]],["title/59-3",[4,9.822,16,10.096,17,8.321,18,4.755,148,16.998,150,11.31,252,23.65]],["name/59-3",[]],["text/59-3",[]],["component/59-3",[]],["title/59-4",[4,13.119,148,22.702,252,31.587,571,23.214]],["name/59-4",[]],["text/59-4",[]],["component/59-4",[]],["title/59-5",[4,13.119,72,27.904,200,25.268,252,31.587]],["name/59-5",[]],["text/59-5",[]],["component/59-5",[]],["title/59-6",[537,25.191,657,26.653]],["name/59-6",[]],["text/59-6",[]],["component/59-6",[]],["title/59-7",[546,15.183,549,21.987]],["name/59-7",[]],["text/59-7",[]],["component/59-7",[]],["title/59",[4,10.72,16,11.018,17,9.081,18,5.19,148,18.552,252,25.812]],["name/59",[4,0.523,148,0.906,252,1.26]],["text/59",[1,0.832,4,2.549,13,2.041,14,2.418,15,2.215,16,0.926,18,0.675,23,2.308,25,1.887,31,1.089,33,1.043,34,2.118,36,1.326,43,2.922,44,1.003,46,1.391,51,0.99,56,3.09,57,1.105,59,0.801,61,0.913,67,3.07,68,1.632,71,1.878,76,0.808,78,1.122,84,2.256,85,2.313,90,0.848,93,1.435,99,2.577,103,2.2,104,0.933,109,0.884,113,1.692,114,1.029,137,1.651,138,0.967,145,1.326,148,4.376,150,1.804,151,5.068,157,3.034,169,1.735,191,3.768,196,2.399,199,1.357,200,1.016,209,2.049,217,1.073,223,0.923,228,1.572,235,1.758,252,5.004,253,4.132,254,2.136,257,1.073,263,1.221,301,1.807,306,2.243,314,1.471,326,1.635,333,0.848,338,0.893,341,1.073,349,1.178,356,1.572,375,1.178,387,2.379,390,1.221,398,2.593,401,2.265,422,2.441,437,2.086,440,0.739,445,0.955,525,2.049,528,1.326,533,1.572,537,2.989,545,2.215,546,0.474,549,1.534,557,3.4,558,1.429,567,4.939,571,2.087,633,5.205,642,6.129,644,0.746,645,0.746,646,0.746,647,0.746,648,0.746,649,0.746,650,0.746,651,0.746,652,0.746,654,1.245,655,3.292,657,0.832,662,1.073,664,2.84,670,2.512,672,1.043,676,1.635,703,2.9,705,1.391,707,1.947,711,1.159,716,2.127,731,1.043,735,0.816,741,6.178,753,1.931,759,1.471,761,3.429,771,1.221,800,1.807,950,1.043,963,0.84,1010,4.368,1015,2.169,1044,1.058,1065,1.391,1099,1.71,1101,1.805,1153,1.429,1225,2.792,1308,3.823,1563,1.572,1569,6.247,1570,4.317,1571,3.298,1572,1.931,1573,1.931,1574,5.532,1589,1.297,1615,3.289,1669,1.518,1677,1.471,1705,5.106,1728,2.441,1729,1.931,1959,1.429,2055,1.805,2056,1.805,2057,1.805,2113,1.931,2160,1.931,2186,1.805,2217,1.931,2416,1.805,3095,2.123,3096,3.626,3097,2.123,3098,2.123,3099,2.123,3100,2.123,3101,2.123,3102,2.123,3103,2.123,3104,2.123,3105,3.626,3106,2.123,3107,3.626,3108,2.123,3109,2.123,3110,2.123,3111,2.123,3112,3.626,3113,2.123,3114,2.123,3115,2.123,3116,2.123,3117,2.123,3118,2.123,3119,2.123,3120,2.123,3121,2.123,3122,2.123,3123,2.123,3124,3.626,3125,4.747,3126,4.747,3127,2.123,3128,2.123,3129,2.123,3130,2.123,3131,3.626,3132,3.626]],["component/59",[164,0.59]],["title/60",[]],["name/60",[18,0.253,103,0.825,301,1.049]],["text/60",[]],["component/60",[164,0.59]],["title/61-1",[55,20.016,56,26.749,108,32.446]],["name/61-1",[]],["text/61-1",[]],["component/61-1",[]],["title/61-2",[55,17.777,56,23.757,108,28.817,218,19.735]],["name/61-2",[]],["text/61-2",[]],["component/61-2",[]],["title/61-3",[56,23.757,108,28.817,133,42.528,217,26.682]],["name/61-3",[]],["text/61-3",[]],["component/61-3",[]],["title/61-4",[108,37.122,716,39.887]],["name/61-4",[]],["text/61-4",[]],["component/61-4",[]],["title/61-5",[108,32.446,161,34.205,547,28.827]],["name/61-5",[]],["text/61-5",[]],["component/61-5",[]],["title/61-6",[546,15.183,549,21.987]],["name/61-6",[]],["text/61-6",[]],["component/61-6",[]],["title/61",[3,16.127,16,11.018,17,9.081,18,5.19,98,17.595,108,23.548]],["name/61",[56,0.533,99,0.416,100,0.681,101,0.694,108,0.646,1784,0.681]],["text/61",[3,1.903,14,1.807,16,1.3,17,1.071,18,0.612,19,3.046,55,1.714,56,3.776,59,1.92,61,2.189,67,1.868,85,2.097,87,2.502,108,6.22,129,2.014,133,6.76,150,2.066,155,4.742,156,2.876,161,4.829,200,3.456,217,4.241,218,2.699,223,3.14,235,1.885,271,3.942,287,3.65,302,2.876,313,2.264,333,2.035,335,3.769,365,2.436,387,3.779,440,1.773,490,4.51,546,1.136,550,4.155,554,2.119,571,2.238,605,2.826,644,1.788,645,1.788,646,1.788,647,1.788,648,1.788,649,1.788,650,1.788,651,1.788,652,1.788,712,4.1,716,5.656,730,5.56,735,1.957,800,2.537,824,2.985,946,2.61,1044,4.551,1526,3.64,1561,3.046,1674,4.327,1769,3.337,1784,5.764,1789,4.327,2049,3.64,2805,3.255,3133,5.091,3134,5.091,3135,5.091,3136,3.337,3137,4.63]],["component/61",[164,0.59]],["title/62-1",[3,16.127,16,11.018,17,9.081,18,5.19,97,19.189,98,17.595]],["name/62-1",[]],["text/62-1",[]],["component/62-1",[]],["title/62-2",[546,15.183,549,21.987]],["name/62-2",[]],["text/62-2",[]],["component/62-2",[]],["title/62",[3,13.635,16,9.315,17,7.678,18,4.387,98,14.876,99,12.811,100,20.988,101,21.392]],["name/62",[99,0.587,100,0.962,101,0.98,1885,1.125]],["text/62",[1,2.8,3,3.726,12,1.679,16,2.64,17,2.14,18,1.277,23,2.375,34,1.457,50,3.597,53,2.591,59,1.457,63,2.428,65,2.144,67,3.33,69,2.223,90,1.544,97,4.035,98,3.967,99,3.885,100,4.599,101,4.19,102,2.36,104,2.591,108,2.108,129,3.734,182,2.311,196,3.611,218,3.726,235,1.431,247,1.738,268,2.265,301,1.925,315,4.515,348,1.981,388,4.747,440,1.345,445,3.215,451,3.967,526,1.759,528,2.412,546,0.862,547,1.873,554,1.608,609,2.47,644,1.357,645,1.357,646,2.07,647,1.357,648,1.357,649,1.357,650,1.357,651,1.357,652,1.357,731,2.896,735,1.485,796,4.871,918,2.784,1014,4.363,1015,3.526,1044,1.925,1136,2.311,1138,1.825,1151,1.802,1274,2.47,1561,3.526,1583,3.514,1673,2.532,1677,4.083,1784,2.223,1975,2.86,2930,3.283,3013,4.747,3138,3.863]],["component/62",[164,0.59]],["title/63-1",[18,5.712,90,18.979,271,25.918,550,27.323,716,27.848]],["name/63-1",[]],["text/63-1",[]],["component/63-1",[]],["title/63-2",[1,20.69,18,6.351,63,21.754,168,23.214]],["name/63-2",[]],["text/63-2",[]],["component/63-2",[]],["title/63-3",[1,16.908,14,10.794,18,5.19,39,21.499,63,17.777,168,18.97]],["name/63-3",[]],["text/63-3",[]],["component/63-3",[]],["title/63-4",[18,6.351,80,22.216,835,30.379,2223,42.528]],["name/63-4",[]],["text/63-4",[]],["component/63-4",[]],["title/63-5",[333,21.101,594,32.255,835,30.379,1816,40.652]],["name/63-5",[]],["text/63-5",[]],["component/63-5",[]],["title/63-6",[1,20.69,18,6.351,63,21.754,168,23.214]],["name/63-6",[]],["text/63-6",[]],["component/63-6",[]],["title/63-7",[1,18.609,6,17.75,11,28.409,14,11.88,18,5.712]],["name/63-7",[]],["text/63-7",[]],["component/63-7",[]],["title/63-8",[546,15.183,549,21.987]],["name/63-8",[]],["text/63-8",[]],["component/63-8",[]],["title/63",[18,8.181,90,27.183]],["name/63",[18,0.142,90,0.473,99,0.416,100,0.681,101,0.694,1784,0.681]],["text/63",[1,3.912,3,1.302,6,3.656,11,5.205,14,1.793,16,1.17,17,0.733,18,1.375,34,0.764,39,3.055,41,2.491,44,1.646,49,1.106,50,0.912,56,2.448,63,3.67,67,0.744,69,0.764,71,1.379,80,3.454,81,1.786,84,1.144,88,3.667,89,3.595,90,3.633,91,1.125,93,2.426,94,1.736,96,1.76,98,1.421,112,4.733,113,2.86,114,0.982,138,1.586,150,1.557,155,3.463,161,3.527,168,3.327,176,4.029,182,3.255,200,0.97,211,3.527,217,1.024,223,1.992,235,2.015,239,1.712,247,0.912,271,3.912,275,1.039,287,3.384,288,1.145,292,3.566,306,0.957,308,2.283,313,0.901,333,1.832,348,1.786,365,0.97,387,2.053,388,1.632,390,2.004,440,0.705,445,2.448,513,2.345,518,1.212,528,2.176,533,1.5,546,1.023,550,3.131,554,0.843,556,1.421,557,0.891,571,2.392,594,4.623,644,1.224,645,0.712,646,1.61,647,1.224,648,0.712,649,0.712,650,0.712,651,0.712,652,0.712,654,2.043,672,0.996,711,1.106,716,4.639,725,2.922,732,0.982,743,1.449,790,1.364,796,1.87,805,1.188,820,2.227,824,3.191,841,2.084,922,2.043,946,1.039,950,0.996,960,1.364,962,2.043,968,3.529,983,1.404,1044,3.942,1110,3.77,1166,1.238,1168,1.295,1172,1.449,1221,1.56,1308,3.691,1446,2.283,1503,2.682,1561,1.212,1673,4.018,1769,2.283,1784,5.006,1816,5.827,2044,2.806,2049,2.491,2203,1.722,2223,4.383,2296,1.722,2457,2.961,2579,4.787,2805,5.058,2821,2.491,2909,2.579,3136,5.552,3139,2.026,3140,2.026,3141,2.026,3142,3.484,3143,3.169,3144,2.026,3145,1.843,3146,2.026,3147,5.576,3148,4.029,3149,3.895,3150,2.026,3151,1.843,3152,1.843,3153,2.026]],["component/63",[164,0.59]],["title/64-1",[18,6.351,63,21.754,161,30.379,595,31.587]],["name/64-1",[]],["text/64-1",[]],["component/64-1",[]],["title/64-2",[6,16.127,11,25.812,18,5.19,63,17.777,198,20.922,933,23.166]],["name/64-2",[]],["text/64-2",[]],["component/64-2",[]],["title/64-3",[546,15.183,549,21.987]],["name/64-3",[]],["text/64-3",[]],["component/64-3",[]],["title/64",[3,14.777,16,10.096,17,8.321,18,7.214,63,16.288,98,16.121]],["name/64",[18,0.142,63,0.488,99,0.416,100,0.681,101,0.694,1784,0.681]],["text/64",[1,1.141,3,1.088,6,3.616,11,5.067,14,1.488,15,0.769,16,1.519,17,1.133,18,1.324,23,0.455,25,1.515,31,0.845,34,0.622,36,1.03,44,0.779,49,0.9,50,1.759,53,1.28,55,1.588,61,2.557,63,4.469,65,2.17,67,1.435,69,1.098,80,1.645,81,2.419,84,0.956,85,0.679,87,2.647,90,1.164,93,0.653,94,1.451,98,0.672,99,1.657,112,3.844,113,0.769,115,0.858,117,2.905,129,2.131,138,1.326,150,1.35,155,4.785,157,1.054,161,4.757,174,0.779,176,2.155,182,1.742,192,3.596,196,2.384,198,2.611,200,2.577,211,2.249,217,1.975,218,2.556,223,2.341,234,0.967,235,2.203,239,0.81,263,0.949,271,3.246,272,2.17,287,3.247,292,1.081,302,2.665,304,1.27,313,0.733,333,1.562,344,1.11,348,0.845,365,0.789,375,0.915,379,1.431,387,1.78,388,1.328,390,0.949,422,1.11,427,0.915,440,0.574,445,0.742,490,1.03,511,1.742,546,0.65,550,2.249,554,0.687,556,1.187,557,0.725,571,2.074,583,0.822,594,3.925,601,3.158,605,3.301,611,0.9,619,1.081,631,1.142,644,0.579,645,0.579,646,1.891,647,0.579,648,0.579,649,0.579,650,0.579,651,0.579,652,0.579,672,2.318,714,3.149,716,4.406,725,1.563,730,3.632,735,1.119,758,1.142,784,0.9,790,1.11,796,3.671,800,2.683,805,0.967,811,2.242,824,1.707,826,1.861,918,0.779,922,0.967,933,2.891,946,0.845,950,0.81,958,2.533,960,1.11,962,0.967,968,2.242,1013,2.249,1014,2.133,1015,1.742,1021,0.871,1030,1.742,1044,4.119,1062,1.142,1092,2.648,1110,1.142,1145,2.648,1166,1.007,1168,1.054,1172,1.179,1202,1.081,1337,2.475,1430,1.328,1446,1.908,1503,2.242,1515,1.328,1522,1.221,1561,0.986,1673,2.562,1709,2.345,1769,1.908,1784,5.075,1789,3.323,1797,1.5,1816,4.947,1959,1.11,1975,6.406,2044,1.328,2049,2.795,2223,2.345,2308,1.5,2315,2.475,2436,1.328,2457,2.475,2579,2.795,2805,4.108,2821,1.179,2828,1.328,2880,1.5,2909,1.221,3136,4.211,3137,1.5,3143,1.5,3147,2.648,3148,2.155,3149,2.475,3151,2.648,3152,1.5,3154,1.649,3155,1.649,3156,9.475,3157,5.385,3158,1.649,3159,4.717,3160,3.909,3161,1.649,3162,1.649,3163,1.649,3164,1.649,3165,3.909,3166,1.649,3167,1.5,3168,1.649]],["component/64",[164,0.59]],["title/65-1",[16,11.018,17,9.081,18,5.19,66,15.285,68,19.413,69,16.277]],["name/65-1",[]],["text/65-1",[]],["component/65-1",[]],["title/65-2",[66,16.823,68,21.367,69,17.915,272,26.36,912,27.323]],["name/65-2",[]],["text/65-2",[]],["component/65-2",[]],["title/65-3",[546,15.183,549,21.987]],["name/65-3",[]],["text/65-3",[]],["component/65-3",[]],["title/65",[3,11.809,14,7.904,16,8.068,17,10.603,18,3.8,66,11.193,69,11.919,105,16.199,106,15.966]],["name/65",[3,0.442,17,0.249,66,0.419,69,0.447,105,0.607,106,0.598]],["text/65",[1,1.001,3,2.363,4,2.227,8,1.784,12,3.481,14,2.3,15,1.192,16,2.045,17,2.016,18,1.188,21,1.021,23,1.934,25,1.33,30,1.596,34,1.599,43,1.33,44,4.234,50,2.444,55,0.86,59,0.964,63,1.747,66,3.913,67,0.938,68,1.15,69,3.928,71,2.501,72,1.351,76,0.973,80,2.66,84,2.303,96,1.292,99,1.908,101,1.499,105,2.785,106,2.745,109,2.632,115,2.206,117,1.711,136,1.561,137,1.164,150,1.808,155,2.395,158,1.47,174,2.003,180,1.803,183,1.771,186,1.675,191,0.973,198,1.239,200,3.025,202,2.083,218,2.62,221,2.536,228,1.892,235,2.8,239,1.256,245,2.778,254,1.15,257,4.84,272,2.353,287,2.142,288,1.444,311,2.745,333,1.021,335,1.892,338,1.784,379,1.256,387,0.964,390,1.47,403,1.968,424,1.47,425,2.854,440,0.89,445,1.15,526,1.164,527,1.892,541,1.892,546,0.57,547,1.239,571,1.124,595,2.536,605,1.419,625,1.372,644,0.898,645,0.898,646,2.22,647,1.489,648,0.898,649,0.898,650,0.898,651,0.898,652,0.898,654,1.499,662,1.292,672,1.256,690,1.968,706,1.968,723,2.439,725,1.372,735,2.088,771,4.349,835,1.47,884,1.529,912,1.47,917,2.059,932,1.892,933,1.372,944,2.325,958,2.276,963,1.011,983,1.771,1014,1.395,1027,1.075,1110,2.937,1138,2.003,1139,1.239,1151,1.978,1154,1.771,1288,1.72,1373,3.138,1418,1.892,1446,2.778,1503,3.264,1515,2.059,1528,1.675,1529,1.675,1586,3.856,1673,1.675,1762,2.854,1784,4.349,1862,1.72,2046,1.827,2093,1.634,2531,1.892,2548,3.509,2575,2.325,2579,3.031,2714,2.325,2720,1.968,2805,4.832,2821,1.827,2824,3.856,3025,1.968,3136,1.675,3169,2.556,3170,2.172,3171,2.325,3172,4.239,3173,3.856,3174,4.239,3175,2.556,3176,2.556,3177,2.325,3178,2.556]],["component/65",[164,0.59]],["title/66-1",[3,14.777,17,8.321,105,20.27,106,19.978,333,15.799,1139,19.169,1887,26.611]],["name/66-1",[]],["text/66-1",[]],["component/66-1",[]],["title/66-2",[183,41.189,1139,28.827,3179,50.531]],["name/66-2",[]],["text/66-2",[]],["component/66-2",[]],["title/66-3",[183,41.189,868,37.128,1139,28.827]],["name/66-3",[]],["text/66-3",[]],["component/66-3",[]],["title/66-4",[546,15.183,549,21.987]],["name/66-4",[]],["text/66-4",[]],["component/66-4",[]],["title/66",[3,11.068,12,12.874,14,7.408,16,7.562,17,10.066,18,3.562,69,11.171,105,15.183,106,14.965,1139,14.359]],["name/66",[3,0.442,12,0.515,17,0.249,105,0.607,106,0.598,1139,0.574]],["text/66",[3,3.696,12,1.325,14,1.225,17,2.081,18,0.589,23,1.938,25,1.586,33,2.406,34,1.847,37,5.579,44,3.318,51,1.422,55,2.765,61,1.311,69,2.649,72,1.611,84,2.015,99,1.719,105,5.07,106,5.265,129,2.427,145,1.904,146,2.439,155,1.722,168,2.152,175,2.112,176,2.257,182,3.67,183,6.217,191,3.127,218,2.875,221,2.928,223,1.325,235,1.813,247,2.202,301,1.519,302,3.967,306,2.898,333,3.074,338,2.06,341,1.54,379,1.498,387,1.15,435,2.772,440,1.061,532,1.949,546,0.68,547,1.478,554,1.269,571,2.152,578,2.455,595,1.823,625,1.636,631,2.112,640,2.347,644,1.719,645,1.07,646,2.154,647,1.07,648,1.07,649,1.07,650,1.07,651,1.07,652,1.07,658,2.347,662,1.54,688,3.129,692,2.112,713,1.54,715,2.257,735,1.882,824,2.871,868,4.803,880,4.727,963,1.206,969,2.179,1027,1.282,1030,3.67,1044,1.519,1062,2.112,1138,2.898,1139,4.938,1140,6.093,1151,2.862,1154,2.112,1198,2.257,1373,3.624,1449,2.257,1518,3.769,1530,1.904,1589,1.862,1706,2.179,1784,1.754,1825,2.455,1862,2.052,1887,6.535,2222,2.591,2477,2.772,2525,2.591,2531,4.541,2547,4.727,2805,5.736,2974,4.723,3136,1.998,3148,2.257,3179,5.214,3180,2.772,3181,2.591,3182,2.455,3183,4.895,3184,4.895,3185,2.772,3186,3.048,3187,3.048,3188,3.048]],["component/66",[164,0.59]],["title/67-1",[4,14.771,333,23.759,660,47.885]],["name/67-1",[]],["text/67-1",[]],["component/67-1",[]],["title/67-2",[3,13.635,14,9.125,17,7.678,63,15.029,105,18.703,106,18.434,257,18.434,580,23.32]],["name/67-2",[]],["text/67-2",[]],["component/67-2",[]],["title/67-3",[546,15.183,549,21.987]],["name/67-3",[]],["text/67-3",[]],["component/67-3",[]],["title/67",[3,11.068,12,12.874,14,7.408,16,7.562,17,10.066,18,3.562,69,11.171,105,15.183,106,14.965,257,14.965]],["name/67",[3,0.442,12,0.515,17,0.249,105,0.607,106,0.598,257,0.598]],["text/67",[3,3.045,4,2.51,7,1.968,8,1.118,12,1.156,14,1.62,15,1.24,16,1.968,17,1.96,18,0.927,23,1.787,25,1.383,30,2.735,34,1.652,43,3.727,50,1.196,51,1.24,53,2.455,55,0.895,59,2.107,63,3.357,66,2.729,69,3.654,81,1.363,97,1.182,104,1.925,105,3.672,106,4.117,129,1.052,137,1.21,148,1.143,155,2.474,167,1.9,168,1.925,180,1.862,182,3.874,191,1.667,218,0.993,235,2.068,239,3.182,257,5.213,265,1.841,268,2.568,294,1.968,301,1.324,302,2.474,304,2.046,308,1.742,313,1.182,315,3.099,333,2.232,338,1.842,341,1.343,387,2.701,440,0.925,451,3.759,526,1.994,534,1.66,545,1.624,546,0.593,547,2.708,554,1.107,557,3.148,571,2.455,580,5.442,595,2.62,612,4.199,644,0.933,645,0.933,646,1.961,647,0.933,648,0.933,649,1.538,650,0.933,651,0.933,652,0.933,655,2.568,660,8.228,662,1.343,664,1.59,688,3.57,713,1.343,735,2.489,763,1.699,824,3.275,899,2.259,913,1.789,933,1.427,960,1.789,969,3.131,995,1.968,1030,1.59,1044,2.182,1060,2.418,1062,3.034,1088,2.474,1100,2.418,1138,2.069,1151,1.24,1179,1.59,1476,2.259,1528,1.742,1529,1.742,1561,3.874,1607,2.418,1674,2.259,1706,3.131,1731,3.722,1765,3.131,1769,2.87,1784,1.529,1822,1.968,1857,2.141,1869,2.418,1887,5.186,1967,2.259,2525,2.259,2531,4.794,2560,3.371,2579,1.9,2736,2.141,2805,5.208,2900,2.418,3136,1.742,3148,4.134,3181,3.722,3182,4.498,3185,2.418,3189,2.658,3190,4.379,3191,2.658,3192,2.658,3193,2.658,3194,2.658,3195,2.658,3196,2.658,3197,2.658,3198,2.658,3199,5.584,3200,2.658,3201,2.658,3202,2.658,3203,2.658,3204,2.658]],["component/67",[164,0.59]],["title/68-1",[3,14.777,17,8.321,18,4.755,55,13.31,105,20.27,106,19.978,535,25.91]],["name/68-1",[]],["text/68-1",[]],["component/68-1",[]],["title/68-2",[537,25.191,657,26.653]],["name/68-2",[]],["text/68-2",[]],["component/68-2",[]],["title/68-3",[546,15.183,549,21.987]],["name/68-3",[]],["text/68-3",[]],["component/68-3",[]],["title/68",[3,19.735,17,11.113,105,27.072,106,26.682]],["name/68",[3,0.518,17,0.292,105,0.711,106,0.7,1885,0.933]],["text/68",[1,1.514,3,3.801,4,0.96,8,1.625,10,2.223,12,3.944,14,2.153,16,2.317,17,2.313,18,1.17,23,2.206,34,1.457,55,2.898,66,2.088,69,3.016,80,1.625,94,1.925,96,4.35,105,5.214,106,5.299,107,4.747,114,1.873,146,1.925,168,2.591,174,1.825,182,2.311,183,2.676,194,2.223,218,3.919,234,2.265,235,1.431,245,3.862,254,1.738,257,2.978,268,2.265,285,3.514,302,2.182,313,1.718,335,4.363,338,1.625,387,2.223,440,1.345,445,3.215,490,2.412,526,1.759,535,4.683,546,0.862,554,1.608,556,2.914,571,1.698,644,1.357,645,1.357,646,2.07,647,1.357,648,1.357,649,1.357,650,1.357,651,1.357,652,1.357,711,2.108,724,3.111,732,1.873,735,1.485,918,1.825,1021,2.041,1030,3.526,1044,2.936,1045,2.676,1062,2.676,1138,1.825,1139,3.465,1148,2.974,1445,2.762,1528,2.532,1529,2.532,1530,2.412,1742,3.514,1784,3.391,2720,2.974,2805,3.767,3136,2.532,3179,5.009,3205,5.893,3206,3.514,3207,3.863,3208,3.863,3209,3.863,3210,3.863,3211,3.863,3212,3.863,3213,3.863,3214,3.863]],["component/68",[164,0.59]],["title/69-1",[4,13.222,23,9.342,55,11.4,80,14.247,257,17.112,1373,25.069,1528,22.193,1529,22.193]],["name/69-1",[]],["text/69-1",[]],["component/69-1",[]],["title/69-2",[4,13.222,23,9.342,55,11.4,80,14.247,257,17.112,1528,22.193,1529,22.193,2548,18.796]],["name/69-2",[]],["text/69-2",[]],["component/69-2",[]],["title/69-3",[546,15.183,549,21.987]],["name/69-3",[]],["text/69-3",[]],["component/69-3",[]],["title/69",[4,9.822,12,17.187,23,10.907,80,16.634,257,19.978,1528,25.91,1529,25.91]],["name/69",[3,0.342,4,0.228,12,0.398,17,0.193,23,0.253,105,0.47,106,0.463,3215,0.916]],["text/69",[2,3.854,3,2.535,4,2.845,12,2.263,14,1.302,17,1.427,23,2.596,43,2.709,51,2.428,55,3.319,57,1.253,63,3.714,65,1.336,67,1.48,71,0.953,76,0.917,80,3.881,84,0.791,105,3.477,106,3.707,109,1.002,122,1.336,129,2.41,150,0.689,155,2.941,169,1.152,176,1.782,182,4.057,191,2.319,192,3.245,235,0.892,239,1.982,257,4.662,271,2.201,287,2.038,302,2.941,311,1.217,333,2.434,341,2.038,387,2.297,440,0.838,451,4.564,530,2.046,546,0.537,547,2.953,555,1.44,557,2.289,580,2.579,595,1.44,644,2.139,645,0.846,646,2.381,647,0.846,648,0.846,649,0.846,650,0.846,651,0.846,652,0.846,670,1.668,688,3.328,707,2.166,713,2.038,731,1.183,735,0.925,824,2.365,828,3.249,864,2.046,958,1.293,963,0.953,1027,1.013,1030,3.114,1045,2.794,1047,2.884,1062,3.606,1096,2.19,1133,1.621,1138,2.459,1151,1.882,1202,3.991,1337,2.046,1373,7.47,1501,4.564,1528,6.046,1529,6.046,1561,4.389,1589,5.19,1684,3.72,1706,4.354,1959,1.621,1967,2.046,2315,2.046,2531,5.02,2548,5.799,2579,1.721,2805,6.303,2821,1.721,3136,3.411,3148,3.854,3170,2.046,3171,2.19,3173,2.19,3177,2.19,3181,3.428,3182,4.193,3216,2.408,3217,2.408]],["component/69",[164,0.59]],["title/70-1",[17,8.321,18,4.755,96,19.978,97,17.582,98,16.121,1139,19.169,1672,28.266]],["name/70-1",[]],["text/70-1",[]],["component/70-1",[]],["title/70-2",[14,9.89,17,8.321,18,4.755,96,19.978,98,16.121,1139,19.169,1672,28.266]],["name/70-2",[]],["text/70-2",[]],["component/70-2",[]],["title/70-3",[546,15.183,549,21.987]],["name/70-3",[]],["text/70-3",[]],["component/70-3",[]],["title/70",[17,9.081,18,5.19,96,21.804,98,17.595,1139,20.922,1672,30.85]],["name/70",[96,0.845,98,0.682,173,1.347,1672,1.195]],["text/70",[3,1.372,14,1.947,17,2.181,18,1.31,34,1.385,46,2.406,49,2.003,55,2.33,56,1.652,67,1.347,70,2.196,71,2.243,96,5.237,97,4.256,98,4.163,106,2.864,129,2.243,137,1.671,146,3.449,162,2.293,168,1.614,175,2.543,176,4.196,182,4.656,191,2.636,218,3.671,234,4.564,239,1.804,254,1.652,263,2.112,276,2.406,313,1.633,333,1.467,348,2.906,436,3.12,440,1.278,456,2.957,512,2.826,546,0.819,554,1.528,571,1.614,595,4.141,644,1.289,645,1.289,646,1.99,647,1.289,648,1.289,649,1.289,650,1.289,651,1.289,652,1.289,735,2.178,796,3.716,881,4.052,924,2.293,963,1.453,1027,1.545,1044,2.824,1062,3.926,1085,3.539,1137,4.363,1138,2.677,1139,4.864,1151,2.644,1446,2.406,1503,2.826,1530,4.861,1672,7.589,1673,5.101,1765,4.052,1784,4.478,1862,2.471,1959,3.815,2547,2.471,2805,4.425,2974,2.826,3136,2.406,3148,2.718,3180,5.155,3182,4.565,3206,3.339,3218,5.667,3219,3.671,3220,3.671,3221,3.671,3222,3.671,3223,3.671,3224,3.671,3225,3.671]],["component/70",[164,0.59]],["title/71-1",[17,11.113,18,6.351,96,26.682,169,25.268]],["name/71-1",[]],["text/71-1",[]],["component/71-1",[]],["title/71-2",[537,25.191,657,26.653]],["name/71-2",[]],["text/71-2",[]],["component/71-2",[]],["title/71-3",[546,15.183,549,21.987]],["name/71-3",[]],["text/71-3",[]],["component/71-3",[]],["title/71",[17,12.512,18,7.15,96,30.043]],["name/71",[96,1.064,173,1.697,1885,1.418]],["text/71",[3,1.786,14,2.027,17,2.254,18,1.358,33,2.349,61,2.968,67,2.534,70,4.13,71,3.207,81,2.451,89,2.803,91,4.498,94,3.44,96,5.481,98,3.304,105,2.451,106,2.415,146,4.038,168,2.101,169,2.287,183,3.311,186,3.133,194,2.75,218,3.666,235,2.557,247,2.151,263,3.972,302,3.9,348,4.55,366,3.417,440,1.664,445,3.106,490,2.985,524,3.85,546,1.067,554,1.99,557,2.101,644,1.679,645,1.679,646,1.679,647,1.679,648,1.679,649,2.424,650,1.679,651,1.679,652,1.679,654,4.048,661,3.417,707,3.706,735,1.837,884,2.859,958,4.351,1029,3.85,1044,2.381,1045,3.311,1139,2.318,1221,6.239,1486,3.85,1526,3.417,1530,2.985,1671,3.417,1672,3.417,1673,3.133,1975,7.261,3226,4.347,3227,6.279]],["component/71",[164,0.59]],["title/72-1",[17,8.321,18,4.755,96,19.978,97,17.582,98,16.121,348,20.27,1671,28.266]],["name/72-1",[]],["text/72-1",[]],["component/72-1",[]],["title/72-2",[17,11.113,18,6.351,96,26.682,169,25.268]],["name/72-2",[]],["text/72-2",[]],["component/72-2",[]],["title/72-3",[13,16.998,17,8.321,18,4.755,98,16.121,315,18.919,348,20.27,1671,28.266]],["name/72-3",[]],["text/72-3",[]],["component/72-3",[]],["title/72-4",[17,11.113,18,6.351,96,26.682,333,21.101]],["name/72-4",[]],["text/72-4",[]],["component/72-4",[]],["title/72-5",[4,7.85,98,12.884,109,13.154,175,21.89,218,11.809,348,16.199,571,13.891,880,21.267,1671,22.59,2548,17.538]],["name/72-5",[]],["text/72-5",[]],["component/72-5",[]],["title/72-6",[4,11.799,14,11.88,958,25.497,1221,36.562,2548,26.36]],["name/72-6",[]],["text/72-6",[]],["component/72-6",[]],["title/72-7",[546,15.183,549,21.987]],["name/72-7",[]],["text/72-7",[]],["component/72-7",[]],["title/72",[17,9.081,18,5.19,96,21.804,98,17.595,348,22.123,1671,30.85]],["name/72",[96,0.845,98,0.682,173,1.347,1679,1.421]],["text/72",[3,0.395,4,2.406,11,0.633,13,1.165,14,1.859,17,1.972,18,1.238,33,0.52,34,0.735,39,0.527,43,0.55,44,3.096,49,0.577,51,0.909,53,0.857,55,0.656,59,0.399,61,0.838,67,2.405,69,0.735,70,0.633,71,2.593,76,3.383,81,1.39,84,2.064,85,1.625,87,1.938,89,1.976,90,2.97,91,2.189,93,0.418,94,1.679,96,4.49,97,2.914,98,3.452,109,2.616,112,1.166,122,1.87,129,0.771,133,1.57,136,0.646,138,0.481,145,0.66,146,0.971,150,1.62,151,0.693,155,0.597,168,0.857,169,1.297,174,0.921,175,1.35,177,0.756,180,0.829,182,2.016,183,1.35,186,1.277,191,3.483,192,0.506,194,2.819,200,1.297,209,0.597,217,2.476,218,3.64,223,1.935,235,1.461,247,2.002,254,0.476,257,0.985,263,0.608,276,0.693,287,2.249,302,0.597,306,2.504,308,2.585,313,1.498,315,3.007,317,1.57,333,3.284,338,0.445,341,1.37,348,4.647,349,1.505,365,1.297,366,0.756,387,1.848,390,0.608,440,0.368,445,2.002,451,0.712,456,0.852,490,0.66,511,0.633,524,0.852,529,1.781,532,2.845,546,0.236,547,1.314,550,1.121,554,1.403,555,1.166,556,1.998,557,1.734,571,2.154,580,0.676,594,0.646,595,4.445,619,0.693,644,0.371,645,0.371,646,0.952,647,0.371,648,0.371,649,0.684,650,0.371,651,0.371,652,0.371,654,1.143,661,0.756,664,3.171,672,0.52,707,1.046,725,1.455,727,2.007,732,2.376,735,1.042,741,0.676,744,0.712,776,0.587,790,0.712,800,0.527,805,0.62,822,0.608,829,1.57,841,0.633,844,1.57,880,2.655,918,0.921,922,1.143,943,0.899,946,0.542,950,1.656,958,4.086,962,1.143,963,0.418,1021,0.559,1022,1.312,1027,0.445,1030,2.016,1044,3.606,1045,1.878,1062,0.733,1085,2.104,1138,1.281,1139,0.513,1151,1.572,1166,0.646,1168,0.676,1172,0.756,1221,5.572,1288,2.655,1308,0.852,1335,2.864,1373,3.295,1445,1.393,1486,0.852,1522,0.783,1526,2.409,1527,2.864,1528,4.295,1529,4.295,1530,2.463,1550,0.852,1561,0.633,1667,1.773,1671,6.284,1673,2.917,1765,3.182,1784,2.56,1822,0.783,1862,1.825,1894,0.852,1896,0.962,1970,2.087,1975,5.034,2044,2.714,2046,0.756,2049,1.938,2193,0.962,2196,0.814,2203,1.656,2296,1.656,2416,0.899,2436,0.852,2531,2.007,2548,5.589,2560,2.087,2579,0.756,2690,2.466,2805,3.389,2821,0.756,2823,0.962,3025,1.5,3136,1.777,3145,4.048,3149,0.899,3167,0.962,3170,0.899,3226,0.962,3227,5.149,3228,1.057,3229,2.711,3230,2.711,3231,1.949,3232,4.45,3233,2.711,3234,1.057,3235,1.057,3236,1.057,3237,1.057,3238,2.711,3239,1.949,3240,1.949,3241,1.949,3242,1.057,3243,1.057,3244,4.45,3245,1.949,3246,1.949,3247,1.949,3248,1.057,3249,1.949,3250,1.057,3251,1.057,3252,1.057,3253,1.057,3254,1.057]],["component/72",[164,0.59]]],"invertedIndex":[["",{"_index":191,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{},"66":{},"67":{},"69":{},"70":{},"72":{}},"component":{}}],["0",{"_index":696,"title":{},"name":{},"text":{"6":{},"37":{},"46":{},"51":{},"56":{},"57":{},"58":{}},"component":{}}],["0.0.0.0",{"_index":2772,"title":{},"name":{},"text":{"49":{}},"component":{}}],["0.0.1",{"_index":2783,"title":{},"name":{},"text":{"50":{}},"component":{}}],["0.028",{"_index":2380,"title":{},"name":{},"text":{"37":{}},"component":{}}],["0.039",{"_index":2940,"title":{},"name":{},"text":{"54":{}},"component":{}}],["0.066",{"_index":2984,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["0.099",{"_index":2985,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["0.21.3",{"_index":1525,"title":{},"name":{},"text":{"19":{}},"component":{}}],["0.28.0",{"_index":336,"title":{},"name":{},"text":{"2":{}},"component":{}}],["0.3",{"_index":1376,"title":{},"name":{},"text":{"14":{}},"component":{}}],["0.322",{"_index":2986,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["0.5556",{"_index":2280,"title":{},"name":{},"text":{"35":{}},"component":{}}],["0.7.35",{"_index":496,"title":{},"name":{},"text":{"2":{}},"component":{}}],["0.8",{"_index":1156,"title":{},"name":{},"text":{"11":{},"18":{},"19":{},"32":{}},"component":{}}],["0/2",{"_index":2851,"title":{},"name":{},"text":{"51":{}},"component":{}}],["00",{"_index":2958,"title":{},"name":{},"text":{"56":{}},"component":{}}],["0000",{"_index":3023,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["00001",{"_index":768,"title":{},"name":{},"text":{"6":{},"23":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["0044ffa0",{"_index":2086,"title":{},"name":{},"text":{"31":{}},"component":{}}],["00:00:00.180",{"_index":1625,"title":{},"name":{},"text":{"19":{}},"component":{}}],["00ce5c1d",{"_index":2320,"title":{},"name":{},"text":{"37":{}},"component":{}}],["01",{"_index":2959,"title":{},"name":{},"text":{"56":{}},"component":{}}],["01t16:08:12.038z",{"_index":1813,"title":{},"name":{},"text":{"25":{}},"component":{}}],["01t16:08:12.061z",{"_index":1814,"title":{},"name":{},"text":{"25":{}},"component":{}}],["0229",{"_index":2637,"title":{},"name":{},"text":{"46":{}},"component":{}}],["03",{"_index":2352,"title":{},"name":{},"text":{"37":{},"51":{}},"component":{}}],["037c",{"_index":2064,"title":{},"name":{},"text":{"31":{}},"component":{}}],["03:00",{"_index":1384,"title":{},"name":{},"text":{"14":{},"37":{}},"component":{}}],["03e6cf79",{"_index":2611,"title":{},"name":{},"text":{"46":{}},"component":{}}],["03t16:36:19",{"_index":2390,"title":{},"name":{},"text":{"37":{}},"component":{}}],["04",{"_index":801,"title":{},"name":{},"text":{"6":{}},"component":{}}],["05",{"_index":1577,"title":{},"name":{},"text":{"19":{}},"component":{}}],["05t17:31:00z",{"_index":802,"title":{},"name":{},"text":{"6":{}},"component":{}}],["06",{"_index":2062,"title":{},"name":{},"text":{"31":{},"37":{},"46":{},"56":{},"57":{},"58":{}},"component":{}}],["06c3fe8e2dfc42e2211cbcc41224f5a3d6bd1f26",{"_index":3018,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["07",{"_index":1382,"title":{},"name":{},"text":{"14":{},"25":{}},"component":{}}],["08t18:31:15z",{"_index":2861,"title":{},"name":{},"text":{"51":{}},"component":{}}],["09ccd1e972bb",{"_index":2076,"title":{},"name":{},"text":{"31":{}},"component":{}}],["1",{"_index":554,"title":{},"name":{},"text":{"5":{},"6":{},"10":{},"11":{},"12":{},"14":{},"18":{},"19":{},"22":{},"23":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"46":{},"47":{},"49":{},"50":{},"53":{},"56":{},"57":{},"58":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["1.0",{"_index":794,"title":{},"name":{},"text":{"6":{},"11":{},"12":{},"14":{},"18":{},"19":{},"27":{},"30":{},"31":{},"35":{},"37":{},"41":{},"54":{}},"component":{}}],["1.0.0",{"_index":1549,"title":{},"name":{},"text":{"19":{},"33":{}},"component":{}}],["1.0.1",{"_index":2020,"title":{},"name":{},"text":{"31":{},"43":{}},"component":{}}],["1.0.jar",{"_index":2384,"title":{},"name":{},"text":{"37":{}},"component":{}}],["1.0578",{"_index":2068,"title":{},"name":{},"text":{"31":{}},"component":{}}],["1.22",{"_index":2833,"title":{},"name":{},"text":{"51":{}},"component":{}}],["1.22.0.final",{"_index":1642,"title":{},"name":{},"text":{"19":{}},"component":{}}],["1.22.1.final",{"_index":2938,"title":{},"name":{},"text":{"54":{}},"component":{}}],["1.27.2",{"_index":2048,"title":{},"name":{},"text":{"31":{}},"component":{}}],["1.302",{"_index":2939,"title":{},"name":{},"text":{"54":{}},"component":{}}],["1.34",{"_index":2872,"title":{},"name":{},"text":{"51":{}},"component":{}}],["1.34.0",{"_index":2871,"title":{},"name":{},"text":{"51":{}},"component":{}}],["1.40",{"_index":170,"title":{"2":{}},"name":{},"text":{},"component":{}}],["1.46.0",{"_index":3228,"title":{},"name":{},"text":{"72":{}},"component":{}}],["1/2",{"_index":2854,"title":{},"name":{},"text":{"51":{}},"component":{}}],["10",{"_index":619,"title":{},"name":{},"text":{"5":{},"6":{},"12":{},"31":{},"41":{},"56":{},"57":{},"58":{},"64":{},"72":{}},"component":{}}],["10.0.0.0/24",{"_index":2841,"title":{},"name":{},"text":{"51":{}},"component":{}}],["10.100.120.208",{"_index":2971,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.102.87.208",{"_index":2968,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.106.202.150",{"_index":2964,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.108.153.180",{"_index":2973,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.111.19.134",{"_index":2960,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.96.0.0/12",{"_index":3060,"title":{},"name":{},"text":{"57":{}},"component":{}}],["10.97.110.167",{"_index":2951,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.98.150.141",{"_index":2962,"title":{},"name":{},"text":{"56":{}},"component":{}}],["10.98.64.78",{"_index":2955,"title":{},"name":{},"text":{"56":{}},"component":{}}],["100",{"_index":1339,"title":{},"name":{},"text":{"13":{}},"component":{}}],["1000",{"_index":2462,"title":{},"name":{},"text":{"41":{}},"component":{}}],["10000",{"_index":569,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["10237",{"_index":508,"title":{},"name":{},"text":{"2":{}},"component":{}}],["11",{"_index":1522,"title":{},"name":{},"text":{"19":{},"31":{},"41":{},"43":{},"64":{},"72":{}},"component":{}}],["12",{"_index":2436,"title":{},"name":{},"text":{"41":{},"51":{},"64":{},"72":{}},"component":{}}],["12.2",{"_index":1251,"title":{},"name":{},"text":{"12":{}},"component":{}}],["123",{"_index":799,"title":{},"name":{},"text":{"6":{}},"component":{}}],["12345",{"_index":1375,"title":{},"name":{},"text":{"14":{}},"component":{}}],["124859",{"_index":3059,"title":{},"name":{},"text":{"57":{}},"component":{}}],["13",{"_index":3167,"title":{},"name":{},"text":{"64":{},"72":{}},"component":{}}],["1370",{"_index":479,"title":{},"name":{},"text":{"2":{}},"component":{}}],["13:43:45,077",{"_index":2674,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:43:45,215",{"_index":2675,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:43:45,219",{"_index":2676,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:43:45,230",{"_index":2678,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:43:45,239",{"_index":2684,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:43:45,244",{"_index":2689,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:44:36,666",{"_index":2644,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:44:36,669",{"_index":2646,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:44:36,673",{"_index":2648,"title":{},"name":{},"text":{"46":{}},"component":{}}],["13:44:36,676",{"_index":2650,"title":{},"name":{},"text":{"46":{}},"component":{}}],["14",{"_index":3253,"title":{},"name":{},"text":{"72":{}},"component":{}}],["14:38:09,741",{"_index":1579,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:09,840",{"_index":1581,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:09,843",{"_index":1585,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,877",{"_index":1592,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,878",{"_index":1597,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,879",{"_index":1598,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,880",{"_index":1603,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,889",{"_index":1608,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:12,890",{"_index":1617,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:13,375",{"_index":1632,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:13,377",{"_index":1637,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:13,378",{"_index":1640,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:13,379",{"_index":1646,"title":{},"name":{},"text":{"19":{}},"component":{}}],["14:38:13,380",{"_index":1649,"title":{},"name":{},"text":{"19":{}},"component":{}}],["15",{"_index":943,"title":{},"name":{},"text":{"8":{},"12":{},"72":{}},"component":{}}],["15.558",{"_index":2389,"title":{},"name":{},"text":{"37":{}},"component":{}}],["154.0",{"_index":1757,"title":{},"name":{},"text":{"24":{}},"component":{}}],["1564baf907a1",{"_index":2067,"title":{},"name":{},"text":{"31":{}},"component":{}}],["162.0",{"_index":1761,"title":{},"name":{},"text":{"24":{}},"component":{}}],["16384",{"_index":2845,"title":{},"name":{},"text":{"51":{}},"component":{}}],["16:36:11,461",{"_index":2353,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:11,708",{"_index":2357,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:12,004",{"_index":2369,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:14,486",{"_index":2371,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:14,612",{"_index":2372,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:14,613",{"_index":2376,"title":{},"name":{},"text":{"37":{}},"component":{}}],["16:36:16,559",{"_index":2379,"title":{},"name":{},"text":{"37":{}},"component":{}}],["17:38:09,692",{"_index":1599,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:09,705",{"_index":1604,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:12,332",{"_index":1609,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:12,405",{"_index":1618,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:12,636",{"_index":1630,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:12.332",{"_index":1611,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:13,105",{"_index":1633,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:13,132",{"_index":1638,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:13,181",{"_index":1641,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17:38:13,182",{"_index":1647,"title":{},"name":{},"text":{"19":{}},"component":{}}],["17ebabdb3585",{"_index":2640,"title":{},"name":{},"text":{"46":{}},"component":{}}],["18000/tcp",{"_index":2972,"title":{},"name":{},"text":{"56":{}},"component":{}}],["1912",{"_index":2667,"title":{},"name":{},"text":{"46":{}},"component":{}}],["192.168.58.2",{"_index":3061,"title":{},"name":{},"text":{"57":{}},"component":{}}],["1c12",{"_index":2631,"title":{},"name":{},"text":{"46":{}},"component":{}}],["1d174d25",{"_index":1377,"title":{},"name":{},"text":{"14":{}},"component":{}}],["1e37",{"_index":2617,"title":{},"name":{},"text":{"46":{}},"component":{}}],["2",{"_index":313,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"10":{},"11":{},"12":{},"14":{},"18":{},"19":{},"22":{},"23":{},"25":{},"30":{},"31":{},"32":{},"35":{},"37":{},"40":{},"41":{},"42":{},"46":{},"47":{},"50":{},"53":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"67":{},"68":{},"70":{},"72":{}},"component":{}}],["2.0",{"_index":126,"title":{"31":{},"30-5":{},"31-1":{}},"name":{},"text":{"1":{},"30":{},"31":{}},"component":{}}],["2.0.0",{"_index":2107,"title":{},"name":{},"text":{"32":{}},"component":{}}],["2.10.2.final",{"_index":3045,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["2.1156",{"_index":2069,"title":{},"name":{},"text":{"31":{}},"component":{}}],["2.16.7.final",{"_index":1583,"title":{},"name":{},"text":{"19":{},"62":{}},"component":{}}],["2.3.1",{"_index":491,"title":{},"name":{},"text":{"2":{}},"component":{}}],["2.9.0.final",{"_index":1643,"title":{},"name":{},"text":{"19":{}},"component":{}}],["2.9.2.final",{"_index":2373,"title":{},"name":{},"text":{"37":{},"54":{}},"component":{}}],["2/2",{"_index":2856,"title":{},"name":{},"text":{"51":{}},"component":{}}],["20",{"_index":614,"title":{},"name":{},"text":{"5":{},"51":{}},"component":{}}],["20.10.7",{"_index":2047,"title":{},"name":{},"text":{"31":{}},"component":{}}],["200",{"_index":1909,"title":{},"name":{},"text":{"30":{},"31":{},"35":{}},"component":{}}],["2000",{"_index":1796,"title":{},"name":{},"text":{"25":{}},"component":{}}],["201",{"_index":2347,"title":{},"name":{},"text":{"37":{}},"component":{}}],["2018",{"_index":507,"title":{},"name":{},"text":{"2":{},"6":{}},"component":{}}],["2021",{"_index":465,"title":{},"name":{},"text":{"2":{}},"component":{}}],["2022",{"_index":483,"title":{},"name":{},"text":{"2":{},"14":{},"19":{},"25":{},"31":{},"37":{},"46":{},"56":{},"57":{},"58":{}},"component":{}}],["2023",{"_index":472,"title":{},"name":{},"text":{"2":{},"51":{}},"component":{}}],["218.0",{"_index":1759,"title":{},"name":{},"text":{"24":{}},"component":{}}],["21bb14db61f0",{"_index":1257,"title":{},"name":{},"text":{"12":{}},"component":{}}],["21bb14db61f0\",\"source\":\"/local/curl\",\"type\":\"kogito.serverless.loanbroker.aggregated.quotes.response\",\"data",{"_index":1239,"title":{},"name":{},"text":{"12":{}},"component":{}}],["22.3.0",{"_index":2906,"title":{},"name":{},"text":{"54":{}},"component":{}}],["23",{"_index":3021,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["23:53:38",{"_index":3022,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["24",{"_index":940,"title":{},"name":{},"text":{"8":{},"46":{}},"component":{}}],["25",{"_index":1578,"title":{},"name":{},"text":{"19":{}},"component":{}}],["25194",{"_index":505,"title":{},"name":{},"text":{"2":{}},"component":{}}],["25t16:22:53.735128049",{"_index":1396,"title":{},"name":{},"text":{"14":{}},"component":{}}],["25t16:29:27.320408379",{"_index":1412,"title":{},"name":{},"text":{"14":{}},"component":{}}],["25t16:30:35.461988261",{"_index":1383,"title":{},"name":{},"text":{"14":{}},"component":{}}],["2669m",{"_index":2388,"title":{},"name":{},"text":{"37":{}},"component":{}}],["29425",{"_index":466,"title":{},"name":{},"text":{"2":{}},"component":{}}],["2acf710d",{"_index":2942,"title":{},"name":{},"text":{"54":{}},"component":{}}],["2d9184dd4b3d\",\"workflowdata\":{\"greeting\":\"hello",{"_index":1663,"title":{},"name":{},"text":{"19":{}},"component":{}}],["2fcda936e00",{"_index":2659,"title":{},"name":{},"text":{"46":{}},"component":{}}],["2s",{"_index":1736,"title":{},"name":{},"text":{"24":{}},"component":{}}],["3",{"_index":365,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"10":{},"11":{},"12":{},"18":{},"19":{},"22":{},"23":{},"25":{},"30":{},"31":{},"35":{},"37":{},"40":{},"41":{},"42":{},"46":{},"47":{},"53":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"72":{}},"component":{}}],["3.0.3",{"_index":2019,"title":{},"name":{},"text":{"31":{},"32":{},"35":{}},"component":{}}],["3.1.0",{"_index":1907,"title":{},"name":{},"text":{"30":{}},"component":{}}],["3.4.2.final",{"_index":2356,"title":{},"name":{},"text":{"37":{}},"component":{}}],["3.635",{"_index":2374,"title":{},"name":{},"text":{"37":{}},"component":{}}],["3.8.6",{"_index":1524,"title":{},"name":{},"text":{"19":{},"31":{},"43":{}},"component":{}}],["30",{"_index":1242,"title":{},"name":{},"text":{"12":{},"24":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["300000",{"_index":1240,"title":{},"name":{},"text":{"12":{}},"component":{}}],["32.0",{"_index":2278,"title":{},"name":{},"text":{"35":{}},"component":{}}],["3301",{"_index":2612,"title":{},"name":{},"text":{"46":{}},"component":{}}],["3349741271d5",{"_index":2665,"title":{},"name":{},"text":{"46":{}},"component":{}}],["34104",{"_index":473,"title":{},"name":{},"text":{"2":{}},"component":{}}],["34169",{"_index":503,"title":{},"name":{},"text":{"2":{}},"component":{}}],["3517",{"_index":498,"title":{},"name":{},"text":{"2":{}},"component":{}}],["36ee",{"_index":2237,"title":{},"name":{},"text":{"34":{}},"component":{}}],["36ef",{"_index":2808,"title":{},"name":{},"text":{"50":{}},"component":{}}],["399ce304",{"_index":2063,"title":{},"name":{},"text":{"31":{}},"component":{}}],["3aa1ace60e79",{"_index":1394,"title":{},"name":{},"text":{"14":{}},"component":{}}],["3h16m",{"_index":769,"title":{},"name":{},"text":{"6":{},"23":{}},"component":{}}],["3m50",{"_index":2718,"title":{},"name":{},"text":{"47":{}},"component":{}}],["4",{"_index":946,"title":{},"name":{},"text":{"8":{},"11":{},"12":{},"18":{},"19":{},"22":{},"25":{},"30":{},"31":{},"35":{},"37":{},"40":{},"41":{},"42":{},"47":{},"51":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"72":{}},"component":{}}],["4.691",{"_index":1644,"title":{},"name":{},"text":{"19":{}},"component":{}}],["4.885",{"_index":2988,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["4.x",{"_index":3071,"title":{},"name":{},"text":{"58":{}},"component":{}}],["400",{"_index":1116,"title":{},"name":{},"text":{"10":{}},"component":{}}],["4061",{"_index":2626,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4062",{"_index":1661,"title":{},"name":{},"text":{"19":{}},"component":{}}],["4091",{"_index":1621,"title":{},"name":{},"text":{"19":{}},"component":{}}],["4096",{"_index":2839,"title":{},"name":{},"text":{"51":{}},"component":{}}],["40b7",{"_index":2238,"title":{},"name":{},"text":{"34":{}},"component":{}}],["40ea",{"_index":2632,"title":{},"name":{},"text":{"46":{}},"component":{}}],["41495513",{"_index":1256,"title":{},"name":{},"text":{"12":{}},"component":{}}],["42d4",{"_index":2230,"title":{},"name":{},"text":{"34":{}},"component":{}}],["432d",{"_index":2681,"title":{},"name":{},"text":{"46":{}},"component":{}}],["434b",{"_index":2613,"title":{},"name":{},"text":{"46":{}},"component":{}}],["43m",{"_index":2966,"title":{},"name":{},"text":{"56":{}},"component":{}}],["44729",{"_index":1628,"title":{},"name":{},"text":{"19":{}},"component":{}}],["44m",{"_index":2953,"title":{},"name":{},"text":{"56":{}},"component":{}}],["4517",{"_index":2663,"title":{},"name":{},"text":{"46":{}},"component":{}}],["457c2d37d2fe",{"_index":1381,"title":{},"name":{},"text":{"14":{}},"component":{}}],["45ef",{"_index":2231,"title":{},"name":{},"text":{"34":{}},"component":{}}],["45fd",{"_index":1702,"title":{},"name":{},"text":{"22":{}},"component":{}}],["46175",{"_index":484,"title":{},"name":{},"text":{"2":{}},"component":{}}],["46ac",{"_index":1378,"title":{},"name":{},"text":{"14":{}},"component":{}}],["4730",{"_index":2157,"title":{},"name":{},"text":{"32":{}},"component":{}}],["4785",{"_index":1379,"title":{},"name":{},"text":{"14":{}},"component":{}}],["47d7",{"_index":2074,"title":{},"name":{},"text":{"31":{}},"component":{}}],["481d",{"_index":2944,"title":{},"name":{},"text":{"54":{}},"component":{}}],["486d",{"_index":2065,"title":{},"name":{},"text":{"31":{}},"component":{}}],["48ba",{"_index":2809,"title":{},"name":{},"text":{"50":{}},"component":{}}],["48c9",{"_index":1191,"title":{},"name":{},"text":{"11":{}},"component":{}}],["4936",{"_index":2321,"title":{},"name":{},"text":{"37":{}},"component":{}}],["4956",{"_index":1409,"title":{},"name":{},"text":{"14":{}},"component":{}}],["4[0",{"_index":1118,"title":{},"name":{},"text":{"10":{}},"component":{}}],["4a81",{"_index":1237,"title":{},"name":{},"text":{"12":{}},"component":{}}],["4b34",{"_index":2668,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4b35e85c2406\",\"workflowdata\":{\"result\":\"abc",{"_index":1184,"title":{},"name":{},"text":{"11":{}},"component":{}}],["4b8e",{"_index":2638,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4b94408d",{"_index":2679,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4bd2",{"_index":3005,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["4c0e",{"_index":2657,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4ca9",{"_index":2164,"title":{},"name":{},"text":{"32":{}},"component":{}}],["4d60",{"_index":2726,"title":{},"name":{},"text":{"47":{}},"component":{}}],["4d7a",{"_index":2618,"title":{},"name":{},"text":{"46":{}},"component":{}}],["4d94",{"_index":1392,"title":{},"name":{},"text":{"14":{},"46":{}},"component":{}}],["4e0b",{"_index":1714,"title":{},"name":{},"text":{"23":{}},"component":{}}],["4e18",{"_index":2322,"title":{},"name":{},"text":{"37":{}},"component":{}}],["4e6c",{"_index":2762,"title":{},"name":{},"text":{"48":{}},"component":{}}],["4f25",{"_index":1182,"title":{},"name":{},"text":{"11":{}},"component":{}}],["4fb4",{"_index":1400,"title":{},"name":{},"text":{"14":{}},"component":{}}],["4fdc",{"_index":2088,"title":{},"name":{},"text":{"31":{}},"component":{}}],["5",{"_index":805,"title":{},"name":{},"text":{"6":{},"11":{},"19":{},"31":{},"35":{},"37":{},"41":{},"42":{},"47":{},"56":{},"57":{},"58":{},"63":{},"64":{},"72":{}},"component":{}}],["5.061",{"_index":2989,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["5.322",{"_index":2992,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["5.460",{"_index":2994,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["50051",{"_index":2220,"title":{},"name":{},"text":{"34":{}},"component":{}}],["51fd",{"_index":2163,"title":{},"name":{},"text":{"32":{}},"component":{}}],["5952",{"_index":2156,"title":{},"name":{},"text":{"32":{}},"component":{}}],["5df1ed6",{"_index":1619,"title":{},"name":{},"text":{"19":{}},"component":{}}],["6",{"_index":1166,"title":{},"name":{},"text":{"11":{},"19":{},"25":{},"31":{},"37":{},"41":{},"42":{},"56":{},"57":{},"58":{},"63":{},"64":{},"72":{}},"component":{}}],["6.470",{"_index":1584,"title":{},"name":{},"text":{"19":{}},"component":{}}],["60",{"_index":2468,"title":{},"name":{},"text":{"41":{}},"component":{}}],["610809090d9c",{"_index":2620,"title":{},"name":{},"text":{"46":{}},"component":{}}],["63dd79c4071e",{"_index":2683,"title":{},"name":{},"text":{"46":{}},"component":{}}],["6676",{"_index":2656,"title":{},"name":{},"text":{"46":{}},"component":{}}],["679e2cd89394",{"_index":2634,"title":{},"name":{},"text":{"46":{}},"component":{}}],["69019826",{"_index":1398,"title":{},"name":{},"text":{"14":{}},"component":{}}],["6e403a654a30\",\"workflowdata\":{\"name\":\"john\",\"language\":\"english\",\"message\":\"hello",{"_index":2233,"title":{},"name":{},"text":{"34":{}},"component":{}}],["6fbd61128f51\",\"workflowdata",{"_index":2728,"title":{},"name":{},"text":{"47":{}},"component":{}}],["6s",{"_index":2853,"title":{},"name":{},"text":{"51":{}},"component":{}}],["7",{"_index":1168,"title":{},"name":{},"text":{"11":{},"19":{},"31":{},"37":{},"41":{},"56":{},"57":{},"58":{},"63":{},"64":{},"72":{}},"component":{}}],["7.819",{"_index":2378,"title":{},"name":{},"text":{"37":{}},"component":{}}],["700",{"_index":1245,"title":{},"name":{},"text":{"12":{}},"component":{}}],["734907f0fef2",{"_index":2670,"title":{},"name":{},"text":{"46":{}},"component":{}}],["7450",{"_index":280,"title":{},"name":{},"text":{"2":{}},"component":{}}],["7456",{"_index":455,"title":{},"name":{},"text":{"2":{}},"component":{}}],["7640a0af",{"_index":1390,"title":{},"name":{},"text":{"14":{}},"component":{}}],["777adb97",{"_index":1700,"title":{},"name":{},"text":{"22":{}},"component":{}}],["782d",{"_index":1713,"title":{},"name":{},"text":{"23":{}},"component":{}}],["7a15",{"_index":1620,"title":{},"name":{},"text":{"19":{}},"component":{}}],["7b2b",{"_index":2087,"title":{},"name":{},"text":{"31":{}},"component":{}}],["7e4a",{"_index":2943,"title":{},"name":{},"text":{"54":{}},"component":{}}],["7f63872c92f4\",\"workflowdata\":{\"result\":\"bc",{"_index":1193,"title":{},"name":{},"text":{"11":{}},"component":{}}],["7m6",{"_index":3001,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["7s",{"_index":2855,"title":{},"name":{},"text":{"51":{}},"component":{}}],["8",{"_index":790,"title":{},"name":{},"text":{"6":{},"11":{},"19":{},"31":{},"41":{},"51":{},"63":{},"64":{},"72":{}},"component":{}}],["80/tcp",{"_index":2965,"title":{},"name":{},"text":{"56":{}},"component":{}}],["8057",{"_index":453,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8080",{"_index":1727,"title":{},"name":{},"text":{"24":{},"49":{},"56":{},"57":{},"58":{}},"component":{}}],["8080/tcp",{"_index":2961,"title":{},"name":{},"text":{"56":{}},"component":{}}],["8080:8080",{"_index":2937,"title":{},"name":{},"text":{"54":{}},"component":{}}],["8082",{"_index":892,"title":{},"name":{},"text":{"6":{}},"component":{}}],["8180",{"_index":635,"title":{},"name":{},"text":{"5":{}},"component":{}}],["82cd",{"_index":2619,"title":{},"name":{},"text":{"46":{}},"component":{}}],["837e",{"_index":3004,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["8455",{"_index":273,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8479",{"_index":1238,"title":{},"name":{},"text":{"12":{}},"component":{}}],["8555",{"_index":2658,"title":{},"name":{},"text":{"46":{}},"component":{}}],["85ab59366fe6",{"_index":1411,"title":{},"name":{},"text":{"14":{}},"component":{}}],["85bb",{"_index":2682,"title":{},"name":{},"text":{"46":{}},"component":{}}],["8601",{"_index":935,"title":{},"name":{},"text":{"8":{}},"component":{}}],["8644",{"_index":269,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8648",{"_index":266,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8650",{"_index":452,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8651",{"_index":450,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8675",{"_index":262,"title":{},"name":{},"text":{"2":{}},"component":{}}],["86cc",{"_index":1183,"title":{},"name":{},"text":{"11":{}},"component":{}}],["8775",{"_index":1410,"title":{},"name":{},"text":{"14":{}},"component":{}}],["880b",{"_index":1401,"title":{},"name":{},"text":{"14":{}},"component":{}}],["8843",{"_index":449,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8866",{"_index":260,"title":{},"name":{},"text":{"2":{}},"component":{}}],["8961",{"_index":447,"title":{},"name":{},"text":{"2":{}},"component":{}}],["89fa54d25e98",{"_index":2811,"title":{},"name":{},"text":{"50":{}},"component":{}}],["8a5e",{"_index":2232,"title":{},"name":{},"text":{"34":{}},"component":{}}],["8a8b",{"_index":2686,"title":{},"name":{},"text":{"46":{}},"component":{}}],["8cad",{"_index":2680,"title":{},"name":{},"text":{"46":{}},"component":{}}],["8e96",{"_index":2627,"title":{},"name":{},"text":{"46":{}},"component":{}}],["8gb",{"_index":2837,"title":{},"name":{},"text":{"51":{}},"component":{}}],["9",{"_index":1172,"title":{},"name":{},"text":{"11":{},"31":{},"37":{},"41":{},"63":{},"64":{},"72":{}},"component":{}}],["9+&@#/%=~_",{"_index":3243,"title":{},"name":{},"text":{"72":{}},"component":{}}],["9+&@#/%?=_",{"_index":3242,"title":{},"name":{},"text":{"72":{}},"component":{}}],["9011",{"_index":444,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9017",{"_index":438,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9079",{"_index":433,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9090/tcp,8008/tcp",{"_index":2963,"title":{},"name":{},"text":{"56":{}},"component":{}}],["9090/tcp,8008/tcp,443/tcp",{"_index":2969,"title":{},"name":{},"text":{"56":{}},"component":{}}],["9090/tcp,8008/tcp,80/tcp,81/tcp,443/tcp",{"_index":2952,"title":{},"name":{},"text":{"56":{}},"component":{}}],["9090/tcp,8008/tcp,8080/tcp",{"_index":2956,"title":{},"name":{},"text":{"56":{}},"component":{}}],["9106",{"_index":255,"title":{},"name":{},"text":{"2":{}},"component":{}}],["910d8e06728d",{"_index":2628,"title":{},"name":{},"text":{"46":{}},"component":{}}],["9141",{"_index":429,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9143",{"_index":426,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9144",{"_index":250,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9154",{"_index":248,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9157",{"_index":423,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9163",{"_index":419,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9167",{"_index":417,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9168",{"_index":415,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9177",{"_index":244,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9181",{"_index":243,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9182",{"_index":409,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9183",{"_index":406,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9187",{"_index":404,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9189",{"_index":402,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9194",{"_index":400,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9200",{"_index":399,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9205",{"_index":396,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9207",{"_index":392,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9208",{"_index":389,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9209",{"_index":385,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9210",{"_index":382,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9211",{"_index":380,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9212",{"_index":376,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9213",{"_index":370,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9214",{"_index":367,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9216",{"_index":237,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9217",{"_index":232,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9220",{"_index":229,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9221",{"_index":364,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9225",{"_index":362,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9229",{"_index":357,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9230",{"_index":351,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9233",{"_index":226,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9234",{"_index":345,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9238",{"_index":343,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9241",{"_index":342,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9242",{"_index":340,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9246",{"_index":220,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9251",{"_index":337,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9254",{"_index":334,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9255",{"_index":331,"title":{},"name":{},"text":{"2":{}},"component":{}}],["925c",{"_index":2945,"title":{},"name":{},"text":{"54":{}},"component":{}}],["9262",{"_index":328,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9263",{"_index":213,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9281",{"_index":208,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9287",{"_index":205,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9290",{"_index":324,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9291",{"_index":201,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9300",{"_index":321,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9304",{"_index":320,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9305",{"_index":316,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9311",{"_index":2763,"title":{},"name":{},"text":{"48":{}},"component":{}}],["9312",{"_index":197,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9313",{"_index":312,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9315",{"_index":193,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9318",{"_index":189,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9322",{"_index":307,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9323",{"_index":187,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9326",{"_index":303,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9348",{"_index":300,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9349",{"_index":178,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9354",{"_index":2075,"title":{},"name":{},"text":{"31":{}},"component":{}}],["9364",{"_index":172,"title":{},"name":{},"text":{"2":{}},"component":{}}],["938264210",{"_index":1595,"title":{},"name":{},"text":{"19":{}},"component":{}}],["9386",{"_index":296,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9387",{"_index":290,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9388",{"_index":286,"title":{},"name":{},"text":{"2":{}},"component":{}}],["9392",{"_index":284,"title":{},"name":{},"text":{"2":{}},"component":{}}],["93dd",{"_index":2239,"title":{},"name":{},"text":{"34":{}},"component":{}}],["948547ffd",{"_index":2849,"title":{},"name":{},"text":{"51":{}},"component":{}}],["953f07a7",{"_index":1407,"title":{},"name":{},"text":{"14":{}},"component":{}}],["9706",{"_index":2625,"title":{},"name":{},"text":{"46":{}},"component":{}}],["984b5c6c",{"_index":2807,"title":{},"name":{},"text":{"50":{}},"component":{}}],["99",{"_index":1613,"title":{},"name":{},"text":{"19":{}},"component":{}}],["9969",{"_index":1703,"title":{},"name":{},"text":{"22":{}},"component":{}}],["998c",{"_index":2323,"title":{},"name":{},"text":{"37":{}},"component":{}}],["9]{2",{"_index":1119,"title":{},"name":{},"text":{"10":{}},"component":{}}],["9bae",{"_index":2725,"title":{},"name":{},"text":{"47":{}},"component":{}}],["9d543764",{"_index":2685,"title":{},"name":{},"text":{"46":{}},"component":{}}],["9d9d",{"_index":1393,"title":{},"name":{},"text":{"14":{}},"component":{}}],["_",{"_index":1574,"title":{},"name":{},"text":{"19":{},"30":{},"32":{},"59":{}},"component":{}}],["_/_/|_/_/|_|\\____/___",{"_index":1576,"title":{},"name":{},"text":{"19":{}},"component":{}}],["__",{"_index":1569,"title":{},"name":{},"text":{"19":{},"59":{}},"component":{}}],["___",{"_index":1572,"title":{},"name":{},"text":{"19":{},"59":{}},"component":{}}],["___\\_\\____/_",{"_index":1575,"title":{},"name":{},"text":{"19":{}},"component":{}}],["____",{"_index":1570,"title":{},"name":{},"text":{"19":{},"59":{}},"component":{}}],["_____",{"_index":1571,"title":{},"name":{},"text":{"19":{},"59":{}},"component":{}}],["______",{"_index":1573,"title":{},"name":{},"text":{"19":{},"59":{}},"component":{}}],["_______",{"_index":3098,"title":{},"name":{},"text":{"59":{}},"component":{}}],["________",{"_index":3097,"title":{},"name":{},"text":{"59":{}},"component":{}}],["_________",{"_index":3099,"title":{},"name":{},"text":{"59":{}},"component":{}}],["____________",{"_index":3100,"title":{},"name":{},"text":{"59":{}},"component":{}}],["____________________",{"_index":3103,"title":{},"name":{},"text":{"59":{}},"component":{}}],["__________________________",{"_index":3104,"title":{},"name":{},"text":{"59":{}},"component":{}}],["______________________________",{"_index":3101,"title":{},"name":{},"text":{"59":{}},"component":{}}],["_dev_quarkus_rest_client_stock_svc_yaml_url=http://localhost:8383",{"_index":2169,"title":{},"name":{},"text":{"32":{}},"component":{}}],["_input",{"_index":405,"title":{},"name":{},"text":{"2":{}},"component":{}}],["_swf_eval_temp",{"_index":603,"title":{},"name":{},"text":{"5":{}},"component":{}}],["a0e5e0265fcb\",\"workflowdata\":{\"name\":\"john\",\"language\":\"english\",\"greeting\":\"hello",{"_index":3007,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["a2328f969c73\",\"workflowdata\":{\"name\":\"john\",\"response\":[{\"message\":\"hello",{"_index":2240,"title":{},"name":{},"text":{"34":{}},"component":{}}],["a363",{"_index":2639,"title":{},"name":{},"text":{"46":{}},"component":{}}],["a3e4",{"_index":1192,"title":{},"name":{},"text":{"11":{}},"component":{}}],["a6c4",{"_index":2662,"title":{},"name":{},"text":{"46":{}},"component":{}}],["a6d2",{"_index":1662,"title":{},"name":{},"text":{"19":{}},"component":{}}],["a95f95c9c190\",\"workflowdata\":{\"name\":\"kogito\",\"greeting\":\"greet",{"_index":1716,"title":{},"name":{},"text":{"23":{}},"component":{}}],["a9b",{"_index":1715,"title":{},"name":{},"text":{"23":{}},"component":{}}],["a9ef",{"_index":1236,"title":{},"name":{},"text":{"12":{}},"component":{}}],["a_unique_id_42",{"_index":812,"title":{},"name":{},"text":{"6":{}},"component":{}}],["aa11",{"_index":2810,"title":{},"name":{},"text":{"50":{}},"component":{}}],["aaee",{"_index":2687,"title":{},"name":{},"text":{"46":{}},"component":{}}],["abil",{"_index":3140,"title":{},"name":{},"text":{"63":{}},"component":{}}],["abort",{"_index":1092,"title":{},"name":{},"text":{"10":{},"64":{}},"component":{}}],["abov",{"_index":676,"title":{},"name":{},"text":{"6":{},"28":{},"50":{},"52":{},"59":{}},"component":{}}],["absolut",{"_index":2216,"title":{},"name":{},"text":{"34":{}},"component":{}}],["abstract",{"_index":1196,"title":{},"name":{},"text":{"12":{},"13":{}},"component":{}}],["acceler",{"_index":3186,"title":{},"name":{},"text":{"66":{}},"component":{}}],["accept",{"_index":1076,"title":{},"name":{},"text":{"9":{},"10":{},"11":{},"23":{},"31":{},"32":{},"34":{},"37":{},"41":{},"47":{}},"component":{}}],["accept(contenttype.json",{"_index":2340,"title":{},"name":{},"text":{"37":{},"40":{}},"component":{}}],["accept:application/json",{"_index":2226,"title":{},"name":{},"text":{"34":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["access",{"_index":547,"title":{"6-6":{},"35-4":{},"61-5":{}},"name":{"4":{}},"text":{"6":{},"8":{},"13":{},"19":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"43":{},"47":{},"50":{},"53":{},"56":{},"58":{},"62":{},"65":{},"66":{},"67":{},"69":{},"72":{}},"component":{}}],["accomplish",{"_index":2317,"title":{},"name":{},"text":{"36":{}},"component":{}}],["accord",{"_index":1431,"title":{},"name":{},"text":{"15":{},"16":{},"30":{},"35":{}},"component":{}}],["accordingli",{"_index":3070,"title":{},"name":{},"text":{"58":{}},"component":{}}],["account",{"_index":1373,"title":{"69-1":{}},"name":{},"text":{"14":{},"65":{},"66":{},"69":{},"72":{}},"component":{}}],["accur",{"_index":1966,"title":{},"name":{},"text":{"31":{}},"component":{}}],["achiev",{"_index":1476,"title":{},"name":{},"text":{"17":{},"18":{},"67":{}},"component":{}}],["acknowledgment(strategy.post_process",{"_index":1468,"title":{},"name":{},"text":{"16":{}},"component":{}}],["acm",{"_index":1963,"title":{},"name":{},"text":{"31":{}},"component":{}}],["acme_financial_oauth",{"_index":2028,"title":{},"name":{},"text":{"31":{}},"component":{}}],["acme_financial_service_oauth",{"_index":2045,"title":{},"name":{},"text":{"31":{}},"component":{}}],["acquir",{"_index":1763,"title":{},"name":{},"text":{"25":{}},"component":{}}],["act",{"_index":1199,"title":{},"name":{},"text":{"12":{},"14":{},"41":{}},"component":{}}],["action",{"_index":672,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"16":{},"17":{},"22":{},"23":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"46":{},"47":{},"50":{},"52":{},"59":{},"63":{},"64":{},"65":{},"72":{}},"component":{}}],["actiondatafilt",{"_index":1081,"title":{},"name":{},"text":{"9":{},"31":{},"46":{}},"component":{}}],["actionmod",{"_index":2135,"title":{},"name":{},"text":{"32":{},"35":{}},"component":{}}],["activ",{"_index":933,"title":{"64-2":{}},"name":{},"text":{"8":{},"11":{},"14":{},"19":{},"32":{},"36":{},"37":{},"46":{},"47":{},"48":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"64":{},"65":{},"67":{}},"component":{}}],["activateaccount",{"_index":1369,"title":{},"name":{},"text":{"14":{}},"component":{}}],["activateaccountev",{"_index":1368,"title":{},"name":{},"text":{"14":{}},"component":{}}],["activatedaccount",{"_index":1371,"title":{},"name":{},"text":{"14":{}},"component":{}}],["activatedaccountev",{"_index":1370,"title":{},"name":{},"text":{"14":{}},"component":{}}],["activity/servic",{"_index":1480,"title":{},"name":{},"text":{"17":{}},"component":{}}],["actual",{"_index":1504,"title":{},"name":{},"text":{"18":{}},"component":{}}],["ad",{"_index":725,"title":{"42-1":{}},"name":{},"text":{"6":{},"9":{},"16":{},"22":{},"24":{},"30":{},"34":{},"35":{},"40":{},"41":{},"42":{},"54":{},"56":{},"57":{},"58":{},"63":{},"64":{},"65":{},"72":{}},"component":{}}],["ad9c",{"_index":1660,"title":{},"name":{},"text":{"19":{}},"component":{}}],["add",{"_index":129,"title":{"12-1":{},"12-2":{}},"name":{},"text":{"1":{},"2":{},"3":{},"6":{},"7":{},"8":{},"11":{},"12":{},"13":{},"14":{},"15":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"49":{},"52":{},"54":{},"56":{},"57":{},"58":{},"61":{},"62":{},"64":{},"66":{},"67":{},"69":{},"70":{},"72":{}},"component":{}}],["addit",{"_index":657,"title":{"6-21":{},"7-1":{},"8-9":{},"9-4":{},"10-3":{},"11-4":{},"12-6":{},"13-4":{},"14-2":{},"15-2":{},"16-2":{},"17-3":{},"18-12":{},"19-6":{},"22-5":{},"23-2":{},"25-4":{},"27-2":{},"30-7":{},"31-4":{},"32-9":{},"35-6":{},"36-8":{},"37-1":{},"40-3":{},"41-4":{},"42-4":{},"43-6":{},"46-4":{},"47-11":{},"48-7":{},"49-3":{},"50-11":{},"51-4":{},"53-4":{},"54-5":{},"59-6":{},"68-2":{},"71-2":{}},"name":{},"text":{"12":{},"18":{},"30":{},"32":{},"33":{},"40":{},"59":{}},"component":{}}],["addition",{"_index":2308,"title":{},"name":{},"text":{"36":{},"64":{}},"component":{}}],["addon",{"_index":196,"title":{"8-7":{}},"name":{},"text":{"2":{},"6":{},"8":{},"12":{},"14":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"36":{},"37":{},"40":{},"51":{},"52":{},"56":{},"57":{},"58":{},"59":{},"62":{},"64":{}},"component":{}}],["addonsconfig",{"_index":2359,"title":{},"name":{},"text":{"37":{}},"component":{}}],["addonsconfig{usepersistence=fals",{"_index":2360,"title":{},"name":{},"text":{"37":{}},"component":{}}],["address",{"_index":267,"title":{"48-4":{}},"name":{},"text":{"2":{},"12":{},"41":{},"46":{},"48":{},"50":{},"53":{},"54":{},"58":{}},"component":{}}],["admin",{"_index":1884,"title":{},"name":{"29":{}},"text":{"51":{}},"component":{}}],["administr",{"_index":530,"title":{},"name":{},"text":{"3":{},"56":{},"69":{}},"component":{}}],["admiss",{"_index":2878,"title":{},"name":{},"text":{"52":{}},"component":{}}],["advanc",{"_index":3164,"title":{},"name":{},"text":{"64":{}},"component":{}}],["advantag",{"_index":2175,"title":{},"name":{},"text":{"33":{}},"component":{}}],["aea8",{"_index":1408,"title":{},"name":{},"text":{"14":{}},"component":{}}],["af5d",{"_index":2633,"title":{},"name":{},"text":{"46":{}},"component":{}}],["af60",{"_index":2089,"title":{},"name":{},"text":{"31":{}},"component":{}}],["afteral",{"_index":2428,"title":{},"name":{},"text":{"41":{}},"component":{}}],["ag",{"_index":764,"title":{},"name":{},"text":{"6":{},"23":{},"47":{},"51":{},"56":{},"57":{},"58":{}},"component":{}}],["again",{"_index":3051,"title":{},"name":{},"text":{"57":{}},"component":{}}],["against",{"_index":92,"title":{},"name":{},"text":{"1":{},"2":{},"7":{},"9":{},"10":{},"14":{},"31":{}},"component":{}}],["aggreg",{"_index":1293,"title":{},"name":{},"text":{"12":{}},"component":{}}],["aggregatedquotesrespons",{"_index":1281,"title":{},"name":{},"text":{"12":{}},"component":{}}],["agroal",{"_index":1650,"title":{},"name":{},"text":{"19":{},"27":{},"40":{}},"component":{}}],["aim",{"_index":1481,"title":{},"name":{},"text":{"17":{}},"component":{}}],["alert",{"_index":3147,"title":{},"name":{},"text":{"63":{},"64":{}},"component":{}}],["alia",{"_index":2092,"title":{"32-2":{}},"name":{},"text":{"32":{},"57":{}},"component":{}}],["align",{"_index":371,"title":{"52-4":{}},"name":{},"text":{"2":{},"52":{}},"component":{}}],["alloc",{"_index":2043,"title":{},"name":{},"text":{"31":{},"46":{}},"component":{}}],["allof",{"_index":1171,"title":{},"name":{},"text":{"11":{}},"component":{}}],["allow",{"_index":390,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"13":{},"14":{},"27":{},"32":{},"40":{},"41":{},"46":{},"58":{},"59":{},"63":{},"64":{},"65":{},"72":{}},"component":{}}],["along",{"_index":1822,"title":{},"name":{},"text":{"27":{},"56":{},"57":{},"58":{},"67":{},"72":{}},"component":{}}],["alongsid",{"_index":2690,"title":{},"name":{},"text":{"47":{},"72":{}},"component":{}}],["alpha",{"_index":2876,"title":{},"name":{},"text":{"52":{}},"component":{}}],["alphabet",{"_index":1904,"title":{},"name":{},"text":{"30":{},"32":{}},"component":{}}],["alreadi",{"_index":1202,"title":{},"name":{},"text":{"12":{},"28":{},"49":{},"50":{},"54":{},"56":{},"57":{},"58":{},"64":{},"69":{}},"component":{}}],["alter",{"_index":2803,"title":{},"name":{},"text":{"50":{}},"component":{}}],["altern",{"_index":1090,"title":{},"name":{},"text":{"10":{},"12":{},"14":{},"18":{},"27":{},"30":{},"31":{},"32":{},"36":{},"37":{},"42":{},"46":{},"50":{},"51":{},"54":{}},"component":{}}],["although",{"_index":1204,"title":{},"name":{},"text":{"12":{},"50":{}},"component":{}}],["alway",{"_index":2222,"title":{},"name":{},"text":{"34":{},"50":{},"66":{}},"component":{}}],["amaz",{"_index":1665,"title":{},"name":{},"text":{"19":{}},"component":{}}],["amount",{"_index":927,"title":{},"name":{},"text":{"8":{},"12":{},"31":{}},"component":{}}],["analyz",{"_index":2817,"title":{},"name":{},"text":{"50":{}},"component":{}}],["annot",{"_index":1332,"title":{},"name":{},"text":{"13":{},"40":{},"41":{},"50":{},"56":{},"57":{},"58":{}},"component":{}}],["anoth",{"_index":1198,"title":{},"name":{},"text":{"12":{},"13":{},"27":{},"34":{},"46":{},"66":{}},"component":{}}],["anymor",{"_index":952,"title":{},"name":{},"text":{"8":{}},"component":{}}],["apach",{"_index":119,"title":{"13":{}},"name":{},"text":{"1":{},"6":{},"12":{},"13":{},"15":{},"16":{},"19":{},"22":{},"31":{},"37":{},"40":{},"54":{}},"component":{}}],["api",{"_index":43,"title":{"30-4":{},"47-10":{}},"name":{},"text":{"1":{},"2":{},"5":{},"12":{},"18":{},"25":{},"30":{},"31":{},"32":{},"35":{},"37":{},"41":{},"42":{},"47":{},"52":{},"59":{},"65":{},"67":{},"69":{},"72":{}},"component":{}}],["api_key_exampl",{"_index":1901,"title":{},"name":{},"text":{"30":{}},"component":{}}],["apicatalog_apis_123_docu",{"_index":2102,"title":{},"name":{},"text":{"32":{}},"component":{}}],["apicurio",{"_index":3245,"title":{},"name":{},"text":{"72":{}},"component":{}}],["apikey",{"_index":1890,"title":{},"name":{},"text":{"30":{}},"component":{}}],["apivers",{"_index":1284,"title":{},"name":{},"text":{"12":{},"24":{},"49":{},"50":{},"56":{},"57":{},"58":{}},"component":{}}],["app",{"_index":434,"title":{},"name":{},"text":{"2":{},"19":{},"23":{},"24":{},"30":{},"31":{},"43":{},"49":{},"56":{},"57":{},"58":{}},"component":{}}],["app.kubernetes.io/nam",{"_index":3024,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["app.quarkus.io/build",{"_index":3019,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["app.quarkus.io/commit",{"_index":3017,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["app/quarku",{"_index":2056,"title":{},"name":{},"text":{"31":{},"32":{},"59":{}},"component":{}}],["appear",{"_index":2579,"title":{},"name":{},"text":{"46":{},"63":{},"64":{},"65":{},"67":{},"69":{},"72":{}},"component":{}}],["appl",{"_index":2528,"title":{},"name":{},"text":{"43":{}},"component":{}}],["appli",{"_index":271,"title":{"63-1":{}},"name":{},"text":{"2":{},"9":{},"10":{},"12":{},"24":{},"28":{},"30":{},"36":{},"47":{},"48":{},"50":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"69":{}},"component":{}}],["applic",{"_index":23,"title":{"3":{},"37":{},"56":{},"57":{},"58":{},"69":{},"19-3":{},"19-4":{},"19-5":{},"31-2":{},"31-3":{},"32-6":{},"32-7":{},"34-2":{},"40-2":{},"41-2":{},"48-5":{},"48-6":{},"50-3":{},"50-4":{},"50-9":{},"54-1":{},"54-2":{},"54-3":{},"56-2":{},"56-3":{},"56-4":{},"56-5":{},"57-2":{},"57-3":{},"57-4":{},"57-5":{},"58-2":{},"58-4":{},"58-5":{},"58-6":{},"69-1":{},"69-2":{}},"name":{"69":{}},"text":{"1":{},"3":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"16":{},"17":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"62":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{}},"component":{}}],["applicantworkflow",{"_index":1840,"title":{},"name":{},"text":{"27":{}},"component":{}}],["application.properti",{"_index":817,"title":{},"name":{},"text":{"6":{},"12":{},"16":{},"17":{},"27":{},"31":{},"32":{},"34":{},"35":{},"41":{},"49":{},"56":{},"57":{},"58":{}},"component":{}}],["application/cloudevents+json",{"_index":788,"title":{},"name":{},"text":{"6":{},"12":{}},"component":{}}],["application/json",{"_index":785,"title":{},"name":{},"text":{"6":{},"11":{},"12":{},"23":{},"31":{},"32":{},"35":{},"37":{},"42":{},"46":{},"47":{}},"component":{}}],["applications/ki",{"_index":3198,"title":{},"name":{},"text":{"67":{}},"component":{}}],["applicationscop",{"_index":2008,"title":{},"name":{},"text":{"31":{}},"component":{}}],["appreci",{"_index":652,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["approach",{"_index":534,"title":{},"name":{},"text":{"3":{},"6":{},"17":{},"27":{},"34":{},"35":{},"36":{},"43":{},"56":{},"57":{},"58":{},"67":{}},"component":{}}],["appropri",{"_index":1292,"title":{},"name":{},"text":{"12":{},"19":{},"28":{},"34":{}},"component":{}}],["approv",{"_index":2532,"title":{},"name":{},"text":{"43":{},"47":{}},"component":{}}],["approvedvisa",{"_index":989,"title":{},"name":{},"text":{"8":{}},"component":{}}],["architectur",{"_index":26,"title":{},"name":{},"text":{"1":{},"31":{},"36":{},"41":{},"46":{},"47":{}},"component":{}}],["arg",{"_index":1800,"title":{},"name":{},"text":{"25":{}},"component":{}}],["arg1",{"_index":1687,"title":{},"name":{},"text":{"22":{}},"component":{}}],["arg2",{"_index":1688,"title":{},"name":{},"text":{"22":{}},"component":{}}],["argument",{"_index":242,"title":{"6-4":{},"6-9":{},"6-14":{},"9-2":{}},"name":{},"text":{"2":{},"6":{},"8":{},"9":{},"10":{},"17":{},"22":{},"23":{},"31":{},"32":{},"33":{},"34":{},"35":{},"46":{},"50":{},"52":{}},"component":{}}],["arithmet",{"_index":856,"title":{},"name":{},"text":{"6":{}},"component":{}}],["arm",{"_index":203,"title":{},"name":{},"text":{"2":{}},"component":{}}],["around",{"_index":2778,"title":{},"name":{},"text":{"50":{}},"component":{}}],["array",{"_index":727,"title":{},"name":{},"text":{"6":{},"9":{},"15":{},"22":{},"34":{},"72":{}},"component":{}}],["arriv",{"_index":966,"title":{},"name":{},"text":{"8":{},"17":{},"47":{}},"component":{}}],["articl",{"_index":2533,"title":{},"name":{},"text":{"43":{},"58":{}},"component":{}}],["artifact",{"_index":1550,"title":{},"name":{},"text":{"19":{},"40":{},"54":{},"72":{}},"component":{}}],["ascloudev",{"_index":792,"title":{},"name":{},"text":{"6":{}},"component":{}}],["ask",{"_index":2823,"title":{},"name":{},"text":{"50":{},"72":{}},"component":{}}],["asp.net",{"_index":2265,"title":{},"name":{},"text":{"35":{}},"component":{}}],["aspect",{"_index":1968,"title":{},"name":{},"text":{"31":{},"36":{}},"component":{}}],["asset",{"_index":75,"title":{},"name":{},"text":{"1":{},"20":{},"27":{}},"component":{}}],["assign",{"_index":2113,"title":{},"name":{},"text":{"32":{},"59":{}},"component":{}}],["associ",{"_index":831,"title":{},"name":{},"text":{"6":{},"9":{},"14":{},"16":{},"18":{},"46":{}},"component":{}}],["assum",{"_index":690,"title":{},"name":{},"text":{"6":{},"33":{},"42":{},"54":{},"65":{}},"component":{}}],["assur",{"_index":128,"title":{"37":{}},"name":{},"text":{"1":{},"19":{},"37":{},"40":{},"41":{},"42":{}},"component":{}}],["assured/target/serverless",{"_index":2383,"title":{},"name":{},"text":{"37":{}},"component":{}}],["async",{"_index":38,"title":{},"name":{},"text":{"1":{},"18":{}},"component":{}}],["asyncapi",{"_index":111,"title":{"33":{}},"name":{"33":{}},"text":{"1":{},"33":{}},"component":{}}],["asyncapi.yaml",{"_index":2177,"title":{},"name":{},"text":{"33":{}},"component":{}}],["asyncapi.yaml#consumewait",{"_index":2185,"title":{},"name":{},"text":{"33":{}},"component":{}}],["asyncapi.yaml#sendresum",{"_index":2188,"title":{},"name":{},"text":{"33":{}},"component":{}}],["asynchron",{"_index":967,"title":{},"name":{},"text":{"8":{},"16":{},"17":{},"40":{},"41":{}},"component":{}}],["atleast",{"_index":1187,"title":{},"name":{},"text":{"11":{}},"component":{}}],["atleast(1",{"_index":2409,"title":{},"name":{},"text":{"40":{}},"component":{}}],["atmost(30",{"_index":2410,"title":{},"name":{},"text":{"40":{}},"component":{}}],["atmost(60",{"_index":2446,"title":{},"name":{},"text":{"41":{}},"component":{}}],["attach",{"_index":643,"title":{},"name":{},"text":{"5":{}},"component":{}}],["attempt",{"_index":2888,"title":{},"name":{},"text":{"53":{}},"component":{}}],["attempttoredeployfail",{"_index":2894,"title":{},"name":{},"text":{"53":{}},"component":{}}],["attent",{"_index":2999,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["attribut",{"_index":209,"title":{},"name":{},"text":{"2":{},"6":{},"7":{},"9":{},"12":{},"14":{},"15":{},"16":{},"17":{},"18":{},"22":{},"31":{},"35":{},"46":{},"50":{},"59":{},"72":{}},"component":{}}],["aud",{"_index":2081,"title":{},"name":{},"text":{"31":{}},"component":{}}],["augment",{"_index":2387,"title":{},"name":{},"text":{"37":{}},"component":{}}],["auth_property_nam",{"_index":1902,"title":{},"name":{},"text":{"30":{}},"component":{}}],["authent",{"_index":122,"title":{"30":{},"31":{},"30-1":{},"30-2":{},"30-3":{},"30-4":{},"30-5":{},"48-3":{}},"name":{"30":{}},"text":{"1":{},"30":{},"31":{},"35":{},"48":{},"56":{},"58":{},"69":{},"72":{}},"component":{}}],["author",{"_index":74,"title":{"30-6":{}},"name":{},"text":{"1":{},"20":{},"30":{},"31":{},"41":{}},"component":{}}],["authorizationurl",{"_index":1927,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["authprovid",{"_index":3244,"title":{},"name":{},"text":{"72":{}},"component":{}}],["auto",{"_index":1221,"title":{"72-6":{}},"name":{},"text":{"12":{},"63":{},"71":{},"72":{}},"component":{}}],["autocomplet",{"_index":2536,"title":{},"name":{},"text":{"43":{}},"component":{}}],["automat",{"_index":194,"title":{},"name":{},"text":{"2":{},"16":{},"17":{},"24":{},"27":{},"30":{},"31":{},"32":{},"33":{},"35":{},"36":{},"40":{},"43":{},"68":{},"71":{},"72":{}},"component":{}}],["autoscal",{"_index":2954,"title":{},"name":{},"text":{"56":{}},"component":{}}],["avaiabl",{"_index":210,"title":{},"name":{},"text":{"2":{}},"component":{}}],["avail",{"_index":200,"title":{"56-1":{},"59-5":{}},"name":{},"text":{"2":{},"6":{},"10":{},"19":{},"22":{},"24":{},"25":{},"27":{},"28":{},"30":{},"32":{},"35":{},"36":{},"43":{},"46":{},"50":{},"53":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"65":{},"72":{}},"component":{}}],["avoid",{"_index":352,"title":{},"name":{},"text":{"2":{},"6":{},"35":{},"36":{},"50":{},"57":{}},"component":{}}],["await",{"_index":2408,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["awaitil",{"_index":2393,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["awesom",{"_index":1555,"title":{},"name":{},"text":{"19":{}},"component":{}}],["b",{"_index":1173,"title":{},"name":{},"text":{"11":{}},"component":{}}],["b125",{"_index":2761,"title":{},"name":{},"text":{"48":{}},"component":{}}],["b232",{"_index":2664,"title":{},"name":{},"text":{"46":{}},"component":{}}],["b364",{"_index":2727,"title":{},"name":{},"text":{"47":{}},"component":{}}],["b4bf",{"_index":2066,"title":{},"name":{},"text":{"31":{}},"component":{}}],["b4f1",{"_index":3006,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["b526",{"_index":2158,"title":{},"name":{},"text":{"32":{}},"component":{}}],["b5e1",{"_index":2614,"title":{},"name":{},"text":{"46":{}},"component":{}}],["b689",{"_index":2165,"title":{},"name":{},"text":{"32":{}},"component":{}}],["b7fb",{"_index":1391,"title":{},"name":{},"text":{"14":{}},"component":{}}],["b869",{"_index":2669,"title":{},"name":{},"text":{"46":{}},"component":{}}],["back",{"_index":420,"title":{},"name":{},"text":{"2":{},"22":{},"34":{},"35":{}},"component":{}}],["backend",{"_index":2316,"title":{},"name":{},"text":{"36":{},"47":{}},"component":{}}],["balanc",{"_index":2993,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["band",{"_index":1478,"title":{},"name":{},"text":{"17":{}},"component":{}}],["bank1",{"_index":1249,"title":{},"name":{},"text":{"12":{}},"component":{}}],["bank2",{"_index":1252,"title":{},"name":{},"text":{"12":{}},"component":{}}],["bankid",{"_index":1248,"title":{},"name":{},"text":{"12":{}},"component":{}}],["bar",{"_index":1786,"title":{},"name":{},"text":{"25":{}},"component":{}}],["barchart",{"_index":1793,"title":{},"name":{},"text":{"25":{}},"component":{}}],["base",{"_index":61,"title":{"24":{},"34":{},"8-6":{},"35-2":{}},"name":{"33":{},"35":{},"46":{}},"text":{"1":{},"6":{},"8":{},"9":{},"11":{},"16":{},"17":{},"19":{},"23":{},"27":{},"30":{},"32":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"46":{},"48":{},"49":{},"51":{},"54":{},"58":{},"59":{},"61":{},"64":{},"66":{},"71":{},"72":{}},"component":{}}],["baselin",{"_index":1844,"title":{"28-5":{},"28-6":{},"28-7":{}},"name":{},"text":{"28":{}},"component":{}}],["baselineonmigrate=\"tru",{"_index":1878,"title":{},"name":{},"text":{"28":{}},"component":{}}],["baselinevers",{"_index":1874,"title":{},"name":{},"text":{"28":{}},"component":{}}],["baselineversion=\"1.32.0",{"_index":1879,"title":{},"name":{},"text":{"28":{}},"component":{}}],["basic",{"_index":344,"title":{"30-2":{},"50-6":{}},"name":{"37":{}},"text":{"2":{},"3":{},"30":{},"34":{},"48":{},"64":{}},"component":{}}],["batik",{"_index":470,"title":{},"name":{},"text":{"2":{}},"component":{}}],["bc76",{"_index":1380,"title":{},"name":{},"text":{"14":{}},"component":{}}],["bcfb",{"_index":1622,"title":{},"name":{},"text":{"19":{}},"component":{}}],["be",{"_index":177,"title":{},"name":{},"text":{"2":{},"8":{},"12":{},"19":{},"52":{},"58":{},"72":{}},"component":{}}],["bean",{"_index":591,"title":{},"name":{},"text":{"5":{},"6":{},"22":{}},"component":{}}],["bear",{"_index":519,"title":{},"name":{},"text":{"3":{}},"component":{}}],["bearer",{"_index":1886,"title":{"30-3":{}},"name":{},"text":{"30":{}},"component":{}}],["becom",{"_index":932,"title":{},"name":{},"text":{"8":{},"36":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["befor",{"_index":625,"title":{},"name":{},"text":{"5":{},"7":{},"8":{},"9":{},"12":{},"13":{},"31":{},"34":{},"35":{},"41":{},"42":{},"43":{},"47":{},"48":{},"53":{},"56":{},"57":{},"58":{},"65":{},"66":{}},"component":{}}],["beforeal",{"_index":2336,"title":{},"name":{},"text":{"37":{},"41":{}},"component":{}}],["begin",{"_index":1048,"title":{},"name":{},"text":{"9":{}},"component":{}}],["behav",{"_index":953,"title":{},"name":{},"text":{"8":{},"18":{},"42":{}},"component":{}}],["behavior",{"_index":1443,"title":{},"name":{},"text":{"16":{},"18":{},"36":{},"40":{},"48":{},"57":{}},"component":{}}],["belong",{"_index":1355,"title":{},"name":{},"text":{"14":{},"56":{},"57":{},"58":{}},"component":{}}],["below",{"_index":513,"title":{},"name":{},"text":{"3":{},"17":{},"22":{},"28":{},"49":{},"51":{},"53":{},"56":{},"63":{}},"component":{}}],["bequiet",{"_index":1427,"title":{},"name":{},"text":{"15":{}},"component":{}}],["best",{"_index":1670,"title":{},"name":{},"text":{"20":{}},"component":{}}],["better",{"_index":238,"title":{},"name":{},"text":{"2":{},"22":{},"54":{}},"component":{}}],["between",{"_index":422,"title":{},"name":{},"text":{"2":{},"10":{},"11":{},"17":{},"36":{},"41":{},"42":{},"59":{},"64":{}},"component":{}}],["bidirect",{"_index":2194,"title":{"34-6":{}},"name":{},"text":{"34":{}},"component":{}}],["bin",{"_index":3192,"title":{},"name":{},"text":{"67":{}},"component":{}}],["binari",{"_index":1254,"title":{},"name":{},"text":{"12":{},"27":{},"43":{}},"component":{}}],["bind",{"_index":140,"title":{},"name":{},"text":{"1":{},"12":{}},"component":{}}],["blank",{"_index":3146,"title":{},"name":{},"text":{"63":{}},"component":{}}],["block",{"_index":2202,"title":{},"name":{},"text":{"34":{},"43":{}},"component":{}}],["blocker",{"_index":461,"title":{},"name":{},"text":{"2":{}},"component":{}}],["bodi",{"_index":742,"title":{},"name":{},"text":{"6":{},"9":{},"17":{},"22":{},"35":{},"37":{},"41":{},"42":{}},"component":{}}],["body(\"workflowdata.greet",{"_index":2344,"title":{},"name":{},"text":{"37":{}},"component":{}}],["body(\"{\\\"nam",{"_index":2341,"title":{},"name":{},"text":{"37":{}},"component":{}}],["body(objectmapper.writevalueasstring(ord",{"_index":2444,"title":{},"name":{},"text":{"41":{}},"component":{}}],["boolean",{"_index":574,"title":{},"name":{},"text":{"5":{},"6":{},"9":{},"27":{}},"component":{}}],["boot",{"_index":2263,"title":{},"name":{},"text":{"35":{}},"component":{}}],["bootstrap",{"_index":1516,"title":{"19-1":{}},"name":{},"text":{"19":{}},"component":{}}],["both",{"_index":743,"title":{},"name":{},"text":{"6":{},"12":{},"15":{},"17":{},"41":{},"47":{},"63":{}},"component":{}}],["box",{"_index":3145,"title":{},"name":{},"text":{"63":{},"72":{}},"component":{}}],["branch",{"_index":1137,"title":{"11-3":{}},"name":{},"text":{"11":{},"18":{},"54":{},"70":{}},"component":{}}],["brancha",{"_index":1165,"title":{},"name":{},"text":{"11":{}},"component":{}}],["branchb",{"_index":1167,"title":{},"name":{},"text":{"11":{}},"component":{}}],["branchc",{"_index":1169,"title":{},"name":{},"text":{"11":{}},"component":{}}],["break",{"_index":2654,"title":{},"name":{},"text":{"46":{}},"component":{}}],["briefli",{"_index":733,"title":{},"name":{},"text":{"6":{}},"component":{}}],["brl",{"_index":2080,"title":{},"name":{},"text":{"31":{}},"component":{}}],["broken",{"_index":298,"title":{},"name":{},"text":{"2":{}},"component":{}}],["broker",{"_index":1216,"title":{},"name":{},"text":{"12":{},"13":{},"16":{},"33":{},"41":{},"52":{}},"component":{}}],["browser",{"_index":2720,"title":{},"name":{},"text":{"47":{},"50":{},"57":{},"65":{},"68":{}},"component":{}}],["bucket",{"_index":2957,"title":{},"name":{},"text":{"56":{}},"component":{}}],["buffer",{"_index":1334,"title":{},"name":{},"text":{"13":{}},"component":{}}],["bug",{"_index":166,"title":{"2-2":{}},"name":{},"text":{},"component":{}}],["build",{"_index":21,"title":{"48":{},"54":{},"12-4":{},"19-3":{},"25-2":{},"25-3":{},"43-3":{},"43-4":{},"48-1":{},"48-2":{},"48-4":{},"48-5":{},"54-2":{},"54-3":{}},"name":{"48":{},"54":{},"55":{}},"text":{"1":{},"2":{},"3":{},"12":{},"16":{},"19":{},"23":{},"25":{},"28":{},"31":{},"35":{},"37":{},"40":{},"41":{},"43":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["build=tru",{"_index":2934,"title":{},"name":{},"text":{"54":{},"57":{}},"component":{}}],["buildconfig",{"_index":256,"title":{},"name":{},"text":{"2":{}},"component":{}}],["builder",{"_index":264,"title":{},"name":{},"text":{"2":{},"17":{},"48":{},"52":{},"54":{}},"component":{}}],["buildfailedreason",{"_index":2898,"title":{},"name":{},"text":{"53":{}},"component":{}}],["buildisrunningreason",{"_index":2897,"title":{},"name":{},"text":{"53":{}},"component":{}}],["buildpack",{"_index":2908,"title":{},"name":{},"text":{"54":{}},"component":{}}],["built",{"_index":1762,"title":{},"name":{},"text":{"24":{},"35":{},"43":{},"53":{},"54":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["busi",{"_index":1816,"title":{"63-5":{}},"name":{},"text":{"25":{},"46":{},"63":{},"64":{}},"component":{}}],["businesskey",{"_index":1811,"title":{},"name":{},"text":{"25":{}},"component":{}}],["button",{"_index":3136,"title":{},"name":{},"text":{"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["buy",{"_index":2569,"title":{},"name":{},"text":{"46":{}},"component":{}}],["byte",{"_index":2487,"title":{},"name":{},"text":{"42":{}},"component":{}}],["c",{"_index":1174,"title":{},"name":{},"text":{"11":{}},"component":{}}],["c1658c4e49bc",{"_index":1402,"title":{},"name":{},"text":{"14":{}},"component":{}}],["c4e7",{"_index":1190,"title":{},"name":{},"text":{"11":{}},"component":{}}],["c82c",{"_index":2073,"title":{},"name":{},"text":{"31":{}},"component":{}}],["cace363774bb\",\"workflowdata\":{\"symbol\":\"kgto\",\"currentprice\":56.35,\"profit\":\"13",{"_index":2170,"title":{},"name":{},"text":{"32":{}},"component":{}}],["cace363774bb\",\"workflowdata\":{\"symbol\":\"kgto\",\"currentprice\":75,\"profit\":\"50",{"_index":2159,"title":{},"name":{},"text":{"32":{}},"component":{}}],["cach",{"_index":1587,"title":{},"name":{},"text":{"19":{},"37":{},"54":{}},"component":{}}],["cad",{"_index":2079,"title":{},"name":{},"text":{"31":{}},"component":{}}],["calcul",{"_index":1077,"title":{},"name":{},"text":{"9":{},"15":{},"31":{},"32":{}},"component":{}}],["calculateexchang",{"_index":1985,"title":{},"name":{},"text":{"31":{}},"component":{}}],["calculateexchangeact",{"_index":1998,"title":{},"name":{},"text":{"31":{}},"component":{}}],["calculateexchangeresult",{"_index":1986,"title":{},"name":{},"text":{"31":{}},"component":{}}],["calculatorclient.invokeoper",{"_index":898,"title":{},"name":{},"text":{"6":{}},"component":{}}],["calculatorclient.invokeoperation((string)metadata.getordefault(host,\"localhost",{"_index":890,"title":{},"name":{},"text":{"6":{}},"component":{}}],["call",{"_index":47,"title":{},"name":{},"text":{"1":{},"6":{},"8":{},"9":{},"11":{},"13":{},"17":{},"19":{},"22":{},"23":{},"33":{},"34":{},"35":{},"42":{},"46":{},"48":{},"50":{},"57":{}},"component":{}}],["callabl",{"_index":2418,"title":{},"name":{},"text":{"41":{}},"component":{}}],["callback",{"_index":118,"title":{"16":{},"17":{},"8-3":{},"16-1":{},"17-1":{},"47-1":{}},"name":{"16":{},"17":{}},"text":{"1":{},"2":{},"8":{},"9":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"27":{},"36":{},"40":{},"46":{},"47":{}},"component":{}}],["callback_event_typ",{"_index":2691,"title":{},"name":{},"text":{"47":{}},"component":{}}],["callbackact",{"_index":972,"title":{},"name":{},"text":{"8":{}},"component":{}}],["callbackerror",{"_index":980,"title":{},"name":{},"text":{"8":{}},"component":{}}],["callbackev",{"_index":976,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["callbackfunct",{"_index":973,"title":{},"name":{},"text":{"8":{}},"component":{}}],["callbackrestit",{"_index":2403,"title":{},"name":{},"text":{"40":{}},"component":{}}],["callbackst",{"_index":971,"title":{},"name":{},"text":{"8":{}},"component":{}}],["caller",{"_index":1437,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["callpetstor",{"_index":2287,"title":{},"name":{},"text":{"35":{}},"component":{}}],["camel",{"_index":152,"title":{"22":{},"6-7":{},"22-1":{},"22-2":{},"22-3":{}},"name":{"21":{},"22":{}},"text":{"1":{},"6":{},"22":{},"52":{}},"component":{}}],["camel:direct",{"_index":1694,"title":{},"name":{},"text":{"22":{}},"component":{}}],["camel:direct:logroutereplacehead",{"_index":1693,"title":{},"name":{},"text":{"22":{}},"component":{}}],["camel:direct:myendpoint",{"_index":737,"title":{},"name":{},"text":{"6":{}},"component":{}}],["cancel",{"_index":947,"title":{},"name":{},"text":{"8":{},"41":{},"46":{},"47":{}},"component":{}}],["cancelpay",{"_index":2594,"title":{},"name":{},"text":{"46":{}},"component":{}}],["cancelpaymentrespons",{"_index":2671,"title":{},"name":{},"text":{"46":{}},"component":{}}],["cancelstockrespons",{"_index":2672,"title":{},"name":{},"text":{"46":{}},"component":{}}],["can’t",{"_index":2900,"title":{},"name":{},"text":{"53":{},"67":{}},"component":{}}],["capabl",{"_index":661,"title":{},"name":{},"text":{"6":{},"12":{},"13":{},"27":{},"51":{},"71":{},"72":{}},"component":{}}],["card",{"_index":299,"title":{},"name":{},"text":{"2":{},"3":{},"46":{}},"component":{}}],["care",{"_index":1203,"title":{},"name":{},"text":{"12":{},"28":{}},"component":{}}],["case",{"_index":15,"title":{"1-12":{}},"name":{},"text":{"2":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"15":{},"18":{},"22":{},"28":{},"30":{},"31":{},"34":{},"35":{},"36":{},"42":{},"43":{},"46":{},"47":{},"50":{},"53":{},"54":{},"57":{},"59":{},"64":{},"65":{},"67":{}},"component":{}}],["catalog",{"_index":3132,"title":{},"name":{},"text":{"59":{}},"component":{}}],["catch",{"_index":895,"title":{},"name":{},"text":{"6":{},"10":{},"16":{},"42":{}},"component":{}}],["caus",{"_index":2830,"title":{},"name":{},"text":{"50":{}},"component":{}}],["cd",{"_index":1547,"title":{},"name":{},"text":{"19":{},"31":{},"32":{},"54":{}},"component":{}}],["cd98c6bd3ade",{"_index":2090,"title":{},"name":{},"text":{"31":{}},"component":{}}],["cdi",{"_index":1588,"title":{},"name":{},"text":{"19":{},"37":{}},"component":{}}],["ce",{"_index":1255,"title":{},"name":{},"text":{"12":{},"16":{}},"component":{}}],["ce.get().getdata",{"_index":1473,"title":{},"name":{},"text":{"16":{}},"component":{}}],["cekit",{"_index":416,"title":{},"name":{},"text":{"2":{}},"component":{}}],["celsiu",{"_index":1054,"title":{},"name":{},"text":{"9":{}},"component":{}}],["certain",{"_index":1307,"title":{},"name":{},"text":{"13":{},"32":{}},"component":{}}],["certif",{"_index":3203,"title":{},"name":{},"text":{"67":{}},"component":{}}],["chain",{"_index":1103,"title":{},"name":{},"text":{"10":{}},"component":{}}],["chang",{"_index":146,"title":{"2-1":{},"2-2":{}},"name":{},"text":{"1":{},"6":{},"9":{},"10":{},"11":{},"12":{},"13":{},"18":{},"19":{},"23":{},"27":{},"28":{},"31":{},"36":{},"46":{},"48":{},"49":{},"50":{},"66":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["channel",{"_index":585,"title":{"13-1":{},"13-2":{}},"name":{},"text":{"5":{},"8":{},"12":{},"13":{},"17":{},"33":{},"41":{},"50":{}},"component":{}}],["charact",{"_index":1046,"title":{},"name":{},"text":{"9":{},"30":{},"32":{}},"component":{}}],["charset=utf",{"_index":789,"title":{},"name":{},"text":{"6":{}},"component":{}}],["chart",{"_index":1787,"title":{},"name":{},"text":{"25":{}},"component":{}}],["check",{"_index":311,"title":{"48-6":{},"50-3":{}},"name":{},"text":{"2":{},"6":{},"8":{},"10":{},"12":{},"24":{},"31":{},"36":{},"37":{},"40":{},"41":{},"43":{},"47":{},"48":{},"50":{},"51":{},"53":{},"56":{},"57":{},"58":{},"65":{},"69":{}},"component":{}}],["checkbox",{"_index":3216,"title":{},"name":{},"text":{"69":{}},"component":{}}],["checkeven",{"_index":1126,"title":{},"name":{},"text":{"10":{}},"component":{}}],["checkevenact",{"_index":1127,"title":{},"name":{},"text":{"10":{}},"component":{}}],["checkeventarriv",{"_index":977,"title":{},"name":{},"text":{"8":{}},"component":{}}],["checkout",{"_index":2574,"title":{},"name":{},"text":{"46":{}},"component":{}}],["checkvalid",{"_index":1994,"title":{},"name":{},"text":{"31":{}},"component":{}}],["child",{"_index":1130,"title":{},"name":{},"text":{"10":{}},"component":{}}],["chip",{"_index":3142,"title":{},"name":{},"text":{"63":{}},"component":{}}],["chmod",{"_index":2526,"title":{},"name":{},"text":{"43":{}},"component":{}}],["choic",{"_index":2779,"title":{},"name":{},"text":{"50":{}},"component":{}}],["choos",{"_index":1861,"title":{},"name":{},"text":{"28":{}},"component":{}}],["chooseonev",{"_index":987,"title":{},"name":{},"text":{"8":{}},"component":{}}],["chooseonlanguag",{"_index":2785,"title":{},"name":{},"text":{"50":{}},"component":{}}],["choreographi",{"_index":24,"title":{},"name":{},"text":{"1":{}},"component":{}}],["chrome",{"_index":1672,"title":{"70":{},"70-1":{},"70-2":{}},"name":{"70":{}},"text":{"20":{},"70":{},"71":{}},"component":{}}],["chrome_extension_serverless_workflow_editor_version.zip",{"_index":3219,"title":{},"name":{},"text":{"70":{}},"component":{}}],["class",{"_index":373,"title":{},"name":{},"text":{"2":{},"6":{},"10":{},"31":{},"37":{},"40":{},"41":{},"42":{},"46":{}},"component":{}}],["classifi",{"_index":1297,"title":{},"name":{},"text":{"13":{},"41":{}},"component":{}}],["classpath",{"_index":916,"title":{},"name":{},"text":{"7":{},"13":{},"33":{},"34":{},"35":{}},"component":{}}],["clean",{"_index":1269,"title":{},"name":{},"text":{"12":{},"19":{},"31":{},"34":{},"37":{},"40":{},"41":{},"47":{}},"component":{}}],["clear",{"_index":3143,"title":{},"name":{},"text":{"63":{},"64":{}},"component":{}}],["cli",{"_index":104,"title":{"43":{},"54":{},"28-3":{},"28-7":{},"43-1":{},"43-2":{},"43-3":{},"43-5":{},"56-3":{},"56-4":{},"56-5":{},"57-3":{},"57-4":{},"57-5":{},"58-4":{},"58-5":{},"58-6":{}},"name":{"54":{}},"text":{"1":{},"3":{},"12":{},"19":{},"20":{},"23":{},"28":{},"30":{},"35":{},"43":{},"54":{},"56":{},"57":{},"58":{},"59":{},"62":{},"67":{}},"component":{}}],["click",{"_index":2805,"title":{},"name":{},"text":{"50":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["clickabl",{"_index":3137,"title":{},"name":{},"text":{"61":{},"64":{}},"component":{}}],["client",{"_index":1589,"title":{"34-5":{}},"name":{},"text":{"19":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"46":{},"59":{},"66":{},"69":{}},"component":{}}],["client.acme_financial_oauth.auth",{"_index":2034,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_oauth.cli",{"_index":2038,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_oauth.credentials.cli",{"_index":2040,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_oauth.discoveri",{"_index":2033,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_oauth.grant.type=cli",{"_index":2039,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_oauth.token",{"_index":2036,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.acme_financial_service_yml.url=http://localhost:8483",{"_index":2032,"title":{},"name":{},"text":{"31":{}},"component":{}}],["client.apicatalog_apis_123_document.url=http://localhost:8282",{"_index":2101,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.myworkflow_myfunction.url=http://localhost:8282",{"_index":2103,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.oauth_exampl",{"_index":1949,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.auth",{"_index":1937,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.cli",{"_index":1943,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.credentials.cli",{"_index":1946,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.discoveri",{"_index":1941,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.grant.type=cli",{"_index":1945,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.oauth_example.token",{"_index":1939,"title":{},"name":{},"text":{"30":{}},"component":{}}],["client.remotecatalog.url=http://localhost:8282",{"_index":2120,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.restcountries_json.url",{"_index":2505,"title":{},"name":{},"text":{"42":{}},"component":{}}],["client.stock",{"_index":2109,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.stock_portfolio_svc_yaml.url=http://localhost:8282",{"_index":2095,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.stock_svc_yaml.url=http://localhost:8181",{"_index":2148,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.stock_svc_yaml.url=http://localhost:8383",{"_index":2146,"title":{},"name":{},"text":{"32":{}},"component":{}}],["client.subtraction_yaml.url=${subtraction_url:http://myserver.com",{"_index":2294,"title":{},"name":{},"text":{"35":{}},"component":{}}],["client.subtraction_yaml.url=http://myserver.com",{"_index":2291,"title":{},"name":{},"text":{"35":{}},"component":{}}],["clientcredenti",{"_index":1926,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["clone",{"_index":1518,"title":{},"name":{},"text":{"19":{},"27":{},"31":{},"54":{},"66":{}},"component":{}}],["close",{"_index":3177,"title":{},"name":{},"text":{"65":{},"69":{}},"component":{}}],["cloud",{"_index":11,"title":{"3":{},"1-9":{},"63-7":{},"64-2":{}},"name":{},"text":{"1":{},"2":{},"6":{},"9":{},"17":{},"18":{},"36":{},"63":{},"64":{},"72":{}},"component":{}}],["cloudev",{"_index":27,"title":{"41":{},"6-16":{},"23-1":{}},"name":{"41":{}},"text":{"1":{},"5":{},"6":{},"9":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"19":{},"23":{},"33":{},"37":{},"41":{}},"component":{}}],["cloudeventbuild",{"_index":1491,"title":{},"name":{},"text":{"17":{}},"component":{}}],["cloudeventbuilder.v1",{"_index":1492,"title":{},"name":{},"text":{"17":{}},"component":{}}],["cloudeventdata",{"_index":1472,"title":{},"name":{},"text":{"16":{}},"component":{}}],["cloudeventdata.getnode().get(\"move\").astext",{"_index":1475,"title":{},"name":{},"text":{"16":{}},"component":{}}],["cloudeventutils.decode(message.getpayload",{"_index":1470,"title":{},"name":{},"text":{"16":{}},"component":{}}],["clue",{"_index":2820,"title":{},"name":{},"text":{"50":{}},"component":{}}],["cluster",{"_index":510,"title":{},"name":{},"text":{"3":{},"6":{},"12":{},"32":{},"35":{},"43":{},"47":{},"48":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["clusterip",{"_index":2950,"title":{},"name":{},"text":{"56":{}},"component":{}}],["cm",{"_index":2766,"title":{},"name":{},"text":{"49":{},"50":{}},"component":{}}],["cncf",{"_index":70,"title":{"18":{},"52-4":{}},"name":{"18":{}},"text":{"1":{},"6":{},"18":{},"19":{},"20":{},"35":{},"50":{},"52":{},"70":{},"71":{},"72":{}},"component":{}}],["code",{"_index":348,"title":{"72":{},"72-1":{},"72-3":{},"72-5":{}},"name":{},"text":{"2":{},"6":{},"7":{},"10":{},"15":{},"19":{},"20":{},"25":{},"31":{},"34":{},"35":{},"37":{},"50":{},"62":{},"63":{},"64":{},"70":{},"71":{},"72":{}},"component":{}}],["code\":\"org.kie.kogito.serviceexcept",{"_index":2596,"title":{},"name":{},"text":{"46":{}},"component":{}}],["cogwheel",{"_index":3181,"title":{},"name":{},"text":{"66":{},"67":{},"69":{}},"component":{}}],["collect",{"_index":726,"title":{},"name":{},"text":{"6":{}},"component":{}}],["colon",{"_index":1121,"title":{},"name":{},"text":{"10":{}},"component":{}}],["color",{"_index":488,"title":{},"name":{},"text":{"2":{}},"component":{}}],["column",{"_index":1789,"title":{},"name":{},"text":{"25":{},"61":{},"64":{}},"component":{}}],["columngroup",{"_index":1801,"title":{},"name":{},"text":{"25":{}},"component":{}}],["com.acme.myinterfaceorclass",{"_index":682,"title":{},"name":{},"text":{"6":{}},"component":{}}],["com.apple.quarantin",{"_index":3197,"title":{},"name":{},"text":{"67":{}},"component":{}}],["com.fasterxml.jackson.databind.jsonnod",{"_index":2490,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.fasterxml.jackson.databind.objectmapp",{"_index":2491,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.github.pull_request.open",{"_index":795,"title":{},"name":{},"text":{"6":{}},"component":{}}],["com.github.tomakehurst",{"_index":2419,"title":{},"name":{},"text":{"41":{},"42":{}},"component":{}}],["com.github.tomakehurst.wiremock.client.wiremock.arespons",{"_index":2498,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.github.tomakehurst.wiremock.client.wiremock.get",{"_index":2499,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.github.tomakehurst.wiremock.client.wiremock.urlequalto",{"_index":2500,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.github.tomakehurst.wiremock.core.wiremockconfigur",{"_index":2493,"title":{},"name":{},"text":{"42":{}},"component":{}}],["com.github.tomakehurst.wiremock.wiremockserv",{"_index":2492,"title":{},"name":{},"text":{"42":{}},"component":{}}],["combin",{"_index":1419,"title":{},"name":{},"text":{"15":{},"43":{}},"component":{}}],["come",{"_index":2930,"title":{},"name":{},"text":{"54":{},"58":{},"62":{}},"component":{}}],["comexampleextension1",{"_index":803,"title":{},"name":{},"text":{"6":{}},"component":{}}],["comexampleothervalu",{"_index":804,"title":{},"name":{},"text":{"6":{}},"component":{}}],["comma",{"_index":2542,"title":{},"name":{},"text":{"43":{}},"component":{}}],["command",{"_index":315,"title":{"72-3":{}},"name":{},"text":{"2":{},"11":{},"12":{},"19":{},"20":{},"23":{},"24":{},"27":{},"28":{},"31":{},"32":{},"34":{},"37":{},"40":{},"41":{},"43":{},"47":{},"48":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"62":{},"67":{},"72":{}},"component":{}}],["commerc",{"_index":2570,"title":{},"name":{},"text":{"46":{}},"component":{}}],["commit",{"_index":3180,"title":{},"name":{},"text":{"66":{},"70":{}},"component":{}}],["common",{"_index":468,"title":{},"name":{},"text":{"2":{},"5":{},"30":{},"36":{}},"component":{}}],["commonli",{"_index":552,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["commun",{"_index":1010,"title":{"36-6":{}},"name":{},"text":{"8":{},"28":{},"36":{},"46":{},"50":{},"51":{},"59":{}},"component":{}}],["compens",{"_index":1500,"title":{"18-9":{}},"name":{},"text":{"18":{},"46":{}},"component":{}}],["compensatedbi",{"_index":2593,"title":{},"name":{},"text":{"46":{}},"component":{}}],["compensatedby\":\"cancelpay",{"_index":2588,"title":{},"name":{},"text":{"46":{}},"component":{}}],["compil",{"_index":1557,"title":{},"name":{},"text":{"19":{},"34":{}},"component":{}}],["complet",{"_index":958,"title":{"72-6":{}},"name":{},"text":{"8":{},"11":{},"16":{},"17":{},"19":{},"24":{},"25":{},"27":{},"30":{},"37":{},"41":{},"43":{},"46":{},"47":{},"64":{},"65":{},"69":{},"71":{},"72":{}},"component":{}}],["completiontyp",{"_index":1170,"title":{},"name":{},"text":{"11":{}},"component":{}}],["complex",{"_index":1071,"title":{},"name":{},"text":{"9":{},"18":{},"22":{},"43":{}},"component":{}}],["compliant",{"_index":1359,"title":{},"name":{},"text":{"14":{},"18":{}},"component":{}}],["compon",{"_index":920,"title":{},"name":{},"text":{"7":{},"12":{},"22":{},"25":{},"30":{},"31":{},"35":{},"41":{}},"component":{}}],["components/messages/messag",{"_index":2182,"title":{},"name":{},"text":{"33":{}},"component":{}}],["components/schemas/exchangerateresult",{"_index":2023,"title":{},"name":{},"text":{"31":{}},"component":{}}],["components/schemas/multiplicationoper",{"_index":2275,"title":{},"name":{},"text":{"35":{}},"component":{}}],["compos",{"_index":1095,"title":{},"name":{},"text":{"10":{},"30":{},"31":{},"34":{},"35":{},"43":{}},"component":{}}],["composit",{"_index":540,"title":{},"name":{},"text":{"3":{}},"component":{}}],["comprehend",{"_index":3169,"title":{},"name":{},"text":{"65":{}},"component":{}}],["comprehens",{"_index":2825,"title":{},"name":{},"text":{"50":{}},"component":{}}],["comput",{"_index":658,"title":{},"name":{},"text":{"6":{},"18":{},"32":{},"35":{},"66":{}},"component":{}}],["computeprofit",{"_index":2138,"title":{},"name":{},"text":{"32":{}},"component":{}}],["concata",{"_index":1159,"title":{},"name":{},"text":{"11":{}},"component":{}}],["concatb",{"_index":1161,"title":{},"name":{},"text":{"11":{}},"component":{}}],["concatc",{"_index":1163,"title":{},"name":{},"text":{"11":{}},"component":{}}],["concaten",{"_index":1147,"title":{},"name":{},"text":{"11":{}},"component":{}}],["concept",{"_index":2195,"title":{},"name":{},"text":{"34":{}},"component":{}}],["concurr",{"_index":1838,"title":{},"name":{},"text":{"27":{}},"component":{}}],["condit",{"_index":543,"title":{"53":{},"9-1":{},"53-2":{},"53-3":{}},"name":{"53":{}},"text":{"3":{},"6":{},"8":{},"9":{},"23":{},"31":{},"32":{},"47":{},"50":{},"53":{},"56":{},"57":{},"58":{}},"component":{}}],["conf/flyway.conf",{"_index":1851,"title":{},"name":{},"text":{"28":{}},"component":{}}],["config",{"_index":1843,"title":{"28-2":{}},"name":{},"text":{"32":{},"42":{},"48":{},"56":{},"57":{}},"component":{}}],["config.nam",{"_index":2144,"title":{},"name":{},"text":{"32":{}},"component":{}}],["config/sampl",{"_index":2740,"title":{},"name":{},"text":{"48":{}},"component":{}}],["configmap",{"_index":215,"title":{},"name":{},"text":{"2":{},"32":{},"49":{},"50":{}},"component":{}}],["configsourc",{"_index":2121,"title":{},"name":{},"text":{"32":{}},"component":{}}],["configur",{"_index":84,"title":{"5":{},"32":{},"49":{},"6-17":{},"8-7":{},"12-1":{},"12-2":{},"13-1":{},"17-2":{},"27-1":{},"28-6":{},"31-2":{},"32-3":{},"35-5":{},"36-1":{},"48-4":{},"49-1":{},"50-9":{},"59-1":{}},"name":{"5":{},"32":{},"49":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"12":{},"13":{},"14":{},"16":{},"17":{},"18":{},"19":{},"24":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"40":{},"41":{},"42":{},"47":{},"48":{},"49":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"65":{},"66":{},"69":{},"72":{}},"component":{}}],["configurewiremockserv",{"_index":2503,"title":{},"name":{},"text":{"42":{}},"component":{}}],["confirm",{"_index":2575,"title":{},"name":{},"text":{"46":{},"65":{}},"component":{}}],["conflict",{"_index":2477,"title":{},"name":{},"text":{"42":{},"66":{}},"component":{}}],["conform",{"_index":1233,"title":{},"name":{},"text":{"12":{}},"component":{}}],["connect",{"_index":580,"title":{"67-2":{}},"name":{},"text":{"5":{},"12":{},"25":{},"27":{},"30":{},"31":{},"41":{},"67":{},"69":{},"72":{}},"component":{}}],["connect/auth",{"_index":2026,"title":{},"name":{},"text":{"31":{}},"component":{}}],["connect/token",{"_index":2027,"title":{},"name":{},"text":{"31":{}},"component":{}}],["connector",{"_index":1298,"title":{},"name":{},"text":{"13":{}},"component":{}}],["consequ",{"_index":1444,"title":{},"name":{},"text":{"16":{}},"component":{}}],["consid",{"_index":670,"title":{},"name":{},"text":{"6":{},"8":{},"10":{},"15":{},"27":{},"46":{},"59":{},"69":{}},"component":{}}],["consist",{"_index":826,"title":{},"name":{"26":{}},"text":{"6":{},"9":{},"12":{},"14":{},"15":{},"17":{},"34":{},"35":{},"46":{},"64":{}},"component":{}}],["consol",{"_index":451,"title":{},"name":{},"text":{"2":{},"10":{},"22":{},"46":{},"57":{},"62":{},"67":{},"69":{},"72":{}},"component":{}}],["constant",{"_index":1034,"title":{"18-10":{}},"name":{},"text":{"9":{},"18":{}},"component":{}}],["constraint",{"_index":745,"title":{},"name":{},"text":{"6":{}},"component":{}}],["construct",{"_index":1094,"title":{},"name":{},"text":{"10":{}},"component":{}}],["consult",{"_index":2896,"title":{},"name":{},"text":{"53":{}},"component":{}}],["consum",{"_index":31,"title":{"12":{},"13":{},"24-3":{},"24-4":{},"33-1":{}},"name":{"12":{},"13":{}},"text":{"1":{},"2":{},"6":{},"8":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"24":{},"25":{},"41":{},"59":{},"64":{}},"component":{}}],["consumeev",{"_index":2184,"title":{},"name":{},"text":{"33":{}},"component":{}}],["consumerwait",{"_index":2183,"title":{},"name":{},"text":{"33":{}},"component":{}}],["consumes(mediatype.application_json",{"_index":1487,"title":{},"name":{},"text":{"17":{}},"component":{}}],["consumewait",{"_index":2180,"title":{},"name":{},"text":{"33":{}},"component":{}}],["consumpt",{"_index":1197,"title":{"24-2":{}},"name":{},"text":{"12":{}},"component":{}}],["contact",{"_index":2091,"title":{},"name":{},"text":{"31":{}},"component":{}}],["contain",{"_index":235,"title":{"48-3":{}},"name":{},"text":{"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"19":{},"22":{},"23":{},"24":{},"25":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"43":{},"46":{},"47":{},"48":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{}},"component":{}}],["containerconcurr",{"_index":3026,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["containercr",{"_index":2852,"title":{},"name":{},"text":{"51":{}},"component":{}}],["containerport",{"_index":3036,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["contains($l[1",{"_index":1777,"title":{},"name":{},"text":{"25":{}},"component":{}}],["content",{"_index":713,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"11":{},"12":{},"19":{},"23":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"41":{},"46":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{},"66":{},"67":{},"69":{}},"component":{}}],["contenttype(contenttype.json",{"_index":2339,"title":{},"name":{},"text":{"37":{},"40":{}},"component":{}}],["contenttype(mediatype.application_json",{"_index":2443,"title":{},"name":{},"text":{"41":{}},"component":{}}],["context",{"_index":654,"title":{"6-6":{}},"name":{},"text":{"6":{},"14":{},"19":{},"22":{},"37":{},"48":{},"56":{},"57":{},"58":{},"59":{},"63":{},"65":{},"71":{},"72":{}},"component":{}}],["context/namespac",{"_index":2917,"title":{},"name":{},"text":{"54":{}},"component":{}}],["contextattributenam",{"_index":1357,"title":{},"name":{},"text":{"14":{}},"component":{}}],["contextattributevalu",{"_index":1358,"title":{},"name":{},"text":{"14":{}},"component":{}}],["contextu",{"_index":728,"title":{},"name":{},"text":{"6":{}},"component":{}}],["continu",{"_index":363,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"14":{},"36":{},"46":{},"47":{}},"component":{}}],["contrast",{"_index":1479,"title":{},"name":{},"text":{"17":{}},"component":{}}],["control",{"_index":162,"title":{},"name":{},"text":{"1":{},"6":{},"8":{},"16":{},"17":{},"27":{},"36":{},"46":{},"48":{},"51":{},"56":{},"70":{}},"component":{}}],["convent",{"_index":1934,"title":{},"name":{},"text":{"30":{}},"component":{}}],["converg",{"_index":515,"title":{},"name":{},"text":{"3":{}},"component":{}}],["convers",{"_index":1052,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["convert",{"_index":722,"title":{},"name":{},"text":{"6":{},"9":{}},"component":{}}],["cooki",{"_index":1923,"title":{},"name":{},"text":{"30":{}},"component":{}}],["coordin",{"_index":774,"title":{},"name":{},"text":{"6":{},"9":{},"23":{},"46":{}},"component":{}}],["copi",{"_index":688,"title":{},"name":{},"text":{"6":{},"9":{},"19":{},"25":{},"34":{},"35":{},"43":{},"50":{},"66":{},"67":{},"69":{}},"component":{}}],["core",{"_index":2,"title":{"1-2":{}},"name":{},"text":{"2":{},"35":{},"46":{},"51":{},"69":{}},"component":{}}],["core/custom",{"_index":1717,"title":{},"name":{},"text":{"23":{}},"component":{}}],["corner",{"_index":3182,"title":{},"name":{},"text":{"66":{},"67":{},"69":{},"70":{}},"component":{}}],["correclti",{"_index":2859,"title":{},"name":{},"text":{"51":{}},"component":{}}],["correct",{"_index":913,"title":{},"name":{},"text":{"7":{},"12":{},"28":{},"50":{},"51":{},"56":{},"57":{},"58":{},"67":{}},"component":{}}],["correctli",{"_index":425,"title":{},"name":{},"text":{"2":{},"12":{},"41":{},"50":{},"51":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["correl",{"_index":121,"title":{"14":{},"14-1":{}},"name":{"14":{}},"text":{"1":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{}},"component":{}}],["correspond",{"_index":724,"title":{},"name":{},"text":{"6":{},"34":{},"47":{},"68":{}},"component":{}}],["count",{"_index":1820,"title":{},"name":{},"text":{"25":{}},"component":{}}],["counter",{"_index":1753,"title":{},"name":{},"text":{"24":{}},"component":{}}],["countri",{"_index":2467,"title":{},"name":{},"text":{"41":{}},"component":{}}],["countryserviceworkflowtest",{"_index":2513,"title":{},"name":{},"text":{"42":{}},"component":{}}],["cover",{"_index":1433,"title":{},"name":{},"text":{"15":{},"17":{},"18":{},"34":{}},"component":{}}],["cpu",{"_index":2838,"title":{},"name":{},"text":{"51":{}},"component":{}}],["cr",{"_index":246,"title":{},"name":{},"text":{"2":{},"51":{},"52":{}},"component":{}}],["crash",{"_index":458,"title":{},"name":{},"text":{"2":{}},"component":{}}],["crd",{"_index":327,"title":{},"name":{},"text":{"2":{},"51":{}},"component":{}}],["creat",{"_index":55,"title":{"19":{},"11-1":{},"19-2":{},"22-2":{},"43-2":{},"47-8":{},"48-2":{},"48-3":{},"61-1":{},"61-2":{},"68-1":{},"69-1":{},"69-2":{}},"name":{"19":{}},"text":{"1":{},"2":{},"8":{},"9":{},"10":{},"11":{},"12":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"61":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["create_table.sql",{"_index":1872,"title":{},"name":{},"text":{"28":{}},"component":{}}],["creation",{"_index":1834,"title":{},"name":{},"text":{"27":{},"30":{},"43":{}},"component":{}}],["credenti",{"_index":1894,"title":{},"name":{},"text":{"30":{},"31":{},"56":{},"72":{}},"component":{}}],["credit",{"_index":1243,"title":{},"name":{},"text":{"12":{},"46":{}},"component":{}}],["critic",{"_index":462,"title":{},"name":{},"text":{"2":{}},"component":{}}],["cross",{"_index":441,"title":{},"name":{},"text":{"2":{}},"component":{}}],["crucial",{"_index":1465,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["ctrl+c",{"_index":1668,"title":{},"name":{},"text":{"19":{},"31":{}},"component":{}}],["ctrl+shift+m",{"_index":3254,"title":{},"name":{},"text":{"72":{}},"component":{}}],["ctrl+shift+p",{"_index":3234,"title":{},"name":{},"text":{"72":{}},"component":{}}],["ctrl+space",{"_index":3250,"title":{},"name":{},"text":{"72":{}},"component":{}}],["cue",{"_index":2796,"title":{},"name":{},"text":{"50":{}},"component":{}}],["curl",{"_index":1176,"title":{},"name":{},"text":{"11":{},"12":{},"19":{},"23":{},"31":{},"32":{},"34":{},"46":{},"47":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["currenc",{"_index":1961,"title":{},"name":{},"text":{"31":{}},"component":{}}],["currency_exchange_workflow",{"_index":1978,"title":{},"name":{},"text":{"31":{}},"component":{}}],["currencyfrom",{"_index":1991,"title":{},"name":{},"text":{"31":{}},"component":{}}],["currencyto",{"_index":1992,"title":{},"name":{},"text":{"31":{}},"component":{}}],["current",{"_index":25,"title":{},"name":{},"text":{"1":{},"6":{},"8":{},"14":{},"19":{},"27":{},"32":{},"36":{},"43":{},"48":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{},"64":{},"65":{},"66":{},"67":{}},"component":{}}],["currentpric",{"_index":2140,"title":{},"name":{},"text":{"32":{}},"component":{}}],["custom",{"_index":56,"title":{"6":{},"6-1":{},"6-2":{},"6-7":{},"6-11":{},"6-19":{},"6-20":{},"61-1":{},"61-2":{},"61-3":{}},"name":{"6":{},"23":{},"61":{}},"text":{"1":{},"2":{},"6":{},"10":{},"12":{},"18":{},"22":{},"23":{},"25":{},"31":{},"32":{},"46":{},"48":{},"50":{},"51":{},"52":{},"59":{},"61":{},"63":{},"70":{}},"component":{}}],["custom`workitemhandl",{"_index":907,"title":{},"name":{},"text":{"6":{}},"component":{}}],["customer_nam",{"_index":782,"title":{},"name":{},"text":{"6":{}},"component":{}}],["customresourc",{"_index":2798,"title":{},"name":{},"text":{"50":{}},"component":{}}],["cve",{"_index":464,"title":{},"name":{},"text":{"2":{}},"component":{}}],["cycl",{"_index":539,"title":{"41-3":{}},"name":{},"text":{"3":{},"50":{}},"component":{}}],["d",{"_index":1179,"title":{},"name":{},"text":{"11":{},"12":{},"23":{},"28":{},"31":{},"32":{},"34":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{},"67":{}},"component":{}}],["d297",{"_index":1701,"title":{},"name":{},"text":{"22":{}},"component":{}}],["d3",{"_index":487,"title":{},"name":{},"text":{"2":{}},"component":{}}],["d6899b5639aa",{"_index":2615,"title":{},"name":{},"text":{"46":{}},"component":{}}],["daef",{"_index":1399,"title":{},"name":{},"text":{"14":{}},"component":{}}],["daemon",{"_index":2935,"title":{},"name":{},"text":{"54":{},"57":{}},"component":{}}],["damag",{"_index":3191,"title":{},"name":{},"text":{"67":{}},"component":{}}],["dash",{"_index":190,"title":{},"name":{},"text":{"2":{}},"component":{}}],["dash.yaml|yml",{"_index":3210,"title":{},"name":{},"text":{"68":{}},"component":{}}],["dashboard",{"_index":108,"title":{"25":{},"61":{},"25-1":{},"25-2":{},"25-3":{},"61-1":{},"61-2":{},"61-3":{},"61-4":{},"61-5":{}},"name":{"25":{},"61":{}},"text":{"1":{},"2":{},"24":{},"25":{},"57":{},"61":{},"62":{}},"component":{}}],["dashbuild",{"_index":335,"title":{},"name":{},"text":{"2":{},"24":{},"25":{},"61":{},"65":{},"68":{}},"component":{}}],["dashoard",{"_index":1806,"title":{},"name":{},"text":{"25":{}},"component":{}}],["data",{"_index":80,"title":{"25":{},"69":{},"9-3":{},"18-4":{},"25-3":{},"63-4":{},"69-1":{},"69-2":{}},"name":{"25":{},"26":{}},"text":{"1":{},"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"14":{},"16":{},"18":{},"19":{},"22":{},"25":{},"27":{},"31":{},"35":{},"36":{},"40":{},"46":{},"49":{},"50":{},"52":{},"63":{},"64":{},"65":{},"68":{},"69":{}},"component":{}}],["data.processinst",{"_index":1817,"title":{},"name":{},"text":{"25":{}},"component":{}}],["databas",{"_index":143,"title":{"28":{},"47-5":{}},"name":{"29":{}},"text":{"1":{},"2":{},"5":{},"19":{},"27":{},"28":{},"36":{},"40":{},"47":{}},"component":{}}],["database.yml",{"_index":2696,"title":{},"name":{},"text":{"47":{}},"component":{}}],["database_nam",{"_index":1871,"title":{},"name":{},"text":{"28":{}},"component":{}}],["datacondit",{"_index":1041,"title":{},"name":{},"text":{"9":{},"31":{},"50":{},"52":{}},"component":{}}],["datacontenttyp",{"_index":806,"title":{},"name":{},"text":{"6":{},"12":{}},"component":{}}],["dataindex",{"_index":397,"title":{},"name":{},"text":{"2":{}},"component":{}}],["dataindexrestit",{"_index":293,"title":{},"name":{},"text":{"2":{}},"component":{}}],["datainputschema",{"_index":911,"title":{},"name":{},"text":{"7":{},"31":{}},"component":{}}],["dataonli",{"_index":1423,"title":{},"name":{},"text":{"15":{}},"component":{}}],["dataset",{"_index":1771,"title":{},"name":{},"text":{"25":{}},"component":{}}],["datasetlookup",{"_index":1803,"title":{},"name":{},"text":{"25":{}},"component":{}}],["datasourc",{"_index":1823,"title":{},"name":{},"text":{"27":{}},"component":{}}],["date",{"_index":297,"title":{},"name":{},"text":{"2":{},"36":{}},"component":{}}],["day",{"_index":938,"title":{},"name":{},"text":{"8":{}},"component":{}}],["db",{"_index":1883,"title":{},"name":{"29":{}},"text":{},"component":{}}],["ddebug=fals",{"_index":2149,"title":{},"name":{},"text":{"32":{}},"component":{}}],["ddl",{"_index":1845,"title":{},"name":{},"text":{"28":{},"36":{}},"component":{}}],["debug",{"_index":356,"title":{},"name":{"38":{}},"text":{"2":{},"5":{},"6":{},"22":{},"59":{}},"component":{}}],["decid",{"_index":810,"title":{},"name":{},"text":{"6":{}},"component":{}}],["decim",{"_index":756,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["decis",{"_index":107,"title":{},"name":{},"text":{"1":{},"8":{},"13":{},"68":{}},"component":{}}],["declar",{"_index":677,"title":{},"name":{},"text":{"6":{},"13":{},"14":{},"16":{},"17":{},"22":{},"23":{},"31":{},"33":{},"34":{},"36":{},"40":{},"41":{},"46":{}},"component":{}}],["dedic",{"_index":1306,"title":{},"name":{},"text":{"13":{},"36":{}},"component":{}}],["default",{"_index":223,"title":{"34-1":{}},"name":{},"text":{"2":{},"5":{},"6":{},"8":{},"9":{},"12":{},"13":{},"15":{},"16":{},"18":{},"19":{},"25":{},"27":{},"28":{},"30":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"43":{},"49":{},"51":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"66":{},"72":{}},"component":{}}],["defaultcondit",{"_index":986,"title":{},"name":{},"text":{"8":{},"31":{},"47":{},"50":{}},"component":{}}],["defin",{"_index":93,"title":{"22-3":{},"32-4":{},"32-8":{},"35-3":{}},"name":{"7":{}},"text":{"1":{},"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"18":{},"19":{},"22":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"42":{},"46":{},"47":{},"48":{},"49":{},"54":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"72":{}},"component":{}}],["definit",{"_index":90,"title":{"7":{},"63":{},"6-3":{},"6-8":{},"6-12":{},"10-1":{},"12-5":{},"35-1":{},"50-10":{},"63-1":{}},"name":{"63":{}},"text":{"1":{},"2":{},"3":{},"6":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"46":{},"47":{},"48":{},"50":{},"51":{},"59":{},"62":{},"63":{},"64":{},"72":{}},"component":{}}],["defint",{"_index":1425,"title":{},"name":{},"text":{"15":{}},"component":{}}],["deleg",{"_index":1229,"title":{},"name":{},"text":{"12":{},"30":{}},"component":{}}],["delet",{"_index":2812,"title":{},"name":{},"text":{"50":{},"51":{}},"component":{}}],["deliv",{"_index":2573,"title":{},"name":{},"text":{"46":{}},"component":{}}],["deliveri",{"_index":2571,"title":{},"name":{},"text":{"46":{}},"component":{}}],["demo\",node_name=\"2\",process_id=\"foreach\",version=\"1.0.0",{"_index":1760,"title":{},"name":{},"text":{"24":{}},"component":{}}],["demo\",node_name=\"2\",process_id=\"jsongreet\",version=\"1.0.0",{"_index":1756,"title":{},"name":{},"text":{"24":{}},"component":{}}],["demo\",node_name=\"2\",process_id=\"yamlgreet\",version=\"1.0.0",{"_index":1758,"title":{},"name":{},"text":{"24":{}},"component":{}}],["deni",{"_index":2711,"title":{},"name":{},"text":{"47":{}},"component":{}}],["deniedvisa",{"_index":991,"title":{},"name":{},"text":{"8":{}},"component":{}}],["denot",{"_index":867,"title":{},"name":{},"text":{"6":{}},"component":{}}],["depend",{"_index":50,"title":{},"name":{},"text":{"1":{},"2":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"37":{},"40":{},"41":{},"42":{},"43":{},"53":{},"54":{},"56":{},"57":{},"58":{},"62":{},"63":{},"64":{},"65":{},"67":{}},"component":{}}],["deploy",{"_index":66,"title":{"48":{},"56":{},"57":{},"58":{},"65":{},"8-6":{},"43-5":{},"47-5":{},"47-6":{},"47-7":{},"48-5":{},"50-2":{},"56-2":{},"56-3":{},"56-4":{},"56-5":{},"57-2":{},"57-3":{},"57-4":{},"57-5":{},"58-2":{},"58-4":{},"58-5":{},"58-6":{},"65-1":{},"65-2":{}},"name":{"48":{},"56":{},"57":{},"58":{},"65":{}},"text":{"1":{},"3":{},"6":{},"8":{},"12":{},"19":{},"23":{},"27":{},"35":{},"36":{},"41":{},"43":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"65":{},"67":{},"68":{}},"component":{}}],["deployment.apps/job",{"_index":2703,"title":{},"name":{},"text":{"47":{}},"component":{}}],["deployment.apps/timeout",{"_index":2698,"title":{},"name":{},"text":{"47":{}},"component":{}}],["deployment/kogito",{"_index":2858,"title":{},"name":{},"text":{"51":{}},"component":{}}],["deploymentconfigs.v1.apps.openshift.io",{"_index":3115,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deploymentfailur",{"_index":2892,"title":{},"name":{},"text":{"53":{}},"component":{}}],["deploymentisunavail",{"_index":2893,"title":{},"name":{},"text":{"53":{}},"component":{}}],["deployments.v1.app",{"_index":3114,"title":{},"name":{},"text":{"59":{}},"component":{}}],["descend",{"_index":718,"title":{},"name":{},"text":{"6":{},"25":{}},"component":{}}],["describ",{"_index":963,"title":{},"name":{},"text":{"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{},"66":{},"69":{},"70":{},"72":{}},"component":{}}],["descript",{"_index":555,"title":{},"name":{},"text":{"5":{},"10":{},"11":{},"12":{},"18":{},"19":{},"22":{},"30":{},"31":{},"33":{},"35":{},"53":{},"69":{},"72":{}},"component":{}}],["descriptor",{"_index":110,"title":{},"name":{},"text":{"1":{},"2":{},"36":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["desd",{"_index":1039,"title":{},"name":{},"text":{"9":{},"34":{},"50":{}},"component":{}}],["design",{"_index":1029,"title":{},"name":{},"text":{"9":{},"15":{},"46":{},"71":{}},"component":{}}],["desir",{"_index":1114,"title":{},"name":{},"text":{"10":{},"13":{},"50":{},"56":{},"57":{},"58":{}},"component":{}}],["desktop",{"_index":2737,"title":{},"name":{},"text":{"48":{}},"component":{}}],["detail",{"_index":161,"title":{"28-8":{},"61-5":{},"64-1":{}},"name":{},"text":{"1":{},"2":{},"7":{},"8":{},"23":{},"27":{},"41":{},"46":{},"47":{},"56":{},"61":{},"63":{},"64":{}},"component":{}}],["detect",{"_index":467,"title":{},"name":{},"text":{"2":{},"19":{}},"component":{}}],["determin",{"_index":1101,"title":{},"name":{},"text":{"10":{},"31":{},"59":{}},"component":{}}],["dev",{"_index":100,"title":{"62":{}},"name":{"61":{},"62":{},"63":{},"64":{}},"text":{"1":{},"2":{},"5":{},"19":{},"20":{},"32":{},"40":{},"49":{},"50":{},"52":{},"62":{}},"component":{}}],["dev.loc",{"_index":2545,"title":{},"name":{},"text":{"43":{},"57":{}},"component":{}}],["dev.local/kogito/serverless",{"_index":3066,"title":{},"name":{},"text":{"57":{}},"component":{}}],["dev.local/mi",{"_index":2544,"title":{},"name":{},"text":{"43":{}},"component":{}}],["dev.local/serverless",{"_index":1558,"title":{},"name":{},"text":{"19":{}},"component":{}}],["dev.quarkus.rest",{"_index":2147,"title":{},"name":{},"text":{"32":{}},"component":{}}],["develop",{"_index":526,"title":{"50":{},"32-6":{},"50-1":{},"53-2":{}},"name":{"39":{},"50":{}},"text":{"3":{},"5":{},"6":{},"10":{},"11":{},"12":{},"16":{},"17":{},"19":{},"20":{},"25":{},"32":{},"33":{},"34":{},"36":{},"43":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"62":{},"65":{},"67":{},"68":{}},"component":{}}],["devmod",{"_index":361,"title":{},"name":{},"text":{"2":{},"52":{}},"component":{}}],["devui",{"_index":388,"title":{},"name":{},"text":{"2":{},"62":{},"63":{},"64":{}},"component":{}}],["dexec.mainclass=\"org.kie.kogito.examples.sw.greeting.greeterservic",{"_index":2225,"title":{},"name":{},"text":{"34":{}},"component":{}}],["dextensions=\"kogito",{"_index":1201,"title":{},"name":{},"text":{"12":{},"19":{}},"component":{}}],["dextensions=\"quarku",{"_index":1263,"title":{},"name":{},"text":{"12":{}},"component":{}}],["dfd85a369987",{"_index":2946,"title":{},"name":{},"text":{"54":{}},"component":{}}],["diagram",{"_index":1975,"title":{},"name":{},"text":{"31":{},"47":{},"62":{},"64":{},"71":{},"72":{}},"component":{}}],["dialog",{"_index":3232,"title":{},"name":{},"text":{"72":{}},"component":{}}],["differ",{"_index":114,"title":{"32-3":{},"32-4":{},"32-8":{}},"name":{},"text":{"1":{},"2":{},"6":{},"9":{},"10":{},"11":{},"13":{},"15":{},"17":{},"18":{},"24":{},"27":{},"32":{},"34":{},"35":{},"36":{},"40":{},"42":{},"56":{},"57":{},"58":{},"59":{},"63":{},"68":{}},"component":{}}],["difficult",{"_index":2125,"title":{},"name":{},"text":{"32":{}},"component":{}}],["dimens",{"_index":1158,"title":{},"name":{},"text":{"11":{}},"component":{}}],["direct",{"_index":738,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["direct:logroutereplacehead",{"_index":1683,"title":{},"name":{},"text":{"22":{}},"component":{}}],["directli",{"_index":46,"title":{},"name":{},"text":{"1":{},"3":{},"19":{},"24":{},"25":{},"27":{},"48":{},"50":{},"59":{},"70":{}},"component":{}}],["directori",{"_index":1155,"title":{},"name":{},"text":{"11":{},"12":{},"19":{},"22":{},"31":{},"32":{},"34":{},"35":{},"37":{},"43":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["disabl",{"_index":228,"title":{},"name":{},"text":{"2":{},"5":{},"24":{},"31":{},"59":{},"65":{}},"component":{}}],["discard",{"_index":1066,"title":{},"name":{},"text":{"9":{},"16":{}},"component":{}}],["discov",{"_index":1705,"title":{},"name":{},"text":{"23":{},"59":{}},"component":{}}],["discoveri",{"_index":252,"title":{"59":{},"59-1":{},"59-2":{},"59-3":{},"59-4":{},"59-5":{}},"name":{"59":{}},"text":{"2":{},"3":{},"23":{},"31":{},"35":{},"37":{},"59":{}},"component":{}}],["dispatch",{"_index":1219,"title":{},"name":{},"text":{"12":{}},"component":{}}],["display",{"_index":155,"title":{"25":{}},"name":{},"text":{"1":{},"6":{},"9":{},"10":{},"16":{},"17":{},"19":{},"25":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"69":{},"72":{}},"component":{}}],["dist",{"_index":3222,"title":{},"name":{},"text":{"70":{}},"component":{}}],["distribut",{"_index":1606,"title":{},"name":{},"text":{"19":{},"46":{}},"component":{}}],["divid",{"_index":859,"title":{},"name":{},"text":{"6":{}},"component":{}}],["dividend",{"_index":900,"title":{},"name":{},"text":{"6":{}},"component":{}}],["dividend\":\".dividend",{"_index":903,"title":{},"name":{},"text":{"6":{}},"component":{}}],["divis",{"_index":865,"title":{},"name":{},"text":{"6":{}},"component":{}}],["divisor",{"_index":901,"title":{},"name":{},"text":{"6":{}},"component":{}}],["divisor\":\".divisor",{"_index":904,"title":{},"name":{},"text":{"6":{}},"component":{}}],["dn",{"_index":2980,"title":{},"name":{},"text":{"56":{}},"component":{}}],["dnocod",{"_index":1546,"title":{},"name":{},"text":{"19":{}},"component":{}}],["docker",{"_index":1594,"title":{},"name":{},"text":{"19":{},"27":{},"31":{},"40":{},"43":{},"48":{},"51":{},"54":{},"57":{},"58":{}},"component":{}}],["document",{"_index":1027,"title":{},"name":{},"text":{"9":{},"10":{},"11":{},"12":{},"13":{},"15":{},"16":{},"17":{},"18":{},"19":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"48":{},"49":{},"50":{},"53":{},"54":{},"56":{},"57":{},"58":{},"65":{},"66":{},"69":{},"70":{},"72":{}},"component":{}}],["doe",{"_index":2319,"title":{},"name":{},"text":{"37":{},"50":{}},"component":{}}],["doesn’t",{"_index":1562,"title":{},"name":{},"text":{"19":{},"37":{},"53":{}},"component":{}}],["domain",{"_index":1352,"title":{},"name":{},"text":{"14":{},"31":{},"46":{},"56":{},"57":{}},"component":{}}],["domainmap",{"_index":2967,"title":{},"name":{},"text":{"56":{}},"component":{}}],["domest",{"_index":2464,"title":{},"name":{},"text":{"41":{}},"component":{}}],["domesticship",{"_index":2466,"title":{},"name":{},"text":{"41":{}},"component":{}}],["done",{"_index":1011,"title":{},"name":{},"text":{"8":{},"11":{},"36":{}},"component":{}}],["don’t",{"_index":428,"title":{},"name":{},"text":{"2":{},"6":{}},"component":{}}],["dooper",{"_index":2272,"title":{},"name":{},"text":{"35":{}},"component":{}}],["doubl",{"_index":2011,"title":{},"name":{},"text":{"31":{},"48":{}},"component":{}}],["down",{"_index":2315,"title":{},"name":{},"text":{"36":{},"64":{},"69":{}},"component":{}}],["download",{"_index":1765,"title":{},"name":{},"text":{"25":{},"28":{},"34":{},"43":{},"67":{},"70":{},"72":{}},"component":{}}],["dprojectartifactid=serverless",{"_index":1543,"title":{},"name":{},"text":{"19":{}},"component":{}}],["dprojectgroupid=org.acm",{"_index":1542,"title":{},"name":{},"text":{"19":{}},"component":{}}],["dquarkus.contain",{"_index":2912,"title":{},"name":{},"text":{"54":{},"57":{}},"component":{}}],["dquarkus.native.contain",{"_index":2933,"title":{},"name":{},"text":{"54":{}},"component":{}}],["dquarkus.native.remot",{"_index":2936,"title":{},"name":{},"text":{"54":{},"57":{}},"component":{}}],["drag",{"_index":3163,"title":{},"name":{},"text":{"64":{}},"component":{}}],["drawer",{"_index":3217,"title":{},"name":{},"text":{"69":{}},"component":{}}],["driven",{"_index":29,"title":{},"name":{},"text":{"1":{},"14":{},"41":{}},"component":{}}],["driver",{"_index":2847,"title":{},"name":{},"text":{"51":{}},"component":{}}],["drool",{"_index":279,"title":{},"name":{},"text":{"2":{}},"component":{}}],["drop",{"_index":1337,"title":{},"name":{},"text":{"13":{},"64":{},"69":{}},"component":{}}],["dskiptest",{"_index":3046,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["dsl",{"_index":1676,"title":{"22-3":{}},"name":{},"text":{"22":{}},"component":{}}],["due",{"_index":294,"title":{},"name":{},"text":{"2":{},"42":{},"43":{},"56":{},"57":{},"67":{}},"component":{}}],["dupplic",{"_index":318,"title":{},"name":{},"text":{"2":{}},"component":{}}],["durabl",{"_index":2307,"title":{},"name":{},"text":{"36":{}},"component":{}}],["durat",{"_index":931,"title":{},"name":{},"text":{"8":{},"24":{},"25":{}},"component":{}}],["dure",{"_index":437,"title":{"12-4":{}},"name":{},"text":{"2":{},"6":{},"10":{},"12":{},"22":{},"25":{},"27":{},"30":{},"35":{},"41":{},"43":{},"46":{},"50":{},"51":{},"59":{}},"component":{}}],["dynam",{"_index":1486,"title":{},"name":{},"text":{"17":{},"42":{},"71":{},"72":{}},"component":{}}],["e",{"_index":1463,"title":{},"name":{},"text":{"16":{},"37":{},"42":{},"43":{},"46":{}},"component":{}}],["e.g",{"_index":2738,"title":{},"name":{},"text":{"48":{}},"component":{}}],["e0e7708d",{"_index":2072,"title":{},"name":{},"text":{"31":{}},"component":{}}],["e2",{"_index":446,"title":{},"name":{},"text":{"2":{}},"component":{}}],["e293aa293bf",{"_index":1623,"title":{},"name":{},"text":{"19":{}},"component":{}}],["e6ccbe9c94c3",{"_index":2688,"title":{},"name":{},"text":{"46":{}},"component":{}}],["each",{"_index":1021,"title":{},"name":{},"text":{"9":{},"11":{},"12":{},"13":{},"14":{},"16":{},"17":{},"18":{},"24":{},"28":{},"30":{},"32":{},"34":{},"35":{},"42":{},"46":{},"48":{},"58":{},"64":{},"68":{},"72":{}},"component":{}}],["earli",{"_index":2832,"title":{},"name":{},"text":{"51":{}},"component":{}}],["earlier",{"_index":834,"title":{},"name":{},"text":{"6":{},"58":{}},"component":{}}],["easi",{"_index":2714,"title":{},"name":{},"text":{"47":{},"65":{}},"component":{}}],["easiest",{"_index":2777,"title":{},"name":{},"text":{"50":{}},"component":{}}],["easili",{"_index":3078,"title":{},"name":{},"text":{"58":{}},"component":{}}],["ecosystem",{"_index":48,"title":{},"name":{},"text":{"1":{},"20":{}},"component":{}}],["edit",{"_index":1530,"title":{"49-1":{}},"name":{},"text":{"19":{},"20":{},"25":{},"28":{},"49":{},"50":{},"66":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["editor",{"_index":96,"title":{"70":{},"71":{},"72":{},"70-1":{},"70-2":{},"71-1":{},"72-1":{},"72-2":{},"72-4":{}},"name":{"70":{},"71":{},"72":{}},"text":{"1":{},"19":{},"20":{},"22":{},"49":{},"50":{},"63":{},"65":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["efafe4dfb3e7",{"_index":1704,"title":{},"name":{},"text":{"22":{}},"component":{}}],["elaps",{"_index":2377,"title":{},"name":{},"text":{"37":{}},"component":{}}],["elect",{"_index":2299,"title":{"36-5":{}},"name":{},"text":{"36":{}},"component":{}}],["element",{"_index":1356,"title":{},"name":{},"text":{"14":{}},"component":{}}],["else’",{"_index":3188,"title":{},"name":{},"text":{"66":{}},"component":{}}],["email",{"_index":1374,"title":{},"name":{},"text":{"14":{},"48":{}},"component":{}}],["emb",{"_index":1049,"title":{},"name":{},"text":{"9":{}},"component":{}}],["embed",{"_index":227,"title":{},"name":{},"text":{"2":{},"9":{},"10":{},"19":{},"36":{}},"component":{}}],["emitt",{"_index":1330,"title":{},"name":{},"text":{"13":{}},"component":{}}],["empti",{"_index":326,"title":{},"name":{},"text":{"2":{},"5":{},"16":{},"34":{},"59":{}},"component":{}}],["emul",{"_index":3064,"title":{},"name":{},"text":{"57":{}},"component":{}}],["enabl",{"_index":571,"title":{"22-1":{},"24-1":{},"59-4":{},"72-5":{}},"name":{},"text":{"5":{},"6":{},"9":{},"10":{},"12":{},"13":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"37":{},"40":{},"41":{},"43":{},"49":{},"52":{},"57":{},"59":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"72":{}},"component":{}}],["enabled=fals",{"_index":1942,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["encapsul",{"_index":1299,"title":{},"name":{},"text":{"13":{}},"component":{}}],["encod",{"_index":1568,"title":{},"name":{},"text":{"19":{}},"component":{}}],["encount",{"_index":1100,"title":{},"name":{},"text":{"10":{},"67":{}},"component":{}}],["end",{"_index":784,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"11":{},"16":{},"17":{},"19":{},"22":{},"25":{},"31":{},"32":{},"35":{},"40":{},"41":{},"47":{},"48":{},"50":{},"64":{}},"component":{}}],["endpoint",{"_index":113,"title":{"32":{},"12-3":{},"32-3":{},"35-5":{}},"name":{"32":{}},"text":{"1":{},"2":{},"5":{},"6":{},"7":{},"9":{},"11":{},"12":{},"17":{},"19":{},"22":{},"24":{},"25":{},"30":{},"31":{},"32":{},"33":{},"35":{},"37":{},"41":{},"42":{},"53":{},"59":{},"63":{},"64":{}},"component":{}}],["endsuccess",{"_index":1999,"title":{},"name":{},"text":{"31":{}},"component":{}}],["endwitherror",{"_index":1997,"title":{},"name":{},"text":{"31":{}},"component":{}}],["enforc",{"_index":214,"title":{},"name":{},"text":{"2":{},"43":{}},"component":{}}],["engin",{"_index":253,"title":{},"name":{},"text":{"2":{},"8":{},"10":{},"14":{},"22":{},"27":{},"35":{},"46":{},"49":{},"59":{}},"component":{}}],["english",{"_index":1032,"title":{},"name":{},"text":{"9":{},"34":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["enough",{"_index":1206,"title":{},"name":{},"text":{"12":{}},"component":{}}],["ensur",{"_index":221,"title":{},"name":{},"text":{"2":{},"6":{},"12":{},"24":{},"28":{},"40":{},"43":{},"46":{},"50":{},"56":{},"57":{},"58":{},"65":{},"66":{}},"component":{}}],["enter",{"_index":1561,"title":{},"name":{},"text":{"19":{},"34":{},"43":{},"53":{},"56":{},"57":{},"58":{},"61":{},"62":{},"63":{},"64":{},"67":{},"69":{},"72":{}},"component":{}}],["enterpris",{"_index":1607,"title":{},"name":{},"text":{"19":{},"67":{}},"component":{}}],["entir",{"_index":706,"title":{},"name":{},"text":{"6":{},"9":{},"14":{},"46":{},"65":{}},"component":{}}],["entiti",{"_index":1301,"title":{},"name":{},"text":{"13":{}},"component":{}}],["enum",{"_index":2193,"title":{"34-1":{}},"name":{},"text":{"72":{}},"component":{}}],["enumer",{"_index":606,"title":{},"name":{},"text":{"5":{},"34":{}},"component":{}}],["env",{"_index":414,"title":{},"name":{},"text":{"2":{},"57":{}},"component":{}}],["environ",{"_index":115,"title":{"32-3":{},"32-4":{},"32-8":{}},"name":{},"text":{"1":{},"8":{},"12":{},"17":{},"20":{},"30":{},"31":{},"32":{},"35":{},"36":{},"42":{},"43":{},"47":{},"50":{},"51":{},"57":{},"58":{},"64":{},"65":{}},"component":{}}],["ephemer",{"_index":2298,"title":{"36-4":{}},"name":{},"text":{"36":{}},"component":{}}],["ephemeral:1.40.0.fin",{"_index":638,"title":{},"name":{},"text":{"5":{}},"component":{}}],["equal",{"_index":1061,"title":{},"name":{},"text":{"9":{}},"component":{}}],["equals_to",{"_index":1799,"title":{},"name":{},"text":{"25":{}},"component":{}}],["equalto(\"hello",{"_index":2345,"title":{},"name":{},"text":{"37":{}},"component":{}}],["equip",{"_index":2310,"title":{},"name":{},"text":{"36":{}},"component":{}}],["error",{"_index":81,"title":{"10":{},"10-1":{},"10-2":{},"18-6":{}},"name":{"10":{}},"text":{"1":{},"2":{},"6":{},"10":{},"13":{},"18":{},"25":{},"31":{},"37":{},"46":{},"50":{},"57":{},"58":{},"63":{},"64":{},"67":{},"71":{},"72":{}},"component":{}}],["error.messag",{"_index":1818,"title":{},"name":{},"text":{"25":{}},"component":{}}],["errorref",{"_index":979,"title":{},"name":{},"text":{"8":{},"10":{},"31":{}},"component":{}}],["errorref\":\"process",{"_index":2589,"title":{},"name":{},"text":{"46":{}},"component":{}}],["establish",{"_index":1873,"title":{},"name":{},"text":{"28":{}},"component":{}}],["etc",{"_index":757,"title":{},"name":{},"text":{"6":{},"22":{},"31":{}},"component":{}}],["eur",{"_index":2059,"title":{},"name":{},"text":{"31":{}},"component":{}}],["eval",{"_index":3050,"title":{},"name":{},"text":{"57":{}},"component":{}}],["evalu",{"_index":1031,"title":{},"name":{},"text":{"9":{},"14":{},"18":{},"22":{},"31":{},"41":{},"52":{}},"component":{}}],["even",{"_index":45,"title":{},"name":{},"text":{"1":{},"10":{},"13":{},"27":{},"50":{}},"component":{}}],["event",{"_index":6,"title":{"12":{},"13":{},"14":{},"15":{},"1-5":{},"8-2":{},"8-5":{},"12-1":{},"12-2":{},"12-3":{},"12-5":{},"14-1":{},"15-1":{},"18-3":{},"33-1":{},"33-2":{},"36-7":{},"47-3":{},"63-7":{},"64-2":{}},"name":{"12":{},"13":{},"14":{},"15":{}},"text":{"1":{},"2":{},"3":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"27":{},"33":{},"36":{},"41":{},"43":{},"46":{},"47":{},"52":{},"56":{},"57":{},"58":{},"63":{},"64":{}},"component":{}}],["event1",{"_index":999,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["event2",{"_index":1005,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["eventbodi",{"_index":1451,"title":{},"name":{},"text":{"16":{}},"component":{}}],["eventbody.put(\"dummyeventvari",{"_index":1454,"title":{},"name":{},"text":{"16":{}},"component":{}}],["eventbody.put(\"result",{"_index":1453,"title":{},"name":{},"text":{"16":{}},"component":{}}],["eventcondit",{"_index":984,"title":{},"name":{},"text":{"8":{}},"component":{}}],["eventdata",{"_index":2692,"title":{},"name":{},"text":{"47":{}},"component":{}}],["eventdatafilt",{"_index":1000,"title":{},"name":{},"text":{"8":{},"9":{},"16":{}},"component":{}}],["eventing.knative.dev/v1",{"_index":1224,"title":{},"name":{},"text":{"12":{}},"component":{}}],["eventing:1.40.0.fin",{"_index":3012,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["eventinput",{"_index":1489,"title":{},"name":{},"text":{"17":{}},"component":{}}],["eventinput.getprocessinstanceid",{"_index":1493,"title":{},"name":{},"text":{"17":{}},"component":{}}],["eventref",{"_index":975,"title":{},"name":{},"text":{"8":{},"9":{},"14":{},"15":{},"16":{},"17":{}},"component":{}}],["eventrefdefinit",{"_index":1510,"title":{},"name":{},"text":{"18":{}},"component":{}}],["events.connector=quarku",{"_index":1018,"title":{},"name":{},"text":{"8":{}},"component":{}}],["events.method=post",{"_index":1020,"title":{},"name":{},"text":{"8":{}},"component":{}}],["events.url=${k_sink:http://localhost:8280/jobs/ev",{"_index":1019,"title":{},"name":{},"text":{"8":{}},"component":{}}],["eventtimeout",{"_index":965,"title":{},"name":{},"text":{"8":{}},"component":{}}],["eventu",{"_index":514,"title":{},"name":{},"text":{"3":{},"17":{},"36":{}},"component":{}}],["everyth",{"_index":2759,"title":{},"name":{},"text":{"48":{},"50":{},"51":{},"58":{}},"component":{}}],["everytim",{"_index":628,"title":{},"name":{},"text":{"5":{}},"component":{}}],["evolv",{"_index":509,"title":{},"name":{},"text":{"3":{},"50":{}},"component":{}}],["exactli",{"_index":939,"title":{},"name":{},"text":{"8":{}},"component":{}}],["exampl",{"_index":150,"title":{"46":{},"47":{},"6-20":{},"8-8":{},"9-1":{},"9-2":{},"9-3":{},"10-2":{},"12-5":{},"13-2":{},"14-1":{},"15-1":{},"16-1":{},"17-1":{},"22-4":{},"24-5":{},"30-2":{},"30-3":{},"30-4":{},"30-5":{},"30-6":{},"31-1":{},"31-2":{},"31-3":{},"41-3":{},"46-2":{},"46-3":{},"47-4":{},"54-1":{},"59-3":{}},"name":{"45":{},"47":{}},"text":{"1":{},"2":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"65":{},"69":{},"72":{}},"component":{}}],["example.json",{"_index":1888,"title":{},"name":{},"text":{"30":{}},"component":{}}],["examples.git",{"_index":1827,"title":{},"name":{},"text":{"27":{},"31":{},"54":{}},"component":{}}],["examples/serverless",{"_index":1519,"title":{},"name":{},"text":{"19":{},"31":{},"37":{},"54":{}},"component":{}}],["example’",{"_index":2694,"title":{},"name":{},"text":{"47":{}},"component":{}}],["exceed",{"_index":996,"title":{},"name":{},"text":{"8":{}},"component":{}}],["except",{"_index":1099,"title":{},"name":{},"text":{"10":{},"18":{},"46":{},"59":{}},"component":{}}],["excerpt",{"_index":2281,"title":{},"name":{},"text":{"35":{}},"component":{}}],["exchang",{"_index":1962,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exchanged",{"_index":1993,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exchanger",{"_index":1987,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exchangerateresult",{"_index":2024,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exchangeworkflowhelp",{"_index":2004,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exchangeworkflowhelper.java",{"_index":2005,"title":{},"name":{},"text":{"31":{}},"component":{}}],["exclus",{"_index":994,"title":{},"name":{},"text":{"8":{},"15":{},"18":{},"30":{}},"component":{}}],["exec:java",{"_index":2224,"title":{},"name":{},"text":{"34":{}},"component":{}}],["execut",{"_index":53,"title":{"28-4":{},"41-3":{}},"name":{"38":{}},"text":{"1":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"25":{},"27":{},"28":{},"31":{},"34":{},"36":{},"37":{},"40":{},"41":{},"43":{},"46":{},"47":{},"49":{},"50":{},"54":{},"56":{},"57":{},"58":{},"62":{},"64":{},"67":{},"72":{}},"component":{}}],["executeworkitem",{"_index":849,"title":{},"name":{},"text":{"6":{}},"component":{}}],["executionstatu",{"_index":1995,"title":{},"name":{},"text":{"31":{}},"component":{}}],["executionstatusmessag",{"_index":2000,"title":{},"name":{},"text":{"31":{}},"component":{}}],["executor",{"_index":249,"title":{},"name":{},"text":{"2":{},"46":{}},"component":{}}],["exemplifi",{"_index":734,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["exhaust",{"_index":1104,"title":{},"name":{},"text":{"10":{}},"component":{}}],["exist",{"_index":145,"title":{},"name":{},"text":{"1":{},"5":{},"9":{},"13":{},"15":{},"28":{},"32":{},"34":{},"42":{},"59":{},"66":{},"72":{}},"component":{}}],["exitmessag",{"_index":1002,"title":{},"name":{},"text":{"8":{}},"component":{}}],["expect",{"_index":705,"title":{},"name":{},"text":{"6":{},"10":{},"16":{},"22":{},"34":{},"37":{},"40":{},"41":{},"54":{},"59":{}},"component":{}}],["experi",{"_index":524,"title":{},"name":{},"text":{"3":{},"20":{},"71":{},"72":{}},"component":{}}],["expir",{"_index":985,"title":{},"name":{},"text":{"8":{},"40":{},"41":{}},"component":{}}],["explain",{"_index":1323,"title":{},"name":{},"text":{"13":{},"50":{},"58":{}},"component":{}}],["explicitli",{"_index":1304,"title":{},"name":{},"text":{"13":{}},"component":{}}],["explor",{"_index":3158,"title":{},"name":{},"text":{"64":{}},"component":{}}],["export",{"_index":2168,"title":{},"name":{},"text":{"32":{}},"component":{}}],["expos",{"_index":157,"title":{"24":{}},"name":{"24":{}},"text":{"1":{},"24":{},"31":{},"35":{},"37":{},"50":{},"58":{},"59":{},"64":{}},"component":{}}],["express",{"_index":78,"title":{"9":{},"9-1":{},"9-2":{},"9-3":{},"18-5":{}},"name":{"9":{}},"text":{"1":{},"6":{},"7":{},"9":{},"10":{},"11":{},"18":{},"22":{},"25":{},"31":{},"35":{},"40":{},"41":{},"52":{},"59":{}},"component":{}}],["expressionlang",{"_index":1026,"title":{},"name":{},"text":{"9":{},"18":{}},"component":{}}],["expressionslang",{"_index":2877,"title":{},"name":{},"text":{"52":{}},"component":{}}],["ext",{"_index":3013,"title":{},"name":{},"text":{"56":{},"57":{},"58":{},"62":{}},"component":{}}],["extend",{"_index":660,"title":{"67-1":{}},"name":{},"text":{"6":{},"27":{},"67":{}},"component":{}}],["extens",{"_index":98,"title":{"61":{},"62":{},"64":{},"70":{},"72":{},"62-1":{},"70-1":{},"70-2":{},"72-1":{},"72-3":{},"72-5":{}},"name":{"70":{},"72":{}},"text":{"1":{},"2":{},"6":{},"12":{},"13":{},"14":{},"16":{},"17":{},"19":{},"20":{},"23":{},"24":{},"30":{},"32":{},"33":{},"35":{},"37":{},"40":{},"43":{},"54":{},"56":{},"57":{},"58":{},"62":{},"63":{},"64":{},"70":{},"71":{},"72":{}},"component":{}}],["extension.kogito.swf.silentlygeneratesvg",{"_index":3235,"title":{},"name":{},"text":{"72":{}},"component":{}}],["extensionid",{"_index":2114,"title":{},"name":{},"text":{"32":{}},"component":{}}],["extension’",{"_index":386,"title":{},"name":{},"text":{"2":{}},"component":{}}],["extern",{"_index":136,"title":{},"name":{},"text":{"1":{},"6":{},"8":{},"10":{},"14":{},"16":{},"17":{},"36":{},"52":{},"53":{},"56":{},"65":{},"72":{}},"component":{}}],["extract",{"_index":881,"title":{},"name":{},"text":{"6":{},"14":{},"25":{},"28":{},"35":{},"40":{},"70":{}},"component":{}}],["f",{"_index":1276,"title":{},"name":{},"text":{"12":{},"24":{},"28":{},"47":{},"48":{},"50":{},"51":{},"56":{},"57":{},"58":{}},"component":{}}],["f0f9",{"_index":1181,"title":{},"name":{},"text":{"11":{}},"component":{}}],["f5c5d5d784ad",{"_index":2324,"title":{},"name":{},"text":{"37":{}},"component":{}}],["f779929c9937\",\"workflowdata\":{\"symbol\":\"kgto\",\"currentprice\":59.36,\"profit\":\"19",{"_index":2166,"title":{},"name":{},"text":{"32":{}},"component":{}}],["fabric8",{"_index":3131,"title":{},"name":{},"text":{"59":{}},"component":{}}],["facilit",{"_index":1260,"title":{},"name":{},"text":{"12":{},"40":{}},"component":{}}],["fact",{"_index":1441,"title":{},"name":{},"text":{"16":{},"17":{},"47":{}},"component":{}}],["fahrenheit",{"_index":1053,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["fail",{"_index":233,"title":{},"name":{},"text":{"2":{},"5":{},"13":{},"31":{},"37":{},"42":{},"46":{},"53":{}},"component":{}}],["failonvalidationerror",{"_index":915,"title":{},"name":{},"text":{"7":{}},"component":{}}],["failsaf",{"_index":2395,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["failservic",{"_index":2652,"title":{},"name":{},"text":{"46":{}},"component":{}}],["failservice\":\".failservic",{"_index":2585,"title":{},"name":{},"text":{"46":{}},"component":{}}],["failservice\":\"shippingservic",{"_index":2660,"title":{},"name":{},"text":{"46":{}},"component":{}}],["failur",{"_index":292,"title":{"50-7":{}},"name":{},"text":{"2":{},"10":{},"36":{},"37":{},"46":{},"52":{},"53":{},"63":{},"64":{}},"component":{}}],["failurethreshold",{"_index":3029,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["fake",{"_index":2127,"title":{},"name":{},"text":{"32":{}},"component":{}}],["fals",{"_index":575,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"12":{},"15":{},"18":{},"27":{},"28":{},"35":{},"49":{},"50":{},"53":{},"54":{},"57":{}},"component":{}}],["familiar",{"_index":73,"title":{"20":{}},"name":{"20":{}},"text":{"1":{},"18":{},"19":{},"35":{},"42":{},"54":{}},"component":{}}],["fast",{"_index":475,"title":{},"name":{},"text":{"2":{},"43":{}},"component":{}}],["faster",{"_index":2941,"title":{},"name":{},"text":{"54":{},"56":{},"57":{},"58":{}},"component":{}}],["fat",{"_index":2161,"title":{},"name":{},"text":{"32":{}},"component":{}}],["fe5a3577efdd\",\"workflowdata\":{\"name\":\"john\",\"language\":\"english\",\"greeting\":\"hello",{"_index":2764,"title":{},"name":{},"text":{"48":{}},"component":{}}],["featur",{"_index":169,"title":{"2":{},"50-8":{},"52-1":{},"52-2":{},"71-1":{},"72-2":{}},"name":{},"text":{"2":{},"3":{},"6":{},"18":{},"19":{},"22":{},"23":{},"27":{},"28":{},"35":{},"36":{},"37":{},"48":{},"50":{},"52":{},"56":{},"57":{},"58":{},"59":{},"69":{},"71":{},"72":{}},"component":{}}],["feel",{"_index":648,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["fetch",{"_index":2821,"title":{},"name":{},"text":{"50":{},"57":{},"63":{},"64":{},"65":{},"69":{},"72":{}},"component":{}}],["few",{"_index":527,"title":{},"name":{},"text":{"3":{},"12":{},"49":{},"50":{},"54":{},"65":{}},"component":{}}],["field",{"_index":824,"title":{},"name":{},"text":{"6":{},"9":{},"16":{},"19":{},"25":{},"27":{},"34":{},"48":{},"50":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{}},"component":{}}],["figur",{"_index":1044,"title":{},"name":{},"text":{"9":{},"10":{},"14":{},"16":{},"17":{},"19":{},"25":{},"31":{},"36":{},"41":{},"46":{},"47":{},"50":{},"56":{},"59":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["file",{"_index":218,"title":{"61-2":{},"72-5":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"7":{},"9":{},"11":{},"12":{},"13":{},"14":{},"16":{},"17":{},"19":{},"20":{},"22":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"49":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"61":{},"62":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["file.yaml#myfunction1",{"_index":2256,"title":{},"name":{},"text":{"35":{}},"component":{}}],["file=.dockerconfigjson=${home}/.docker/config.json",{"_index":2733,"title":{},"name":{},"text":{"48":{}},"component":{}}],["file_nam",{"_index":596,"title":{},"name":{},"text":{"5":{}},"component":{}}],["file_name(default",{"_index":2094,"title":{},"name":{},"text":{"32":{}},"component":{}}],["filenam",{"_index":1896,"title":{},"name":{},"text":{"30":{},"72":{}},"component":{}}],["filename.svg",{"_index":3237,"title":{},"name":{},"text":{"72":{}},"component":{}}],["filesystem",{"_index":563,"title":{},"name":{},"text":{"5":{}},"component":{}}],["fill",{"_index":2223,"title":{"63-4":{}},"name":{},"text":{"34":{},"63":{},"64":{}},"component":{}}],["fillworkitemhandl",{"_index":837,"title":{},"name":{},"text":{"6":{}},"component":{}}],["fillworkitemhandler(workflow",{"_index":873,"title":{},"name":{},"text":{"6":{}},"component":{}}],["filter",{"_index":716,"title":{"9-3":{},"61-4":{},"63-1":{}},"name":{},"text":{"6":{},"9":{},"12":{},"18":{},"19":{},"25":{},"30":{},"31":{},"59":{},"61":{},"63":{},"64":{}},"component":{}}],["final",{"_index":739,"title":{},"name":{},"text":{"6":{},"9":{},"31":{},"35":{},"36":{},"41":{},"42":{},"48":{}},"component":{}}],["finalizewitherror",{"_index":981,"title":{},"name":{},"text":{"8":{}},"component":{}}],["financi",{"_index":1964,"title":{},"name":{},"text":{"31":{}},"component":{}}],["find",{"_index":644,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["fine",{"_index":2792,"title":{},"name":{},"text":{"50":{}},"component":{}}],["finish",{"_index":951,"title":{},"name":{},"text":{"8":{},"9":{},"10":{},"16":{},"17":{},"19":{},"27":{},"34":{},"37":{},"42":{},"53":{}},"component":{}}],["fire",{"_index":1477,"title":{},"name":{},"text":{"17":{},"36":{}},"component":{}}],["fire&wait",{"_index":1432,"title":{},"name":{},"text":{"15":{},"16":{}},"component":{}}],["first",{"_index":68,"title":{"19":{},"65-1":{},"65-2":{}},"name":{"19":{}},"text":{"1":{},"9":{},"10":{},"11":{},"13":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"24":{},"25":{},"27":{},"31":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"47":{},"50":{},"51":{},"54":{},"57":{},"58":{},"59":{},"65":{}},"component":{}}],["fit",{"_index":2309,"title":{},"name":{},"text":{"36":{}},"component":{}}],["fix",{"_index":167,"title":{"2-2":{}},"name":{},"text":{"2":{},"5":{},"42":{},"43":{},"50":{},"67":{}},"component":{}}],["flag",{"_index":995,"title":{},"name":{},"text":{"8":{},"10":{},"19":{},"43":{},"54":{},"67":{}},"component":{}}],["flasgger",{"_index":2264,"title":{},"name":{},"text":{"35":{}},"component":{}}],["fli",{"_index":2744,"title":{},"name":{},"text":{"48":{}},"component":{}}],["float",{"_index":755,"title":{},"name":{},"text":{"6":{},"22":{},"35":{}},"component":{}}],["flow",{"_index":948,"title":{},"name":{},"text":{"8":{},"12":{},"17":{},"19":{},"30":{},"31":{},"33":{},"41":{},"46":{},"50":{}},"component":{}}],["fluent",{"_index":391,"title":{},"name":{},"text":{"2":{}},"component":{}}],["flyway",{"_index":147,"title":{"28-2":{},"28-3":{},"28-7":{},"28-8":{}},"name":{"28":{}},"text":{"1":{},"27":{},"28":{},"36":{}},"component":{}}],["flyway.loc",{"_index":1864,"title":{},"name":{},"text":{"28":{}},"component":{}}],["flyway.locations=classpath:com.mycomp.migration,database/migrations,filesystem:/sql",{"_index":1865,"title":{},"name":{},"text":{"28":{}},"component":{}}],["flyway.password=bar",{"_index":1854,"title":{},"name":{},"text":{"28":{}},"component":{}}],["flyway.url=jdbc:postgresql://localhost:5432/foobardb",{"_index":1852,"title":{},"name":{},"text":{"28":{}},"component":{}}],["flyway.user=foo",{"_index":1853,"title":{},"name":{},"text":{"28":{}},"component":{}}],["flyway_schema_histori",{"_index":1848,"title":{},"name":{},"text":{"28":{}},"component":{}}],["focus",{"_index":1439,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["folder",{"_index":1862,"title":{},"name":{},"text":{"28":{},"35":{},"43":{},"47":{},"48":{},"65":{},"66":{},"70":{},"72":{}},"component":{}}],["follow",{"_index":67,"title":{},"name":{},"text":{"1":{},"5":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["footprint",{"_index":2932,"title":{},"name":{},"text":{"54":{}},"component":{}}],["foreach",{"_index":418,"title":{},"name":{},"text":{"2":{},"5":{},"18":{},"24":{}},"component":{}}],["forget",{"_index":808,"title":{},"name":{},"text":{"6":{}},"component":{}}],["form",{"_index":968,"title":{},"name":{},"text":{"8":{},"13":{},"18":{},"63":{},"64":{}},"component":{}}],["format",{"_index":922,"title":{},"name":{},"text":{"7":{},"8":{},"12":{},"13":{},"14":{},"22":{},"25":{},"27":{},"30":{},"31":{},"35":{},"49":{},"63":{},"64":{},"72":{}},"component":{}}],["former",{"_index":1440,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["forth",{"_index":421,"title":{},"name":{},"text":{"2":{}},"component":{}}],["found",{"_index":549,"title":{"5-1":{},"6-22":{},"7-2":{},"8-10":{},"9-5":{},"10-4":{},"11-5":{},"12-7":{},"13-5":{},"14-3":{},"15-3":{},"16-3":{},"17-4":{},"18-13":{},"19-7":{},"20-1":{},"22-6":{},"23-3":{},"24-6":{},"25-5":{},"27-3":{},"28-9":{},"30-8":{},"31-5":{},"32-10":{},"33-3":{},"34-7":{},"35-7":{},"36-9":{},"37-2":{},"40-4":{},"41-5":{},"42-5":{},"43-7":{},"46-5":{},"47-12":{},"48-8":{},"49-4":{},"50-12":{},"51-5":{},"53-5":{},"54-6":{},"56-6":{},"57-6":{},"58-7":{},"59-7":{},"61-6":{},"62-2":{},"63-8":{},"64-3":{},"65-3":{},"66-4":{},"67-3":{},"68-3":{},"69-3":{},"70-3":{},"71-3":{},"72-7":{}},"name":{},"text":{"6":{},"10":{},"13":{},"34":{},"35":{},"36":{},"37":{},"50":{},"58":{},"59":{}},"component":{}}],["foundat",{"_index":659,"title":{},"name":{},"text":{"6":{},"18":{}},"component":{}}],["four",{"_index":854,"title":{},"name":{},"text":{"6":{}},"component":{}}],["fqcn",{"_index":683,"title":{},"name":{},"text":{"6":{},"10":{},"46":{}},"component":{}}],["framework",{"_index":54,"title":{},"name":{},"text":{"1":{},"31":{},"35":{},"41":{}},"component":{}}],["fraud",{"_index":2459,"title":{},"name":{},"text":{"41":{}},"component":{}}],["fraudevalu",{"_index":2461,"title":{},"name":{},"text":{"41":{}},"component":{}}],["free",{"_index":649,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["from/test",{"_index":2441,"title":{},"name":{},"text":{"41":{}},"component":{}}],["fulfil",{"_index":2568,"title":{},"name":{},"text":{"46":{}},"component":{}}],["full",{"_index":512,"title":{},"name":{},"text":{"3":{},"32":{},"40":{},"43":{},"70":{}},"component":{}}],["full_uri",{"_index":597,"title":{},"name":{},"text":{"5":{},"32":{}},"component":{}}],["fulli",{"_index":684,"title":{},"name":{},"text":{"6":{},"10":{},"18":{},"46":{}},"component":{}}],["function",{"_index":76,"title":{"6":{},"6-1":{},"6-2":{},"6-3":{},"6-4":{},"6-5":{},"6-6":{},"6-7":{},"6-8":{},"6-9":{},"6-10":{},"6-11":{},"6-12":{},"6-14":{},"6-19":{},"6-20":{},"9-2":{},"18-2":{},"22-3":{},"35-1":{},"35-3":{},"35-4":{}},"name":{"6":{},"23":{}},"text":{"1":{},"2":{},"6":{},"9":{},"10":{},"11":{},"13":{},"15":{},"17":{},"18":{},"22":{},"23":{},"25":{},"31":{},"32":{},"33":{},"34":{},"35":{},"46":{},"50":{},"52":{},"59":{},"65":{},"69":{},"72":{}},"component":{}}],["function($l",{"_index":1775,"title":{},"name":{},"text":{"25":{}},"component":{}}],["function_nam",{"_index":599,"title":{},"name":{},"text":{"5":{},"32":{}},"component":{}}],["functiondef",{"_index":876,"title":{},"name":{},"text":{"6":{}},"component":{}}],["functiondefinit",{"_index":875,"title":{},"name":{},"text":{"6":{}},"component":{}}],["functionref",{"_index":241,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"9":{},"10":{},"11":{},"15":{},"17":{},"22":{},"23":{},"31":{},"32":{},"33":{},"34":{},"35":{},"46":{},"50":{},"52":{}},"component":{}}],["function’",{"_index":1708,"title":{},"name":{},"text":{"23":{}},"component":{}}],["further",{"_index":1972,"title":{},"name":{},"text":{"31":{},"56":{},"57":{},"58":{}},"component":{}}],["futur",{"_index":1415,"title":{},"name":{},"text":{"14":{},"18":{},"31":{},"35":{},"36":{}},"component":{}}],["gbp",{"_index":2078,"title":{},"name":{},"text":{"31":{}},"component":{}}],["gener",{"_index":247,"title":{"12-4":{},"53-1":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"12":{},"13":{},"16":{},"17":{},"19":{},"24":{},"30":{},"31":{},"32":{},"33":{},"35":{},"37":{},"43":{},"47":{},"48":{},"49":{},"53":{},"56":{},"57":{},"58":{},"62":{},"63":{},"66":{},"71":{},"72":{}},"component":{}}],["generalerror",{"_index":921,"title":{},"name":{},"text":{"7":{}},"component":{}}],["generatecloudevent(ce.get().getextension(cloudeventextensionconstants.process_instance_id).tostr",{"_index":1474,"title":{},"name":{},"text":{"16":{}},"component":{}}],["generatecloudevent(str",{"_index":1450,"title":{},"name":{},"text":{"16":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].[auth_property_nam",{"_index":1895,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].api",{"_index":1920,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].bear",{"_index":1916,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].head",{"_index":1955,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].password",{"_index":1913,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].token",{"_index":1951,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.[filename].auth.[security_scheme_name].usernam",{"_index":1911,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.codegen.default.security.schem",{"_index":1892,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.codegen.default.security.scheme=http",{"_index":1893,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.codegen.spec.acme_financial_service_yml.bas",{"_index":2029,"title":{},"name":{},"text":{"31":{}},"component":{}}],["generator.security_example_json.auth.api_key_example.api",{"_index":1921,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.security_example_json.auth.http_basic_example.password=my_passwd",{"_index":1914,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.security_example_json.auth.http_basic_example.username=my_us",{"_index":1912,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.security_example_json.auth.http_bearer_example.bear",{"_index":1917,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.security_example_json.auth.oauth_example.head",{"_index":1957,"title":{},"name":{},"text":{"30":{}},"component":{}}],["generator.security_example_json.auth.oauth_example.token",{"_index":1953,"title":{},"name":{},"text":{"30":{}},"component":{}}],["get",{"_index":0,"title":{"20":{},"1-1":{}},"name":{"20":{}},"text":{"1":{},"3":{},"18":{},"19":{},"24":{},"35":{},"42":{},"47":{},"51":{},"54":{},"57":{}},"component":{}}],["get(\"/callback/{id",{"_index":2413,"title":{},"name":{},"text":{"40":{}},"component":{}}],["getexchanger",{"_index":1982,"title":{},"name":{},"text":{"31":{}},"component":{}}],["getexchangerateact",{"_index":1996,"title":{},"name":{},"text":{"31":{}},"component":{}}],["getpet",{"_index":2288,"title":{},"name":{},"text":{"35":{}},"component":{}}],["getpetbyid",{"_index":2284,"title":{},"name":{},"text":{"35":{}},"component":{}}],["getprofitfunct",{"_index":2133,"title":{},"name":{},"text":{"32":{}},"component":{}}],["getstockpric",{"_index":2129,"title":{},"name":{},"text":{"32":{}},"component":{}}],["getstockpricefunct",{"_index":2130,"title":{},"name":{},"text":{"32":{}},"component":{}}],["getstockprofit",{"_index":2139,"title":{},"name":{},"text":{"32":{}},"component":{}}],["getter",{"_index":2015,"title":{},"name":{},"text":{"31":{}},"component":{}}],["gist",{"_index":3183,"title":{},"name":{},"text":{"66":{}},"component":{}}],["git",{"_index":1825,"title":{},"name":{},"text":{"27":{},"31":{},"54":{},"66":{}},"component":{}}],["git@github.com:kiegroup/kogito",{"_index":1826,"title":{},"name":{},"text":{"27":{}},"component":{}}],["github",{"_index":1139,"title":{"66":{},"70":{},"66-1":{},"66-2":{},"66-3":{},"70-1":{},"70-2":{}},"name":{"66":{}},"text":{"11":{},"16":{},"17":{},"19":{},"20":{},"22":{},"27":{},"31":{},"32":{},"34":{},"37":{},"43":{},"46":{},"65":{},"66":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["give",{"_index":2795,"title":{},"name":{},"text":{"50":{}},"component":{}}],["given",{"_index":761,"title":{},"name":{},"text":{"6":{},"12":{},"14":{},"32":{},"37":{},"40":{},"41":{},"46":{},"48":{},"50":{},"51":{},"56":{},"59":{}},"component":{}}],["global",{"_index":1344,"title":{},"name":{},"text":{"13":{},"30":{},"48":{}},"component":{}}],["go",{"_index":182,"title":{},"name":{},"text":{"2":{},"25":{},"31":{},"35":{},"57":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["goal",{"_index":2305,"title":{},"name":{},"text":{"36":{}},"component":{}}],["goe",{"_index":2790,"title":{},"name":{},"text":{"50":{}},"component":{}}],["good",{"_index":2013,"title":{},"name":{},"text":{"31":{}},"component":{}}],["googl",{"_index":3218,"title":{},"name":{},"text":{"70":{}},"component":{}}],["goto",{"_index":1093,"title":{},"name":{},"text":{"10":{}},"component":{}}],["graalvm",{"_index":2905,"title":{},"name":{},"text":{"54":{}},"component":{}}],["gradl",{"_index":1842,"title":{},"name":{},"text":{"27":{},"56":{},"57":{},"58":{}},"component":{}}],["grafana",{"_index":1719,"title":{},"name":{},"text":{"24":{}},"component":{}}],["grant",{"_index":1967,"title":{},"name":{},"text":{"31":{},"67":{},"69":{}},"component":{}}],["graphic",{"_index":1821,"title":{},"name":{},"text":{"25":{}},"component":{}}],["graphiql",{"_index":1812,"title":{},"name":{},"text":{"25":{}},"component":{}}],["graphql",{"_index":1507,"title":{},"name":{},"text":{"18":{},"19":{},"25":{},"36":{}},"component":{}}],["greecepayload",{"_index":2479,"title":{},"name":{},"text":{"42":{}},"component":{}}],["greet",{"_index":771,"title":{},"name":{},"text":{"6":{},"9":{},"19":{},"23":{},"25":{},"34":{},"37":{},"48":{},"49":{},"50":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{}},"component":{}}],["greetact",{"_index":2788,"title":{},"name":{},"text":{"50":{}},"component":{}}],["greeter",{"_index":2198,"title":{},"name":{},"text":{"34":{}},"component":{}}],["greetfunct",{"_index":2786,"title":{},"name":{},"text":{"50":{}},"component":{}}],["greetinenglish",{"_index":1042,"title":{},"name":{},"text":{"9":{},"50":{}},"component":{}}],["greeting+.nam",{"_index":2789,"title":{},"name":{},"text":{"50":{}},"component":{}}],["greeting.proto",{"_index":2210,"title":{},"name":{},"text":{"34":{}},"component":{}}],["greeting.proto#greeter#sayhello",{"_index":2209,"title":{},"name":{},"text":{"34":{}},"component":{}}],["greeting_svc/greet",{"_index":2758,"title":{},"name":{},"text":{"48":{}},"component":{}}],["greeting_svc=$(minikub",{"_index":2757,"title":{},"name":{},"text":{"48":{}},"component":{}}],["greetinspanish",{"_index":1043,"title":{},"name":{},"text":{"9":{},"50":{}},"component":{}}],["greetperson",{"_index":2787,"title":{},"name":{},"text":{"50":{}},"component":{}}],["grep",{"_index":2715,"title":{},"name":{},"text":{"47":{},"51":{}},"component":{}}],["group",{"_index":1225,"title":{},"name":{},"text":{"12":{},"15":{},"19":{},"25":{},"59":{}},"component":{}}],["group/namespac",{"_index":3044,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["groupfunct",{"_index":1802,"title":{},"name":{},"text":{"25":{}},"component":{}}],["grpc",{"_index":116,"title":{"34":{},"34-3":{},"34-4":{},"34-5":{},"34-6":{}},"name":{"34":{}},"text":{"1":{},"5":{},"34":{},"46":{}},"component":{}}],["guarante",{"_index":2215,"title":{},"name":{},"text":{"34":{},"36":{}},"component":{}}],["guid",{"_index":19,"title":{"1":{}},"name":{},"text":{"1":{},"8":{},"27":{},"30":{},"31":{},"32":{},"36":{},"48":{},"51":{},"56":{},"57":{},"58":{},"61":{}},"component":{}}],["gvk",{"_index":3105,"title":{},"name":{},"text":{"59":{}},"component":{}}],["h",{"_index":1178,"title":{},"name":{},"text":{"11":{},"12":{},"19":{},"23":{},"28":{},"31":{},"32":{},"34":{},"43":{},"46":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["halt",{"_index":970,"title":{},"name":{},"text":{"8":{}},"component":{}}],["handi",{"_index":2719,"title":{},"name":{},"text":{"47":{}},"component":{}}],["handl",{"_index":82,"title":{"10":{},"10-2":{},"13-3":{},"18-6":{}},"name":{"10":{},"15":{}},"text":{"1":{},"2":{},"3":{},"6":{},"10":{},"16":{},"17":{},"18":{},"23":{},"27":{},"36":{},"41":{},"46":{},"52":{},"57":{}},"component":{}}],["handlenovisadecis",{"_index":992,"title":{},"name":{},"text":{"8":{}},"component":{}}],["handler",{"_index":830,"title":{},"name":{},"text":{"6":{}},"component":{}}],["handling.sw.json",{"_index":2578,"title":{},"name":{},"text":{"46":{}},"component":{}}],["happen",{"_index":1087,"title":{},"name":{},"text":{"10":{},"33":{},"50":{},"53":{}},"component":{}}],["hard",{"_index":347,"title":{},"name":{},"text":{"2":{}},"component":{}}],["hardcod",{"_index":2292,"title":{},"name":{},"text":{"35":{}},"component":{}}],["hashmap",{"_index":1452,"title":{},"name":{},"text":{"16":{}},"component":{}}],["hat",{"_index":1529,"title":{"69":{},"69-1":{},"69-2":{}},"name":{},"text":{"19":{},"58":{},"65":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["have",{"_index":2546,"title":{},"name":{},"text":{"43":{},"48":{},"50":{}},"component":{}}],["header",{"_index":211,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"9":{},"12":{},"15":{},"16":{},"17":{},"22":{},"30":{},"35":{},"37":{},"41":{},"42":{},"63":{},"64":{}},"component":{}}],["header(\"accept",{"_index":2346,"title":{},"name":{},"text":{"37":{}},"component":{}}],["header(\"c",{"_index":2439,"title":{},"name":{},"text":{"41":{}},"component":{}}],["header.workflowid",{"_index":1686,"title":{},"name":{},"text":{"22":{}},"component":{}}],["health",{"_index":384,"title":{},"name":{},"text":{"2":{},"12":{},"19":{},"50":{}},"component":{}}],["healthi",{"_index":2814,"title":{},"name":{},"text":{"50":{},"53":{}},"component":{}}],["heartbeat",{"_index":354,"title":{},"name":{},"text":{"2":{}},"component":{}}],["hello",{"_index":1036,"title":{},"name":{},"text":{"9":{},"17":{},"19":{},"30":{},"37":{},"43":{},"50":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["hello.sw.json",{"_index":1554,"title":{},"name":{},"text":{"19":{}},"component":{}}],["hello_world",{"_index":1520,"title":{},"name":{},"text":{"19":{}},"component":{}}],["hellorepli",{"_index":2206,"title":{},"name":{},"text":{"34":{}},"component":{}}],["hellorequest",{"_index":2205,"title":{},"name":{},"text":{"34":{}},"component":{}}],["hellotest",{"_index":2326,"title":{},"name":{},"text":{"37":{}},"component":{}}],["hellotest.java",{"_index":2328,"title":{},"name":{},"text":{"37":{}},"component":{}}],["help",{"_index":528,"title":{},"name":{},"text":{"3":{},"7":{},"10":{},"12":{},"24":{},"43":{},"50":{},"53":{},"58":{},"59":{},"62":{},"63":{}},"component":{}}],["henc",{"_index":848,"title":{},"name":{},"text":{"6":{}},"component":{}}],["here",{"_index":650,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["here’",{"_index":2767,"title":{},"name":{},"text":{"49":{}},"component":{}}],["hibern",{"_index":1651,"title":{},"name":{},"text":{"19":{}},"component":{}}],["hide",{"_index":3225,"title":{},"name":{},"text":{"70":{}},"component":{}}],["histori",{"_index":1246,"title":{},"name":{},"text":{"12":{},"28":{}},"component":{}}],["hit",{"_index":2456,"title":{},"name":{},"text":{"41":{},"50":{}},"component":{}}],["hold",{"_index":623,"title":{},"name":{},"text":{"5":{},"7":{},"16":{},"17":{},"48":{},"50":{}},"component":{}}],["home",{"_index":3205,"title":{},"name":{},"text":{"68":{}},"component":{}}],["home/user/dev/kiegroup/kogito",{"_index":2382,"title":{},"name":{},"text":{"37":{}},"component":{}}],["home}/.docker/config.json",{"_index":2735,"title":{},"name":{},"text":{"48":{}},"component":{}}],["hood",{"_index":3095,"title":{},"name":{},"text":{"59":{}},"component":{}}],["host",{"_index":1869,"title":{},"name":{},"text":{"28":{},"67":{}},"component":{}}],["hour",{"_index":941,"title":{},"name":{},"text":{"8":{}},"component":{}}],["hover",{"_index":3154,"title":{},"name":{},"text":{"64":{}},"component":{}}],["html",{"_index":1792,"title":{},"name":{},"text":{"25":{}},"component":{}}],["http",{"_index":138,"title":{"41":{},"12-3":{},"17-2":{},"30-2":{}},"name":{"41":{}},"text":{"1":{},"6":{},"7":{},"8":{},"9":{},"10":{},"12":{},"17":{},"19":{},"24":{},"30":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"48":{},"50":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"72":{}},"component":{}}],["http1",{"_index":3037,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["http://0.0.0.0:8080",{"_index":1645,"title":{},"name":{},"text":{"19":{}},"component":{}}],["http://127.0.0.1:57053",{"_index":2802,"title":{},"name":{},"text":{"50":{}},"component":{}}],["http://127.0.0.1:57053/q/swagger",{"_index":2804,"title":{},"name":{},"text":{"50":{}},"component":{}}],["http://custom",{"_index":766,"title":{},"name":{},"text":{"6":{},"23":{}},"component":{}}],["http://hello",{"_index":2995,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["http://localhost/q/openapi",{"_index":919,"title":{},"name":{},"text":{"7":{}},"component":{}}],["http://localhost:8080",{"_index":1253,"title":{},"name":{},"text":{"12":{},"19":{}},"component":{}}],["http://localhost:8080/callback",{"_index":1484,"title":{},"name":{},"text":{"17":{}},"component":{}}],["http://localhost:8080/currency_exchange_workflow",{"_index":2061,"title":{},"name":{},"text":{"31":{}},"component":{}}],["http://localhost:8080/hello_world",{"_index":1658,"title":{},"name":{},"text":{"19":{}},"component":{}}],["http://localhost:8080/jsongreet",{"_index":2228,"title":{},"name":{},"text":{"34":{},"54":{}},"component":{}}],["http://localhost:8080/jsongreetbidistream",{"_index":2252,"title":{},"name":{},"text":{"34":{}},"component":{}}],["http://localhost:8080/jsongreetclientstream",{"_index":2246,"title":{},"name":{},"text":{"34":{}},"component":{}}],["http://localhost:8080/jsongreetserverstream",{"_index":2235,"title":{},"name":{},"text":{"34":{}},"component":{}}],["http://localhost:8080/order_saga_error_workflow",{"_index":2608,"title":{},"name":{},"text":{"46":{}},"component":{}}],["http://localhost:8080/parallel",{"_index":1177,"title":{},"name":{},"text":{"11":{}},"component":{}}],["http://localhost:8080/q/dev",{"_index":3138,"title":{},"name":{},"text":{"62":{}},"component":{}}],["http://localhost:8080/q/metr",{"_index":1774,"title":{},"name":{},"text":{"25":{}},"component":{}}],["http://localhost:8080/q/swagg",{"_index":1539,"title":{},"name":{},"text":{"19":{}},"component":{}}],["http://localhost:8080/resum",{"_index":2191,"title":{},"name":{},"text":{"33":{}},"component":{}}],["http://localhost:8080/stockprofit",{"_index":2153,"title":{},"name":{},"text":{"32":{}},"component":{}}],["http://localhost:8080/wait",{"_index":1485,"title":{},"name":{},"text":{"17":{}},"component":{}}],["http://localhost:8081",{"_index":2375,"title":{},"name":{},"text":{"37":{}},"component":{}}],["http://localhost:8180",{"_index":1807,"title":{},"name":{},"text":{"25":{}},"component":{}}],["http://localhost:8180/graphiql",{"_index":1808,"title":{},"name":{},"text":{"25":{}},"component":{}}],["http://localhost:8180/graphql/?query=%7bprocessinstances%7bprocessid%20processname%20state%20start%20end%20businesskey%20error%7bmessage%7d%7d%7d%0a",{"_index":1819,"title":{},"name":{},"text":{"25":{}},"component":{}}],["http://localhost:8181",{"_index":2152,"title":{},"name":{},"text":{"32":{}},"component":{}}],["http://localhost:8281/auth/realms/kogito/protocol/openid",{"_index":2025,"title":{},"name":{},"text":{"31":{}},"component":{}}],["http://localhost:8282",{"_index":2150,"title":{},"name":{},"text":{"32":{}},"component":{}}],["http://localhost:8383",{"_index":2151,"title":{},"name":{},"text":{"32":{}},"component":{}}],["http://localhost:8483/financi",{"_index":2041,"title":{},"name":{},"text":{"31":{}},"component":{}}],["http://localhost:9000",{"_index":1214,"title":{},"name":{},"text":{"12":{}},"component":{}}],["http://myserver.com",{"_index":2297,"title":{},"name":{},"text":{"35":{}},"component":{}}],["http://myservice.mynamespace.cluster.svc.loc",{"_index":2112,"title":{},"name":{},"text":{"32":{}},"component":{}}],["http://timeout",{"_index":2716,"title":{},"name":{},"text":{"47":{}},"component":{}}],["http:400",{"_index":1122,"title":{},"name":{},"text":{"10":{}},"component":{}}],["http_basic_exampl",{"_index":1900,"title":{},"name":{},"text":{"30":{}},"component":{}}],["httpget",{"_index":3030,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["https://example.com/oauth",{"_index":1928,"title":{},"name":{},"text":{"30":{}},"component":{}}],["https://example.com/oauth/token",{"_index":1930,"title":{},"name":{},"text":{"30":{}},"component":{}}],["https://github.com/cloudevents/spec/pul",{"_index":797,"title":{},"name":{},"text":{"6":{}},"component":{}}],["https://github.com/kiegroup/kogito",{"_index":2050,"title":{},"name":{},"text":{"31":{},"54":{}},"component":{}}],["https://my.remote.host/apicatalog/apis/123/docu",{"_index":2100,"title":{},"name":{},"text":{"32":{}},"component":{}}],["https://raw.githubusercontent.com/kiegroup/kogito",{"_index":2741,"title":{},"name":{},"text":{"48":{},"50":{},"51":{}},"component":{}}],["https://{url",{"_index":3246,"title":{},"name":{},"text":{"72":{}},"component":{}}],["huge",{"_index":2174,"title":{},"name":{},"text":{"33":{}},"component":{}}],["hybrid",{"_index":3248,"title":{},"name":{},"text":{"72":{}},"component":{}}],["i)error",{"_index":1117,"title":{},"name":{},"text":{"10":{}},"component":{}}],["i.",{"_index":2730,"title":{"48-4":{}},"name":{},"text":{"54":{}},"component":{}}],["icon",{"_index":1503,"title":{},"name":{},"text":{"18":{},"63":{},"64":{},"65":{},"70":{}},"component":{}}],["id",{"_index":192,"title":{},"name":{},"text":{"2":{},"6":{},"11":{},"12":{},"14":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"31":{},"32":{},"35":{},"37":{},"40":{},"41":{},"50":{},"54":{},"56":{},"57":{},"58":{},"64":{},"69":{},"72":{}},"component":{}}],["id\":\"0f77abc",{"_index":3003,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["id\":\"217050a3",{"_index":2655,"title":{},"name":{},"text":{"46":{}},"component":{}}],["id\":\"2e8e1930",{"_index":2724,"title":{},"name":{},"text":{"47":{}},"component":{}}],["id\":\"358f97ba",{"_index":1180,"title":{},"name":{},"text":{"11":{}},"component":{}}],["id\":\"3da62df1",{"_index":1189,"title":{},"name":{},"text":{"11":{}},"component":{}}],["id\":\"4376cc50",{"_index":2229,"title":{},"name":{},"text":{"34":{}},"component":{}}],["id\":\"5ab5dcb8",{"_index":2155,"title":{},"name":{},"text":{"32":{}},"component":{}}],["id\":\"665911c5",{"_index":2236,"title":{},"name":{},"text":{"34":{}},"component":{}}],["id\":\"87cf8275",{"_index":1712,"title":{},"name":{},"text":{"23":{}},"component":{}}],["id\":\"a80c95d6",{"_index":2162,"title":{},"name":{},"text":{"32":{}},"component":{}}],["id\":\"b5c0bf16",{"_index":2616,"title":{},"name":{},"text":{"46":{}},"component":{}}],["id\":\"b5fbfaa3",{"_index":2760,"title":{},"name":{},"text":{"48":{}},"component":{}}],["id\":\"efb59bfa",{"_index":1659,"title":{},"name":{},"text":{"19":{}},"component":{}}],["id=io.quarkus.platform",{"_index":1552,"title":{},"name":{},"text":{"19":{}},"component":{}}],["id=kogito",{"_index":1944,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["ideal",{"_index":28,"title":{},"name":{},"text":{"1":{}},"component":{}}],["identifi",{"_index":822,"title":{},"name":{},"text":{"6":{},"10":{},"14":{},"15":{},"16":{},"17":{},"19":{},"22":{},"30":{},"31":{},"35":{},"40":{},"41":{},"46":{},"50":{},"72":{}},"component":{}}],["ifnotpres",{"_index":3055,"title":{},"name":{},"text":{"57":{}},"component":{}}],["ignor",{"_index":1511,"title":{},"name":{},"text":{"18":{}},"component":{}}],["illegalargumentexcept",{"_index":889,"title":{},"name":{},"text":{"6":{},"10":{},"22":{}},"component":{}}],["illegalargumentexception(",{"_index":1464,"title":{},"name":{},"text":{"16":{}},"component":{}}],["illegalargumentexception(\"odd",{"_index":698,"title":{},"name":{},"text":{"6":{}},"component":{}}],["illustr",{"_index":1123,"title":{},"name":{},"text":{"10":{},"17":{},"34":{}},"component":{}}],["imag",{"_index":202,"title":{"54":{},"54-3":{},"54-4":{}},"name":{"54":{},"55":{}},"text":{"2":{},"3":{},"5":{},"12":{},"17":{},"19":{},"23":{},"35":{},"36":{},"40":{},"43":{},"47":{},"48":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["image.build",{"_index":2911,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.build=tru",{"_index":2913,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.group",{"_index":2916,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.group=kiegroup",{"_index":3043,"title":{},"name":{},"text":{"56":{}},"component":{}}],["image.group=kogito",{"_index":2920,"title":{},"name":{},"text":{"54":{},"57":{},"58":{}},"component":{}}],["image.nam",{"_index":2919,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.name=serverless",{"_index":2921,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.push",{"_index":2925,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.push=fals",{"_index":3067,"title":{},"name":{},"text":{"57":{}},"component":{}}],["image.push=tru",{"_index":2926,"title":{},"name":{},"text":{"54":{},"56":{},"58":{}},"component":{}}],["image.registri",{"_index":2915,"title":{},"name":{},"text":{"54":{}},"component":{}}],["image.registry=dev.loc",{"_index":3068,"title":{},"name":{},"text":{"57":{}},"component":{}}],["image.registry=imag",{"_index":3093,"title":{},"name":{},"text":{"58":{}},"component":{}}],["image.registry=quay.io",{"_index":2923,"title":{},"name":{},"text":{"54":{},"56":{}},"component":{}}],["image.registry=some_of_the_values_abov",{"_index":3053,"title":{},"name":{},"text":{"57":{}},"component":{}}],["image.tag=1.0",{"_index":2922,"title":{},"name":{},"text":{"54":{},"56":{},"57":{},"58":{}},"component":{}}],["image=[nam",{"_index":2549,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=[name]:[tag",{"_index":2550,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=[registry]/[repository]/[nam",{"_index":2553,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=[registry]/[repository]/[name]:[tag",{"_index":2554,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=[repository]/[nam",{"_index":2551,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=[repository]/[name]:[tag",{"_index":2552,"title":{},"name":{},"text":{"43":{}},"component":{}}],["image=dev.local/kogito/serverless",{"_index":3065,"title":{},"name":{},"text":{"57":{}},"component":{}}],["image=imag",{"_index":3091,"title":{},"name":{},"text":{"58":{}},"component":{}}],["image=quay.io/kiegroup/serverless",{"_index":2982,"title":{},"name":{},"text":{"56":{}},"component":{}}],["imagepullpolici",{"_index":3041,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["imaginari",{"_index":1075,"title":{},"name":{},"text":{"9":{}},"component":{}}],["immedi",{"_index":1438,"title":{},"name":{},"text":{"16":{},"17":{},"40":{}},"component":{}}],["immut",{"_index":395,"title":{"49-2":{}},"name":{},"text":{"2":{},"49":{},"50":{},"53":{}},"component":{}}],["impact",{"_index":2815,"title":{},"name":{},"text":{"50":{}},"component":{}}],["implement",{"_index":72,"title":{"59-5":{}},"name":{},"text":{"1":{},"2":{},"6":{},"8":{},"10":{},"12":{},"17":{},"18":{},"31":{},"32":{},"34":{},"36":{},"42":{},"46":{},"48":{},"50":{},"52":{},"53":{},"65":{},"66":{}},"component":{}}],["import",{"_index":868,"title":{"66-3":{}},"name":{},"text":{"6":{},"7":{},"31":{},"36":{},"37":{},"42":{},"48":{},"49":{},"53":{},"58":{},"66":{}},"component":{}}],["improv",{"_index":274,"title":{},"name":{},"text":{"2":{}},"component":{}}],["inact",{"_index":1142,"title":{},"name":{},"text":{"11":{},"36":{}},"component":{}}],["includ",{"_index":174,"title":{},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"9":{},"10":{},"11":{},"12":{},"13":{},"15":{},"16":{},"17":{},"19":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"40":{},"41":{},"46":{},"50":{},"52":{},"64":{},"65":{},"68":{},"72":{}},"component":{}}],["incom",{"_index":224,"title":{},"name":{},"text":{"2":{},"5":{},"12":{},"13":{},"14":{},"17":{},"41":{}},"component":{}}],["incoming(\"in",{"_index":1466,"title":{},"name":{},"text":{"16":{}},"component":{}}],["incoming/outgo",{"_index":2884,"title":{},"name":{},"text":{"52":{}},"component":{}}],["incomplet",{"_index":1614,"title":{},"name":{},"text":{"19":{}},"component":{}}],["incorpor",{"_index":222,"title":{},"name":{},"text":{"2":{}},"component":{}}],["increas",{"_index":2844,"title":{},"name":{},"text":{"51":{}},"component":{}}],["independ",{"_index":1387,"title":{},"name":{},"text":{"14":{},"42":{},"47":{}},"component":{}}],["index",{"_index":20,"title":{"25-3":{}},"name":{"1":{},"3":{}},"text":{"2":{},"5":{},"19":{},"25":{},"36":{}},"component":{}}],["index.html",{"_index":3178,"title":{},"name":{},"text":{"65":{}},"component":{}}],["index.proto",{"_index":1636,"title":{},"name":{},"text":{"19":{}},"component":{}}],["indic",{"_index":605,"title":{},"name":{},"text":{"5":{},"6":{},"9":{},"11":{},"12":{},"13":{},"15":{},"16":{},"17":{},"22":{},"23":{},"31":{},"32":{},"46":{},"47":{},"61":{},"64":{},"65":{}},"component":{}}],["individu",{"_index":1950,"title":{},"name":{},"text":{"30":{}},"component":{}}],["infinispan",{"_index":564,"title":{},"name":{},"text":{"5":{}},"component":{}}],["info",{"_index":669,"title":{},"name":{},"text":{"6":{},"19":{},"30":{},"31":{},"32":{},"35":{},"37":{},"46":{},"53":{},"54":{}},"component":{}}],["info.titl",{"_index":2105,"title":{},"name":{},"text":{"32":{}},"component":{}}],["inform",{"_index":646,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["infrastructur",{"_index":1009,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["ingress",{"_index":2990,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["ingresses.v1.networking.k8s.io",{"_index":3118,"title":{},"name":{},"text":{"59":{}},"component":{}}],["inherit",{"_index":832,"title":{},"name":{},"text":{"6":{}},"component":{}}],["init",{"_index":909,"title":{},"name":{},"text":{"6":{},"37":{}},"component":{}}],["initi",{"_index":181,"title":{},"name":{},"text":{"2":{},"9":{},"16":{},"17":{},"28":{},"36":{},"46":{},"48":{},"56":{},"57":{},"58":{}},"component":{}}],["initialdelaysecond",{"_index":3032,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["inject",{"_index":906,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"12":{},"18":{},"19":{},"31":{},"35":{},"50":{},"52":{}},"component":{}}],["inmemori",{"_index":377,"title":{},"name":{},"text":{"2":{},"19":{},"36":{}},"component":{}}],["input",{"_index":88,"title":{"7":{}},"name":{"7":{}},"text":{"1":{},"2":{},"6":{},"7":{},"8":{},"9":{},"10":{},"13":{},"16":{},"19":{},"31":{},"63":{}},"component":{}}],["insecur",{"_index":2840,"title":{},"name":{},"text":{"51":{}},"component":{}}],["insecureskipverifi",{"_index":3204,"title":{},"name":{},"text":{"67":{}},"component":{}}],["insensit",{"_index":1113,"title":{},"name":{},"text":{"10":{}},"component":{}}],["insertlog",{"_index":432,"title":{},"name":{},"text":{"2":{}},"component":{}}],["insid",{"_index":729,"title":{},"name":{},"text":{"6":{},"9":{},"50":{},"52":{}},"component":{}}],["inspector",{"_index":2269,"title":{},"name":{},"text":{"35":{}},"component":{}}],["instal",{"_index":97,"title":{"51":{},"43-1":{},"51-2":{},"57-1":{},"58-1":{},"62-1":{},"70-1":{},"72-1":{}},"name":{"51":{}},"text":{"1":{},"3":{},"12":{},"19":{},"23":{},"24":{},"27":{},"31":{},"35":{},"37":{},"40":{},"42":{},"43":{},"47":{},"48":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"62":{},"67":{},"70":{},"72":{}},"component":{}}],["instanc",{"_index":63,"title":{"64":{},"47-8":{},"51-1":{},"63-2":{},"63-3":{},"63-6":{},"64-1":{},"64-2":{},"67-2":{}},"name":{"64":{}},"text":{"1":{},"5":{},"6":{},"8":{},"9":{},"10":{},"14":{},"15":{},"16":{},"17":{},"18":{},"20":{},"24":{},"25":{},"27":{},"31":{},"34":{},"36":{},"40":{},"41":{},"42":{},"47":{},"50":{},"51":{},"53":{},"62":{},"63":{},"64":{},"65":{},"67":{},"69":{}},"component":{}}],["instead",{"_index":375,"title":{},"name":{},"text":{"2":{},"6":{},"9":{},"10":{},"11":{},"18":{},"30":{},"31":{},"35":{},"36":{},"43":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"64":{}},"component":{}}],["instruct",{"_index":1669,"title":{},"name":{},"text":{"19":{},"27":{},"42":{},"43":{},"54":{},"58":{},"59":{}},"component":{}}],["int",{"_index":613,"title":{},"name":{},"text":{"5":{},"6":{}},"component":{}}],["int32",{"_index":923,"title":{},"name":{},"text":{"7":{}},"component":{}}],["int64",{"_index":2286,"title":{},"name":{},"text":{"35":{}},"component":{}}],["integ",{"_index":691,"title":{},"name":{},"text":{"6":{},"7":{},"10":{},"22":{},"35":{}},"component":{}}],["integer)iter.next",{"_index":894,"title":{},"name":{},"text":{"6":{}},"component":{}}],["integr",{"_index":12,"title":{"22":{},"40":{},"66":{},"67":{},"69":{},"1-10":{},"52-6":{}},"name":{"21":{},"22":{},"37":{},"40":{},"66":{},"67":{},"69":{}},"text":{"1":{},"2":{},"3":{},"6":{},"22":{},"25":{},"27":{},"28":{},"34":{},"36":{},"37":{},"40":{},"41":{},"42":{},"52":{},"53":{},"62":{},"65":{},"66":{},"67":{},"68":{},"69":{}},"component":{}}],["intend",{"_index":850,"title":{},"name":{},"text":{"6":{}},"component":{}}],["interact",{"_index":851,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"12":{},"13":{},"31":{},"40":{},"41":{},"46":{},"47":{}},"component":{}}],["interceptor",{"_index":3126,"title":{},"name":{},"text":{"59":{}},"component":{}}],["interfac",{"_index":268,"title":{},"name":{},"text":{"2":{},"6":{},"23":{},"25":{},"35":{},"42":{},"50":{},"53":{},"54":{},"56":{},"57":{},"58":{},"62":{},"67":{},"68":{}},"component":{}}],["intermedi",{"_index":2082,"title":{},"name":{},"text":{"31":{}},"component":{}}],["intermit",{"_index":291,"title":{},"name":{},"text":{"2":{}},"component":{}}],["intern",{"_index":52,"title":{},"name":{},"text":{"1":{},"14":{},"24":{},"25":{},"34":{},"35":{},"41":{},"46":{},"48":{},"52":{},"53":{},"58":{}},"component":{}}],["internalexecut",{"_index":845,"title":{},"name":{},"text":{"6":{}},"component":{}}],["internalexecute(kogitoworkitem",{"_index":883,"title":{},"name":{},"text":{"6":{}},"component":{}}],["interpol",{"_index":675,"title":{},"name":{},"text":{"6":{}},"component":{}}],["interpret",{"_index":544,"title":{},"name":{},"text":{"3":{}},"component":{}}],["interrupt",{"_index":954,"title":{},"name":{},"text":{"8":{}},"component":{}}],["interruptedexcept",{"_index":2432,"title":{},"name":{},"text":{"41":{}},"component":{}}],["interv",{"_index":1725,"title":{},"name":{},"text":{"24":{}},"component":{}}],["introduc",{"_index":1300,"title":{},"name":{},"text":{"13":{},"46":{}},"component":{}}],["introduct",{"_index":2775,"title":{"50-1":{}},"name":{},"text":{},"component":{}}],["invalid",{"_index":236,"title":{},"name":{},"text":{"2":{},"31":{},"50":{}},"component":{}}],["invoc",{"_index":40,"title":{},"name":{},"text":{"1":{},"9":{},"10":{},"16":{},"18":{},"30":{},"31":{},"33":{},"35":{}},"component":{}}],["invok",{"_index":154,"title":{"23":{}},"name":{},"text":{"1":{},"6":{},"9":{},"10":{},"17":{},"19":{},"23":{},"30":{},"32":{},"33":{},"34":{},"35":{},"46":{},"54":{}},"component":{}}],["invokefunct",{"_index":783,"title":{},"name":{},"text":{"6":{}},"component":{}}],["io",{"_index":469,"title":{},"name":{},"text":{"2":{},"6":{}},"component":{}}],["io.qua.run.con.configrecord",{"_index":1631,"title":{},"name":{},"text":{"19":{}},"component":{}}],["io.quarku",{"_index":1266,"title":{},"name":{},"text":{"12":{},"13":{},"19":{},"27":{},"30":{},"37":{},"40":{},"41":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["io.quarkus.deployment.quarkusaugmentor",{"_index":2386,"title":{},"name":{},"text":{"37":{}},"component":{}}],["io.quarkus.platform:quarku",{"_index":1540,"title":{},"name":{},"text":{"19":{}},"component":{}}],["io.quarkus.test.common.quarkustestresourc",{"_index":2511,"title":{},"name":{},"text":{"42":{}},"component":{}}],["io.quarkus.test.common.quarkustestresourcelifecyclemanag",{"_index":2494,"title":{},"name":{},"text":{"42":{}},"component":{}}],["io.quarkus.test.junit.quarkustest",{"_index":2329,"title":{},"name":{},"text":{"37":{},"42":{}},"component":{}}],["io.quarkus:quarku",{"_index":3010,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["io.rest",{"_index":2325,"title":{},"name":{},"text":{"37":{},"40":{},"41":{}},"component":{}}],["io.restassured.http.contenttyp",{"_index":2331,"title":{},"name":{},"text":{"37":{}},"component":{}}],["io.restassured.restassur",{"_index":2330,"title":{},"name":{},"text":{"37":{}},"component":{}}],["io.restassured.restassured.given",{"_index":2334,"title":{},"name":{},"text":{"37":{}},"component":{}}],["io.zon.tes.db.pos.emb.defaultpostgresbinaryresolv",{"_index":1605,"title":{},"name":{},"text":{"19":{}},"component":{}}],["io.zon.tes.db.pos.emb.embeddedpostgr",{"_index":1600,"title":{},"name":{},"text":{"19":{}},"component":{}}],["ioexcept",{"_index":896,"title":{},"name":{},"text":{"6":{},"42":{}},"component":{}}],["ip",{"_index":2747,"title":{},"name":{},"text":{"48":{},"56":{}},"component":{}}],["iseven",{"_index":1124,"title":{},"name":{},"text":{"10":{}},"component":{}}],["iso",{"_index":934,"title":{},"name":{},"text":{"8":{}},"component":{}}],["isol",{"_index":2470,"title":{},"name":{},"text":{"42":{}},"component":{}}],["issu",{"_index":546,"title":{"52":{},"5-1":{},"6-22":{},"7-2":{},"8-10":{},"9-5":{},"10-4":{},"11-5":{},"12-7":{},"13-5":{},"14-3":{},"15-3":{},"16-3":{},"17-4":{},"18-13":{},"19-7":{},"20-1":{},"22-6":{},"23-3":{},"24-6":{},"25-5":{},"27-3":{},"28-9":{},"30-8":{},"31-5":{},"32-10":{},"33-3":{},"34-7":{},"35-7":{},"36-9":{},"37-2":{},"40-4":{},"41-5":{},"42-5":{},"43-7":{},"46-5":{},"47-12":{},"48-8":{},"49-4":{},"50-12":{},"51-5":{},"53-5":{},"54-6":{},"56-6":{},"57-6":{},"58-7":{},"59-7":{},"61-6":{},"62-2":{},"63-8":{},"64-3":{},"65-3":{},"66-4":{},"67-3":{},"68-3":{},"69-3":{},"70-3":{},"71-3":{},"72-7":{}},"name":{"52":{}},"text":{"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["issues#292",{"_index":506,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#293",{"_index":504,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#294",{"_index":502,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#295",{"_index":499,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#296",{"_index":497,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#299",{"_index":492,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#300",{"_index":489,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#303",{"_index":485,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#304",{"_index":481,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#313",{"_index":478,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#330",{"_index":471,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#333",{"_index":463,"title":{},"name":{},"text":{"2":{}},"component":{}}],["issues#341",{"_index":460,"title":{},"name":{},"text":{"2":{}},"component":{}}],["istio",{"_index":3075,"title":{},"name":{},"text":{"58":{}},"component":{}}],["item",{"_index":829,"title":{},"name":{},"text":{"6":{},"15":{},"46":{},"72":{}},"component":{}}],["iter",{"_index":538,"title":{},"name":{},"text":{"3":{},"6":{},"50":{}},"component":{}}],["it’",{"_index":521,"title":{},"name":{},"text":{"3":{},"6":{},"47":{},"49":{},"50":{}},"component":{}}],["jackson",{"_index":592,"title":{},"name":{},"text":{"5":{},"19":{},"37":{}},"component":{}}],["jackson,quarku",{"_index":1545,"title":{},"name":{},"text":{"19":{}},"component":{}}],["jackson’",{"_index":701,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["jan",{"_index":2244,"title":{},"name":{},"text":{"34":{}},"component":{}}],["jane",{"_index":2806,"title":{},"name":{},"text":{"50":{}},"component":{}}],["jar",{"_index":1563,"title":{},"name":{},"text":{"19":{},"31":{},"32":{},"37":{},"40":{},"59":{}},"component":{}}],["java",{"_index":525,"title":{"6-2":{}},"name":{},"text":{"3":{},"6":{},"10":{},"16":{},"17":{},"18":{},"19":{},"22":{},"27":{},"31":{},"32":{},"35":{},"37":{},"43":{},"46":{},"59":{}},"component":{}}],["java.io.ioexcept",{"_index":2495,"title":{},"name":{},"text":{"42":{}},"component":{}}],["java.io.uncheckedioexcept",{"_index":2496,"title":{},"name":{},"text":{"42":{}},"component":{}}],["java.lang.except",{"_index":1989,"title":{},"name":{},"text":{"31":{}},"component":{}}],["java.lang.illegalstateexcept",{"_index":1106,"title":{},"name":{},"text":{"10":{}},"component":{}}],["java.lang.runtimeexcept",{"_index":1105,"title":{},"name":{},"text":{"10":{}},"component":{}}],["java.util.map",{"_index":2497,"title":{},"name":{},"text":{"42":{}},"component":{}}],["java_hom",{"_index":1523,"title":{},"name":{},"text":{"19":{}},"component":{}}],["javax.enterprise.context.applicationscop",{"_index":2007,"title":{},"name":{},"text":{"31":{}},"component":{}}],["javi",{"_index":2234,"title":{},"name":{},"text":{"34":{}},"component":{}}],["javierito",{"_index":2190,"title":{},"name":{},"text":{"33":{},"34":{}},"component":{}}],["javierito\\nhello",{"_index":2248,"title":{},"name":{},"text":{"34":{}},"component":{}}],["jboss",{"_index":2355,"title":{},"name":{},"text":{"37":{}},"component":{}}],["jdbc",{"_index":561,"title":{},"name":{},"text":{"5":{},"14":{},"19":{},"27":{},"28":{},"40":{}},"component":{}}],["jdk17",{"_index":459,"title":{},"name":{},"text":{"2":{}},"component":{}}],["jib",{"_index":1265,"title":{},"name":{},"text":{"12":{},"43":{},"54":{}},"component":{}}],["job",{"_index":160,"title":{"36":{},"36-1":{},"36-2":{},"36-5":{},"36-6":{},"47-6":{}},"name":{"36":{}},"text":{"1":{},"2":{},"8":{},"36":{},"47":{}},"component":{}}],["job_nam",{"_index":1734,"title":{},"name":{},"text":{"24":{}},"component":{}}],["jobs_service_persist",{"_index":2311,"title":{},"name":{},"text":{"36":{}},"component":{}}],["john",{"_index":2227,"title":{},"name":{},"text":{"34":{},"37":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["john\"},{\"message\":\"saludo",{"_index":2241,"title":{},"name":{},"text":{"34":{}},"component":{}}],["john\\nhello",{"_index":2249,"title":{},"name":{},"text":{"34":{}},"component":{}}],["jpi",{"_index":2077,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jq",{"_index":77,"title":{"9":{},"9-1":{},"9-2":{},"9-3":{}},"name":{"9":{}},"text":{"1":{},"6":{},"9":{},"18":{},"19":{},"22":{},"35":{},"37":{},"50":{},"52":{}},"component":{}}],["jre8",{"_index":2420,"title":{},"name":{},"text":{"41":{},"42":{}},"component":{}}],["js",{"_index":495,"title":{},"name":{},"text":{"2":{}},"component":{}}],["json",{"_index":94,"title":{"6-15":{}},"name":{},"text":{"1":{},"2":{},"6":{},"7":{},"9":{},"10":{},"19":{},"22":{},"25":{},"31":{},"34":{},"37":{},"42":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{},"63":{},"64":{},"68":{},"71":{},"72":{}},"component":{}}],["json5",{"_index":482,"title":{},"name":{},"text":{"2":{}},"component":{}}],["jsonata",{"_index":1770,"title":{},"name":{},"text":{"25":{}},"component":{}}],["jsoncloudeventdata",{"_index":1471,"title":{},"name":{},"text":{"16":{}},"component":{}}],["jsongreet",{"_index":1751,"title":{},"name":{},"text":{"24":{}},"component":{}}],["jsonnod",{"_index":702,"title":{},"name":{},"text":{"6":{},"22":{},"42":{}},"component":{}}],["jsonp",{"_index":2541,"title":{},"name":{},"text":{"43":{}},"component":{}}],["jsonp,quarku",{"_index":1551,"title":{},"name":{},"text":{"19":{},"43":{}},"component":{}}],["jsonpath",{"_index":1025,"title":{},"name":{},"text":{"9":{},"18":{},"52":{}},"component":{}}],["jsonpath=\"{.spec.template.spec.containers[?(@.name=='manager')].imag",{"_index":2866,"title":{},"name":{},"text":{"51":{}},"component":{}}],["jsonpath='{..namespac",{"_index":2977,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["jsonpath={.status.condit",{"_index":2819,"title":{},"name":{},"text":{"50":{}},"component":{}}],["jsonprocessingexcept",{"_index":1462,"title":{},"name":{},"text":{"16":{},"17":{},"41":{}},"component":{}}],["jta",{"_index":1655,"title":{},"name":{},"text":{"19":{}},"component":{}}],["junit5",{"_index":2392,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["jvm",{"_index":359,"title":{},"name":{},"text":{"2":{},"19":{},"37":{},"40":{},"41":{},"54":{}},"component":{}}],["k",{"_index":1675,"title":{},"name":{"21":{}},"text":{},"component":{}}],["k8",{"_index":195,"title":{},"name":{},"text":{"2":{},"24":{},"50":{}},"component":{}}],["k_sink",{"_index":383,"title":{},"name":{},"text":{"2":{},"8":{},"12":{}},"component":{}}],["k_sink:http://localhost:9090",{"_index":1211,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kafka",{"_index":120,"title":{"13":{}},"name":{"13":{}},"text":{"1":{},"2":{},"5":{},"12":{},"13":{},"15":{},"16":{},"33":{}},"component":{}}],["kaoto",{"_index":1678,"title":{},"name":{},"text":{"22":{}},"component":{}}],["kebab",{"_index":3165,"title":{},"name":{},"text":{"64":{}},"component":{}}],["keep",{"_index":2604,"title":{},"name":{},"text":{"46":{}},"component":{}}],["key",{"_index":594,"title":{"30-4":{},"63-5":{}},"name":{},"text":{"5":{},"6":{},"25":{},"30":{},"32":{},"34":{},"35":{},"49":{},"63":{},"64":{},"72":{}},"component":{}}],["key/valu",{"_index":751,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["key1",{"_index":747,"title":{},"name":{},"text":{"6":{}},"component":{}}],["key2",{"_index":749,"title":{},"name":{},"text":{"6":{}},"component":{}}],["key=my_key",{"_index":1922,"title":{},"name":{},"text":{"30":{}},"component":{}}],["keycloak",{"_index":1974,"title":{},"name":{},"text":{"31":{}},"component":{}}],["keyword",{"_index":681,"title":{},"name":{},"text":{"6":{}},"component":{}}],["kgto",{"_index":2154,"title":{},"name":{},"text":{"32":{}},"component":{}}],["kie",{"_index":456,"title":{},"name":{},"text":{"2":{},"43":{},"70":{},"72":{}},"component":{}}],["kind",{"_index":401,"title":{},"name":{},"text":{"2":{},"12":{},"24":{},"28":{},"36":{},"49":{},"50":{},"51":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["kind=postgresql",{"_index":1830,"title":{},"name":{},"text":{"27":{},"28":{}},"component":{}}],["kn",{"_index":762,"title":{},"name":{"43":{}},"text":{"6":{},"12":{},"19":{},"23":{},"43":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["knativ",{"_index":103,"title":{"12":{},"23":{},"43":{},"6-11":{},"12-1":{},"12-2":{},"12-4":{},"12-5":{},"36-7":{},"43-1":{},"43-2":{},"43-3":{},"43-5":{},"52-6":{},"56-1":{},"56-3":{},"57-1":{},"57-3":{},"58-4":{}},"name":{"12":{},"23":{},"60":{}},"text":{"1":{},"2":{},"6":{},"8":{},"12":{},"13":{},"15":{},"16":{},"17":{},"19":{},"20":{},"23":{},"33":{},"35":{},"36":{},"41":{},"43":{},"47":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["knative.json",{"_index":3016,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["knative.yml",{"_index":1271,"title":{},"name":{},"text":{"12":{},"43":{},"56":{},"57":{},"58":{}},"component":{}}],["knative/kubernet",{"_index":2883,"title":{},"name":{},"text":{"52":{}},"component":{}}],["knative:services.v1.serving.knative.dev/custom",{"_index":772,"title":{},"name":{},"text":{"6":{},"23":{}},"component":{}}],["knative:services.v1.serving.knative.dev/my_different_namespace/custom",{"_index":778,"title":{},"name":{},"text":{"6":{}},"component":{}}],["know",{"_index":862,"title":{},"name":{},"text":{"6":{},"50":{}},"component":{}}],["known",{"_index":545,"title":{"52":{}},"name":{"52":{}},"text":{"3":{},"34":{},"36":{},"46":{},"48":{},"49":{},"50":{},"51":{},"53":{},"59":{},"67":{}},"component":{}}],["ko.loc",{"_index":3052,"title":{},"name":{},"text":{"57":{}},"component":{}}],["kogito",{"_index":16,"title":{"1":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"16":{},"17":{},"20":{},"23":{},"28":{},"30":{},"31":{},"40":{},"43":{},"46":{},"47":{},"51":{},"52":{},"57":{},"58":{},"59":{},"61":{},"62":{},"64":{},"65":{},"66":{},"67":{},"6-6":{},"22-1":{},"22-2":{},"24-1":{},"24-2":{},"24-5":{},"43-1":{},"48-4":{},"51-2":{},"59-3":{},"62-1":{},"65-1":{}},"name":{},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"67":{},"68":{}},"component":{}}],["kogito.addon.kn",{"_index":814,"title":{},"name":{},"text":{"6":{}},"component":{}}],["kogito.addon.messaging.emitter..buff",{"_index":1338,"title":{},"name":{},"text":{"13":{}},"component":{}}],["kogito.addon.messaging.emitter..overflow",{"_index":1333,"title":{},"name":{},"text":{"13":{}},"component":{}}],["kogito.addon.messaging.emitter.overflow",{"_index":1346,"title":{},"name":{},"text":{"13":{}},"component":{}}],["kogito.addon.messaging.emitter.wait.buff",{"_index":1342,"title":{},"name":{},"text":{"13":{}},"component":{}}],["kogito.addon.messaging.emitter.wait.overflow",{"_index":1340,"title":{},"name":{},"text":{"13":{}},"component":{}}],["kogito.addon.messaging.incoming.defaultnam",{"_index":584,"title":{},"name":{},"text":{"5":{},"13":{}},"component":{}}],["kogito.addon.messaging.outgoing.defaultnam",{"_index":587,"title":{},"name":{},"text":{"5":{},"13":{}},"component":{}}],["kogito.grpc.enum.includedefault",{"_index":604,"title":{},"name":{},"text":{"5":{},"34":{}},"component":{}}],["kogito.grpc.stream.timeout",{"_index":608,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.jackson.fail",{"_index":590,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.loanbroker.aggregated.quotes.respons",{"_index":1282,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kogito.messaging.a",{"_index":582,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.persistence.optimistic.lock",{"_index":570,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["kogito.persistence.optimistic.lock=tru",{"_index":1839,"title":{},"name":{},"text":{"27":{}},"component":{}}],["kogito.persistence.query.timeout.milli",{"_index":566,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["kogito.persistence.typ",{"_index":559,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["kogito.persistence.type=jdbc",{"_index":1828,"title":{},"name":{},"text":{"27":{}},"component":{}}],["kogito.quarkus.events.threads.pools",{"_index":615,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.quarkus.events.threads.queues",{"_index":620,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.serverless.loanbroker.aggregated.quotes.respons",{"_index":1259,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kogito.service.url",{"_index":579,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.sw.operationidstrategi",{"_index":593,"title":{},"name":{},"text":{"5":{},"32":{}},"component":{}}],["kogito.sw.request.quot",{"_index":1280,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kogito.sw.states.foreach.outputvarnam",{"_index":600,"title":{},"name":{},"text":{"5":{}},"component":{}}],["kogito.swf.serviceregistri",{"_index":3239,"title":{},"name":{},"text":{"72":{}},"component":{}}],["kogito.swf.stunner.enabled(default",{"_index":3161,"title":{},"name":{},"text":{"64":{}},"component":{}}],["kogito.workflow.vers",{"_index":576,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["kogito.yaml",{"_index":323,"title":{},"name":{},"text":{"2":{}},"component":{}}],["kogito.yml",{"_index":1272,"title":{},"name":{},"text":{"12":{},"43":{}},"component":{}}],["kogito/serverless/loanbroker/aggreg",{"_index":1283,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kogito_incoming_stream",{"_index":586,"title":{},"name":{},"text":{"5":{},"13":{}},"component":{}}],["kogito_outgoing_stream",{"_index":589,"title":{},"name":{},"text":{"5":{},"13":{}},"component":{}}],["kogito_process_instance_completed_tot",{"_index":1743,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["kogito_process_instance_completed_total{app_id=\"default",{"_index":1754,"title":{},"name":{},"text":{"24":{}},"component":{}}],["kogito_process_instance_duration_seconds_sum",{"_index":1746,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["kogito_process_instance_running_tot",{"_index":1745,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["kogito_process_instance_started_tot",{"_index":1744,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["kogito_version_redhat",{"_index":3166,"title":{},"name":{},"text":{"64":{}},"component":{}}],["kogitobusinesskey",{"_index":3153,"title":{},"name":{},"text":{"63":{}},"component":{}}],["kogitoprocesscontext",{"_index":212,"title":{},"name":{},"text":{"2":{},"6":{}},"component":{}}],["kogitoprocid",{"_index":1403,"title":{},"name":{},"text":{"14":{}},"component":{}}],["kogitoprocinstanceid",{"_index":1397,"title":{},"name":{},"text":{"14":{},"16":{},"17":{}},"component":{}}],["kogitoprocrefid",{"_index":1430,"title":{},"name":{},"text":{"15":{},"16":{},"17":{},"64":{}},"component":{}}],["kogitoproctyp",{"_index":1406,"title":{},"name":{},"text":{"14":{}},"component":{}}],["kogitoprocvers",{"_index":1404,"title":{},"name":{},"text":{"14":{}},"component":{}}],["kogitoserverlessbuild",{"_index":2864,"title":{},"name":{},"text":{"51":{},"53":{}},"component":{}}],["kogitoserverlessbuilds.sw.kogito.kie.org",{"_index":2860,"title":{},"name":{},"text":{"51":{}},"component":{}}],["kogitoserverlessplatform",{"_index":2739,"title":{},"name":{},"text":{"48":{},"51":{},"53":{}},"component":{}}],["kogitoserverlessplatforms.sw.kogito.kie.org",{"_index":2862,"title":{},"name":{},"text":{"51":{}},"component":{}}],["kogitoserverlessworkflow",{"_index":2752,"title":{},"name":{},"text":{"48":{},"49":{},"50":{},"53":{}},"component":{}}],["kogitoserverlessworkflows.sw.kogito.kie.org",{"_index":2863,"title":{},"name":{},"text":{"51":{}},"component":{}}],["kogitousertaskist",{"_index":1405,"title":{},"name":{},"text":{"14":{}},"component":{}}],["kogitoworkitemhandl",{"_index":879,"title":{},"name":{},"text":{"6":{}},"component":{}}],["kourier",{"_index":2970,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["ksw",{"_index":179,"title":{},"name":{},"text":{"2":{}},"component":{}}],["kube",{"_index":2750,"title":{},"name":{},"text":{"48":{}},"component":{}}],["kubectl",{"_index":1275,"title":{},"name":{},"text":{"12":{},"23":{},"43":{},"47":{},"48":{},"49":{},"50":{},"51":{},"56":{},"57":{}},"component":{}}],["kubectl=\"minikub",{"_index":3047,"title":{},"name":{},"text":{"57":{}},"component":{}}],["kubernet",{"_index":148,"title":{"56":{},"59":{},"3-1":{},"3-2":{},"56-1":{},"56-2":{},"56-4":{},"57-4":{},"59-1":{},"59-2":{},"59-3":{},"59-4":{}},"name":{"56":{},"59":{}},"text":{"1":{},"3":{},"12":{},"23":{},"24":{},"32":{},"35":{},"36":{},"41":{},"43":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"67":{}},"component":{}}],["kubernetes,quarku",{"_index":1264,"title":{},"name":{},"text":{"12":{}},"component":{}}],["kubernetes/job",{"_index":2700,"title":{},"name":{},"text":{"47":{}},"component":{}}],["kubernetes/timeout",{"_index":2695,"title":{},"name":{},"text":{"47":{}},"component":{}}],["kubernetes:2.16.7.fin",{"_index":3011,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["kubernetes:pods.v1//?labels=label",{"_index":3123,"title":{},"name":{},"text":{"59":{}},"component":{}}],["kubernetesservicecatalog",{"_index":339,"title":{},"name":{},"text":{"2":{}},"component":{}}],["kubesmart",{"_index":188,"title":{},"name":{},"text":{"2":{}},"component":{}}],["l",{"_index":2607,"title":{},"name":{},"text":{"46":{}},"component":{}}],["l[0",{"_index":1776,"title":{},"name":{},"text":{"25":{}},"component":{}}],["l[1",{"_index":1781,"title":{},"name":{},"text":{"25":{}},"component":{}}],["l[2",{"_index":1782,"title":{},"name":{},"text":{"25":{}},"component":{}}],["label",{"_index":642,"title":{},"name":{},"text":{"5":{},"24":{},"25":{},"49":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["label=anoth",{"_index":3122,"title":{},"name":{},"text":{"59":{}},"component":{}}],["label=oth",{"_index":3110,"title":{},"name":{},"text":{"59":{}},"component":{}}],["labels=label",{"_index":3107,"title":{},"name":{},"text":{"59":{}},"component":{}}],["lack",{"_index":2827,"title":{},"name":{},"text":{"50":{}},"component":{}}],["languag",{"_index":1024,"title":{},"name":{},"text":{"9":{},"10":{},"18":{},"34":{},"41":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["language\":\"czech",{"_index":2245,"title":{},"name":{},"text":{"34":{}},"component":{}}],["language\":\"english",{"_index":2243,"title":{},"name":{},"text":{"34":{}},"component":{}}],["language\":\"english\"},{\"nam",{"_index":2251,"title":{},"name":{},"text":{"34":{}},"component":{}}],["language\":\"spanish",{"_index":2242,"title":{},"name":{},"text":{"34":{}},"component":{}}],["language\":\"spanish\"},{\"nam",{"_index":2250,"title":{},"name":{},"text":{"34":{}},"component":{}}],["language=2",{"_index":2208,"title":{},"name":{},"text":{"34":{}},"component":{}}],["larg",{"_index":1350,"title":{},"name":{},"text":{"14":{}},"component":{}}],["last",{"_index":730,"title":{},"name":{},"text":{"6":{},"10":{},"53":{},"61":{},"64":{}},"component":{}}],["later",{"_index":2046,"title":{},"name":{},"text":{"31":{},"43":{},"56":{},"57":{},"58":{},"65":{},"72":{}},"component":{}}],["latest",{"_index":763,"title":{},"name":{},"text":{"6":{},"23":{},"28":{},"43":{},"47":{},"50":{},"54":{},"56":{},"57":{},"58":{},"67":{}},"component":{}}],["latter",{"_index":1144,"title":{},"name":{},"text":{"11":{}},"component":{}}],["launch",{"_index":2085,"title":{},"name":{},"text":{"31":{},"40":{}},"component":{}}],["lead",{"_index":3151,"title":{},"name":{},"text":{"63":{},"64":{}},"component":{}}],["leader",{"_index":355,"title":{"36-5":{}},"name":{},"text":{"2":{},"36":{}},"component":{}}],["learn",{"_index":64,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["leav",{"_index":2567,"title":{},"name":{},"text":{"46":{}},"component":{}}],["left",{"_index":1060,"title":{},"name":{},"text":{"9":{},"67":{}},"component":{}}],["leftel",{"_index":1057,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["legaci",{"_index":852,"title":{},"name":{},"text":{"6":{}},"component":{}}],["letsgetloud",{"_index":1426,"title":{},"name":{},"text":{"15":{}},"component":{}}],["letter",{"_index":1195,"title":{},"name":{},"text":{"11":{}},"component":{}}],["let’",{"_index":2176,"title":{},"name":{},"text":{"33":{},"58":{}},"component":{}}],["level",{"_index":667,"title":{},"name":{},"text":{"6":{}},"component":{}}],["leverag",{"_index":1666,"title":{},"name":{},"text":{"19":{},"32":{},"35":{},"56":{},"57":{},"58":{}},"component":{}}],["librari",{"_index":2318,"title":{},"name":{},"text":{"37":{}},"component":{}}],["lifetim",{"_index":2452,"title":{},"name":{},"text":{"41":{}},"component":{}}],["lightweight",{"_index":60,"title":{},"name":{},"text":{"1":{}},"component":{}}],["limit",{"_index":258,"title":{"52":{}},"name":{},"text":{"2":{},"3":{},"18":{},"48":{},"49":{},"50":{},"51":{},"53":{}},"component":{}}],["line",{"_index":1274,"title":{},"name":{},"text":{"12":{},"20":{},"23":{},"28":{},"43":{},"51":{},"54":{},"56":{},"57":{},"58":{},"62":{}},"component":{}}],["link",{"_index":1769,"title":{},"name":{},"text":{"25":{},"28":{},"40":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"67":{}},"component":{}}],["link:{spec_doc_url}#ev",{"_index":1505,"title":{},"name":{},"text":{"18":{}},"component":{}}],["linux",{"_index":1601,"title":{},"name":{},"text":{"19":{},"54":{}},"component":{}}],["list",{"_index":287,"title":{},"name":{},"text":{"2":{},"3":{},"6":{},"12":{},"13":{},"23":{},"25":{},"30":{},"32":{},"43":{},"47":{},"49":{},"50":{},"52":{},"53":{},"56":{},"57":{},"58":{},"61":{},"63":{},"64":{},"65":{},"69":{},"72":{}},"component":{}}],["listen",{"_index":634,"title":{},"name":{},"text":{"5":{},"12":{},"15":{},"16":{},"17":{},"19":{},"37":{},"41":{}},"component":{}}],["listener\",artifactid=\"kogito",{"_index":1755,"title":{},"name":{},"text":{"24":{}},"component":{}}],["liter",{"_index":1035,"title":{},"name":{},"text":{"9":{}},"component":{}}],["live",{"_index":1586,"title":{},"name":{},"text":{"19":{},"65":{}},"component":{}}],["livenessprob",{"_index":3028,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["load",{"_index":175,"title":{"72-5":{}},"name":{},"text":{"2":{},"56":{},"57":{},"58":{},"66":{},"70":{},"72":{}},"component":{}}],["loadbalanc",{"_index":3063,"title":{},"name":{},"text":{"57":{}},"component":{}}],["loader",{"_index":500,"title":{},"name":{},"text":{"2":{}},"component":{}}],["loanbrok",{"_index":1287,"title":{},"name":{},"text":{"12":{}},"component":{}}],["local",{"_index":532,"title":{"58-1":{}},"name":{},"text":{"3":{},"12":{},"19":{},"20":{},"43":{},"48":{},"57":{},"58":{},"66":{},"72":{}},"component":{}}],["local/curl",{"_index":1258,"title":{},"name":{},"text":{"12":{}},"component":{}}],["local/quarku",{"_index":3152,"title":{},"name":{},"text":{"63":{},"64":{}},"component":{}}],["localhost:5000",{"_index":2842,"title":{},"name":{},"text":{"51":{}},"component":{}}],["localhost:8080",{"_index":1739,"title":{},"name":{},"text":{"24":{},"33":{}},"component":{}}],["localhost:9092",{"_index":2178,"title":{},"name":{},"text":{"33":{}},"component":{}}],["locat",{"_index":1741,"title":{},"name":{},"text":{"24":{},"28":{},"31":{},"33":{},"34":{},"35":{},"47":{}},"component":{}}],["lock",{"_index":573,"title":{},"name":{},"text":{"5":{},"27":{},"31":{}},"component":{}}],["log",{"_index":664,"title":{},"name":{},"text":{"6":{},"19":{},"22":{},"37":{},"43":{},"46":{},"48":{},"50":{},"51":{},"53":{},"58":{},"59":{},"67":{},"72":{}},"component":{}}],["logger",{"_index":627,"title":{},"name":{},"text":{"5":{}},"component":{}}],["logger.info(\"about",{"_index":1490,"title":{},"name":{},"text":{"17":{}},"component":{}}],["logic",{"_index":105,"title":{"65":{},"66":{},"67":{},"68":{},"66-1":{},"67-2":{},"68-1":{}},"name":{"65":{},"66":{},"67":{},"68":{},"69":{}},"text":{"1":{},"6":{},"11":{},"20":{},"42":{},"65":{},"66":{},"67":{},"68":{},"69":{},"71":{}},"component":{}}],["login",{"_index":2560,"title":{},"name":{},"text":{"43":{},"48":{},"58":{},"67":{},"72":{}},"component":{}}],["loginfo",{"_index":665,"title":{},"name":{},"text":{"6":{}},"component":{}}],["logist",{"_index":2576,"title":{},"name":{},"text":{"46":{}},"component":{}}],["logrout",{"_index":1692,"title":{},"name":{},"text":{"22":{}},"component":{}}],["logroutereplacehead",{"_index":1695,"title":{},"name":{},"text":{"22":{}},"component":{}}],["long",{"_index":568,"title":{},"name":{},"text":{"5":{},"6":{},"27":{}},"component":{}}],["look",{"_index":533,"title":{},"name":{},"text":{"3":{},"6":{},"50":{},"56":{},"59":{},"63":{}},"component":{}}],["lookup",{"_index":1785,"title":{},"name":{},"text":{"25":{}},"component":{}}],["loop",{"_index":602,"title":{},"name":{},"text":{"5":{},"57":{}},"component":{}}],["lost",{"_index":1413,"title":{},"name":{},"text":{"14":{},"36":{}},"component":{}}],["m1",{"_index":3073,"title":{},"name":{},"text":{"58":{}},"component":{}}],["mac",{"_index":2524,"title":{},"name":{},"text":{"43":{},"57":{},"58":{}},"component":{}}],["machin",{"_index":2836,"title":{},"name":{},"text":{"51":{},"57":{}},"component":{}}],["maco",{"_index":3190,"title":{},"name":{},"text":{"67":{}},"component":{}}],["made",{"_index":2306,"title":{},"name":{},"text":{"36":{},"46":{}},"component":{}}],["magic",{"_index":2979,"title":{},"name":{},"text":{"56":{}},"component":{}}],["main",{"_index":366,"title":{},"name":{},"text":{"2":{},"19":{},"36":{},"37":{},"54":{},"71":{},"72":{}},"component":{}}],["major",{"_index":2869,"title":{},"name":{},"text":{"51":{}},"component":{}}],["make",{"_index":263,"title":{},"name":{},"text":{"2":{},"8":{},"17":{},"27":{},"33":{},"36":{},"47":{},"50":{},"53":{},"56":{},"58":{},"59":{},"64":{},"70":{},"71":{},"72":{}},"component":{}}],["manag",{"_index":65,"title":{},"name":{},"text":{"1":{},"2":{},"3":{},"5":{},"13":{},"16":{},"20":{},"30":{},"31":{},"36":{},"43":{},"46":{},"51":{},"52":{},"57":{},"62":{},"64":{},"69":{}},"component":{}}],["mandatori",{"_index":787,"title":{},"name":{},"text":{"6":{},"10":{},"13":{},"28":{}},"component":{}}],["mani",{"_index":353,"title":{},"name":{},"text":{"2":{},"13":{},"32":{},"53":{}},"component":{}}],["manipul",{"_index":79,"title":{},"name":{},"text":{"1":{},"18":{}},"component":{}}],["manner",{"_index":1112,"title":{},"name":{},"text":{"10":{},"36":{}},"component":{}}],["mantra",{"_index":1521,"title":{},"name":{},"text":{"19":{}},"component":{}}],["manual",{"_index":518,"title":{"12-3":{},"28-4":{}},"name":{},"text":{"3":{},"12":{},"24":{},"27":{},"28":{},"34":{},"36":{},"52":{},"56":{},"57":{},"58":{},"63":{}},"component":{}}],["map",{"_index":846,"title":{"13-2":{}},"name":{},"text":{"6":{},"10":{},"13":{},"16":{},"25":{},"30":{},"32":{},"34":{},"35":{},"41":{},"42":{},"48":{}},"component":{}}],["map.of(\"quarkus.rest",{"_index":2504,"title":{},"name":{},"text":{"42":{}},"component":{}}],["mappingbuild",{"_index":2455,"title":{},"name":{},"text":{"41":{}},"component":{}}],["marketplac",{"_index":3229,"title":{},"name":{},"text":{"72":{}},"component":{}}],["marshal",{"_index":1310,"title":{},"name":{},"text":{"13":{}},"component":{}}],["match",{"_index":841,"title":{"15-1":{}},"name":{},"text":{"6":{},"8":{},"10":{},"13":{},"14":{},"15":{},"16":{},"18":{},"24":{},"30":{},"41":{},"63":{},"72":{}},"component":{}}],["matcher",{"_index":1109,"title":{},"name":{},"text":{"10":{}},"component":{}}],["matchlabel",{"_index":1730,"title":{},"name":{},"text":{"24":{}},"component":{}}],["matter",{"_index":2160,"title":{},"name":{},"text":{"32":{},"59":{}},"component":{}}],["maven",{"_index":411,"title":{},"name":{},"text":{"2":{},"6":{},"12":{},"13":{},"19":{},"22":{},"27":{},"31":{},"34":{},"37":{},"40":{},"41":{},"43":{},"47":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["maven.hom",{"_index":2398,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["max",{"_index":1067,"title":{},"name":{},"text":{"9":{}},"component":{}}],["max.x",{"_index":1082,"title":{},"name":{},"text":{"9":{}},"component":{}}],["max_by(.x",{"_index":1068,"title":{},"name":{},"text":{"9":{}},"component":{}}],["maxact",{"_index":1080,"title":{},"name":{},"text":{"9":{}},"component":{}}],["maximum",{"_index":617,"title":{},"name":{},"text":{"5":{},"8":{},"9":{},"47":{}},"component":{}}],["mean",{"_index":704,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"11":{},"13":{},"14":{},"18":{},"27":{},"28":{},"30":{},"34":{},"37":{},"50":{},"58":{}},"component":{}}],["mechan",{"_index":820,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"14":{},"16":{},"17":{},"25":{},"28":{},"36":{},"46":{},"63":{}},"component":{}}],["memori",{"_index":1218,"title":{},"name":{},"text":{"12":{},"14":{},"36":{},"51":{}},"component":{}}],["mention",{"_index":1316,"title":{},"name":{},"text":{"13":{},"17":{},"24":{},"25":{},"27":{},"57":{},"58":{}},"component":{}}],["menu",{"_index":3170,"title":{},"name":{},"text":{"65":{},"69":{},"72":{}},"component":{}}],["merg",{"_index":715,"title":{},"name":{},"text":{"6":{},"9":{},"22":{},"31":{},"34":{},"66":{}},"component":{}}],["mermaid",{"_index":3160,"title":{},"name":{},"text":{"64":{}},"component":{}}],["messag",{"_index":239,"title":{},"name":{},"text":{"2":{},"6":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"16":{},"17":{},"19":{},"22":{},"23":{},"25":{},"33":{},"34":{},"37":{},"50":{},"53":{},"58":{},"63":{},"64":{},"65":{},"67":{},"69":{},"70":{}},"component":{}}],["message\":\"hello",{"_index":2253,"title":{},"name":{},"text":{"34":{}},"component":{}}],["message\":\"saludo",{"_index":2247,"title":{},"name":{},"text":{"34":{}},"component":{}}],["metadata",{"_index":809,"title":{},"name":{},"text":{"6":{},"12":{},"24":{},"27":{},"49":{},"50":{},"56":{},"57":{},"58":{}},"component":{}}],["metadata.get(oper",{"_index":887,"title":{},"name":{},"text":{"6":{}},"component":{}}],["metadata.getordefault(port",{"_index":891,"title":{},"name":{},"text":{"6":{}},"component":{}}],["metainform",{"_index":548,"title":{},"name":{"4":{}},"text":{},"component":{}}],["metdata",{"_index":1815,"title":{},"name":{},"text":{"25":{}},"component":{}}],["method",{"_index":49,"title":{},"name":{},"text":{"1":{},"6":{},"10":{},"16":{},"17":{},"25":{},"31":{},"34":{},"37":{},"41":{},"42":{},"43":{},"46":{},"49":{},"52":{},"63":{},"64":{},"70":{},"72":{}},"component":{}}],["metric",{"_index":158,"title":{"24":{},"24-1":{},"24-2":{},"24-3":{},"24-4":{},"24-5":{},"25-2":{}},"name":{"24":{}},"text":{"1":{},"2":{},"19":{},"22":{},"24":{},"25":{},"51":{},"65":{}},"component":{}}],["metrics_path",{"_index":1737,"title":{},"name":{},"text":{"24":{}},"component":{}}],["micoprofil",{"_index":2122,"title":{},"name":{},"text":{"32":{}},"component":{}}],["micromet",{"_index":1732,"title":{},"name":{},"text":{"24":{}},"component":{}}],["microprofil",{"_index":1903,"title":{},"name":{},"text":{"30":{},"32":{}},"component":{}}],["microservic",{"_index":2565,"title":{},"name":{},"text":{"46":{}},"component":{}}],["migrat",{"_index":142,"title":{"28":{},"28-1":{},"28-2":{},"28-3":{},"28-5":{},"28-8":{}},"name":{"28":{}},"text":{"1":{},"27":{},"28":{}},"component":{}}],["migrate=tru",{"_index":1876,"title":{},"name":{},"text":{"28":{}},"component":{}}],["migrations,s3:migrationsbucket,gcs:migrationsbucket",{"_index":1866,"title":{},"name":{},"text":{"28":{}},"component":{}}],["millisecond",{"_index":819,"title":{},"name":{},"text":{"6":{}},"component":{}}],["min",{"_index":1069,"title":{},"name":{},"text":{"9":{}},"component":{}}],["min_by(.i",{"_index":1070,"title":{},"name":{},"text":{"9":{}},"component":{}}],["mind",{"_index":520,"title":{},"name":{},"text":{"3":{}},"component":{}}],["minifi",{"_index":2976,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["minikub",{"_index":531,"title":{"57":{},"51-1":{},"57-1":{},"57-2":{}},"name":{"57":{}},"text":{"3":{},"19":{},"23":{},"47":{},"48":{},"50":{},"51":{},"52":{},"54":{},"57":{}},"component":{}}],["minikube’",{"_index":2748,"title":{},"name":{},"text":{"48":{},"57":{}},"component":{}}],["minim",{"_index":2540,"title":{},"name":{},"text":{"43":{}},"component":{}}],["minimum",{"_index":1078,"title":{},"name":{},"text":{"9":{},"11":{},"53":{}},"component":{}}],["minor",{"_index":2870,"title":{},"name":{},"text":{"51":{}},"component":{}}],["minu",{"_index":857,"title":{},"name":{},"text":{"6":{}},"component":{}}],["minut",{"_index":944,"title":{},"name":{},"text":{"8":{},"65":{}},"component":{}}],["mislead",{"_index":645,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["miss",{"_index":240,"title":{},"name":{},"text":{"2":{},"28":{}},"component":{}}],["mistak",{"_index":1882,"title":{},"name":{},"text":{"28":{}},"component":{}}],["mock",{"_index":134,"title":{"41":{},"42":{},"42-1":{}},"name":{"41":{},"42":{}},"text":{"1":{},"12":{},"37":{},"41":{},"42":{}},"component":{}}],["modal",{"_index":3171,"title":{},"name":{},"text":{"65":{},"69":{}},"component":{}}],["mode",{"_index":234,"title":{"32-6":{},"32-7":{}},"name":{},"text":{"2":{},"5":{},"11":{},"19":{},"25":{},"32":{},"40":{},"41":{},"48":{},"52":{},"64":{},"68":{},"70":{}},"component":{}}],["model",{"_index":535,"title":{"68-1":{}},"name":{},"text":{"3":{},"6":{},"9":{},"10":{},"16":{},"18":{},"34":{},"52":{},"68":{}},"component":{}}],["modif",{"_index":2829,"title":{},"name":{},"text":{"50":{}},"component":{}}],["modifi",{"_index":712,"title":{},"name":{},"text":{"6":{},"16":{},"25":{},"61":{}},"component":{}}],["modul",{"_index":185,"title":{},"name":{},"text":{"2":{},"6":{},"18":{}},"component":{}}],["moment",{"_index":1360,"title":{},"name":{},"text":{"14":{},"22":{},"33":{},"50":{},"52":{}},"component":{}}],["mongodb",{"_index":562,"title":{},"name":{},"text":{"5":{}},"component":{}}],["monitor",{"_index":304,"title":{},"name":{},"text":{"2":{},"24":{},"25":{},"64":{},"67":{}},"component":{}}],["monitor.yaml",{"_index":1722,"title":{},"name":{},"text":{"24":{}},"component":{}}],["monitoring.coreos.com/v1",{"_index":1723,"title":{},"name":{},"text":{"24":{}},"component":{}}],["more",{"_index":34,"title":{"28-8":{}},"name":{},"text":{"1":{},"2":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"72":{}},"component":{}}],["mount",{"_index":216,"title":{},"name":{},"text":{"2":{}},"component":{}}],["move",{"_index":969,"title":{},"name":{},"text":{"8":{},"9":{},"16":{},"17":{},"47":{},"66":{},"67":{}},"component":{}}],["mp.messaging.[incoming|outgo",{"_index":1305,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.emitter.default",{"_index":1345,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.incoming..path",{"_index":1231,"title":{},"name":{},"text":{"12":{}},"component":{}}],["mp.messaging.incoming.kogito_incoming_stream.connector=smallry",{"_index":1324,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.incoming.kogito_incoming_stream.path",{"_index":1230,"title":{},"name":{},"text":{"12":{}},"component":{}}],["mp.messaging.incoming.kogito_incoming_stream.topic=applic",{"_index":1325,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.incoming.kogito_incoming_stream.value.deserializer=org.apache.kafka.common.serialization.stringdeseri",{"_index":1326,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.incoming.wait.connector=quarku",{"_index":1497,"title":{},"name":{},"text":{"17":{}},"component":{}}],["mp.messaging.incoming.wait.connector=smallry",{"_index":1319,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.incoming.wait.path=/wait",{"_index":1498,"title":{},"name":{},"text":{"17":{}},"component":{}}],["mp.messaging.incoming.wait.value.deserializer=org.apache.kafka.common.serialization.stringdeseri",{"_index":1320,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.outgoing.kogito",{"_index":1017,"title":{},"name":{},"text":{"8":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.connector",{"_index":1212,"title":{},"name":{},"text":{"12":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.connector=smallry",{"_index":1327,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.topic=decis",{"_index":1328,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.url",{"_index":1210,"title":{},"name":{},"text":{"12":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.url=http://0.0.0.0:8181",{"_index":2458,"title":{},"name":{},"text":{"41":{}},"component":{}}],["mp.messaging.outgoing.kogito_outgoing_stream.value.serializer=org.apache.kafka.common.serialization.stringseri",{"_index":1329,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.outgoing.resume.connector=smallry",{"_index":1321,"title":{},"name":{},"text":{"13":{}},"component":{}}],["mp.messaging.outgoing.resume.value.serializer=org.apache.kafka.common.serialization.stringseri",{"_index":1322,"title":{},"name":{},"text":{"13":{}},"component":{}}],["multi",{"_index":184,"title":{},"name":{},"text":{"2":{}},"component":{}}],["multipl",{"_index":398,"title":{},"name":{},"text":{"2":{},"12":{},"14":{},"15":{},"35":{},"43":{},"59":{}},"component":{}}],["multipli",{"_index":858,"title":{},"name":{},"text":{"6":{},"35":{}},"component":{}}],["multiplicationoper",{"_index":2276,"title":{},"name":{},"text":{"35":{}},"component":{}}],["multiplyvalu",{"_index":2279,"title":{},"name":{},"text":{"35":{}},"component":{}}],["mvn",{"_index":360,"title":{},"name":{},"text":{"2":{},"11":{},"12":{},"19":{},"31":{},"32":{},"34":{},"37":{},"40":{},"41":{},"47":{}},"component":{}}],["mxn",{"_index":2071,"title":{},"name":{},"text":{"31":{}},"component":{}}],["my.body.data",{"_index":746,"title":{},"name":{},"text":{"6":{}},"component":{}}],["my.other.valu",{"_index":750,"title":{},"name":{},"text":{"6":{}},"component":{}}],["my.properties.key",{"_index":2769,"title":{},"name":{},"text":{"49":{}},"component":{}}],["my.valu",{"_index":748,"title":{},"name":{},"text":{"6":{}},"component":{}}],["my_different_namespac",{"_index":779,"title":{},"name":{},"text":{"6":{}},"component":{}}],["my_key",{"_index":1924,"title":{},"name":{},"text":{"30":{}},"component":{}}],["mycamelendpoint",{"_index":736,"title":{},"name":{},"text":{"6":{}},"component":{}}],["myendpoint",{"_index":740,"title":{},"name":{},"text":{"6":{}},"component":{}}],["myfunct",{"_index":678,"title":{},"name":{},"text":{"6":{},"32":{}},"component":{}}],["myheadernam",{"_index":1960,"title":{},"name":{},"text":{"30":{}},"component":{}}],["myinterfaceorclass",{"_index":693,"title":{},"name":{},"text":{"6":{}},"component":{}}],["mymethod",{"_index":686,"title":{},"name":{},"text":{"6":{}},"component":{}}],["mymethod(int",{"_index":695,"title":{},"name":{},"text":{"6":{}},"component":{}}],["mymethod(jsonnod",{"_index":708,"title":{},"name":{},"text":{"6":{}},"component":{}}],["myopenapifile.yaml",{"_index":2259,"title":{},"name":{},"text":{"35":{}},"component":{}}],["mystat",{"_index":671,"title":{},"name":{},"text":{"6":{}},"component":{}}],["myworkflow",{"_index":1513,"title":{},"name":{},"text":{"18":{},"32":{}},"component":{}}],["myworkflow_myfunct",{"_index":2104,"title":{},"name":{},"text":{"32":{}},"component":{}}],["n",{"_index":1512,"title":{},"name":{},"text":{"18":{},"43":{},"48":{},"50":{},"51":{},"56":{},"58":{}},"component":{}}],["name",{"_index":387,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["name\":\"javierito",{"_index":2192,"title":{},"name":{},"text":{"33":{}},"component":{}}],["name\":\"myfunction1",{"_index":2254,"title":{},"name":{},"text":{"35":{}},"component":{}}],["name\":\"process",{"_index":2597,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name\":\"processpay",{"_index":2580,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name\":\"processpaymentact",{"_index":2582,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name\":\"reserv",{"_index":2595,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name\":\"reservestock",{"_index":2601,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name\":\"ship",{"_index":2598,"title":{},"name":{},"text":{"46":{}},"component":{}}],["name=[http_header_nam",{"_index":1956,"title":{},"name":{},"text":{"30":{}},"component":{}}],["name=label",{"_index":3108,"title":{},"name":{},"text":{"59":{}},"component":{}}],["name=myheadernam",{"_index":1958,"title":{},"name":{},"text":{"30":{}},"component":{}}],["name=namevalue;anoth",{"_index":3121,"title":{},"name":{},"text":{"59":{}},"component":{}}],["name=test",{"_index":3124,"title":{},"name":{},"text":{"59":{}},"component":{}}],["name={port_nam",{"_index":3106,"title":{},"name":{},"text":{"59":{}},"component":{}}],["name_oper",{"_index":3251,"title":{},"name":{},"text":{"72":{}},"component":{}}],["name_vers",{"_index":3252,"title":{},"name":{},"text":{"72":{}},"component":{}}],["namespac",{"_index":655,"title":{"6-13":{},"48-2":{}},"name":{},"text":{"6":{},"12":{},"24":{},"48":{},"49":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"67":{}},"component":{}}],["namespace/project",{"_index":2918,"title":{},"name":{},"text":{"54":{}},"component":{}}],["namespace=kogito",{"_index":2731,"title":{},"name":{},"text":{"48":{}},"component":{}}],["namespace=serverless",{"_index":2975,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["nan",{"_index":1783,"title":{},"name":{},"text":{"25":{}},"component":{}}],["narayana",{"_index":1654,"title":{},"name":{},"text":{"19":{}},"component":{}}],["nativ",{"_index":22,"title":{"54-3":{}},"name":{},"text":{"1":{},"3":{},"6":{},"18":{},"40":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["natur",{"_index":1097,"title":{},"name":{},"text":{"10":{}},"component":{}}],["navig",{"_index":2049,"title":{},"name":{},"text":{"31":{},"34":{},"54":{},"61":{},"63":{},"64":{},"72":{}},"component":{}}],["necess",{"_index":2543,"title":{},"name":{},"text":{"43":{}},"component":{}}],["necessari",{"_index":1008,"title":{},"name":{},"text":{"8":{},"28":{},"35":{}},"component":{}}],["need",{"_index":338,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"8":{},"11":{},"12":{},"13":{},"16":{},"17":{},"19":{},"24":{},"25":{},"27":{},"28":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{},"66":{},"67":{},"68":{},"72":{}},"component":{}}],["nest",{"_index":2643,"title":{},"name":{},"text":{"46":{}},"component":{}}],["net",{"_index":1881,"title":{},"name":{},"text":{"28":{},"35":{},"56":{}},"component":{}}],["network",{"_index":2217,"title":{},"name":{},"text":{"34":{},"59":{}},"component":{}}],["never",{"_index":3054,"title":{},"name":{},"text":{"57":{}},"component":{}}],["new",{"_index":168,"title":{"2":{},"50-2":{},"63-2":{},"63-3":{},"63-6":{}},"name":{},"text":{"3":{},"6":{},"8":{},"14":{},"15":{},"16":{},"17":{},"19":{},"22":{},"27":{},"28":{},"31":{},"36":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"50":{},"51":{},"53":{},"58":{},"63":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["newaccountev",{"_index":1361,"title":{},"name":{},"text":{"14":{}},"component":{}}],["newaccounteventtyp",{"_index":1362,"title":{},"name":{},"text":{"14":{}},"component":{}}],["newli",{"_index":2909,"title":{},"name":{},"text":{"54":{},"56":{},"57":{},"58":{},"63":{},"64":{}},"component":{}}],["newslett",{"_index":2562,"title":{},"name":{"45":{}},"text":{},"component":{}}],["next",{"_index":962,"title":{},"name":{},"text":{"8":{},"16":{},"17":{},"19":{},"23":{},"31":{},"46":{},"47":{},"53":{},"56":{},"57":{},"58":{},"63":{},"64":{},"72":{}},"component":{}}],["nightli",{"_index":204,"title":{},"name":{},"text":{"2":{}},"component":{}}],["nightly:1.34.0",{"_index":2867,"title":{},"name":{},"text":{"51":{}},"component":{}}],["node",{"_index":714,"title":{},"name":{},"text":{"6":{},"34":{},"36":{},"64":{}},"component":{}}],["node.workname(name).metadata(oper",{"_index":877,"title":{},"name":{},"text":{"6":{}},"component":{}}],["nodeport",{"_index":2756,"title":{},"name":{},"text":{"48":{},"50":{}},"component":{}}],["noisi",{"_index":1420,"title":{},"name":{},"text":{"15":{}},"component":{}}],["noisyev",{"_index":1422,"title":{},"name":{},"text":{"15":{}},"component":{}}],["non",{"_index":827,"title":{},"name":{},"text":{"6":{},"13":{},"14":{},"30":{}},"component":{}}],["none",{"_index":1335,"title":{},"name":{},"text":{"13":{},"47":{},"72":{}},"component":{}}],["normal",{"_index":1698,"title":{},"name":{},"text":{"22":{},"32":{},"34":{},"49":{},"50":{},"53":{}},"component":{}}],["notabl",{"_index":165,"title":{"2-1":{}},"name":{},"text":{},"component":{}}],["notcareaboutnois",{"_index":1428,"title":{},"name":{},"text":{"15":{}},"component":{}}],["note",{"_index":278,"title":{},"name":{},"text":{"2":{},"6":{},"10":{},"11":{},"12":{},"13":{},"16":{},"17":{},"19":{},"25":{},"30":{},"32":{},"35":{},"49":{},"54":{},"58":{}},"component":{}}],["notic",{"_index":3087,"title":{},"name":{},"text":{"58":{}},"component":{}}],["notif",{"_index":3149,"title":{},"name":{},"text":{"63":{},"64":{},"72":{}},"component":{}}],["notifi",{"_index":1482,"title":{},"name":{},"text":{"17":{}},"component":{}}],["notus",{"_index":2273,"title":{},"name":{},"text":{"35":{}},"component":{}}],["now",{"_index":517,"title":{},"name":{},"text":{"3":{},"28":{},"48":{},"58":{}},"component":{}}],["npm",{"_index":1767,"title":{},"name":{},"text":{"25":{}},"component":{}}],["null",{"_index":888,"title":{},"name":{},"text":{"6":{},"14":{},"25":{},"31":{},"41":{},"42":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["number",{"_index":609,"title":{},"name":{},"text":{"5":{},"6":{},"9":{},"10":{},"11":{},"12":{},"25":{},"31":{},"35":{},"42":{},"62":{}},"component":{}}],["numbertyp",{"_index":1134,"title":{},"name":{},"text":{"10":{}},"component":{}}],["numcomplet",{"_index":1188,"title":{},"name":{},"text":{"11":{}},"component":{}}],["o",{"_index":2818,"title":{},"name":{},"text":{"50":{},"51":{},"56":{},"57":{}},"component":{}}],["oauth",{"_index":125,"title":{"31":{},"30-5":{},"31-1":{}},"name":{},"text":{"1":{},"30":{},"31":{}},"component":{}}],["oauth2",{"_index":127,"title":{"31-2":{}},"name":{"31":{}},"text":{"1":{},"30":{},"31":{}},"component":{}}],["oauth_exampl",{"_index":1935,"title":{},"name":{},"text":{"30":{}},"component":{}}],["object",{"_index":529,"title":{"6-15":{},"12-4":{}},"name":{},"text":{"3":{},"6":{},"7":{},"9":{},"10":{},"12":{},"22":{},"30":{},"31":{},"34":{},"35":{},"49":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"72":{}},"component":{}}],["objectmapp",{"_index":2433,"title":{},"name":{},"text":{"41":{},"42":{}},"component":{}}],["objectmapper.readtree(countryserviceworkflowtest.class.getresourceasstream(\"/country_mock_feature_a.json",{"_index":2519,"title":{},"name":{},"text":{"42":{}},"component":{}}],["objectmapper.readtree(getclass().getresourceasstream(\"/country_mock.json",{"_index":2480,"title":{},"name":{},"text":{"42":{}},"component":{}}],["objectmapper.writevalueasstring(cloudeventbuilder.v1",{"_index":1455,"title":{},"name":{},"text":{"16":{}},"component":{}}],["observ",{"_index":2885,"title":{},"name":{},"text":{"53":{}},"component":{}}],["observedgener",{"_index":2886,"title":{},"name":{},"text":{"53":{}},"component":{}}],["obtain",{"_index":899,"title":{},"name":{},"text":{"6":{},"34":{},"67":{}},"component":{}}],["oc",{"_index":1731,"title":{},"name":{},"text":{"24":{},"58":{},"67":{}},"component":{}}],["occur",{"_index":717,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"15":{},"46":{},"50":{}},"component":{}}],["occurr",{"_index":2083,"title":{},"name":{},"text":{"31":{}},"component":{}}],["ocp",{"_index":309,"title":{},"name":{},"text":{"2":{}},"component":{}}],["odata",{"_index":1508,"title":{},"name":{},"text":{"18":{}},"component":{}}],["odd",{"_index":1125,"title":{},"name":{},"text":{"10":{}},"component":{}}],["oer",{"_index":1496,"title":{},"name":{},"text":{"17":{}},"component":{}}],["offer",{"_index":3048,"title":{},"name":{},"text":{"57":{}},"component":{}}],["offlin",{"_index":412,"title":{},"name":{},"text":{"2":{}},"component":{}}],["oidc",{"_index":1656,"title":{},"name":{},"text":{"19":{},"30":{},"31":{}},"component":{}}],["oidcclient",{"_index":1933,"title":{},"name":{},"text":{"30":{}},"component":{}}],["ojsonpath='{.spec.clusterip",{"_index":2751,"title":{},"name":{},"text":{"48":{}},"component":{}}],["ok",{"_index":770,"title":{},"name":{},"text":{"6":{},"23":{},"30":{},"31":{},"35":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["okhttp",{"_index":3125,"title":{},"name":{},"text":{"59":{}},"component":{}}],["omit",{"_index":2257,"title":{},"name":{},"text":{"35":{}},"component":{}}],["on",{"_index":254,"title":{},"name":{},"text":{"2":{},"3":{},"6":{},"8":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"18":{},"19":{},"23":{},"25":{},"27":{},"28":{},"30":{},"34":{},"35":{},"36":{},"42":{},"43":{},"47":{},"49":{},"50":{},"56":{},"57":{},"58":{},"59":{},"65":{},"68":{},"70":{},"72":{}},"component":{}}],["onc",{"_index":950,"title":{},"name":{},"text":{"8":{},"9":{},"14":{},"16":{},"17":{},"19":{},"22":{},"27":{},"31":{},"33":{},"34":{},"35":{},"40":{},"41":{},"42":{},"46":{},"47":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"72":{}},"component":{}}],["onerror",{"_index":978,"title":{},"name":{},"text":{"8":{},"10":{},"31":{},"46":{}},"component":{}}],["onev",{"_index":998,"title":{},"name":{},"text":{"8":{},"14":{},"15":{}},"component":{}}],["onevent(messag",{"_index":1469,"title":{},"name":{},"text":{"16":{}},"component":{}}],["onlin",{"_index":1674,"title":{},"name":{},"text":{"20":{},"61":{},"67":{}},"component":{}}],["onoverflow",{"_index":1295,"title":{"13-3":{}},"name":{},"text":{"13":{}},"component":{}}],["open",{"_index":595,"title":{"64-1":{}},"name":{},"text":{"5":{},"30":{},"42":{},"43":{},"47":{},"50":{},"57":{},"65":{},"66":{},"67":{},"69":{},"70":{},"72":{}},"component":{}}],["openapi",{"_index":109,"title":{"17":{},"30":{},"32":{},"35":{},"42":{},"17-1":{},"30-1":{},"32-3":{},"35-1":{},"35-2":{},"35-3":{},"35-5":{},"42-1":{},"72-5":{}},"name":{"17":{},"30":{},"32":{},"35":{},"42":{}},"text":{"1":{},"2":{},"7":{},"9":{},"10":{},"17":{},"19":{},"30":{},"31":{},"32":{},"35":{},"37":{},"41":{},"42":{},"43":{},"46":{},"52":{},"59":{},"65":{},"69":{},"72":{}},"component":{}}],["openapi/async",{"_index":42,"title":{},"name":{},"text":{"1":{}},"component":{}}],["openapi/stock",{"_index":2131,"title":{},"name":{},"text":{"32":{}},"component":{}}],["openid",{"_index":1932,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["openshift",{"_index":257,"title":{"58":{},"67":{},"69":{},"24-3":{},"58-1":{},"58-2":{},"58-5":{},"67-2":{},"69-1":{},"69-2":{}},"name":{"58":{},"67":{}},"text":{"2":{},"3":{},"24":{},"52":{},"54":{},"58":{},"59":{},"65":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["openshift1.40.0.fin",{"_index":3014,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["openshift:2.16.7.fin",{"_index":3092,"title":{},"name":{},"text":{"58":{}},"component":{}}],["openshift_registry_url",{"_index":3077,"title":{},"name":{},"text":{"58":{}},"component":{}}],["openshift_registry_url/kogito",{"_index":3084,"title":{},"name":{},"text":{"58":{}},"component":{}}],["openshift_registry_url=$(oc",{"_index":3079,"title":{},"name":{},"text":{"58":{}},"component":{}}],["openshift’",{"_index":3069,"title":{"58-3":{}},"name":{},"text":{"58":{}},"component":{}}],["oper",{"_index":180,"title":{"48":{},"50":{},"51":{},"52":{},"3-2":{},"48-4":{},"51-2":{},"51-3":{}},"name":{"51":{}},"text":{"2":{},"3":{},"6":{},"9":{},"10":{},"11":{},"16":{},"17":{},"18":{},"22":{},"23":{},"24":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"41":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"58":{},"65":{},"67":{},"72":{}},"component":{}}],["operation\":\"classpath:/myopenapi",{"_index":2255,"title":{},"name":{},"text":{"35":{}},"component":{}}],["operation\":\"service:org.kie.kogito.paymentservice::processpay",{"_index":2603,"title":{},"name":{},"text":{"46":{}},"component":{}}],["operation1",{"_index":2116,"title":{},"name":{},"text":{"32":{}},"component":{}}],["operation2",{"_index":2118,"title":{},"name":{},"text":{"32":{}},"component":{}}],["operationid",{"_index":319,"title":{},"name":{},"text":{"2":{},"6":{},"30":{},"31":{},"33":{},"35":{}},"component":{}}],["operationid.valueof(operationid.touppercas",{"_index":893,"title":{},"name":{},"text":{"6":{}},"component":{}}],["operator/.x/operator.yaml",{"_index":2874,"title":{},"name":{},"text":{"51":{}},"component":{}}],["operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessplatform.yaml",{"_index":2742,"title":{},"name":{},"text":{"48":{}},"component":{}}],["operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow.yaml",{"_index":2753,"title":{},"name":{},"text":{"48":{}},"component":{}}],["operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow_devmode.yaml",{"_index":2800,"title":{},"name":{},"text":{"50":{}},"component":{}}],["operator/main/operator.yaml",{"_index":2848,"title":{},"name":{},"text":{"51":{}},"component":{}}],["operator/main/test/testdata/sw.kogito_v1alpha08_kogitoserverlessworkflow_devmode.yaml",{"_index":2791,"title":{},"name":{},"text":{"50":{}},"component":{}}],["operator’",{"_index":2857,"title":{},"name":{},"text":{"51":{}},"component":{}}],["opt",{"_index":516,"title":{},"name":{},"text":{"3":{},"28":{}},"component":{}}],["optim",{"_index":1971,"title":{},"name":{},"text":{"31":{},"43":{}},"component":{}}],["optimist",{"_index":572,"title":{},"name":{},"text":{"5":{},"27":{}},"component":{}}],["option",{"_index":44,"title":{},"name":{},"text":{"1":{},"3":{},"5":{},"6":{},"10":{},"13":{},"14":{},"16":{},"19":{},"23":{},"27":{},"28":{},"31":{},"34":{},"36":{},"42":{},"43":{},"46":{},"51":{},"54":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"65":{},"66":{},"72":{}},"component":{}}],["orchestr",{"_index":5,"title":{"31":{},"33":{},"34":{},"35":{},"46":{},"1-4":{},"31-1":{},"31-2":{}},"name":{"31":{},"33":{},"34":{},"35":{},"46":{}},"text":{"1":{},"6":{},"7":{},"9":{},"18":{},"19":{},"30":{},"31":{},"32":{},"35":{},"42":{},"46":{}},"component":{}}],["order",{"_index":955,"title":{},"name":{},"text":{"8":{},"11":{},"28":{},"31":{},"34":{},"41":{},"46":{},"48":{},"50":{},"51":{},"53":{}},"component":{}}],["order.getid",{"_index":2440,"title":{},"name":{},"text":{"41":{}},"component":{}}],["order.setcountry(\"u",{"_index":2438,"title":{},"name":{},"text":{"41":{}},"component":{}}],["order.setdescription(\"iphon",{"_index":2435,"title":{},"name":{},"text":{"41":{}},"component":{}}],["order.setid(uuid.randomuuid().tostr",{"_index":2434,"title":{},"name":{},"text":{"41":{}},"component":{}}],["order.settotal(1001",{"_index":2437,"title":{},"name":{},"text":{"41":{}},"component":{}}],["orderev",{"_index":2442,"title":{},"name":{},"text":{"41":{}},"component":{}}],["orderid",{"_index":2610,"title":{},"name":{},"text":{"46":{}},"component":{}}],["orderid\":\".orderid",{"_index":2584,"title":{},"name":{},"text":{"46":{}},"component":{}}],["orderid\":\"03e6cf79",{"_index":2621,"title":{},"name":{},"text":{"46":{}},"component":{}}],["orderrespons",{"_index":2641,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.acm",{"_index":1548,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.acme:serverless",{"_index":1534,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.apache.kafka.common.serialization.bytearraydeseri",{"_index":1311,"title":{},"name":{},"text":{"13":{}},"component":{}}],["org.apache.kafka.common.serialization.bytearrayseri",{"_index":1314,"title":{},"name":{},"text":{"13":{}},"component":{}}],["org.apache.kafka.common.serialization.stringdeseri",{"_index":1312,"title":{},"name":{},"text":{"13":{}},"component":{}}],["org.apache.kafka.common.serialization.stringseri",{"_index":1315,"title":{},"name":{},"text":{"13":{}},"component":{}}],["org.apache.maven.plugins:maven",{"_index":1565,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.awaitil",{"_index":2394,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["org.hamcrest.matchers.equalto",{"_index":2335,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.jbo.thread",{"_index":2354,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.jboss.logmanager.logmanag",{"_index":2397,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["org.junit.jupiter.api.beforeal",{"_index":2332,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.junit.jupiter.api.test",{"_index":2333,"title":{},"name":{},"text":{"37":{},"42":{}},"component":{}}],["org.kie.kog.add.qua.mes.com.quarkuskogitoextensioniniti",{"_index":1580,"title":{},"name":{},"text":{"19":{},"37":{}},"component":{}}],["org.kie.kog.cod.api.uti.addonsconfigdiscoveri",{"_index":2358,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.kie.kog.cod.cor.uti.applicationgeneratordiscoveri",{"_index":2370,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.kie.kog.mockservic",{"_index":2677,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kog.orderservic",{"_index":2651,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kog.paymentservic",{"_index":2647,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kog.per.inm.pos.run.inmemorypostgresqlrecord",{"_index":1626,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.kie.kog.per.pro.protobufservic",{"_index":1634,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.kie.kog.qua.pro.dev.dataindexinmemorycontain",{"_index":1593,"title":{},"name":{},"text":{"19":{}},"component":{}}],["org.kie.kog.shippingservic",{"_index":2649,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kog.stockservic",{"_index":2645,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kogito",{"_index":1015,"title":{},"name":{},"text":{"8":{},"12":{},"22":{},"23":{},"24":{},"25":{},"27":{},"40":{},"56":{},"57":{},"58":{},"59":{},"62":{},"64":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.auto_generate_brok",{"_index":1217,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.brok",{"_index":1228,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.health",{"_index":2773,"title":{},"name":{},"text":{"49":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.health_en",{"_index":1215,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.sink",{"_index":1220,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.sink.api_vers",{"_index":1223,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.sink.kind",{"_index":1227,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.sink.nam",{"_index":1226,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.knative.eventing.sink.namespac",{"_index":1222,"title":{},"name":{},"text":{"12":{}},"component":{}}],["org.kie.kogito.addons.quarkus.knative.serving.customfunctions.operation#namespac",{"_index":408,"title":{},"name":{},"text":{"2":{}},"component":{}}],["org.kie.kogito.exampl",{"_index":2006,"title":{},"name":{},"text":{"31":{},"37":{}},"component":{}}],["org.kie.kogito.examples.evenservic",{"_index":1128,"title":{},"name":{},"text":{"10":{}},"component":{}}],["org.kie.kogito.examples.exchangeworkflowhelp",{"_index":2003,"title":{},"name":{},"text":{"31":{}},"component":{}}],["org.kie.kogito.examples.hellotest",{"_index":2351,"title":{},"name":{},"text":{"37":{}},"component":{}}],["org.kie.kogito.examples.sw.custom.rpccustomworkitemhandler.nam",{"_index":869,"title":{},"name":{},"text":{"6":{}},"component":{}}],["org.kie.kogito.examples.sw.custom.rpccustomworkitemhandler.oper",{"_index":870,"title":{},"name":{},"text":{"6":{}},"component":{}}],["org.kie.kogito.serviceexcept",{"_index":2599,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.kie.kogito.sw.knative.service=knative:services.v1/serverless",{"_index":3129,"title":{},"name":{},"text":{"59":{}},"component":{}}],["org.kie.kogito:kogito",{"_index":1677,"title":{},"name":{},"text":{"22":{},"24":{},"25":{},"56":{},"57":{},"58":{},"59":{},"62":{}},"component":{}}],["origin",{"_index":442,"title":{},"name":{},"text":{"2":{},"9":{},"10":{}},"component":{}}],["orm",{"_index":1652,"title":{},"name":{},"text":{"19":{}},"component":{}}],["otherwis",{"_index":1037,"title":{},"name":{},"text":{"9":{},"10":{},"15":{},"22":{},"23":{},"46":{},"49":{},"50":{},"51":{},"56":{},"57":{}},"component":{}}],["ought",{"_index":1205,"title":{},"name":{},"text":{"12":{}},"component":{}}],["out",{"_index":960,"title":{},"name":{},"text":{"8":{},"9":{},"17":{},"50":{},"53":{},"56":{},"63":{},"64":{},"67":{}},"component":{}}],["outcom",{"_index":2865,"title":{},"name":{},"text":{"51":{}},"component":{}}],["outgo",{"_index":588,"title":{},"name":{},"text":{"5":{},"8":{},"12":{},"13":{},"17":{}},"component":{}}],["outgoing(\"out",{"_index":1467,"title":{},"name":{},"text":{"16":{}},"component":{}}],["output",{"_index":424,"title":{},"name":{},"text":{"2":{},"9":{},"10":{},"13":{},"19":{},"23":{},"37":{},"43":{},"46":{},"47":{},"50":{},"51":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["outsid",{"_index":581,"title":{},"name":{},"text":{"5":{}},"component":{}}],["over",{"_index":1234,"title":{},"name":{},"text":{"12":{},"17":{},"33":{},"50":{}},"component":{}}],["overdu",{"_index":959,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["overeag",{"_index":3193,"title":{},"name":{},"text":{"67":{}},"component":{}}],["overflow",{"_index":1331,"title":{},"name":{},"text":{"13":{}},"component":{}}],["overrid",{"_index":558,"title":{},"name":{},"text":{"5":{},"6":{},"9":{},"12":{},"42":{},"43":{},"49":{},"54":{},"59":{}},"component":{}}],["overview",{"_index":1885,"title":{"30-1":{},"32-1":{},"40-1":{},"41-1":{},"46-1":{}},"name":{"43":{},"62":{},"68":{},"71":{}},"text":{},"component":{}}],["overwrit",{"_index":2167,"title":{},"name":{},"text":{"32":{},"43":{}},"component":{}}],["overwrot",{"_index":2171,"title":{},"name":{},"text":{"32":{}},"component":{}}],["p",{"_index":2755,"title":{},"name":{},"text":{"48":{},"50":{},"54":{},"57":{},"58":{}},"component":{}}],["p2dt3h4m",{"_index":945,"title":{},"name":{},"text":{"8":{}},"component":{}}],["packag",{"_index":486,"title":{},"name":{},"text":{"2":{},"19":{},"25":{},"31":{},"32":{},"37":{}},"component":{}}],["package=com.acm",{"_index":2030,"title":{},"name":{},"text":{"31":{}},"component":{}}],["packet",{"_index":1616,"title":{},"name":{},"text":{"19":{}},"component":{}}],["page",{"_index":1784,"title":{},"name":{"61":{},"63":{},"64":{}},"text":{"25":{},"37":{},"43":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"72":{}},"component":{}}],["pair",{"_index":752,"title":{},"name":{},"text":{"6":{},"22":{},"34":{}},"component":{}}],["palett",{"_index":3233,"title":{},"name":{},"text":{"72":{}},"component":{}}],["panach",{"_index":1653,"title":{},"name":{},"text":{"19":{}},"component":{}}],["panel",{"_index":3156,"title":{},"name":{},"text":{"64":{}},"component":{}}],["parallel",{"_index":83,"title":{"11":{},"11-1":{},"11-2":{},"11-3":{}},"name":{"11":{}},"text":{"1":{},"11":{},"18":{},"41":{}},"component":{}}],["parallel.sw.json",{"_index":1152,"title":{},"name":{},"text":{"11":{}},"component":{}}],["paramet",{"_index":703,"title":{},"name":{},"text":{"6":{},"7":{},"8":{},"10":{},"24":{},"30":{},"31":{},"34":{},"35":{},"36":{},"37":{},"41":{},"59":{}},"component":{}}],["parameters.values().iter",{"_index":885,"title":{},"name":{},"text":{"6":{}},"component":{}}],["pars",{"_index":2416,"title":{},"name":{},"text":{"41":{},"59":{},"72":{}},"component":{}}],["parser",{"_index":494,"title":{},"name":{},"text":{"2":{}},"component":{}}],["parser@^4.1.2",{"_index":477,"title":{},"name":{},"text":{"2":{}},"component":{}}],["parsercontext",{"_index":874,"title":{},"name":{},"text":{"6":{}},"component":{}}],["part",{"_index":838,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"14":{},"31":{},"33":{},"34":{},"35":{},"36":{}},"component":{}}],["parti",{"_index":124,"title":{"31":{}},"name":{"31":{}},"text":{"1":{},"30":{},"42":{},"46":{}},"component":{}}],["partial",{"_index":1107,"title":{},"name":{},"text":{"10":{},"18":{}},"component":{}}],["particip",{"_index":2563,"title":{},"name":{},"text":{"46":{}},"component":{}}],["particular",{"_index":700,"title":{},"name":{},"text":{"6":{},"13":{},"14":{},"30":{},"31":{}},"component":{}}],["pass",{"_index":689,"title":{},"name":{},"text":{"6":{},"9":{},"30":{},"31":{},"41":{},"54":{}},"component":{}}],["password",{"_index":1629,"title":{},"name":{},"text":{"19":{},"28":{},"30":{},"40":{},"48":{},"57":{}},"component":{}}],["password=bar",{"_index":1860,"title":{},"name":{},"text":{"28":{}},"component":{}}],["past",{"_index":3184,"title":{},"name":{},"text":{"66":{}},"component":{}}],["patch",{"_index":2754,"title":{},"name":{},"text":{"48":{},"50":{}},"component":{}}],["path",{"_index":217,"title":{"61-3":{}},"name":{},"text":{"2":{},"6":{},"7":{},"9":{},"12":{},"17":{},"24":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"43":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"72":{}},"component":{}}],["path(\"id",{"_index":2407,"title":{},"name":{},"text":{"40":{}},"component":{}}],["path=/token",{"_index":1940,"title":{},"name":{},"text":{"30":{}},"component":{}}],["path=http://localhost:8281/auth/realms/kogito/protocol/openid",{"_index":2037,"title":{},"name":{},"text":{"31":{}},"component":{}}],["patient",{"_index":330,"title":{},"name":{},"text":{"2":{}},"component":{}}],["pattern",{"_index":151,"title":{"46-1":{},"46-2":{},"46-3":{}},"name":{"46":{}},"text":{"1":{},"10":{},"46":{},"50":{},"59":{},"72":{}},"component":{}}],["paus",{"_index":1417,"title":{},"name":{},"text":{"15":{},"27":{}},"component":{}}],["pay",{"_index":2998,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["payload",{"_index":780,"title":{},"name":{},"text":{"6":{},"10":{},"12":{},"14":{},"22":{},"23":{},"33":{},"34":{},"35":{},"42":{}},"component":{}}],["payment",{"_index":2572,"title":{},"name":{},"text":{"46":{}},"component":{}}],["paymentrespons",{"_index":2629,"title":{},"name":{},"text":{"46":{}},"component":{}}],["paymentservice.java",{"_index":2600,"title":{},"name":{},"text":{"46":{}},"component":{}}],["pbuild",{"_index":2929,"title":{},"name":{},"text":{"54":{}},"component":{}}],["peform",{"_index":1435,"title":{},"name":{},"text":{"16":{}},"component":{}}],["pencil",{"_index":3224,"title":{},"name":{},"text":{"70":{}},"component":{}}],["per",{"_index":1149,"title":{},"name":{},"text":{"11":{},"13":{},"18":{}},"component":{}}],["percentag",{"_index":2141,"title":{},"name":{},"text":{"32":{}},"component":{}}],["perform",{"_index":707,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"11":{},"16":{},"17":{},"24":{},"35":{},"37":{},"40":{},"41":{},"42":{},"46":{},"48":{},"50":{},"59":{},"69":{},"71":{},"72":{}},"component":{}}],["period",{"_index":2142,"title":{},"name":{},"text":{"32":{}},"component":{}}],["periodsecond",{"_index":3033,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["permiss",{"_index":2525,"title":{},"name":{},"text":{"43":{},"66":{},"67":{}},"component":{}}],["persist",{"_index":10,"title":{"1-8":{},"27-1":{},"36-2":{},"40-2":{}},"name":{"27":{}},"text":{"1":{},"5":{},"14":{},"27":{},"28":{},"36":{},"40":{},"46":{},"47":{},"50":{},"68":{}},"component":{}}],["person",{"_index":2824,"title":{},"name":{},"text":{"50":{},"65":{}},"component":{}}],["perspect",{"_index":1436,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["pet",{"_index":2283,"title":{},"name":{},"text":{"35":{}},"component":{}}],["pet/{petid",{"_index":2282,"title":{},"name":{},"text":{"35":{}},"component":{}}],["petid",{"_index":2285,"title":{},"name":{},"text":{"35":{}},"component":{}}],["petstor",{"_index":2261,"title":{},"name":{},"text":{"35":{}},"component":{}}],["phase",{"_index":842,"title":{"48-2":{}},"name":{},"text":{"6":{},"53":{}},"component":{}}],["php",{"_index":2268,"title":{},"name":{},"text":{"35":{}},"component":{}}],["pick",{"_index":1847,"title":{},"name":{},"text":{"28":{}},"component":{}}],["pid",{"_index":3058,"title":{},"name":{},"text":{"57":{}},"component":{}}],["pipelin",{"_index":277,"title":{},"name":{},"text":{"2":{}},"component":{}}],["pknativ",{"_index":2706,"title":{},"name":{},"text":{"47":{}},"component":{}}],["place",{"_index":917,"title":{},"name":{},"text":{"7":{},"22":{},"53":{},"65":{}},"component":{}}],["placehold",{"_index":2873,"title":{},"name":{},"text":{"51":{}},"component":{}}],["plain",{"_index":3008,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["plainjsonknativefunct",{"_index":1711,"title":{},"name":{},"text":{"23":{}},"component":{}}],["plan",{"_index":1261,"title":{},"name":{},"text":{"12":{}},"component":{}}],["platform",{"_index":265,"title":{},"name":{},"text":{"2":{},"3":{},"12":{},"19":{},"48":{},"56":{},"57":{},"67":{}},"component":{}}],["play",{"_index":1348,"title":{},"name":{},"text":{"14":{},"46":{},"50":{}},"component":{}}],["pleas",{"_index":647,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["plug",{"_index":102,"title":{"43":{},"43-1":{}},"name":{},"text":{"1":{},"12":{},"19":{},"20":{},"23":{},"40":{},"41":{},"43":{},"56":{},"57":{},"62":{}},"component":{}}],["plugin",{"_index":457,"title":{},"name":{"43":{}},"text":{"2":{},"40":{},"41":{},"43":{},"58":{}},"component":{}}],["plugin:2.16.7.final:cr",{"_index":1541,"title":{},"name":{},"text":{"19":{}},"component":{}}],["plugin:2.16.7.final:dev",{"_index":1564,"title":{},"name":{},"text":{"19":{}},"component":{}}],["plugin:2.4:jar",{"_index":2381,"title":{},"name":{},"text":{"37":{}},"component":{}}],["plugin:2.6:resourc",{"_index":1566,"title":{},"name":{},"text":{"19":{}},"component":{}}],["plugin:2.9.2.final:build",{"_index":2385,"title":{},"name":{},"text":{"37":{}},"component":{}}],["pndtnhnmn.n",{"_index":937,"title":{},"name":{},"text":{"8":{}},"component":{}}],["pod",{"_index":314,"title":{},"name":{},"text":{"2":{},"12":{},"35":{},"48":{},"50":{},"51":{},"53":{},"59":{}},"component":{}}],["podman",{"_index":2522,"title":{},"name":{},"text":{"43":{},"51":{},"58":{}},"component":{}}],["pods.v1",{"_index":3113,"title":{},"name":{},"text":{"59":{}},"component":{}}],["point",{"_index":930,"title":{},"name":{},"text":{"8":{},"32":{},"33":{},"35":{},"36":{},"50":{}},"component":{}}],["pojo",{"_index":2012,"title":{},"name":{},"text":{"31":{}},"component":{}}],["polici",{"_index":2529,"title":{},"name":{},"text":{"43":{}},"component":{}}],["policy=ifnotpres",{"_index":2983,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["pom",{"_index":2212,"title":{},"name":{},"text":{"34":{}},"component":{}}],["pom.xml",{"_index":1014,"title":{},"name":{},"text":{"8":{},"12":{},"13":{},"22":{},"24":{},"25":{},"27":{},"34":{},"37":{},"40":{},"41":{},"42":{},"54":{},"56":{},"57":{},"58":{},"62":{},"64":{},"65":{}},"component":{}}],["pool",{"_index":618,"title":{},"name":{},"text":{"5":{}},"component":{}}],["pop",{"_index":3175,"title":{},"name":{},"text":{"65":{}},"component":{}}],["popul",{"_index":1132,"title":{},"name":{},"text":{"10":{}},"component":{}}],["port",{"_index":633,"title":{},"name":{},"text":{"5":{},"19":{},"34":{},"41":{},"42":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["port(",{"_index":2949,"title":{},"name":{},"text":{"56":{}},"component":{}}],["portabl",{"_index":663,"title":{},"name":{},"text":{"6":{},"9":{}},"component":{}}],["portfolio",{"_index":2098,"title":{},"name":{},"text":{"32":{}},"component":{}}],["possibl",{"_index":560,"title":{"50-7":{}},"name":{},"text":{"5":{},"6":{},"8":{},"13":{},"14":{},"31":{},"32":{},"34":{},"46":{},"53":{}},"component":{}}],["post",{"_index":275,"title":{},"name":{},"text":{"2":{},"6":{},"9":{},"11":{},"12":{},"17":{},"19":{},"23":{},"31":{},"32":{},"34":{},"35":{},"37":{},"41":{},"46":{},"47":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{},"63":{}},"component":{}}],["post(\"/callback",{"_index":2406,"title":{},"name":{},"text":{"40":{}},"component":{}}],["post(\"/hello",{"_index":2342,"title":{},"name":{},"text":{"37":{}},"component":{}}],["postconstruct",{"_index":908,"title":{},"name":{},"text":{"6":{}},"component":{}}],["postgr",{"_index":1627,"title":{},"name":{},"text":{"19":{}},"component":{}}],["postgres:pid(90",{"_index":1610,"title":{},"name":{},"text":{"19":{}},"component":{}}],["postgresql",{"_index":132,"title":{"27":{},"28":{},"40":{},"36-3":{},"40-2":{}},"name":{"27":{},"28":{},"40":{}},"text":{"1":{},"2":{},"5":{},"14":{},"19":{},"27":{},"28":{},"36":{},"37":{},"40":{},"47":{}},"component":{}}],["postgresql.yml",{"_index":2701,"title":{},"name":{},"text":{"47":{}},"component":{}}],["postgressql",{"_index":141,"title":{},"name":{},"text":{"1":{}},"component":{}}],["postmast",{"_index":1624,"title":{},"name":{},"text":{"19":{}},"component":{}}],["postrequestedfor(urlequalto(\"/\")).withrequestbody(containing(\"\\\"type\\\":\\\"domesticshipping\\\"\").and(containing(\"\\\"id",{"_index":2451,"title":{},"name":{},"text":{"41":{}},"component":{}}],["postrequestedfor(urlequalto(\"/\")).withrequestbody(containing(\"\\\"type\\\":\\\"fraudevaluation\\\"\").and(containing(\"\\\"id",{"_index":2450,"title":{},"name":{},"text":{"41":{}},"component":{}}],["postrequestedfor(urlequalto(\"/\")).withrequestbody(containing(order.getid",{"_index":2448,"title":{},"name":{},"text":{"41":{}},"component":{}}],["potenti",{"_index":1091,"title":{},"name":{},"text":{"10":{},"31":{}},"component":{}}],["power",{"_index":1582,"title":{},"name":{},"text":{"19":{},"37":{},"54":{}},"component":{}}],["pr",{"_index":310,"title":{},"name":{},"text":{"2":{}},"component":{}}],["practic",{"_index":1353,"title":{},"name":{},"text":{"14":{}},"component":{}}],["pre",{"_index":3172,"title":{},"name":{},"text":{"65":{}},"component":{}}],["preced",{"_index":3094,"title":{"59-2":{}},"name":{},"text":{},"component":{}}],["precis",{"_index":3119,"title":{},"name":{},"text":{"59":{}},"component":{}}],["predefin",{"_index":821,"title":{},"name":{},"text":{"6":{},"10":{}},"component":{}}],["prefer",{"_index":2196,"title":{},"name":{},"text":{"34":{},"43":{},"49":{},"56":{},"72":{}},"component":{}}],["prefix",{"_index":823,"title":{},"name":{},"text":{"6":{},"22":{},"32":{}},"component":{}}],["prepar",{"_index":2729,"title":{"48-1":{},"51-1":{},"58-3":{}},"name":{},"text":{"51":{},"57":{},"58":{}},"component":{}}],["prerequisit",{"_index":1151,"title":{},"name":{},"text":{"11":{},"12":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"31":{},"32":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"48":{},"50":{},"51":{},"54":{},"56":{},"57":{},"58":{},"62":{},"65":{},"66":{},"67":{},"69":{},"70":{},"72":{}},"component":{}}],["present",{"_index":631,"title":{},"name":{},"text":{"5":{},"6":{},"12":{},"33":{},"40":{},"47":{},"64":{},"66":{}},"component":{}}],["preserv",{"_index":2774,"title":{},"name":{},"text":{"49":{}},"component":{}}],["press",{"_index":1667,"title":{},"name":{},"text":{"19":{},"72":{}},"component":{}}],["prevent",{"_index":1537,"title":{},"name":{},"text":{"19":{},"42":{}},"component":{}}],["preview",{"_index":3214,"title":{},"name":{},"text":{"68":{}},"component":{}}],["previou",{"_index":731,"title":{},"name":{},"text":{"6":{},"7":{},"9":{},"11":{},"12":{},"13":{},"15":{},"19":{},"23":{},"24":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"41":{},"43":{},"46":{},"47":{},"54":{},"57":{},"58":{},"59":{},"62":{},"69":{}},"component":{}}],["previous",{"_index":1750,"title":{},"name":{},"text":{"24":{},"57":{},"58":{}},"component":{}}],["price",{"_index":2124,"title":{},"name":{},"text":{"32":{}},"component":{}}],["price/{symbol",{"_index":2108,"title":{},"name":{},"text":{"32":{}},"component":{}}],["primit",{"_index":719,"title":{},"name":{},"text":{"6":{},"22":{}},"component":{}}],["print",{"_index":1483,"title":{},"name":{},"text":{"17":{},"43":{},"48":{}},"component":{}}],["printact",{"_index":673,"title":{},"name":{},"text":{"6":{},"10":{}},"component":{}}],["printafterevent1",{"_index":1003,"title":{},"name":{},"text":{"8":{}},"component":{}}],["printafterevent2",{"_index":1006,"title":{},"name":{},"text":{"8":{}},"component":{}}],["printexitmessag",{"_index":1007,"title":{},"name":{},"text":{"8":{}},"component":{}}],["printmessag",{"_index":1135,"title":{},"name":{},"text":{"10":{}},"component":{}}],["priorit",{"_index":2826,"title":{},"name":{},"text":{"50":{},"52":{}},"component":{}}],["privaci",{"_index":2530,"title":{},"name":{},"text":{"43":{}},"component":{}}],["privat",{"_index":1449,"title":{},"name":{},"text":{"16":{},"31":{},"41":{},"42":{},"56":{},"66":{}},"component":{}}],["privileg",{"_index":2834,"title":{},"name":{},"text":{"51":{}},"component":{}}],["probe",{"_index":329,"title":{},"name":{},"text":{"2":{},"12":{},"50":{}},"component":{}}],["problem",{"_index":1970,"title":{},"name":{},"text":{"31":{},"43":{},"50":{},"53":{},"72":{}},"component":{}}],["proce",{"_index":3072,"title":{},"name":{},"text":{"58":{}},"component":{}}],["procedur",{"_index":1138,"title":{},"name":{},"text":{"11":{},"12":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"31":{},"32":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"54":{},"56":{},"57":{},"58":{},"62":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["proceed",{"_index":2948,"title":{},"name":{},"text":{"56":{},"58":{}},"component":{}}],["process",{"_index":379,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"14":{},"16":{},"17":{},"19":{},"24":{},"25":{},"27":{},"31":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"53":{},"56":{},"57":{},"58":{},"64":{},"65":{},"66":{}},"component":{}}],["process/correl",{"_index":1395,"title":{},"name":{},"text":{"14":{}},"component":{}}],["process_id",{"_index":1778,"title":{},"name":{},"text":{"25":{}},"component":{}}],["process_id=\".*?\"/).match",{"_index":1780,"title":{},"name":{},"text":{"25":{}},"component":{}}],["processdomesticorderunderfraudev",{"_index":2431,"title":{},"name":{},"text":{"41":{}},"component":{}}],["processid",{"_index":1748,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["processinst",{"_index":1810,"title":{},"name":{},"text":{"25":{}},"component":{}}],["processinstanceid",{"_index":1354,"title":{},"name":{},"text":{"14":{},"17":{}},"component":{}}],["processinstancelisten",{"_index":1764,"title":{},"name":{},"text":{"25":{}},"component":{}}],["processnam",{"_index":1749,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["processor",{"_index":3074,"title":{},"name":{},"text":{"58":{}},"component":{}}],["processpay",{"_index":2591,"title":{},"name":{},"text":{"46":{}},"component":{}}],["processpaymentact",{"_index":2592,"title":{},"name":{},"text":{"46":{}},"component":{}}],["prod",{"_index":1648,"title":{},"name":{},"text":{"19":{},"32":{},"52":{}},"component":{}}],["produc",{"_index":32,"title":{"12":{},"13":{}},"name":{"12":{},"13":{}},"text":{"1":{},"2":{},"6":{},"8":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"22":{},"31":{},"40":{},"41":{},"43":{},"47":{}},"component":{}}],["product",{"_index":2093,"title":{"32-7":{},"52-5":{},"53-3":{}},"name":{},"text":{"32":{},"35":{},"36":{},"47":{},"50":{},"52":{},"53":{},"65":{}},"component":{}}],["product_id",{"_index":781,"title":{},"name":{},"text":{"6":{}},"component":{}}],["profil",{"_index":261,"title":{"50-1":{},"52-5":{},"53-2":{},"53-3":{}},"name":{},"text":{"2":{},"19":{},"32":{},"37":{},"47":{},"49":{},"50":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["profit",{"_index":2123,"title":{},"name":{},"text":{"32":{}},"component":{}}],["program",{"_index":1016,"title":{},"name":{},"text":{"8":{},"41":{}},"component":{}}],["project",{"_index":69,"title":{"65":{},"66":{},"67":{},"19-1":{},"22-4":{},"43-2":{},"43-3":{},"43-4":{},"43-5":{},"65-1":{},"65-2":{}},"name":{"65":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"11":{},"12":{},"13":{},"19":{},"20":{},"22":{},"23":{},"24":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"42":{},"43":{},"54":{},"56":{},"57":{},"58":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"72":{}},"component":{}}],["project.basedir}/../serverless",{"_index":2213,"title":{},"name":{},"text":{"34":{}},"component":{}}],["project/namespac",{"_index":3086,"title":{},"name":{},"text":{"58":{}},"component":{}}],["project:1.0.0",{"_index":2559,"title":{},"name":{},"text":{"43":{}},"component":{}}],["project:1.0.1",{"_index":2558,"title":{},"name":{},"text":{"43":{}},"component":{}}],["project’",{"_index":522,"title":{},"name":{},"text":{"3":{},"6":{}},"component":{}}],["prometheu",{"_index":159,"title":{"24":{},"24-4":{}},"name":{"24":{}},"text":{"1":{},"24":{},"25":{}},"component":{}}],["prompt",{"_index":1856,"title":{},"name":{},"text":{"28":{}},"component":{}}],["promql",{"_index":1804,"title":{},"name":{},"text":{"25":{}},"component":{}}],["prop",{"_index":2765,"title":{},"name":{},"text":{"49":{},"50":{}},"component":{}}],["propag",{"_index":1590,"title":{"30-6":{}},"name":{},"text":{"19":{},"30":{},"37":{}},"component":{}}],["propagation=[true,fals",{"_index":1952,"title":{},"name":{},"text":{"30":{}},"component":{}}],["propagation=tru",{"_index":1954,"title":{},"name":{},"text":{"30":{}},"component":{}}],["proper",{"_index":844,"title":{},"name":{},"text":{"6":{},"8":{},"36":{},"72":{}},"component":{}}],["properli",{"_index":2001,"title":{},"name":{},"text":{"31":{},"58":{}},"component":{}}],["properti",{"_index":85,"title":{"5":{},"49-2":{}},"name":{"5":{}},"text":{"1":{},"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"18":{},"19":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"40":{},"41":{},"42":{},"47":{},"49":{},"50":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"64":{},"72":{}},"component":{}}],["protect",{"_index":872,"title":{},"name":{},"text":{"6":{}},"component":{}}],["proto",{"_index":2197,"title":{},"name":{},"text":{"34":{}},"component":{}}],["protobuff",{"_index":1635,"title":{},"name":{},"text":{"19":{}},"component":{}}],["protocol",{"_index":860,"title":{},"name":{},"text":{"6":{},"23":{},"33":{},"56":{},"57":{},"58":{}},"component":{}}],["protocolvers",{"_index":2179,"title":{},"name":{},"text":{"33":{}},"component":{}}],["prototyp",{"_index":2471,"title":{},"name":{},"text":{"42":{}},"component":{}}],["provid",{"_index":445,"title":{},"name":{},"text":{"2":{},"6":{},"7":{},"8":{},"10":{},"12":{},"13":{},"17":{},"19":{},"20":{},"28":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"40":{},"43":{},"47":{},"51":{},"52":{},"54":{},"56":{},"57":{},"59":{},"62":{},"63":{},"64":{},"65":{},"68":{},"71":{},"72":{}},"component":{}}],["provis",{"_index":2904,"title":{},"name":{},"text":{"53":{}},"component":{}}],["proxi",{"_index":3189,"title":{},"name":{},"text":{"67":{}},"component":{}}],["psql",{"_index":1868,"title":{},"name":{},"text":{"28":{}},"component":{}}],["pt15m",{"_index":942,"title":{},"name":{},"text":{"8":{}},"component":{}}],["pt1h",{"_index":957,"title":{},"name":{},"text":{"8":{}},"component":{}}],["pt30",{"_index":982,"title":{},"name":{},"text":{"8":{}},"component":{}}],["pt5",{"_index":993,"title":{},"name":{},"text":{"8":{}},"component":{}}],["public",{"_index":692,"title":{},"name":{},"text":{"6":{},"16":{},"17":{},"31":{},"41":{},"42":{},"46":{},"66":{}},"component":{}}],["publish",{"_index":1012,"title":{"33-2":{}},"name":{},"text":{"8":{},"13":{},"14":{},"16":{},"17":{},"33":{},"56":{}},"component":{}}],["publishact",{"_index":1448,"title":{},"name":{},"text":{"16":{}},"component":{}}],["pull",{"_index":2974,"title":{},"name":{},"text":{"56":{},"57":{},"58":{},"66":{},"70":{}},"component":{}}],["purpos",{"_index":541,"title":{},"name":{},"text":{"3":{},"14":{},"22":{},"31":{},"36":{},"65":{}},"component":{}}],["push",{"_index":2547,"title":{},"name":{},"text":{"43":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{},"66":{},"70":{}},"component":{}}],["put",{"_index":1788,"title":{},"name":{},"text":{"25":{}},"component":{}}],["python",{"_index":206,"title":{},"name":{},"text":{"2":{},"35":{}},"component":{}}],["q/health/liv",{"_index":3031,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["q/health/readi",{"_index":3040,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["q/metric",{"_index":1721,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["qualifi",{"_index":685,"title":{},"name":{},"text":{"6":{},"10":{},"46":{}},"component":{}}],["quarantin",{"_index":3195,"title":{},"name":{},"text":{"67":{}},"component":{}}],["quarkivers",{"_index":2173,"title":{},"name":{},"text":{"33":{}},"component":{}}],["quarku",{"_index":99,"title":{"54":{},"62":{},"3-1":{},"22-1":{},"28-6":{},"31-2":{},"56-5":{},"57-5":{},"58-6":{}},"name":{"54":{},"61":{},"62":{},"63":{},"64":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"49":{},"54":{},"56":{},"57":{},"58":{},"59":{},"62":{},"64":{},"65":{},"66":{}},"component":{}}],["quarkus.10.103.94.37.sslip.io",{"_index":2997,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["quarkus.10.103.94.37.sslip.io/jsongreet",{"_index":3002,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["quarkus.contain",{"_index":2910,"title":{},"name":{},"text":{"54":{},"56":{},"57":{},"58":{}},"component":{}}],["quarkus.datasource.db",{"_index":1829,"title":{},"name":{},"text":{"27":{},"28":{}},"component":{}}],["quarkus.datasource.jdbc.url",{"_index":2400,"title":{},"name":{},"text":{"40":{}},"component":{}}],["quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/postgr",{"_index":1833,"title":{},"name":{},"text":{"27":{}},"component":{}}],["quarkus.datasource.password",{"_index":2402,"title":{},"name":{},"text":{"40":{}},"component":{}}],["quarkus.datasource.password=pass",{"_index":1832,"title":{},"name":{},"text":{"27":{}},"component":{}}],["quarkus.datasource.reactive.url",{"_index":2399,"title":{},"name":{},"text":{"40":{}},"component":{}}],["quarkus.datasource.usernam",{"_index":2401,"title":{},"name":{},"text":{"40":{}},"component":{}}],["quarkus.datasource.username=postgr",{"_index":1831,"title":{},"name":{},"text":{"27":{}},"component":{}}],["quarkus.flyway.baselin",{"_index":1875,"title":{},"name":{},"text":{"28":{}},"component":{}}],["quarkus.flyway.migr",{"_index":1835,"title":{},"name":{},"text":{"27":{},"28":{}},"component":{}}],["quarkus.grpc.clients.greeter.host=localhost",{"_index":2218,"title":{},"name":{},"text":{"34":{}},"component":{}}],["quarkus.grpc.clients.greeter.port=50051",{"_index":2219,"title":{},"name":{},"text":{"34":{}},"component":{}}],["quarkus.http.host",{"_index":2771,"title":{},"name":{},"text":{"49":{}},"component":{}}],["quarkus.http.port",{"_index":2770,"title":{},"name":{},"text":{"49":{}},"component":{}}],["quarkus.knative.name=hello",{"_index":3015,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["quarkus.kogito",{"_index":3134,"title":{},"name":{},"text":{"61":{}},"component":{}}],["quarkus.kogito.devservices.en",{"_index":629,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kogito.devservices.imag",{"_index":636,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kogito.devservices.port",{"_index":632,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kogito.devservices.servic",{"_index":641,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kogito.devservices.shar",{"_index":639,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kogito.logger.alway",{"_index":626,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quarkus.kubernetes.deploy",{"_index":1267,"title":{},"name":{},"text":{"12":{},"56":{},"57":{},"58":{}},"component":{}}],["quarkus.kubernetes.deploy=tru",{"_index":3042,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["quarkus.log.category.\"okhttp3.okhttpclient\".level=info",{"_index":3127,"title":{},"name":{},"text":{"59":{}},"component":{}}],["quarkus.oidc",{"_index":1936,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["quarkus.openapi",{"_index":1891,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["quarkus.profil",{"_index":2145,"title":{},"name":{},"text":{"32":{}},"component":{}}],["quarkus.rest",{"_index":2031,"title":{},"name":{},"text":{"31":{},"32":{},"35":{},"42":{}},"component":{}}],["quarkus/acm",{"_index":2054,"title":{},"name":{},"text":{"31":{}},"component":{}}],["quarkus/curr",{"_index":2058,"title":{},"name":{},"text":{"31":{}},"component":{}}],["quarkus/dock",{"_index":2053,"title":{},"name":{},"text":{"31":{}},"component":{}}],["quarkus/greet",{"_index":3130,"title":{},"name":{},"text":{"59":{}},"component":{}}],["quarkus/script",{"_index":2051,"title":{},"name":{},"text":{"31":{}},"component":{}}],["quarkus/src/main/proto",{"_index":2214,"title":{},"name":{},"text":{"34":{}},"component":{}}],["quarkus:1.0",{"_index":2928,"title":{},"name":{},"text":{"54":{},"56":{},"57":{},"58":{}},"component":{}}],["quarkus:add",{"_index":1200,"title":{},"name":{},"text":{"12":{}},"component":{}}],["quarkus:dev",{"_index":1175,"title":{},"name":{},"text":{"11":{},"19":{},"32":{},"34":{}},"component":{}}],["quarkus_devservices_en",{"_index":394,"title":{},"name":{},"text":{"2":{}},"component":{}}],["quarkus_extens",{"_index":413,"title":{},"name":{},"text":{"2":{}},"component":{}}],["quarkus_kogito_devservices_en",{"_index":393,"title":{},"name":{},"text":{"2":{}},"component":{}}],["quarkusintegrationtest",{"_index":2391,"title":{},"name":{},"text":{"40":{}},"component":{}}],["quarkustest",{"_index":372,"title":{},"name":{},"text":{"2":{},"37":{},"41":{},"42":{}},"component":{}}],["quarkustest(1",{"_index":2421,"title":{},"name":{},"text":{"41":{}},"component":{}}],["quarkustestresourc",{"_index":2469,"title":{"42-2":{}},"name":{},"text":{"42":{}},"component":{}}],["quarkustestresource(restcountriesmockserver.class",{"_index":2512,"title":{},"name":{},"text":{"42":{}},"component":{}}],["quarkustestresourcelifecyclemanag",{"_index":2502,"title":{},"name":{},"text":{"42":{}},"component":{}}],["quay.io",{"_index":2555,"title":{},"name":{},"text":{"43":{},"54":{},"56":{}},"component":{}}],["quay.io/kiegroup/kogito",{"_index":637,"title":{},"name":{},"text":{"5":{},"51":{}},"component":{}}],["quay.io/kiegroup/serverless",{"_index":3027,"title":{},"name":{},"text":{"56":{}},"component":{}}],["quay.io/kogito/serverless",{"_index":2927,"title":{},"name":{},"text":{"54":{}},"component":{}}],["quay.io/oth",{"_index":2556,"title":{},"name":{},"text":{"43":{}},"component":{}}],["queri",{"_index":567,"title":{},"name":{},"text":{"5":{},"6":{},"9":{},"25":{},"30":{},"31":{},"36":{},"58":{},"59":{}},"component":{}}],["queue",{"_index":621,"title":{},"name":{},"text":{"5":{}},"component":{}}],["quick",{"_index":86,"title":{"27-1":{}},"name":{},"text":{"1":{},"5":{},"27":{}},"component":{}}],["quickli",{"_index":2521,"title":{},"name":{},"text":{"43":{}},"component":{}}],["quickstart",{"_index":3049,"title":{},"name":{},"text":{"57":{}},"component":{}}],["quot",{"_index":1247,"title":{},"name":{},"text":{"12":{}},"component":{}}],["random",{"_index":2126,"title":{},"name":{},"text":{"32":{}},"component":{}}],["rate",{"_index":1250,"title":{},"name":{},"text":{"12":{},"31":{}},"component":{}}],["raw",{"_index":2609,"title":{},"name":{},"text":{"46":{}},"component":{}}],["re",{"_index":2799,"title":{},"name":{},"text":{"50":{}},"component":{}}],["reach",{"_index":1388,"title":{},"name":{},"text":{"14":{},"15":{},"19":{},"27":{},"30":{},"33":{},"36":{},"47":{}},"component":{}}],["react",{"_index":2463,"title":{},"name":{},"text":{"41":{}},"component":{}}],["reactiv",{"_index":35,"title":{},"name":{},"text":{"1":{},"13":{},"19":{},"37":{},"40":{}},"component":{}}],["read",{"_index":1959,"title":{},"name":{},"text":{"30":{},"41":{},"56":{},"57":{},"58":{},"59":{},"64":{},"69":{},"70":{}},"component":{}}],["readi",{"_index":30,"title":{},"name":{},"text":{"1":{},"6":{},"23":{},"47":{},"50":{},"51":{},"53":{},"56":{},"57":{},"58":{},"65":{},"67":{}},"component":{}}],["readinessprob",{"_index":3039,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["readm",{"_index":1824,"title":{},"name":{},"text":{"27":{},"47":{}},"component":{}}],["real",{"_index":1073,"title":{},"name":{},"text":{"9":{},"32":{}},"component":{}}],["realli",{"_index":651,"title":{},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["reason",{"_index":765,"title":{},"name":{},"text":{"6":{},"23":{},"34":{},"47":{},"50":{},"52":{},"53":{},"56":{},"57":{},"58":{}},"component":{}}],["rebuild",{"_index":1720,"title":{},"name":{},"text":{"24":{},"43":{},"54":{}},"component":{}}],["receiv",{"_index":427,"title":{},"name":{},"text":{"2":{},"8":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"22":{},"31":{},"33":{},"36":{},"41":{},"46":{},"47":{},"48":{},"50":{},"64":{}},"component":{}}],["recent",{"_index":863,"title":{},"name":{},"text":{"6":{}},"component":{}}],["recept",{"_index":1146,"title":{},"name":{},"text":{"11":{},"15":{}},"component":{}}],["recommend",{"_index":1514,"title":{},"name":{},"text":{"18":{},"27":{},"36":{},"47":{}},"component":{}}],["reconcil",{"_index":2991,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["record",{"_index":1850,"title":{},"name":{},"text":{"28":{}},"component":{}}],["recov",{"_index":2889,"title":{},"name":{},"text":{"53":{}},"component":{}}],["recoverfailureattempt",{"_index":2887,"title":{},"name":{},"text":{"53":{}},"component":{}}],["recreat",{"_index":2846,"title":{},"name":{},"text":{"51":{}},"component":{}}],["recurs",{"_index":721,"title":{},"name":{},"text":{"6":{},"10":{}},"component":{}}],["red",{"_index":1528,"title":{"69":{},"69-1":{},"69-2":{}},"name":{},"text":{"19":{},"58":{},"65":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["redhat",{"_index":3215,"title":{},"name":{"69":{}},"text":{},"component":{}}],["redirect",{"_index":2296,"title":{},"name":{},"text":{"35":{},"63":{},"72":{}},"component":{}}],["reduc",{"_index":816,"title":{},"name":{},"text":{"6":{}},"component":{}}],["ref",{"_index":1289,"title":{},"name":{},"text":{"12":{},"31":{},"33":{},"35":{}},"component":{}}],["refactor",{"_index":251,"title":{},"name":{},"text":{"2":{}},"component":{}}],["refer",{"_index":87,"title":{"27-1":{}},"name":{},"text":{"1":{},"5":{},"6":{},"7":{},"8":{},"12":{},"14":{},"17":{},"18":{},"22":{},"23":{},"24":{},"27":{},"30":{},"31":{},"32":{},"35":{},"41":{},"46":{},"50":{},"56":{},"58":{},"61":{},"64":{},"72":{}},"component":{}}],["referenc",{"_index":219,"title":{"22-3":{}},"name":{},"text":{"2":{},"15":{},"22":{},"25":{},"30":{},"35":{}},"component":{}}],["reflect",{"_index":2868,"title":{},"name":{},"text":{"51":{},"56":{},"57":{},"58":{}},"component":{}}],["refnam",{"_index":674,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"17":{},"22":{},"23":{},"31":{},"32":{},"34":{},"35":{},"50":{}},"component":{}}],["refname\":\"divis",{"_index":902,"title":{},"name":{},"text":{"6":{}},"component":{}}],["refname\":\"processpay",{"_index":2583,"title":{},"name":{},"text":{"46":{}},"component":{}}],["refresh",{"_index":2044,"title":{},"name":{},"text":{"31":{},"63":{},"64":{},"72":{}},"component":{}}],["regard",{"_index":1837,"title":{},"name":{},"text":{"27":{}},"component":{}}],["regardless",{"_index":928,"title":{},"name":{},"text":{"8":{},"9":{},"12":{},"41":{}},"component":{}}],["regcr",{"_index":2732,"title":{},"name":{},"text":{"48":{}},"component":{}}],["regex",{"_index":1108,"title":{},"name":{},"text":{"10":{}},"component":{}}],["regist",{"_index":536,"title":{},"name":{},"text":{"3":{},"6":{},"19":{},"37":{}},"component":{}}],["register(handler.getname(),handl",{"_index":910,"title":{},"name":{},"text":{"6":{}},"component":{}}],["registri",{"_index":2548,"title":{"48-3":{},"48-4":{},"58-3":{},"69-2":{},"72-5":{},"72-6":{}},"name":{},"text":{"43":{},"47":{},"48":{},"51":{},"52":{},"54":{},"56":{},"57":{},"58":{},"65":{},"69":{},"72":{}},"component":{}}],["registry.openshift",{"_index":3088,"title":{},"name":{},"text":{"58":{}},"component":{}}],["registry.svc:5000",{"_index":3089,"title":{},"name":{},"text":{"58":{}},"component":{}}],["registry.svc:5000/kogito",{"_index":3090,"title":{},"name":{},"text":{"58":{}},"component":{}}],["registry}/apis/registry/v2",{"_index":3247,"title":{},"name":{},"text":{"72":{}},"component":{}}],["regular",{"_index":656,"title":{"6-15":{}},"name":{},"text":{"6":{},"10":{},"31":{},"33":{}},"component":{}}],["rel",{"_index":305,"title":{},"name":{},"text":{"2":{},"31":{}},"component":{}}],["relat",{"_index":1013,"title":{},"name":{},"text":{"8":{},"12":{},"16":{},"17":{},"25":{},"27":{},"30":{},"31":{},"35":{},"36":{},"43":{},"46":{},"47":{},"57":{},"58":{},"64":{}},"component":{}}],["releas",{"_index":276,"title":{},"name":{},"text":{"2":{},"14":{},"18":{},"27":{},"35":{},"36":{},"43":{},"46":{},"70":{},"72":{}},"component":{}}],["release_not",{"_index":171,"title":{},"name":{"2":{}},"text":{},"component":{}}],["relev",{"_index":839,"title":{},"name":{},"text":{"6":{},"13":{},"34":{}},"component":{}}],["reli",{"_index":825,"title":{},"name":{},"text":{"6":{},"27":{},"30":{}},"component":{}}],["reload",{"_index":3226,"title":{},"name":{},"text":{"71":{},"72":{}},"component":{}}],["remain",{"_index":2211,"title":{},"name":{},"text":{"34":{},"47":{},"53":{}},"component":{}}],["rememb",{"_index":2186,"title":{},"name":{},"text":{"33":{},"34":{},"59":{}},"component":{}}],["remot",{"_index":880,"title":{"72-5":{}},"name":{},"text":{"6":{},"31":{},"34":{},"35":{},"54":{},"57":{},"66":{},"72":{}},"component":{}}],["remotecatalog",{"_index":2115,"title":{},"name":{},"text":{"32":{}},"component":{}}],["remotecatalog#operation1",{"_index":2117,"title":{},"name":{},"text":{"32":{}},"component":{}}],["remotecatalog#operation2",{"_index":2119,"title":{},"name":{},"text":{"32":{}},"component":{}}],["remov",{"_index":407,"title":{"50-4":{}},"name":{},"text":{"2":{},"15":{},"24":{},"27":{},"28":{},"36":{},"50":{},"51":{},"58":{}},"component":{}}],["renam",{"_index":285,"title":{},"name":{},"text":{"2":{},"68":{}},"component":{}}],["replac",{"_index":1690,"title":{},"name":{},"text":{"22":{},"23":{},"24":{},"30":{},"42":{},"49":{},"50":{},"51":{}},"component":{}}],["replace($match($l[1",{"_index":1779,"title":{},"name":{},"text":{"25":{}},"component":{}}],["replic",{"_index":2465,"title":{},"name":{},"text":{"41":{}},"component":{}}],["repo",{"_index":435,"title":{},"name":{},"text":{"2":{},"66":{}},"component":{}}],["report",{"_index":440,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["repositori",{"_index":1140,"title":{},"name":{},"text":{"11":{},"16":{},"17":{},"19":{},"27":{},"31":{},"32":{},"34":{},"37":{},"43":{},"46":{},"50":{},"54":{},"66":{}},"component":{}}],["repres",{"_index":1273,"title":{},"name":{},"text":{"12":{},"34":{},"46":{}},"component":{}}],["represent",{"_index":1682,"title":{},"name":{},"text":{"22":{}},"component":{}}],["request",{"_index":137,"title":{"6-18":{},"35-2":{}},"name":{},"text":{"1":{},"6":{},"8":{},"9":{},"11":{},"12":{},"14":{},"17":{},"19":{},"23":{},"24":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"41":{},"46":{},"50":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{},"67":{},"70":{}},"component":{}}],["requestbodi",{"_index":2274,"title":{},"name":{},"text":{"35":{}},"component":{}}],["requestquot",{"_index":1279,"title":{},"name":{},"text":{"12":{}},"component":{}}],["requir",{"_index":51,"title":{},"name":{},"text":{"1":{},"2":{},"6":{},"9":{},"12":{},"13":{},"16":{},"19":{},"27":{},"30":{},"31":{},"33":{},"34":{},"35":{},"36":{},"40":{},"41":{},"42":{},"43":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"66":{},"67":{},"69":{},"72":{}},"component":{}}],["reserv",{"_index":680,"title":{},"name":{},"text":{"6":{},"46":{}},"component":{}}],["reset",{"_index":2457,"title":{},"name":{},"text":{"41":{},"63":{},"64":{}},"component":{}}],["resiz",{"_index":1794,"title":{},"name":{},"text":{"25":{}},"component":{}}],["resolut",{"_index":2981,"title":{},"name":{},"text":{"56":{}},"component":{}}],["resolv",{"_index":578,"title":{},"name":{},"text":{"5":{},"9":{},"31":{},"66":{}},"component":{}}],["resourc",{"_index":537,"title":{"6-21":{},"7-1":{},"8-9":{},"9-4":{},"10-3":{},"11-4":{},"12-6":{},"13-4":{},"14-2":{},"15-2":{},"16-2":{},"17-3":{},"18-12":{},"19-6":{},"22-5":{},"23-2":{},"25-4":{},"27-2":{},"30-7":{},"31-4":{},"32-9":{},"35-6":{},"36-8":{},"37-1":{},"40-3":{},"41-4":{},"42-4":{},"43-6":{},"46-4":{},"47-11":{},"48-7":{},"49-3":{},"50-11":{},"51-4":{},"53-4":{},"54-5":{},"59-6":{},"68-2":{},"71-2":{}},"name":{},"text":{"3":{},"7":{},"19":{},"31":{},"34":{},"40":{},"41":{},"42":{},"48":{},"50":{},"51":{},"53":{},"59":{}},"component":{}}],["resourceid\":\"03e6cf79",{"_index":2642,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourceid\":\"2114cc5b",{"_index":2666,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourceid\":\"505259d9",{"_index":2630,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourceid\":\"6ab362c6",{"_index":2661,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourceid\":\"d6e2d538",{"_index":2636,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourceid\":\"dc32abe6",{"_index":2624,"title":{},"name":{},"text":{"46":{}},"component":{}}],["resourcenam",{"_index":3102,"title":{},"name":{},"text":{"59":{}},"component":{}}],["respect",{"_index":1133,"title":{},"name":{},"text":{"10":{},"14":{},"19":{},"24":{},"34":{},"43":{},"47":{},"49":{},"69":{}},"component":{}}],["respond",{"_index":813,"title":{},"name":{},"text":{"6":{},"46":{},"50":{}},"component":{}}],["respons",{"_index":607,"title":{},"name":{},"text":{"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"17":{},"19":{},"22":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"41":{},"42":{},"46":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["responsedefinitionbuilder#withbodi",{"_index":2486,"title":{},"name":{},"text":{"42":{}},"component":{}}],["rest",{"_index":39,"title":{"37":{},"35-2":{},"47-10":{},"63-3":{}},"name":{},"text":{"1":{},"9":{},"10":{},"18":{},"19":{},"25":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"46":{},"47":{},"50":{},"52":{},"63":{},"72":{}},"component":{}}],["rest/v2/name/greec",{"_index":2488,"title":{},"name":{},"text":{"42":{}},"component":{}}],["restart",{"_index":1414,"title":{},"name":{},"text":{"14":{},"19":{},"36":{},"51":{}},"component":{}}],["restassur",{"_index":131,"title":{},"name":{"37":{}},"text":{"1":{}},"component":{}}],["restassured.enableloggingofrequestandresponseifvalidationfail",{"_index":2337,"title":{},"name":{},"text":{"37":{},"41":{}},"component":{}}],["restassured.enableloggingofrequestandresponseifvalidationfails();(3",{"_index":2404,"title":{},"name":{},"text":{"40":{}},"component":{}}],["restcountriesmockserv",{"_index":2501,"title":{},"name":{},"text":{"42":{}},"component":{}}],["resteasi",{"_index":1533,"title":{},"name":{},"text":{"19":{},"37":{}},"component":{}}],["restworkitemhandl",{"_index":231,"title":{},"name":{},"text":{"2":{}},"component":{}}],["result",{"_index":723,"title":{},"name":{},"text":{"6":{},"9":{},"10":{},"11":{},"16":{},"17":{},"22":{},"25":{},"31":{},"32":{},"37":{},"43":{},"46":{},"50":{},"54":{},"65":{}},"component":{}}],["result\":\"abc",{"_index":1185,"title":{},"name":{},"text":{"11":{}},"component":{}}],["result\":\"bc",{"_index":1194,"title":{},"name":{},"text":{"11":{}},"component":{}}],["resulteventref",{"_index":1509,"title":{},"name":{},"text":{"18":{}},"component":{}}],["result|=.+\\\"a",{"_index":1160,"title":{},"name":{},"text":{"11":{}},"component":{}}],["result|=.+\\\"b",{"_index":1162,"title":{},"name":{},"text":{"11":{}},"component":{}}],["result|=.+\\\"c",{"_index":1164,"title":{},"name":{},"text":{"11":{}},"component":{}}],["resum",{"_index":1143,"title":{},"name":{},"text":{"11":{},"13":{},"15":{},"16":{},"17":{},"27":{},"30":{},"33":{}},"component":{}}],["resumeev",{"_index":1447,"title":{},"name":{},"text":{"16":{}},"component":{}}],["retri",{"_index":1499,"title":{"18-7":{}},"name":{},"text":{"18":{},"40":{},"41":{}},"component":{}}],["retriev",{"_index":1809,"title":{},"name":{},"text":{"25":{},"31":{},"32":{},"48":{},"58":{}},"component":{}}],["return",{"_index":653,"title":{"6-5":{},"6-10":{}},"name":{},"text":{"6":{},"9":{},"10":{},"11":{},"16":{},"17":{},"19":{},"22":{},"25":{},"31":{},"32":{},"34":{},"35":{},"37":{},"42":{},"57":{},"58":{}},"component":{}}],["reus",{"_index":295,"title":{},"name":{},"text":{"2":{}},"component":{}}],["revers",{"_index":2605,"title":{},"name":{},"text":{"46":{}},"component":{}}],["review",{"_index":270,"title":{},"name":{},"text":{"2":{},"52":{}},"component":{}}],["revis",{"_index":2987,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["right",{"_index":1062,"title":{},"name":{},"text":{"9":{},"64":{},"66":{},"67":{},"68":{},"69":{},"70":{},"72":{}},"component":{}}],["rightel",{"_index":1058,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["roadmap",{"_index":523,"title":{"52":{},"52-3":{}},"name":{},"text":{"3":{},"48":{},"49":{},"50":{},"51":{},"53":{}},"component":{}}],["role",{"_index":828,"title":{},"name":{},"text":{"6":{},"14":{},"46":{},"69":{}},"component":{}}],["roll",{"_index":2902,"title":{},"name":{},"text":{"53":{}},"component":{}}],["rollout",{"_index":2895,"title":{},"name":{},"text":{"53":{}},"component":{}}],["root",{"_index":777,"title":{},"name":{},"text":{"6":{},"12":{},"31":{}},"component":{}}],["rout",{"_index":153,"title":{"22":{},"22-2":{}},"name":{"22":{}},"text":{"1":{},"6":{},"19":{},"22":{},"37":{},"52":{},"56":{},"57":{},"58":{}},"component":{}}],["router",{"_index":3062,"title":{},"name":{},"text":{"57":{}},"component":{}}],["routes.v1.route.openshift.io",{"_index":3117,"title":{},"name":{},"text":{"59":{}},"component":{}}],["row",{"_index":1790,"title":{},"name":{},"text":{"25":{}},"component":{}}],["rpc",{"_index":853,"title":{},"name":{},"text":{"6":{},"18":{},"33":{},"34":{}},"component":{}}],["rpc:divis",{"_index":866,"title":{},"name":{},"text":{"6":{}},"component":{}}],["rpccustomtypehandl",{"_index":871,"title":{},"name":{},"text":{"6":{}},"component":{}}],["rpccustomworkitemhandl",{"_index":882,"title":{},"name":{},"text":{"6":{}},"component":{}}],["rpccustomworkitemhandlerconfig",{"_index":905,"title":{},"name":{},"text":{"6":{}},"component":{}}],["rule",{"_index":1351,"title":{},"name":{},"text":{"14":{},"18":{},"30":{},"31":{},"32":{},"35":{}},"component":{}}],["rulebas",{"_index":281,"title":{},"name":{},"text":{"2":{}},"component":{}}],["ruleunit",{"_index":430,"title":{},"name":{},"text":{"2":{}},"component":{}}],["run",{"_index":59,"title":{"27":{},"11-2":{},"11-3":{},"19-4":{},"31-3":{},"32-5":{},"32-6":{},"32-7":{},"34-2":{},"46-3":{},"47-4":{},"48-6":{},"50-3":{}},"name":{},"text":{"1":{},"6":{},"8":{},"11":{},"14":{},"19":{},"20":{},"23":{},"24":{},"25":{},"27":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"65":{},"67":{},"72":{}},"component":{}}],["run.jar",{"_index":2057,"title":{},"name":{},"text":{"31":{},"32":{},"59":{}},"component":{}}],["runtim",{"_index":156,"title":{"8-7":{}},"name":{"4":{},"25":{},"38":{}},"text":{"1":{},"2":{},"5":{},"6":{},"10":{},"19":{},"22":{},"27":{},"35":{},"36":{},"43":{},"49":{},"61":{}},"component":{}}],["runtimeexcept",{"_index":1131,"title":{},"name":{},"text":{"10":{}},"component":{}}],["s",{"_index":2350,"title":{},"name":{},"text":{"37":{},"50":{}},"component":{}}],["s2i",{"_index":2907,"title":{},"name":{},"text":{"54":{}},"component":{}}],["safe",{"_index":2835,"title":{},"name":{},"text":{"51":{}},"component":{}}],["safeti",{"_index":1880,"title":{},"name":{},"text":{"28":{}},"component":{}}],["saga",{"_index":149,"title":{"46":{},"46-1":{},"46-2":{},"46-3":{}},"name":{"46":{}},"text":{"1":{},"18":{},"46":{}},"component":{}}],["saludo",{"_index":1038,"title":{},"name":{},"text":{"9":{},"50":{}},"component":{}}],["same",{"_index":57,"title":{},"name":{},"text":{"1":{},"6":{},"9":{},"10":{},"12":{},"13":{},"14":{},"15":{},"18":{},"22":{},"24":{},"27":{},"30":{},"32":{},"34":{},"35":{},"36":{},"41":{},"47":{},"51":{},"59":{},"69":{}},"component":{}}],["sampl",{"_index":1742,"title":{},"name":{},"text":{"24":{},"68":{}},"component":{}}],["sandbox",{"_index":3199,"title":{},"name":{},"text":{"67":{}},"component":{}}],["sanit",{"_index":1897,"title":{},"name":{},"text":{"30":{},"35":{}},"component":{}}],["save",{"_index":1045,"title":{},"name":{},"text":{"9":{},"23":{},"43":{},"50":{},"68":{},"69":{},"71":{},"72":{}},"component":{}}],["sayhello",{"_index":2199,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sayhelloalllanguag",{"_index":2200,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sayhelloapikey",{"_index":1919,"title":{},"name":{},"text":{"30":{}},"component":{}}],["sayhellobas",{"_index":1906,"title":{},"name":{},"text":{"30":{}},"component":{}}],["sayhellobear",{"_index":1915,"title":{},"name":{},"text":{"30":{}},"component":{}}],["sayhellomultiplelanguag",{"_index":2204,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sayhellomultiplelanguagesatonc",{"_index":2201,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sayhellooauth2",{"_index":1925,"title":{},"name":{},"text":{"30":{}},"component":{}}],["sb",{"_index":1286,"title":{},"name":{},"text":{"12":{},"47":{}},"component":{}}],["scaffold",{"_index":2539,"title":{},"name":{},"text":{"43":{}},"component":{}}],["scale",{"_index":2303,"title":{},"name":{},"text":{"36":{}},"component":{}}],["scan",{"_index":3096,"title":{},"name":{},"text":{"59":{}},"component":{}}],["scenario",{"_index":259,"title":{"50-7":{}},"name":{},"text":{"2":{},"12":{},"15":{},"18":{},"34":{},"40":{},"46":{},"50":{},"53":{}},"component":{}}],["schedul",{"_index":2300,"title":{},"name":{},"text":{"36":{},"46":{}},"component":{}}],["schema",{"_index":89,"title":{"7":{}},"name":{"7":{}},"text":{"1":{},"2":{},"7":{},"27":{},"28":{},"30":{},"31":{},"33":{},"35":{},"36":{},"63":{},"71":{},"72":{}},"component":{}}],["schema.json",{"_index":1979,"title":{},"name":{},"text":{"31":{}},"component":{}}],["scheme",{"_index":1728,"title":{},"name":{},"text":{"24":{},"30":{},"31":{},"34":{},"35":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["scope",{"_index":929,"title":{},"name":{},"text":{"8":{},"30":{},"31":{}},"component":{}}],["score",{"_index":1244,"title":{},"name":{},"text":{"12":{}},"component":{}}],["scrap_interv",{"_index":1740,"title":{},"name":{},"text":{"24":{}},"component":{}}],["scrape_interv",{"_index":1735,"title":{},"name":{},"text":{"24":{}},"component":{}}],["scratch",{"_index":3211,"title":{},"name":{},"text":{"68":{}},"component":{}}],["screen",{"_index":176,"title":{},"name":{},"text":{"2":{},"63":{},"64":{},"66":{},"69":{},"70":{}},"component":{}}],["script",{"_index":207,"title":{"28-4":{}},"name":{},"text":{"2":{},"28":{},"36":{},"43":{}},"component":{}}],["search",{"_index":1308,"title":{},"name":{},"text":{"13":{},"59":{},"63":{},"72":{}},"component":{}}],["sec",{"_index":2577,"title":{},"name":{},"text":{"46":{}},"component":{}}],["second",{"_index":610,"title":{},"name":{},"text":{"5":{},"6":{},"24":{},"40":{},"41":{},"47":{},"50":{}},"component":{}}],["secret",{"_index":1501,"title":{"18-11":{},"48-3":{},"48-4":{}},"name":{},"text":{"18":{},"30":{},"31":{},"48":{},"56":{},"69":{}},"component":{}}],["secret.method=bas",{"_index":1947,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["secret.value=secret",{"_index":1948,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["secret/timeout",{"_index":2697,"title":{},"name":{},"text":{"47":{}},"component":{}}],["section",{"_index":732,"title":{},"name":{},"text":{"6":{},"7":{},"8":{},"12":{},"13":{},"14":{},"18":{},"22":{},"23":{},"25":{},"31":{},"35":{},"36":{},"40":{},"41":{},"42":{},"43":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"63":{},"68":{},"72":{}},"component":{}}],["secur",{"_index":7,"title":{"1-6":{}},"name":{},"text":{"19":{},"30":{},"31":{},"43":{},"67":{}},"component":{}}],["security_example_json",{"_index":1898,"title":{},"name":{},"text":{"30":{}},"component":{}}],["security_scheme_nam",{"_index":1899,"title":{},"name":{},"text":{"30":{}},"component":{}}],["securityschem",{"_index":1889,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["sed",{"_index":2745,"title":{},"name":{},"text":{"48":{}},"component":{}}],["see",{"_index":735,"title":{},"name":{},"text":{"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"50":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["select",{"_index":1030,"title":{},"name":{},"text":{"9":{},"13":{},"24":{},"31":{},"42":{},"46":{},"56":{},"57":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["selector",{"_index":1729,"title":{},"name":{},"text":{"24":{},"59":{}},"component":{}}],["self",{"_index":3202,"title":{},"name":{},"text":{"67":{}},"component":{}}],["semant",{"_index":2221,"title":{},"name":{},"text":{"34":{}},"component":{}}],["semicolon",{"_index":3120,"title":{},"name":{},"text":{"59":{}},"component":{}}],["send",{"_index":198,"title":{"6-15":{},"6-16":{},"12-3":{},"23-1":{},"35-2":{},"64-2":{}},"name":{},"text":{"2":{},"6":{},"11":{},"12":{},"17":{},"19":{},"24":{},"31":{},"32":{},"33":{},"34":{},"35":{},"41":{},"46":{},"48":{},"51":{},"56":{},"57":{},"58":{},"64":{},"65":{}},"component":{}}],["sendev",{"_index":2189,"title":{},"name":{},"text":{"33":{}},"component":{}}],["sendresum",{"_index":2187,"title":{},"name":{},"text":{"33":{}},"component":{}}],["sendtolog",{"_index":1699,"title":{},"name":{},"text":{"22":{}},"component":{}}],["sensit",{"_index":1111,"title":{},"name":{},"text":{"10":{}},"component":{}}],["sent",{"_index":1709,"title":{},"name":{},"text":{"23":{},"36":{},"41":{},"64":{}},"component":{}}],["separ",{"_index":282,"title":{},"name":{},"text":{"2":{},"10":{},"15":{},"31":{},"32":{},"34":{},"43":{},"57":{}},"component":{}}],["sequenc",{"_index":1089,"title":{},"name":{},"text":{"10":{},"46":{}},"component":{}}],["sequenti",{"_index":2136,"title":{},"name":{},"text":{"32":{},"35":{}},"component":{}}],["seri",{"_index":1150,"title":{},"name":{},"text":{"11":{},"51":{}},"component":{}}],["serial",{"_index":754,"title":{},"name":{},"text":{"6":{},"11":{},"22":{}},"component":{}}],["serv",{"_index":551,"title":{},"name":{},"text":{"5":{},"6":{},"12":{},"19":{},"23":{},"27":{},"56":{},"57":{},"58":{}},"component":{}}],["server",{"_index":612,"title":{"34-4":{},"42-2":{},"42-3":{}},"name":{},"text":{"5":{},"6":{},"24":{},"30":{},"31":{},"33":{},"34":{},"41":{},"42":{},"48":{},"51":{},"67":{}},"component":{}}],["serverless",{"_index":17,"title":{"1":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"16":{},"17":{},"18":{},"20":{},"23":{},"30":{},"31":{},"40":{},"43":{},"46":{},"47":{},"51":{},"52":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{},"18-4":{},"22-1":{},"22-2":{},"24-1":{},"24-2":{},"24-5":{},"31-2":{},"43-1":{},"48-4":{},"51-2":{},"59-3":{},"62-1":{},"65-1":{},"66-1":{},"67-2":{},"68-1":{},"70-1":{},"70-2":{},"71-1":{},"72-1":{},"72-2":{},"72-3":{},"72-4":{}},"name":{"18":{},"25":{},"51":{},"65":{},"66":{},"67":{},"68":{},"69":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["serverless/serverless",{"_index":3085,"title":{},"name":{},"text":{"58":{}},"component":{}}],["serverlessworkflow",{"_index":164,"title":{},"name":{},"text":{},"component":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"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":{}}}],["servic",{"_index":4,"title":{"6":{},"19":{},"23":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"42":{},"49":{},"50":{},"53":{},"59":{},"69":{},"1-4":{},"1-11":{},"30-1":{},"32-3":{},"32-4":{},"32-5":{},"32-8":{},"35-5":{},"36-1":{},"36-2":{},"36-5":{},"36-6":{},"42-1":{},"47-6":{},"50-2":{},"50-5":{},"59-1":{},"59-2":{},"59-3":{},"59-4":{},"59-5":{},"67-1":{},"69-1":{},"69-2":{},"72-5":{},"72-6":{}},"name":{"19":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"42":{},"59":{},"69":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"65":{},"67":{},"68":{},"69":{},"72":{}},"component":{}}],["service(",{"_index":2271,"title":{},"name":{},"text":{"35":{}},"component":{}}],["service.default.10.109.169.193.sslip.io",{"_index":767,"title":{},"name":{},"text":{"6":{},"23":{}},"component":{}}],["service.default.10.109.169.193.sslip.io/plainjsonfunct",{"_index":775,"title":{},"name":{},"text":{"6":{}},"component":{}}],["service.serving.knative.dev/timeout",{"_index":2709,"title":{},"name":{},"text":{"47":{}},"component":{}}],["service.yml",{"_index":2017,"title":{},"name":{},"text":{"31":{}},"component":{}}],["service.yml#exchanger",{"_index":1984,"title":{},"name":{},"text":{"31":{}},"component":{}}],["service/exchang",{"_index":2021,"title":{},"name":{},"text":{"31":{}},"component":{}}],["service/job",{"_index":2702,"title":{},"name":{},"text":{"47":{}},"component":{}}],["service/timeout",{"_index":2699,"title":{},"name":{},"text":{"47":{}},"component":{}}],["service:java:com.acme.myinterfaceorclass::mymethod",{"_index":679,"title":{},"name":{},"text":{"6":{}},"component":{}}],["service:java:org.kie.kogito.examples.evenservice::iseven",{"_index":1129,"title":{},"name":{},"text":{"10":{}},"component":{}}],["service:org.kie.kogito.examples.exchangeworkflowhelper::validateinput",{"_index":1981,"title":{},"name":{},"text":{"31":{}},"component":{}}],["service?path=/funct",{"_index":1707,"title":{},"name":{},"text":{"23":{}},"component":{}}],["service?path=/plainjsonfunct",{"_index":773,"title":{},"name":{},"text":{"6":{}},"component":{}}],["service?path=/plainjsonfunction&ascloudevent=tru",{"_index":791,"title":{},"name":{},"text":{"6":{}},"component":{}}],["service_api",{"_index":2111,"title":{},"name":{},"text":{"32":{}},"component":{}}],["service_api.url=http://localhost:8282",{"_index":2110,"title":{},"name":{},"text":{"32":{}},"component":{}}],["service_error",{"_index":1988,"title":{},"name":{},"text":{"31":{}},"component":{}}],["servicemonitor",{"_index":1724,"title":{},"name":{},"text":{"24":{}},"component":{}}],["services.app",{"_index":3200,"title":{},"name":{},"text":{"67":{}},"component":{}}],["services.serving.knative.dev",{"_index":3000,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["services.v1",{"_index":3111,"title":{},"name":{},"text":{"59":{}},"component":{}}],["services.v1.serving.knative.dev",{"_index":3112,"title":{},"name":{},"text":{"59":{}},"component":{}}],["serving.knative.dev/v1",{"_index":1290,"title":{},"name":{},"text":{"12":{},"56":{},"57":{},"58":{}},"component":{}}],["serving.request",{"_index":815,"title":{},"name":{},"text":{"6":{}},"component":{}}],["session",{"_index":283,"title":{},"name":{},"text":{"2":{}},"component":{}}],["set",{"_index":333,"title":{"63-5":{},"66-1":{},"67-1":{},"72-4":{}},"name":{},"text":{"2":{},"5":{},"6":{},"8":{},"10":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"20":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"40":{},"42":{},"43":{},"48":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"69":{},"70":{},"72":{}},"component":{}}],["setbodi",{"_index":1685,"title":{},"name":{},"text":{"22":{}},"component":{}}],["setconst",{"_index":1063,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["setter",{"_index":2016,"title":{},"name":{},"text":{"31":{}},"component":{}}],["setting.json",{"_index":3236,"title":{},"name":{},"text":{"72":{}},"component":{}}],["settings.json",{"_index":3238,"title":{},"name":{},"text":{"72":{}},"component":{}}],["setup",{"_index":308,"title":{},"name":{},"text":{"2":{},"6":{},"14":{},"16":{},"27":{},"28":{},"43":{},"63":{},"67":{},"72":{}},"component":{}}],["setup.j",{"_index":1768,"title":{},"name":{},"text":{"25":{}},"component":{}}],["sever",{"_index":1050,"title":{},"name":{},"text":{"9":{},"13":{},"43":{}},"component":{}}],["share",{"_index":640,"title":{},"name":{},"text":{"5":{},"9":{},"27":{},"34":{},"66":{}},"component":{}}],["shell",{"_index":2537,"title":{},"name":{},"text":{"43":{}},"component":{}}],["ship",{"_index":2460,"title":{},"name":{},"text":{"41":{},"46":{}},"component":{}}],["shippingrespons",{"_index":2635,"title":{},"name":{},"text":{"46":{}},"component":{}}],["shippingservic",{"_index":2653,"title":{},"name":{},"text":{"46":{}},"component":{}}],["short",{"_index":1096,"title":{},"name":{},"text":{"10":{},"69":{}},"component":{}}],["shortli",{"_index":3176,"title":{},"name":{},"text":{"65":{}},"component":{}}],["shouldn’t",{"_index":322,"title":{},"name":{},"text":{"2":{}},"component":{}}],["show",{"_index":288,"title":{},"name":{},"text":{"2":{},"6":{},"11":{},"12":{},"14":{},"16":{},"17":{},"18":{},"25":{},"30":{},"31":{},"36":{},"41":{},"46":{},"47":{},"63":{},"65":{}},"component":{}}],["showcas",{"_index":925,"title":{"8-8":{},"47-7":{},"47-9":{}},"name":{"47":{}},"text":{"36":{},"47":{}},"component":{}}],["showcase.default.10.105.86.217.sslip.io",{"_index":2717,"title":{},"name":{},"text":{"47":{}},"component":{}}],["showcase.default.10.105.86.217.sslip.io/callback_state_timeout",{"_index":2721,"title":{},"name":{},"text":{"47":{}},"component":{}}],["showcase.default.10.105.86.217.sslip.io/event_state_timeout",{"_index":2722,"title":{},"name":{},"text":{"47":{}},"component":{}}],["showcase.default.10.105.86.217.sslip.io/switch_state_timeout",{"_index":2723,"title":{},"name":{},"text":{"47":{}},"component":{}}],["shown",{"_index":341,"title":{},"name":{},"text":{"2":{},"6":{},"11":{},"12":{},"15":{},"17":{},"18":{},"24":{},"25":{},"30":{},"31":{},"32":{},"35":{},"36":{},"40":{},"41":{},"42":{},"43":{},"46":{},"59":{},"66":{},"67":{},"69":{},"72":{}},"component":{}}],["shut",{"_index":2314,"title":{},"name":{},"text":{"36":{}},"component":{}}],["shutdown",{"_index":2301,"title":{},"name":{},"text":{"36":{}},"component":{}}],["side",{"_index":1445,"title":{"34-4":{},"34-5":{}},"name":{},"text":{"16":{},"25":{},"34":{},"68":{},"72":{}},"component":{}}],["sign",{"_index":3185,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["signal",{"_index":2453,"title":{},"name":{},"text":{"41":{},"52":{}},"component":{}}],["signatur",{"_index":687,"title":{},"name":{},"text":{"6":{}},"component":{}}],["signific",{"_index":1349,"title":{},"name":{},"text":{"14":{}},"component":{}}],["silent",{"_index":1421,"title":{},"name":{},"text":{"15":{}},"component":{}}],["silentev",{"_index":1424,"title":{},"name":{},"text":{"15":{}},"component":{}}],["similar",{"_index":1065,"title":{},"name":{},"text":{"9":{},"15":{},"24":{},"30":{},"31":{},"35":{},"37":{},"47":{},"50":{},"59":{}},"component":{}}],["simpl",{"_index":855,"title":{"34-3":{}},"name":{},"text":{"6":{},"17":{},"22":{},"30":{},"34":{},"47":{}},"component":{}}],["simpli",{"_index":1697,"title":{},"name":{},"text":{"22":{},"47":{},"48":{}},"component":{}}],["simplic",{"_index":2693,"title":{},"name":{},"text":{"47":{}},"component":{}}],["simplifi",{"_index":753,"title":{},"name":{},"text":{"6":{},"59":{}},"component":{}}],["simul",{"_index":1442,"title":{},"name":{},"text":{"16":{},"18":{},"32":{}},"component":{}}],["simultan",{"_index":1141,"title":{},"name":{},"text":{"11":{},"41":{}},"component":{}}],["singl",{"_index":245,"title":{},"name":{},"text":{"2":{},"15":{},"18":{},"34":{},"35":{},"36":{},"46":{},"47":{},"65":{},"68":{}},"component":{}}],["sink",{"_index":139,"title":{"41":{},"12-2":{}},"name":{},"text":{"1":{},"12":{},"37":{},"41":{},"52":{}},"component":{}}],["sink.start",{"_index":2426,"title":{},"name":{},"text":{"41":{}},"component":{}}],["sink.stop",{"_index":2430,"title":{},"name":{},"text":{"41":{}},"component":{}}],["sink.stubfor(post(\"/\").willreturn(aresponse().withbody(\"ok\").withstatus(200",{"_index":2427,"title":{},"name":{},"text":{"41":{}},"component":{}}],["sink.verify(1",{"_index":2449,"title":{},"name":{},"text":{"41":{}},"component":{}}],["sink.verify(2",{"_index":2447,"title":{},"name":{},"text":{"41":{}},"component":{}}],["sinkbind",{"_index":1209,"title":{"41-2":{}},"name":{},"text":{"12":{},"41":{}},"component":{}}],["sinkbinding.sources.knative.dev/job",{"_index":2705,"title":{},"name":{},"text":{"47":{}},"component":{}}],["sinkbinding.sources.knative.dev/sb",{"_index":2713,"title":{},"name":{},"text":{"47":{}},"component":{}}],["situat",{"_index":699,"title":{},"name":{},"text":{"6":{},"8":{},"46":{}},"component":{}}],["size",{"_index":622,"title":{},"name":{},"text":{"5":{},"13":{},"54":{}},"component":{}}],["size=100",{"_index":1343,"title":{},"name":{},"text":{"13":{}},"component":{}}],["skip",{"_index":1047,"title":{},"name":{},"text":{"9":{},"37":{},"47":{},"51":{},"54":{},"58":{},"69":{}},"component":{}}],["sleep",{"_index":1502,"title":{},"name":{},"text":{"18":{}},"component":{}}],["slider",{"_index":3162,"title":{},"name":{},"text":{"64":{}},"component":{}}],["small",{"_index":2931,"title":{},"name":{},"text":{"54":{}},"component":{}}],["smallry",{"_index":1213,"title":{"13-1":{},"13-2":{}},"name":{},"text":{"12":{},"13":{},"19":{},"33":{},"37":{},"43":{}},"component":{}}],["smart",{"_index":480,"title":{},"name":{},"text":{"2":{}},"component":{}}],["snapshot",{"_index":1536,"title":{},"name":{},"text":{"19":{},"24":{},"27":{},"32":{},"51":{},"56":{},"57":{},"58":{}},"component":{}}],["snippet",{"_index":956,"title":{},"name":{},"text":{"8":{},"34":{}},"component":{}}],["solut",{"_index":1973,"title":{},"name":{},"text":{"31":{}},"component":{}}],["somehow",{"_index":2816,"title":{},"name":{},"text":{"50":{}},"component":{}}],["someon",{"_index":3187,"title":{},"name":{},"text":{"66":{}},"component":{}}],["someth",{"_index":2813,"title":{},"name":{},"text":{"50":{},"53":{}},"component":{}}],["sometim",{"_index":1207,"title":{},"name":{},"text":{"12":{},"50":{}},"component":{}}],["sonar",{"_index":439,"title":{},"name":{},"text":{"2":{}},"component":{}}],["soon",{"_index":2903,"title":{},"name":{},"text":{"53":{}},"component":{}}],["sort",{"_index":1797,"title":{},"name":{},"text":{"25":{},"64":{}},"component":{}}],["sortord",{"_index":1798,"title":{},"name":{},"text":{"25":{}},"component":{}}],["sourc",{"_index":796,"title":{"12-1":{}},"name":{},"text":{"6":{},"12":{},"14":{},"15":{},"16":{},"17":{},"25":{},"27":{},"31":{},"34":{},"40":{},"41":{},"42":{},"47":{},"52":{},"62":{},"63":{},"64":{},"70":{}},"component":{}}],["sources.knative.dev/v1",{"_index":1285,"title":{},"name":{},"text":{"12":{}},"component":{}}],["span",{"_index":1791,"title":{},"name":{},"text":{"25":{}},"component":{}}],["spanish",{"_index":1033,"title":{},"name":{},"text":{"9":{},"34":{},"50":{}},"component":{}}],["spec",{"_index":1288,"title":{},"name":{},"text":{"12":{},"24":{},"48":{},"50":{},"56":{},"57":{},"58":{},"65":{},"72":{}},"component":{}}],["spec.host",{"_index":3076,"title":{},"name":{},"text":{"58":{}},"component":{}}],["spec.platform.registri",{"_index":332,"title":{},"name":{},"text":{"2":{}},"component":{}}],["spec.platform.registry.secret",{"_index":2743,"title":{},"name":{},"text":{"48":{}},"component":{}}],["spec_titl",{"_index":598,"title":{},"name":{},"text":{"5":{},"32":{}},"component":{}}],["special",{"_index":1681,"title":{},"name":{},"text":{"22":{}},"component":{}}],["specif",{"_index":71,"title":{"18":{},"35-2":{},"42-3":{},"52-4":{}},"name":{"18":{}},"text":{"1":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"14":{},"17":{},"18":{},"19":{},"20":{},"24":{},"25":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"41":{},"42":{},"43":{},"46":{},"48":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"59":{},"63":{},"65":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["specifi",{"_index":776,"title":{},"name":{},"text":{"6":{},"7":{},"8":{},"9":{},"10":{},"13":{},"17":{},"18":{},"27":{},"28":{},"31":{},"37":{},"40":{},"41":{},"43":{},"48":{},"54":{},"72":{}},"component":{}}],["specs/acm",{"_index":1983,"title":{},"name":{},"text":{"31":{}},"component":{}}],["specs/multiplication.yaml#dooper",{"_index":2277,"title":{},"name":{},"text":{"35":{}},"component":{}}],["specs/subtraction.yaml#dooper",{"_index":1056,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["specvers",{"_index":793,"title":{},"name":{},"text":{"6":{},"11":{},"12":{},"14":{},"19":{},"32":{},"41":{}},"component":{}}],["specversion\":\"1.0\",\"id\":\"41495513",{"_index":1235,"title":{},"name":{},"text":{"12":{}},"component":{}}],["speed",{"_index":2843,"title":{},"name":{},"text":{"51":{},"54":{}},"component":{}}],["split",{"_index":448,"title":{},"name":{},"text":{"2":{}},"component":{}}],["spring",{"_index":2262,"title":{},"name":{},"text":{"35":{}},"component":{}}],["springboot",{"_index":381,"title":{},"name":{},"text":{"2":{}},"component":{}}],["sql",{"_index":1863,"title":{},"name":{},"text":{"28":{}},"component":{}}],["squarest",{"_index":1079,"title":{},"name":{},"text":{"9":{}},"component":{}}],["sr2j2",{"_index":2850,"title":{},"name":{},"text":{"51":{}},"component":{}}],["src/main/resourc",{"_index":1154,"title":{},"name":{},"text":{"11":{},"19":{},"32":{},"34":{},"35":{},"43":{},"65":{},"66":{}},"component":{}}],["src/main/resources/application.properti",{"_index":553,"title":{},"name":{},"text":{"5":{}},"component":{}}],["src/main/resources/dashboard",{"_index":3133,"title":{},"name":{},"text":{"61":{}},"component":{}}],["src/main/resources/myopenapifile.yaml",{"_index":2258,"title":{},"name":{},"text":{"35":{}},"component":{}}],["src/main/resources/openapi/stock",{"_index":2097,"title":{},"name":{},"text":{"32":{}},"component":{}}],["src/main/resources/rout",{"_index":1680,"title":{},"name":{},"text":{"22":{}},"component":{}}],["src/main/resources/spec",{"_index":2018,"title":{},"name":{},"text":{"31":{},"35":{}},"component":{}}],["src/test/java/org/kie/kogito/exampl",{"_index":2327,"title":{},"name":{},"text":{"37":{}},"component":{}}],["ssl",{"_index":230,"title":{},"name":{},"text":{"2":{}},"component":{}}],["sso",{"_index":3249,"title":{},"name":{},"text":{"72":{}},"component":{}}],["stage",{"_index":1084,"title":{},"name":{},"text":{"9":{},"51":{},"53":{}},"component":{}}],["standard",{"_index":936,"title":{},"name":{},"text":{"8":{},"30":{},"41":{}},"component":{}}],["start",{"_index":1,"title":{"1-1":{},"42-2":{},"42-3":{},"63-2":{},"63-3":{},"63-6":{},"63-7":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"24":{},"25":{},"28":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"46":{},"50":{},"51":{},"53":{},"54":{},"57":{},"59":{},"62":{},"63":{},"64":{},"65":{},"68":{}},"component":{}}],["start\":\"waitforev",{"_index":1429,"title":{},"name":{},"text":{"15":{}},"component":{}}],["start=tru",{"_index":1836,"title":{},"name":{},"text":{"27":{},"28":{}},"component":{}}],["startkeycloak.sh",{"_index":2052,"title":{},"name":{},"text":{"31":{}},"component":{}}],["startsink",{"_index":2424,"title":{},"name":{},"text":{"41":{}},"component":{}}],["startup",{"_index":1615,"title":{},"name":{},"text":{"19":{},"27":{},"36":{},"54":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["startwiremockserverforfeaturea",{"_index":2517,"title":{},"name":{},"text":{"42":{}},"component":{}}],["startwiremockserverforfeatureb",{"_index":2518,"title":{},"name":{},"text":{"42":{}},"component":{}}],["state",{"_index":117,"title":{"15":{},"16":{},"8-3":{},"8-4":{},"8-5":{},"16-1":{},"18-1":{},"35-4":{}},"name":{},"text":{"1":{},"2":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"41":{},"46":{},"47":{},"50":{},"52":{},"53":{},"64":{},"65":{}},"component":{}}],["state[ev",{"_index":1506,"title":{},"name":{},"text":{"18":{}},"component":{}}],["statedatafilt",{"_index":1083,"title":{},"name":{},"text":{"9":{},"34":{}},"component":{}}],["statefulsets.v1.app",{"_index":3116,"title":{},"name":{},"text":{"59":{}},"component":{}}],["static",{"_index":759,"title":{},"name":{},"text":{"6":{},"19":{},"31":{},"37":{},"40":{},"41":{},"42":{},"59":{}},"component":{}}],["static_config",{"_index":1738,"title":{},"name":{},"text":{"24":{}},"component":{}}],["static_init",{"_index":3128,"title":{},"name":{},"text":{"59":{}},"component":{}}],["staticappl",{"_index":369,"title":{},"name":{},"text":{"2":{}},"component":{}}],["statu",{"_index":272,"title":{"53":{},"53-1":{},"65-2":{}},"name":{"53":{}},"text":{"2":{},"3":{},"10":{},"18":{},"31":{},"36":{},"37":{},"42":{},"50":{},"51":{},"53":{},"57":{},"64":{},"65":{}},"component":{}}],["statuscode(200",{"_index":2445,"title":{},"name":{},"text":{"41":{}},"component":{}}],["statuscode(201",{"_index":2343,"title":{},"name":{},"text":{"37":{},"40":{}},"component":{}}],["statuscode(404",{"_index":2414,"title":{},"name":{},"text":{"40":{}},"component":{}}],["stay",{"_index":2312,"title":{},"name":{},"text":{"36":{}},"component":{}}],["stdout",{"_index":1596,"title":{},"name":{},"text":{"19":{}},"component":{}}],["step",{"_index":1684,"title":{},"name":{},"text":{"22":{},"23":{},"25":{},"43":{},"46":{},"47":{},"48":{},"53":{},"54":{},"56":{},"57":{},"58":{},"69":{}},"component":{}}],["still",{"_index":431,"title":{},"name":{},"text":{"2":{},"56":{},"57":{},"58":{}},"component":{}}],["stock",{"_index":2106,"title":{},"name":{},"text":{"32":{},"46":{}},"component":{}}],["stock_portfolio_svc_yaml",{"_index":2096,"title":{},"name":{},"text":{"32":{}},"component":{}}],["stockprofit",{"_index":2128,"title":{},"name":{},"text":{"32":{}},"component":{}}],["stockrespons",{"_index":2622,"title":{},"name":{},"text":{"46":{}},"component":{}}],["stop",{"_index":1556,"title":{},"name":{},"text":{"19":{},"31":{},"33":{},"37":{},"41":{},"42":{},"50":{}},"component":{}}],["stopsink",{"_index":2429,"title":{},"name":{},"text":{"41":{}},"component":{}}],["storag",{"_index":133,"title":{"61-3":{}},"name":{},"text":{"1":{},"61":{},"72":{}},"component":{}}],["store",{"_index":1085,"title":{},"name":{},"text":{"9":{},"13":{},"14":{},"27":{},"34":{},"35":{},"36":{},"47":{},"57":{},"58":{},"70":{},"72":{}},"component":{}}],["straight",{"_index":2606,"title":{},"name":{},"text":{"46":{}},"component":{}}],["straightforward",{"_index":2561,"title":{},"name":{},"text":{"43":{}},"component":{}}],["strategi",{"_index":577,"title":{"43-4":{}},"name":{},"text":{"5":{},"10":{},"13":{},"27":{},"32":{},"43":{}},"component":{}}],["strategy=buff",{"_index":1341,"title":{},"name":{},"text":{"13":{}},"component":{}}],["strategy=none|unbounded|fail|drop",{"_index":1347,"title":{},"name":{},"text":{"13":{}},"component":{}}],["strategy=project",{"_index":1841,"title":{},"name":{},"text":{"27":{}},"component":{}}],["stream",{"_index":225,"title":{"34-4":{},"34-5":{},"34-6":{}},"name":{},"text":{"2":{},"5":{},"19":{},"34":{}},"component":{}}],["string",{"_index":349,"title":{},"name":{},"text":{"2":{},"5":{},"6":{},"7":{},"9":{},"10":{},"11":{},"16":{},"22":{},"27":{},"30":{},"31":{},"34":{},"35":{},"40":{},"42":{},"59":{},"72":{}},"component":{}}],["structur",{"_index":186,"title":{},"name":{},"text":{"2":{},"6":{},"12":{},"28":{},"35":{},"50":{},"53":{},"65":{},"71":{},"72":{}},"component":{}}],["stub",{"_index":2454,"title":{},"name":{},"text":{"41":{},"42":{}},"component":{}}],["studio",{"_index":1527,"title":{},"name":{},"text":{"19":{},"20":{},"72":{}},"component":{}}],["stunner",{"_index":3159,"title":{},"name":{},"text":{"64":{}},"component":{}}],["sub",{"_index":964,"title":{},"name":{},"text":{"8":{}},"component":{}}],["subcommand",{"_index":2535,"title":{},"name":{},"text":{"43":{}},"component":{}}],["subdirectori",{"_index":289,"title":{},"name":{},"text":{"2":{}},"component":{}}],["subject",{"_index":798,"title":{},"name":{},"text":{"6":{},"12":{}},"component":{}}],["submit",{"_index":1710,"title":{},"name":{},"text":{"23":{}},"component":{}}],["subscrib",{"_index":1294,"title":{},"name":{},"text":{"12":{},"33":{}},"component":{}}],["subscript",{"_index":1291,"title":{},"name":{"45":{}},"text":{"12":{},"33":{}},"component":{}}],["substitut",{"_index":2293,"title":{},"name":{},"text":{"35":{}},"component":{}}],["subtract",{"_index":1055,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["subtraction.yaml",{"_index":2289,"title":{},"name":{},"text":{"35":{}},"component":{}}],["subtraction_url",{"_index":2295,"title":{},"name":{},"text":{"35":{}},"component":{}}],["subtraction_yaml",{"_index":2290,"title":{},"name":{},"text":{"35":{}},"component":{}}],["subtractvalu",{"_index":1059,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["succeed",{"_index":3083,"title":{},"name":{},"text":{"58":{}},"component":{}}],["success",{"_index":1110,"title":{},"name":{},"text":{"10":{},"31":{},"37":{},"46":{},"51":{},"63":{},"64":{},"65":{}},"component":{}}],["successfulli",{"_index":1446,"title":{},"name":{},"text":{"16":{},"17":{},"37":{},"41":{},"43":{},"53":{},"63":{},"64":{},"65":{},"70":{}},"component":{}}],["successthreshold",{"_index":3034,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["such",{"_index":918,"title":{},"name":{},"text":{"7":{},"9":{},"10":{},"14":{},"16":{},"18":{},"19":{},"24":{},"25":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"40":{},"41":{},"43":{},"46":{},"50":{},"52":{},"54":{},"56":{},"57":{},"58":{},"62":{},"64":{},"68":{},"72":{}},"component":{}}],["suffix",{"_index":374,"title":{},"name":{},"text":{"2":{},"22":{},"30":{},"49":{}},"component":{}}],["suggest",{"_index":1318,"title":{},"name":{},"text":{"13":{}},"component":{}}],["suitabl",{"_index":1317,"title":{},"name":{},"text":{"13":{},"16":{},"17":{},"42":{}},"component":{}}],["summari",{"_index":2181,"title":{},"name":{},"text":{"33":{},"35":{}},"component":{}}],["support",{"_index":13,"title":{"1-11":{},"50-8":{},"52-1":{},"52-2":{},"72-3":{}},"name":{"6":{},"8":{},"18":{},"30":{}},"text":{"1":{},"2":{},"5":{},"6":{},"8":{},"9":{},"13":{},"14":{},"18":{},"19":{},"22":{},"23":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"40":{},"43":{},"47":{},"52":{},"58":{},"59":{},"72":{}},"component":{}}],["support.adoc#send",{"_index":1718,"title":{},"name":{},"text":{"23":{}},"component":{}}],["suppos",{"_index":1965,"title":{},"name":{},"text":{"31":{},"36":{}},"component":{}}],["sure",{"_index":2828,"title":{},"name":{},"text":{"50":{},"56":{},"58":{},"64":{}},"component":{}}],["suspend",{"_index":1145,"title":{},"name":{},"text":{"11":{},"64":{}},"component":{}}],["svc",{"_index":2749,"title":{},"name":{},"text":{"48":{},"50":{}},"component":{}}],["svc.yaml",{"_index":2099,"title":{},"name":{},"text":{"32":{}},"component":{}}],["svc.yaml#getstockpric",{"_index":2132,"title":{},"name":{},"text":{"32":{}},"component":{}}],["svc.yaml#getstockprofit",{"_index":2134,"title":{},"name":{},"text":{"32":{}},"component":{}}],["svg",{"_index":3227,"title":{},"name":{},"text":{"71":{},"72":{}},"component":{}}],["sw",{"_index":378,"title":{},"name":{},"text":{"2":{},"14":{},"31":{}},"component":{}}],["sw.json",{"_index":3206,"title":{},"name":{},"text":{"68":{},"70":{}},"component":{}}],["sw.kogito.kie.org/descript",{"_index":2781,"title":{},"name":{},"text":{"50":{}},"component":{}}],["sw.kogito.kie.org/profil",{"_index":2784,"title":{},"name":{},"text":{"50":{}},"component":{}}],["sw.kogito.kie.org/v1alpha08",{"_index":2780,"title":{},"name":{},"text":{"50":{}},"component":{}}],["sw.kogito.kie.org/vers",{"_index":2782,"title":{},"name":{},"text":{"50":{}},"component":{}}],["sw.yaml",{"_index":3223,"title":{},"name":{},"text":{"70":{}},"component":{}}],["sw.yaml|yml",{"_index":3207,"title":{},"name":{},"text":{"68":{}},"component":{}}],["swagger",{"_index":403,"title":{},"name":{},"text":{"2":{},"19":{},"35":{},"50":{},"65":{}},"component":{}}],["swagger/openapi",{"_index":2266,"title":{},"name":{},"text":{"35":{}},"component":{}}],["swaggerui",{"_index":1538,"title":{},"name":{},"text":{"19":{}},"component":{}}],["swf",{"_index":173,"title":{},"name":{"70":{},"71":{},"72":{}},"text":{"2":{}},"component":{}}],["swf_metric",{"_index":1773,"title":{},"name":{},"text":{"25":{}},"component":{}}],["switch",{"_index":924,"title":{"8-4":{},"9-1":{},"47-2":{}},"name":{},"text":{"8":{},"9":{},"18":{},"31":{},"36":{},"47":{},"50":{},"52":{},"70":{}},"component":{}}],["symbol",{"_index":2137,"title":{},"name":{},"text":{"32":{}},"component":{}}],["sync",{"_index":37,"title":{},"name":{},"text":{"1":{},"66":{}},"component":{}}],["synchron",{"_index":3179,"title":{"66-2":{}},"name":{},"text":{"66":{},"68":{}},"component":{}}],["syntax",{"_index":2143,"title":{},"name":{},"text":{"32":{}},"component":{}}],["sysout",{"_index":346,"title":{"6-1":{}},"name":{},"text":{"2":{},"6":{},"18":{},"50":{},"52":{}},"component":{}}],["sysout:info",{"_index":666,"title":{},"name":{},"text":{"6":{}},"component":{}}],["system",{"_index":1088,"title":{},"name":{},"text":{"10":{},"19":{},"32":{},"34":{},"35":{},"36":{},"40":{},"41":{},"43":{},"46":{},"48":{},"51":{},"54":{},"56":{},"57":{},"58":{},"67":{}},"component":{}}],["system_username}/{project_artifactid}:{project_vers",{"_index":2914,"title":{},"name":{},"text":{"54":{}},"component":{}}],["systemout",{"_index":1004,"title":{},"name":{},"text":{"8":{}},"component":{}}],["s|address",{"_index":2746,"title":{},"name":{},"text":{"48":{}},"component":{}}],["t",{"_index":2349,"title":{},"name":{},"text":{"37":{},"58":{}},"component":{}}],["tab",{"_index":2531,"title":{},"name":{},"text":{"43":{},"65":{},"66":{},"67":{},"69":{},"72":{}},"component":{}}],["tabl",{"_index":550,"title":{"63-1":{}},"name":{},"text":{"5":{},"10":{},"12":{},"18":{},"25":{},"27":{},"28":{},"30":{},"36":{},"49":{},"53":{},"61":{},"63":{},"64":{},"72":{}},"component":{}}],["tag",{"_index":2022,"title":{},"name":{},"text":{"31":{},"35":{},"43":{},"56":{},"57":{},"58":{}},"component":{}}],["tailor",{"_index":2776,"title":{},"name":{},"text":{"50":{}},"component":{}}],["take",{"_index":983,"title":{},"name":{},"text":{"8":{},"12":{},"16":{},"27":{},"43":{},"56":{},"63":{},"65":{}},"component":{}}],["taken",{"_index":1023,"title":{},"name":{},"text":{"9":{}},"component":{}}],["target",{"_index":199,"title":{},"name":{},"text":{"2":{},"9":{},"12":{},"24":{},"32":{},"48":{},"54":{},"56":{},"57":{},"58":{},"59":{}},"component":{}}],["target/knative.yml",{"_index":1278,"title":{},"name":{},"text":{"12":{}},"component":{}}],["target/kogito.yml",{"_index":1277,"title":{},"name":{},"text":{"12":{}},"component":{}}],["target/kubernet",{"_index":1270,"title":{},"name":{},"text":{"12":{},"43":{},"47":{},"56":{},"57":{},"58":{}},"component":{}}],["target/kubernetes/knative.yml",{"_index":2707,"title":{},"name":{},"text":{"47":{},"56":{},"57":{},"58":{}},"component":{}}],["target/kubernetes/kogito.yml",{"_index":2708,"title":{},"name":{},"text":{"47":{}},"component":{}}],["target/lib",{"_index":2924,"title":{},"name":{},"text":{"54":{}},"component":{}}],["target/quarku",{"_index":2055,"title":{},"name":{},"text":{"31":{},"32":{},"59":{}},"component":{}}],["target=kn",{"_index":1268,"title":{},"name":{},"text":{"12":{},"56":{},"57":{},"58":{}},"component":{}}],["targetport",{"_index":1726,"title":{},"name":{},"text":{"24":{}},"component":{}}],["task",{"_index":624,"title":{},"name":{},"text":{"5":{},"11":{},"24":{}},"component":{}}],["tcp",{"_index":3038,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["tekton",{"_index":2947,"title":{},"name":{"55":{}},"text":{},"component":{}}],["tell",{"_index":786,"title":{},"name":{},"text":{"6":{},"50":{}},"component":{}}],["temperatur",{"_index":1051,"title":{},"name":{},"text":{"9":{},"35":{}},"component":{}}],["templat",{"_index":3025,"title":{},"name":{},"text":{"56":{},"57":{},"58":{},"65":{},"72":{}},"component":{}}],["term",{"_index":1241,"title":{},"name":{},"text":{"12":{},"28":{}},"component":{}}],["termin",{"_index":1136,"title":{},"name":{},"text":{"10":{},"11":{},"19":{},"23":{},"31":{},"32":{},"34":{},"35":{},"46":{},"54":{},"56":{},"57":{},"58":{},"62":{}},"component":{}}],["test",{"_index":8,"title":{"37":{},"40":{},"1-7":{},"19-5":{},"40-2":{},"41-2":{},"41-3":{},"42-1":{},"42-3":{},"46-3":{},"54-4":{}},"name":{"37":{},"40":{}},"text":{"1":{},"2":{},"3":{},"5":{},"11":{},"12":{},"14":{},"19":{},"25":{},"27":{},"32":{},"36":{},"37":{},"40":{},"41":{},"42":{},"46":{},"47":{},"48":{},"50":{},"51":{},"52":{},"54":{},"65":{},"67":{},"68":{}},"component":{}}],["test@test.com",{"_index":1385,"title":{},"name":{},"text":{"14":{}},"component":{}}],["testcallbackrest",{"_index":2405,"title":{},"name":{},"text":{"40":{}},"component":{}}],["testfeaturea",{"_index":2514,"title":{},"name":{},"text":{"42":{}},"component":{}}],["testfeatureb",{"_index":2515,"title":{},"name":{},"text":{"42":{}},"component":{}}],["testhello",{"_index":2338,"title":{},"name":{},"text":{"37":{}},"component":{}}],["text",{"_index":2203,"title":{},"name":{},"text":{"34":{},"63":{},"72":{}},"component":{}}],["text/plain",{"_index":1910,"title":{},"name":{},"text":{"30":{}},"component":{}}],["text/xml",{"_index":807,"title":{},"name":{},"text":{"6":{}},"component":{}}],["that’",{"_index":1232,"title":{},"name":{},"text":{"12":{},"22":{}},"component":{}}],["the*view",{"_index":3150,"title":{},"name":{},"text":{"63":{}},"component":{}}],["therefor",{"_index":662,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"10":{},"11":{},"13":{},"14":{},"16":{},"17":{},"18":{},"24":{},"25":{},"27":{},"30":{},"32":{},"33":{},"34":{},"35":{},"46":{},"57":{},"59":{},"65":{},"66":{},"67":{}},"component":{}}],["there’",{"_index":2891,"title":{},"name":{},"text":{"53":{}},"component":{}}],["third",{"_index":123,"title":{"31":{}},"name":{"31":{}},"text":{"1":{},"30":{},"42":{},"46":{}},"component":{}}],["though",{"_index":1303,"title":{},"name":{},"text":{"13":{},"27":{}},"component":{}}],["thread",{"_index":58,"title":{},"name":{},"text":{"1":{},"5":{},"18":{},"19":{},"37":{},"46":{}},"component":{}}],["threadpoolexecutor",{"_index":616,"title":{},"name":{},"text":{"5":{}},"component":{}}],["three",{"_index":1148,"title":{},"name":{},"text":{"11":{},"34":{},"41":{},"53":{},"68":{}},"component":{}}],["through",{"_index":758,"title":{},"name":{},"text":{"6":{},"8":{},"9":{},"12":{},"13":{},"36":{},"46":{},"64":{}},"component":{}}],["throughout",{"_index":3057,"title":{},"name":{},"text":{"57":{}},"component":{}}],["throw",{"_index":697,"title":{},"name":{},"text":{"6":{},"10":{},"16":{},"17":{},"41":{},"42":{},"46":{}},"component":{}}],["thrown",{"_index":1696,"title":{},"name":{},"text":{"22":{},"46":{}},"component":{}}],["till",{"_index":1102,"title":{},"name":{},"text":{"10":{},"30":{}},"component":{}}],["time",{"_index":800,"title":{"8-6":{},"12-4":{}},"name":{},"text":{"6":{},"8":{},"9":{},"12":{},"14":{},"18":{},"19":{},"27":{},"31":{},"32":{},"35":{},"36":{},"37":{},"40":{},"41":{},"43":{},"47":{},"51":{},"53":{},"59":{},"61":{},"64":{},"72":{}},"component":{}}],["timelin",{"_index":3157,"title":{},"name":{},"text":{"64":{}},"component":{}}],["timeout",{"_index":95,"title":{"8":{},"47":{},"6-18":{},"8-1":{},"8-2":{},"8-3":{},"8-4":{},"8-5":{},"8-8":{},"18-8":{},"47-7":{}},"name":{"8":{},"47":{}},"text":{"1":{},"5":{},"6":{},"8":{},"18":{},"36":{},"47":{}},"component":{}}],["timeout=5000",{"_index":818,"title":{},"name":{},"text":{"6":{}},"component":{}}],["timeoutsecond",{"_index":3035,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["timer",{"_index":163,"title":{},"name":{},"text":{"1":{},"8":{},"36":{}},"component":{}}],["timestamp",{"_index":3020,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["titl",{"_index":1908,"title":{},"name":{},"text":{"30":{},"31":{},"32":{},"35":{}},"component":{}}],["tl",{"_index":3081,"title":{},"name":{},"text":{"58":{}},"component":{}}],["togeth",{"_index":1386,"title":{},"name":{},"text":{"14":{},"47":{}},"component":{}}],["toggl",{"_index":2880,"title":{},"name":{},"text":{"52":{},"64":{}},"component":{}}],["token",{"_index":1887,"title":{"30-3":{},"30-6":{},"66-1":{}},"name":{},"text":{"30":{},"31":{},"34":{},"58":{},"66":{},"67":{}},"component":{}}],["token=my_token",{"_index":1918,"title":{},"name":{},"text":{"30":{}},"component":{}}],["tokenurl",{"_index":1929,"title":{},"name":{},"text":{"30":{},"31":{}},"component":{}}],["tool",{"_index":3,"title":{"20":{},"61":{},"62":{},"64":{},"65":{},"66":{},"67":{},"68":{},"1-3":{},"62-1":{},"66-1":{},"67-2":{},"68-1":{}},"name":{"20":{},"39":{},"44":{},"65":{},"66":{},"67":{},"68":{},"69":{}},"text":{"1":{},"2":{},"12":{},"18":{},"19":{},"20":{},"23":{},"24":{},"28":{},"35":{},"40":{},"42":{},"43":{},"51":{},"54":{},"56":{},"57":{},"58":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["toolbar",{"_index":3139,"title":{},"name":{},"text":{"63":{}},"component":{}}],["tools.custom.dashboard.fold",{"_index":3135,"title":{},"name":{},"text":{"61":{}},"component":{}}],["top",{"_index":3148,"title":{},"name":{},"text":{"63":{},"64":{},"66":{},"67":{},"69":{},"70":{}},"component":{}}],["topic",{"_index":1296,"title":{},"name":{},"text":{"13":{},"16":{},"33":{},"56":{},"57":{},"58":{}},"component":{}}],["topolog",{"_index":3201,"title":{},"name":{},"text":{"67":{}},"component":{}}],["tostatedata",{"_index":1001,"title":{},"name":{},"text":{"8":{},"9":{},"16":{}},"component":{}}],["tostatedata\":\".paymentrespons",{"_index":2586,"title":{},"name":{},"text":{"46":{}},"component":{}}],["total",{"_index":1747,"title":{},"name":{},"text":{"24":{},"25":{},"37":{},"41":{}},"component":{}}],["toward",{"_index":3194,"title":{},"name":{},"text":{"67":{}},"component":{}}],["trace",{"_index":668,"title":{},"name":{},"text":{"6":{}},"component":{}}],["track",{"_index":1849,"title":{},"name":{},"text":{"28":{},"36":{},"46":{}},"component":{}}],["traffic",{"_index":2270,"title":{},"name":{},"text":{"35":{}},"component":{}}],["transact",{"_index":2564,"title":{},"name":{},"text":{"46":{}},"component":{}}],["transfer",{"_index":2417,"title":{},"name":{},"text":{"41":{}},"component":{}}],["transform",{"_index":1805,"title":{},"name":{},"text":{"25":{},"31":{}},"component":{}}],["transit",{"_index":961,"title":{},"name":{},"text":{"8":{},"9":{},"10":{},"14":{},"16":{},"17":{},"19":{},"31":{},"32":{},"35":{},"46":{},"47":{},"50":{},"52":{},"53":{}},"component":{}}],["transition\":\"scheduleship",{"_index":2587,"title":{},"name":{},"text":{"46":{}},"component":{}}],["transition\":\"serviceerror",{"_index":2590,"title":{},"name":{},"text":{"46":{}},"component":{}}],["translat",{"_index":760,"title":{},"name":{},"text":{"6":{}},"component":{}}],["transport",{"_index":1208,"title":{"17-2":{}},"name":{},"text":{"12":{}},"component":{}}],["tri",{"_index":884,"title":{},"name":{},"text":{"6":{},"10":{},"16":{},"20":{},"34":{},"36":{},"42":{},"48":{},"49":{},"50":{},"51":{},"53":{},"65":{},"71":{}},"component":{}}],["trigger",{"_index":112,"title":{},"name":{},"text":{"1":{},"12":{},"14":{},"15":{},"17":{},"33":{},"36":{},"41":{},"46":{},"47":{},"54":{},"63":{},"64":{},"72":{}},"component":{}}],["trigger.eventing.knative.dev/callback",{"_index":2712,"title":{},"name":{},"text":{"47":{}},"component":{}}],["trigger.eventing.knative.dev/job",{"_index":2704,"title":{},"name":{},"text":{"47":{}},"component":{}}],["trigger.eventing.knative.dev/visa",{"_index":2710,"title":{},"name":{},"text":{"47":{}},"component":{}}],["triggereventref",{"_index":1389,"title":{},"name":{},"text":{"14":{},"16":{}},"component":{}}],["trimcustomoperation(functiondef",{"_index":878,"title":{},"name":{},"text":{"6":{}},"component":{}}],["troubleshoot",{"_index":9,"title":{"1-7":{},"50-5":{},"50-6":{}},"name":{"39":{}},"text":{"50":{},"53":{}},"component":{}}],["true",{"_index":583,"title":{},"name":{},"text":{"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"15":{},"18":{},"19":{},"22":{},"23":{},"25":{},"31":{},"32":{},"34":{},"35":{},"47":{},"50":{},"53":{},"54":{},"56":{},"57":{},"58":{},"64":{}},"component":{}}],["tunnel",{"_index":3056,"title":{},"name":{},"text":{"57":{}},"component":{}}],["turn",{"_index":1040,"title":{},"name":{},"text":{"9":{}},"component":{}}],["tutori",{"_index":2978,"title":{},"name":{},"text":{"56":{},"57":{}},"component":{}}],["two",{"_index":511,"title":{},"name":{},"text":{"3":{},"6":{},"9":{},"11":{},"12":{},"13":{},"15":{},"16":{},"19":{},"34":{},"41":{},"47":{},"64":{},"72":{}},"component":{}}],["type",{"_index":556,"title":{"6-19":{},"6-20":{}},"name":{},"text":{"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"22":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"37":{},"41":{},"42":{},"46":{},"47":{},"48":{},"50":{},"56":{},"57":{},"58":{},"63":{},"64":{},"68":{},"72":{}},"component":{}}],["type\":\"custom",{"_index":2602,"title":{},"name":{},"text":{"46":{}},"component":{}}],["type\":\"error",{"_index":2673,"title":{},"name":{},"text":{"46":{}},"component":{}}],["type\":\"oper",{"_index":2581,"title":{},"name":{},"text":{"46":{}},"component":{}}],["type\":\"success",{"_index":2623,"title":{},"name":{},"text":{"46":{}},"component":{}}],["type:application/json",{"_index":1657,"title":{},"name":{},"text":{"19":{},"34":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["type=kubernetes.io/dockerconfigjson",{"_index":2734,"title":{},"name":{},"text":{"48":{}},"component":{}}],["types.proto",{"_index":1639,"title":{},"name":{},"text":{"19":{}},"component":{}}],["typescript",{"_index":2267,"title":{},"name":{},"text":{"35":{}},"component":{}}],["u",{"_index":1870,"title":{},"name":{},"text":{"28":{},"58":{}},"component":{}}],["ua",{"_index":493,"title":{},"name":{},"text":{"2":{}},"component":{}}],["ui",{"_index":101,"title":{"62":{},"47-9":{}},"name":{"61":{},"62":{},"63":{},"64":{}},"text":{"1":{},"2":{},"19":{},"20":{},"35":{},"47":{},"50":{},"62":{},"65":{}},"component":{}}],["uid",{"_index":325,"title":{},"name":{},"text":{"2":{}},"component":{}}],["unbound",{"_index":1336,"title":{},"name":{},"text":{"13":{}},"component":{}}],["uncheck",{"_index":3174,"title":{},"name":{},"text":{"65":{}},"component":{}}],["uncheckedioexception(",{"_index":2508,"title":{},"name":{},"text":{"42":{}},"component":{}}],["uncheckedioexception(io",{"_index":897,"title":{},"name":{},"text":{"6":{}},"component":{}}],["uncommon",{"_index":861,"title":{},"name":{},"text":{"6":{}},"component":{}}],["uncompress",{"_index":1766,"title":{},"name":{},"text":{"25":{}},"component":{}}],["under",{"_index":1153,"title":{},"name":{},"text":{"11":{},"24":{},"34":{},"47":{},"48":{},"50":{},"51":{},"52":{},"59":{}},"component":{}}],["underli",{"_index":1120,"title":{},"name":{},"text":{"10":{},"36":{},"49":{},"53":{}},"component":{}}],["underneath",{"_index":2172,"title":{},"name":{},"text":{"33":{}},"component":{}}],["underscor",{"_index":1905,"title":{},"name":{},"text":{"30":{},"32":{}},"component":{}}],["understand",{"_index":542,"title":{"53":{}},"name":{"9":{},"10":{}},"text":{"3":{},"6":{},"16":{},"17":{},"22":{},"31":{},"46":{},"50":{},"53":{}},"component":{}}],["undo",{"_index":2566,"title":{},"name":{},"text":{"46":{}},"component":{}}],["unexpect",{"_index":2084,"title":{},"name":{},"text":{"31":{}},"component":{}}],["unidentifi",{"_index":2534,"title":{},"name":{},"text":{"43":{}},"component":{}}],["unidirect",{"_index":1302,"title":{},"name":{},"text":{"13":{}},"component":{}}],["unifi",{"_index":358,"title":{},"name":{},"text":{"2":{}},"component":{}}],["uninstal",{"_index":2831,"title":{"51-3":{}},"name":{},"text":{"51":{}},"component":{}}],["uniqu",{"_index":811,"title":{},"name":{},"text":{"6":{},"16":{},"17":{},"19":{},"64":{}},"component":{}}],["unit",{"_index":130,"title":{},"name":{},"text":{"1":{},"41":{},"42":{}},"component":{}}],["unknown",{"_index":1115,"title":{},"name":{},"text":{"10":{},"34":{},"53":{}},"component":{}}],["unless",{"_index":630,"title":{},"name":{},"text":{"5":{},"13":{}},"component":{}}],["unlik",{"_index":1931,"title":{},"name":{},"text":{"30":{}},"component":{}}],["unpack",{"_index":3220,"title":{},"name":{},"text":{"70":{}},"component":{}}],["unpredict",{"_index":1186,"title":{},"name":{},"text":{"11":{}},"component":{}}],["unrespons",{"_index":2313,"title":{},"name":{},"text":{"36":{}},"component":{}}],["unselect",{"_index":3155,"title":{},"name":{},"text":{"64":{}},"component":{}}],["unset",{"_index":410,"title":{},"name":{},"text":{"2":{}},"component":{}}],["unsuccess",{"_index":1976,"title":{},"name":{},"text":{"31":{}},"component":{}}],["unsuccessfulli",{"_index":3168,"title":{},"name":{},"text":{"64":{}},"component":{}}],["unsupport",{"_index":2070,"title":{},"name":{},"text":{"31":{}},"component":{}}],["until",{"_index":1418,"title":{},"name":{},"text":{"15":{},"33":{},"40":{},"41":{},"53":{},"65":{}},"component":{}}],["untilassert",{"_index":2412,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["untitl",{"_index":3213,"title":{},"name":{},"text":{"68":{}},"component":{}}],["up",{"_index":835,"title":{"63-4":{},"63-5":{}},"name":{},"text":{"6":{},"8":{},"11":{},"13":{},"20":{},"28":{},"31":{},"36":{},"43":{},"48":{},"50":{},"51":{},"54":{},"65":{}},"component":{}}],["upcom",{"_index":1064,"title":{},"name":{},"text":{"9":{}},"component":{}}],["updat",{"_index":302,"title":{},"name":{},"text":{"2":{},"6":{},"9":{},"19":{},"27":{},"28":{},"35":{},"48":{},"58":{},"61":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{}},"component":{}}],["upgrad",{"_index":144,"title":{"28":{}},"name":{},"text":{"1":{},"2":{},"27":{},"28":{}},"component":{}}],["upload",{"_index":3173,"title":{},"name":{},"text":{"65":{},"69":{}},"component":{}}],["upon",{"_index":1416,"title":{},"name":{},"text":{"15":{},"36":{},"41":{}},"component":{}}],["upper",{"_index":3221,"title":{},"name":{},"text":{"70":{}},"component":{}}],["uri",{"_index":741,"title":{"32-2":{}},"name":{},"text":{"6":{},"7":{},"17":{},"22":{},"32":{},"33":{},"34":{},"35":{},"59":{},"72":{}},"component":{}}],["url",{"_index":306,"title":{"32-4":{},"32-8":{},"35-5":{}},"name":{},"text":{"2":{},"5":{},"6":{},"7":{},"8":{},"17":{},"23":{},"25":{},"31":{},"32":{},"33":{},"35":{},"37":{},"41":{},"42":{},"47":{},"48":{},"50":{},"51":{},"56":{},"57":{},"58":{},"59":{},"63":{},"66":{},"72":{}},"component":{}}],["url=http://localhost:8281/auth/realms/kogito/protocol/openid",{"_index":2035,"title":{},"name":{},"text":{"31":{}},"component":{}}],["url=https://example.com/oauth",{"_index":1938,"title":{},"name":{},"text":{"30":{}},"component":{}}],["url=jdbc:postgresql://localhost:5432/foobardb",{"_index":1858,"title":{},"name":{},"text":{"28":{}},"component":{}}],["url_to_json_schema",{"_index":914,"title":{},"name":{},"text":{"7":{}},"component":{}}],["us",{"_index":14,"title":{"13":{},"27":{},"31":{},"37":{},"40":{},"41":{},"42":{},"54":{},"65":{},"66":{},"67":{},"1-12":{},"25-2":{},"25-3":{},"28-2":{},"28-3":{},"28-6":{},"28-7":{},"32-2":{},"32-8":{},"40-2":{},"41-2":{},"43-2":{},"43-3":{},"43-5":{},"47-9":{},"47-10":{},"54-1":{},"54-3":{},"56-3":{},"56-4":{},"56-5":{},"57-3":{},"57-4":{},"57-5":{},"58-4":{},"58-5":{},"58-6":{},"63-3":{},"63-7":{},"67-2":{},"70-2":{},"72-6":{}},"name":{},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{}},"component":{}}],["usag",{"_index":1028,"title":{},"name":{},"text":{"9":{},"10":{},"14":{},"30":{},"36":{},"43":{},"47":{}},"component":{}}],["usd",{"_index":2060,"title":{},"name":{},"text":{"31":{},"41":{}},"component":{}}],["usecas",{"_index":454,"title":{},"name":{},"text":{"2":{}},"component":{}}],["usecloudevents=tru",{"_index":2364,"title":{},"name":{},"text":{"37":{}},"component":{}}],["useeventdrivendecisions=fals",{"_index":2367,"title":{},"name":{},"text":{"37":{}},"component":{}}],["useeventdrivenrules=fals",{"_index":2368,"title":{},"name":{},"text":{"37":{}},"component":{}}],["useexplainability=fals",{"_index":2365,"title":{},"name":{},"text":{"37":{}},"component":{}}],["usemonitoring=fals",{"_index":2362,"title":{},"name":{},"text":{"37":{}},"component":{}}],["useprocesssvg=fals",{"_index":2366,"title":{},"name":{},"text":{"37":{}},"component":{}}],["useprometheusmonitoring=fals",{"_index":2363,"title":{},"name":{},"text":{"37":{}},"component":{}}],["user",{"_index":1372,"title":{},"name":{},"text":{"14":{},"19":{},"24":{},"34":{},"40":{},"43":{},"46":{},"57":{}},"component":{}}],["user'",{"_index":2207,"title":{},"name":{},"text":{"34":{}},"component":{}}],["user/mi",{"_index":2557,"title":{},"name":{},"text":{"43":{}},"component":{}}],["user=foo",{"_index":1859,"title":{},"name":{},"text":{"28":{}},"component":{}}],["userid",{"_index":1363,"title":{},"name":{},"text":{"14":{}},"component":{}}],["usernam",{"_index":1857,"title":{},"name":{},"text":{"28":{},"30":{},"48":{},"67":{}},"component":{}}],["usetracing=fals",{"_index":2361,"title":{},"name":{},"text":{"37":{}},"component":{}}],["usr/local/bin",{"_index":2523,"title":{},"name":{},"text":{"43":{}},"component":{}}],["usr/local/bin/kn",{"_index":2527,"title":{},"name":{},"text":{"43":{}},"component":{}}],["usual",{"_index":2260,"title":{},"name":{},"text":{"35":{},"49":{}},"component":{}}],["utc",{"_index":1612,"title":{},"name":{},"text":{"19":{}},"component":{}}],["utf",{"_index":1567,"title":{},"name":{},"text":{"19":{}},"component":{}}],["util",{"_index":501,"title":{},"name":{},"text":{"2":{},"8":{}},"component":{}}],["uuid",{"_index":1772,"title":{},"name":{},"text":{"25":{}},"component":{}}],["v",{"_index":2538,"title":{},"name":{},"text":{"43":{}},"component":{}}],["v0.8",{"_index":2875,"title":{"52-4":{}},"name":{},"text":{"52":{}},"component":{}}],["v1",{"_index":2768,"title":{},"name":{},"text":{"49":{}},"component":{}}],["valid",{"_index":91,"title":{},"name":{},"text":{"1":{},"6":{},"7":{},"10":{},"12":{},"14":{},"22":{},"31":{},"34":{},"35":{},"40":{},"41":{},"50":{},"52":{},"57":{},"63":{},"71":{},"72":{}},"component":{}}],["validateaccountemail",{"_index":1365,"title":{},"name":{},"text":{"14":{}},"component":{}}],["validateaccountemailev",{"_index":1364,"title":{},"name":{},"text":{"14":{}},"component":{}}],["validatedaccountemail",{"_index":1367,"title":{},"name":{},"text":{"14":{}},"component":{}}],["validatedaccountemailev",{"_index":1366,"title":{},"name":{},"text":{"14":{}},"component":{}}],["validateinput",{"_index":1980,"title":{},"name":{},"text":{"31":{}},"component":{}}],["validateinputs(str",{"_index":2010,"title":{},"name":{},"text":{"31":{}},"component":{}}],["validateinputsact",{"_index":1990,"title":{},"name":{},"text":{"31":{}},"component":{}}],["validateintpu",{"_index":2002,"title":{},"name":{},"text":{"31":{}},"component":{}}],["validationresult",{"_index":2009,"title":{},"name":{},"text":{"31":{}},"component":{}}],["validationresult(\"error",{"_index":2014,"title":{},"name":{},"text":{"31":{}},"component":{}}],["valu",{"_index":557,"title":{"6-5":{},"6-10":{},"34-1":{}},"name":{},"text":{"5":{},"6":{},"9":{},"10":{},"12":{},"13":{},"14":{},"15":{},"19":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"34":{},"35":{},"37":{},"43":{},"46":{},"49":{},"54":{},"57":{},"58":{},"59":{},"63":{},"64":{},"67":{},"69":{},"71":{},"72":{}},"component":{}}],["value.deseri",{"_index":1309,"title":{},"name":{},"text":{"13":{}},"component":{}}],["value.seri",{"_index":1313,"title":{},"name":{},"text":{"13":{}},"component":{}}],["value1",{"_index":1689,"title":{},"name":{},"text":{"22":{}},"component":{}}],["value;oth",{"_index":3109,"title":{},"name":{},"text":{"59":{}},"component":{}}],["vari",{"_index":2890,"title":{},"name":{},"text":{"53":{}},"component":{}}],["variabl",{"_index":601,"title":{"32-8":{}},"name":{},"text":{"5":{},"6":{},"8":{},"12":{},"17":{},"30":{},"31":{},"32":{},"34":{},"35":{},"42":{},"47":{},"58":{},"64":{}},"component":{}}],["variou",{"_index":1515,"title":{},"name":{},"text":{"18":{},"35":{},"64":{},"65":{}},"component":{}}],["vendor",{"_index":1969,"title":{},"name":{},"text":{"31":{}},"component":{}}],["verbos",{"_index":1560,"title":{},"name":{},"text":{"19":{},"43":{}},"component":{}}],["veri",{"_index":2302,"title":{},"name":{},"text":{"36":{}},"component":{}}],["verif",{"_index":2415,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["verifi",{"_index":912,"title":{"56-1":{},"65-2":{}},"name":{},"text":{"7":{},"10":{},"12":{},"19":{},"37":{},"40":{},"41":{},"43":{},"46":{},"54":{},"56":{},"57":{},"58":{},"65":{}},"component":{}}],["verify=fals",{"_index":3082,"title":{},"name":{},"text":{"58":{}},"component":{}}],["verifyworkflowexecutionit",{"_index":2422,"title":{},"name":{},"text":{"41":{}},"component":{}}],["versa",{"_index":2882,"title":{},"name":{},"text":{"52":{}},"component":{}}],["version",{"_index":301,"title":{},"name":{"60":{}},"text":{"2":{},"5":{},"11":{},"12":{},"18":{},"19":{},"27":{},"28":{},"30":{},"31":{},"32":{},"35":{},"37":{},"42":{},"50":{},"51":{},"52":{},"54":{},"57":{},"58":{},"59":{},"62":{},"66":{},"67":{}},"component":{}}],["version.failsafe.plugin",{"_index":2396,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["version=1.32.0",{"_index":1877,"title":{},"name":{},"text":{"28":{}},"component":{}}],["version=2.16.7.fin",{"_index":1553,"title":{},"name":{},"text":{"19":{}},"component":{}}],["vertx",{"_index":1591,"title":{},"name":{},"text":{"19":{},"37":{}},"component":{}}],["via",{"_index":41,"title":{},"name":{},"text":{"1":{},"2":{},"22":{},"28":{},"48":{},"50":{},"63":{}},"component":{}}],["vice",{"_index":2881,"title":{},"name":{},"text":{"52":{}},"component":{}}],["view",{"_index":1673,"title":{},"name":{},"text":{"20":{},"56":{},"57":{},"62":{},"63":{},"64":{},"65":{},"70":{},"71":{},"72":{}},"component":{}}],["visaapprovedev",{"_index":988,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["visadeniedev",{"_index":990,"title":{},"name":{},"text":{"8":{},"47":{}},"component":{}}],["visit",{"_index":1867,"title":{},"name":{},"text":{"28":{}},"component":{}}],["visual",{"_index":1526,"title":{},"name":{},"text":{"19":{},"20":{},"24":{},"25":{},"61":{},"71":{},"72":{}},"component":{}}],["void",{"_index":694,"title":{},"name":{},"text":{"6":{},"17":{},"37":{},"40":{},"41":{},"42":{}},"component":{}}],["vs",{"_index":1671,"title":{"72":{},"72-1":{},"72-3":{},"72-5":{}},"name":{},"text":{"20":{},"71":{},"72":{}},"component":{}}],["vscode",{"_index":1679,"title":{},"name":{"72":{}},"text":{"22":{},"50":{}},"component":{}}],["vscode_extension_serverless_workflow_editor_version.vsix",{"_index":3231,"title":{},"name":{},"text":{"72":{}},"component":{}}],["vsix",{"_index":3230,"title":{},"name":{},"text":{"72":{}},"component":{}}],["vulner",{"_index":443,"title":{},"name":{},"text":{"2":{}},"component":{}}],["vulnerabiliti",{"_index":474,"title":{},"name":{},"text":{"2":{}},"component":{}}],["w",{"_index":2793,"title":{},"name":{},"text":{"50":{}},"component":{}}],["wait",{"_index":611,"title":{},"name":{},"text":{"5":{},"8":{},"11":{},"13":{},"14":{},"16":{},"17":{},"27":{},"30":{},"33":{},"36":{},"41":{},"46":{},"47":{},"53":{},"56":{},"57":{},"58":{},"64":{}},"component":{}}],["wait&fir",{"_index":1434,"title":{},"name":{},"text":{"15":{}},"component":{}}],["wait(eventinput",{"_index":1488,"title":{},"name":{},"text":{"17":{}},"component":{}}],["waitev",{"_index":1086,"title":{},"name":{},"text":{"9":{},"16":{},"17":{}},"component":{}}],["waitforev",{"_index":997,"title":{},"name":{},"text":{"8":{},"15":{},"16":{},"17":{},"33":{}},"component":{}}],["waitforprocessev",{"_index":368,"title":{},"name":{},"text":{"2":{}},"component":{}}],["waitingforbuildreason",{"_index":2901,"title":{},"name":{},"text":{"53":{}},"component":{}}],["waitingfordeploy",{"_index":2794,"title":{},"name":{},"text":{"50":{},"53":{}},"component":{}}],["waitingforplatform",{"_index":2899,"title":{},"name":{},"text":{"53":{}},"component":{}}],["want",{"_index":711,"title":{},"name":{},"text":{"6":{},"7":{},"11":{},"13":{},"15":{},"18":{},"22":{},"23":{},"28":{},"31":{},"34":{},"35":{},"41":{},"42":{},"43":{},"48":{},"59":{},"63":{},"68":{}},"component":{}}],["warn",{"_index":317,"title":{},"name":{},"text":{"2":{},"6":{},"19":{},"72":{}},"component":{}}],["watch",{"_index":2822,"title":{},"name":{},"text":{"50":{},"51":{}},"component":{}}],["way",{"_index":36,"title":{},"name":{},"text":{"1":{},"2":{},"6":{},"16":{},"17":{},"18":{},"34":{},"36":{},"43":{},"50":{},"59":{},"64":{}},"component":{}}],["web",{"_index":106,"title":{"65":{},"66":{},"67":{},"68":{},"66-1":{},"67-2":{},"68-1":{}},"name":{"65":{},"66":{},"67":{},"68":{},"69":{}},"text":{"1":{},"20":{},"35":{},"47":{},"57":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{}},"component":{}}],["webclient.postabs(eventinput.geturi()).sendjson(builder.build()).tocompletionstag",{"_index":1495,"title":{},"name":{},"text":{"17":{}},"component":{}}],["webhook",{"_index":2879,"title":{},"name":{},"text":{"52":{},"56":{}},"component":{}}],["websit",{"_index":1733,"title":{},"name":{},"text":{"24":{},"25":{},"28":{},"40":{},"41":{}},"component":{}}],["welcom",{"_index":1157,"title":{},"name":{},"text":{"11":{}},"component":{}}],["well",{"_index":1855,"title":{},"name":{},"text":{"28":{},"34":{},"48":{}},"component":{}}],["whatev",{"_index":710,"title":{},"name":{},"text":{"6":{}},"component":{}}],["whether",{"_index":1022,"title":{},"name":{},"text":{"9":{},"10":{},"13":{},"33":{},"47":{},"56":{},"57":{},"58":{},"72":{}},"component":{}}],["whoami",{"_index":3080,"title":{},"name":{},"text":{"58":{}},"component":{}}],["wide",{"_index":926,"title":{},"name":{},"text":{"8":{}},"component":{}}],["width",{"_index":1795,"title":{},"name":{},"text":{"25":{}},"component":{}}],["willreturn(arespons",{"_index":2510,"title":{},"name":{},"text":{"42":{}},"component":{}}],["willreturn(aresponse().withstatus(404",{"_index":2520,"title":{},"name":{},"text":{"42":{}},"component":{}}],["willreturn(wiremock.arespons",{"_index":2482,"title":{},"name":{},"text":{"42":{}},"component":{}}],["window",{"_index":1706,"title":{},"name":{},"text":{"23":{},"31":{},"32":{},"57":{},"66":{},"67":{},"69":{}},"component":{}}],["wiremock",{"_index":135,"title":{"41":{},"42":{},"42-2":{},"42-3":{}},"name":{"41":{},"42":{}},"text":{"1":{},"12":{},"37":{},"41":{},"42":{}},"component":{}}],["wiremock.vers",{"_index":2472,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockconfigur",{"_index":2473,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockconfiguration#port(int",{"_index":2478,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockconfiguration.wiremockconfig().dynamicport",{"_index":2474,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserv",{"_index":2423,"title":{},"name":{},"text":{"41":{},"42":{}},"component":{}}],["wiremockserver(config",{"_index":2475,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver(options().port(8181",{"_index":2425,"title":{},"name":{},"text":{"41":{}},"component":{}}],["wiremockserver(wiremockconfiguration.wiremockconfig().dynamicport",{"_index":2507,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver.baseurl",{"_index":2506,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver.start",{"_index":2476,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver.stop",{"_index":2489,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver.stubfor(get(urlequalto(\"/rest/v2/name/greec",{"_index":2509,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wiremockserver.stubfor(wiremock.get(wiremock.urlequalto(\"/rest/v2/name/greec",{"_index":2481,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wish",{"_index":3212,"title":{},"name":{},"text":{"68":{}},"component":{}}],["with().pollinterval(1",{"_index":2411,"title":{},"name":{},"text":{"40":{},"41":{}},"component":{}}],["withdata(objectmapper.writevalueasbytes(collections.singletonmap(\"messag",{"_index":1494,"title":{},"name":{},"text":{"17":{}},"component":{}}],["withdata(objectmapper.writevalueasbytes(eventbodi",{"_index":1461,"title":{},"name":{},"text":{"16":{}},"component":{}}],["withextension(cloudeventextensionconstants.process_reference_id",{"_index":1460,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["withheader(\"cont",{"_index":2484,"title":{},"name":{},"text":{"42":{}},"component":{}}],["withid(uuid.randomuuid().tostr",{"_index":1456,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["within",{"_index":62,"title":{},"name":{},"text":{"1":{},"6":{},"9":{},"10":{},"12":{},"32":{},"33":{},"34":{},"41":{}},"component":{}}],["withjsonbody(greecepayload",{"_index":2485,"title":{},"name":{},"text":{"42":{}},"component":{}}],["without",{"_index":744,"title":{},"name":{},"text":{"6":{},"8":{},"11":{},"16":{},"17":{},"19":{},"30":{},"43":{},"72":{}},"component":{}}],["withsource(uri.cr",{"_index":1457,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["withstatus(200",{"_index":2483,"title":{},"name":{},"text":{"42":{}},"component":{}}],["withtime(offsetdatetime.now",{"_index":1459,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["withtype(\"wait",{"_index":1458,"title":{},"name":{},"text":{"16":{},"17":{}},"component":{}}],["won’t",{"_index":1846,"title":{},"name":{},"text":{"28":{},"48":{}},"component":{}}],["word",{"_index":350,"title":{},"name":{},"text":{"2":{},"11":{}},"component":{}}],["work",{"_index":33,"title":{},"name":{"11":{},"16":{},"17":{}},"text":{"1":{},"2":{},"3":{},"6":{},"12":{},"18":{},"28":{},"33":{},"34":{},"36":{},"40":{},"41":{},"47":{},"48":{},"50":{},"51":{},"56":{},"57":{},"58":{},"59":{},"66":{},"71":{},"72":{}},"component":{}}],["workflow",{"_index":18,"title":{"1":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{},"37":{},"40":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"70":{},"71":{},"72":{},"8-1":{},"8-6":{},"8-7":{},"11-1":{},"11-2":{},"11-3":{},"12-5":{},"13-1":{},"14-1":{},"18-4":{},"19-2":{},"19-3":{},"19-4":{},"19-5":{},"22-1":{},"22-2":{},"22-3":{},"24-1":{},"24-2":{},"24-5":{},"25-1":{},"31-1":{},"31-2":{},"32-6":{},"32-7":{},"34-2":{},"35-3":{},"35-4":{},"40-2":{},"41-2":{},"43-1":{},"43-2":{},"43-3":{},"43-4":{},"43-5":{},"46-2":{},"46-3":{},"47-1":{},"47-2":{},"47-3":{},"47-7":{},"47-8":{},"48-4":{},"48-5":{},"48-6":{},"49-1":{},"50-2":{},"50-3":{},"50-4":{},"50-5":{},"50-10":{},"51-2":{},"52-5":{},"54-2":{},"54-3":{},"54-4":{},"56-2":{},"56-3":{},"56-4":{},"56-5":{},"57-2":{},"57-3":{},"57-4":{},"57-5":{},"58-2":{},"58-4":{},"58-5":{},"58-6":{},"59-3":{},"62-1":{},"63-1":{},"63-2":{},"63-3":{},"63-4":{},"63-6":{},"63-7":{},"64-1":{},"64-2":{},"65-1":{},"68-1":{},"70-1":{},"70-2":{},"71-1":{},"72-1":{},"72-2":{},"72-3":{},"72-4":{}},"name":{"4":{},"7":{},"10":{},"14":{},"15":{},"18":{},"19":{},"29":{},"38":{},"43":{},"48":{},"49":{},"50":{},"53":{},"54":{},"55":{},"60":{},"63":{},"64":{}},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"40":{},"41":{},"42":{},"43":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"70":{},"71":{},"72":{}},"component":{}}],["workflow,quarku",{"_index":1544,"title":{},"name":{},"text":{"19":{}},"component":{}}],["workflow.instanceid",{"_index":974,"title":{},"name":{},"text":{"8":{},"17":{},"22":{}},"component":{}}],["workflow.serverless",{"_index":2996,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["workflow.sw.json",{"_index":1977,"title":{},"name":{},"text":{"31":{},"43":{}},"component":{}}],["workflow/greet",{"_index":2797,"title":{},"name":{},"text":{"50":{}},"component":{}}],["workflow_devmode.yaml",{"_index":2801,"title":{},"name":{},"text":{"50":{}},"component":{}}],["workflowdata",{"_index":709,"title":{},"name":{},"text":{"6":{},"31":{},"34":{},"37":{},"46":{},"50":{},"54":{}},"component":{}}],["workflowdata.greet",{"_index":2348,"title":{},"name":{},"text":{"37":{}},"component":{}}],["workflowexectimeout",{"_index":949,"title":{},"name":{},"text":{"8":{}},"component":{}}],["workflowid",{"_index":1691,"title":{},"name":{},"text":{"22":{}},"component":{}}],["workflowworkitemhandl",{"_index":840,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workflow’",{"_index":3141,"title":{},"name":{},"text":{"63":{}},"component":{}}],["workitem",{"_index":847,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workitem.getnodeinstance().getnode().getmetadata",{"_index":886,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workitemhandlerconfig",{"_index":843,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workitemnodefactori",{"_index":836,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workitemtypehandl",{"_index":833,"title":{},"name":{},"text":{"6":{}},"component":{}}],["workspac",{"_index":183,"title":{"66-2":{},"66-3":{}},"name":{},"text":{"2":{},"65":{},"66":{},"68":{},"71":{},"72":{}},"component":{}}],["world",{"_index":1517,"title":{},"name":{},"text":{"19":{},"43":{}},"component":{}}],["world\",\"mantra\":\"serverless",{"_index":1664,"title":{},"name":{},"text":{"19":{}},"component":{}}],["world:1.0.0",{"_index":1535,"title":{},"name":{},"text":{"19":{}},"component":{}}],["world:latest",{"_index":1559,"title":{},"name":{},"text":{"19":{}},"component":{}}],["wrap",{"_index":2516,"title":{},"name":{},"text":{"42":{}},"component":{}}],["wrapper",{"_index":720,"title":{},"name":{},"text":{"6":{}},"component":{}}],["write",{"_index":864,"title":{},"name":{},"text":{"6":{},"40":{},"69":{}},"component":{}}],["wrong",{"_index":1098,"title":{"50-9":{},"50-10":{}},"name":{},"text":{"10":{},"28":{},"50":{},"53":{}},"component":{}}],["x",{"_index":1072,"title":{},"name":{},"text":{"9":{},"11":{},"12":{},"19":{},"23":{},"31":{},"32":{},"34":{},"43":{},"46":{},"47":{},"48":{},"54":{},"56":{},"57":{},"58":{}},"component":{}}],["x86_64",{"_index":1602,"title":{},"name":{},"text":{"19":{}},"component":{}}],["x=kogito",{"_index":1531,"title":{},"name":{},"text":{"19":{}},"component":{}}],["x=quarku",{"_index":1532,"title":{},"name":{},"text":{"19":{}},"component":{}}],["xattr",{"_index":3196,"title":{},"name":{},"text":{"67":{}},"component":{}}],["xml",{"_index":476,"title":{},"name":{},"text":{"2":{},"22":{}},"component":{}}],["y",{"_index":1074,"title":{},"name":{},"text":{"9":{}},"component":{}}],["yaml",{"_index":490,"title":{},"name":{},"text":{"2":{},"3":{},"9":{},"17":{},"22":{},"25":{},"50":{},"61":{},"64":{},"68":{},"71":{},"72":{}},"component":{}}],["yamlgreet",{"_index":1752,"title":{},"name":{},"text":{"24":{},"25":{}},"component":{}}],["yaml|json",{"_index":3009,"title":{},"name":{},"text":{"56":{},"57":{},"58":{}},"component":{}}],["yard.json",{"_index":3208,"title":{},"name":{},"text":{"68":{}},"component":{}}],["yard.yaml|yml",{"_index":3209,"title":{},"name":{},"text":{"68":{}},"component":{}}],["ye",{"_index":565,"title":{},"name":{},"text":{"5":{}},"component":{}}],["yml",{"_index":2042,"title":{},"name":{},"text":{"31":{}},"component":{}}],["yourself",{"_index":1262,"title":{},"name":{},"text":{"12":{}},"component":{}}],["you’ll",{"_index":3144,"title":{},"name":{},"text":{"63":{}},"component":{}}],["you’r",{"_index":2736,"title":{},"name":{},"text":{"48":{},"50":{},"51":{},"67":{}},"component":{}}],["z0",{"_index":3241,"title":{},"name":{},"text":{"72":{}},"component":{}}],["za",{"_index":3240,"title":{},"name":{},"text":{"72":{}},"component":{}}],["zero",{"_index":2304,"title":{},"name":{},"text":{"36":{}},"component":{}}],["zip",{"_index":436,"title":{},"name":{},"text":{"2":{},"28":{},"70":{}},"component":{}}]],"pipeline":["stemmer"]},"store":{"documents":{"1":{"id":1,"text":"Kogito Serverless Workflow is a tool for building cloud-native workflow applications. You can use it to do the services and events orchestration and choreography. Currently, with Kogito Serverless Workflow you can integrate with services and events in your architecture using: CloudEvents. Ideal for an Event-Driven architecture where the services are ready to consume and produce events working in a more reactive way. Sync or Async REST services invocations via OpenAPI/Async API. There are options even to directly call a REST service in the architecture or ecosystem. Either async or sync methods are supported depending on your requirements. Internal Service execution or invocation. Kogito Serverless Workflow is also a workflow framework to build applications. You can use it to create custom services in the same thread to run a lightweight workflow-based application within the same instance. You can learn how to create, manage, and deploy your workflow applications with the following guides. Creating your first workflow service Learn how to create your first Serverless Workflow project CNCF Serverless Workflow specification Learn about the CNCF Serverless Workflow Specification implementation Getting familiar with Kogito Serverless Workflow tooling Learn which tools you can use to author your workflow assets Custom functions for your Kogito Serverless Workflow service Learn about the custom functions supported by Serverless Workflow jq expressions in Kogito Serverless Workflow Learn how to create jq expressions to manipulate data within a workflow execution Error handling in Kogito Serverless Workflow Learn how to handle errors in your workflow application Parallelism in Kogito Serverless Workflow Working with parallelism in your workflow service Configuration properties in Kogito Serverless Workflow Quick reference of configuration properties in workflow Input schema definition for Kogito Serverless Workflow Learn about the input schema definition used to validate the workflow data input against a defined JSON Schema Timeouts in Kogito Serverless Workflow Learn how to configure timeouts in the workflow Serverless Workflow editor Learn how to install and use the Serverless Workflow editor Kogito Serverless Workflow Tools extension in Quarkus Dev UI Learn how to use the Serverless Workflow extension in Quarkus Dev UI Kogito Serverless Workflow plug-in for Knative CLI Learn how to install the Kogito Serverless Workflow plug-in for Knative CLI Serverless Logic Web Tools Learn how to use Serverless Logic Web Tools for creating and managing workflows, decisions, and dashboards. Orchestrating the OpenAPI services Learn how to orchestrate REST services using OpenAPI specification descriptors Orchestrating the AsyncAPI services Learn how to trigger and consume events using AsyncAPI specification descriptors Configuring the OpenAPI services endpoints Learn how to configure OpenAPI services endpoints in different environments Orchestration of gRPC based services Learn about orchestrating gRPC services Event state in Kogito Serverless Workflow Learn how to use the Event state in your workflow application Callback state in Kogito Serverless Workflow Learn how to use the Callback state in your workflow application Consuming and producing events using Apache Kafka Learn how to configure your Serverless Workflow application to produce and consume events using Apache Kafka Consuming and producing events on Knative Eventing Learn how to configure your Serverless Workflow application to produce and consume events on Knative Eventing Event correlation in Kogito Serverless Workflow Learn how to configure event correlation in your workflow application OpenAPI Callback in Kogito Serverless Workflow Learn how to use the OpenAPI Callback in your workflow application Authentication for OpenAPI services in Kogito Serverless Workflow Learn how to use authentication methods when calling REST services using OpenAPI specification Orchestration of third-party services using OAuth 2.0 authentication Learn about the OAuth2 method support when orchestrating REST services using your workflow application Testing your workflow application using REST Assured Learn how to add unit tests in your workflow application using RestAssured Kogito Serverless Workflow integration test using PostgreSQL Learn how to integrate tests on workflow applications that use PostgreSQL as a persistence storage Mocking OpenAPI services with WireMock Learn how to mock external REST requests when testing your Serverless Workflow applications Mocking HTTP CloudEvents Sink with WireMock Testing Serverless Workflow application that uses HTTP CloudEvents and Knative Sink Binding Running a workflow service using PostgreSQL Running Serverless Workflow service using PostgresSQL Migrate Your PostgreSQL database with Kogito upgrade Migrating your existing PostgreSQL Database with changes from the Kogito upgrade using Flyway Kogito Serverless Workflow in the Cloud Learn about the options to deploy workflow applications in Kubernetes Saga orchestration example in Kogito Serverless Workflow Learn how and when to use the SAGA pattern in your workflow projects Timeout example in Kogito Serverless Workflow Learn how and when to use timeout in your workflow projects Integrating with Camel Routes Learn how to use Camel Routes within your workflow application Invoking Knative services from Kogito Serverless Workflow Learn how to invoke Knative services from Kogito Serverless Workflow custom functions Displaying workflow data in dashboards Learn how to use dashboards to display the runtime data of your workflow application Exposing workflow base metrics to Prometheus Exposing the workflow base metrics to Prometheus Job Service Details about Job Service to control timers in Kogito Serverless Workflow Saga orchestration example in Kogito Serverless Workflow Learn how and when to use the SAGA pattern in your workflow projects Timeout example in Kogito Serverless Workflow Learn how and when to use timeout in your workflow projects","title":"Kogito Serverless Workflow Guides","component":"serverlessworkflow","version":"1.40.0.Final","name":"index","url":"/serverlessworkflow/latest/index.html","titles":[{"text":"Getting started","hash":"_getting_started","id":1},{"text":"Core","hash":"_core","id":2},{"text":"Tooling","hash":"_tooling","id":3},{"text":"Service Orchestration","hash":"_service_orchestration","id":4},{"text":"Eventing","hash":"_eventing","id":5},{"text":"Security","hash":"_security","id":6},{"text":"Testing and Troubleshooting","hash":"_testing_and_troubleshooting","id":7},{"text":"Persistence","hash":"_persistence","id":8},{"text":"Cloud","hash":"_cloud","id":9},{"text":"Integrations","hash":"_integrations","id":10},{"text":"Supporting Services","hash":"_supporting_services","id":11},{"text":"Use Cases","hash":"_use_cases","id":12}]},"2":{"id":2,"text":"KOGITO-9364 - [SWF Dev UI] Include a loading screen while workflows are being started KOGITO-9349 - [KSW-Operator] Initialize Go Workspace to manage multi-module structure KOGITO-9323 - [Operator] Kogito Serverless Operator and Kubesmarts integration KOGITO-9318 - Support dashes (-) in Kogito Serverless Workflow ids KOGITO-9315 - Serverless Workflow extension should not automatically include k8s addon KOGITO-9312 - Events sending produce no errors if the target endpoint is not available KOGITO-9291 - Kogito Serverless Operator image arm build in nightly KOGITO-9287 - Python script support in Serverless Workflow KOGITO-9281 - Cloud event attributes should be avaiable as headers in kogitoprocesscontext KOGITO-9263 - [Operator] Enforce ConfigMap mount path for files referenced by the function definition KOGITO-9246 - Ensure the kogito-addons-quarkus-knative-eventing add-on incorporates the kogito default incoming events stream KOGITO-9233 - Jobs service embedded add-on should disable kafka and database quarkus dev services by default KOGITO-9220 - Support SSL for RestWorkItemHandler KOGITO-9217 - Do not fail the Dev mode Container Image if the workflow is invalid KOGITO-9216 - Better error message handling when I miss a functionRef argument KOGITO-9181 - Kogito images arm build in nightly KOGITO-9177 - SWF Project (single file) to CR generator KOGITO-9154 - Support event state and callback state in serverless workflow executor KOGITO-9144 - Refactor the Service Discovery engine to support more than one implementation KOGITO-9106 - [KSW-Operator] Add support for BuildConfig on OpenShift for limited scenarios KOGITO-8866 - Ensure that Jobs Service is embedded in the workflow dev profile KOGITO-8675 - [KSW-Operator] Make Workflow Dev Profile builder image configurable via Platform KOGITO-8648 - [KSW-Operator] Implement the Knative Addressable interface in dev profile KOGITO-8644 - [KSW-Operator] Review \"applied\" status attribute KOGITO-8455 - Improve post-release pipeline job with Release Notes DROOLS-7450 - RuleBase separation from -core and sessions KOGITO-9392 - [SWF Dev UI] Rename extension to Serverless Workflow Tools KOGITO-9388 - [SWF Dev UI] Custom dashboards list should show files in subdirectories KOGITO-9387 - Intermitent test failure on DataIndexRestIT due to Postgresql container reuse KOGITO-9386 - [SWF Dev UI] Custom dashboards list has invalid date and broken cards KOGITO-9348 - [OPERATOR-KSW] API version not updated in workspace module KOGITO-9326 - [SWF Dev UI] Monitoring should work with custom and relative data index URLs KOGITO-9322 - Setup OCP PR checks KOGITO-9313 - 2 pods created to a single apply command KOGITO-9305 - Data Index produce warnings about OpenAPI dupplicated operationIds KOGITO-9304 - Jobs Service produce warnings about OpenAPI dupplicated operationIds KOGITO-9300 - operator dev mode image shouldn’t generate the kogito.yaml file KOGITO-9290 - uid is empty on generated CRDs KOGITO-9262 - [Operator] Making probes more patient KOGITO-9255 - [KSW Operator] Cannot create Workflow on Openshift if spec.platform.registry is set KOGITO-9254 - Update SWF Dashbuilder version to 0.28.0 KOGITO-9251 - [Dev-mode] KSW Discovery - You need to define a KubernetesServiceCatalog implementation KOGITO-9242 - Kogito Serverless Workflow Tools Dev UI not shown in the Operator Dev Mode KOGITO-9241 - Data Index Dev UI not shown in the Operator Dev Mode KOGITO-9238 - Update SWF Basic Metrics Dashboard KOGITO-9234 - Sysout message hard coded string fails if it is a single word KOGITO-9230 - Avoid too many \"Heartbeat Leader\" DEBUG messages KOGITO-9229 - Unify the jvm and mvn settings for devmode KOGITO-9225 - Disable continuous testing on dev images KOGITO-9221 - Quarkus 3: Setup main nightly pipeline KOGITO-9214 - waitForProcessEvent in StaticApplication should be refactor KOGITO-9213 - Align Jobs service QuarkusTests with the Test class suffix instead of IT KOGITO-9212 - kogito-addons-quarkus-data-index-inmemory fails when the project has no SWs or Processes KOGITO-9211 - springboot examples failing due to missing images KOGITO-9210 - Disable K_SINK health check in runtime KOGITO-9209 - [SWF Dev UI] Rename extension’s feature name to kogito-serverless-workflow-devui KOGITO-9208 - Allow reusing of state builder in fluent API KOGITO-9207 - [Operator] Make QUARKUS_KOGITO_DEVSERVICES_ENABLED and QUARKUS_DEVSERVICES_ENABLED properties immutable in devmode KOGITO-9205 - DataIndex inmemory extension starting multiple PostgreSQL containers in devmode KOGITO-9200 - Dev UI shows an error when data-index is loading KOGITO-9194 - Allow Data-index consume different kind of eventing KOGITO-9189 - swagger-ui not available when using jobs service embedded KOGITO-9187 - [SWF Dev UI] OpenAPI workflow input schema requires _input suffix KOGITO-9183 - Remove org.kie.kogito.addons.quarkus.knative.serving.customfunctions.Operation#namespace KOGITO-9182 - [Dev-mode] Unset the maven offline property if the QUARKUS_EXTENSION env is set KOGITO-9168 - [KSW-Operator] Create the cekit image descriptor for SWF devmode image KOGITO-9167 - ForEach and RestWorkItemHandler KOGITO-9163 - Error when going back and forth between multiple workflow details KOGITO-9157 - Input and Output schemas are not correctly referenced in Swagger UI KOGITO-9143 - K_SINK health check fails for serverless workflows that receive events but don’t send any events KOGITO-9141 - When RuleUnits are not used, still no way to insertLogical KOGITO-9079 - [KSW-Operator] Build the Quarkus app and the Maven repo zips during the build KOGITO-9017 - Sonar reports cross-origin vulnerabilities KOGITO-9011 - Provide a job of E2E tests against Openshift KOGITO-8961 - [KSW-Operator] Split use case and test examples KOGITO-8866 - Ensure that Jobs Service is embedded in the workflow dev profile KOGITO-8843 - Add health check on data-index service KOGITO-8651 - [KSW-Operator] Ensure that the Management Console is embedded in the workflow dev profile KOGITO-8650 - [KSW-Operator] Ensure that Data Index is embedded in the workflow dev profile KOGITO-8057 - Add dataindex to usecase example working with knative eventing KOGITO-8644 - [KSW-Operator] Review \"applied\" status attribute DROOLS-7456 - avoid kie maven plugin to crash on jdk17 project kie-issues#341 - Fix Blocker and Critical reports from Sonar in kogito-runtimes kie-issues#333 - Fix CVE-2021-29425 detected in commons-io as a dependency from batik kie-issues#330 - Fix CVE-2023-34104 vulnerabilitie in kogito-apps (fast-xml-parser@^4.1.2) kie-issues#313 - Fix CVE-2023-1370 in kogito-runtimes (json-smart upgrade) kie-issues#304 - Upgrade json5 due to CVE-2022-46175 kie-issues#303 - Upgrade packages which used vulnerable d3-color kie-issues#300 - upgrade yaml package to 2.3.1 kie-issues#299 - upgrade ua-parser-js to version 0.7.35 kie-issues#296 - Fix CVE-2022-3517 in kogito-apps and kie-tools kie-issues#295 - Upgrade loader-utils kie-issues#294 - Fix CVE-2022-34169 in kogito-runtimes kie-issues#293 - Fix CVE-2023-25194 in kogito-runtimes kie-issues#292 - Fix CVE-2018-10237 in kogito-runtimes","title":"New features on 1.40","component":"serverlessworkflow","version":"1.40.0.Final","name":"release_notes","url":"/serverlessworkflow/latest/release_notes.html","titles":[{"text":"Notable changes","hash":"_notable_changes","id":1},{"text":"Other changes and Bug fixes","hash":"_other_changes_and_bug_fixes","id":2}]},"3":{"id":3,"text":"Kogito Serverless Workflow is evolving as platform to build and deploy workflow applications in Kubernetes clusters. You have two options to deploy your workflow applications: either as a full Quarkus project or using the Kogito Serverless Workflow Operator. The cards below list all features included in the platform to deploy workflow applications either with Quarkus or the Operator. Eventually these two options will converge, the Kogito Serverless Workflow Operator will also be able to handle full Quarkus projects. So if you opt in to use Quarkus now and manually deploy your workflows, bear in mind that it’s on the project’s roadmap to integrate the Quarkus experience with the Operator. For Java developers, you can use Quarkus and a few add-ons to help you build and deploy the application in a Kubernetes cluster. Kogito Serverless Workflow also generates basic Kubernetes objects YAML files to help you getting started. The application should be managed by a Kubernetes administrator. Building workflow images using Quarkus CLI Learn how to build images for your workflow applications using Quarkus CLI Kubernetes service discovery in Kogito Serverless Workflow Learn what is and how the Kubernetes service discovery for workflow application configuration works Deploying your Kogito Serverless Workflow application on OpenShift Learn how to deploy your workflow application on OpenShift cluster Deploying your Kogito Serverless Workflow application on Minikube Learn how to deploy your workflow application on Minikube for local tests and development Deploying your Kogito Serverless Workflow application on Kubernetes Learn how to deploy your workflow application on Kubernetes For developers that are looking for a native Kubernetes approach where you can model workflows using YAML definitions and directly deploy them, you can use the Kogito Serverless Workflow Operator. The operator registers a new Kubernetes resource in the cluster to manage your workflow development iteration cycle and composition of services and events. The application is managed by the operator. Install the Kogito Serverless Workflow Operator Learn how to install the Kogito Serverless Workflow Operator in a Kubernetes cluster Developing Workflow Services with the Operator Learn how to deploy a workflow for development purposes Configuring Workflow Services Learn how to configure workflows deployed with Kogito Serverless Workflow Operator Understanding Workflow Services Status Conditions Learn to interpret the workflow resource status conditions Building and Deploying Workflows with the Operator Learn how to build and deploy workflow services with Kogito Serverless Workflow Operator Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Learn about the known issues and feature roadmap of the Kogito Serverless Workflow Operator","title":"Kogito Serverless Workflow Applications in Cloud","component":"serverlessworkflow","version":"1.40.0.Final","name":"index","url":"/serverlessworkflow/latest/cloud/index.html","titles":[{"text":"Kubernetes with Quarkus","hash":"_kubernetes_with_quarkus","id":1},{"text":"Kubernetes with the Operator","hash":"_kubernetes_with_the_operator","id":2}]},"4":{"id":4,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"accessing-workflow-metainformation-in-runtime","url":"/serverlessworkflow/latest/core/accessing-workflow-metainformation-in-runtime.html","titles":[]},"5":{"id":5,"text":"The following table serves as a quick reference for commonly used configuration properties supported in Kogito Serverless Workflow. You can define the following properties in the src/main/resources/application.properties file of your project. Table 1. Common configuration properties Property Description Type Default value Override at runtime kogito.persistence.type Defines the type of persistence database. The possible values of this property include: jdbc mongodb filesystem kafka infinispan postgresql string Yes kogito.persistence.query.timeout.millis Defines timeout for a query execution. long 10000 Yes kogito.persistence.optimistic.lock Enables or disables the optimistic locking. boolean false Yes kogito.workflow.version-strategy Defines strategy to resolve a process version to use. The possible values of this property include: * workflow * project string workflow No kogito.service.url Defines the service URL needed to connect to the runtime endpoint from outside the service. string Yes kogito.messaging.as-cloudevents Enables a service to use CloudEvents. boolean true No kogito.addon.messaging.incoming.defaultName Defines the default name of the incoming channel. string kogito_incoming_stream No kogito.addon.messaging.outgoing.defaultName Defines the default name of the outgoing channel. string kogito_outgoing_stream No kogito.jackson.fail-on-empty-bean If this property is set as true, Jackson fails on an empty bean. boolean false No kogito.sw.operationIdStrategy Defines strategy to generate the configuration key of open API specifications. The possible values of this property include: file_name full_uri spec_title function_name string file_name No kogito.sw.states.foreach.outputVarName Defines the variable name for foreach loop. string _swf_eval_temp No kogito.grpc.enum.includeDefault Indicates if the default value of enumerations needs to be included in gRPC response. boolean false No kogito.grpc.stream.timeout Number of seconds to wait for a response from the server when using streams. int 20 No kogito.quarkus.events.threads.poolSize Defines the ThreadPoolExecutor maximum number of threads to allow in the pool. int 10 Yes kogito.quarkus.events.threads.queueSize Defines the ThreadPoolExecutor queue size to use for holding tasks before the tasks are executed. int 1 Yes quarkus.kogito.logger.always-include Enables you to include the workflow debug logger everytime. By default, this property is included in development and test mode. boolean false No quarkus.kogito.devservices.enabled Enables or disables the Dev Services for Kogito. By default, the Dev Services are enabled, unless an existing configuration is present. boolean true No quarkus.kogito.devservices.port Defines the optional fixed port that the Dev Services listen to. int 8180 No quarkus.kogito.devservices.image-name Defines the Data Index image to use. string quay.io/kiegroup/kogito-data-index-ephemeral:1.40.0.Final No quarkus.kogito.devservices.shared Indicates if the Data Index instance, which is managed by Quarkus Dev Services, is shared. boolean true No quarkus.kogito.devservices.service-name Defines the value of the label that is attached to the started container. This property is used when shared is set to true. string kogito-data-index No If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Configuration properties in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"configuration-properties","url":"/serverlessworkflow/latest/core/configuration-properties.html","titles":[{"text":"Found an issue?","hash":"_found_an_issue","id":1}]},"6":{"id":6,"text":"The Cloud Native Computing Foundation (CNCF) specification supports the custom function type, which enables the implementations to extend the function definition capability. Kogito Serverless Workflow supports the java and sysout custom types. The CNCF specification does not support java and sysout functions. Therefore, these functions might not be portable across other implementations. You can use the sysout function for logging as shown in the following example: Example of sysout function definition { \"functions\": [ { \"name\": \"logInfo\", \"type\": \"custom\", \"operation\": \"sysout:INFO\" } ] } The string after the : is optional and is used to indicate the log level. The possible values are TRACE, DEBUG, INFO, WARN, and ERROR. If not present, INFO is considered by default. In the state definition, you can call the same sysout function as shown in the following example: Example of a sysout function reference within a state { \"states\": [ { \"name\": \"myState\", \"type\": \"operation\", \"actions\": [ { \"name\": \"printAction\", \"functionRef\": { \"refName\": \"logInfo\", \"arguments\": { \"message\": \"\\\"Workflow model is \\\\(.)\\\"\" } } } ] } ] } message argument can be a jq expression or a jq string using interpolation, as in the example above Kogito Serverless Workflow supports the java functions within an Apache Maven project, in which you define your workflow service. The following example shows the declaration of a java function: Example of a java function declaration { \"functions\": [ { \"name\": \"myFunction\", (1) \"type\": \"custom\", (2) \"operation\": \"service:java:com.acme.MyInterfaceOrClass::myMethod\" (3) } ] } 1 myFunction is the function name 2 custom is the function type 3 service:java:com.acme.MyInterfaceOrClass::myMethod is the custom operation definition. In the custom operation definition, service is the reserved operation keyword followed by the java keyword. com.acme.MyInterfaceOrClass is the FQCN (Fully Qualified Class Name) of the interface or implementation class followed by the method name (myMethod). Your method interface signature must copy the arguments passed by the workflow. For example, if you invoke a function using one argument as follows, then your method signature assumes that the number model variable is an integer: Example of a java function reference with one argument { \"functionRef\": { \"refName\": \"myFunction\", \"arguments\": { \"number\": \"${.number}\" } } } Example of a java function implementation public class MyInterfaceOrClass { public void myMethod(int number) { if (number % 2 != 0) { throw new IllegalArgumentException(\"Odd situation\"); } } } As a particular case, if you provide no argument in the workflow definition, the signature of the Java method might include a Jackson’s JsonNode parameter. This means that the Java method expects the entire workflow model as input. When using the following example function reference with no arguments, and if the method signature contains a JsonNode parameter, the entire workflow model is passed when the method call is performed. Example of a java function reference with no arguments { \"functionRef\": { \"refName\": \"myFunction\" } } Example of a java function implementation public class MyInterfaceOrClass { public JsonNode myMethod(JsonNode workflowData) { // do whatever I want with the Workflow model ...... // return the modified content: return workflowData; } } If your method returns a JsonNode, the content of that node is merged into the workflow model (you can use an action data filter to control what is merged). The same occurs if your method returns any Java Object descendant that is not a primitive wrapper, the Java object is recursively converted to a JSON object and the result is merged into the workflow model (you can use an action data filter to control what is merged). If your method returns a primitive type or their corresponding wrapper object (int, boolean, long, and so on), then the primitive value is added to the workflow model with the name response (you can change that name using an action data filter). If your method returns Java collections, it is converted to a JSON array and added to the workflow model with the name response (you can change that name using an action data filter). If you need access to process contextual information (for example, Kogito process instance ID) inside your Java service, you can add a KogitoProcessContext parameter as the last one in the method signature. Therefore, if you need to do so, you can update the signature of methods from previous sections. Example of a function accessing Kogito context public class MyInterfaceOrClass { public JsonNode myMethod(JsonNode workflowData, KogitoProcessContext context ) { // do whatever I want with the JsonNode and the Kogito process context ...... // return the modified content: return workflowData; } } Example of a function accessing Kogito context public class MyInterfaceOrClass { public void myMethod(int number, KogitoProcessContext context) { if (number % 2 != 0) { throw new IllegalArgumentException(\"Odd situation\"); } } } Avoid using java functions to call the external services, instead, you can use the services orchestration features. Kogito supports the Camel Routes functions within an Apache Maven project, in which you define your workflow service. This section briefly exemplifies how to define and use Camel Routes within your workflow application. For more information, see the Integrating with Camel Routes. The following example shows the declaration of a Camel function: { \"functions\": [ { \"name\": \"myCamelEndpoint\", (1) \"type\": \"custom\", (2) \"operation\": \"camel:direct:myendpoint\" (3) } ] } 1 myCamelEndpoint is the function name 2 custom is the function type 3 camel:direct:myendpoint is the custom operation definition. In this definition, camel is the reserved keyword followed by the direct endpoint. Camel Direct is the only supported consumer by Kogito Serverless Workflow. Finally, myendpoint is the endpoint URI name found in the route within your project’s context. The Camel function arguments must follow a specific structure when passing data from the workflow state to the route. The body and headers are the only attributes supported in the function arguments. Both are optional if you need to call the Camel routes without arguments. The only constraint is that you can not call a Camel route with only headers. The following examples display valid argument structures for Camel function arguments: Example calling a Camel route using body and headers { \"functionRef\": { \"refName\": \"myCamelEndpoint\", \"arguments\": { \"body\": \"${ .my.body.data }\", (1) \"headers\": { (2) \"key1\": \"${ .my.value }\", \"key2\": \"${ .my.other.value }\" } } } } 1 jq expression filtering the state data for the body argument. 2 JSON key/value pair for the headers argument. A jq expression returning the same JSON object is also valid. Example calling a Camel route using body { \"functionRef\": { \"refName\": \"myCamelEndpoint\", \"arguments\": { \"body\": \"${ .my.body.data }\" } } } Example calling a Camel route without arguments { \"functionRef\": { \"refName\": \"myCamelEndpoint\" } } Example calling a Camel route with only one argument { \"functionRef\": { \"refName\": \"myCamelEndpoint\", \"arguments\": \"${ .my.body.data }\" } } In this last example, the jq expression result is used as the body argument in a way to simplify the definition. The Camel route is responsible to produce the return value in a way that the workflow can understand. The following are considered valid objects: A string that contains a valid JSON object A valid Java bean that can be serialized to JSON A Jackson’s JsonNode object Any primitive type (Integer, Float, Decimal, String, etc) Kogito Serverless Workflow provides an implementation of a custom function through the knative-serving add-on to invoke Knative services. It allows you to have a static URI, defining a Knative service, which is used to perform HTTP requests. The Knative service defined in the URI is queried in the current Knative cluster and translated to a valid URL. This section briefly exemplifies how to define and use Knative custom functions within your workflow application. For more information, see Invoking Knative services from Serverless Workflow. Given the following deployed Knative service: $ kn service list NAME URL LATEST AGE CONDITIONS READY REASON custom-function-knative-service http://custom-function-knative-service.default.10.109.169.193.sslip.io custom-function-knative-service-00001 3h16m 3 OK / 3 True You can declare a Kogito Serverless Workflow custom function using the Knative service name, like the following: \"functions\": [ { \"name\": \"greet\", (1) \"type\": \"custom\", (2) \"operation\": \"knative:services.v1.serving.knative.dev/custom-function-knative-service?path=/plainJsonFunction\", (3) } ] 1 greet is the function name 2 custom is the function type 3 In operation you set the coordinates of the Knative service The above function will send a POST request to the http://custom-function-knative-service.default.10.109.169.193.sslip.io/plainJsonFunction URL. If you don’t specify a path, Kogito Serverless Workflow will use the root path (/). GET requests are not yet supported. Note that in the above example, you declared only the name of the service you wanted to call, but not a namespace. In this case, Kogito Serverless Workflow will look for a Knative service in the same namespace the workflow service is running. In case you need to call a Knative service in a different namespace, you can declare the function as: \"functions\": [ { \"name\": \"greet\", \"type\": \"custom\", \"operation\": \"knative:services.v1.serving.knative.dev/my_different_namespace/custom-function-knative-service?path=/plainJsonFunction\" } ] In the above example, Kogito Serverless Workflow will look for the custom-function-knative-service in the my_different_namespace namespace. In case you need to send a payload in the request, you can add it to arguments in functionRef. You must send the following JSON object as the payload: { \"product_id\": \".product_id\", \"customer_name\": \".customer_name\" } You must declare a functionRef like the following. \"states\": [ { \"name\": \"invokeFunction\", \"type\": \"operation\", \"actions\": [ { \"functionRef\": { \"refName\": \"greet\", \"arguments\": { (1) \"product_id\": \".product_id\", \"customer_name\": \".customer_name\" } } } ], \"end\": true } ] 1 The request payload is set in arguments. By default, Kogito Serverless Workflow sends the payload of a Knative function as a regular JSON object and Content-Type as application/json. However, you can tell Kogito Serverless Workflow to send the payload as a CloudEvent. In that case, Kogito Serverless Workflow will check if the CloudEvent has all mandatory attributes set and use application/cloudevents+json; charset=UTF-8 in Content-Type. To tell Kogito Serverless Workflow you want to send the payload as a CloudEvent, you must define your function as follows: \"functions\": [ { \"name\": \"greet\", \"type\": \"custom\", \"operation\": \"knative:services.v1.serving.knative.dev/custom-function-knative-service?path=/plainJsonFunction&asCloudEvent=true\" (1) } ] 1 Tells Kogito Serverless Workflow to send the payload as a CloudEvent. Default is false If you do not set the asCloudEvent attribute to true, you can not send a CloudEvent. If you do so, Kogito Serverless Workflow will throw an error. You must send the following CloudEvent as the payload: { \"specversion\" : \"1.0\", \"type\" : \"com.github.pull_request.opened\", \"source\" : \"https://github.com/cloudevents/spec/pull\", \"subject\" : \"123\", \"time\" : \"2018-04-05T17:31:00Z\", \"comexampleextension1\" : \"value\", \"comexampleothervalue\" : 5, \"datacontenttype\" : \"text/xml\", \"data\" : \"\" } You must declare a functionRef like the following: (Do not forget to set asCloudEvent as true in function metadata) \"states\": [ { \"name\": \"invokeFunction\", \"type\": \"operation\", \"actions\": [ { \"functionRef\": { \"refName\": \"greet\", \"arguments\": { (1) \"specversion\" : \"1.0\", \"type\" : \"com.github.pull_request.opened\", \"source\" : \"https://github.com/cloudevents/spec/pull\", \"subject\" : \"123\", \"time\" : \"2018-04-05T17:31:00Z\", \"comexampleextension1\" : \"value\", \"comexampleothervalue\" : 5, \"datacontenttype\" : \"text/xml\", \"data\" : \"\" } } } ], \"end\": true } ] 1 The CloudEvent is set in arguments. Kogito Serverless Workflow generates a CloudEvent ID based on the source and the workflow instance ID. In case you decide to set an ID, Kogito Serverless Workflow will use it and you must ensure it’s unique. Refer to the following example on how to set a CloudEvent ID: Setting a CloudEvent ID \"arguments\": { \"specversion\" : \"1.0\", \"id\": \"a_unique_id_42\", (1) \"type\" : \"com.github.pull_request.opened\", \"source\" : \"https://github.com/cloudevents/spec/pull\", \"subject\" : \"123\", \"time\" : \"2018-04-05T17:31:00Z\", \"comexampleextension1\" : \"value\", \"comexampleothervalue\" : 5, \"datacontenttype\" : \"text/xml\", \"data\" : \"\" } 1 The CloudEvent ID. By default, the Knative service must respond within 10 seconds. You can use the kogito.addon.knative-serving.request-timeout property to configure this value. For instance, if you want to reduce the request timeout to 5 seconds, you must add the following to your application.properties file: kogito.addon.knative-serving.request-timeout=5000 (1) 1 Time in milliseconds You can add your custom types by using the Kogito add-on mechanism. As predefined custom types like sysout or java, the custom type identifier is the prefix of the operation field of the function definition. Kogito add-ons relies on the Quarkus extensions mechanism. And the add-on consists of at least two Maven projects: The deployment module, which is responsible for generating the code required for the extension to work. The runtime module, which includes the non-generated classes that are required for the extension to work. In the case of a Serverless Workflow custom type, following are the roles of the modules: The deployment project The deployment project is expected to configure the work item handler used during runtime to perform the logic associated with the custom type. It must contain a Java class that inherits from WorkItemTypeHandler. Its responsibilities are to indicate the custom type identifier (the operation prefix, as indicated earlier) and to set up the WorkItemNodeFactory instance passed as a parameter of the fillWorkItemHandler method. That instance is included in the Kogito process definition for that Workflow. As a part of this setup, you must indicate the name of the WorkItemNodeFactory. You might also provide any relevant metadata for that handler if needed. The runtime project The runtime project consists of a WorkflowWorkItemHandler implementation, which name must match with the one provided to WorkItemNodeFactory during the deployment phase, and a WorkItemHandlerConfig bean that registers that handler with that name. When a Serverless Workflow function is called, Kogito identifies the proper WorkflowWorkItemHandler instance to be used for that function type (using the handler name associated with that type by the deployment project) and then invokes the internalExecute method. The Map parameter contains the function arguments defined in the workflow, and the WorkItem parameter contains the metadata information added to the handler by the deployment project. Hence, the executeWorkItem implementation has an access to all the information needed to perform the computational logic intended for that custom type. Assuming you want to interact, from a workflow file, with a legacy RPC server as the one defined in this project. This legacy server supports four simple arithmetic operations: add, minus, multiply and divide, which can be invoked using a custom RPC protocol. Since this is an uncommon protocol, the workflow cannot handle them by using any of the predefined Serverless Workflow function types. The available options are to use a Java service, which invokes a Java class that knows how to interact with the server, or define a custom type that knows how to interact with the service. Using the recent approach, you can write a workflow file defining this function. RPC Custom function definition example \"functions\": [ { \"name\": \"division\", \"type\": \"custom\", \"operation\": \"rpc:division\" } ], The operation starts with rpc, which is the custom type identifier, and continues with division, which denotes the operation that will be executed in the legacy server. A Kogito addon that defines the rpc custom type must be developed for this function definition to be identified. It is consist of a deployment project and a runtime project. The deployment project is responsible for extending the WorkItemTypeHandler and setup the WorkItemNodeFactory as follows: Example of the RPC function Java implementation import static org.kie.kogito.examples.sw.custom.RPCCustomWorkItemHandler.NAME; import static org.kie.kogito.examples.sw.custom.RPCCustomWorkItemHandler.OPERATION; public class RPCCustomTypeHandler extends WorkItemTypeHandler{ @Override public String type() { return \"rpc\"; } @Override protected > WorkItemNodeFactory fillWorkItemHandler(Workflow workflow, ParserContext context, WorkItemNodeFactory node, FunctionDefinition functionDef) { return node.workName(NAME).metaData(OPERATION, trimCustomOperation(functionDef)); } } This example setups the name of the KogitoWorkItemHandler, adds a metadata key with the name of the remote operation (extracted from the Serverless Workflow function definition operation property), and declares that the custom type is named as rpc. The Runtime project contains the KogitoWorkItemHandler and the WorkItemHandlerConfig implementations. As expected, RPCCustomWorkItemHandler implements the internalExecute method as follows: Example of implementation of the internalExecute method @Override protected Object internalExecute(KogitoWorkItem workItem, Map parameters) { try { Iterator iter = parameters.values().iterator(); Map metadata = workItem.getNodeInstance().getNode().getMetaData(); String operationId = (String) metadata.get(OPERATION); if (operationId == null) { throw new IllegalArgumentException (\"Operation is a mandatory parameter\"); } return CalculatorClient.invokeOperation((String)metadata.getOrDefault(HOST,\"localhost\"), (int) metadata.getOrDefault(PORT, 8082), OperationId.valueOf(operationId.toUpperCase()), (Integer)iter.next(), (Integer)iter.next()); } catch (IOException io ) { throw new UncheckedIOException(io); } } The implementation invokes the CalculatorClient.invokeOperation, a java static method that knows how to interact with the legacy service. You can obtain the operation parameter from the WorkItem metadata. The dividend and the divisor parameters are obtained from the Map parameter, which contains the function arguments defined in the workflow file. Example of the custom function call from the workflow definition { \"actions\":[ { \"functionRef\":{ \"refName\":\"division\", \"arguments\":{ \"dividend\":\".dividend\", \"divisor\":\".divisor\" } } } ] } The RPCCustomWorkItemHandlerConfig is a bean that registers the handler name. Example of injecting the custom`WorkItemHandler` @Inject RPCCustomWorkItemHandler handler; @PostConstruct void init () { register(handler.getName(),handler); } CNCF Serverless Workflow specification jq expressions in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Custom functions for your Kogito Serverless Workflow service","component":"serverlessworkflow","version":"1.40.0.Final","name":"custom-functions-support","url":"/serverlessworkflow/latest/core/custom-functions-support.html","titles":[{"text":"Sysout custom function","hash":"con-func-sysout","id":1},{"text":"Java custom function","hash":"con-func-java","id":2},{"text":"Function Definition","hash":"_function_definition","id":3},{"text":"Function Arguments","hash":"_function_arguments","id":4},{"text":"Function return values","hash":"_function_return_values","id":5},{"text":"Function accessing Kogito context","hash":"_function_accessing_kogito_context","id":6},{"text":"Camel custom function","hash":"con-func-camel","id":7},{"text":"Function definition","hash":"_function_definition_2","id":8},{"text":"Function arguments","hash":"_function_arguments_2","id":9},{"text":"Function return values","hash":"_function_return_values_2","id":10},{"text":"Knative custom function","hash":"con-func-knative","id":11},{"text":"Function definition","hash":"_function_definition_3","id":12},{"text":"About namespaces","hash":"about-namespaces","id":13},{"text":"Function arguments","hash":"_function_arguments_3","id":14},{"text":"Sending a regular JSON object","hash":"_sending_a_regular_json_object","id":15},{"text":"Sending a CloudEvent","hash":"sending-cloudevents","id":16},{"text":"Configurations","hash":"_configurations","id":17},{"text":"Request timeout","hash":"_request_timeout","id":18},{"text":"Custom function types","hash":"_custom_function_types","id":19},{"text":"Custom function type example","hash":"_custom_function_type_example","id":20},{"text":"Additional resources","hash":"_additional_resources","id":21},{"text":"Found an issue?","hash":"_found_an_issue","id":22}]},"7":{"id":7,"text":"The dataInputSchema in the Serverless Workflow specification is a parameter used in the workflow definition. The dataInputSchema parameter validates the workflow data input against a defined JSON Schema. It is important to provide dataInputSchema, as it is used to verify if the provided workflow data input is correct before any workflow states are executed. You can define a dataInputSchema as follows: dataInputSchema definition \"dataInputSchema\": { \"schema\": \"URL_to_json_schema\", \"failOnValidationErrors\": false } In the previous definition, the schema property is a URI, which holds the path to the JSON schema used to validate the workflow data input. The URI can be a classpath URI, a file, or an HTTP URL. If a classpath URI is specified, then the JSON schema file must be placed in the resources section of the project. You can see the serverless-workflow-expression-quarkus example application of a workflow definition with dataInputSchema. See the Serverless Workflow JSON file for more details. When a workflow definition contains a dataInputSchema attribute, the workflow application generates an OpenAPI file, such as http://localhost/q/openapi. The generated OpenAPI file references the schema file, which helps in defining the input data for the workflows. For more information about the OpenAPI file, see OpenAPI specification. If you want to generate an OpenAPI file for a workflow, then you must add the Quarkus dependency in the project. Example component section with schema in an OpenAPI file components: schemas: GeneralError: type: object properties: code: format: int32 type: integer message: type: string Orchestrating the OpenAPI services Configuring the OpenAPI services endpoints If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Input schema definition for Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"defining-an-input-schema-for-workflows","url":"/serverlessworkflow/latest/core/defining-an-input-schema-for-workflows.html","titles":[{"text":"Additional resources","hash":"_additional_resources","id":1},{"text":"Found an issue?","hash":"_found_an_issue","id":2}]},"8":{"id":8,"text":"Serverless Workflow specification defines a wide amount of possible timeout configurations. Among them, Kogito Serverless Workflow currently supports workflow and event timeouts. Regardless of its application scope (workflow or state), you can not define the timeouts as a specific point in time, but they should be an amount of time, a duration, which is considered to start when the referred scope becomes active. Timeouts use the ISO 8601 data and time standard to specify a duration of time. It follows the format PnDTnHnMn.nS with days considered to be exactly 24 hours. For instance, PT15M configures 15 minutes, and P2DT3H4M defines 2 days, 3 hours and 4 minutes. You can set up the maximum amount of time a workflow might be running before being canceled. This is configured in the header section of the flow, by using the WorkflowExecTimeout definition. Only the duration property is currently implemented. Once canceled, the workflow is considered to be finished and will not be accessible through a GET request anymore. So it behaves as if the interrupt was true by default. For example, in order to cancel the workflow after an hour of execution, you might add the following snippet. Example of workflow timeout \"timeouts\": { \"workflowExecTimeout\": \"PT1H\" } When you define a state in a serverless workflow, you can use the timeouts property to configure the maximum time to complete this state. When that time is overdue, the state is considered timed-out, and the engine continues the execution from this state. The execution flow depends on the state type, for instance, a transition to a next state. All the properties you can use to configure state timeouts are described in the Serverless Workflow specification. Event-based states can use the sub-property eventTimeout to configure the maximum time to wait for an event to arrive. Callback state can be used when you need to execute an action, in general to call an external service, and wait for an asynchronous response in form of an event, the callback. Once the response event is consumed, the workflow continues the execution, in general moving to the next state defined in the transition property. See more on Callback state in Kogito Serverless Workflow. Since the callback state halts the execution util the event is consumed, you can define an eventTimeout for it, and in case the event does not arrive in the defined duration time, the workflow continues the execution moving to the next state defined in the transition, see the example. Example of callback state with timeout { \"name\": \"CallbackState\", \"type\": \"callback\", \"action\": { \"name\": \"callbackAction\", \"functionRef\": { \"refName\": \"callbackFunction\", \"arguments\": { \"input\": \"${\\\"callback-state-timeouts: \\\" + $WORKFLOW.instanceId + \\\" has executed the callbackFunction.\\\"}\" } } }, \"eventRef\": \"callbackEvent\", \"transition\": \"CheckEventArrival\", \"onErrors\": [ { \"errorRef\": \"callbackError\", \"transition\": \"FinalizeWithError\" } ], \"timeouts\": { \"eventTimeout\": \"PT30S\" } } The switch state can be used when you need to take an action based on conditions, defined with the eventConditions property, where the workflow execution waits to make a decision depending on the events to be consumed and matched, defined through event definition. In this situation, you can define an event timeout, that controls the maximum time to wait for an event to match the conditions, if this time is expired, the workflow moves to the state defined in the defaultCondition property of the switch state, as you can see in the example. See more details about this state on the Serverless Workflow specification. Example of switch state with timeout { \"name\": \"ChooseOnEvent\", \"type\": \"switch\", \"eventConditions\": [ { \"eventRef\": \"visaApprovedEvent\", \"transition\": \"ApprovedVisa\" }, { \"eventRef\": \"visaDeniedEvent\", \"transition\": \"DeniedVisa\" } ], \"defaultCondition\": { \"transition\": \"HandleNoVisaDecision\" }, \"timeouts\": { \"eventTimeout\": \"PT5S\" } } The event state is used to wait for one or more events to be received by the workflow and then continue the execution. If the event state is a starting state, a new workflow instance is created. The event state is not supported as a starting state if the exclusive flag is set to false, therefore timeout is not supported in this case. The timeouts property is used for this state to configure the maximum time the workflow should wait for the defined events to arrive. If this time is exceeded and the events are not received, the workflow moves to the state defined in the transition property or ends the workflow instance without performing any actions in case of an end state. You can see this in the example. For more information about event state timeout, see Serverless Workflow specification. Example of event state with timeout { \"name\": \"WaitForEvent\", \"type\": \"event\", \"onEvents\": [ { \"eventRefs\": [ \"event1\" ], \"eventDataFilter\": { \"data\": \"${ \\\"The event1 was received.\\\" }\", \"toStateData\": \"${ .exitMessage }\" }, \"actions\": [ { \"name\": \"printAfterEvent1\", \"functionRef\": { \"refName\": \"systemOut\", \"arguments\": { \"message\": \"${\\\"event-state-timeouts: \\\" + $WORKFLOW.instanceId + \\\" executing actions for event1.\\\"}\" } } } ] }, { \"eventRefs\": [ \"event2\" ], \"eventDataFilter\": { \"data\": \"${ \\\"The event2 was received.\\\" }\", \"toStateData\": \"${ .exitMessage }\" }, \"actions\": [ { \"name\": \"printAfterEvent2\", \"functionRef\": { \"refName\": \"systemOut\", \"arguments\": { \"message\": \"${\\\"event-state-timeouts: \\\" + $WORKFLOW.instanceId + \\\" executing actions for event2.\\\"}\" } } } ] } ], \"timeouts\": { \"eventTimeout\": \"PT30S\" }, \"transition\": \"PrintExitMessage\" } In order to deploy a workflow that contains timeouts or any other timer-based action, it is necessary to have a job service running in your environment, which is an external service responsible to control the workflows timers, see the job service guide for more information. In the timeout example you can see the details of how set up a Knative infrastructure with the workflow and job service running. The communication from the workflow application with Job Service is done through an addon, which is responsible for publishing and consuming events related to timers. When you run the workflow as a Knative service, you must add the kogito-addons-quarkus-jobs-knative-eventing to your project and provide the proper configuration. Dependency in the pom.xml: Callback state example with timeout org.kie.kogito kogito-addons-quarkus-jobs-knative-eventing Configuration parameters: Callback state example with timeout # Events produced by kogito-addons-quarkus-jobs-knative-eventing to program the timers on the Job Service. mp.messaging.outgoing.kogito-job-service-job-request-events.connector=quarkus-http mp.messaging.outgoing.kogito-job-service-job-request-events.url=${K_SINK:http://localhost:8280/jobs/events} mp.messaging.outgoing.kogito-job-service-job-request-events.method=POST The K_SINK variable used in the URL configuration for the outgoing channel in the configuration, is injected by Knative Eventing, more information on Consuming and producing events on Knative Eventing. You can check Timeout example in Kogito Serverless Workflow to see how to use and configure workflows with timeouts. Callback state in Kogito Serverless Workflow Timeout example in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Timeouts in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"timeouts-support","url":"/serverlessworkflow/latest/core/timeouts-support.html","titles":[{"text":"Workflow timeout","hash":"_workflow_timeout","id":1},{"text":"Event timeout","hash":"_event_timeout","id":2},{"text":"Callback state timeout","hash":"_callback_state_timeout","id":3},{"text":"Switch state timeout","hash":"_switch_state_timeout","id":4},{"text":"Event state timeout","hash":"_event_state_timeout","id":5},{"text":"Deploying a timed-based workflow","hash":"_deploying_a_timed_based_workflow","id":6},{"text":"Addon configuration in the workflow runtime","hash":"job-addon-configuration","id":7},{"text":"Timeout showcase example","hash":"timeout-example","id":8},{"text":"Additional resources","hash":"_additional_resources","id":9},{"text":"Found an issue?","hash":"_found_an_issue","id":10}]},"9":{"id":9,"text":"Each workflow instance is associated with a data model. A data model consists of a JSON object regardless of whether the workflow file contains YAML or JSON. The initial content of the JSON object depends on how the workflow is started. If the workflow is created using the Cloud Event, then the workflow content is taken from the data property. However, if the workflow is started through an HTTP POST request, then the workflow content is taken from the request body. The workflow expressions in the Serverless Workflow specification are used to interact with the data model. The supported expression languages include JsonPath and jq. jq expression language is the default language. However, you can change the expression language to JsonPath using the expressionLang property. This document describes the usage of jq expressions in switch state conditions, action function arguments, and data filtering. The conditions occurring in a switch state enable the workflow designer to select the path that workflow follows based on the data model content. A condition in a switch state is an expression, which returns a boolean value when evaluated against the data model. If a condition associated with a state transition returns true, then the workflow must follow that transition. For example, in the serverless-workflow-greeting-quarkus example application, a message is displayed depending on the selected language, that is English or Spanish. If the value of the language property is English, the constant literal injected on the message property is Hello from, otherwise the constant value injected on the message property is Saludos desde…. The switch state in the serverless-workflow-greeting-quarkus example application contains the following conditions, which in turn contains two jq expressions returning a boolean. Example conditions in serverless-workflow-greeting-quarkus \"dataConditions\": [ { \"condition\": \"${ .language == \\\"English\\\" }\", \"transition\": \"GreetInEnglish\" }, { \"condition\": \"${ .language == \\\"Spanish\\\" }\", \"transition\": \"GreetInSpanish\" } ] The Serverless Workflow specification requires all the expressions to be embedded within ${… }. However, Kogito Serverless Workflow figures out whether or not a string is an expression. Therefore, you can save characters and skip ${ in the beginning and } in the end. In case of portability, you must embed the expressions within ${… }. In the Serverless Workflow specification, you can define workflow functions, which can be invoked several times by the workflow states. Each workflow function call might contain different arguments, which are specified using the function arguments. For example, you can see the temperature conversion function definition in serverless-workflow-temperature-conversion example application. The temperature conversion function performs OpenAPI invocations to convert Fahrenheit to Celsius. For more information about OpenAPI, see Orchestrating the OpenAPI services. Following is the subtraction function in serverless-workflow-temperature-conversion example application: Example subtraction function in serverless-workflow-temperature-conversion \"functions\": [ { \"name\": \"subtraction\", \"operation\": \"specs/subtraction.yaml#doOperation\" }] The arguments in subtraction function are expressed as a JSON object, and the property values of the JSON object are either a string containing an expression or a JSON data type, such as string, number, or boolean. Example arguments in subtraction function \"functionRef\": { \"refName\": \"subtraction\", \"arguments\": { \"leftElement\": \".fahrenheit\", \"rightElement\": \".subtractValue\" } } In the previous example, the left number is equal to the fahrenheit property (an input number that invokes the workflow), and the right number is equal to the subtractValue property (a constant number that is injected to the workflow model by SetConstants state). Once the expression evaluation is resolved for all properties that contain an expression, the resulting object is passed in the OpenAPI request. Based on the OpenAPI definition, the properties in the JSON object are used as body, path, query, or header of the upcoming REST invocation. Following is an example of function arguments defined as string that contains an expression, returning a JSON object: Example function arguments defined as string \"functionRef\": { \"refName\": \"subtraction\", \"arguments\": \"{leftElement: .fahrenheit, rightElement : .subtractValue}\" } In the previous example, the result of the expression evaluation is the same JSON object than in the first case, which is passed as arguments of the OpenAPI request. The Serverless Workflow specification defines the following filtering mechanisms to select which information must be part of the workflow data model: Action data filters: Select the part of the action result that is merged into the data model, which overrides the properties that share the name with the selected action result. Event data filters: Similar to the action data filters, but apply to the events instead of actions. State data filters: Define the workflow model to the JSON object, which is returned by the expression and discards an existing property. State and Action data filter example You can see serverless-workflow-expression-quarkus example application, in which actions and state data filters are used. Following is an expression function in serverless-workflow-expression-quarkus example application: Example expression function in serverless-workflow-expression-quarkus \"functions\": [ { \"name\": \"max\", \"type\": \"expression\", \"operation\": \"{max: .numbers | max_by(.x), min: .numbers | min_by(.y)}\" } ] In the previous example, an array of complex numbers (x is real coordinate and y is imaginary coordinate) is accepted and an expression function is defined to calculate the maximum value of x and minimum value of y for the numbers array. Also, the serverless-workflow-expression-quarkus example application contains an action data filter defined inside squareState action and a state data filter defined inside finish state. The action data filter selects the maximum value of x to be merged to the workflow model, and the state data filter defines the maximum value as the entire workflow model that is returned as the workflow response. The previous example expression also contains a max function of type expression and an operation property containing a string of jq expression. This jq expression returns a JSON object, in which the max property is the maximum value of the x coordinate and the min property is the minimum value of the y coordinate. Following is an action data filter in serverless-workflow-expression-quarkus example application: Example action data filter in serverless-workflow-expression-quarkus \"actions\": [ { \"name\": \"maxAction\", \"functionRef\": { \"refName\": \"max\" }, \"actionDataFilter\": { \"results\" : \".max.x\", \"toStateData\" : \".number\" } } ] In case the previous example of action data filter is not added in the serverless-workflow-expression-quarkus, then the entire JSON object returned by the function is merged into the workflow model. The previous action data filter contains the following properties: results, selecting the attribute from the data returned by the action. toStateData, indicating the name of the target property inside the workflow model. If the target property does not exist, then a target property is added. Therefore, after executing the action, the workflow model consists of a number property, containing the maximum value of x and the original numbers array. After that, the workflow transitions to the finish state. Example state data filter in serverless-workflow-expression-quarkus \"name\": \"finish\", \"type\": \"operation\", \"stateDataFilter\": { \"input\": \"{result: .number}\" } The original numbers array should not be returned as a result of the workflow execution, therefore the final stage consists of a state data filter defining the content of the output model. The output model should contain a result property and the value of result property should be the maximum number that is stored by the previous state in the number property. In the previous example, the workflow model is changed by the input property of the filter, which means that the output model is updated before the state is executed. As a final result, the output model consists of a result property, containing the maximum value of x. Event data filter example You can find an example of event data filtering in the serverless-workflow-callback-quarkus example application. Example event filter \"eventRef\": \"waitEvent\", \"eventDataFilter\": { \"data\": \".result\", \"toStateData\": \".move\" } The previous example of the event filter copies the content of CloudEvent data result field into the workflow model move field. Configuring the OpenAPI services endpoints If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"jq expressions in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"understanding-jq-expressions","url":"/serverlessworkflow/latest/core/understanding-jq-expressions.html","titles":[{"text":"Example of jq expressions in switch conditions","hash":"ref-example-jq-expression-switch-conditions","id":1},{"text":"Example of jq expressions in function arguments","hash":"ref-example-jq-expression-function-arguments","id":2},{"text":"Example of jq expressions in data filtering","hash":"ref-example-jq-expression-data-filtering","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"10":{"id":10,"text":"This document describes how you can handle the errors that might occur in Kogito Serverless Workflow. The Serverless Workflow specification provides an error handling mechanism, enabling you to handle the errors that might happen during the interactions between the workflow and external systems. When an error occurs, it changes the regular workflow sequence. In such cases, a workflow state transitions to an alternative state that can potentially handle the error, instead of transitioning to the predefined state. Note that error definition for a workflow is optional. If error handling is not defined, then the workflow execution is aborted when an error occurs. As a developer, you can consider the error handling in Kogito Serverless Workflow as a try-catch or a goto construct. An error definition in a workflow is composed of a name and code parameters. The name is a short and natural language description of an error, such as wrong parameter. The code parameter helps the implementation to identify the error. The code parameter is mandatory and the engine uses different strategies to map the provided value to an exception encountered at runtime. The available strategies include fully qualified class name, error message, and status code. Fully Qualified Class Name (FQCN) You can define the mapping as the fully qualified Java class name of an exception type. To determine if an exception is handled by an error definition, a workflow first checks whether or not the type of the Java exception is an instance of the exception that is specified in the error definition. Otherwise, the workflow recursively applies the same check to any embedded exception within the original Java one, till the exception chain is exhausted. Table 1. Runtime exception examples: Runtime exception Error code definition java.lang.RuntimeException java.lang.RuntimeException java.lang.IllegalStateException java.lang.RuntimeException Error message You can define the mapping as a partial match of the error message using regex patterns. A workflow verifies whether the message of the Java exception matches the value provided in the error code. The validation is performed using a regex matcher. The validation is successful if a partial match is found. Note that the validation is performed in a case-sensitive manner. If case-insensitive pattern matching is desired, use the embedded flag expression (?i) within the regular expression. Table 2. Error message examples: Error message of runtime exception Error code definition Unknown error, status code 400 Unknown error Unknown error, status code 400 (?i)Error or error Unknown error, status code 400 (.*)status code 4[0-9]{2} or status code 4[0-9]{2} Status code You can define the mapping as a status code returned by the invoked service. The external services return status codes in the event of a failure. For example, HTTP status codes are returned by REST or OpenAPI service invocations. In this case, the workflow verifies the defined error code against the HTTP code from the underlying response object. You can define the error code either as an HTTP code or as a colon-separated string, in which the error definition contains the error code in the last part. Table 3. Status code examples: HTTP status code Error code definition 400 400 400 HTTP:400 The workflow in the serverless-workflow-error-quarkus example application illustrate the usage of the error handling mechanism. Figure 1. Example of error handling The workflow accepts an integer number as the input model. When the workflow starts, it invokes the isEven Java service, which accepts that integer number as a parameter. This service throws an IllegalArgumentException exception if the integer number is odd. This means that if the integer number is even, the workflow transitions to the even state, however, if the integer number is odd, the workflow transitions to the odd state, resulting in a different model output. Example checkEven state { \"name\": \"checkEven\", \"type\": \"operation\", \"actions\": [ { \"name\": \"checkEvenAction\", \"functionRef\": { \"refName\": \"isEven\", \"arguments\": { \"number\": \"$.number\" } } } ], \"transition\": \"even\", \"onErrors\": [ { \"errorRef\": \"odd number\", \"transition\": \"odd\" } ] } The workflow defines a function that invokes the isEven method of org.kie.kogito.examples.EvenService class. This function uses a custom function type, enabling Kogito Serverless Workflow to invoke Java methods. Example isEven function definition { \"name\": \"isEven\", \"type\": \"custom\", \"operation\": \"service:java:org.kie.kogito.examples.EvenService::isEven\" } To handle the error, the workflow defines an odd number error which handles any runtime exception. As the IllegalArgumentException is a child of RuntimeException, if isEven method throws the exception, it will be handled. Example error definition \"errors\": [ { \"name\": \"odd number\", \"code\": \"java.lang.RuntimeException\" } ] The Inject state is used to populate the model with specific JSON payload. Therefore, the even and odd state defines the message property as even and odd respectively. { \"name\": \"even\", \"type\": \"inject\", \"data\": { \"numberType\": \"even\" }, \"transition\": \"finish\" }, { \"name\": \"odd\", \"type\": \"inject\", \"data\": { \"numberType\": \"odd\" }, \"transition\": \"finish\" } The finish state in the serverless-workflow-error-quarkus example application displays the model content to the console, so you can verify that the expected message has been set. { \"name\": \"finish\", \"type\": \"operation\", \"actions\": [ { \"name\": \"printAction\", \"functionRef\": { \"refName\": \"printMessage\", \"arguments\": { \"message\": \"$.numberType\" } } } ], \"end\": { \"terminate\": \"true\" } } Creating your first workflow service If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Error handling in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"understanding-workflow-error-handling","url":"/serverlessworkflow/latest/core/understanding-workflow-error-handling.html","titles":[{"text":"Error definition","hash":"con-error-definition","id":1},{"text":"Example of error handling","hash":"ref-example-error-handling","id":2},{"text":"Additional resources","hash":"_additional_resources","id":3},{"text":"Found an issue?","hash":"_found_an_issue","id":4}]},"11":{"id":11,"text":"This document describes how you can run parallel tasks in Kogito Serverless Workflow. The testing procedure described in this document is based on the serverless-workflow-service-calls-quarkus example application in GitHub repository. Kogito Serverless Workflow serializes the execution of parallel tasks. Therefore, the word \"parallel\" does not indicate simultaneous execution, but it means that there is no logical dependency between the execution of branches. An inactive branch can start or resume the execution of a task without waiting for an active branch to be completed, in case the latter suspends the execution (for example, wait for an event reception). The serverless-workflow-service-calls-quarkus example application is a workflow that concatenates three strings and returns a result. The concatenation in the example application is done in parallel, which includes one branch per three strings. You can create a workflow, which performs a series of parallel tasks. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. Procedure Create a workflow file named as parallel.sw.json under the src/main/resources/ directory. Add the following content to the parallel.sw.json file: Example content for parallel.sw.json file { \"id\": \"parallel\", \"version\": \"1.0\", \"specVersion\": \"0.8\", \"name\": \"Welcome to the Parallel dimension\", \"description\": \"Testing parallelism\", \"start\": \"Parallel\", \"functions\": [ { \"name\": \"concatA\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"A\\\"\" (1) }, { \"name\": \"concatB\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"B\\\"\" (2) }, { \"name\": \"concatC\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"C\\\"\" (3) } ], \"states\": [ { \"name\": \"Parallel\", \"type\": \"parallel\", (4) \"branches\": [ (5) { \"name\": \"branchA\", \"actions\": [ { \"functionRef\": \"concatA\" (6) } ] }, { \"name\": \"branchB\", \"actions\": [ { \"functionRef\": \"concatB\" (7) } ] }, { \"name\": \"branchC\", \"actions\": [ { \"functionRef\": \"concatC\" (8) } ] } ], \"completionType\": \"allOf\", (9) \"end\": { \"terminate\": true } } ] } 1 Function that concatenates the string A. 2 Function that concatenates the string B. 3 Function that concatenates the string C. 4 Defines the type of the state as parallel. 5 Defines the branches that run in parallel. 6 Defines the function that runs in branchA. 7 Defines the function that runs in branchB. 8 Defines the function that runs in branchC. 9 Defines the completion type of the parallel state as allOf. This means that the parallel state is completed when all the branches are completed. After you create a workflow that performs a series of parallel tasks, you can run the workflow. Prerequisites A parallel workflow is created. For more information, see Creating a parallel workflow. The workflow application is up and running. You can start the workflow application in development mode by using the following command: mvn quarkus:dev Procedure To run the created parallel workflow, send a request to the /parallel endpoint as shown in the following example request: Example request curl -X 'POST' \\ 'http://localhost:8080/parallel' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{}' Example response {\"id\":\"358f97ba-f0f9-4f25-86cc-4b35e85c2406\",\"workflowdata\":{\"result\":\"ABC\"}} The \"result\":\"ABC\" in the previous example response might be different in each request since the branches are running in parallel and the execution order of the branches is unpredictable. Note that the parallel workflow data shows the concatenated string as result. You can define the \"completionType\": \"atLeast\" to run only some branches in parallel workflow, instead of defining \"completionType\": \"allOf\". When you define \"completionType\": \"atLeast\", you also need to define the minimum number of branches that you want to run by defining the \"numCompleted\": property. Prerequisites A parallel workflow is created. For more information, see Creating a parallel workflow. Procedure Change the completionType property to \"atLeast\" and add the \"numCompleted\": 2 property to the parallel state. Example parallel workflow { \"id\": \"parallel\", \"version\": \"1.0\", \"specVersion\": \"0.8\", \"name\": \"Welcome to the Parallel dimension\", \"description\": \"Testing parallelism\", \"start\": \"Parallel\", \"functions\": [ { \"name\": \"concatA\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"A\\\"\" }, { \"name\": \"concatB\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"B\\\"\" }, { \"name\": \"concatC\", \"type\": \"expression\", \"operation\": \".result|=.+\\\"C\\\"\" } ], \"states\": [ { \"name\": \"Parallel\", \"type\": \"parallel\", \"branches\": [ { \"name\": \"branchA\", \"actions\": [ { \"functionRef\": \"concatA\" } ] }, { \"name\": \"branchB\", \"actions\": [ { \"functionRef\": \"concatB\" } ] }, { \"name\": \"branchC\", \"actions\": [ { \"functionRef\": \"concatC\" } ] } ], \"completionType\": \"atLeast\", (1) \"numCompleted\": \"2\", (2) \"end\": { \"terminate\": true } } ] } 1 Defines the completion type of the parallel state as atLeast. 2 Defines the minimum number of branches that you want to run. This means that the parallel state is completed when at least two branches are completed. To run the created parallel workflow, send a request to the /parallel endpoint as shown in the following example: Example request curl -X 'POST' \\ 'http://localhost:8080/parallel' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{}' Example response {\"id\":\"3da62df1-c4e7-48c9-a3e4-7f63872c92f4\",\"workflowdata\":{\"result\":\"BC\"}} The \"result\":\"BC\" in the response might be different in each request. The parallel workflow data shows the concatenated string as result, but in this case, the workflow concatenates only two letters. Creating your first workflow service If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Parallelism in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"working-with-parallelism","url":"/serverlessworkflow/latest/core/working-with-parallelism.html","titles":[{"text":"Creating a parallel workflow","hash":"proc-parallel-creating-the-workflow","id":1},{"text":"Running a parallel workflow","hash":"proc-parallel-run-workflow","id":2},{"text":"Running some branches in parallel workflow","hash":"proc-parallel-run-branches","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"12":{"id":12,"text":"This document describes how you can configure a workflow to interact with Knative Eventing. Knative Eventing abstracts the events consumption through event source and sink components. An event source is a Kubernetes object that produces the event, and a sink is another Kubernetes object that receives the event. The workflow application can act as a source, a sink, or both in Knative Eventing platform. You need to add the Kogito Knative Eventing add-on dependency to indicate that you are using Knative Eventing. To enable a workflow to use Knative Eventing, add the following dependency to the pom.xml file of your project: Apache Maven Quarkus CLI Manually mvn quarkus:add-extension -Dextensions=\"kogito-addons-quarkus-knative-eventing\" quarkus extension add kogito-addons-quarkus-knative-eventing org.kie.kogito kogito-addons-quarkus-knative-eventing If you have used the Knative workflow CLI to create your project, then the Kogito Knative Eventing extension is already present. For more information about creating a project using Knative workflow CLI, see Kogito Serverless Workflow plug-in for Knative CLI. The Kogito Knative Eventing add-on takes care of the required dependencies and additional configuration that the workflow application needs, to interact with the Knative Eventing platform. Although the default configuration that the Quarkus Knative Eventing add-on provides ought to be enough for most of the use cases, sometimes you might need to do additional configuration to serve a specific scenario. The configuration described in this section is useful if your workflow consists of at least one produced type event definition. In this scenario, the workflow application produces events that act as a Knative source. HTTP transport configuration Knative injects the K_SINK environment variable in the workflow application when you deploy the application in the cluster. Kogito Serverless Workflow uses the K_SINK environment variable to address the produced events to the correct Knative sink. For more information, see SinkBinding in Knative Eventing documentation. The following table lists the HTTP transport configuration properties: Table 1. HTTP transport configuration properties Property Default value Description mp.messaging.outgoing.kogito_outgoing_stream.url ${K_SINK:http://localhost:9090} This property indicates where to POST the HTTP CloudEvent message. mp.messaging.outgoing.kogito_outgoing_stream.connector quarkus-http This property indicates the Quarkus Smallrye channel implementation. You might not need to change this property. If the K_SINK variable is not present, then the default value is http://localhost:9000. You can override the default value in development environments. Health check configuration By default, the workflow application generates a health check probe to verify if the Knative platform injected a valid K_SINK variable. If the K_SINK variable is not present, then the pod is not in the state of receiving requests. The following table lists the health check probe configuration property: Table 2. Health check probe configuration property Property Default value Description org.kie.kogito.addons.knative.eventing.health_enabled true This property indicates if the health check is enabled to verify that the K_SINK variable is injected into the environment. Knative target sink generation configuration The Kogito Knative Eventing add-on generates a few Knative objects during build time. By default, the add-on generates a Knative Broker named default if the workflow application is acting as an event source. The following table lists the configuration properties related to Knative sink generation: Table 3. Knative sink generation configuration properties Property Default value Description org.kie.kogito.addons.knative.eventing.auto_generate_broker true This property indicates if the Kogito Knative Eventing add-on generates a default Knative Broker in memory to sink and dispatch the messages. Set this property to false in case a broker is already installed in your namespace. Note that you can use org.kie.kogito.addons.knative.eventing.sink.* property to configure your custom sink. If this property is not set, then the auto-generated broker works as a sink. org.kie.kogito.addons.knative.eventing.sink.namespace This property indicates the namespace where the generated Knative sink is deployed. org.kie.kogito.addons.knative.eventing.sink.api_version eventing.knative.dev/v1 This property indicates the API group and version of the generated Knative sink. org.kie.kogito.addons.knative.eventing.sink.name default This property indicates the name of the generated Knative sink. org.kie.kogito.addons.knative.eventing.sink.kind Broker This property indicates the Kubernetes kind of the generated Knative sink. The configuration described in this section is useful if your workflow consists of at least one consumed type event definition. In this scenario, the workflow application consumes events, acting as a Knative sink. When the workflow application needs to consume events, the Knative Eventing add-on generates Knative triggers. The Knative triggers are configured to listen to a broker with the required event type, which is defined in your workflow definition. The following table lists the configuration property related to Knative sink generation: Table 4. Knative sink generation configuration property Property Default value Description org.kie.kogito.addons.knative.eventing.broker default This property indicates the name of the default Knative broker that is deployed in the Kubernetes namespace. This broker is used as the reference to create the Knative triggers, which are responsible to delegate the events that the workflow service consumes. mp.messaging.incoming.kogito_incoming_stream.path / (root path) This property indicates the HTTP path where the workflow application will listen for the CloudEvents in the default incoming channel. mp.messaging.incoming..path / (root path) This property indicates the HTTP path where the workflow application will listen for the CloudEvents in the specific given channel name. The channel name is the event type as defined in the Serverless Workflow events definition. You can send HTTP CloudEvents to the workflow application endpoint by using any tool that’s capable to produce HTTP requests. The only requirement is that the request conforms to the CloudEvents specification. For example, with the help of curl, you can send an event to the workflow using the following command: Sending a CloudEvent over HTTP using the structured format. curl -X POST \\ -H 'Content-Type: application/cloudevents+json' \\ -d '{\"datacontenttype\": \"application/json\", \"specversion\":\"1.0\",\"id\":\"41495513-a9ef-4a81-8479-21bb14db61f0\",\"source\":\"/local/curl\",\"type\":\"kogito.serverless.loanbroker.aggregated.quotes.response\",\"data\": { \"amount\": 300000, \"term\": 30, \"credit\": { \"score\": 700, \"history\": 15 }, \"quotes\": [{ \"bankId\": \"Bank1\", \"rate\": 12.2 }, {\"bankId\": \"Bank2\", \"rate\": 10}] } } ' \\ http://localhost:8080 In this example we are using the CloudEvents structured format, which includes every event information within the request payload. Note the header Content-Type being application/cloudevents+json. Alternatively, you can use the CloudEvents binary format, which includes the event metadata in the HTTP header. For example, using the same event as before: Sending a CloudEvent over HTTP using the binary format. curl -X POST -i \\ -H 'Content-Type: application/json' \\ -H 'ce-specversion: 1.0' \\ -H 'ce-id: 41495513-a9ef-4a81-8479-21bb14db61f0' \\ -H 'ce-source: /local/curl' \\ -H 'ce-type: kogito.serverless.loanbroker.aggregated.quotes.response' \\ -d '{ \"amount\": 300000, \"term\": 30, \"credit\": { \"score\": 700, \"history\": 15 }, \"quotes\": [{ \"bankId\": \"Bank1\", \"rate\": 12.2 }, {\"bankId\": \"Bank2\", \"rate\": 10}] }' \\ http://localhost:8080/ You can use this tool to test your Kogito Serverless Workflow application locally and verify if the events are being consumed correctly by the workflow. For more information about testing incoming and outgoing CloudEvents over HTTP, see Mocking HTTP CloudEvents sink using WireMock. Kogito Serverless Workflow can generate Knative objects during the workflow application build time to facilitate the deployment in a Kubernetes cluster. However, you do not need to use the generated objects if you plan to create and deploy the Knative objects by yourself. Prerequisites A workflow application with the Knative Eventing add-on is created. Procedure Add the following Quarkus Kubernetes extension dependency to the pom.xml file of your project: Apache Maven Quarkus CLI Manually mvn quarkus:add-extension -Dextensions=\"quarkus-kubernetes,quarkus-container-image-jib\" quarkus extension add quarkus-kubernetes quarkus-container-image-jib io.quarkus quarkus-kubernetes io.quarkus quarkus-container-image-jib Add the quarkus.kubernetes.deployment-target=knative property to your application.properties file. Build your workflow application using the following command: Apache Maven Quarkus CLI Knative CLI mvn clean install quarkus build kn workflow build --image= The target/kubernetes directory contains two files including knative.yml and kogito.yml. The knative.yml file contains the Knative service representing the workflow application. The kogito.yml file contains the required objects to connect the workflow application to the Knative Eventing platform. You can use the generated files to deploy the workflow application in the Kubernetes cluster using the following command: Kubernetes command line tool Knative CLI kubectl apply -f target/kogito.yml kubectl apply -f target/knative.yml kn workflow deploy For more information about building and deploying the workflow application, see Building workflow images using Quarkus CLI. A workflow must contain at least one event definition for the Knative Eventing add-on to generate the event binding objects. The following is an example of a workflow containing produced and consumed events: Example of a workflow with produced and consumed events { \"events\": [ { \"name\": \"requestQuote\", \"type\": \"kogito.sw.request.quote\", \"kind\": \"produced\" }, { \"name\": \"aggregatedQuotesResponse\", \"type\": \"kogito.loanbroker.aggregated.quotes.response\", \"kind\": \"consumed\", \"source\": \"/kogito/serverless/loanbroker/aggregator\" }] } A workflow application with events definition needs a Knative SinkBinding to configure the target sink. The target sink is where the produced events (kogito.sw.request.quote event in the previous example) are dispatched. In this case, the Knative Eventing add-on generates an object as shown in the following example: Example of a Knative SinkBinding generated by the add-on apiVersion: sources.knative.dev/v1 kind: SinkBinding metadata: name: sb-loanbroker-flow spec: sink: ref: apiVersion: eventing.knative.dev/v1 kind: Broker name: default namespace: \"\" subject: apiVersion: serving.knative.dev/v1 kind: Service name: loanbroker-flow Regardless of the number of produced events in the workflow definition, only one SinkBinding is generated. When you define multiple events, ensure that your sink is a Knative Broker. The listener services can configure the subscriptions or triggers to consume the events from the broker. For the kogito.loanbroker.aggregated.quotes.response event in a previous example, the Knative Eventing platform must be configured with a Knative trigger using an appropriate CloudEvent filter. The following example shows the Trigger generated by the Knative Eventing add-on: Example of a Knative Trigger generated by the add-on apiVersion: eventing.knative.dev/v1 kind: Trigger metadata: name: kogito-serverless-loanbroker-aggregated-quotes-response-trigger spec: broker: default filter: attributes: type: kogito.loanbroker.aggregated.quotes.response subscriber: ref: apiVersion: serving.knative.dev/v1 kind: Service name: loanbroker-flow For each consumed event definition, the Knative Eventing add-on generates one Knative Trigger. Mocking HTTP CloudEvents sink using WireMock Consuming and producing events using Apache Kafka Event correlation in Kogito Serverless Workflow Callback state in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Consuming and producing events on Knative Eventing","component":"serverlessworkflow","version":"1.40.0.Final","name":"consume-produce-events-with-knative-eventing","url":"/serverlessworkflow/latest/eventing/consume-produce-events-with-knative-eventing.html","titles":[{"text":"Knative Eventing add-on source configuration","hash":"ref-knative-eventing-add-on-source-configuration","id":1},{"text":"Knative Eventing add-on sink configuration","hash":"ref-knative-eventing-add-on-sink-configuration","id":2},{"text":"Manually sending events to an HTTP endpoint","hash":"proc-manually-sending-events-to-an-http-endpoint","id":3},{"text":"Generating Knative objects during build time","hash":"proc-generating-kn-objects-build-time","id":4},{"text":"Example of workflow event definition in Knative","hash":"ref-example-sw-event-definition-knative","id":5},{"text":"Additional resources","hash":"_additional_resources","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"13":{"id":13,"text":"This document describes how you can configure a workflow to interact with Apache Kafka. Apache Kafka uses an abstraction called topic to classify events. Events are published to a topic, and events are consumed from a topic. Kogito Serverless Workflow uses Smallrye connectors to encapsulate access to several brokers, enabling Kogito Serverless Workflow to support different brokers by changing the configuration and classpath dependencies. However, Smallrye connectors also introduce an entity called channel. The Smallrye channels are unidirectional and need to be declared as input (incoming) or output (outgoing). When using Apache Kafka, the Smallrye channels must be mapped to Apache Kafka topics through configuration. You need to add the Kafka Quarkus Smallrye connector dependency to indicate that you are using Apache Kafka. To enable a workflow to use Apache Kafka Smallrye connector, add the following dependency to the pom.xml file of your project if using Apache Maven: Add dependency for Apache Kafka Smallrye connector in pom.xml io.quarkus quarkus-smallrye-reactive-messaging-kafka The messaging capabilities are included in the Quarkus Serverless Workflow extension, even though the messaging capabilities are optional. This means you do not need to explicitly add the messaging add-on dependency when using Kogito Serverless Workflow. You can configure Smallrye channels for a workflow using event definitions. The Smallrye channels are defined using Quarkus configuration. The format for Smallrye channel properties is mp.messaging.[incoming|outgoing]... Kogito Serverless Workflow allows the following channel mapping strategies: Define one default incoming channel to receive all the incoming messages and one default outgoing channel to store all the published messages. Define a channel for each CloudEvent type so that every message type has a dedicated channel. Define a channel for certain CloudEvent types. The non-mapped CloudEvent types uses the default incoming or outgoing channel. Kogito Serverless Workflow first searches for a channel name in the properties that is same as CloudEvent type. If the channel name is found, Kogito Serverless Workflow uses the channel for that CloudEvent type. However, if the channel name is not found, Kogito Serverless Workflow searches for the default channel definition. In case the default channel definition is not existing, then an error is reported. The default incoming channel is kogito_incoming_stream and the default outgoing channel is kogito_outgoing_stream. To change the default incoming and outgoing topic names, you can use the following properties: Properties to change default incoming and outgoing topic names kogito.addon.messaging.incoming.defaultName= kogito.addon.messaging.outgoing.defaultName= The following properties are mandatory for each channel: connector: This property needs to be set to smallrye-kafka. Depending on whether the channel is incoming or outgoing: value.deserializer: This property is used for incoming channels. Unless you have specific marshaling requirements, you must set this property to org.apache.kafka.common.serialization.ByteArrayDeserializer or org.apache.kafka.common.serialization.StringDeserializer. value.serializer: This property is used for outgoing channels. Unless you have specific marshaling requirements, you must set this property to org.apache.kafka.common.serialization.ByteArraySerializer or org.apache.kafka.common.serialization.StringSerializer. topic is another relevant but optional property that might be set for a channel. The topic property contains the Apache Kafka topic name to be used for a channel. If topic property is not set, then the channel name is used as topic name. For more information about the properties that you can use for a channel when using Apache Kafka connector, see the properties list. This section describes examples of channel mapping, using the properties mentioned in the previous section. One Smallrye channel per CloudEvent type The serverless-workflow-callback-quarkus example application uses two CloudEvent types, including wait (incoming) and resume (outgoing). Kafka topic names match the CloudEvent types. Therefore, it is suitable to select the mapping strategy of one channel per CloudEvent type. This suggests that two channels must be configured. Note that you do not need to set the optional topic property as the channel name matches the CloudEvent type. Example property configuration mp.messaging.incoming.wait.connector=smallrye-kafka mp.messaging.incoming.wait.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer mp.messaging.outgoing.resume.connector=smallrye-kafka mp.messaging.outgoing.resume.value.serializer=org.apache.kafka.common.serialization.StringSerializer Default channel mapping The serverless-workflow-events-quarkus example application uses two CloudEvent types, including applicants (incoming) and decisions (outgoing). As mentioned before, Kafka topic names match the CloudEvent types. However, to use the default channel functionality, kogito_incoming_stream and kogito_outgoing_stream are used as channel names. As explained before, since there is no specific channel name for the CloudEvent type, then the default channels are used. Also, the default channels need to be mapped to the desired topic name using the topic property. Example property configuration mp.messaging.incoming.kogito_incoming_stream.connector=smallrye-kafka mp.messaging.incoming.kogito_incoming_stream.topic=applicants mp.messaging.incoming.kogito_incoming_stream.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer mp.messaging.outgoing.kogito_outgoing_stream.connector=smallrye-kafka mp.messaging.outgoing.kogito_outgoing_stream.topic=decisions mp.messaging.outgoing.kogito_outgoing_stream.value.serializer=org.apache.kafka.common.serialization.StringSerializer Smallrye provide means to manage emitter overflow through OnOverflow annotation Kogito will annotate generated smallrye emitters for a particular channel using the information provided by a property of the form kogito.addon.messaging.emitter..overflow-strategy. The possible values are BUFFER, NONE, UNBOUNDED, FAIL, and DROP. If the value of the strategy is BUFFER, then you must specify the buffer size by using the property of the form kogito.addon.messaging.emitter..buffer-size Therefore, for the wait channel, in the previous example, if we want to buffer as many as 100 events we will add these two properties Example overflow configuration kogito.addon.messaging.emitter.wait.overflow-strategy=BUFFER kogito.addon.messaging.emitter.wait.buffer-size=100 If all your channels use the same strategy and this strategy differs from the BUFFER one (you can change buffer size globally by using the mp.messaging.emitter.default-buffer-size smallrye property). You can set it up by using kogito.addon.messaging.emitter.overflow-strategy=NONE|UNBOUNDED|FAIL|DROP Consuming and producing events on Knative Eventing Event correlation in Kogito Serverless Workflow Callback state in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Consuming and producing events using Apache Kafka","component":"serverlessworkflow","version":"1.40.0.Final","name":"consume-producing-events-with-kafka","url":"/serverlessworkflow/latest/eventing/consume-producing-events-with-kafka.html","titles":[{"text":"Smallrye channels configuration for a workflow","hash":"con-sw-smallrye-channel-configuration","id":1},{"text":"Examples of Smallrye channel mapping","hash":"ref-example-smallrye-channel-mapping","id":2},{"text":"OnOverflow handling","hash":"_onoverflow_handling","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"14":{"id":14,"text":"Event correlation plays a significant role in large event-driven applications. It allows matching one or more events with a particular workflow instance. Correlation rules with domain information can be used when defining consumed events to match a workflow instance. Also, event correlation is a practical alternative to the internal identifier processInstanceId since you can use any external domain identifier as a correlation. A correlation definition consists of one or more attributes associated with an event and the respective workflow to which the event belongs. In Serverless Workflow specification, the correlation property defines the possible correlations for a given event. Each element must contain a contextAttributeName property, which is set for the value that matches an attribute from an event. You can optionally set the contextAttributeValue property, which matches the value for the respective attribute defined in contextAttributeName property for the consumed events in a workflow. The incoming events consumed by the engine must contain the correlation attributes, set in the definition as extension context attributes. The correlation attributes are compliant with the CloudEvent format, therefore, the attributes are not part of the event payload. A new workflow instance must be created using an event, which must be declared in the workflow definition file, containing correlation attributes in the event definition section. For more information about events, see Event state in Kogito Serverless Workflow. Once the event is consumed, the engine extracts the correlation attributes and associates the attributes with the created workflow instance. A start event does not trigger a correlation evaluation, but acts as a moment in which correlation attributes and values are set. The correlation attributes and values are evaluated against other incoming events that might trigger the given instance. Therefore, when a non-start event is consumed and correlation attributes are evaluated, then the engine continues the execution of the matched instances (if any). The following figure shows how engine processes the correlation: Figure 1. Event correlation evaluation process You can see the correlation configuration in the serverless-workflow-correlation-quarkus example application, describing the setup and usage of event correlation in a workflow. Figure 2. Event correlation evaluation process The workflow definition file contains the correlation information, in which the events section is defined as follows: Example event correlation in a workflow \"events\": [ { \"name\": \"newAccountEvent\", \"source\": \"\", \"type\": \"newAccountEventType\", \"correlation\": [ { \"contextAttributeName\": \"userid\" } ] }, { \"name\": \"validateAccountEmailEvent\", \"source\": \"workflow\", \"type\": \"validateAccountEmail\" }, { \"name\": \"validatedAccountEmailEvent\", \"source\": \"workflow\", \"type\": \"validatedAccountEmail\", \"correlation\": [ { \"contextAttributeName\": \"userid\" } ] }, { \"name\": \"activateAccountEvent\", \"source\": \"workflow\", \"type\": \"activateAccount\" }, { \"name\": \"activatedAccountEvent\", \"source\": \"workflow\", \"type\": \"activatedAccount\", \"correlation\": [ { \"contextAttributeName\": \"userid\" } ] } ] You can create a workflow by consuming events as defined in the New User Account Request event state. The New User Account Request event state contains a reference of the newAccountEvent event, containing a correlation definition for userid attribute. Example New User Account Request event state definition { \"name\": \"New User Account Request\", \"type\": \"event\", \"onEvents\": [ { \"eventRefs\": [ \"newAccountEvent\" ] } ], \"transition\": \"Validate User Email\" } When the workflow consumes a new event of newAccountEventType type, a workflow instance is created. After that, the events consumed by the same workflow must contain the same correlation attribute and value, such as userid attribute and 12345 value. This correlation attribute and value is used to evaluate and match the workflow instance to continue the workflow execution. Example incoming start event newAccountEvent { \"specversion\": \"0.3\", \"id\": \"1d174d25-46ac-4785-bc76-457c2d37d2fe\", \"source\": \"\", \"type\": \"newAccountEventType\", \"time\": \"2022-07-25T16:30:35.461988261-03:00\", \"userid\": \"12345\", \"data\": { \"email\": \"test@test.com\", \"userId\": \"12345\" } } In Kogito Serverless Workflow, correlating multiple events together is not supported, therefore, the events are evaluated with correlations independently. Using the workflow definition in serverless-workflow-correlation-quarkus example application, you can define other events that are published and consumed by the workflow. The serverless-workflow-correlation-quarkus example application uses Callback states, such as Validate User Email. This means that once the workflow execution reaches the Callback state, the workflow publishes an event of validateAccountEmailEvent type and waits to receive an event of validatedAccountEmailEvent type. For more information about callback state, see Callback state in Kogito Serverless Workflow. Example Callback state definition { \"name\": \"Validate User Email\", \"type\": \"callback\", \"action\": { \"name\": \"publish validate event\", \"eventRef\": { \"triggerEventRef\": \"validateAccountEmailEvent\" } }, \"eventRef\": \"validatedAccountEmailEvent\", \"transition\": \"Activate User Account\" } The produced events contain the same correlation attributes when the workflow is created. Example produced Callback state event validateAccountEmailEvent { \"id\": \"7640a0af-b7fb-4d94-9d9d-3aa1ace60e79\", \"source\": \"/process/correlation\", \"type\": \"validateAccountEmail\", \"time\": \"2022-07-25T16:22:53.735128049-03:00\", \"data\": { \"email\": \"test@test.com\", \"userId\": \"12345\" }, \"specversion\": \"1.0\", \"kogitoprocinstanceid\": \"69019826-daef-4fb4-880b-c1658c4e49bc\", \"kogitoprocid\": \"correlation\", \"kogitoprocversion\": \"1.0\", \"kogitousertaskist\": \"1\", \"kogitoproctype\": \"SW\", \"userid\": \"12345\" } All consumed events must contain the same correlation attributes since the consumed events are used to identify the workflow instance. The following example shows the consumed events containing same correlation attributes and values, such as userid and 12345: Consumed Callback state event validatedAccountEmailEvent { \"specversion\": \"1.0\", \"id\": \"953f07a7-aea8-4956-8775-85ab59366fe6\", \"source\": \"\", \"type\": \"validatedAccountEmail\", \"time\": \"2022-07-25T16:29:27.320408379-03:00\", \"userid\": \"12345\", \"data\": null } The engine stores the correlation information in the same persistence mechanism that is configured in the workflow application. If a persistence add-on is not configured, then the correlation information is stored in memory. This means that entire correlation information is lost when the workflow application restarts, therefore this process must be used for testing purposes. For more information about the persistence configuration, see Running a workflow service using PostgreSQL. Currently, only kogito-addons-quarkus-persistence-jdbc persistence add-on supports correlation. The kogito-addons-quarkus-persistence-jdbc add-on is configured for PostgreSQL. Other persistence add-ons will be supported in a future release. Event state in Kogito Serverless Workflow Callback state in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Event correlation in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"event-correlation-with-workflows","url":"/serverlessworkflow/latest/eventing/event-correlation-with-workflows.html","titles":[{"text":"Example of event correlation in a workflow","hash":"ref-example-event-correlation","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"15":{"id":15,"text":"This document describes event state in a workflow. You can use the event state to start a new workflow instance upon the reception of a designated CloudEvent or to pause the execution of an existing workflow instance until a designated CloudEvent is received. An event state consists of one or more event definitions. Event definitions are combined to designate the CloudEvent types that the event state listens to. In an event definition, the onEvents property is used to group the CloudEvent types that might trigger the same set of actions. The exclusive property in an event definition indicates how an event match is calculated. In case the value of exclusive property is false, then all CloudEvent types in the eventRefs array must be received for a match to occur. Otherwise, the reception of the referenced CloudEvent types is considered a match. The following is an example of event definitions, consisting of two CloudEvent types including noisy and silent: Example event definitions \"events\": [ { \"name\": \"noisyEvent\", \"source\": \"\", \"type\": \"noisy\", \"dataOnly\" : \"false\" }, { \"name\": \"silentEvent\", \"source\": \"\", \"type\": \"silent\" } ] To indicate that an event match occurs when both noisy and silent CloudEvent types are received and to execute different actions for both CloudEvent types, define an event state containing both event definitions in separate onEvent items and set exclusive property to false. Example event state defintion with multiple onEvent items { \"name\": \"waitForEvent\", \"type\": \"event\", \"onEvents\": [ { \"eventRefs\": [ \"noisyEvent\" ], \"actions\": [ { \"functionRef\": \"letsGetLoud\" } ] }, { \"eventRefs\": [ \"silentEvent\" ], \"actions\": [ { \"functionRef\": \"beQuiet\" } ] } ] , \"exclusive\": false } To execute the same action when both event types are received, use only one onEvent item as shown in the following example: Example event state definition with single onEvent item { \"name\": \"waitForEvent\", \"type\": \"event\", \"onEvents\": [ { \"eventRefs\": [ \"noisyEvent\", \"silentEvent\" ], \"actions\": [ { \"functionRef\": \"notCareAboutNoise\" } ] } ] , \"exclusive\": false } If you want the same action to be executed when any of the event types is received, set the exclusive property to true as shown in the following example: Example event state definition executing same action { \"name\": \"waitForEvent\", \"type\": \"event\", \"onEvents\": [ { \"eventRefs\": [ \"noisyEvent\", \"silentEvent\" ], \"actions\": [ { \"functionRef\": \"notCareAboutNoise\" } ] } ] ,\"exclusive\": true } You can also remove the exclusive property, as true is the default value. To start a new workflow instance, set the start property to the event state name in the workflow header. The workflow instance starts when there is an event match. Using the previous example of event state definition, add the following code in the workflow header: Start a workflow instance \"start\":\"waitForEvent\" An event state can also be used to pause an existing workflow instance. When the workflow execution reaches an event state, which is not starting, then the execution is paused until there is an event match for that workflow instance. Similar to the callback state in a workflow, the workflow instance to be resumed is identified by kogitoprocrefid CloudEvent attribute or calculated according to the event correlation functionality. While callback state is used for fire&wait scenarios, event state covers wait&fire scenarios. For more information about the callback state, see Callback state in Kogito Serverless Workflow. Creating your first workflow service Consuming and producing events using Apache Kafka Consuming and producing events on Knative Eventing If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Event state in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"handling-events-on-workflows","url":"/serverlessworkflow/latest/eventing/handling-events-on-workflows.html","titles":[{"text":"Example of event match","hash":"ref-example-event-match","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"16":{"id":16,"text":"This document describes the Callback state and related examples. The Callback state performs an action and waits for an event, to be produced as a result of the action, to resume the workflow. The action peformed by a Callback state is an asynchronous external service invocation. Therefore, the Callback state is suitable to perform fire&wait-for-result operations. From a workflow perspective, asynchronous service indicates that the control is returned to the caller immediately without waiting for the action to be completed. Once the action is completed, a CloudEvent is published to resume the workflow. For the workflow to identify the published CloudEvent it is waiting for, the external service developer includes the workflow instance ID in the CloudEvent header or uses the Event correlation. The following figure displays the process: The workflow correlation described in this document focuses on the former mechanism that is based on the fact that each workflow instance contains a unique identifier, which is generated automatically. To understand the Callback state, see the serverless-workflow-callback-quarkus example application in GitHub repository. The initial model of the serverless-workflow-callback-quarkus example application is empty. Once the workflow is started, it publishes a CloudEvent of the resume type and waits for a CloudEvent, which contains the type wait. A listener consumes the CloudEvent with the resume type and simulates the behavior of an external service. Consequently, on the external service side, when the actions associated with the resume type CloudEvent are completed, the listener publishes a wait type CloudEvent. Once the wait type CloudEvent is received, the workflow moves to the next state and ends successfully. To use the Callback state in a workflow, first CloudEvent types such as resume and wait are declared that the workflow uses. Following is an example of CloudEvents declaration in a workflow definition: Example of CloudEvents declaration in a workflow definition \"events\": [ { \"name\": \"resumeEvent\", \"source\": \"\", \"type\": \"resume\" }, { \"name\": \"waitEvent\", \"source\": \"\", \"type\": \"wait\" } ] After that, a Callback state is declared. The Callback state publishes a resume type CloudEvent and waits for a CloudEvent with wait type. The published CloudEvent contains a move data field, and the CloudEvent that is received is expected to contain a result data field. According to the eventDataFilter, the result data field is added to the workflow model as a move field. Following is an example of declaring a Callback state that handles the wait type CloudEvent: Example of a Callback State declaration handling the wait CloudEvent { \"name\": \"waitForEvent\", \"type\": \"callback\", \"action\": { \"name\": \"publishAction\", \"eventRef\": { \"triggerEventRef\": \"resumeEvent\", \"data\": \"{move: \\\"This is the initial data in the model\\\"}\" } }, \"eventRef\": \"waitEvent\", \"eventDataFilter\": { \"data\": \".result\", \"toStateData\": \".move\" }, \"transition\": \"finish\" } An event listener consumes the resume type CloudEvent and publishes a new wait type CloudEvent. Following is an example of a Java method that publishes the wait type CloudEvent: Example of a Java method that publishes the wait CloudEvent private String generateCloudEvent(String id, String input) { Map eventBody = new HashMap<>(); eventBody.put(\"result\", input + \" and has been modified by the event publisher\"); eventBody.put(\"dummyEventVariable\", \"This will be discarded by the process\"); try { return objectMapper.writeValueAsString(CloudEventBuilder.v1() .withId(UUID.randomUUID().toString()) .withSource(URI.create(\"\")) .withType(\"wait\") .withTime(OffsetDateTime.now()) .withExtension(CloudEventExtensionConstants.PROCESS_REFERENCE_ID, id) .withData(objectMapper.writeValueAsBytes(eventBody)) .build()); } catch (JsonProcessingException e) { throw new IllegalArgumentException(e); } } After that, the workflow application consumes the event published by the listener and sets the result field. The consumed CloudEvent contains an attribute named kogitoprocrefid, which holds the workflow instance ID of the workflow. The kogitoprocrefid attribute is crucial because when the correlation is not used, then this attribute is the only way for the Callback state to identify that the related CloudEvent needs to be used to resume the workflow. For more information about correlation, see Event correlation in Kogito Serverless Workflow. Note that each workflow is identified by a unique instance ID, which is automatically included in any published CloudEvent, as kogitoprocinstanceid CloudEvent extension. The following example shows that the event listener takes the workflow instance ID of a workflow from a CloudEvent attribute named kogitoprocinstanceid, which is associated with the CloudEvent that is consumed. Example of a Java method that consumes the resume CloudEvent @Incoming(\"in-resume\") @Outgoing(\"out-wait\") @Acknowledgment(Strategy.POST_PROCESSING) public String onEvent(Message message) { Optional ce = CloudEventUtils.decode(message.getPayload()); JsonCloudEventData cloudEventData = (JsonCloudEventData) ce.get().getData(); return generateCloudEvent(ce.get().getExtension(CloudEventExtensionConstants.PROCESS_INSTANCE_ID).toString(), cloudEventData.getNode().get(\"move\").asText()); } Apache Kafka configuration in serverless-workflow-callback-quarkus The serverless-workflow-callback-quarkus example application requires an external broker to manage the associated CloudEvents. The default setup in the serverless-workflow-callback-quarkus example application uses Apache Kafka. However, you can also use Knative Eventing. Apache Kafka uses topics to publish or consume messages. In the serverless-workflow-callback-quarkus example application, two topics are used, matching the name of the CloudEvent types that are defined in the workflow, such as resume and wait. The resume and wait CloudEvent types are configured in the application.properties file. For more information about using Apache Kafka with events, see Consuming and producing events using Apache Kafka. Creating your first workflow service Event correlation in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Callback state in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"working-with-callbacks","url":"/serverlessworkflow/latest/eventing/working-with-callbacks.html","titles":[{"text":"Example of Callback state","hash":"ref-example-callback","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"17":{"id":17,"text":"This document describes the OpenAPI Callback and related examples. Also, it covers the difference between OpenAPI Callback and the Serverless Workflow Callback state. The Serverless Workflow callback state can be implemented using both the OpenAPI callback and the Callback state functionalities. Both the functionalities perform an action and wait for an event to be produced as a result of the action to resume the workflow, but each of them follows a different approach in achieving it. Therefore, both OpenAPI callback and the Callback state approaches are suitable to perform fire & wait-for-result operations. The OpenAPI callback is an asynchronous, out-of-band request that your service will send to some other service in response to specific events. In contrast, the Callback state performs an action that triggers an external activity/service which is responsible for sending a cloud event to the workflow. Both ways aim to send an event to the workflow to resume the flow. As mentioned in the OpenAPI Callback document, when the workflow makes an asynchronous service call, you must provide the callback URL in the request body. The external service invokes the callback URL and sends a CloudEvent to the workflow. From a workflow perspective, asynchronous service indicates that the control is returned to the caller immediately without waiting for the action to be completed. Once the action is completed, a CloudEvent needs to be published to resume the workflow. For the workflow to identify the published CloudEvent it is waiting for, the external service developer includes the workflow instance ID in the CloudEvent header or uses the Event correlation. The following figure displays the process: The workflow correlation described in this document focuses on the former mechanism that is based on the fact that each workflow instance contains a unique identifier, which is generated automatically. To understand the OpenAPI Callback, see the serverless-workflow-callback-events-over-http-quarkus example application in GitHub repository. This example contains a simple workflow-service that illustrates callback state using OpenAPI callbacks functionality. A callback is a state that invokes an action and wait for an event (event that will be eventually fired by the external service notified by the action). This example consists of a callback state that waits for an event to arrive at the wait channel. Its action calls an external service named callback-event-service that publishes the wait event over HTTP. After consuming the wait event, the workflow prints the message received in the wait event and ends the workflow. The serverless-workflow-callback-events-over-http-quarkus application is initiated with the following request to http://localhost:8080/callback: { \"message\": \"Hello\" } Once the workflow is started, it makes an external service call with the callback URL and the workflow instance ID in the request body to callback-event-service. Then, as configured in the OpenAPI file, the callback URL is invoked to send a CloudEvent to the workflow. Once the wait type CloudEvent is received by the callback-workflow-service, the workflow moves to the next state and ends successfully. The following figure shows the serverless-workflow-callback-events-over-http-quarkus image: To use the OpenAPI callback in a workflow, the OpenAPI YAML file is configured with the callback as specified in the OpenAPI file. To use the Callback state in a workflow, first CloudEvent type wait is declared that the workflow uses. Following is an example of CloudEvents declaration in a workflow definition: Example of CloudEvent declaration in a workflow definition \"events\": [ { \"name\": \"waitEvent\", \"source\": \"\", \"type\": \"wait\" } After that, a Callback state is declared, which waits for a CloudEvent with the wait type. Following is an example of declaring a Callback state that handles the wait type CloudEvent: Example of a Callback State declaration handling the wait CloudEvent { \"name\": \"waitForEvent\", \"type\": \"callback\", \"action\": { \"functionRef\": { \"refName\": \"callBack\", \"arguments\": { \"uri\": \"http://localhost:8080/wait\", \"processInstanceId\": \"$WORKFLOW.instanceId\" } } }, \"eventRef\": \"waitEvent\", \"transition\": \"finish\" } Please refer configure openapi service endpoints document to set the URL dynamically using an environment variable. An event listener publishes a new wait type CloudEvent. Following is an example of a Java method that publishes the wait type CloudEvent: Example of a Java method that makes a call to Callback URL and publishes the wait CloudEvent @POST @Consumes(MediaType.APPLICATION_JSON) public void wait(EventInput eventInput) throws JsonProcessingException { logger.info(\"About to generate event for {}\",eventInput); CloudEventBuilder builder = CloudEventBuilder.v1() .withId(UUID.randomUUID().toString()) .withSource(URI.create(\"\")) .withType(\"wait\") .withTime(OffsetDateTime.now()) .withExtension(CloudEventExtensionConstants.PROCESS_REFERENCE_ID, eventInput.getProcessInstanceId()) .withData(objectMapper.writeValueAsBytes(Collections.singletonMap(\"message\", \"New Event\"))); webClient.postAbs(eventInput.getUri()).sendJson(builder.build()).toCompletionStage(); } The callback-workflow-service consumes the CloudEvent, it contains an attribute named kogitoprocrefid, which holds the instance ID of the workflow. The kogitoprocrefid attribute is crucial because when the correlation is not used, then this attribute is the only way for the Callback state to identify that the related CloudEvent needs to be used to resume the workflow. For more information about correlation, see Event correlation in Kogito Serverless Workflow. Note that each workflow is identified by a unique instance ID, which is automatically included in any published CloudEvent, as kogitoprocinstanceid CloudEvent extension. The serverless-workflow-callback-events-over-http-quarkus example application consumes the Cloudevents using Knative Eventing. For more information about incoming and outgoing CloudEvents oer HTTP, see Consuming and Producing CloudEvents over HTTP. The HTTP path where the workflow application will listen for the CloudEvents in the serverless-workflow-callback-events-over-http-quarkus example application, is configured in the application.properties file as shown below: mp.messaging.incoming.wait.connector=quarkus-http mp.messaging.incoming.wait.path=/wait Creating your first workflow service Event correlation in Kogito Serverless Workflow OpenAPI Callback Example If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"OpenAPI Callback in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"working-with-openapi-callbacks","url":"/serverlessworkflow/latest/eventing/working-with-openapi-callbacks.html","titles":[{"text":"Example of the OpenAPI Callback","hash":"ref-example-callback","id":1},{"text":"HTTP transport configuration","hash":"_http_transport_configuration","id":2},{"text":"Additional resources","hash":"_additional_resources","id":3},{"text":"Found an issue?","hash":"_found_an_issue","id":4}]},"18":{"id":18,"text":"This document describes the information about the implementation of the Cloud Native Computing Foundation (CNCF) Serverless Workflow specification. Kogito Serverless Workflow implements version 0.8 of the Serverless Workflow specification. The following table shows the implementation status for each Serverless Workflow specification feature. Kogito Serverless Workflow does not support Retries, Sleep State, and has a limited support of Timeouts features of Serverless Workflow specification. Table 1. Implementation status icons Icon Description Fully implemented feature and compliant with the Serverless Workflow specification Partially implemented feature Not implemented Table 2. Implementation status of the Serverless Workflow specification features Feature Status Reference States Workflow States Functions Function Definition Events Event Definition Serverless Workflow data Workflow Data Expressions Workflow Expressions Error handling Workflow Error Handling Retries Retry Definition Timeouts Workflow Timeouts Compensation Workflow Compensation Constants Workflow Constants Secrets Workflow Secrets The Parallel State of the workflow states feature works in a single thread. This means that a Parallel State does not create one thread per branch, simulating an actual parallel behavior. If an exclusive property is set to `false`, you should not use the link:{spec_doc_url}#event-state[Event State] of the workflow states feature as the starting state. In case, if it is specified that way, then it will behave as if an exclusive property was set to `true`. Kogito Serverless Workflow does not support the Sleep State feature. However, this feature will be supported in a future release. The following table shows all the workflow states that Kogito Serverless Workflow supports in the Serverless Workflow specification 0.8 version: Table 3. Workflow States implementation status State Status Reference Event Event State Operation Operation State Switch Switch State Sleep Sleep State Parallel Parallel State Inject Inject State ForEach ForEach State Callback Callback State The following table shows the status of the workflow functions that Kogito Serverless Workflow supports: Table 4. Workflow Functions implementation status Function Status Reference REST Using Functions for RESTful Service Invocations RPC Using Functions for RPC Service Invocations Expression Using Functions for Expression Evaluation Async API Using Functions for Async API Service Invocations GraphQL Using Functions for GraphQL Service Invocations OData Using Functions for OData Service Invocations Custom Defining custom function types For additional functions, the Serverless Workflow specification support the custom function type, such as sysout and java. For more information about these custom function types, see Custom functions for your Kogito Serverless Workflow service. Kogito Serverless Workflow supports events of the workflow model as defined in the Serverless Workflow specification definition, except the following: resultEventRef property in EventRefDefinition is not implemented and, if specified, this property is ignored. Same functionality can be achieved by using Callback state. Correlation has limited support, that evaluates correlation rules matching a single event consumed per time with a workflow instance. The correlation among N different events to be consumed and matched with a workflow instance is not supported in Kogito Serverless Workflow. For more information about event correlation, see Event correlation in Kogito Serverless Workflow. Kogito Serverless Workflow supports the implementation of the data manipulation feature using jq (default) or jsonpath expressions. jsonpath expressions can have limitations in specific scenarios of complex data manipulation. For more information, see Workflow Data section in the Serverless Workflow specification documentation. Kogito Serverless Workflow also supports data filtering. For more information about the data filtering, see State data filters section in the Serverless Workflow specification documentation. Kogito Serverless Workflow supports jq or jsonpath to define the workflow expressions. jq is the default expression language, however, if you want to use jsonpath, set the expressionLang attribute in the workflow definition as shown in the following example: Example of changing the default expression language { \"id\": \"myworkflow\", \"version\": \"1.0\", \"expressionLang\": \"jsonpath\", \"name\": \"Workflow example\", \"description\": \"An example of how to use jsonpath expressions\" } jsonpath expression is not recommended because of the limitations of the language for data manipulation. Instead, you can use jq in various use cases. Kogito Serverless Workflow supports the error handling feature as described in the Serverless Workflow specification definition. For more information about error handling, see Error handling in Kogito Serverless Workflow. Kogito Serverless Workflow does not support Retries feature, however, it will be implemented in a future release. Alternatively, you can use Error handling in Kogito Serverless Workflow. Kogito Serverless Workflow has limited support for the timeouts feature, which covers only workflow and event timeouts. For start event state the exclusive property is not supported if set to false, therefore the timeout is not supported for the event state when starting a workflow. For more information about timeouts, see Timeouts on events for Kogito Serverless Workflow. Kogito Serverless Workflow supports workflow compensation as described in the Serverless Workflow specification definition. For more information about compensations, see Saga orchestration example in Kogito Serverless Workflow. Kogito Serverless Workflow supports workflow constants as described in the Serverless Workflow specification definition. Kogito Serverless Workflow supports workflow secrets as described in the Serverless Workflow specification definition. Secrets are associated with the Quarkus Configuration module. This means that any form of configuration that Quarkus supports is also supported in Kogito Serverless Workflow. Creating your first workflow service Getting familiar with Kogito Serverless Workflow tooling If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"CNCF Serverless Workflow specification","component":"serverlessworkflow","version":"1.40.0.Final","name":"cncf-serverless-workflow-specification-support","url":"/serverlessworkflow/latest/getting-started/cncf-serverless-workflow-specification-support.html","titles":[{"text":"States","hash":"states","id":1},{"text":"Functions","hash":"functions","id":2},{"text":"Events","hash":"events","id":3},{"text":"Serverless Workflow data","hash":"workflow_data","id":4},{"text":"Expressions","hash":"expressions","id":5},{"text":"Error handling","hash":"error_handling","id":6},{"text":"Retries","hash":"retries","id":7},{"text":"Timeouts","hash":"timeouts","id":8},{"text":"Compensation","hash":"compensation","id":9},{"text":"Constants","hash":"constants","id":10},{"text":"Secrets","hash":"secrets","id":11},{"text":"Additional resources","hash":"_additional_resources","id":12},{"text":"Found an issue?","hash":"_found_an_issue","id":13}]},"19":{"id":19,"text":"As a developer, you can use Kogito Serverless Workflow and create a Hello World application, which includes the following procedures: Bootstrapping a project Creating a workflow Running your workflow application Testing your workflow application Also, you can directly access an example application by cloning serverless-workflow-examples/serverless-workflow-hello-world from the GitHub repository. This document describes how to create a workflow application that serves a hello_world endpoint. The workflow contains the following two states: Inject Hello World: Injects a Hello World message into the response Inject Mantra: Injects a Mantra message into the response Figure 1. Example Hello World workflow Prerequisites Java 11+ is installed with JAVA_HOME configured appropriately. Apache Maven 3.8.6 is installed. Quarkus CLI or Knative Workflow CLI 0.21.3 is installed. Visual Studio Code with Red Hat Java Extension and Red Hat Serverless Workflow Editor is installed to edit your workflows. For more information about the tooling and the required dependencies, see Getting familiar with Kogito Serverless Workflow tooling. To create your workflow service, first you need to bootstrap a project. Procedure In a command terminal, use one of the following commands to create a project: Quarkus CLI Apache Maven Knative workflow CLI Create a project using Quarkus CLI quarkus create app \\ -x=kogito-quarkus-serverless-workflow \\ -x=quarkus-resteasy-jackson \\ -x=quarkus-smallrye-openapi \\ --no-code \\ org.acme:serverless-workflow-hello-world:1.0.0-SNAPSHOT The previous command creates a Maven Quarkus project in the serverless-workflow-hello-world directory containing the required dependencies, including: kogito-quarkus-serverless-workflow: Adds support for workflows. quarkus-resteasy-jackson: Adds support for RESTEasy, which is required by the generated REST resources that are used to start the flow process using an HTTP request. quarkus-smallrye-openapi: Adds support for Swagger documentation when you run the application in development mode. --no-code: Prevents workflow example code from being generated. The SwaggerUI is available at http://localhost:8080/q/swagger-ui/ when you run the application. Create a project using Apache Maven mvn io.quarkus.platform:quarkus-maven-plugin:2.16.7.Final:create \\ -DprojectGroupId=org.acme \\ -DprojectArtifactId=serverless-workflow-hello-world \\ -Dextensions=\"kogito-quarkus-serverless-workflow,quarkus-resteasy-jackson,quarkus-smallrye-openapi\" \\ -DnoCode cd serverless-workflow-hello-world In the previous command, org.acme, serverless-workflow-hello-world, and 1.0.0-SNAPSHOT is group ID, artifact ID, and version of your project respectively. -DnoCode prevents the generation of workflow example code. Create a project using Knative workflow CLI kn workflow create \\ --name serverless-workflow-hello-world \\ --extension quarkus-jsonp,quarkus-smallrye-openapi \\ --quarkus-platform-group-id=io.quarkus.platform \\ --quarkus-version=2.16.7.Final For more information about Knative workflow CLI, see Kogito Serverless Workflow plug-in for Knative CLI. After bootstrapping a project, you need to create a workflow. In the following procedure, a workflow named Hello World Workflow is created. Procedure Create a file named hello.sw.json in the src/main/resources directory with the following content: Example content for hello.sw.json file { \"id\": \"hello_world\", (1) \"version\": \"1.0\", \"specVersion\": \"0.8\", \"name\": \"Hello World Workflow\", \"description\": \"JSON based hello world workflow\", \"start\": \"Inject Hello World\", (3) \"states\": [ (2) { \"name\": \"Inject Hello World\", \"type\": \"inject\", (4) \"data\": { (5) \"greeting\": \"Hello World\" }, \"transition\": \"Inject Mantra\" (6) }, { \"name\": \"Inject Mantra\", \"type\": \"inject\", \"data\": { \"mantra\": \"Serverless Workflow is awesome!\" (7) }, \"end\": true (8) } ] } In the previous example: 1 id field is the unique identifier of the workflow. Kogito Serverless Workflow generates the REST endpoints based on this unique identifier. 2 states defines the states of the workflow. In the Hello World example, the workflow contains two states, such as Inject Hello World and Inject Mantra. 3 start field defines the state in which the workflow starts. 4 type defines the type of the state. In the previous example, the state is inject. The inject state can be used to inject static data into state data input. 5 data defines the data that is injected into the state. In the previous example, greeting is injected with the Hello World value. 6 transition field defines the next state that is reached after the current state is completed. 7 Injects a mantra with the value Serverless Workflow is awesome! into the workflow data. 8 end field defines that the current state is the end of the workflow. When the workflow reaches the end state, the workflow stops and the REST endpoint returns the workflow data, such as: Example workflow data { \"greeting\": \"Hello World\", \"mantra\": \"Serverless Workflow is awesome!\" } The workflow definition follows the CNCF Serverless Workflow specification. For more information, see CNCF Serverless Workflow specification. To verify that project is created, compile the project using the following command: Quarkus CLI Apache Maven Knative workflow CLI Compile your project using Quarkus CLI quarkus build Compile your project using Apache Maven mvn clean package Build your project and generate a local image called dev.local/serverless-workflow-hello-world:latest kn workflow build --image dev.local/serverless-workflow-hello-world --verbose The --verbose flag is used to display the output of the build command. This flag is optional. For more information about Knative workflow CLI, see Kogito Serverless Workflow plug-in for Knative CLI. After creating a workflow, you can run your workflow application. Procedure Enter the following command to run your workflow application: Quarkus CLI Apache Maven Run your workflow application using Quarkus CLI quarkus dev Run your workflow application using Apache Maven mvn clean quarkus:dev Knative workflow CLI: Currently, Knative workflow CLI doesn’t support yet running workflows locally. You can either: Run your workflow application using Apache Maven mvn clean quarkus:dev Run your workflow application using Quarkus CLI quarkus dev For more information about Knative workflow CLI, see Kogito Serverless Workflow plug-in for Knative CLI. Also, to deploy and run your workflow application, see Deploying workflow application on Minikube Example response [INFO] ------------- [INFO] Building serverless-workflow-hello-world 1.0.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- quarkus-maven-plugin:2.16.7.Final:dev (default-cli) @ serverless-workflow-hello-world --- [INFO] Invoking org.apache.maven.plugins:maven-resources-plugin:2.6:resources) @ serverless-workflow-hello-world [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 3 resources ...more output... __ ____ __ _____ ___ __ ____ ______ --/ __ \\/ / / / _ | / _ \\/ //_/ / / / __/ -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\\ \\ --\\___\\_\\____/_/ |_/_/|_/_/|_|\\____/___/ 2022-05-25 14:38:09,741 INFO [org.kie.kog.add.qua.mes.com.QuarkusKogitoExtensionInitializer] (Quarkus Main Thread) Registered Kogito CloudEvent extension 2022-05-25 14:38:09,840 INFO [io.quarkus] (Quarkus Main Thread) serverless-workflow-hello-world 1.0.0-SNAPSHOT on JVM (powered by Quarkus 2.16.7.Final) started in 6.470s. Listening on: http://localhost:8080 2022-05-25 14:38:09,843 INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated. 2022-05-25 14:38:09,843 INFO [io.quarkus] (Quarkus Main Thread) Installed features: [cache, cdi, jackson-jq, kogito-addon-messaging-extension, kogito-processes, kogito-serverless-workflow, reactive-routes, rest-client, rest-client-jackson, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-openapi, smallrye-reactive-messaging, smallrye-reactive-messaging-http, swagger-ui, vertx] 2022-05-25 14:38:12,877 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: __ ____ __ _____ ___ __ ____ ______ 2022-05-25 14:38:12,878 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: --/ __ \\/ / / / _ | / _ \\/ //_/ / / / __/ 2022-05-25 14:38:12,879 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\\ \\ 2022-05-25 14:38:12,879 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: --\\___\\_\\____/_/ |_/_/|_/_/|_|\\____/___/ 2022-05-25 14:38:12,879 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:09,692 INFO [io.zon.tes.db.pos.emb.EmbeddedPostgres] (main) Detected a Linux x86_64 system 2022-05-25 14:38:12,880 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:09,705 INFO [io.zon.tes.db.pos.emb.DefaultPostgresBinaryResolver] (main) Detected distribution: 'Red Hat Enterprise Linux' ...more output... 2022-05-25 14:38:12,889 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:12,332 INFO [io.zon.tes.db.pos.emb.EmbeddedPostgres] (postgres:pid(90)) 2022-05-25 17:38:12.332 UTC [99] LOG: incomplete startup packet 2022-05-25 14:38:12,890 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:12,405 INFO [io.zon.tes.db.pos.emb.EmbeddedPostgres] (main) 5df1ed6e-7a15-4091-bcfb-e293aa293bfe postmaster startup finished in 00:00:00.180 2022-05-25 14:38:12,890 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:12,405 INFO [org.kie.kog.per.inm.pos.run.InmemoryPostgreSQLRecorder] (main) Embedded Postgres started at port \"44729\" with database \"postgres\", user \"postgres\" and password \"postgres\" 2022-05-25 14:38:12,890 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:12,636 WARN [io.qua.run.con.ConfigRecorder] (main) Build time property cannot be changed at runtime: 2022-05-25 14:38:13,375 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:13,105 INFO [org.kie.kog.per.pro.ProtobufService] (main) Registering Kogito ProtoBuffer file: kogito-index.proto 2022-05-25 14:38:13,377 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:13,132 INFO [org.kie.kog.per.pro.ProtobufService] (main) Registering Kogito ProtoBuffer file: kogito-types.proto 2022-05-25 14:38:13,378 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:13,181 INFO [io.quarkus] (main) data-index-service-inmemory 1.22.0.Final on JVM (powered by Quarkus 2.9.0.Final) started in 4.691s. Listening on: http://0.0.0.0:8080 2022-05-25 14:38:13,379 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:13,182 INFO [io.quarkus] (main) Profile prod activated. 2022-05-25 14:38:13,380 INFO [org.kie.kog.qua.pro.dev.DataIndexInMemoryContainer] (docker-java-stream--938264210) STDOUT: 2022-05-25 17:38:13,182 INFO [io.quarkus] (main) Installed features: [agroal, cdi, hibernate-orm, hibernate-orm-panache, inmemory-postgres, jdbc-postgresql, narayana-jta, oidc, reactive-routes, rest-client-reactive, rest-client-reactive-jackson, security, smallrye-context-propagation, smallrye-graphql-client, smallrye-health, smallrye-metrics, smallrye-reactive-messaging, smallrye-reactive-messaging-http, vertx, vertx-graphql] Once your workflow application is started, you can send a request for the provided endpoint: Example request curl -X POST -H 'Content-Type:application/json' http://localhost:8080/hello_world Example response {\"id\":\"efb59bfa-ad9c-4062-a6d2-2d9184dd4b3d\",\"workflowdata\":{\"greeting\":\"Hello World\",\"mantra\":\"Serverless Workflow is awesome!\"}} When running in development mode (using Quarkus CLI or Apache Maven), you can update your workflow with a new mantra value without restarting the application. Update your workflow { \"name\": \"Inject Mantra\", \"type\": \"inject\", \"data\": { \"mantra\": \"Serverless Workflow is amazing!\" (1) }, \"end\": true } 1 New mantra value Example request curl -X POST -H 'Content-Type:application/json' http://localhost:8080/hello_world Example response {\"id\":\"efb59bfa-ad9c-4062-a6d2-2d9184dd4b3d\",\"workflowdata\":{\"greeting\":\"Hello World\",\"mantra\":\"Serverless Workflow is amazing!\"}} Note that the mantra value is updated without restarting the application, because Kogito Serverless Workflow leverages the Quarkus live coding feature. To stop the application, press CTRL+C. To test your workflow application, you can follow the instructions in the Testing your workflow application using REST Assured. Getting familiar with Kogito Serverless Workflow tooling Orchestrating the OpenAPI services If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Creating your first workflow service","component":"serverlessworkflow","version":"1.40.0.Final","name":"create-your-first-workflow-service","url":"/serverlessworkflow/latest/getting-started/create-your-first-workflow-service.html","titles":[{"text":"Bootstrapping a project","hash":"proc-boostrapping-the-project","id":1},{"text":"Creating a workflow","hash":"proc-creating-workflow","id":2},{"text":"Building your workflow application","hash":"proc-building-application","id":3},{"text":"Running your workflow application","hash":"proc-running-application","id":4},{"text":"Testing your workflow application","hash":"proc-testing-application","id":5},{"text":"Additional resources","hash":"_additional_resources","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"20":{"id":20,"text":"The tooling in Kogito Serverless Workflow provides the best developer experience for the workflow ecosystem. The following tools are provided that you can use to author your workflow assets: VS Code extension: Use the Serverless Workflow editor and edit the CNCF Serverless Workflow specification files in Visual Studio Code. Chrome GitHub extension: View and edit the CNCF Serverless Workflow specification files in GitHub. Kogito Serverless Workflow Tools extension in Quarkus Dev UI: View, manage, and start the workflow instances. Kogito Serverless Workflow plug-in for Knative CLI: Set up a local workflow project using the command line. Serverless Logic online tooling: Try and run the Serverless Workflow example applications in a web environment. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Getting familiar with Kogito Serverless Workflow tooling","component":"serverlessworkflow","version":"1.40.0.Final","name":"getting-familiar-with-our-tooling","url":"/serverlessworkflow/latest/getting-started/getting-familiar-with-our-tooling.html","titles":[{"text":"Found an issue?","hash":"_found_an_issue","id":1}]},"21":{"id":21,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"camel-k-integration","url":"/serverlessworkflow/latest/integrations/camel-k-integration.html","titles":[]},"22":{"id":22,"text":"Kogito Serverless Workflow can integrate with Apache Camel Routes by adding the Kogito Quarkus Camel Add-on to your project. It enables the workflow engine to identify and call Camel routes declared in YAML or XML in the same workflow project context. You can enable Quarkus Camel in your project. Prerequisites A workflow application is created. For more information about creating a workflow, see Creating your first workflow service. Procedure To add the Quarkus Camel to your workflow application, add the org.kie.kogito:kogito-addons-quarkus-camel dependency to the pom.xml file of your project as follows: Dependency to be added to the pom.xml file to enable metrics org.kie.kogito kogito-addons-quarkus-camel You can add YAML or XML Camel routes to your workflow project. Procedure Create a YAML or XML Camel Routes using your IDE or the Kaoto VSCode Editor and place them in the src/main/resources/routes directory. The route from endpoint must be a direct component. That’s the endpoint producer expected by the workflow engine. The route response must be in a valid format that the workflow context can understand: A string that contains a valid JSON object A valid Java bean that can be serialized to JSON A Jackson’s JsonNode object Any primitive type (Integer, Float, Decimal, String, etc) The response will be merged into the workflow state context. If it is an array or a complex object, the response will be added to the special attribute response. Example of a Camel route with the direct endpoint returning a valid JSON string representation - from: uri: direct:logRouteReplaceHeader (1) steps: (2) - setBody: simple: '{ \"id\": \"${header.WorkflowID}\", \"arg1\": { \"arg2\": \"value1\" } }' (3) - log: message: We received the ${body} (4) 1 Camel route producer definition using the direct component 2 Definition of the Camel route steps 3 Replace the Camel message body with a valid JSON object containing the header WorkflowID from the workflow context 4 Log the Camel message body in the console for debugging purposes. You can define and reference your Camel functions in the workflow definition. Prerequisites You have created Camel routes in the workflow Maven project. Procedure In the functions definition section of your workflow DSL, declare the Camel route as exemplified below: Example of a Camel Route function definition { \"functions\": [ { \"name\": \"logRoute\", \"type\": \"custom\", \"operation\": \"camel:direct:logRouteReplaceHeader\" } ] } The operation description must have the prefix camel:direct:, indicating that you want to produce a message to this route via the Camel Direct Component. Direct is the only component supported by Kogito Serverless Workflow at the moment. The operation suffix contains the name of the route endpoint. In the case of this example, logRouteReplaceHeader. The Camel route defined in the workflow must be available in your project during runtime, otherwise, an IllegalArgumentException will be thrown. To use the Camel function definition in a workflow action, you can simply reference it as you normally would with any other Kogito Serverless Workflow function definitions. For example: Example of a workflow state action referencing { \"states\": [ { \"name\": \"sendToLog\", \"type\": \"operation\", \"actions\": [ { \"functionRef\": { \"refName\": \"logRoute\", (1) \"arguments\": { \"body\": \"${ . }\", (2) \"headers\": { \"WorkflowID\": \"$WORKFLOW.instanceId\" (3) } } } } ], \"end\": true } ] } 1 The function reference name, as defined in the function attribute. 2 The body definition. A jq expression to be evaluated in runtime resulting in the body payload. 3 The headers definition that must be a key/value pair or a valid jq expression evaluated in runtime. Once a message is received back from the Camel route, the data is merged into the workflow payload: Message payload example returned by the Camel route { \"id\": \"777adb97-d297-45fd-9969-efafe4dfb3e7\", \"arg1\": { \"arg2\": \"value1\" } } There is an example project available on GitHub using this new feature. You can use it as a reference to have a better understanding of the Camel integration with Kogito Serverless Workflow. Custom functions for your Kogito Serverless Workflow service jq expressions in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Integrating with Camel routes","component":"serverlessworkflow","version":"1.40.0.Final","name":"camel-routes-integration","url":"/serverlessworkflow/latest/integrations/camel-routes-integration.html","titles":[{"text":"Enabling Quarkus Camel in Kogito Serverless Workflow","hash":"proc-enable-quarkus-camel","id":1},{"text":"Creating Camel routes in Kogito Serverless Workflow","hash":"con-creating-camel-routes","id":2},{"text":"Defining and referencing Camel functions in the Workflow DSL","hash":"con-importing-camel-routes","id":3},{"text":"Example project","hash":"_example_project","id":4},{"text":"Additional resources","hash":"_additional_resources","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"23":{"id":23,"text":"This document describes how to call Knative services using Kogito Serverless Workflow custom functions. The procedure described in this document is based on the serverless-workflow-custom-function-knative example application. For more details about the Knative custom function, see Custom functions for your Kogito Serverless Workflow service. Prerequisites Your Kogito Serverless Workflow application is ready to use. For more information about building the application container, see Building workflow images using Quarkus CLI. Minikube is installed kubectl command-line tool is installed. Otherwise, Minikube handles it. Knative CLI is installed. For more information, see Install the Knative CLI. Knative workflow CLI is installed. For more information see Serverless Workflow plug-in for Knative CLI. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). You have the custom-function-knative-service project deployed on Knative. For more information on how to deploy a Quarkus project to Knative, see the Quarkus Kubernetes extension documentation. Procedure Add the knative-serving add-on dependency to your workflow project. org.kie.kogito kogito-addons-quarkus-knative-serving Enable the Service Discovery feature. Discover the name of the Knative service that your workflow will invoke. In a terminal window, run the following command: kn service list You should see an output like: NAME URL LATEST AGE CONDITIONS READY REASON custom-function-knative-service http://custom-function-knative-service.default.10.109.169.193.sslip.io custom-function-knative-service-00001 3h16m 3 OK / 3 True Save the Knative service name (custom-function-knative-service) to use it in the next step. Declare the Knative Kogito Serverless Workflow custom function. In the functions section of your workflow, add the following: { \"name\": \"greet\", (1) \"type\": \"custom\", (2) \"operation\": \"knative:services.v1.serving.knative.dev/custom-function-knative-service?path=/function\", (3) } 1 The name of the Kogito Serverless Workflow function 2 Indicates that this function is a custom one 3 The coordinates of the service you want to invoke Invoke the declared function. In an operation state, add an action that references the function you declared in the previous step like the following: \"actions\": [ { \"functionRef\": { \"refName\": \"greet\", (1) \"arguments\": { (2) \"name\": \".name\" } } } ] 1 Function’s name 2 The payload that should be sent in the request Deploy your workflow service to Knative. For more information on how to deploy a Kogito Serverless Workflow Kogito Serverless Workflow project to Knative, see the Deploying on Kubernetes. Submit a request to the workflow service curl -X 'POST' \\ '/plainJsonKnativeFunction' \\ (1) -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"name\": \"Kogito\" }' 1 Replace with the URL of your deployed workflow service You should see an output like (id will change): {\"id\":\"87cf8275-782d-4e0b-a9be-a95f95c9c190\",\"workflowdata\":{\"name\":\"Kogito\",\"greeting\":\"Greetings from Serverless Workflow, Kogito\"}} Knative functions support CloudEvent as the message protocol. Kogito Serverless Workflow can create and post CloudEvent messages in functionRef. For more information see core/custom-functions-support.adoc#sending-cloudevents Custom functions for your Kogito Serverless Workflow service Deploying your Serverless Workflow application on Minikube Deploying your Serverless Workflow application on Kubernetes If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Invoking Knative services from Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"custom-functions-knative","url":"/serverlessworkflow/latest/integrations/custom-functions-knative.html","titles":[{"text":"Sending as CloudEvent","hash":"_sending_as_cloudevent","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"24":{"id":24,"text":"Kogito Serverless Workflow generates metrics that can be consumed by Prometheus and visualized by dashboard tools, such as OpenShift, Dashbuilder, and Grafana. This document describes how you can enable and expose the generated metrics to Prometheus. You can enable the metrics in your workflow application. Prerequisites A workflow application is created. For more information about creating a workflow, see Creating your first workflow service. Procedure To add the metrics to your workflow application, add the org.kie.kogito:kogito-addons-quarkus-monitoring-prometheus dependency to the pom.xml file of your project: Dependency to be added to the pom.xml file to enable metrics org.kie.kogito kogito-addons-quarkus-monitoring-prometheus Rebuild your workflow application. The metrics is available at /q/metrics endpoint. After enabling the metrics in Kogito Serverless Workflow, the generated metrics can be consumed from OpenShift, Kubernetes, and Prometheus to visualize on different dashboard tools. If your workflow server is running on OpenShift, then you can use the server to monitor your workflow application. Also, you can perform the task of consuming metrics from OpenShift. Prerequisites Metrics is enabled in Kogito Serverless Workflow. For more information, see Enabling metrics in Kogito Serverless Workflow. Procedure To consume metrics from OpenShift, enable monitoring for user-defined projects. For more information, see Enabling monitoring for user-defined projects in OpenShift documentation. When you enable monitoring for user-defined projects, the Prometheus Operator is installed automatically. Create a service monitor as shown in the following configuration: Example configuration in service-monitor.yaml apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: k8s-app: prometheus-app-monitor name: prometheus-app-monitor namespace: my-project spec: endpoints: - interval: 30s targetPort: 8080 path: /q/metrics scheme: http selector: matchLabels: app-with-metrics: 'serverless-workflow-app' Run the following command to apply the service monitor: Apply service monitor oc apply -f service-monitor.yaml In the previous procedure, a service monitor named prometheus-app-monitor is created, which selects applications containing the label as app-with-metrics: serverless-workflow-app. Ensure that your workflow application contains the same label. After that, Prometheus sends request to the /q/metrics endpoint for all the services that are labeled with app-with-metrics: serverless-workflow-app every 30 seconds. For more information about monitoring Quarkus application using Micrometer and Prometheus into OpenShift, see Quarkus - Micrometer Metrics. Consuming metrics from Kubernetes is similar to OpenShift. However, you need to install the Prometheus Operator project manually. For more information about installing Prometheus Operator, see Prometheus Operator website. If your workflow server is running on Prometheus, then you can perform the task of consuming metrics from Prometheus and visualize the workflow on different dashboard tools. Prerequisites Metrics is enabled in Kogito Serverless Workflow. For more information, see Enabling metrics in Kogito Serverless Workflow. Procedure Use the following configuration to enable Prometheus to remove metrics directly from the workflow application: Example Prometheus configuration - job_name: 'Serverless Workflow App' scrape_interval: 2s metrics_path: /q/metrics static_configs: - targets: ['localhost:8080'] Replace the values of job_name and scrap_interval in the previous configuration with your own values. Ensure that target under static_configs parameter in Prometheus configuration matches with your workflow application location. For more information about configuring Prometheus, see Configure Prometheus to monitor the sample targets in Prometheus Getting Started document. In Kogito Serverless Workflow, you can check the following example metrics: kogito_process_instance_completed_total: Completed workflows kogito_process_instance_started_total: Started workflows kogito_process_instance_running_total: Running workflows kogito_process_instance_duration_seconds_sum: Workflows total duration Internally, workflows are referred as processes. Therefore, the processId and processName is workflow ID and name respectively. Each of the metrics mentioned previously contains a label for a specific workflow ID. For example, the kogito_process_instance_completed_total metric contains labels for jsongreet, yamlgreet, and foreach workflows: Example kogito_process_instance_completed_total metric # HELP kogito_process_instance_completed_total Completed Process Instances # TYPE kogito_process_instance_completed_total counter kogito_process_instance_completed_total{app_id=\"default-process-monitoring-listener\",artifactId=\"kogito-serverless-workflow-demo\",node_name=\"2\",process_id=\"jsongreet\",version=\"1.0.0-SNAPSHOT\",} 154.0 kogito_process_instance_completed_total{app_id=\"default-process-monitoring-listener\",artifactId=\"kogito-serverless-workflow-demo\",node_name=\"2\",process_id=\"yamlgreet\",version=\"1.0.0-SNAPSHOT\",} 218.0 kogito_process_instance_completed_total{app_id=\"default-process-monitoring-listener\",artifactId=\"kogito-serverless-workflow-demo\",node_name=\"2\",process_id=\"foreach\",version=\"1.0.0-SNAPSHOT\",} 162.0 Internally, Kogito Serverless Workflow uses Quarkus Micrometer extension, which also exposes built-in metrics. You can disable the Micrometer metrics in Kogito Serverless Workflow. For more information, see Quarkus - Micrometer Metrics. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Exposing workflow base metrics to Prometheus","component":"serverlessworkflow","version":"1.40.0.Final","name":"expose-metrics-to-prometheus","url":"/serverlessworkflow/latest/integrations/expose-metrics-to-prometheus.html","titles":[{"text":"Enabling metrics in Kogito Serverless Workflow","hash":"proc-enable-metrics-sw","id":1},{"text":"Metrics consumption in Kogito Serverless Workflow","hash":"con-consume-metrics-sw","id":2},{"text":"Consuming metrics from OpenShift","hash":"proc-consume-metrics-openshift","id":3},{"text":"Consuming metrics from Prometheus","hash":"proc-consume-metrics-prometheus","id":4},{"text":"Example metrics in Kogito Serverless Workflow","hash":"ref-sw-example-metrics","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"25":{"id":25,"text":"This document describes how you can build dashboards to monitor your workflows data. To build the dashboards, you need data, which you can acquire from your workflows using one of the following methods: Enable metrics Integrate with Data Index to consume data using the REST API Use custom mechanisms, such as ProcessInstanceListener The following sections describes the process of creating dashboards using metrics and Data Index GraphQL REST API. The dashboards for workflows are visualization of data that run on the client side. The dashboards are created using Dashbuilder, which consumes data from any JSON source. You can define a dashboard in YAML format. To use the Dashbuilder, download and uncompress the dashbuilder-client NPM package. Also, edit the setup.js file to link your YAML files. For more information about using Dashbuilder, see Dashbuilder documentation. Figure 1. Dashbuilder You can build dashboards to monitor the data of your workflows using metrics. Prerequisites A workflow application is created. For more information about creating a workflow, see Creating your first workflow service. Procedure To enable metrics for your workflows application add org.kie.kogito:kogito-addons-quarkus-monitoring-prometheus dependency in pom.xml file of your application: Add metrics dependency to pom.xml file org.kie.kogito kogito-addons-quarkus-monitoring-prometheus You can find the metrics in /q/metrics path. The dashbuilder can consume the data of your workflow directly from the metrics endpoints. Therefore, you can use a JSONAta expression to format the metrics and display the metrics in a table using the following example of YAML code: Example YAML to show metrics in a table datasets: - uuid: swf_metrics url: http://localhost:8080/q/metrics expression: >- $map($, function($l) { [ $l[0], $contains($l[1], \"process_id\") ? $replace($match($l[1], /process_id=\".*?\"/).match, \"process_id\", \"workflow\") : $l[1], $l[2] = \"NaN\" ? -1 : $l[2] ] } ) pages: - components: - settings: lookup: uuid: swf_metrics Figure 2. Example metrics in a table To extract a specific information from your workflow, use specific metrics. Metrics related to workflows include: kogito_process_instance_completed_total: Completed workflows kogito_process_instance_started_total: Started workflows kogito_process_instance_running_total: Running workflows kogito_process_instance_duration_seconds_sum: Workflows total duration When you display the metrics, you can filter the data to include the specific metrics. You can use the metrics and bar chart components in dashbuilder to display the specific metrics and after filtering the metrics, you can put the information in bar charts as shown in the following example YAML code: Example YAML to display bar charts datasets: - uuid: metrics url: http://localhost:8080/q/metrics expression: >- $map($, function($l) { [ $l[0], $contains($l[1], \"process_id\") ? $replace($match($l[1], /process_id=\".*?\"/).match, \"process_id\", \"workflow\") : $l[1], $l[2] = \"NaN\" ? -1 : $l[2] ] } ) columns: - id: metric type: label - id: labels type: label - id: value type: number pages: - rows: - columns: - span: \"6\" components: - html: >- Started - settings: type: BARCHART chart: resizable: 'true' width: '2000' lookup: uuid: metrics sort: - column: value sortOrder: DESCENDING filter: - column: metric function: EQUALS_TO args: - \"kogito_process_instance_started_total\" group: - columnGroup: source: labels groupFunctions: - source: labels - source: value - span: \"6\" components: - html: >- Running - settings: type: BARCHART chart: resizable: 'true' width: '2000' lookup: uuid: metrics sort: - column: value sortOrder: DESCENDING filter: - column: metric function: EQUALS_TO args: - \"kogito_process_instance_running_total\" group: - columnGroup: source: labels groupFunctions: - source: labels - source: value - columns: - span: \"6\" components: - html: >- Completed - settings: type: BARCHART chart: resizable: 'true' width: '2000' dataSetLookup: uuid: metrics sort: - column: value sortOrder: DESCENDING filter: - column: metric function: EQUALS_TO args: - \"kogito_process_instance_completed_total\" group: - columnGroup: source: labels groupFunctions: - source: labels - source: value - span: \"6\" components: - html: >- Total Duration - settings: type: BARCHART chart: resizable: 'true' width: '2000' lookup: uuid: metrics sort: - column: value sortOrder: DESCENDING filter: - column: metric function: EQUALS_TO args: - \"kogito_process_instance_duration_seconds_sum\" group: - columnGroup: source: labels groupFunctions: - source: labels - source: value Figure 3. Example workflow metrics dashboard If you are using Prometheus, you can use PROMQL with Prometheus REST API and transform the result to JSON format that is supported by dashbuilder to build the dashoards. For more information about dashbuilder and Prometheus, see Creating Prometheus Dashboards using Dashbuilder. Data Index is a service that contains all the data related to the execution of your workflow. The Data Index service is available during the development mode. By default, you can access the Data Index at http://localhost:8180. The Data Index service uses GraphQL, so that dashbuilder can connect with the service using its REST API and transform the result to the supported format. Prerequisites A workflow application is created. For more information about creating a workflow, see Creating your first workflow service. Procedure Go to the Data Index GraphQL interface (default to http://localhost:8180/graphiql) and test your query. The following is an example of GraphQL query that lists all the workflows: Example GraphQL query to retrieve all workflows { ProcessInstances { processId processName state start end businessKey error {message} } } Run the GraphQL query. When you run the query, note that the URL is modified to includes the query. Copy the URL and modify graphiql to graphql. When you access the URL with graphql, it returns the result in a JSON format as shown in the following example: GraphQL JSON result when using the query { \"data\": { \"ProcessInstances\": [ { \"processId\": \"yamlgreet\", \"processName\": \"Greeting workflow\", \"state\": \"COMPLETED\", \"start\": \"2022-07-01T16:08:12.038Z\", \"end\": \"2022-07-01T16:08:12.061Z\", \"businessKey\": null, \"error\": null }, ] } } Internally, workflows are referenced as processes, therefore the processId is the workflow ID and processName is the workflow name. Transform the response to the transform expression. When you transform the response, note that the response includes the columns metdata for the data set. Example transform expression to retrieve fields from JSON response { \"columns\" :[ {\"id\": \"Workflow Id\", \"type\": \"label\"}, {\"id\": \"Workflow Name\", \"type\": \"label\"}, {\"id\": \"State\", \"type\": \"label\"}, {\"id\": \"Start\", \"type\": \"label\"}, {\"id\": \"End\", \"type\": \"label\"}, {\"id\": \"Business Key\", \"type\": \"label\"}, {\"id\": \"Error\", \"type\": \"label\"} ], \"values\" : $.data.ProcessInstances.[ processId, processName, state, start, end, businessKey ? businessKey : \"\", error ? error.message : \"\"] } Create your dashboard using the transform expression and the URL mentioned in the previous step. Example dashboard created using Data Index datasets: - uuid: workflows url: http://localhost:8180/graphql/?query=%7BProcessInstances%7BprocessId%20processName%20state%20start%20end%20businessKey%20error%7Bmessage%7D%7D%7D%0A expression: >- { \"columns\" :[ {\"id\": \"Workflow Id\", \"type\": \"label\"}, {\"id\": \"Workflow Name\", \"type\": \"label\"}, {\"id\": \"State\", \"type\": \"label\"}, {\"id\": \"Start\", \"type\": \"label\"}, {\"id\": \"End\", \"type\": \"label\"}, {\"id\": \"Business Key\", \"type\": \"label\"}, {\"id\": \"Error\", \"type\": \"label\"} ], \"values\" : $.data.ProcessInstances.[ processId, processName, state, start, end, businessKey ? businessKey : \"\", error ? error.message : \"\"] } pages: - components: - settings: type: BARCHART lookup: uuid: workflows group: - columnGroup: source: State functions: - source: State - source: State function: COUNT - settings: lookup: uuid: workflows The previous example of dashboard contains bar chart that counts the workflow instances by State and lists all the dashboards in a table. Following is the graphical dashboard resulted from the previous example: Figure 4. Example dashboard created using Data Index For more examples of dashboards, see Dashbuilder website. Creating your first workflow service If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Displaying workflow data in dashboards","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-dashboard-with-runtime-data","url":"/serverlessworkflow/latest/integrations/serverless-dashboard-with-runtime-data.html","titles":[{"text":"Dashboards for workflows","hash":"con-sw-dashboard","id":1},{"text":"Building dashboards using metrics","hash":"proc-sw-dashboard-metrics","id":2},{"text":"Building dashboards using Data Index","hash":"proc-sw-dashboard-data-index","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"26":{"id":26,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"data-consistency","url":"/serverlessworkflow/latest/persistence/data-consistency.html","titles":[]},"27":{"id":27,"text":"This document describes how you can run your workflow application using PostgreSQL persistence. When your workflow execution requires wait states, then running your workflow application with persistence enabled is a recommended approach. For example, when a process reaches a callback or needs to wait for an event, then the execution of the process is paused and the engine takes a snapshot of the workflow data. The snapshot is persisted in the database as a binary format along with process metadata information. The process metadata information includes process ID, process instance ID, and process version. Runtime persistence is used for storing data, which is required to resume the workflow execution of a process instance. Once a process is completed, the related data is removed from the database. This means that only required data to resume the execution is persisted. In Kogito Serverless Workflow, you can enable persistence using add-ons. This document describes the use of the kogito-addons-quarkus-persistence-jdbc add-on, which is based on Java Database Connectivity (JDBC) along with PostgreSQL. The kogito-addons-quarkus-persistence-jdbc add-on also extends on the Quarkus capabilities and you can use the available features directly from Quarkus JDBC support. For more information about Quarkus and JDBC, see Quarkus Datasources. You can also see the serverless-workflow-callback-quarkus example application in GitHub repository. To execute the serverless-workflow-callback-quarkus example application, you can follow the instructions mentioned in the README file. To clone the kogito-example repository, use the following command: Clone kogito-examples repository git clone git@github.com:kiegroup/kogito-examples.git Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. Docker is installed. PostgreSQL is installed. For information about PostgreSQL installation and configuration, see PostgreSQL documentation. This document relies on running PostgreSQL as a Docker service, even though PostgreSQL installation is mentioned as a prerequisite. Procedure Add required dependencies to the pom.xml file of your project to use the persistence add-on: JDBC persistence add-on org.kie.kogito kogito-addons-quarkus-persistence-jdbc Quarkus JDBC PostgreSQL io.quarkus quarkus-jdbc-postgresql Quarkus Agroal data source io.quarkus quarkus-agroal Add the following properties to the application.properties file of your project: Persistence property kogito.persistence.type=jdbc Quarkus properties quarkus.datasource.db-kind=postgresql quarkus.datasource.username=postgres quarkus.datasource.password=pass quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/postgres Create PostgreSQL database schema. The persistence add-on uses Flyway to create the database schema. To enable the database schema creation during the runtime startup, you must set the following properties in the application.properties file. quarkus.flyway.migrate-at-start=true quarkus.datasource.db-kind=postgresql You can find more details regarding the PostgreSQL database schema migration in the Flyway migration guide. Optional: To handle the concurrent requests to shared workflow instances, enable the persistence-enabled optimistic locking for concurrency control using the version field in the database. Add kogito.persistence.optimistic.lock=true property in the application.properties file of your project to enable the optimistic locking. Change the version in the workflow file. Example workflow file { \"id\": \"applicantworkflow\", \"name\": \"Applicant Workflow\", \"version\": \"1.0\" } The versioning strategy is used to allow different workflow applications to run different versions of a process at the same time. The different versions of a process share the same database. This is useful when you migrate a process from one version to another. When allowing workflow instances to finish executing, a new version can be deployed using a new workflow application setup. By default, the engine considers the version specified in the workflow file as the current version of the asset. Therefore, you need to manually change the version in the workflow file, making the engine consider the specified version as a new version. As an alternative, you can set the kogito.workflow.version-strategy=project property in the application.properties file of your project. This enables the engine to consider the Maven or Gradle project version as the version of all workflows in the project. For instance, when you release a new version of your Maven project, the version in the workflow file is automatically updated. The following table serves as a quick reference of commonly used persistence configuration properties supported in Kogito Serverless Workflow. You can define these properties in the application.properties file of your project. Table 1. Persistence properties Configuration property Type Default value kogito.persistence.type string kogito.persistence.query.timeout.millis long 10000 kogito.persistence.optimistic.lock boolean false kogito.workflow.version-strategy string workflow Kogito Serverless Workflow integration test using PostgreSQL Migrating Your PostgreSQL Database with a Kogito upgrade If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Running a workflow service using PostgreSQL","component":"serverlessworkflow","version":"1.40.0.Final","name":"persistence-with-postgresql","url":"/serverlessworkflow/latest/persistence/persistence-with-postgresql.html","titles":[{"text":"Persistence configuration quick reference","hash":"ref-postgresql-persistence-configuration","id":1},{"text":"Additional resources","hash":"postgresql-persistence-additional-resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"28":{"id":28,"text":"When working with Kogito Serverless Workflow PostgreSQL database, you can either opt to use Flyway or manually upgrade your database via DDL scripts. When you upgrade your Kogito Serverless Workflow version, by default it won’t pick up the latest changes available. Kogito provides a mechanism for migrating your database while updating the Kogito version using the following Flyway properties (default value is false, not upgrade): quarkus.flyway.migrate-at-start=true quarkus.datasource.db-kind=postgresql This will create a schema history table flyway_schema_history in your database to track the version of each database, recording in it every versioned migration file applied to build that version. When using kogito-addons-persistence-jdbc, it is mandatory to set the quarkus.datasource.db-kind property, so that Flyway can locate the appropriate scripts for the database. If you want to migrate manually you can use the Flyway migration CLI tool. Download Flyway migration command-line tool from the Download Flyway Community Edition website. Add the following properties in the /conf/flyway.conf file: flyway.url=jdbc:postgresql://localhost:5432/foobardb flyway.user=foo flyway.password=bar You can specify these options with commands as well. The Flyway CLI will prompt for the username and password if they are missing in the configuration. $ flyway migrate -url=jdbc:postgresql://localhost:5432/foobardb -user=foo -password=bar Download the Kogito DDL zip from this link, choose the correct version, extract the files and use the scripts from the postgresql folder. You can specify the location of the SQL files that need to be migrated using the flyway.locations option. For example, flyway.locations=classpath:com.mycomp.migration,database/migrations,filesystem:/sql-migrations,s3:migrationsBucket,gcs:migrationsBucket You can use the provided SQL scripts in the zip file to migrate the database by executing them one by one. You can find the Kogito DDL scripts by visiting this link. Download the zip file of the scripts from the needed version for the Kogito upgrade. Extract the files. Execute the sql files from postgresql folder. > psql -H host -U username -d database_name -a -f create_table.sql In order to apply migrations to an existing schema. It is necessary to establish the baseline from where Flyway should start executing new migrations. That means, in case your schema already contains a structure and from now on, new changes provided by Kogito should be applied via Flyway integration. In Flyway terms, only migrations above baselineVersion will then be applied. Using below properties you can initialize flyway schema table. quarkus.flyway.baseline-on-migrate=true quarkus.flyway.baseline-version=1.32.0 $ flyway -baselineOnMigrate=\"true\" -baselineVersion=\"1.32.0\" migrate Be careful when enabling this feature as it removes the safety net which ensures that Flyway does not migrate the wrong database in case of a configuration mistake. Baseline Migrations Documentation. Existing Database Setup Documentation. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Migrating Your PostgreSQL Database with a Kogito upgrade","component":"serverlessworkflow","version":"1.40.0.Final","name":"postgresql-flyway-migration","url":"/serverlessworkflow/latest/persistence/postgresql-flyway-migration.html","titles":[{"text":"How to migrate","hash":"_how_to_migrate","id":1},{"text":"Migrate using Flyway Config","hash":"_migrate_using_flyway_config","id":2},{"text":"Migrate using Flyway CLI","hash":"_migrate_using_flyway_cli","id":3},{"text":"Manually executing scripts","hash":"manually-executing-scripts","id":4},{"text":"Baseline migration","hash":"_baseline_migration","id":5},{"text":"Baseline using Quarkus Configuration:","hash":"_baseline_using_quarkus_configuration","id":6},{"text":"Baseline using Flyway CLI:","hash":"_baseline_using_flyway_cli","id":7},{"text":"More details on Flyway migrations","hash":"_more_details_on_flyway_migrations","id":8},{"text":"Found an issue?","hash":"_found_an_issue","id":9}]},"29":{"id":29,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"workflow-database-for-db-admins","url":"/serverlessworkflow/latest/persistence/workflow-database-for-db-admins.html","titles":[]},"30":{"id":30,"text":"This document describes the supported authentication types and how to configure them to access the OpenAPI service operations that are used in workflows. For information about orchestrating and configuring the OpenAPI based services, you must see the following documents: Orchestrating the OpenAPI services Configuring the OpenAPI services endpoints The OpenAPI support for a workflow is based on the Quarkus OpenAPI generator extension. For more information about Quarkus OpenAPI generator, see Quarkus - OpenAPI Generator. According to the OpenAPI specification, you can secure an OpenAPI service operation by using a security scheme. These security schemes are defined in the Security Scheme Object definitions of the OpenAPI specification file. The security scheme type defined for an OpenAPI service operation is used to identify the required configuration, when a workflow invokes the same operation. The following shows the example of security scheme definitions: Example security-example.json file \"securitySchemes\": { \"http-basic-example\": { \"type\": \"http\", \"scheme\": \"basic\" } \"api-key-example\": { \"type\": \"apiKey\", \"name\": \"my-example-key\", \"in\": \"header\" } } If the OpenAPI specification file contains securitySchemes definitions, but not the Security Requirement Object definitions, the generator is configured to create the security requirement objects by default. In this case, for all the operations without a security requirement, the default one is created. Note that the property value must match the name of a security scheme object definition, such as http-basic-example or api-key-example in the previous securitySchemes list. Description Property key Example Create security for the referenced security scheme quarkus.openapi-generator.codegen.default.security.scheme quarkus.openapi-generator.codegen.default.security.scheme=http-basic-example To configure the credentials that are used to access the secured OpenAPI service operations and related parameters, you must use the application properties that are related to the security schemes. To compose the configuration keys, use the following format: Format for configuration keys quarkus.openapi-generator.[filename].auth.[security_scheme_name].[auth_property_name] The previous format includes the following parameters: filename is the sanitized name of the file containing the OpenAPI specification, such as security_example_json. security_scheme_name is the sanitized name of the security scheme object definition in the OpenAPI specification file, such as http_basic_example or api_key_example. auth_property_name is the name of the property to configure, such as username. This property depends on the defined security scheme type. To sanitize the previous parameters, you can follow the Environment Variables Mapping Rules from Microprofile Configuration. In the mapping rules, any non-alphabetic character is replaced by an underscore (_). The security schemes defined in an OpenAPI specification file are global to all the operations that are available in the same file. This means that the configurations set for a particular security scheme also apply to the other secured operations. You can use the alternatives defined in the Quarkus configuration reference guide to configure the required properties. A common usage is to define environment variables to set the authentication secrets. For a complete example, see Orchestration of third-party services using OAuth 2.0 authentication. The following example shows security-example.json file, defining a sayHelloBasic operation, which is secured using the http-basic-example security scheme and supported configurations: Example security-example.json file for HTTP authentication { \"openapi\": \"3.1.0\", \"info\": { \"title\": \"Http Basic Scheme Example\", \"version\": \"1.0\" }, \"paths\": { \"/hello-with-http-basic\": { \"get\": { \"operationId\": \"sayHelloBasic\", \"responses\": { \"200\": { \"description\": \"OK\", \"content\": { \"text/plain\": { \"schema\": { \"type\": \"string\" } } } } }, \"security\": [{\"http-basic-example\" : []}] } } }, \"components\": { \"securitySchemes\": { \"http-basic-example\": { \"type\": \"http\", \"scheme\": \"basic\" } } } } The following table shows the supported configurations that are used to secure the sayHelloBasic operation in the previous example: Table 1. Supported configuration examples for HTTP authentication Description Property key Example Username credentials quarkus.openapi-generator.[filename].auth.[security_scheme_name].username quarkus.openapi-generator.security_example_json.auth.http_basic_example.username=MY_USER Password credentials quarkus.openapi-generator.[filename].auth.[security_scheme_name].password quarkus.openapi-generator.security_example_json.auth.http_basic_example.password=MY_PASSWD The following example shows security-example.json file, defining a sayHelloBearer operation, which is secured using the http-bearer-example security scheme and supported configurations: Example security-example.json file for Bearer Token authentication { \"openapi\": \"3.1.0\", \"info\": { \"title\": \"Http Bearer Scheme Example\", \"version\": \"1.0\" }, \"paths\": { \"/hello-with-http-bearer\": { \"get\": { \"operationId\": \"sayHelloBearer\", \"responses\": { \"200\": { \"description\": \"OK\", \"content\": { \"text/plain\": { \"schema\": { \"type\": \"string\" } } } } }, \"security\": [{\"http-bearer-example\" : []}] } } }, \"components\": { \"securitySchemes\": { \"http-bearer-example\": { \"type\": \"http\", \"scheme\": \"bearer\" } } } } The following table shows the supported configurations that are used to secure the sayHelloBearer operation in the previous example: Table 2. Supported configuration examples for Bearer Token authentication Description Property key Example Bearer Token quarkus.openapi-generator.[filename].auth.[security_scheme_name].bearer-token quarkus.openapi-generator.security_example_json.auth.http_bearer_example.bearer-token=MY_TOKEN The following example shows security-example.json file, defining a sayHelloApiKey operation, which is secured using the api-key-example security scheme and supported configurations: Example security-example.json file for API key authentication { \"openapi\": \"3.1.0\", \"info\": { \"title\": \"Api Key Scheme Example\", \"version\": \"1.0\" }, \"paths\": { \"/hello-with-api-key\": { \"get\": { \"operationId\": \"sayHelloApiKey\", \"responses\": { \"200\": { \"description\": \"OK\", \"content\": { \"text/plain\": { \"schema\": { \"type\": \"string\" } } } } }, \"security\": [{\"api-key-example\" : []}] } } }, \"components\": { \"securitySchemes\": { \"api-key-example\": { \"type\": \"apiKey\", \"name\": \"api-key-name\", \"in\": \"header\" } } } } The following table shows the supported configurations that are used to secure the sayHelloApiKey operation in the previous example: Table 3. Supported configuration examples for API key authentication Description Property key Example API Key quarkus.openapi-generator.[filename].auth.[security_scheme_name].api-key quarkus.openapi-generator.security_example_json.auth.api_key_example.api-key=MY_KEY The API key scheme type contains an additional name property that configures the key name to use when the Open API service is invoked. Also, the format to pass the key depends on the value of the in property. When the value is header, the key is passed as an HTTP request parameter. When the value is cookie, the key is passed as an HTTP cookie. When the value is query, the key is passed as an HTTP query parameter. However, this is automatically managed without additional configurations. Following the previous example, the API key is passed as an http request parameter, such as api-key-name with the value MY_KEY. The following example shows security-example.json file, defining a sayHelloOauth2 operation, which is secured using the oauth-example security scheme and supported configurations: Example security-example.json file for OAuth 2.0 authentication { \"openapi\": \"3.1.0\", \"info\": { \"title\": \"Oauth2 Scheme Example\", \"version\": \"1.0\" }, \"paths\": { \"/hello-with-oauth2\": { \"get\": { \"operationId\": \"sayHelloOauth2\", \"responses\": { \"200\": { \"description\": \"OK\", \"content\": { \"text/plain\": { \"schema\": { \"type\": \"string\" } } } } }, \"security\": [{\"oauth-example\" : []}] } } }, \"components\": { \"securitySchemes\": { \"oauth-example\": { \"type\": \"oauth2\", \"flows\": { \"clientCredentials\": { \"authorizationUrl\": \"https://example.com/oauth\", \"tokenUrl\": \"https://example.com/oauth/token\", \"scopes\": { } } } } } } } Unlike the http basic, http bearer, and apiKey security schemes, the OAuth 2.0 authentication relies on the Quarkus OpenId Connect (OIDC) and OAuth 2.0 Clients and Filters. Therefore, you must add the Quarkus OIDC Client Filter Extension to your project as shown in the following example: Example of adding Quarkus OIDC client filter extension io.quarkus quarkus-oidc-client-filter You can also add the Quarkus OIDC client filter extension using the Quarkus CLI as shown in the following example: Add Quarkus OIDC client filter extension $ quarkus extension add quarkus-oidc-client-filter The token management operations are delegated to a Quarkus OidcClient using a simple naming convention. In the previous example, the token management operations that are used to access the sayHelloOauth2 operation are delegated to the OidcClient that is oauth_example. You can configure the OidcClient as shown in the following example: Example of configuring an OidcClient quarkus.oidc-client.oauth_example.auth-server-url=https://example.com/oauth quarkus.oidc-client.oauth_example.token-path=/tokens quarkus.oidc-client.oauth_example.discovery-enabled=false quarkus.oidc-client.oauth_example.client-id=kogito-app quarkus.oidc-client.oauth_example.grant.type=client quarkus.oidc-client.oauth_example.credentials.client-secret.method=basic quarkus.oidc-client.oauth_example.credentials.client-secret.value=secret The suffix (quarkus.oidc-client.oauth_example) used in the previous configuration example is exclusive for the security scheme defined in the OpenAPI service specification file and the scheme name is sanitized using the mapping rules. You can use the authorization token propagation with OpenAPI operations that are secured using the oauth2 or http bearer security scheme type. When the configuration is set, you can propagate the authorization tokens that are passed to your workflow during the workflow creation. The propagations must be configured individually for each security scheme, which enables you to configure the invocations that must propagate the token. Similar to other security scheme configurations, the token propagation applies to all the OpenAPI operations that are secured using the same security scheme. The following example shows security-example.json file, defining a sayHelloOauth2 operation, which is secured using the oauth-example security scheme and supported configurations: Example security-example.json file for authorization token propagation { \"openapi\": \"3.1.0\", \"info\": { \"title\": \"Oauth2 Scheme Example\", \"version\": \"1.0\" }, \"paths\": { \"/hello-with-oauth2\": { \"get\": { \"operationId\": \"sayHelloOauth2\", \"responses\": { \"200\": { \"description\": \"OK\", \"content\": { \"text/plain\": { \"schema\": { \"type\": \"string\" } } } } }, \"security\": [{\"oauth-example\" : []}] } } }, \"components\": { \"securitySchemes\": { \"oauth-example\": { \"type\": \"oauth2\", \"flows\": { \"clientCredentials\": { \"authorizationUrl\": \"https://example.com/oauth\", \"tokenUrl\": \"https://example.com/oauth/token\", \"scopes\": { } } } } } } } The following table shows the supported configurations that are used to secure the sayHelloOauth2 operation in the previous example: Table 4. Supported configuration examples for token propagation Property key Example quarkus.openapi-generator.[filename].auth.[security_scheme_name].token-propagation=[true,false] quarkus.openapi-generator.security_example_json.auth.oauth_example.token-propagation=true Enables the token propagation for all the operations that are secured using the oauth-example scheme in the security-example.json file. By default, the standard HTTP authorization header is propagated. quarkus.openapi-generator.[filename].auth.[security_scheme_name].header-name=[http_header_name] quarkus.openapi-generator.security_example_json.auth.oauth_example.header-name=MyHeaderName States that the authorization token is read from the MyHeaderName header instead of the standard HTTP authorization header. The authorization tokens are propagated till the workflow does not reach its waiting state. When the same workflow is resumed, the tokens will not be propagated. Orchestration of third-party services using OAuth 2.0 authentication in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Authentication for OpenAPI services in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"authention-support-for-openapi-services","url":"/serverlessworkflow/latest/security/authention-support-for-openapi-services.html","titles":[{"text":"Overview of OpenAPI services authentication","hash":"con-openapi-services-authentication","id":1},{"text":"Example of basic HTTP authentication","hash":"ref-example-http-authentication","id":2},{"text":"Example of Bearer Token authentication","hash":"ref-example-bearer-authentication","id":3},{"text":"Example of API key authentication","hash":"ref-example-api-key-authentication","id":4},{"text":"Example of OAuth 2.0 authentication","hash":"ref-example-oauth-authentication","id":5},{"text":"Example of authorization token propagation","hash":"ref-authorization-token-propagation","id":6},{"text":"Additional resources","hash":"_additional_resources","id":7},{"text":"Found an issue?","hash":"_found_an_issue","id":8}]},"31":{"id":31,"text":"This document describes the example of how you can implement and configure a workflow that orchestrates the interaction with an OAuth 2.0 secured REST service. For more information about orchestrating and configuring OpenAPI services, see Orchestrating the OpenAPI services, Configuring the OpenAPI services endpoints, and Authentication for OpenAPI services in Kogito Serverless Workflow. To understand the example of OAuth 2.0 orchestration in a workflow, you can use the serverless-workflow-oauth2-orchestration-quarkus example application. This example application implements a workflow related to currency exchange calculations, which orchestrates an OAuth 2.0 secured REST service provided by Acme Financial Services. Suppose you have a set of applications that must resolve the currency exchange calculations as their regular operations, and to resolve the currency exchange calculations, you need to get the accurate exchange rates. For this purpose, you can use the Acme Financial Services. When you use the Acme Financial Services, you can query the exchange rates using their OAuth 2.0 secured services, which you can access using the granted credentials. However, you do not want to expose the services provided by Acme to the applications. In this case, you can implement a workflow that resolves the following aspects: Orchestration with services provided by Acme and currency exchange calculations. Authentication requirements to access the services provided by Acme. Potential vendor lock-in problems, in case you want to change the provider in future. Domain-specific validations and optimizations. The further sections describes how an end-to-end solution is created in the serverless-workflow-oauth2-orchestration-quarkus example application. To see the source code of serverless-workflow-oauth2-orchestration-quarkus example application, you can clone the kogito-examples repository in GitHub and select the serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus directory. The serverless-workflow-oauth2-orchestration-quarkus example application contains the following services to compose the solution: currency-exchange-workflow: Workflow that implements the currency exchange calculations. acme-financial-service: REST service that provides the exchange rates. acme-oauth2-server: Keycloak server that secures the REST services from Acme Financial Services. The following figure describes the architecture of the solution in serverless-workflow-oauth2-orchestration-quarkus example application: Figure 1. Example architecture diagram of the solution The application creates a workflow instance to calculate the currency exchange. The workflow executes an OpenAPI operation to get the exchange rates information. Authorizations are produced to validate the access. The workflow receives the exchange rates information and executes the calculations. The execution of workflow is finalized by sending the result to the application. The workflow automatically manages the interactions with the OAuth 2.0 server. Also, you must configure a Quarkus OpenId Connect Client (OIDC). For more information, see Configuration in serverless-workflow-oauth2-orchestration-quarkus example application. currency-exchange-workflow The currency-exchange-workflow in serverless-workflow-oauth2-orchestration-quarkus example application is a workflow that implements the currency exchange calculations. The following figure describes the workflow in currency-exchange-workflow: Figure 2. Example currency-exchange-workflow First, validate the input data. Check the validation results: If validation is successful, then transition to (3). If validation is unsuccessful, then no transition and finalize the workflow with the error execution status. Send REST request to acme-financial-service to retrieve the exchange rates: If the request is successful, then transition to (4). If the request is unsuccessful, then transition to (6). Calculate the currency exchange and transition to (5). Set the successful execution status and finalize the currency-exchange-workflow execution. Set the error execution status and finalize the currency-exchange-workflow execution. The following currency-exchange-workflow.sw.json file shows the specification of the currency-exchange-workflow: currency-exchange-workflow.sw.json file { \"id\": \"currency_exchange_workflow\", \"version\": \"1.0\", \"name\": \"Currency Exchange SW\", \"dataInputSchema\": \"currency-exchange-workflow-schema.json\", \"start\": \"ValidateInputs\", \"functions\": [ { \"name\": \"validateInputs\", \"type\": \"custom\", \"operation\": \"service:org.kie.kogito.examples.ExchangeWorkflowHelper::validateInputs\" }, { \"name\": \"getExchangeRate\", \"type\": \"rest\", \"operation\": \"specs/acme-financial-service.yml#exchangeRate\" }, { \"name\": \"calculateExchange\", \"type\": \"expression\", \"operation\": \"${ { calculateExchangeResult: .amount * .exchangeRate } }\" } ], \"errors\": [ { \"name\": \"service_error\", \"code\": \"java.lang.Exception\" } ], \"states\": [ { \"name\": \"ValidateInputs\", (1) \"type\": \"operation\", \"actions\": [ { \"name\": \"validateInputsAction\", \"functionRef\": { \"refName\": \"validateInputs\", \"arguments\": { \"currencyFrom\": \"${ .currencyFrom }\", \"currencyTo\": \"${ .currencyTo }\", \"amount\": \"${ .amount }\", \"exchangeDate\": \"${ .exchangeDate }\" } } } ], \"transition\": \"CheckValidation\" }, { \"name\": \"CheckValidation\", (2) \"type\": \"switch\", \"dataConditions\": [ { \"condition\": \"${ .executionStatus == \\\"ERROR\\\" }\", \"end\": true } ], \"defaultCondition\": { \"transition\": \"GetExchangeRate\" } }, { \"name\": \"GetExchangeRate\", (3) \"type\": \"operation\", \"actions\": [ { \"name\": \"getExchangeRateAction\", \"functionRef\": { \"refName\": \"getExchangeRate\", \"arguments\": { \"currencyFrom\": \"${ .currencyFrom }\", \"currencyTo\": \"${ .currencyTo }\", \"exchangeDate\": \"${ .exchangeDate }\" } }, \"actionDataFilter\": { \"results\": \"${ {exchangeRate: .rate} }\" } } ], \"transition\": \"CalculateExchange\", \"onErrors\": [ { \"errorRef\": \"service_error\", \"transition\": \"EndWithError\" } ] }, { \"name\": \"CalculateExchange\", (4) \"type\": \"operation\", \"actions\": [ { \"name\": \"calculateExchangeAction\", \"functionRef\": { \"refName\": \"calculateExchange\" }, \"actionDataFilter\": { \"results\": \"${ {result: .calculateExchangeResult} }\" } } ], \"transition\": \"EndSuccessful\" }, { \"name\": \"EndWithError\", (5) \"type\": \"inject\", \"data\": { \"executionStatus\": \"ERROR\", \"executionStatusMessage\": \"Execution failed: The acme-financial-service invocation has failed, check that the service is running and that you have configured the OAuth2 client properly\" }, \"end\": true }, { \"name\": \"EndSuccessful\", (6) \"type\": \"inject\", \"data\": { \"executionStatus\": \"OK\", \"executionStatusMessage\": \"Execution successful\" }, \"end\": true } ] } 1 ValidateInputs state executes the validateInputs function to validate the input data. 2 CheckValidation state determines the next state to go by evaluating the validation results. 3 GetExchangeRate state executes the getExchangeRate function to retrieve the exchange rate from the remote server. 4 CalculateExchange state executes the calculateExchange function to calculate the currency exchange. 5 EndWithError state finalizes the workflow with an ERROR. 6 EndSuccessful state finalizes the workflow with successful OK status. The validateInputs function is used to execute the custom Java processing as part of the workflow. For more information about custom functions, see Serverless Workflow specification. The following is an example of validateInputs function definition: Example validateInputs function definition { \"name\": \"validateInputs\", (1) \"type\": \"custom\", (2) \"operation\": \"service:org.kie.kogito.examples.ExchangeWorkflowHelper::validateInputs\" (3) } 1 validateInputs function declaration. 2 custom type that enables you to use your own Java class to implement a function. 3 Specifies that the function is implemented by the method validateIntpus in the org.kie.kogito.examples.ExchangeWorkflowHelper Java class. To implement a custom function, you must create a Java class such as ExchangeWorkflowHelper in your project: Example ExchangeWorkflowHelper.java file package org.kie.kogito.examples; import javax.enterprise.context.ApplicationScoped; @ApplicationScoped public class ExchangeWorkflowHelper { public ValidationResult validateInputs(String currencyFrom, String currencyTo, double amount, String exchangeDate) { // Implement your custom Java processing here and return // a Java POJO to the Serverless Workflow. if (!good) { return new ValidationResult(\"ERROR\", \"Not good!\"); } return new ValidationResult(); } public static class ValidationResult { private String executionStatus; private String executionStatusMessage; // getters, setters, etc. } } To access the acme-financial-service REST service in currency-exchange-workflow, a workflow function such as getExchangeRate is used. For more information about using functions for REST services, see Serverless Workflow specification. Following is the function definition of getExchangeRate: Example getExchangeRate function definition { \"name\": \"getExchangeRate\", (1) \"type\": \"rest\", \"operation\": \"specs/acme-financial-service.yml#exchangeRate\" (2) } 1 getExchangeRate function declaration. 2 Specifies that the function is implemented by the exchangeRate operation in the acme-financial-service.yml file. For the previous configuration, the acme-financial-service.yml file must be located in the src/main/resources/specs directory of the project. In order to filter the information, which must be returned to the currency-exchange-workflow, an actionDataFilter is used: Example actionDataFilter to pass the getExchangeRate results \"actionDataFilter\": { \"results\": \"${ {exchangeRate: .rate} }\" (1) } 1 Merge the value of the rate property to the exchangeRate workflow data property. The value of the rate property is retrieved from the acme-financial-service invocation result. For more information about action data filters, see Action data filters in Serverless Workflow specification. To calculate the currency exchange rates in currency-exchange-workflow, a function named calculateExchange is used: Example calculateExchange function definition { \"name\": \"calculateExchange\", (1) \"type\": \"expression\", (2) \"operation\": \"${ { calculateExchangeResult: .amount * .exchangeRate } }\" (3) } 1 calculateExchange function declaration. 2 expression type that enables you to use an expression to implement a function. 3 Specifies that the function returns a JSON object with a calculateExchangeResult property, containing the calculation. For more information about using functions for expression evaluation, see Serverless Workflow specification. Similar to getExchangeRate to filter the information, which must be returned to the currency-exchange-workflow, an actionDataFilter is used: Example actionDataFilter to pass the calculateExchange results: \"actionDataFilter\": { \"results\": \"${ {result: .calculateExchangeResult} }\" (1) } 1 Merge the value of the calculateExchangeResult property to the result workflow data property. The value of the calculateExchangeResult property is retrieved from the expression result. acme-financial-service The acme-financial-service in serverless-workflow-oauth2-orchestration-quarkus example application is a REST service that provides the exchange rates. Following is the OpenAPI specification that defines the acme-financial-service: Example acme-financial-service.yml OpenAPI specification --- openapi: 3.0.3 info: title: Acme Financial Service API version: 1.0.1 paths: /financial-service/exchange-rate: (1) get: tags: - Acme Financial Resource operationId: exchangeRate parameters: (2) - name: currencyFrom in: query schema: type: string - name: currencyTo in: query schema: type: string - name: exchangeDate in: query schema: type: string responses: (3) \"200\": description: OK content: (4) application/json: schema: $ref: '#/components/schemas/ExchangeRateResult' security: - acme-financial-oauth: [ ] (5) components: schemas: ExchangeRateResult: (6) type: object properties: rate: format: double type: number securitySchemes: acme-financial-oauth: (7) type: oauth2 (8) flows: clientCredentials: (9) authorizationUrl: http://localhost:8281/auth/realms/kogito/protocol/openid-connect/auth tokenUrl: http://localhost:8281/auth/realms/kogito/protocol/openid-connect/token scopes: { } 1 REST path to access the exchangeRate operation in the remote server. 2 Parameter of the exchangeRate operation. 3 Responses of the exchangeRate operation. 4 Response type and data exchange format. 5 Specifies that the exchangeRate operation is secured using the acme-financial-oauth security scheme. 6 Response type specification. 7 Specification of the acme-financial-oauth security scheme. 8 Security scheme type. The security scheme type indicates that you must configure a Quarkus OpenId Connect Client (OIDC) using acme_financial_oauth name to execute the operation. 9 Authentication flow and related information. For more information about the acme-financial-service implementation, see acme-financial-service in serverless-workflow-oauth2-orchestration-quarkus example application. The configuration for the workflow used in serverless-workflow-oauth2-orchestration-quarkus example application includes defining required properties in application.properties file as shown in the following example: Example application.properties file configuration quarkus.openapi-generator.codegen.spec.acme_financial_service_yml.base-package=com.acme (1) quarkus.rest-client.acme_financial_service_yml.url=http://localhost:8483 (2) quarkus.oidc-client.acme_financial_oauth.discovery-enabled=false (3) quarkus.oidc-client.acme_financial_oauth.auth-server-url=http://localhost:8281/auth/realms/kogito/protocol/openid-connect/auth (4) quarkus.oidc-client.acme_financial_oauth.token-path=http://localhost:8281/auth/realms/kogito/protocol/openid-connect/token (5) quarkus.oidc-client.acme_financial_oauth.client-id=kogito-app (6) quarkus.oidc-client.acme_financial_oauth.grant.type=client quarkus.oidc-client.acme_financial_oauth.credentials.client-secret.method=basic (7) quarkus.oidc-client.acme_financial_oauth.credentials.client-secret.value=secret (8) 1 Package name for automatically generated classes that implement the access to all operations defined in the acme-financial-service.yml file. 2 Root URL to access all operations defined in the acme-financial-service.yml file. For the exchangeRate operation, a URL such as http://localhost:8483/financial-service/exchange-rate is automatically generated. 3 Disables the OAuth 2.0 server endpoints discovery as the endpoints provided in the acme-financial-service-yml file are used instead. 4 Authentication URL of the OAuth 2.0 server. 5 Relative path or URL of the OAuth 2.0 token endpoint, which allocates access and refreshes tokens. 6 Client ID to identify the workflow against the authorization service, such as kogito-app. This identifier must be provided by Acme. 7 Method that is used at the time of sending the client-secret for the authentications when the client grant type is used. 8 client-secret to authenticate the workflow against the authorization service when the client grant type is used. This secret must be provided by Acme. To configure the Quarkus OpenId Connect Client (OIDC) for acme_financial_service_oauth service, you must follow the rules described in Example of OAuth 2.0 authentication. Also, the particular attributes depend on the OAuth 2.0 server and authorization flow to use. You can get the information about the OAuth 2.0 server and authorization flow from the acme-financial-service.yml file. Also, you can use the alternatives defined in the Quarkus configuration reference guide to configure the properties in application.properties file. You can define environment variables to set the authentication secrets, and you can use the Quarkus Credentials Provider framework. Once you clone the serverless-workflow-oauth2-orchestration-quarkus example application from GitHub repository, you can run the example application. Prerequisites Java 11+ is installed. Maven 3.8.6 or later is installed. Docker 20.10.7 or later is installed. (Optional) Docker compose 1.27.2 or later is installed. Procedure In a command terminal, clone the kogito-examples repository and navigate to the cloned directory: Clone kogito-examples repository and navigate to the directory git clone https://github.com/kiegroup/kogito-examples.git cd kogito-examples/serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus Run the following command to build the example application using Apache Maven: Build the example application mvn clean install In a separate command terminal window, start the Keycloak server: Start the Keycloak server cd kogito-examples/serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus/scripts ./startKeycloak.sh Alternatively, you can start the Docker Compose using the following command: Start Docker Compose cd kogito-examples/serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus/docker-compose docker-compose up In a separate command terminal window, navigate to the acme-financial-service directory and start the Quarkus application of Acme Financial Service: Start Acme Financial Service cd kogito-examples/serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus/acme-financial-service java -jar target/quarkus-app/quarkus-run.jar In a separate command terminal window, navigate to the currency-exchange-workflow directory and start the Quarkus application of currency exchange workflow: Start currency exchange workflow cd kogito-examples/serverless-workflow-examples/serverless-workflow-oauth2-orchestration-quarkus/currency-exchange-workflow java -jar target/quarkus-app/quarkus-run.jar When all the services are running, use the following curl commands to run the currency-exchange-workflow: The following is an example of successful execution when calculating the currency exchange from EUR to USD: Example request Example response curl -X 'POST' \\ 'http://localhost:8080/currency_exchange_workflow' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"currencyFrom\": \"EUR\", \"currencyTo\": \"USD\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2.0 }' { \"id\": \"399ce304-037c-486d-b4bf-1564baf907a1\", \"workflowdata\": { \"currencyFrom\": \"EUR\", \"currencyTo\": \"USD\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2.0, \"executionStatus\": \"OK\", \"executionStatusMessage\": \"Execution successful\", \"exchangeRate\": 1.0578, \"result\": 2.1156 } } The following is an example of an unsupported currency error when calculating the currency exchange from EUR to MXN: Example request Example response curl -X 'POST' \\ 'http://localhost:8080/currency_exchange_workflow' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"currencyFrom\": \"EUR\", \"currencyTo\": \"MXN\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2.0 }' { \"id\": \"e0e7708d-c82c-47d7-9354-09ccd1e972bb\", \"workflowdata\": { \"currencyFrom\": \"EUR\", \"currencyTo\": \"MXN\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2, \"executionStatus\": \"ERROR\", \"executionStatusMessage\": \"Invalid currencyTo: MXN, only the following currencies are supported [EUR, USD, JPY, GBP, CAD, BRL, AUD]\", \"exchangeRate\": null } } In the previous examples, the currencies supported by the currency-exchange-workflow include EUR, USD, JPY, GBP, CAD, BRL, and AUD. However, the acme-financial-service REST service can resolve any type of currency exchange. This is an example of a workflow implementing the intermediate data filtering, transforming, and validations. The following is an example of the occurrence of unexpected errors when accessing acme-financial-service: Before you launch the command, you must go to the terminal window where you started the acme-financial-service and stop the service using CTRL+C. Example request Example response curl -X 'POST' \\ 'http://localhost:8080/currency_exchange_workflow' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"currencyFrom\": \"EUR\", \"currencyTo\": \"USD\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2.0 }' { \"id\": \"0044ffa0-7b2b-4fdc-af60-cd98c6bd3ade\", \"workflowdata\": { \"currencyFrom\": \"EUR\", \"currencyTo\": \"USD\", \"exchangeDate\": \"2022-06-10\", \"amount\": 2.0, \"executionStatus\": \"ERROR\", \"executionStatusMessage\": \"Execution failed: The acme-financial-service invocation has failed, check that the service is running and that you have configured the OAuth2 client properly\", \"exchangeRate\": null } } In this example the error indicates that it was not possible to contact the acme-financial-service. Orchestrating the OpenAPI services If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Orchestration of third-party services using OAuth 2.0 authentication in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"orchestrating-third-party-services-with-oauth2","url":"/serverlessworkflow/latest/security/orchestrating-third-party-services-with-oauth2.html","titles":[{"text":"Example of OAuth 2.0 orchestration in a workflow","hash":"ref-example-oauth2-orchestration","id":1},{"text":"Configuration in serverless-workflow-oauth2-orchestration-quarkus example application","hash":"con-example-sw-configuration","id":2},{"text":"Running the example application","hash":"proc-run-example-application","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"32":{"id":32,"text":"This document describes how you can configure OpenAPI service endpoints in Kogito Serverless Workflow. Kogito Serverless Workflow leverages MicroProfile REST Client to invoke OpenAPI services. Therefore, you can configure the OpenAPI services by following the MicroProfile Config specification. For the list of properties to configure in the MicroProfile REST Client specification, see Support for MicroProfile Config in MicroProfile REST Client documentation. Kogito Serverless Workflow follows the strategy defined in the kogito.sw.operationIdStrategy property to generate the REST Client. The possible values of the kogito.sw.operationIdStrategy property include: FILE_NAME(Default value): Kogito Serverless Workflow uses the configuration key based on the OpenAPI document file name as shown in the following example: Example property quarkus.rest-client.stock_portfolio_svc_yaml.url=http://localhost:8282/ In the previous example, Kogito Serverless Workflow uses stock_portfolio_svc_yaml as configuration key as the OpenAPI document is available at src/main/resources/openapi/stock-portfolio-svc.yaml. FULL_URI: Kogito Serverless Workflow uses the full URI path as configuration key as shown in the following example: Example Serverless Workflow { \"id\": \"myworkflow\", \"functions\": [ { \"name\": \"myfunction\", \"operation\": \"https://my.remote.host/apicatalog/apis/123/document\" (1) } ] ... } 1 URI path of the OpenAPI document Example property quarkus.rest-client.apicatalog_apis_123_document.url=http://localhost:8282/ In the previous example, Kogito Serverless Workflow uses apicatalog_apis_123_document as configuration key. FUNCTION_NAME: Kogito Serverless Workflow uses the workflow ID and the function name that references the OpenAPI document as shown in the following examples: Example Serverless Workflow { \"id\": \"myworkflow\", \"functions\": [ { \"name\": \"myfunction\", \"operation\": \"https://my.remote.host/apicatalog/apis/123/document\" } ] ... } Example property quarkus.rest-client.myworkflow_myfunction.url=http://localhost:8282/ In the previous example, Kogito Serverless Workflow uses \"myworkflow_myfunction\" as configuration key. SPEC_TITLE: Kogito Serverless Workflow uses the value of info.title in the OpenAPI document as shown in the following examples: Example OpenAPI document --- openapi: 3.0.3 info: title: stock-service API version: 2.0.0-SNAPSHOT paths: /stock-price/{symbol}: ... Example property quarkus.rest-client.stock-service_API.url=http://localhost:8282/ In the previous example, Kogito Serverless Workflow uses stock-service_API as configuration key. A Kubernetes service endpoint can be used as a service URL if the target service is within the same cluster, such as http://myservice.mynamespace.cluster.svc.local. As an alternative to kogito.sw.operationIdStrategy, you can assign an alias name to an URI by using workflow-uri-definitions custom extension. Then you can use that alias as configuration key and in function definitions. Example workflow \"extensions\" : [ { \"extensionid\": \"workflow-uri-definitions\", \"definitions\": { \"remoteCatalog\": \"https://my.remote.host/apicatalog/apis/123/document\", } } ], \"functions\": [ { \"name\": \"operation1\", \"operation\": \"remoteCatalog#operation1\" }, { \"name\": \"operation2\", \"operation\": \"remoteCatalog#operation2\" } ] Example property quarkus.rest-client.remoteCatalog.url=http://localhost:8282/ In the previous example, Kogito Serverless Workflow uses remoteCatalog as configuration key. You can use different MicroProfile ConfigSources, such as environment variables and Kubernetes ConfigMaps, and MicroProfile Config profiles to configure the OpenAPI services in different environments. For more information about MicoProfile ConfigSources, see ConfigSources. Some operating systems allow only alphabetic characters or an underscore (_), in environment variables. Other characters such as . and / are not allowed. You must use the Environment Variables Mapping Rules, to set the value of a configuration property that contains a name with such characters. The testing procedure described in this document is based on the serverless-workflow-stock-profit example application in GitHub repository. The serverless-workflow-stock-profit example application is a workflow that computes the profit for a given stock based on an existing stock portfolio. The serverless-workflow-stock-profit example application sends request to the following services: stock-portfolio-service: Calculates the stock portfolio profit for a given stock based on the current stock price. stock-service: Retrieves the current stock price. Developing an application using a service that returns different results every time can be difficult, therefore the stock-service uses the following implementations depending on the environment. real-stock-service (default implementation): Returns the real stock price. This service returns a random price every time to simulate a real stock service. This implementation is used in normal or production environment. fake-stock-service: Returns the same price every time. This implementation is used in the development environment. The stock-profit service contains the following workflow definition: Workflow definition in stock-profit service { \"id\": \"stockprofit\", \"specVersion\": \"0.8\", \"version\": \"2.0.0-SNAPSHOT\", \"name\": \"Stock profit Workflow\", \"start\": \"GetStockPrice\", \"functions\": [ { \"name\": \"getStockPriceFunction\", \"operation\": \"openapi/stock-svc.yaml#getStockPrice\" (1) }, { \"name\": \"getProfitFunction\", \"operation\": \"openapi/stock-portfolio-svc.yaml#getStockProfit\" (2) } ], \"states\": [ { \"name\": \"GetStockPrice\", \"type\": \"operation\", \"actionMode\": \"sequential\", \"actions\": [ { \"name\": \"getStockPrice\", \"functionRef\": { \"refName\": \"getStockPriceFunction\", \"arguments\": { \"symbol\": \".symbol\" } } } ], \"transition\": \"ComputeProfit\" }, { \"name\": \"ComputeProfit\", \"type\": \"operation\", \"actionMode\": \"sequential\", \"actions\": [ { \"name\": \"getStockProfit\", \"functionRef\": { \"refName\": \"getProfitFunction\", \"arguments\": { \"symbol\": \".symbol\", \"currentPrice\": \".currentPrice\" } } } ], \"end\": true } ] } 1 Defines the stock-service service operation 2 Defines the stock-portfolio-service service operation Kogito Serverless Workflow leverages Quarkus profiles to configure the workflow application depending on the target environment. To set properties for different profiles, each property needs to be prefixed with a percentage (%) followed by the profile name and a period (.) in the syntax as %.config.name. By default, Quarkus provides the following profiles that activate automatically in certain conditions: dev: Activates in development mode, such as quarkus:dev test: Activates when tests are running prod (default profile): Activates when not running in development or test mode You can also create additional profiles and activate them using the quarkus.profile configuration property. For more information about Quarkus profiles, see Profiles in the Quarkus Configuration reference guide. You can define the URLs of the services in different environments by using profiles. Procedure Create a file named application.properties in the src/main/resources directory of the workflow project, if the file does not exist. In the application.properties file, add the OpenAPI configuration for the default environment: Example properties in application.properties file quarkus.rest-client.stock_svc_yaml.url=http://localhost:8383/ (1) quarkus.rest-client.stock_portfolio_svc_yaml.url=http://localhost:8282/ 1 URL of the real-stock-service service In the application.properties file, add the OpenAPI configuration for the dev environment: Example properties for development environment %dev.quarkus.rest-client.stock_svc_yaml.url=http://localhost:8181/ (1) 1 URL of the fake-stock-service service The %dev. prefix indicates the dev profile configuration, which is used when you run mvn quarkus:dev or quarkus dev. After defining the URLs of the services, you can run the services that the workflow sends request to. Prerequisites URLs of the services in the different environments are defined. For more information, see Defining the URLs of the services in different environments. Procedure In a separate command terminal window, run the stock-portfolio-service service: Run the stock-portfolio-service service cd stock-portfolio-service mvn quarkus:dev -Ddebug=false You can access the stock-portfolio-service service at http://localhost:8282/. In a separate command terminal window, run the real-stock-service service: Run real-stock-service service cd real-stock-service mvn quarkus:dev -Ddebug=false You can access the real-stock-service service at http://localhost:8383/. In a separate command terminal window, run the fake-stock-service service: Run fake-stock-service service cd fake-stock-service mvn quarkus:dev -Ddebug=false You can access the fake-stock-service service at http://localhost:8181/. When you define %dev.quarkus.rest-client.stock_svc_yaml.url=http://localhost:8181/, the fake-stock-service service is used in the development mode and you get the same result every time you run the workflow. Using this example, you can run the workflow application in development mode. Prerequisites Services that the workflow application sends requests to are started. For more information, see Running the services. Procedure In a separate command terminal window, run the workflow application in development mode: Run workflow application in development mode cd stock-profit mvn quarkus:dev -Ddebug=false In a separate command terminal window, send a request to the workflow application: Example request curl -X 'POST' \\ 'http://localhost:8080/stockprofit' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"symbol\": \"KGTO\" }' Example response {\"id\":\"5ab5dcb8-5952-4730-b526-cace363774bb\",\"workflowdata\":{\"symbol\":\"KGTO\",\"currentPrice\":75,\"profit\":\"50%\"}} Note that, in the previous example fake-stock-service is used, therefore, the computed profit property is same no matter how many times you run the workflow. When you define quarkus.rest-client.stock_svc_yaml.url=http://localhost:8383/, the real-stock-service service is used in the normal or production mode and you get different results every time you run the workflow. Using this example, you can run the workflow application in normal or production mode. Prerequisites Services that the workflow application sends requests to are started. For more information, see Running the services. Procedure In a separate command terminal window, package the workflow application to be run as fat JAR: Package workflow application cd stock-profit mvn package In a separate command terminal window, run the workflow application in normal or production mode: Run workflow application in normal or production mode java -jar target/quarkus-app/quarkus-run.jar In a separate command terminal window, send a request to the workflow application: Example request curl -X 'POST' \\ 'http://localhost:8080/stockprofit' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"symbol\": \"KGTO\" }' Example response {\"id\":\"a80c95d6-51fd-4ca9-b689-f779929c9937\",\"workflowdata\":{\"symbol\":\"KGTO\",\"currentPrice\":59.36,\"profit\":\"19%\"}} Note that, in the previous example, the real-stock-service is used, therefore, the computed profit property is different every time you run the workflow. You can define the URLs of the services in different environments using profiles and environment variables. Prerequisites Services that the workflow application sends requests to are started. For more information, see Running the services. Procedure In a separate command terminal window, run the workflow application in development mode, overwriting the property defined in the application.properties file using an environment variable: Run the workflow application in development mode cd stock-profit export _DEV_QUARKUS_REST_CLIENT_STOCK_SVC_YAML_URL=http://localhost:8383/ (1) mvn quarkus:dev -Ddebug=false 1 Overwrite the %dev.quarkus.rest-client.stock_svc_yaml.url=http://localhost:8181/ defined in the application.properties file using an environment variable, which is pointing to real-stock-service. In a separate command terminal window, send a request to the workflow application: Example request curl -X 'POST' \\ 'http://localhost:8080/stockprofit' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{ \"symbol\": \"KGTO\" }' Example response {\"id\":\"5ab5dcb8-5952-4730-b526-cace363774bb\",\"workflowdata\":{\"symbol\":\"KGTO\",\"currentPrice\":56.35,\"profit\":\"13%\"}} Note that, in the previous example, you overwrote the property defined in the application.properties file to point to real-stock-service, therefore, the computed profit property is different every time you run the workflow. Orchestrating the OpenAPI services Quarkus configuration guide If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Configuring the OpenAPI services endpoints","component":"serverlessworkflow","version":"1.40.0.Final","name":"configuring-openapi-services-endpoints","url":"/serverlessworkflow/latest/service-orchestration/configuring-openapi-services-endpoints.html","titles":[{"text":"Overview","hash":"con-config-openapi-services-endpoints","id":1},{"text":"Using URI alias","hash":"_using_uri_alias","id":2},{"text":"Configuring the OpenAPI services endpoints in different environments","hash":"proc-configure-openapi-services-endpoints-different-environments","id":3},{"text":"Defining URLs of the services in different environments","hash":"proc-config-openapi-services-defining-urls","id":4},{"text":"Running the services","hash":"proc-config-openapi-services-running-the-services","id":5},{"text":"Running workflow application in development mode","hash":"proc-config-openapi-services-running-sw-application-in-development-mode","id":6},{"text":"Running workflow application in production mode","hash":"proc-config-openapi-services-running-sw-application-in-production-mode","id":7},{"text":"Defining URLs of services in different environments using environment variables","hash":"proc-define-urls-using-environment-variables","id":8},{"text":"Additional resources","hash":"_additional_resources","id":9},{"text":"Found an issue?","hash":"_found_an_issue","id":10}]},"33":{"id":33,"text":"This document describes how to trigger and publish events using an AsyncAPI specification file. Underneath, Kogito Serverless Workflow uses the AsyncAPI Quarkiverse extension. This extension automatically generates all the required Smallrye properties to make Kogito Serverless Workflow work with the servers declared in the AsyncAPI file. Therefore, you do not need to add any property specific to your event broker to make AsyncAPI work. This is a huge advantage over regular event states, where whether using Kafka or Knative, you have to provide additional configuration AsyncAPI Quarkiverse extension only supports kafka and http protocols at the moment. Let’s assume there is an AsyncAPI specification file called asyncAPI.yaml, located in the classpath of your project. This file contains a servers definition which protocol is Kafka: Example of an AsyncAPI kafka server definition servers: development: url: localhost:9092 description: Development server protocol: kafka protocolVersion: '1.0.0' and a subscription channel named wait: Example of an AsyncAPI subscribing channel definition channels: wait: description: A message channel subscribe: operationId: consumeWait summary: Get messages message: $ref: '#/components/messages/message' You can define a function in your workflow, of type asyncapi, that points to consumerWait operationId: Example of an AsyncAPI subscribing function definition { \"functions\": [ { \"name\": \"consumeEvent\", \"type\": \"asyncapi\", \"operation\": \"asyncAPI.yaml#consumeWait\" } ] } Remember that, as happens with REST and RPC types, the URI part of the operation property supports http, https, and file schemas. If no schema is present, it assumes the specification file is on the project classpath. Once the function is defined, you can invoke it within an operation state: Example of an AsyncAPI subscribing function invocation { \"name\": \"waitForEvent\", \"type\": \"operation\", \"actions\": [ { \"functionRef\": \"consumeEvent\" } ] } When your flow reach the waitForEvent state, it will stop until it receives a CloudEvent published over the Kafka topic wait. Let’s assume there is an AsyncAPI specification file called asyncAPI.yaml, located in the classpath of your project. This file contains a servers definition which protocol is HTTP: Example of an AsyncAPI http server definition servers: development: url: localhost:8080 description: Development server protocol: http protocolVersion: '1.0.0' and a publishing channel named resume: Example of an AsyncAPI publishing channel definition channels: resume: description: A message channel publish: operationId: sendResume summary: Get messages message: $ref: '#/components/messages/message' You can define a function in your workflow, of type asyncapi, that point to sendResume operationId: Example of an AsyncAPI publishing function definition { \"functions\": [ { \"name\": \"sendResume\", \"type\": \"asyncapi\", \"operation\": \"asyncAPI.yaml#sendResume\" } ] } Once the function is defined, you can invoke it within an operation state: Example of an AsyncAPI publishing function invocation { \"name\": \"sendEvent\", \"type\": \"operation\", \"actions\": [ { \"functionRef\": \"sendResume\", \"arguments\" : { \"name\" : \"Javierito\" } } ] } When your flow reach the sendEvent state, it will send an event to the endpoint http://localhost:8080/resume, with the payload {\"name\":\"Javierito\"} If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Orchestrating the AsyncAPI services","component":"serverlessworkflow","version":"1.40.0.Final","name":"orchestration-of-asyncapi-based-services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-asyncapi-based-services.html","titles":[{"text":"Consuming an event","hash":"_consuming_an_event","id":1},{"text":"Publishing an event","hash":"_publishing_an_event","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"34":{"id":34,"text":"As a developer, you can invoke a gRPC service using a workflow application that runs with Quarkus. This document describes how to create a workflow that invokes a running gRPC service and how to configure properties to locate that running gRPC service. For information about gRPC concepts, see gRPC. In order to illustrate how gRPC integration works, this Serverless Workflow application is used. This example greets a user in their preferred language by invoking a gRPC service. Relevant files of the workflow application include: gRPC proto file: This file defines a greeter service, which consists of sayHello methods, each covering a different gRPC scenario: The sayHello method accepts two parameters, including name of the user and an optional language to use in the greeting message (English by default). The sayHello method returns the greeting message in the appropriate language. The SayHelloAllLanguages accepts just the name parameter and streams greetings in all languages supported by the service. This represents the server-side streaming scenario. The SayHelloMultipleLanguagesAtOnce accepts a stream of name-language pairs as parameters and returns corresponding greetings as one block of text after the streaming is finished. This is the client-side streaming scenario. The SayHelloMultipleLanguages accepts a stream of name-language pairs and streams back greetings with a respective name and in a respective language. // The greeter service definition. service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {} rpc SayHelloAllLanguages (HelloRequest) returns (stream HelloReply) {} rpc SayHelloMultipleLanguagesAtOnce (stream HelloRequest) returns (HelloReply) {} rpc SayHelloMultipleLanguages (stream HelloRequest) returns (stream HelloReply) {} ... } // The request message containing the user's name. message HelloRequest { string name = 1; string language=2; } // The response message containing the greetings message HelloReply { string message = 1; } Workflow definition file: This file defines an RPC function. \"functions\": [ { \"name\": \"sayHello\", \"type\": \"rpc\", \"operation\": \"greeting.proto#Greeter#SayHello\" } ] In this rpc function, the operation property is composed of three tokens separated by #. The three tokens include: URI of the proto file (greeting.proto) Name of the service (Greeter) Name of the method (SayHello) Kogito Serverless Workflow supports three URI schemes, including http, file, and classpath (default). Therefore, in the previous example, the greeting.proto is expected to be found in the project classpath. The execution of the workflow consists of a single operation state, which is composed of one action. { \"name\": \"sayHello\", \"functionRef\" : { \"refName\": \"sayHello\", \"arguments\": { \"name\": \".name\", \"language\": \".language\" } } } In the previous example, the action invokes the sayHello RPC method using two model variables: name and language. These parameters are provided as part of the REST call that starts the workflow. The response of the method execution is mapped to a JSON object and merged with the workflow model. For the remaining scenarios, see the following workflow definition files: Server streaming Client streaming Bidirectional streaming The only difference to the basic scenario is that workflows with client streaming expect an array of requests as arguments of the gRPC function: { \"name\": \"SayHelloMultipleLanguagesAtOnce\", \"functionRef\" : { \"refName\": \"SayHelloMultipleLanguagesAtOnce\", \"arguments\": \".helloRequests\" } } The function expects an array of requests which is mapped under the helloRequests key in the workflow model. In case of server streaming, the response is returned as an array as well and merged with the workflow model. In these examples, because no stateDataFilter is defined, the response is merged under the default response key in the workflow model. Maven POM: The gRPC functionality is included within workflow dependencies, which means you do not need to add specific dependencies for gRPC to work with Kogito Serverless Workflow. This pom.xml file contains the following resource node: ${project.basedir}/../serverless-workflow-greeting-server-rpc-quarkus/src/main/proto greeting.proto The reason for this snippet to exist is to guarantee that the proto file is included in the classpath. Remember that in the workflow file, the URI for the proto file does not contain any scheme, therefore the proto file is expected to be accessible in the classpath. The previous, Maven based, approach can be used when the source code of the workflow and the gRPC server are stored in the same repository, but normally this will not be the case. If the proto file can be downloaded from a remote server, you might use the http scheme. If the proto file is not remotely accessible, you will need to manually obtain a copy of it and store in a directory that is included in the classpath (for example src/main/resources). Another possibility is to copy the proto file in a well known absolute path (that might be a shared network file system) and use the file scheme. Application properties: In the application.properties file, you can add the information for the workflow application to locate the gRPC server. Internally, the workflow implementation uses the same set of properties as Quarkus gRPC client. The client-name used by Kogito Serverless Workflow is the service name declared in the proto file. Therefore, since in this example a service called Greeter is invoked, the following code is added to the properties. quarkus.grpc.clients.Greeter.host=localhost quarkus.grpc.clients.Greeter.port=50051 In the same GitHub repository as the example application, there is a Maven project which provides a simple implementation of the Greeter service. By default, this gRPC server runs on port 50051. Therefore, the same port is used in the application.properties file. gRPC specification requires enumeration types to have a default value. The default value is not included in the server response payload. Therefore, use an empty value such as UNKNOWN as default. If, for any reason, your default value is semantically valid and you want the value to be included in the workflow model, you must set kogito.grpc.enum.includeDefault property to true. This way enumeration fields are always filled by the workflow if the server response does not include them. Before running the workflow application, you need to start the gRPC server the workflow invokes. To run the gRPC server, navigate to the serverless-workflow-greeting-server-rpc-quarkus directory in a command terminal and enter the command: mvn compile exec:java -Dexec.mainClass=\"org.kie.kogito.examples.sw.greeting.GreeterService\" Once the server is running, you must navigate to the serverless-workflow-greeting-client-rpc-quarkus directory in a separate command terminal and run the workflow application by entering the following command: mvn clean quarkus:dev Once the workflow application is started, you can invoke the workflow instance using any HTTP client, such as curl, from a separate command terminal. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://localhost:8080/jsongreet Example response {\"id\":\"4376cc50-42d4-45ef-8a5e-6e403a654a30\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"message\":\"Hello from gRPC service John\"}} You can also try greeting in a different language. curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"Javi\", \"language\": \"Spanish\"}' http://localhost:8080/jsongreet In response, you will see the greeting in Spanish language. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\"}' http://localhost:8080/jsongreetserverstream Example response {\"id\":\"665911c5-36ee-40b7-93dd-a2328f969c73\",\"workflowdata\":{\"name\":\"John\",\"response\":[{\"message\":\"Hello from gRPC service John\"},{\"message\":\"Saludos desde gRPC service John\"}]}} Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"helloRequests\" : [{\"name\" : \"Javierito\", \"language\":\"Spanish\"}, {\"name\" : \"John\", \"language\":\"English\"}, {\"name\" : \"Jan\", \"language\":\"Czech\"}]}' http://localhost:8080/jsongreetclientstream Example response {\"workflowdata\" : { \"helloRequests\" : [ {\"name\" : \"Javierito\", \"language\":\"Spanish\"}, {\"name\" : \"John\", \"language\":\"English\"}, {\"name\" : \"Jan\", \"language\":\"Czech\"}], \"message\":\"Saludos desde gRPC service Javierito\\nHello from gRPC service John\\nHello from gRPC service Jan\" } } Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"helloRequests\" : [{\"name\" : \"Javierito\", \"language\":\"Spanish\"},{\"name\" : \"John\", \"language\":\"English\"},{\"name\" : \"Jan\", \"language\":\"Czech\"}]}' http://localhost:8080/jsongreetbidistream Example response {\"workflowdata\" : { \"helloRequests\" : [ {\"name\" : \"Javierito\", \"language\":\"Spanish\"}, {\"name\" : \"John\", \"language\":\"English\"}, {\"name\" : \"Jan\", \"language\":\"Czech\"}], \"response\":[ {\"message\":\"Saludos desde gRPC service Javierito\"}, {\"message\":\"Hello from gRPC service John\"}, {\"message\":\"Hello from gRPC service Jan\"} ] } } If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Orchestrating the gRPC based services","component":"serverlessworkflow","version":"1.40.0.Final","name":"orchestration-of-grpc-services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-grpc-services.html","titles":[{"text":"Default enum values","hash":"_default_enum_values","id":1},{"text":"Running the workflow application","hash":"running-serverless-workflow-application","id":2},{"text":"Simple gRPC","hash":"_simple_grpc","id":3},{"text":"Server-side streaming gRPC","hash":"_server_side_streaming_grpc","id":4},{"text":"Client-side streaming gRPC","hash":"_client_side_streaming_grpc","id":5},{"text":"Bidirectional streaming gRPC","hash":"_bidirectional_streaming_grpc","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"35":{"id":35,"text":"This document describes how to call REST services using an OpenAPI specification file. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. You have installed the tooling. For more information about the tooling, see Getting familiar with Kogito Serverless Workflow tooling. Kogito Serverless Workflow follows the CNCF Serverless Workflow specification function definition to send requests to remote REST services using an OpenAPI specification reference as shown in the following example: Example of an OpenAPI function definition { \"functions\":[ { \"name\":\"myFunction1\", \"operation\":\"classpath:/myopenapi-file.yaml#myFunction1\" } ] } In the previous example function definition, the type attribute can be omitted as the default value is rest. In the previous example, the operation attribute is a string, which is composed using the following parameters: URI that the engine uses to locate the specification file, such as classpath. Operation identifier. You can find the operation identifier in the OpenAPI specification file. Kogito Serverless Workflow supports the following URI schemes: classpath: This URI scheme is supported for the files that are located in the src/main/resources folder of the application project. The classpath is the default URI scheme. If you do not define a URI scheme as shown in the following examples, the file location is defined as src/main/resources/myopenapifile.yaml: /myopenapifile.yaml file: This URI scheme is supported for the files that are located in the file system. http or https: This URI scheme is supported for remotely located files. The OpenAPI specification files must be available during the build time, because Kogito Serverless Workflow leverages the internal code generation feature to send requests on runtime. Therefore, once you have built the application image, Kogito Serverless Workflow will not have access to the files. For more information about building workflow images, see Building workflow images using Quarkus CLI. To get started with orchestrating the OpenAPI based services, you must locate the REST services OpenAPI specification files. Usually, REST services expose their interface using the OpenAPI specification. For example, see the Petstore API. In case, the OpenAPI service that you want to add to the workflow does not contain a specification file, you can either create a specification file or update the OpenAPI service to generate and expose the file. There are various REST frameworks that support the OpenAPI specification generation, including: Java Quarkus - Using OpenAPI and Swagger UI Spring Boot Documentation Go Go Swagger Documentation Python Flasgger .NET ASP.NET Core web API documentation with Swagger/OpenAPI TypeScript Swagger UI Express PHP swagger-php If you do not have access to the REST service, which is used to add the OpenAPI specification generator, you can use Swagger Inspector. The Swagger Inspector generates the specification file based on HTTP traffic. To send REST requests that are based on the OpenAPI specification files, you need to perform the following procedures: Define the function references Access the defined functions in the workflow states To send requests with the REST calls, first you need to define the OpenAPI functions. Prerequisites You have access to the OpenAPI specification files. Once you have access to the OpenAPI specification files, you can define the functions in the workflow. You can also use the serverless-workflow-temperature-conversion example application as a reference. Procedure Copy the OpenAPI specification files of the service(s) you want to invoke into your workflow service directory, which can be src/main/resources/specs. In the serverless-workflow-temperature-conversion example application, the services that are invoked include multiplication and subtraction services. The OpenAPI specification files in serverless-workflow-temperature-conversion example application are extracted from the running multiplication and subtraction services. The REST Quarkus applications expose the related OpenAPI specification files using the Quarkus Swagger extension. Following is an example OpenAPI specification of the multiplication REST service: Example multiplication REST service OpenAPI specification openapi: 3.0.3 info: title: Generated API version: \"1.0\" paths: /: post: operationId: doOperation (1) parameters: - in: header name: notUsed schema: type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/MultiplicationOperation' responses: \"200\": description: OK content: application/json: schema: type: object properties: product: format: float type: number components: schemas: MultiplicationOperation: (2) type: object properties: leftElement: format: float type: number rightElement: format: float type: number 1 operationId of the REST operation. The operationId in an OpenAPI specification is necessary to add a reference to the operation that you want to use in REST invocation. 2 Data structure of the REST operation. Use the same operationId to compose the final URI in the function definition as shown in the following example: OpenAPI functions definition in the Temperature Conversion example { \"functions\": [ { \"name\": \"multiplication\", \"operation\": \"specs/multiplication.yaml#doOperation\" (1) }, { \"name\": \"subtraction\", \"operation\": \"specs/subtraction.yaml#doOperation\" (2) } ] } 1 Function definition for OpenAPI multiplication function 2 Function definition for OpenAPI subtraction function Note that in the previous example, the multiplication and subtraction OpenAPI files are stored in the src/main/resources/specs folder of the application. After defining the function definitions, you can access the defined functions in the workflow states. Prerequisites You have defined the OpenAPI functions in a workflow. For more information, see Defining OpenAPI functions in a workflow. Procedure Use a workflow action to call a function definition that you added. Any workflow action that consists of a similar approach of referencing the functions that you used in the function definition can call a defined function. To map the arguments of a function, you can refer to the parameters described in the Operation Object section of OpenAPI specification. Also, the engine maps the parameter naming according to the OpenAPI specification. After that, you can use jq expressions to extract the payload data and map the data to the required parameters. In the following example, the parameters are part of the request body: Example of mapping a function arguments { \"states\": [ { \"name\": \"SetConstants\", \"type\": \"inject\", \"data\": { \"subtractValue\": 32.0, \"multiplyValue\": 0.5556 }, \"transition\": \"Computation\" }, { \"name\": \"Computation\", \"actionMode\": \"sequential\", \"type\": \"operation\", (1) \"actions\": [ { \"name\": \"subtract\", \"functionRef\": { \"refName\": \"subtraction\", (2) \"arguments\": { (3) \"leftElement\": \".fahrenheit\", \"rightElement\": \".subtractValue\" } } }, { \"name\": \"multiply\", \"functionRef\": { \"refName\": \"multiplication\", (4) \"arguments\": { (5) \"leftElement\": \".difference\", \"rightElement\": \".multiplyValue\" } } } ], \"end\": { \"terminate\": \"true\" } } ] } 1 Operation State definition 2 Reference to the subtraction function 3 Definition of the subtraction function arguments 4 Reference to the multiplication function 5 Definition of the multiplication function arguments In the serverless-workflow-temperature-conversion example application, the functions are called sequentially in an Operation State as shown in the previous example. For more information about mapping parameters in the request path instead of request body, you can refer to the following PetStore API example: Example Petstore OpenAPI specification excerpt { \"/pet/{petId}\": { \"get\": { \"tags\": [ \"pet\" ], \"summary\": \"Find pet by ID\", \"description\": \"Returns a single pet\", \"operationId\": \"getPetById\", \"parameters\": [ { \"name\": \"petId\", \"in\": \"path\", \"description\": \"ID of pet to return\", \"required\": true, \"schema\": { \"type\": \"integer\", \"format\": \"int64\" } } ] } } } Following is an example invocation of a function, in which only one parameter named petId is added in the request path: Example of calling the PetStore function { \"name\": \"CallPetStore\", (1) \"actionMode\": \"sequential\", \"type\": \"operation\", \"actions\": [ { \"name\": \"getPet\", \"functionRef\": { \"refName\": \"getPetById\", (2) \"arguments\": { (3) \"petId\": \".petId\" } } } ] } 1 State definition, such as CallPetStore. 2 Function definition reference. In the previous example, the function definition getPetById is for PetStore OpenAPI specification. 3 Arguments definition. In the previous example, Kogito Serverless Workflow adds the argument petId to the request path before sending a request. After accessing the function definitions in workflow states, you can configure the endpoint URL of OpenAPI services. Kogito Serverless Workflow uses the Quarkus OpenAPI Generator extension and the Quarkus REST Client, and all the configurations are based on these components, which are backed using Quarkus Configuration. Prerequisites You have defined the function definitions in the workflow. For more information, see Defining OpenAPI functions in a workflow. You have the access to the defined functions in the workflow states. For more information, see Accessing functions in the workflow states. Procedure To configure the endpoints, you must use the sanitized OpenAPI specification file name as the REST client configuration key. The configuration key must be set as a valid environment variable. For example, a file named as subtraction.yaml contains the configuration key as subtraction_yaml. For more information about how to sanitize file names, see Environment Variables Mapping Rules. You can use the same configuration key on each property that is related to the Quarkus REST client as shown in the following URL configuration example: Example of URL configuration quarkus.rest-client.subtraction_yaml.url=http://myserver.com To avoid hardcoding the URL in the application.properties file, you can use environment variables substitution, as shown in the following example: Example of URL configuration with environment variables quarkus.rest-client.subtraction_yaml.url=${SUBTRACTION_URL:http://myserver.com} In case the environment variable SUBTRACTION_URL is not found in the previous example, the URL redirects to http://myserver.com. You can also use environment variables to configure the application in Kubernetes environments, in which variables can be injected into the pod of the application. For more information about endpoints and general configuration, see Configuring the OpenAPI services endpoints. In a future release, Kogito Serverless Workflow will provide support for Kubernetes Service Discovery feature. Using the Kubernetes Service Discovery feature, you can point to a Kubernetes or Knative object that you want to call. After that, the engine will automatically configure the endpoints once you deploy the endpoints in the cluster. Configuring OpenAPI services endpoints Authentication for OpenAPI services in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Orchestrating the OpenAPI services","component":"serverlessworkflow","version":"1.40.0.Final","name":"orchestration-of-openapi-based-services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-openapi-based-services.html","titles":[{"text":"OpenAPI function definition","hash":"con-openapi-function-definition","id":1},{"text":"Sending REST requests based on the OpenAPI specification","hash":"proc-send-request-rest-call-openapi-spec","id":2},{"text":"Defining OpenAPI functions in a workflow","hash":"proc-define-openapi-functions","id":3},{"text":"Accessing functions in the workflow states","hash":"proc-access-function-sw-states","id":4},{"text":"Configuring the endpoint URL of OpenAPI services","hash":"proc-configuring-openapi-service-endpoint-url","id":5},{"text":"Additional resources","hash":"_additional_resources","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"36":{"id":36,"text":"In Kogito Serverless Workflow architecture there is a dedicated supporting service that is responsible for controlling the execution of time-triggered actions, also known as jobs. The job execution is a callback to the Kogito Serverless Workflow runtime application. This callback can be configured in different ways as described in the communication section. All timer nodes that might be declared in a workflow, are handled by the job service, which is responsible for managing, scheduling, and firing all actions (jobs) to be executed in the workflows. Suppose the workflow service is not configured to use the Job Service or there is no such service running. In that case, all timer-related actions use an embedded in-memory implementation of the Job Service, which should not be used in production, since when the application shutdown, all timers are lost, which in a serverless architecture is a very common behavior with the scale to zero approach. That said, the usage of in-memory Job Service can only be done for testing or development, but not for production. The main goal of the Job Service is to work with only active jobs. The Job Service tracks only the jobs that are scheduled and that need to be executed. When a job reaches a final state, the job is removed from the Job Service. When configured in your environment, all the jobs information and status changes are sent to the Kogito Serverless Workflow Data Index Service, where they can be indexed and made available by GraphQL queries. Data index service and the support for jobs information will be available in future releases. An important configuration aspect of the Job Service is the persistence mechanism, where all job information is stored in a database that makes this information durable upon service restarts and guarantees no information is lost. PostgreSQL is the recommended database to use with the Job Service. Additionally, it provides an initialization procedure that integrates Flyway for the database initialization. It automatically controls the database schema, in this way all tables are created by the service. In case you need to externally control the database schema, you can check and apply the DDL scripts for the Job Service in the same way as described in Manually executing scripts guide. You need to set the proper configuration parameters when starting the Job Service. The timeout showcase example shows how to run PostgreSQL as a Kubernetes deployment, but you can run it the way it fits in your environment, the important part is to set all the configuration parameters points to your running instance of PostgreSQL. Alternatively, there is an in-memory database support that does not require any external database configuration. It can be used for testing and development purposes, but it is not recommended for production, since all jobs are lost upon a service restart or failure. The Job Service image is equipped with the PostgreSQL and Ephemeral (InMemory) options that can be switched using the JOBS_SERVICE_PERSISTENCE. If not set, it defaults to the ephemeral option. For more information about the Job Service, the container image can be found here. Currently, the Job Service works in a single instance manner where there should be just one active instance of the service. To avoid issues when deploying the service in the cloud, where it is common to eventually have more than one instance deployed, the Job Service supports a leader instance election process. Only the instance that becomes the leader activates the external communication to receive and schedule jobs. In all instances who are not leaders, stay inactive in a kind of wait state and try to become the leader continuously. When a new instance of the service is started, it is not set as a leader at startup time but instead, it starts the process to become one. When an instance that is the leader for any issue stays unresponsive or is shut down, one of the other running instances becomes the leader. Figure 1. Job Service leader election This leader election mechanism uses the underlying persistence backend, which currently is only supported in the PostgreSQL implementation. There is no need for any configuration to support this feature, the only requirement is to have the supported database with the data schema up-to-date as described in the PostgreSQL section. In case the underlying persistence does not support this feature, you must guarantee that just one single instance of the Job Service is running at the same time. that just one single instance of the Job Service is running at the same time. The Job Service does not execute a job but triggers a callback that might be an HTTP request or a Cloud Event that is managed by the configured jobs addon in the workflow application. To configure the communication between the Job Service and the workflow runtime through the Knative eventing system, you must provide a set of configurations. The Job Service configuration is accomplished through the deployment descriptor shown in the example. Timeouts in Kogito Serverless Workflow Timeout example in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Job Service","component":"serverlessworkflow","version":"1.40.0.Final","name":"jobs-service","url":"/serverlessworkflow/latest/supporting-services/jobs-service.html","titles":[{"text":"Job Service configuration","hash":"job-service","id":1},{"text":"Job Service persistence","hash":"_job_service_persistence","id":2},{"text":"PostgreSQL","hash":"job-service-postgresql","id":3},{"text":"Ephemeral","hash":"_ephemeral","id":4},{"text":"Job service leader election","hash":"_job_service_leader_election","id":5},{"text":"Job Service communication","hash":"job-service-communication","id":6},{"text":"Knative Eventing","hash":"_knative_eventing","id":7},{"text":"Additional resources","hash":"_additional_resources","id":8},{"text":"Found an issue?","hash":"_found_an_issue","id":9}]},"37":{"id":37,"text":"This document describes how to test your workflow application using REST Assured. REST Assured enables you to test REST APIs using Java libraries and integrates with Apache Maven. For more information about REST Assured, see REST Assured page. The testing procedure in this document is based on the serverless-workflow-examples/serverless-workflow-testing-with-rest-assured example application. You can access this example application in Kogito Examples GitHub repository. The following procedure describes how to test a workflow application that exposes the hello endpoint, which expects a name as a request parameter and returns greeting value: Example request body { \"name\": \"John Doe\" } Example response { \"id\": \"00ce5c1d-4936-4e18-998c-f5c5d5d784ad\", \"workflowdata\": { \"greeting\": \"Hello, John Doe\" } } Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. This document is based on the serverless-workflow-testing-with-rest-assured example application from the GitHub repository. Procedure Check if your project has the REST Assured dependency in your pom.xml file. If it doesn’t, add it like the following: io.rest-assured rest-assured test Create a test class named HelloTest in the src/test/java/org/kie/kogito/examples/ directory, containing the following content: Example HelloTest.java file package org.kie.kogito.examples; import io.quarkus.test.junit.QuarkusTest; import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; import static org.hamcrest.Matchers.equalTo; @QuarkusTest class HelloTest { @BeforeAll static void init() { RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); (1) } @Test void testHello() { given() .contentType(ContentType.JSON) (2) .accept(ContentType.JSON) (3) .body(\"{\\\"name\\\": \\\"John Doe\\\"}\") (4) .when() .post(\"/hello\") (5) .then() .statusCode(201) (6) .body(\"workflowdata.greeting\", equalTo(\"Hello, John Doe\")); (7) } } 1 Enables logging of the request and response when the test fails. 2 Defines JSON as the content type of the request. 3 Specifies the accept header of the request. This is an alternative for header(\"Accept\", \"application/json\"). 4 Defines the request body as {\"name\": \"John Doe\"}. 5 Specifies the request as a POST method to the /hello URL. 6 Defines 201 as the expected response status code. 7 Defines that Hello, John Doe is expected in the workflowdata.greeting JSON path. To run your test, execute the following command: Command to run a test mvn clean verify Example output [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running org.kie.kogito.examples.HelloTest 2022-06-03 16:36:11,461 INFO [org.jbo.threads] (main) JBoss Threads version 3.4.2.Final 2022-06-03 16:36:11,708 INFO [org.kie.kog.cod.api.uti.AddonsConfigDiscovery] (build-1) Performed addonsConfig discovery, found: AddonsConfig{usePersistence=false, useTracing=false, useMonitoring=false, usePrometheusMonitoring=false, useCloudEvents=true, useExplainability=false, useProcessSVG=false, useEventDrivenDecisions=false, useEventDrivenRules=false} 2022-06-03 16:36:12,004 INFO [org.kie.kog.cod.cor.uti.ApplicationGeneratorDiscovery] (build-9) Generator discovery performed, found [processes] 2022-06-03 16:36:14,486 INFO [org.kie.kog.add.qua.mes.com.QuarkusKogitoExtensionInitializer] (main) Registered Kogito CloudEvent extension 2022-06-03 16:36:14,612 INFO [io.quarkus] (main) serverless-workflow-testing-with-rest-assured 1.0 on JVM (powered by Quarkus 2.9.2.Final) started in 3.635s. Listening on: http://localhost:8081 2022-06-03 16:36:14,613 INFO [io.quarkus] (main) Profile test activated. 2022-06-03 16:36:14,613 INFO [io.quarkus] (main) Installed features: [cache, cdi, jackson-jq, kogito-addon-messaging-extension, kogito-processes, kogito-serverless-workflow, reactive-routes, rest-client, rest-client-jackson, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-reactive-messaging, smallrye-reactive-messaging-http, vertx] [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.819 s - in org.kie.kogito.examples.HelloTest 2022-06-03 16:36:16,559 INFO [io.quarkus] (main) serverless-workflow-testing-with-rest-assured stopped in 0.028s [INFO] [INFO] Results: [INFO] [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ serverless-workflow-testing-with-rest-assured --- [INFO] Building jar: /home/user/dev/kiegroup/kogito-examples/serverless-workflow-examples/serverless-workflow-testing-with-rest-assured/target/serverless-workflow-testing-with-rest-assured-1.0.jar [INFO] [INFO] --- quarkus-maven-plugin:2.9.2.Final:build (default) @ serverless-workflow-testing-with-rest-assured --- [INFO] Performed addonsConfig discovery, found: AddonsConfig{usePersistence=false, useTracing=false, useMonitoring=false, usePrometheusMonitoring=false, useCloudEvents=true, useExplainability=false, useProcessSVG=false, useEventDrivenDecisions=false, useEventDrivenRules=false} [INFO] Generator discovery performed, found [processes] [INFO] [io.quarkus.deployment.QuarkusAugmentor] Quarkus augmentation completed in 2669ms [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 15.558 s [INFO] Finished at: 2022-06-03T16:36:19-03:00 [INFO] ------------------------------------------------------------------------ If you see a similar output, this means your test is executed successfully. Mocking OpenAPI services using WireMock Mocking HTTP CloudEvents sink using WireMock Kogito Serverless Workflow integration test using PostgreSQL Testing a Quarkus application REST Assured Documentation If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Testing your workflow application using REST Assured","component":"serverlessworkflow","version":"1.40.0.Final","name":"basic-integration-tests-with-restassured","url":"/serverlessworkflow/latest/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","titles":[{"text":"Additional resources","hash":"_additional_resources","id":1},{"text":"Found an issue?","hash":"_found_an_issue","id":2}]},"38":{"id":38,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"debugging-workflow-execution-runtime","url":"/serverlessworkflow/latest/testing-and-troubleshooting/debugging-workflow-execution-runtime.html","titles":[]},"39":{"id":39,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"development-tools-for-troubleshooting","url":"/serverlessworkflow/latest/testing-and-troubleshooting/development-tools-for-troubleshooting.html","titles":[]},"40":{"id":40,"text":"This document describes how you can test your integrated workflow application using PostgreSQL persistence. The example described in this document is based on the serverless-workflow-callback-quarkus example application. This document describes the process of launching and testing the artifact that is produced by the Quarkus builds, and verifying the interaction of the artifact with a PostgreSQL database instance. To perform this scenario and verify the service behavior, the following Quarkus annotations and tools are used: @QuarkusIntegrationTest: This annotation is used to launch and test the artifact produced by the Serverless Workflow Quarkus build. For more information, see Testing Quarkus application - Using @QuarkusIntegrationTest in Quarkus documentation. Quarkus Dev Services: This facilitates writing integration tests that need launching services to support the workflow application. For more information, see Testing Quarkus application - launching containers in Quarkus documentation. @QuarkusIntegrationTest works immediately with the additional containers that are launched using Quarkus Dev Services. You can test your workflow application using PostgreSQL persistence. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. Workflow application persistence is enabled using PostgreSQL. For more information, see Running workflow service using PostgreSQL. Docker is installed. Procedure Add the required test dependencies to the pom.xml file of your workflow application: Dependencies required for HTTP-based testing in JVM mode io.quarkus quarkus-junit5 test io.rest-assured rest-assured test Add awaitility dependency in pom.xml org.awaitility awaitility test The awaitility dependency allows the test to express the time expectations of an asynchronous system. For more information, see Awaitility website. Check the dependencies of PostgreSQL resources. The Quarkus Dev Services for Databases is enabled when a reactive or JDBC data source extension is present in the workflow application. Ensure that the pom.xml file of your workflow application contains the required dependency for PostgreSQL resources. JDBC persistence add-on dependency org.kie.kogito kogito-addons-quarkus-persistence-jdbc Quarkus JDBC PostgreSQL dependency io.quarkus quarkus-jdbc-postgresql Quarkus Agroal data source dependency io.quarkus quarkus-agroal To run the integration tests, add Apache Maven Failsafe plug-in in the pom.xml file of your workflow application. maven-failsafe-plugin in pom.xml plug-in section maven-failsafe-plugin ${version.failsafe.plugin} org.jboss.logmanager.LogManager ${maven.home} integration-test verify For more information about maven-failsafe-plugin, see Maven Failsafe Plugin documentation. Enable Quarkus Database Dev Services. The additional containers contain a full set of default configurations, including PostgreSQL Docker image name, default user, and default password. The required configuration to link the workflow application with the Quarkus Dev PostgreSQL container is automatically added to the integration test. Quarkus provides the properties such as quarkus.datasource.reactive.url, quarkus.datasource.jdbc.url, quarkus.datasource.username, or quarkus.datasource.password, when you start the container. For more information, see Quarkus Dev Services for Databases in Quarkus documentation. Create a test class and add the test annotations in the test class as shown in the following example: Example integration test annotations in a test class @QuarkusIntegrationTest (1) class CallbackRestIT { (2) static { RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();(3) } @Test void testCallbackRest() { String id = given() (3) .contentType(ContentType.JSON) .accept(ContentType.JSON) .post(\"/callback\") .then() .statusCode(201) .extract() .path(\"id\"); await() (4) .atLeast(1, SECONDS) .atMost(30, SECONDS) .with().pollInterval(1, SECONDS) .untilAsserted(() -> given() .contentType(ContentType.JSON) .accept(ContentType.JSON) .get(\"/callback/{id}\", id) .then() .statusCode(404)); } } 1 Allows launching and testing the artifact that is produced by the Quarkus build. Also, supports testing of a JAR file, a native image, or a container image. 2 Test name ends with 'IT' to identify which test needs to be executed as an integration test. 3 Testing application interactions using REST Assured. 4 await() allows the test to retry the validations until the verifications are declared or until the specified time expectation is expired. Once you specify the required resources and annotations, you can start testing the different interactions with the workflow application as described in Testing your workflow application using REST Assured document. To run the tests, execute the following command: Run the tests mvn clean verify Creating your first workflow service Running a workflow service using PostgreSQL Testing your workflow application using REST Assured Testing a Quarkus application If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Kogito Serverless Workflow integration test using PostgreSQL","component":"serverlessworkflow","version":"1.40.0.Final","name":"integration-tests-with-postgresql","url":"/serverlessworkflow/latest/testing-and-troubleshooting/integration-tests-with-postgresql.html","titles":[{"text":"Overview","hash":"con-integration-test-overview","id":1},{"text":"Testing a workflow application using PostgreSQL persistence","hash":"proc-test-sw-application-postgresql","id":2},{"text":"Additional resources","hash":"_additional_resources","id":3},{"text":"Found an issue?","hash":"_found_an_issue","id":4}]},"41":{"id":41,"text":"This document describes how you can test your workflow application that uses HTTP CloudEvents and Knative SinkBinding. The example described in this document is based on the serverless-workflow-order-processing example application. The workflow application that you want to test must be configured to use Knative Eventing. You must configure Knative Eventing using standard HTTP POST requests to send and receive events between event producers and sinks. The events between the event producers and sinks follow the CloudEvents specification, which enables creating, parsing, sending, and receiving events in any programming language. When you create an event source, you can specify a sink where events are sent to, from the source. A sink is a transferable or a callable resource that can receive incoming events from other resources. The examples of sink include Kubernetes deployments, Knative services, channels, and brokers. This document describes the testing of Knative service that is configured as a sink, and the same Knative service is mocked to verify if the CloudEvents are received correctly by the sink. In this process, the WireMock framework adds the mocked server, verifying the CloudEvents received by the sink during the workflow service execution. You can test a workflow application using SinkBinding. Prerequisites Your workflow application is working. For more information about creating a workflow application, see Creating your first workflow service. Your workflow application is configured to use HTTP CloudEvents using SinkBinding. For more information about enabling event-driven architecture in your workflow application using Knative Eventing, see Consuming and producing events on Knative Eventing. Procedure Add the required test dependencies to the pom.xml file of your workflow application: Add test dependencies to pom.xml file io.quarkus quarkus-junit5 (1) test io.rest-assured rest-assured (1) test com.github.tomakehurst wiremock-jre8 (2) test org.awaitility awaitility (3) test 1 quarkus-junit5 and rest-assured dependencies are required for HTTP-based testing in JVM mode. 2 wiremock-jre8 dependency allows you to mock the server that acts as a sink. 3 awaitility dependency is used to express the expectations of an asynchronous system. For more information, see Awaitility website. You can also see the dependencies added in pom.xml file of serverless-workflow-order-processing example application. Add failsafe maven plug-in to run integration tests: maven-failsafe-plugin in the pom.xml plug-in section maven-failsafe-plugin ${version.failsafe.plugin} org.jboss.logmanager.LogManager ${maven.home} integration-test verify More information in maven-failsafe-plugin documentation. Create a test class that mocks the sink using WireMock as shown in the following example: Example of a test class @QuarkusTest(1) public class VerifyWorkflowExecutionIT { (2) private static WireMockServer sink; (3) static { (4) RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); } /** * Starts the \"sink\" server, which is the endpoint that will receive our produced events */ @BeforeAll (5) public static void startSink() { sink = new WireMockServer(options().port(8181)); (6) sink.start(); (7) sink.stubFor(post(\"/\").willReturn(aResponse().withBody(\"ok\").withStatus(200))); (8) } @AfterAll (9) public static void stopSink() { if (sink != null) { sink.stop(); (10) } } @Test void processDomesticOrderUnderFraudEval() throws JsonProcessingException, InterruptedException { final ObjectMapper objectMapper = new ObjectMapper(); final Order order = new Order(); order.setId(UUID.randomUUID().toString()); order.setDescription(\"iPhone 12\"); order.setTotal(1001); order.setCountry(\"US\"); given() (4) .header(\"ce-specversion\", \"1.0\") .header(\"ce-id\", order.getId()) .header(\"ce-source\", \"/from/test\") .header(\"ce-type\", \"orderEvent\") .contentType(MediaType.APPLICATION_JSON) .body(objectMapper.writeValueAsString(order)) .post(\"/\") .then() .statusCode(200); await() (11) .atMost(60, SECONDS) .with().pollInterval(1, SECONDS) .untilAsserted(() -> { sink.verify(2, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(order.getId()))); sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"fraudEvaluation\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"domesticShipping\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); }); (12) } } 1 @QuarkusTest starts the Quarkus server for the lifetime of the test execution run. For more information, see Quarkus - Testing your application. 2 The test name ends with IT to identify which test needs to be executed as an integration test. More details in maven-failsafe-plugin documentation. 3 WireMockServer is a mocked server instance that is used for SinkBinding for testing. 4 given() is used to test interactions with the application. For more information about testing interactions, see Testing your workflow application using REST Assured. 5 @BeforeAll annotation is used to signal that the annotated method must be executed before running all the tests. 6 Creates a WireMockServer instance, listening at the port that is passed as a parameter and must match with the sink configuration. 7 Starts the server before the tests are executed. 8 Stubs the mocked API response. It accepts a MappingBuilder instance that is used to build API mapping information, such as URL, request parameters, body, headers, and authorization. 9 @AfterAll annotation is used to signal that the annotated method must be executed after executing all the tests. 10 Stops the server after executing all the tests. 11 await() is added to wait for asynchronous operations. 12 verify verifies if the request hits the mock API using the expected event content. You can check the VerifyWorkflowExecutionIT class of serverless-workflow-order-processing example application. Start the server before executing the tests, and stop the server once the tests are completed. You can also reset the mock stubs between the tests. Configure your test application to use the WireMockServer as a sink. Also, add the reference of WireMockServer in the application.properties file as shown in the following example: Example adding sink connection property in application.properties file mp.messaging.outgoing.kogito_outgoing_stream.url=http://0.0.0.0:8181 (1) 1 The port that needs to match with the passed parameter. The parameter is passed when the WireMockServer is created in the test class. For more information, see application.properties file of serverless-workflow-order-processing example application. To run the tests, execute the following command: Run the tests mvn clean verify The testing example in this document is based on the serverless-workflow-order-processing example application. The serverless-workflow-order-processing example application contains three workflows as shown in the following figure: Figure 1. Workflows in serverless-workflow-order-processing example The Order Workflow in the serverless-workflow-order-processing example application processes the incoming order event and starts a parallel state, which sends requests to two workflows including Fraud Handling and Shipping Handling. The Order Workflow ends when both Fraud Handling and Shipping Handling workflows are completed. The Fraud Handling workflow produces a FraudEvaluation event if the received order is more than 1000 USD. In the workflow architecture, any other system or service can read the FraudEvaluation event and react upon it, such as canceling the order. Simultaneously, regardless of evaluating the fraud, the Shipping Handling workflow produces events that classify the required shipping service, such as international or domestic. In this example, domestic shipping is classified for any order, containing the address within the United States. The following figure shows the event flow among the components in the serverless-workflow-order-processing example application: Figure 2. Example of event flow among components Also, the testing components replicate the interactions to verify the events that are received by the sink as shown in the following figure: Figure 3. Example of testing events flow Before executing a test, the WireMockServer starts listening to the configured port as the sink. The sink listens to the events that are produced by the workflows. When a workflow produces an event to the sink, the produced event is received by the WireMockServer, and then the test verifies the event content. The processDomesticOrderUnderFraudEval in the VerifyWorkflowExecutionIT class, produces events, such as fraudEvaluation (Total > 1000) and domesticShipping (country = \"US\"). Also, the order event consumed by the Order Workflow needs to match the requirements as shown in the following example: Example requirements for Order Workflow final ObjectMapper objectMapper = new ObjectMapper(); final Order order = new Order(); order.setId(UUID.randomUUID().toString()); order.setDescription(\"iPhone 12\"); order.setTotal(1001); order.setCountry(\"US\"); given() .header(\"ce-specversion\", \"1.0\") .header(\"ce-id\", order.getId()) .header(\"ce-source\", \"/from/test\") .header(\"ce-type\", \"orderEvent\") .contentType(MediaType.APPLICATION_JSON) .body(objectMapper.writeValueAsString(order)) .post(\"/\") .then() .statusCode(200); After matching the requirements, the test verifies if the sink is receiving the expected events as shown in the following example: Example of a sink verification await() .atMost(60, SECONDS) .with().pollInterval(1, SECONDS) .untilAsserted(() -> { sink.verify(2, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(order.getId()))); sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"fraudEvaluation\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"domesticShipping\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); }); The await() method in the previous example allows the test to retry the validations until the verifications are declared or until the specified time is expired. In this example, the specified time is 60 seconds. The following example shows how to check if the sink (WireMockServer) receives two events for the same order ID: Example if sink receives the events sink.verify(2, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(order.getId()))); To check the content of the received events, the following verifications can be declared or performed on the types: Example of verifications sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"fraudEvaluation\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); sink.verify(1, postRequestedFor(urlEqualTo(\"/\")).withRequestBody(containing(\"\\\"type\\\":\\\"domesticShipping\\\"\").and(containing(\"\\\"id\\\":\\\"\" + order.getId() + \"\\\"\")))); After declaring the verifications on received events, the test successfully ends and the WireMockServer stops. Creating your first workflow service Testing your workflow application using REST Assured Mocking OpenAPI services using WireMock Testing a Quarkus application Knative Eventing components interaction: Source, Trigger, Broker, and Sink If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Mocking HTTP CloudEvents sink using WireMock","component":"serverlessworkflow","version":"1.40.0.Final","name":"mocking-http-cloudevents-with-wiremock","url":"/serverlessworkflow/latest/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","titles":[{"text":"Overview","hash":"con-sinkbinding-test-overview","id":1},{"text":"Testing a workflow application using SinkBinding","hash":"proc-test-sw-application-sinkbinding","id":2},{"text":"Example of test execution cycle","hash":"ref-example-test-execution-cycle","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"42":{"id":42,"text":"This document describes how to mock OpenAPI services using WireMock. The testing procedure described in this document is based on the serverless-workflow-service-calls-quarkus example application. WireMock is an open source Mocking API for unit, integration, and performance tests. You can use WireMock to isolate your tests from third party APIs and prototype APIs that do not exist. Prerequisites The examples used in this document assumes that you have the following prerequisites: Required tooling is installed. For more information, see Getting familiar with Kogito Serverless Workflow tooling. A workflow project is created and orchestrates OpenAPI services. For more information about orchestrating OpenAPI services, see Orchestrating the OpenAPI services. The procedure in this section describes how you can add WireMock to your workflow application. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. Procedure Add the following WireMock dependency to the pom.xml file of your project: Add WireMock dependency to pom.xml com.github.tomakehurst wiremock-jre8 {wiremock.version} test Replace {wiremock.version} variable with the version of WireMock that you want to use. Select one of the following methods to start your WireMock server: You can start the WireMock server as a QuarkusTestResource. If you select this method, then the WireMock server is started once before you run any test, and the server is stopped when the test finishes. This option is suitable for most use cases. You can start the WireMock server independently for each test. This option is useful when you want each test to behave differently. For more information about starting the WireMock server, see Starting WireMock server as a QuarkusTestResource and Starting WireMock server for a specific test. Start the WireMock server as shown in the following example: Example of starting a WireMock server WireMockConfiguration config = WireMockConfiguration.wireMockConfig().dynamicPort(); (1) WireMockServer wireMockServer = new WireMockServer(config); (2) wireMockServer.start(); (3) 1 Creates the configuration for the WireMock server. You can use a dynamic port since it prevents the tests from failing due to port conflicts. When you cannot use a dynamic port, you can use the WireMockConfiguration#port(int) method to use a fixed port number. 2 Creates the WireMock server instance. 3 Starts the WireMock server. Mock the endpoints as shown in the following example: Example of mocking endpoints ObjectMapper objectMapper = new ObjectMapper(); JsonNode greecePayload = objectMapper.readTree(getClass().getResourceAsStream(\"/country_mock.json\")); (1) wireMockServer.stubFor(WireMock.get(WireMock.urlEqualTo(\"/rest/v2/name/Greece\")) (2) .willReturn(WireMock.aResponse() (3) .withStatus(200) (4) .withHeader(\"Content-Type\", \"application/json\") (5) .withJsonBody(greecePayload))); (6) 1 Creates the JSON payload, which the WireMock server returns. Alternatively, you can use the ResponseDefinitionBuilder#withBody method to define a String or a byte[] as the response body. 2 Defines a stub for the /rest/v2/name/Greece endpoint. 3 Defines the response for the stub. 4 Defines the response status. 5 Defines the response headers. 6 Defines the response body. Stop the WireMock server as shown in the following example: Example of stopping a WireMock server wireMockServer.stop(); In the process of adding a mocked OpenAPI service to your tests, you need to start the WireMock server. You can start the WireMock server either as a QuarkusTestResource or you can start the server for each test. The procedure in this section describes how you can start the WireMock server as a QuarkusTestResource. For more information about QuarkusTestResource, see Starting services before the Quarkus application starts document. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. WireMock dependency is added in the pom.xml file. Procedure Create a class that implements the QuarkusTestResource interface as shown in the following example: Example implementation of QuarkusTestResource import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.tomakehurst.wiremock.WireMockServer; import com.github.tomakehurst.wiremock.core.WireMockConfiguration; import io.quarkus.test.common.QuarkusTestResourceLifecycleManager; import java.io.IOException; import java.io.UncheckedIOException; import java.util.Map; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.get; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; public class RestCountriesMockServer implements QuarkusTestResourceLifecycleManager { private WireMockServer wireMockServer; @Override public Map start() { (1) configureWiremockServer(); return Map.of(\"quarkus.rest-client.restcountries_json.url\", wireMockServer.baseUrl() + \"/rest\"); (2) } private void configureWiremockServer() { wireMockServer = new WireMockServer(WireMockConfiguration.wireMockConfig().dynamicPort()); wireMockServer.start(); ObjectMapper objectMapper = new ObjectMapper(); JsonNode greecePayload; try { greecePayload = objectMapper.readTree(getClass().getResourceAsStream(\"/country_mock.json\")); } catch (IOException e) { throw new UncheckedIOException(e); } wireMockServer.stubFor(get(urlEqualTo(\"/rest/v2/name/Greece\")) .willReturn(aResponse() .withStatus(200) .withHeader(\"Content-Type\", \"application/json\") .withJsonBody(greecePayload))); } @Override public void stop() { (3) if (wireMockServer != null) { wireMockServer.stop(); } } } 1 Starts the test resource. This method is called once before running all the tests. 2 Returns a map of application properties that are set in the test environment. In this case, the quarkus.rest-client.restcountries_json.url property is set as the base URL of the WireMock server. 3 Stops the test resource. This method is called once after running all the tests. Use the QuarkusTestResource implementation in your test class as shown in the following example: Example of a test class using the QuarkusTestResource implementation import io.quarkus.test.common.QuarkusTestResource; import io.quarkus.test.junit.QuarkusTest; import org.junit.jupiter.api.Test; @QuarkusTest @QuarkusTestResource(RestCountriesMockServer.class) (1) class CountryServiceWorkflowTest { @Test void testFeatureA() { // ... } @Test void testFeatureB() { // ... } } 1 Uses the RestCountriesMockServer class as a test resource. You can also start the WireMock server to be used in a specific test. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. WireMock dependency is added in the pom.xml file. Procedure Wrap the logic of a test between starting and stopping the WireMock server as shown in the following example: Example of a test using a specific WireMock server instance import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.tomakehurst.wiremock.WireMockServer; import com.github.tomakehurst.wiremock.core.WireMockConfiguration; import io.quarkus.test.junit.QuarkusTest; import org.junit.jupiter.api.Test; import java.io.IOException; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.get; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; @QuarkusTest class CountryServiceWorkflowTest { @Test void testFeatureA() throws IOException { WireMockServer wireMockServer = startWiremockServerForFeatureA(); try { // test logic } finally { wireMockServer.stop(); } } @Test void testFeatureB() { WireMockServer wireMockServer = startWiremockServerForFeatureB(); try { // test logic } finally { wireMockServer.stop(); } } private static WireMockServer startWiremockServerForFeatureA() throws IOException { WireMockServer wireMockServer = new WireMockServer(WireMockConfiguration.wireMockConfig().dynamicPort()); wireMockServer.start(); ObjectMapper objectMapper = new ObjectMapper(); JsonNode greecePayload = objectMapper.readTree(CountryServiceWorkflowTest.class.getResourceAsStream(\"/country_mock_feature_a.json\")); wireMockServer.stubFor(get(urlEqualTo(\"/rest/v2/name/Greece\")) .willReturn(aResponse() .withStatus(200) .withHeader(\"Content-Type\", \"application/json\") .withJsonBody(greecePayload))); return wireMockServer; } private static WireMockServer startWiremockServerForFeatureB() { WireMockServer wireMockServer = new WireMockServer(WireMockConfiguration.wireMockConfig().dynamicPort()); wireMockServer.start(); wireMockServer.stubFor(get(urlEqualTo(\"/rest/v2/name/Greece\")) .willReturn(aResponse().withStatus(404))); return wireMockServer; } } You can test your workflow application using the instructions described in Testing your workflow application using REST Assured document. Creating your first workflow service Testing your workflow application using REST Assured If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Mocking OpenAPI services using WireMock","component":"serverlessworkflow","version":"1.40.0.Final","name":"mocking-openapi-services-with-wiremock","url":"/serverlessworkflow/latest/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","titles":[{"text":"Adding a mocked OpenAPI service to your tests","hash":"proc-add-mocked-openapi-service-tests","id":1},{"text":"Starting WireMock server as a QuarkusTestResource","hash":"proc-start-wiremock-server-quarkustestresource","id":2},{"text":"Starting WireMock server for a specific test","hash":"proc-start-wiremock-server-specific-test","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"43":{"id":43,"text":"Kogito Serverless Workflow provides a plug-in named kn-plugin-workflow for Knative CLI, which enables you to set up a local workflow project quickly using the command line. This document describes how you can install and use the kn-plugin-workflow plug-in in Kogito Serverless Workflow. You can use the Kogito Serverless Workflow plug-in to set up your local workflow project quickly using Knative CLI. Prerequisites Java 11+ is installed. Maven 3.8.6 or later is installed. (Optional) Docker is installed. (Optional) Podman is installed. Kubernetes CLI is installed. Procedure Download the latest binaries from the KIE Tooling Releases page. Run the kn workflow command using one of the following methods: Add kn workflow command in your system path and ensure that it is executable. Install kn workflow command as a plug-in of the Knative CLI using the following steps: Install the Knative CLI. For installation instructions, see Installing kn documentation in GitHub. Copy the kn-workflow binary to a directory in your PATH, such as /usr/local/bin and ensure that the file name is kn-workflow. On Mac, add execution permission as follows: chmod +x /usr/local/bin/kn-workflow Some systems might block the application to run due to Apple enforcing policies. To fix this problem, check the Security & Privacy section in the System Preferences → General tab to approve the application to run. For more information, see Apple support article: Open a Mac app from an unidentified developer. Run the following command to verify that kn-workflow plug-in is installed successfully: kn plugin list After installing the plug-in, you can use kn workflow to run the related subcommands. Use the workflow subcommand in Knative CLI as follows: Methods to use workflow subcommand kn workflow kn-workflow Example output Manage Kogito Serverless Workflow projects Usage: kn workflow [command] Available Commands: build Build a Kogito Serverless Workflow project and generate a container image completion Generate the autocompletion script for the specified shell create Create a Kogito Serverless Workflow project deploy Deploy a Kogito Serverless Workflow project help Help about any command Flags: -h, --help help for kn-workflow -v, --verbose Print verbose logs Use \"kn workflow [command] --help\" for more information about a command. After installing the Kogito Serverless Workflow plug-in, you can use the create command with kn workflow to scaffold a new workflow project in your current directory. The create command sets up Quarkus project containing minimal extensions to build a workflow project. Also, the generated workflow project contains a \"hello world\" workflow.sw.json file in your .//src/main/resources directory. Prerequisites Kogito Serverless Workflow plug-in for Knative CLI is installed. For more information about installing the plug-in, see Installing the Kogito Serverless Workflow plug-in for Knative CLI. Procedure In Knative CLI, enter the following command to create a new project: Creates a project named new-project kn workflow create By default, the generated project is named as new-project. You can overwrite the project name by using the [-n|--name] flag as follows: Create a project named my-project kn workflow create --name my-project Add more extensions to the Quarkus project during its creation by using the [-e|--extension] flag as follows: Create a project with quarkus-jsonp and quarkus-smallrye-openapi extensions kn workflow create --extension quarkus-jsonp,quarkus-smallrye-openapi You can add multiple extensions using the comma-separated names of the extensions in the previous command. When you run the create command for the first time, it might take a while due to the necessity of downloading the required dependencies for the Quarkus project. After creating your workflow project, you can use the build command with kn workflow to build your workflow project in your current directory and to generate a container image. The process of building your workflow project produces a knative.yml file in the ./target/kubernetes folder. If your workflow contains events, then the building process also generates a kogito.yml file. Prerequisites Kogito Serverless Workflow plug-in for Knative CLI is installed. For more information about installing the plug-in, see Installing the Kogito Serverless Workflow plug-in for Knative CLI. A workflow project is created. For more information about creating a workflow project, see Creating workflow project using Knative CLI. Procedure In Knative CLI, enter the following command to build your workflow project: Build the project and generate a local image named dev.local/my-project kn workflow build --image dev.local/my-project By using dev.local as repository, you can deploy your Kogito Serverless Workflow project in a local environment without having to push the image to a container registry. To use the build command, you need to provide either --image or --image-name flag. In the previous command, you can use the [-i|--image] in several ways, such as: --image=[name] --image=[name]:[tag] --image=[repository]/[name] --image=[repository]/[name]:[tag] --image=[registry]/[repository]/[name] --image=[registry]/[repository]/[name]:[tag] The default value for registry and tag is quay.io and latest respectively. Also, you can use specific flags to compose the full name of the image as follows: --image-registry --image-repository --image-name --image-tag In case the --image flag is composed with specific flags as shown in the following command, then the specific value overrides the --image flag: Build the project and generate a local image named quay.io/other-user/my-project:1.0.1 kn workflow build --image my-user/my-project:1.0.0 --image-repository other-user --image-tag 1.0.1 You can use the following strategies to build a workflow project and to generate the container image: Using Jib Jib is an extension that builds a container image without the necessity of a container runtime. When using the Jib extension, the rebuilds are fast and the resultant container image is optimized. You can use the following commands to build a workflow project and to generate a local image using Jib: Build a project and generate a local image using Jib kn workflow build --image dev.local/my-project --jib The generated container image can be saved in the Docker runtime. Build a project and generate a local image using Jib kn workflow build --image dev.local/my-project --jib-podman Using the previous command, the generated container image can be saved in the Podman runtime. If you do not want to use any container runtime, then use --push to push the generated container image to the respective registry as shown in the following command: Build a project and push the image using Jib kn workflow build --image my-project --jib --push Before using the --push option, ensure that you have access to your registry. You can get the access using Docker or Podman login. Using Docker The process of building your workflow project using Docker is straightforward and also a default approach. When using Docker, you can automatically push the container image to the respective registry by using the --push option as shown in the following command: Build a project and push the image using Docker kn workflow build --image my-project --push You can use the deploy command combined with kn workflow to deploy your workflow project in your current directory. However, before deploying the project, you must build your workflow project as the build process produces deployment files, such as knative.yml and kogito.yml (In case of events) in the ./target/kubernetes folder. Prerequisites Kogito Serverless Workflow plug-in for Knative CLI is installed. For more information about installing the plug-in, see Installing the Kogito Serverless Workflow plug-in for Knative CLI. A workflow project is created. For more information about created a workflow project, see Creating workflow project using Knative CLI. A workflow project is built. For more information about building your workflow project, see Building workflow project using Knative CLI. Procedure In Knative CLI, enter the following command to deploy your workflow project: Deploy a workflow project kn workflow deploy If the deployment files (knative.yml and kogito.yml) are saved in any other folder instead of ./target/kubernetes, then you can override the path using the --path flag with deployment command as follows: Deploy a workflow project using --path kn workflow deploy --path other-path Also, ensure that you have access to your cluster and your cluster can access the generated container image. You can use the kubectl command line if you want to use a complex deployment setup for your workflow project. Creating your first workflow service If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Kogito Serverless Workflow plug-in for Knative CLI","component":"serverlessworkflow","version":"1.40.0.Final","name":"kn-plugin-workflow-overview","url":"/serverlessworkflow/latest/tooling/kn-plugin-workflow-overview.html","titles":[{"text":"Installing the Kogito Serverless Workflow plug-in for Knative CLI","hash":"proc-install-sw-plugin-kn-cli","id":1},{"text":"Creating a workflow project using Knative CLI","hash":"proc-create-sw-project-kn-cli","id":2},{"text":"Building a workflow project using Knative CLI","hash":"proc-build-sw-project-kn-cli","id":3},{"text":"Strategy for building a workflow project","hash":"con-build-strategy-kn-cli","id":4},{"text":"Deploying a workflow project using Knative CLI","hash":"proc-deploy-sw-project-kn-cli","id":5},{"text":"Additional resources","hash":"_additional_resources","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"44":{"id":44,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"tooling","url":"/serverlessworkflow/latest/tooling/tooling.html","titles":[]},"45":{"id":45,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"newsletter-subscription-example","url":"/serverlessworkflow/latest/use-cases/newsletter-subscription-example.html","titles":[]},"46":{"id":46,"text":"The Saga design pattern manages data consistency across participants that are available in distributed transaction scenarios. For more information about Saga pattern, see the initial publication. In a microservice architecture, you can define a participant as microservice, which is responsible to perform actions related to the business domain. The Saga pattern manages the transactions using a sequence of steps. If a failure occurs while executing a step, then a sequence of compensating actions is executed to undo the changes that are made during the execution. As an alternative, you can leave the system in a known termination state to be consistent. To understand the implementation of Saga pattern in a workflow, you can use the serverless-workflow-saga-quarkus example application in GitHub repository. The serverless-workflow-saga-quarkus example application is based on the order fulfillment process and describes how to define the Saga pattern using Kogito Serverless Workflow. In the order fulfillment example, a user buys an item from an e-commerce application. The user adds the delivery information and payment details, and waits for the item to be delivered. The following figure shows the sequence of steps that are executed to complete an order: Figure 1. Example of order fulfillment process The previous figure contains the following steps: Order checkout: User confirms the order with selected items, payment method, and delivery address. Stock reservation: The selected items in the order are reserved in the stock. Payment processing: Payment is processed based on the selected payment method and user information. For example, in case of processing payment using credit card, then the credit is verified and allocated to the payment. Shipping processing: The shipping processing represents a mechanism, which communicates with a third-party or an internal system who are responsible for logistics and delivery. The following figure describes the Saga pattern using the success and failure workflows in the order fulfillment process: Figure 2. Example of Saga pattern in Order fulfillment process The success workflow in the previous figure consists of the following steps: Reserve item stock Process the payment Schedule the order shipping However, in the failure workflow an error occurred during the shipping process. In this situation, a sequence of compensation actions is executed, including canceling the payment and releasing the stock for the items in the order. In the serverless-workflow-saga-quarkus example application, a workflow is used that implements the Saga pattern, in which all the steps and compensation actions are defined. Also, the workflow plays the role of Saga Executor Coordinator (SEC), which orchestrates the calls to the participants in the Saga pattern. The workflow definition used to define the Saga pattern is available in the order-saga-error-handling.sw.json file. Figure 3. Example of order fulfillment Saga workflow In the previous example figure of workflow, the calls are orchestrated to the participants (for example, order service, payment service), each participant can throw possible errors, and compensations for each step are defined, that are executed once an error appears during the workflow execution. To define the interactions among participants in the Saga pattern using Serverless Workflow specification, you can use workflow states with transitions. In Serverless Workflow specification, each workflow state represents a step to be completed in the Saga pattern. Also, an action associated with the workflow state represents how a participant is invoked to execute a given step. Example of workflow state declaration representing the payment process in Saga { \"name\":\"processPayment\", \"type\":\"operation\", \"actions\":[ { \"name\":\"processPaymentAction\", \"functionRef\":{ \"refName\":\"processPayment\", \"arguments\":{ \"orderId\":\".orderId\", \"failService\":\".failService\" } }, \"actionDataFilter\":{ \"results\":\".\", \"toStateData\":\".paymentResponse\" } } ], \"transition\":\"scheduleShipping\", \"compensatedBy\":\"CancelPayment\", \"onErrors\":[ { \"errorRef\":\"process payment failed\", \"transition\":\"ServiceError\" } ] } In the previous example, the processPayment state contains a processPaymentAction action, which invokes a function to execute the payment processing that Payment Service participant might process. The transition attribute represents the next step to be started, which schedules the order shipping for the Saga pattern. Compensation actions When designing a Saga pattern, compensation actions for each step is considered as a core functionality, which is executed by a participant. In Kogito Serverless Workflow each workflow state must define a compensation action using compensatedBy attribute, indicating another workflow state that performs the compensation action. For example, in serverless-workflow-saga-quarkus, processPayment state defines CancelPayment as a compensation action in the payment process. Example of defining a compensation action \"compensatedBy\": \"CancelPayment\" Errors In Kogito Serverless Workflow errors are identified by a name and can be associated with a workflow state. For example, a process payment failed error is associated with the processPayment state. Following is an example of error declaration in the workflow definition: Example the error declaration for the Saga { \"errors\":[ { \"name\":\"reserve stock failed\", \"code\":\"org.kie.kogito.ServiceException\" }, { \"name\":\"process payment failed\", \"code\":\"org.kie.kogito.ServiceException\" }, { \"name\":\"shipping failed\", \"code\":\"org.kie.kogito.ServiceException\" } ] } Once an error occurs during the workflow execution, the associated compensation action is triggered. An error definition uses the fully qualified class name (FQCN) for Java exceptions that are thrown by functions. In the previous example of error definition, org.kie.kogito.ServiceException is thrown by the service calls that are defined as Java methods in the PaymentService.java file. Example custom function using a Java class and method { \"name\":\"reserveStock\", \"type\":\"custom\", \"operation\":\"service:org.kie.kogito.PaymentService::processPayment\" } The function that are throwing errors can be any type of functions, such as REST, OpenAPI, or gRPC. For information about error handling, see Error handling in Kogito Serverless Workflow. The workflow engine controls the execution of the flow and keeps the track of the steps that need to be compensated. Also, the engine ensures that compensated states are executed in reverse order of each completed step. The engine is a stateful, allowing Saga to contain wait states, such as callbacks. After each wait state, the workflow is persisted and can continue once it receives a request or event. The serverless-workflow-saga-quarkus example application shows a Saga workflow that is executed as request-response. This is called a straight through process, in which an entire workflow is executed in a single request. You can use the following examples as a reference to run and test the Saga pattern in a workflow: Create new success order You can use the following example to send a request for creating an order: Example request to create an order curl -L -X POST \"http://localhost:8080/order_saga_error_workflow\" -H 'Content-Type: application/json' --data-raw '{ \"orderId\": \"03e6cf79-3301-434b-b5e1-d6899b5639aa\" }' Example response { \"id\":\"b5c0bf16-1e37-4d7a-82cd-610809090d9c\", \"workflowdata\":{ \"orderId\":\"03e6cf79-3301-434b-b5e1-d6899b5639aa\", \"stockResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"dc32abe6-9706-4061-8e96-910d8e06728d\" }, \"paymentResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"505259d9-1c12-40ea-af5d-679e2cd89394\" }, \"shippingResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"d6e2d538-0229-4b8e-a363-17ebabdb3585\" }, \"orderResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"03e6cf79-3301-434b-b5e1-d6899b5639aa\" } } } The response contains the workflow data with nested attributes, which represent the responses from the execution of each step including success or failure. In the previous example, the orderResponse attribute indicates if the order can be confirmed by the client by initiating the Saga workflow. Therefore, if the value of the orderResponse attribute is success, then the order can be confirmed, otherwise the order can be canceled. When executing the application, you can also verify the log with information related to the executed steps as shown in the following example: Example console output 2022-06-24 13:44:36,666 INFO [org.kie.kog.StockService] (executor-thread-0) Reserve Stock for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:44:36,669 INFO [org.kie.kog.PaymentService] (executor-thread-0) Process Payment for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:44:36,673 INFO [org.kie.kog.ShippingService] (executor-thread-0) Schedule Shipping for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:44:36,676 INFO [org.kie.kog.OrderService] (executor-thread-0) Order Success 03e6cf79-3301-434b-b5e1-d6899b5639aa Activate compensation actions To test the workflow, an optional failService attribute is introduced, indicating which participant must respond with an error. In the following example, the ShippingService state throws an error, which breaks the workflow execution and triggers the compensation actions: Example compensation request curl -L -X POST 'http://localhost:8080/order_saga_error_workflow' -H 'Content-Type: application/json' --data-raw '{ \"orderId\": \"03e6cf79-3301-434b-b5e1-d6899b5639aa\", \"failService\": \"ShippingService\" }' Example response { \"id\":\"217050a3-6676-4c0e-8555-2fcda936e00e\", \"workflowdata\":{ \"orderId\":\"03e6cf79-3301-434b-b5e1-d6899b5639aa\", \"failService\":\"ShippingService\", \"stockResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"6ab362c6-a6c4-4517-b232-3349741271d5\" }, \"paymentResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"2114cc5b-1912-4b34-b869-734907f0fef2\" }, \"cancelPaymentResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"2114cc5b-1912-4b34-b869-734907f0fef2\" }, \"cancelStockResponse\":{ \"type\":\"SUCCESS\", \"resourceId\":\"6ab362c6-a6c4-4517-b232-3349741271d5\" }, \"orderResponse\":{ \"type\":\"ERROR\", \"resourceId\":\"03e6cf79-3301-434b-b5e1-d6899b5639aa\" } } } When executing the application, you can also verify the log with information related to the executed steps as shown in the following example: Example console output 2022-06-24 13:43:45,077 INFO [org.kie.kog.StockService] (executor-thread-0) Reserve Stock for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:43:45,215 INFO [org.kie.kog.PaymentService] (executor-thread-0) Process Payment for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:43:45,219 INFO [org.kie.kog.ShippingService] (executor-thread-0) Schedule Shipping for order 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:43:45,219 ERROR [org.kie.kog.MockService] (executor-thread-0) Error in ShippingService for 03e6cf79-3301-434b-b5e1-d6899b5639aa 2022-06-24 13:43:45,230 INFO [org.kie.kog.PaymentService] (executor-thread-0) Cancel Payment 4b94408d-8cad-432d-85bb-63dd79c4071e 2022-06-24 13:43:45,239 INFO [org.kie.kog.StockService] (executor-thread-0) Cancel Stock 9d543764-8a8b-4d94-aaee-e6ccbe9c94c3 2022-06-24 13:43:45,244 INFO [org.kie.kog.OrderService] (executor-thread-0) Order Failed 03e6cf79-3301-434b-b5e1-d6899b5639aa Error handling in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Saga orchestration example in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"orchestration-based-saga-pattern","url":"/serverlessworkflow/latest/use-cases/orchestration-based-saga-pattern.html","titles":[{"text":"Overview of Saga pattern","hash":"con-saga-overview","id":1},{"text":"Example of Saga pattern a workflow","hash":"ref-sw-example-saga-pattern","id":2},{"text":"Examples of running and testing the Saga pattern in a workflow","hash":"ref-sw-run-test-saga-example","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"47":{"id":47,"text":"In the serverless-workflow-timeouts-showcase you can see an end-to-end example that contains a serverless workflow application with timeouts configured alongside Job Service running on Knative. There are two workflows that showcase the timeouts usage in the Callback and Switch states. It is a simple workflow, where once the execution reaches the callback state it waits for the event callbackEvent to arrive and continue the execution. Figure 1. Callback timeout workflow Callback event { \"name\": \"callbackEvent\", \"source\": \"\", \"type\": \"callback_event_type\" } The timeout is configured with a maximum time 30 seconds to be waited by the workflow to receive the callbackEvent, in case it does not arrive in time, the execution moves, and the eventData variable remains null. See the callback state definition. The switch example is similar to the callback but once the execution reaches the state, it waits for one of the two configured events, visaDeniedEvent or visaApprovedEvent, to arrive, see the switch state definition. If any of the configured events arrives before the timeout is overdue, the workflow execution moves to the next state defined in the corresponding transition. If none of the events arrive before the timeout is overdue, the workflow then moves to the state defined in defaultCondition transition. Figure 2. Switch timeout workflow The event example is similar to the switch one but once the execution reaches the state, it waits for one of the configured events, event1 or event2, to arrive, see the event state definition. If none of the configured events arrive before the timeout is overdue, the workflow execution moves to the next state defined in the corresponding transition property, skipping the events that were not received in time together with actions configured for them. If one of the events arrives before the timeout is overdue, the workflow then moves to the state defined in transition, executing the corresponding event that has arrived in the state definition together with actions defined for it. Figure 3. Event timeout workflow To run the example you must have access to a kubernetes cluster running with Knative configured. For simplicity, the example uses minikube, you can follow the steps described in the example’s readme. All the descriptor files used to deploy the example infrastructure are present in the example. The database and Job Service deployment files are located under /kubernetes folder. The descriptors related to the workflow application are generated after the build under /target/kubernetes. The following diagram shows the example’s architecture when it is deployed in the Kubernetes + Knative infrastructure. Figure 4. Knative Workflow with Job Service architecture The workflow application and Job Service uses PostgreSQL as the persistence backend to store information about the workflow instances and jobs, respectively. In the example you can deploy a single database instance to be used on both, in a production environment is recommended to have independent database instances. To run PostgreSQL you need to apply the following on the cluster: Deploying the database kubectl apply -f kubernetes/timeouts-showcase-database.yml After executing the command, you will see an output like this: secret/timeouts-showcase-database created deployment.apps/timeouts-showcase-database created service/timeouts-showcase-database created Deploying Job Service kubectl apply -f kubernetes/jobs-service-postgresql.yml After executing the command, you will see an output like this: service/jobs-service-postgresql created deployment.apps/jobs-service-postgresql created trigger.eventing.knative.dev/jobs-service-postgresql-create-job-trigger created trigger.eventing.knative.dev/jobs-service-postgresql-cancel-job-trigger created sinkbinding.sources.knative.dev/jobs-service-postgresql-sb created You need to build the workflow with the knative maven profile, then the descriptor files are generated under the target/kubernetes folder, and the image is pushed in the container registry. Building the timeout workflow showcase for Knative mvn clean install -Pknative Deploying the timeout workflow showcase in Knative kubectl apply -f target/kubernetes/knative.yml kubectl apply -f target/kubernetes/kogito.yml After executing the commands you will see an output like this: service.serving.knative.dev/timeouts-showcase created trigger.eventing.knative.dev/visa-denied-event-type-trigger-timeouts-showcase created trigger.eventing.knative.dev/visa-approved-event-type-trigger-timeouts-showcase created trigger.eventing.knative.dev/callback-event-type-trigger-timeouts-showcase created sinkbinding.sources.knative.dev/sb-timeouts-showcase created To create a workflow you can interact with the workflow using the provided REST APIs, in the example provide a test Web UI to make it easy to test. First, you need to get the service URL on the cluster. Getting the workflow service URL on the cluster kn service list | grep timeouts-showcase Service URL in the response, similar to this. NAME URL LATEST AGE CONDITIONS READY REASON timeouts-showcase http://timeouts-showcase.default.10.105.86.217.sslip.io timeouts-showcase-00001 3m50s 3 OK / 3 True The example Web UI is handy to interact with the workflow, you just need to open in the browser the URL you got from the previous step. Figure 5. Timeout workflow showcase UI You can create new workflow instances and interact with them to complete, or simply wait for the timeout to be triggered to check it’s working. More details on the readme. You can test the workflows using the REST APIs, in fact they are the same used by the Web UI in both workflows. Callback Creating a callback workflow with timeout curl -X 'POST' \\ 'http://timeouts-showcase.default.10.105.86.217.sslip.io/callback_state_timeouts' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{}' Switch Creating a Switch workflow with timeout curl -X 'POST' \\ 'http://timeouts-showcase.default.10.105.86.217.sslip.io/callback_state_timeouts' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{}' Event Creating an event workflow with timeout curl -X 'POST' \\ 'http://timeouts-showcase.default.10.105.86.217.sslip.io/event_state_timeouts' \\ -H 'accept: */*' \\ -H 'Content-Type: application/json' \\ -d '{}' Checking whether the workflow instance was created Getting the created workflow instance curl -X 'GET' 'http://timeouts-showcase.default.10.105.86.217.sslip.io/switch_state_timeouts' The command will produce an output like this, which indicates that the process is waiting for an event to arrive. Response with the created instance [{\"id\":\"2e8e1930-9bae-4d60-b364-6fbd61128f51\",\"workflowdata\":{}}] Checking the timeout was executed after 30 seconds: Getting the created workflow instance after 30 seconds curl -X 'GET' 'http://timeouts-showcase.default.10.105.86.217.sslip.io/switch_state_timeouts' [] As you can see there are no active workflow instances, indicating the timeout was executed and the created instance was completed. Timeout support in Kogito Serverless Workflow If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Timeout example in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"timeout-showcase-example","url":"/serverlessworkflow/latest/use-cases/timeout-showcase-example.html","titles":[{"text":"Callback workflow","hash":"_callback_workflow","id":1},{"text":"Switch workflow","hash":"_switch_workflow","id":2},{"text":"Event workflow","hash":"_event_workflow","id":3},{"text":"Running the example","hash":"_running_the_example","id":4},{"text":"Deploying the database","hash":"_deploying_the_database","id":5},{"text":"Deploying Job Service","hash":"job-service-deploy","id":6},{"text":"Deploying the timeout showcase workflow","hash":"_deploying_the_timeout_showcase_workflow","id":7},{"text":"Creating a workflow instance","hash":"_creating_a_workflow_instance","id":8},{"text":"Using the showcase UI","hash":"_using_the_showcase_ui","id":9},{"text":"Using REST APIs","hash":"_using_rest_apis","id":10},{"text":"Additional resources","hash":"_additional_resources","id":11},{"text":"Found an issue?","hash":"_found_an_issue","id":12}]},"48":{"id":48,"text":"This document describes how to build and deploy your workflow on a Kubernetes cluster using the Kogito Serverless Workflow Operator only by having a workflow definition. Kogito Serverless Workflow Operator is under active development with features yet to be implemented. Please see Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap. Prerequisites A workflow definition. The Kogito Serverless Workflow Operator installed. See Install the Kogito Serverless Workflow Operator You should follow these steps to create a container that you can deploy as a service on Kubernetes. Create a new namespace that will hold all the resources that the operator will create (pods, deployments, services, secretes, config map, and Custom Resources) in this guide. Create a namespace for the application to build & run in kubectl create namespace kogito-workflows # set the kogito-workflows namespace to your context kubectl config set-context --current --namespace=kogito-workflows Create a secret for the container registry authentication kubectl create secret docker-registry regcred --docker-server= --docker-username= --docker-password= --docker-email= -n kogito-workflows or you can directly import your local docker config into your Kubernetes cluster: Create a secret for the container registry authentication based on local docker config kubectl create secret generic regcred --from-file=.dockerconfigjson=${HOME}/.docker/config.json --type=kubernetes.io/dockerconfigjson -n kogito-workflows Double check your ${HOME}/.docker/config.json. If you’re using local desktop authentication, this configuration won’t work in the cluster. You can initialize this by logging in in the target registry, e.g. docker login. The KogitoServerlessPlatform is the resource used to control the behavior of the Kogito Serverless Workflow Operator. It defines the behavior of all Custom Resources (Workflow and Build) in the given namespace. Since the operator is installed in global mode, you will need to specify a platform in each namespace where you want to deploy workflows. You can find a basic KogitoServerlessPlatform custom resource example in the config/samples folder that you can simply apply to configure your operator. Create a KogitoServerlessPlatform kubectl apply -f https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessplatform.yaml -n kogito-workflows In this Custom Resource, spec.platform.registry.secret is the name of the secret you created just before. You can also update \"on-the-fly\" the KogitoServerlessPlatform registry field with this command (change ) Create a KogitoServerlessPlatform with a specific registry curl https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessplatform.yaml | sed \"s|address: .*|address: \" | kubectl apply -f - In order to retrieve the Cluster IP address of Minikube’s internal registry to configure your platform, you can use the following command: Retrieve Minikube registry internal IP kubectl get svc registry -n kube-system -ojsonpath='{.spec.clusterIP}' You can now send your workflow definition (KogitoServerlessWorkflow) to the operator. You can find a basic KogitoServerlessWorkflow in the config/samples folder that is defining the Kogito Serverless Workflow Greeting example. kubectl apply -f https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow.yaml -n kogito-workflows You can check the logs of the build of your workflow via: Get the workflow application pod logs kubectl logs kogito-greeting-builder -n kogito-workflows The final pushed image must be printed into the logs at the end of the build. In order to check that the Kogito Serverless Workflow Greeting application is up and running, you can try to perform a test HTTP call, from the greeting pod. Check the greeting application is running kubectl patch svc greeting -n kogito-workflows -p '{\"spec\": {\"type\": \"NodePort\"}}' GREETING_SVC=$(minikube service greeting -n kogito-workflows --url) curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' $GREETING_SVC/greeting If everything is working well you should receive a response like this: Response from the greeting application {\"id\":\"b5fbfaa3-b125-4e6c-9311-fe5a3577efdd\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Developing Workflow Services with the Operator If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Building and Deploying Workflows with the Operator","component":"serverlessworkflow","version":"1.40.0.Final","name":"build-and-deploy-workflows","url":"/serverlessworkflow/latest/cloud/operator/build-and-deploy-workflows.html","titles":[{"text":"Preparing for the build","hash":"_preparing_for_the_build","id":1},{"text":"Create a namespace for the building phase","hash":"_create_a_namespace_for_the_building_phase","id":2},{"text":"Create a secret for the container registry authentication","hash":"_create_a_secret_for_the_container_registry_authentication","id":3},{"text":"Configure the Kogito Serverless Workflow Operator (i.e. registry address, secret) for building your workflows","hash":"_configure_the_kogito_serverless_workflow_operator_i_e_registry_address_secret_for_building_your_workflows","id":4},{"text":"Build and deploy your workflow application","hash":"_build_and_deploy_your_workflow_application","id":5},{"text":"Check the workflow application is running","hash":"_check_the_workflow_application_is_running","id":6},{"text":"Additional resources","hash":"_additional_resources","id":7},{"text":"Found an issue?","hash":"_found_an_issue","id":8}]},"49":{"id":49,"text":"This document describes how to configure a workflow service with the Kogito Serverless Workflow Operator. When the operator deploys the workflow service, it also creates a ConfigMap named after the KogitoServerlessWorkflow object with the suffix -props. For example, if your workflow name is greeting, then the ConfigMap name is greeting-props. You can use the Kubernetes object editor of your preference to add or edit the properties in the workflow configuration. Using kubectl you can do: Editing the Workflow Properties kubectl edit cm -props Note that it’s important to respect the properties format, otherwise the operator will replace your configuration with the default one. Here’s an example of a workflow properties: Example of a Workflow ConfigMap Properties apiVersion: v1 kind: ConfigMap metadata: labels: app: greeting name: greeting-props namespace: default data: application.properties: | my.properties.key = any-value The underlying runtime engine that executes the workflow service is based on Quarkus. So that, you can configure the workflow as you normally would any Quarkus application. Any Kogito Serverless Workflow configuration that the documentation describes or general Quarkus application property can be configured using this method. A few properties can not be changed in this configuration. Usually, they are already defined in the properties file. The table below lists them. Table 1. List of immutable properties Property Key Immutable Value Profile quarkus.http.port 8080 all quarkus.http.host 0.0.0.0 all org.kie.kogito.addons.knative.eventing.health-enabled false dev If you try to change any of them, the operator will override them with the default, but preserving your changes in other property keys. Configuration properties in Kogito Serverless Workflow Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Developing Workflow Services with the Operator Building and Deploying Workflows with the Operator If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Configuring Workflow Services","component":"serverlessworkflow","version":"1.40.0.Final","name":"configuring-workflows","url":"/serverlessworkflow/latest/cloud/operator/configuring-workflows.html","titles":[{"text":"Editing the Workflow Configuration","hash":"_editing_the_workflow_configuration","id":1},{"text":"Immutable properties","hash":"_immutable_properties","id":2},{"text":"Additional resources","hash":"_additional_resources","id":3},{"text":"Found an issue?","hash":"_found_an_issue","id":4}]},"50":{"id":50,"text":"This document describes how you can develop your workflows directly on Kubernetes with the Kogito Serverless Workflow Operator. Workflows in development profile are not tailored for production environments. To build and deploy an immutable workflow application with the operator, see Building and Deploying Workflows with the Operator. Kogito Serverless Workflow Operator is under active development with features yet to be implemented. Please see Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap. The development profile is the easiest way to start playing around with workflows and the operator. To get started, you can use an editor of your choice to create a new KogitoServerlessWorkflow Custom Resource YAML definition. For example: Example of a Kubernetes Kogito Serverless Workflow YAML definition apiVersion: sw.kogito.kie.org/v1alpha08 kind: KogitoServerlessWorkflow metadata: name: greeting annotations: sw.kogito.kie.org/description: Greeting example on k8s! sw.kogito.kie.org/version: 0.0.1 sw.kogito.kie.org/profile: dev (1) spec: flow: (2) start: ChooseOnLanguage functions: - name: greetFunction type: custom operation: sysout states: - name: ChooseOnLanguage type: switch dataConditions: - condition: \"${ .language == \\\"English\\\" }\" transition: GreetInEnglish - condition: \"${ .language == \\\"Spanish\\\" }\" transition: GreetInSpanish defaultCondition: GreetInEnglish - name: GreetInEnglish type: inject data: greeting: \"Hello from JSON Workflow, \" transition: GreetPerson - name: GreetInSpanish type: inject data: greeting: \"Saludos desde JSON Workflow, \" transition: GreetPerson - name: GreetPerson type: operation actions: - name: greetAction functionRef: refName: greetFunction arguments: message: \".greeting+.name\" end: true 1 The annotation sw.kogito.kie.org/profile: dev tells the operator to deploy your workflow using the development profile. This means that the operator will build a running instance of the workflow ready to receive changes during your development cycle. 2 In the flow attribute goes the workflow definition as described by the CNCF Serverless Workflow specification. So if you already have a workflow definition, you can use it there. Alternatively, you can use the editors to create your workflow definition. Prerequisites You have installed the Kogito Serverless Workflow Operator You have created a new Kogito Serverless Workflow Kubernetes YAML file Having a new Kubernetes workflow definition in a YAML file (you can use the above example), you can deploy it in your cluster with the following command: Deploying a new KogitoServerlessWorkflow custom resource in Kubernetes kubectl apply -f -n Alternatively, you can try one of the examples available in the operator repository: Deploying the greeting workflow example kubectl apply -f https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/test/testdata/sw.kogito_v1alpha08_kogitoserverlessworkflow_devmode.yaml -n Replace with the namespace you’re using to deploy your applications You can follow the workflow status to check if everything is fine with: Checking the workflow status kubectl get workflow -n -w You should see the workflow conditions evolving to READY in a few seconds: Example workflow deployment status NAME PROFILE VERSION ADDRESS READY REASON greeting dev 0.0.1 False WaitingForDeployment greeting dev 0.0.1 True The REASON field gives you a cue about the current workflow status. You can make changes to the workflow YAML using any Kubernetes editor. For example, you can use kubectl and the following command: kubectl edit workflow/greeting -n and changing the workflow definition inside the CustomResource Spec section. Otherwise, you can save the CustomResource definition file and edit it with your desired editor, and re-applying it. For example using VSCode, there are the commands needed: curl -S https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow_devmode.yaml > workflow_devmode.yaml code workflow_devmode.yaml kubectl apply -f workflow_devmode.yaml -n The operator ensures that the latest workflow definition is running and ready. This way, you can include the workflow application in your development scenario and start making requests to it. In order to check that the Kogito Serverless Workflow Greeting application is up and running, you can try to perform a test HTTP call. First, you must expose the service: Exposing the workflow application kubectl patch svc greeting -n -p '{\"spec\": {\"type\": \"NodePort\"}}' minikube service greeting -n --url http://127.0.0.1:57053 # use the above output to get the current workflow URL in your environment Alter exposing the workflow service, you can point your browser to the Swagger UI and start making requests with the REST interface. For example, using the above command execution you can access the Swagger UI via http://127.0.0.1:57053/q/swagger-ui/. At the Swagger UI, click on \"POST /greeting\", then on \"Try it out!\". Copy the following JSON message and hit execute: Operation Greeting result { \"name\": \"Jane Doe\" } Figure 1. The Swagger UI executing the POST /greeting operation You should see a result similar to this: Operation Greeting result { \"id\": \"984b5c6c-36ef-48ba-aa11-89fa54d25e98\", \"workflowdata\": { \"name\": \"Jane Doe\", \"greeting\": \"Hello from JSON Workflow, \" } } You can even make changes to your KogitoServerlessWorkflow YAML file and see the results using the Swagger UI. In order to remove the Kogito Serverless Workflow Greeting application, you can execute the following command: Removing the workflow application kubectl delete -f -n Since during development you are iterating over the deployed workflow service, it’s likely that you will need to troubleshoot the application if something goes wrong. To ensure the workflow is running in a healthy state, the operator deploys the application pod with health checks probes. So if your changes impact the application somehow, the pod will stop responding. Analyze the workflow status with: Get the workflow status conditions kubectl get workflow -o jsonpath={.status.conditions} | jq . It can give you a clue about what might be happening. See Understanding Workflow Services Status Conditions for more information. Fetch the logs and look for ERROR messages: Watch the application logs kubectl logs deployment/ -f If you are looking for opening an issue or ask in Kogito Serverless Workflow communication channels, this logging information is always useful for the person who will try to help you. The Kogito Serverless Workflow Operator is under active development. Sometimes a feature might not be available yet. Please see Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap for a comprehensive list of available features. If you identify you are referring to a feature that is not available yet, you can file a new issue so we can prioritize it for you or request in Kogito Serverless Workflow communication channels. A wrong configuration, or lack of one might impact your workflow to run correctly. The operator deploys a ConfigMap that holds the application properties for the workflow. Get the properties ConfigMap kubectl get cm -props The ConfigMap name pattern is the workflow name followed by -props. Make sure that the configuration is correct and you’re not lacking any required properties for a given feature to work. If so, you can make your changes to the configuration as you normally would to any ConfigMap. The operator ensures that these properties are applied to the application. See Configuring Workflow Services for more information. The Kogito Serverless Workflow Operator validates the workflow definition at the moment you create or edit the YAML file, to avoid persisting a workflow in an invalid state. Although, the operator is under active development, so errors during the validation might occur. In this case, you might have to make a few modifications to the workflow definition to fix any structural error. You can identify such problems by looking at the deployed workflow application logs as explained here. If you found an issue that a cause is not listed in this section, please let us know. Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Building and Deploying Workflows with the Operator If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Developing Workflow Services with the Operator","component":"serverlessworkflow","version":"1.40.0.Final","name":"developing-workflows","url":"/serverlessworkflow/latest/cloud/operator/developing-workflows.html","titles":[{"text":"Introduction to the Development Profile","hash":"_introduction_to_the_development_profile","id":1},{"text":"Deploying a New Workflow Service","hash":"_deploying_a_new_workflow_service","id":2},{"text":"Check the workflow application is running","hash":"_check_the_workflow_application_is_running","id":3},{"text":"Remove workflow application","hash":"_remove_workflow_application","id":4},{"text":"Troubleshooting the Workflow Service","hash":"troubleshooting","id":5},{"text":"Basic Troubleshooting","hash":"basic-troubleshooting","id":6},{"text":"Possible Failure Scenarios","hash":"_possible_failure_scenarios","id":7},{"text":"Feature Not Yet Supported","hash":"_feature_not_yet_supported","id":8},{"text":"Wrong Application Configuration","hash":"_wrong_application_configuration","id":9},{"text":"Wrong Workflow Definition","hash":"_wrong_workflow_definition","id":10},{"text":"Additional resources","hash":"_additional_resources","id":11},{"text":"Found an issue?","hash":"_found_an_issue","id":12}]},"51":{"id":51,"text":"This guide describes how to install the Kogito Serverless Workflow Operator in a Kubernetes cluster. The operator is in an early development stage (community only) and has been tested on Kubernetes 1.22+, and Minikube. Prerequisites A Kubernetes cluster with admin privileges. Alternatively, you can use Minikube or KIND. kubectl command-line tool is installed. Otherwise, Minikube provides it. You can safely skip this section if you’re not using Minikube. Prerequisites A machine with at least 8GB memory and a CPU with 8 cores Docker or Podman installed Run the following command to create a new instance capable of installing the operator and deploy workflows: minikube start --cpus 4 --memory 4096 --addons registry --addons metrics-server --insecure-registry \"10.0.0.0/24\" --insecure-registry \"localhost:5000\" To speed up the build time, you can increase CPUs and memory options so that your minikube instance will have more resources. For example, use --cpus 12 --memory 16384. In order to work, you will have to recreate your instance. If it does not work with the default driver, also known as docker, you can try to start with the podman driver as follows: Start minikube with podman driver minikube start [...] --driver podman In order to have an up-and-running instance of the Kogito Serverless Workflow Operator you can use the following command: Install Kogito Serverless Workflow Operator on Kubernetes kubectl create -f https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/operator.yaml You can follow the deployment of the Kogito Serverless Workflow Operator: Watch the Kogito Serverless Workflow Operator pod kubectl get pod -n kogito-serverless-operator-system --watch A successful installation should have an output like this: Successful Installation Output NAME READY STATUS RESTARTS AGE kogito-serverless-operator-controller-manager-948547ffd-sr2j2 0/2 ContainerCreating 0 6s kogito-serverless-operator-controller-manager-948547ffd-sr2j2 1/2 Running 0 7s kogito-serverless-operator-controller-manager-948547ffd-sr2j2 2/2 Running 0 20s You can also follow the operator’s log: Watch the Kogito Serverless Workflow Operator pod logs kubectl logs deployment/kogito-serverless-operator-controller-manager -n kogito-serverless-operator-system -f Once the operator is running, it will watch for new custom resources (CR) so that you can prepare your environment to be ready to create a new Kogito Serverless Workflow application based on the definitions you will send to the operator. To check if the definitions are correclty installed, try running: Check if the CRDs are correctly installed kubectl get crds | grep kogito kogitoserverlessbuilds.sw.kogito.kie.org 2023-03-08T18:31:15Z kogitoserverlessplatforms.sw.kogito.kie.org 2023-03-08T18:31:15Z kogitoserverlessworkflows.sw.kogito.kie.org 2023-03-08T18:31:15Z To uninstall the Kogito Serverless Workflow Operator, first you should remove all the object instances managed by it. Then, you can delete every object created during the installation. To delete every object instance managed by the workflow in your cluster, you can run these series of commands: Delete every Kogito Serverless Workflow object instances kubectl delete --all workflow --all-namespaces kubectl delete --all kogitoserverlessbuild --all-namespaces kubectl delete --all kogitoserverlessplatform --all-namespaces Alternatively, if you created everything under the same namespace, deleting the given namespace has the same outcome. To uninstall the correct version of the operator, first you must get the current version by running: Getting the operator version kubectl get deployment kogito-serverless-operator-controller-manager -n kogito-serverless-operator-system -o jsonpath=\"{.spec.template.spec.containers[?(@.name=='manager')].image}\" quay.io/kiegroup/kogito-serverless-operator-nightly:1.34.0 The operator manager image reflects the current operator’s version. Replace the major and minor version names in the command below. For example, if the image version is 1.34.0 use 1.34 in the placeholder: Uninstalling the operator kubectl delete -f https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/.x/operator.yaml If you’re running a snapshot version, use this URL instead https://raw.githubusercontent.com/kiegroup/kogito-serverless-operator/main/operator.yaml. Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Developing Workflow Services with the Operator If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Install the Kogito Serverless Workflow Operator","component":"serverlessworkflow","version":"1.40.0.Final","name":"install-serverless-operator","url":"/serverlessworkflow/latest/cloud/operator/install-serverless-operator.html","titles":[{"text":"Prepare a Minikube instance","hash":"_prepare_a_minikube_instance","id":1},{"text":"Install the Kogito Serverless Workflow Operator","hash":"_install_the_kogito_serverless_workflow_operator","id":2},{"text":"Uninstall the Operator","hash":"_uninstall_the_operator","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"52":{"id":52,"text":"The Kogito Serverless Workflow Operator is currently in Alpha version, is under active development. Functions Sysout Rest Custom Functions Expression functions Events Knative Eventing integration. Every Knative Eventing object (brokers, sources, sinks) must be manually configured. States Switch including dataConditions Inject including data with a transition States with Operations including Actions containing functionRef with arguments ExpressionsLang (jq or jsonpath) Configuring the workflow application in development profile Every other feature from the CNCF Serverless Workflow Specification not listed in the section above, is not supported or tested at the moment. Any feature requiring external file configuration such as OpenAPI or Camel Routes is not supported at the moment. The following issues is currently being prioritized. Alignment with Serverless Workflow v0.8 model Implement admission webhooks for workflow validation Manage the Functions included in a Workflow with Operator Enable toggle Workflow CR from devmode to production mode and vice-versa Review build failures and signal the reasoning in the Events API Handle deployment failures in prod profile Evaluate internal registry integration on OpenShift, Kubernetes and Minikube Add support to GET method to Knative custom function Review the need of the knative/kubernetes addons inside the dev profile builder image Knative eventing addon should not provide defaults for incoming/outgoing","title":"Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap","component":"serverlessworkflow","version":"1.40.0.Final","name":"known-issues","url":"/serverlessworkflow/latest/cloud/operator/known-issues.html","titles":[{"text":"Supported Features","hash":"_supported_features","id":1},{"text":"Not Supported Features","hash":"_not_supported_features","id":2},{"text":"Roadmap","hash":"_roadmap","id":3},{"text":"CNCF Specification v0.8 Alignment","hash":"_cncf_specification_v0_8_alignment","id":4},{"text":"Workflow Productization Profile","hash":"_workflow_productization_profile","id":5},{"text":"Knative Integration","hash":"_knative_integration","id":6}]},"53":{"id":53,"text":"This document describes the status and conditions of the KogitoServerlessWorkflow object deployed by the Kogito Serverless Workflow Operator. Kubernetes Status is an important property to observe in order to understand what is currently happening with the object. It can also help you troubleshoot or integrate with other objects in the cluster. The table below lists the general structure of a workflow status: Table 1. Description of KogitoServerlessWorkflow status object Status Description ObservedGeneration Last object generation observed by the status Conditions Current observed workflow conditions Address External or internal workflow access endpoint. Implements the Knative Addressable Interface RecoverFailureAttempts How many attempts the operator tried to recover from a failure The Conditions property might vary depending on the workflow profile. The next sections describe the current implementation. When you deploy a workflow with the development profile, the operator deploys a ready-to-use container with a running workflow instance. The following table lists the possible conditions. Table 2. Conditions Scenarios in Development Condition Status Reason Description Built Unknown In development profile there’s no build process, so this state remains in Unknown status Running True The workflow is running and in healthy state Running False WaitingForDeployment The workflow is waiting for the underlying deployment object to have a minimum availability Running False DeploymentFailure There was a problem with the underlying deployment object. Check the message in this condition and the workflow pod logs for more info Running False DeploymentIsUnavailable The underlying deployment object doesn’t have the minimum availability for this workflow. Check the message in this condition and the workflow pod logs for more info Running False AttemptToRedeployFailed If the workflow deployment is not available, the operator will try to rollout the deployment three times before entering in this stage. Check the message in this condition and the workflow pod logs for more info In normal conditions, the workflow will transition from Running, WaitingForDeployment condition to Running. In case something wrong happens, consult the section Workflow Troubleshooting in Development. Deploying the workflow in Production profile makes the operator to build an immutable image for the workflow service. The build step can be followed by observing the workflow conditions. Table 3. Condition Scenarios in Production Condition Status Reason Description Built False BuildIsRunningReason The build is currently running Built False BuildFailedReason The build has failed and any attempts to have it run failed Built True Last build has finished successfully Running True The workflow is running and in healthy state Running False WaitingForPlatform The workflow can’t have a pod running until a KogitoServerlessPlatform is ready Running False WaitingForBuildReason The workflow is waiting for the build to finish to start running Running False WaitingForDeployment The workflow is waiting for the underlying deployment object to have a minimum availability Running False DeploymentFailure There was a problem with the underlying deployment object. Check the message in this condition and the workflow pod logs for more info Running False DeploymentIsUnavailable The underlying deployment object doesn’t have the minimum availability for this workflow. Check the message in this condition and the workflow pod logs for more info Running False AttemptToRedeployFailed If the workflow deployment is not available, the operator will try to roll out the deployment three times before entering this stage. Check the message in this condition and the workflow pod logs for more info The normal conditions for the workflow resource are to place a KogitoServerlessBuild to run and wait for it to finish. As soon as the image is ready, the workflow transitions to the deployment phase, which is to provision a new workflow service pod to run with the built image. Kogito Serverless Workflow Operator Known Issues, Limitations and Roadmap Developing Workflow Services with the Operator Building and Deploying Workflows with the Operator If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Understanding Workflow Services Status Conditions","component":"serverlessworkflow","version":"1.40.0.Final","name":"workflow-status-conditions","url":"/serverlessworkflow/latest/cloud/operator/workflow-status-conditions.html","titles":[{"text":"General Status","hash":"_general_status","id":1},{"text":"Development Profile Conditions","hash":"_development_profile_conditions","id":2},{"text":"Production Profile Conditions","hash":"_production_profile_conditions","id":3},{"text":"Additional resources","hash":"_additional_resources","id":4},{"text":"Found an issue?","hash":"_found_an_issue","id":5}]},"54":{"id":54,"text":"This document describes how to build a Serverless Application Container image using the Quarkus CLI. Prerequisites A workflow project is created. For more information about creating a workflow project, see Creating your first Serverless Workflow service. Latest version of Docker is installed. Alternatively, you can use Jib to build container images. However, Docker is required to build GraalVM native image using the Quarkus native builder image. Optionally, GraalVM 22.3.0 is installed. Quarkus provides a few extensions to build container images, such as Jib, docker, s2i, and buildpacks. For more information about the Quarkus extensions, see the Quarkus documentation. The examples in this document assume that you have the Quarkus tooling installed. For more information about the tooling, see Getting familiar with Kogito Serverless Workflow tooling. To get started with building workflow images, you can use the serverless-workflow-greeting-quarkus example application. You can skip the following procedure if you already have a workflow application. Procedure Clone the kogito-examples repository and navigate to the serverless-workflow-greeting-quarkus example application. Clone an example application git clone --branch main https://github.com/kiegroup/kogito-examples.git cd kogito-examples/serverless-workflow-examples/serverless-workflow-greeting-quarkus To run the example application, follow the instructions in Creating your first workflow service. Install the Quarkus command line interface (CLI). For more information, see Installing the Quarkus CLI. Add the required Quarkus extension using Quarkus CLI: Add the Jib extension The kogito-examples already have this extension added by default, and can be activated with the container Maven profile. The steps to add the extension in your Serverless Workflow application are: quarkus extension add 'container-image-jib' After adding the Jib extension, you can verify the newly added dependency in the pom.xml file: Verify the Jib extension io.quarkus quarkus-container-image-jib After installing the required tooling, you can start building your workflow application. Prerequisites You have created a Quarkus project. Quarkus CLI is installed. For more information about installing the Quarkus CLI, see Installing the Quarkus CLI. Procedure In a command terminal, navigate to your Quarkus project. To build your workflow application on Quarkus, set the quarkus.container-image.build property value to true and run the following command: Build your workflow application quarkus build -Dquarkus.container-image.build=true The previous command builds your image with name: {system_username}/{project_artifactId}:{project_version}. Optionally, you can set the following properties to specify the image: quarkus.container-image.registry: To define the registry address of the image, such as quay.io. When using OpenShift use the provided registry. quarkus.container-image.group: To define the registry namespace of the image. For example, context/namespace or in case of Kubernetes or OpenShift namespace/project. quarkus.container-image.name: To override the image name. By default, this property uses artifact ID. Build your workflow application with specific image information quarkus build -Dquarkus.container-image.build=true \\ -Dquarkus.container-image.group=kogito \\ -Dquarkus.container-image.name=serverless-workflow-greeting-quarkus \\ -Dquarkus.container-image.tag=1.0 \\ -Dquarkus.container-image.registry=quay.io The added Jib extension caches the target/lib directory. Based on the size of your project, Jib speeds up the rebuilds. You can also push your workflow application to the defined registry. You need to set the quarkus.container-image.push property value to true (default value is false). Example of pushing the built workflow application to a registry quarkus build -Dquarkus.container-image.build=true \\ -Dquarkus.container-image.group=kogito \\ -Dquarkus.container-image.name=serverless-workflow-greeting-quarkus \\ -Dquarkus.container-image.tag=1.0 \\ -Dquarkus.container-image.registry=quay.io \\ -Dquarkus.container-image.push=true The previous command results in the following container image pushed to quay.io: quay.io/kogito/serverless-workflow-greeting-quarkus:1.0 Alternatively, you can create an Apache Maven profile to build the container image, which can be triggered by setting the target profile. Example Apache Maven profile build-container true kogito serverless-workflow-greeting-quarkus 1.0 quay.io true You can activate the created Apache Maven profile using Quarkus CLI: Activate the Apache Maven profile quarkus build -- -Pbuild-container When it comes to workflows, a small startup footprint is expected, which can be better when using the native builds to build a workflow application. Prerequisites You have created a Quarkus project. Quarkus CLI is installed. For more information about installing the Quarkus CLI, see Installing the Quarkus CLI. Procedure In a command terminal, navigate to your Quarkus project. To build a native image, pass the --native flag using Quarkus CLI: Example of building a native image quarkus build --native -Dquarkus.container-image.build=true \\ -Dquarkus.container-image.group=kogito \\ -Dquarkus.container-image.name=serverless-workflow-greeting-quarkus \\ -Dquarkus.container-image.tag=1.0-native \\ -Dquarkus.container-image.registry=quay.io The previous command results in the following container image: quay.io/kogito/serverless-workflow-greeting-quarkus:1.0-native In case GraalVM is not installed, you can set the -Dquarkus.native.container-build=true system property, which creates a Linux executable. Configure Docker to use the in-cluster (Remote) Docker daemon When build Container Images using a remote Docker Daemon, i.e. Minikube, you need to use the following system property instead of -Dquarkus.native.container-build=true System property to use a remote Docker Daemon -Dquarkus.native.remote-container-build=true For more information about native builds, see Building a native executable. After building your workflow image using Quarkus CLI, you can test the built image. Prerequisites Latest version of Docker is installed. Procedure Start JVM and native Container Images. Example JVM image Example native image docker run -it -p 8080:8080 quay.io/kogito/serverless-workflow-greeting-quarkus:1.0 ... INFO [io.quarkus] (main) serverless-workflow-greeting-quarkus 1.22.1.Final on JVM (powered by Quarkus 2.9.2.Final) started in 1.302s docker run -it -p 8080:8080 quay.io/kogito/serverless-workflow-greeting-quarkus:1.0-native ... INFO [io.quarkus] (main) serverless-workflow-greeting-quarkus 1.22.1.Final native (powered by Quarkus 2.9.2.Final) started in 0.039s Note that the startup of native image is faster than the JVM image. To invoke the workflow application, execute the following command once the container is started: Example request Example response curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://localhost:8080/jsongreet { \"id\": \"2acf710d-7e4a-481d-925c-dfd85a369987\", \"workflowdata\": { \"name\": \"John\", \"language\": \"English\", \"greeting\": \"Hello from JSON Workflow, \" } } Deploying your Kogito Serverless Workflow application on Minikube Deploying your Kogito Serverless Workflow application on Kubernetes Deploying your Kogito Serverless Workflow application on OpenShift If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Building workflow images using Quarkus CLI","component":"serverlessworkflow","version":"1.40.0.Final","name":"build-workflow-image-with-quarkus-cli","url":"/serverlessworkflow/latest/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","titles":[{"text":"Using an example application","hash":"proc-using-example-application","id":1},{"text":"Building the workflow application","hash":"proc-building-serverless-workflow-application","id":2},{"text":"Building the workflow application using a native image","hash":"proc-building-serverless-workflow-application-using-native-image","id":3},{"text":"Testing your workflow image","hash":"proc-testing-serverless-workflow-image","id":4},{"text":"Additional resources","hash":"_additional_resources","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"55":{"id":55,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"build-workflow-images-with-tekton","url":"/serverlessworkflow/latest/cloud/quarkus/build-workflow-images-with-tekton.html","titles":[]},"56":{"id":56,"text":"This document describes how to deploy a Kogito Serverless Workflow application using a Kubernetes cluster, along with a procedure to run the Knative platform. Prerequisites Your Kogito Serverless Workflow application is ready to use. For more information about building the application container, see Building workflow images using Quarkus CLI. Kubernetes Cluster is available kubectl command-line tool is installed Knative CLI is installed. For more information, see Install the Knative CLI. Knative workflow CLI is installed. For more information see Serverless Workflow plug-in for Knative CLI. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Before proceeding further, make sure that you have access to the Kubernetes cluster with Knative available. To make sure Knative is available, it can be checked with the commands below: Verify if Knative is available kubectl get services -n knative-serving NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE activator-service ClusterIP 10.97.110.167 9090/TCP,8008/TCP,80/TCP,81/TCP,443/TCP 44m autoscaler ClusterIP 10.98.64.78 9090/TCP,8008/TCP,8080/TCP 44m autoscaler-bucket-00-of-01 ClusterIP 10.111.19.134 8080/TCP 44m controller ClusterIP 10.98.150.141 9090/TCP,8008/TCP 44m default-domain-service ClusterIP 10.106.202.150 80/TCP 43m domainmapping-webhook ClusterIP 10.102.87.208 9090/TCP,8008/TCP,443/TCP 44m net-kourier-controller ClusterIP 10.100.120.208 18000/TCP 43m webhook ClusterIP 10.108.153.180 9090/TCP,8008/TCP,443/TCP 44m For more information on how to figure out if Knative is installed please refer to this link. If not, follow the installation steps described in the Knative documentation. Once Knative is ready, you can initiate the process of deploying your Kogito Serverless Workflow application on Kubernetes. Prerequisites Kubernetes with Knative is ready. Knative is ready. For more information, see Verifying Knative on Kubernetes. Knative CLI is installed. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Your Kogito Serverless Workflow application is ready to use. By default, Kubernetes does not have any registry installed. You can check with the administrator if a private registry is available. Otherwise, you can publish the Application Container image on the Quay.io, or on any other registry of your preference. If the registry requires authentication you need to create a Pull Secret with the registry credentials, for more information please take a look in this link. Procedure Create serverless-workflow-greeting-quarkus namespace using the following command: Create namespace kubectl create namespace serverless-workflow-greeting-quarkus Set the Kubernetes context to the newly created namespace using the following command: Set Kubernetes context to a namespace kubectl config set-context --current --namespace=serverless-workflow-greeting-quarkus After setting the context, all kubectl commands will use the selected namespace. You can use the following command to verify the current namespace: Verify the current namespace kubectl config view --minify -o jsonpath='{..namespace}' Deploy your Kogito Serverless Workflow application on Kubernetes. The next step is to deploy your workflow application and execute it. You can read the further sections on the different procedures to deploy your Kogito Serverless Workflow application. You can use the native image due to the faster startup. In the following procedures, you can find different approaches to deploy your workflow application, such as: Using Knative CLI (kn) Using kubectl command-line tool Using Quarkus CLI For this tutorial, we use the default-domain provided by Knative that configures Knative Serving to use the Magic DNS for naming resolution, for more details please check the Knative documentation. Once you have pushed your workflow application into the target registry, you can use the command-line tools, such as Knative CLI or Kubernetes CLI to initiate the deployment process. Prerequisites Workflow application is installed. Knative CLI is installed. For more information, see Install the Knative CLI. Procedure In a command terminal, execute the following command to deploy your workflow application using Knative CLI: Example of deploying workflow application using Knative CLI kn service create hello-workflow \\ --image=quay.io/kiegroup/serverless-workflow-greeting-quarkus:1.0 \\ --pull-policy=IfNotPresent \\ --port 8080 Example output Creating service 'hello-workflow' in namespace 'serverless-workflow-greeting-quarkus': 0.066s The Route is still working to reflect the latest desired specification. 0.099s ... 0.322s Configuration \"hello-workflow\" is waiting for a Revision to become ready. 4.885s ... 5.061s Ingress has not yet been reconciled. 5.322s Waiting for load balancer to be ready 5.460s Ready to serve. Service 'hello-workflow' created to latest revision 'hello-workflow-00001' is available at URL: http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io Depending on the cluster type where you have deployed the workflow application, the service URL might be different. Pay attention to the output to use the correct URL in the next topic. Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} You can also use kubectl command-line interface and plain Kubernetes objects to deploy your workflow application. And, instead of creating knative yaml|json descriptors, you can leverage the Quarkus Kubernetes extension and Kogito Knative add-on to generate the descriptors. Prerequisites Kogito Workflow application ready to use. Kubernetes CLI command-line tool is installed. (Optional) Quarkus CLI is installed For more information about installing the Quarkus CLI, see Installing the Quarkus CLI. Procedure Add the Quarkus extensions to generate knative yaml|json descriptors. To use the Quarkus Kubernetes extension and Kogito Knative add-on, ensure that the following dependencies are available in the pom.xml file and Gradle: pom.xml Gradle Quarkus CLI org.kie.kogito kogito-addons-quarkus-knative-eventing io.quarkus quarkus-kubernetes quarkus-kubernetes 'io.quarkus:quarkus-kubernetes:2.16.7.Final' quarkus-kubernetes 'org.kie.kogito:kogito-addons-quarkus-knative-eventing:1.40.0.Final' quarkus ext add org.kie.kogito:kogito-addons-quarkus-knative-eventing quarkus-openshift1.40.0.Final' To generate the knative yaml|json descriptors, set the following properties in the application.properties file of your workflow application: System properties to generate knative descriptors quarkus.kubernetes.deployment-target=knative quarkus.knative.name=hello-workflow Build your workflow application. Once you have built your application, you can find the generated descriptors files in the target/kubernetes directory: knative.json knative.yml The image used in this section is the one built in the following guide: Build Workflow Image with Quarkus CLI. Following is an example of the generated files: Knative descriptor example for a workflow application --- apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: app.quarkus.io/commit-id: 06c3fe8e2dfc42e2211cbcc41224f5a3d6bd1f26 app.quarkus.io/build-timestamp: 2022-06-23 - 23:53:38 +0000 labels: app.kubernetes.io/name: hello-workflow name: hello-workflow spec: template: metadata: labels: app.kubernetes.io/name: hello-workflow spec: containerConcurrency: 0 containers: - image: quay.io/kiegroup/serverless-workflow-greeting-quarkus:1.0-native livenessProbe: failureThreshold: 3 httpGet: path: /q/health/live port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 name: hello-workflow ports: - containerPort: 8080 name: http1 protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /q/health/ready port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 Once the files are generated, you must add the imagePullPolicy manually before deploying the workflow application. Enter the following command to deploy the workflow application using kubectl: Deploy the workflow application using kubectl kubectl apply -f target/kubernetes/knative.yml Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} Prerequisites Workflow application is ready. Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Procedure Add the Quarkus extensions to deploy the knative service. You can add the Kubernetes and the Kogito Knative extensions to your project with the Quarkus CLI: Add Kubernetes and Kogito Knative extensions to the project with Quarkus CLI quarkus ext add quarkus-kubernetes kogito-addons-quarkus-knative-eventing To deploy the workflow application using Quarkus CLI, set the following system properties in application.properties file: Required system properties quarkus.knative.name=hello-workflow (1) quarkus.kubernetes.deployment-target=knative (2) quarkus.kubernetes.deploy=true (3) quarkus.container-image.push=true (4) quarkus.container-image.group=kiegroup (5) quarkus.container-image.registry=quay.io (6) quarkus.container-image.tag=1.0-SNAPSHOT (7) 1 Property to set the Knative service name 2 Property to set the target deployment type 3 Property to set whether or not deploy on an active Kubernetes cluster 4 Property to push or not the Container image to the given registry 5 Property to define which registry group/namespace the built image belongs to 6 Property to define to which registry the built image will be pushed to 7 Sets the built Container Image tag This feature works with Quarkus 2.10.2.Final or later. For more information, see link. Build and Deploy your workflow application quarkus build -DskipTests The kogito-examples already have this extension added by default, and can be activated with the container Maven profile. Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Deploying your Serverless Workflow application on Kubernetes","component":"serverlessworkflow","version":"1.40.0.Final","name":"deploying-on-kubernetes","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-kubernetes.html","titles":[{"text":"Verifying Knative availability on Kubernetes","hash":"proc-verify-knative-kubernetes","id":1},{"text":"Deploying your workflow application on Kubernetes","hash":"proc-deploy-sw-application-kubernetes","id":2},{"text":"Deploying your workflow application using Knative CLI","hash":"proc-deploy-sw-application-knative-cli","id":3},{"text":"Deploying your workflow application using Kubernetes CLI","hash":"proc-deploy-sw-application-kubectl","id":4},{"text":"Deploying your workflow application using Quarkus CLI","hash":"proc-deploy-sw-application-quarkus-cli","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"57":{"id":57,"text":"This document describes how to deploy your workflow application using a local Kubernetes cluster, such as Minikube, along with a procedure to run the Knative platform. For more information about Minikube and related system requirements, see Getting started with Minikube documentation. Prerequisites Your Kogito Serverless Workflow application is ready to use. For more information about building the application container, see Building workflow images using Quarkus CLI. Minikube is installed kubectl command-line tool is installed. Otherwise, Minikube handles it. Knative CLI is installed. For more information, see Install the Knative CLI. Knative workflow CLI is installed. For more information see Serverless Workflow plug-in for Knative CLI. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). To deploy your workflow application on Minikube, you need to install Knative on Minikube. However, first you need to ensure that Minikube is installed correctly. You can check the Minikube installation by entering the following commands in a command terminal: Verify Minikube version minikube version Verify Knative CLI version kn version Verify kubectl CLI version kubectl version If kubectl is not installed, then Minikube handles it when you execute the following command: kubectl is available using Minikube alias kubectl=\"minikube kubectl --\" Once you verify the Minikube and Knative CLI installation, you can install Knative on Minikube. Prerequisites Minikube is installed. Knative CLI is installed. For more information, see Install the Knative CLI. Procedure Open a command terminal and install Knative on Minikube. Configure Knative on Minikube. Knative CLI offers quickstart plug-in, which provides the required configurations. For information about installing the quickstart plug-in, see Install Knative using quickstart. After configuring the plug-in, execute the following command to configure a Minikube profile: Configure a Minikube profile kn quickstart minikube The previous command configures a Minikube profile called knative. After creating a Minikube profile, all Minikube commands use the created profile. To list the available Minikube profiles, enter the following command: List the available Minikube profiles minikube profile list Enter the following command to open the Minikube web console on the knative profile: Open Minikube web console minikube dashboard --profile knative The previous command opens the Kubernetes Management console in your browser. If the console is not opened, you can go to the URL that is returned. To follow the manual process of installing Knative on Minikube, see Knative tutorial on Minikube. Once you install Knative on Minikube, you can initiate the process of deploying your workflow application on Minikube. Prerequisites Minikube is installed. Knative is ready. For more information, see Installing Knative on Minikube. Knative CLI is installed. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Your Kogito Serverless Workflow application is ready to use. Procedure In a command terminal, enter the following command to configure Docker to use the in-cluster Docker daemon: Configure Docker to use in-cluster Docker Daemon eval $(minikube -p minikube docker-env --profile knative) Build your application to store it in the Minikube registry. If your workflow application container image is built before configuring Docker to use the in-cluster Docker daemon, then you might need to build the image again so that the image is available in the Minikube registry. If you are building native container images, ensure that you use the following system property to use Minikube Docker Daemon: System property to build container images -Dquarkus.native.remote-container-build=true You might be required to tag the container images using one of the following registry: ko.local dev.local For more information, see How to use locally built docker image. In that case, use the -Dquarkus.container-image.registry=some_of_the_values_above property to enable Knative fetch the container images from Minikube Docker Daemon. If you do not use the values, you might need to set the imagePullPolicy to Never or IfNotPresent, otherwise, Minikube pulls the images from a remote registry. This behavior can be avoided by tagging the image using previously listed domains. In a separate command terminal window, start the Minikube tunnel using the Knative profile to prepare the environment: Start Minikube tunnel using Knative profile minikube tunnel --profile knative The previous command starts in a loop. Therefore, this command must be running throughout the process mentioned in this document. On Mac and Windows, you might be required to provide the user password. Example tunnel output Status: machine: knative pid: 124859 route: 10.96.0.0/12 -> 192.168.58.2 minikube: Running services: [kourier] errors: minikube: no errors router: no errors loadbalancer emulator: no errors After starting the Minikube tunnel, create serverless-workflow-greeting-quarkus namespace using the following command: Create namespace kubectl create namespace serverless-workflow-greeting-quarkus Set the Kubernetes context to the newly created namespace using the following command: Set Kubernetes context to a namespace kubectl config set-context --current --namespace=serverless-workflow-greeting-quarkus After setting the context, all kubectl commands will use the selected namespace. You can use the following command to verify the current namespace: Verify the current namespace kubectl config view --minify -o jsonpath='{..namespace}' Deploy your Kogito Serverless Workflow application using the Minikube registry. The next step is to deploy your workflow application and execute it. You can read the further sections on the different procedures to deploy your Kogito Serverless Workflow application. You can use the native image due to the faster startup. In the following procedures, you can find different approaches to deploy your workflow application, such as: Using Knative CLI (kn) Using kubectl command-line tool Using Quarkus CLI Once you have pushed your workflow application into the Minikube’s registry, you can use the command-line tools, such as Knative CLI or Kubernetes CLI to initiate the deployment process. Prerequisites Workflow application is installed. Knative CLI is installed. For more information, see Install the Knative CLI. Procedure In a command terminal, execute the following command to deploy your workflow application using Knative CLI: Example of deploying workflow application using Knative CLI kn service create hello-workflow \\ --image=dev.local/kogito/serverless-workflow-greeting-quarkus:1.0 \\ --pull-policy=IfNotPresent \\ --port 8080 Example output Creating service 'hello-workflow' in namespace 'serverless-workflow-greeting-quarkus': 0.066s The Route is still working to reflect the latest desired specification. 0.099s ... 0.322s Configuration \"hello-workflow\" is waiting for a Revision to become ready. 4.885s ... 5.061s Ingress has not yet been reconciled. 5.322s Waiting for load balancer to be ready 5.460s Ready to serve. Service 'hello-workflow' created to latest revision 'hello-workflow-00001' is available at URL: http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io Depending on the cluster type where you have deployed the workflow application, the service URL might be different. Pay attention to the output to use the correct URL in the next topic. Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} You can also use kubectl command-line interface and plain Kubernetes objects to deploy your workflow application. And, instead of creating knative yaml|json descriptors, you can leverage the Quarkus Kubernetes extension and Kogito Knative add-on to generate the descriptors. Prerequisites Kogito Workflow application ready to use. Kubernetes CLI command-line tool is installed. (Optional) Quarkus CLI is installed For more information about installing the Quarkus CLI, see Installing the Quarkus CLI. Procedure Add the Quarkus extensions to generate knative yaml|json descriptors. To use the Quarkus Kubernetes extension and Kogito Knative add-on, ensure that the following dependencies are available in the pom.xml file and Gradle: pom.xml Gradle Quarkus CLI org.kie.kogito kogito-addons-quarkus-knative-eventing io.quarkus quarkus-kubernetes quarkus-kubernetes 'io.quarkus:quarkus-kubernetes:2.16.7.Final' quarkus-kubernetes 'org.kie.kogito:kogito-addons-quarkus-knative-eventing:1.40.0.Final' quarkus ext add org.kie.kogito:kogito-addons-quarkus-knative-eventing quarkus-openshift1.40.0.Final' To generate the knative yaml|json descriptors, set the following properties in the application.properties file of your workflow application: System properties to generate knative descriptors quarkus.kubernetes.deployment-target=knative quarkus.knative.name=hello-workflow Build your workflow application. Once you have built your application, you can find the generated descriptors files in the target/kubernetes directory: knative.json knative.yml The image used in this section is the one built in the following guide: Build Workflow Image with Quarkus CLI. Following is an example of the generated files: Knative descriptor example for a workflow application --- apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: app.quarkus.io/commit-id: 06c3fe8e2dfc42e2211cbcc41224f5a3d6bd1f26 app.quarkus.io/build-timestamp: 2022-06-23 - 23:53:38 +0000 labels: app.kubernetes.io/name: hello-workflow name: hello-workflow spec: template: metadata: labels: app.kubernetes.io/name: hello-workflow spec: containerConcurrency: 0 containers: - image: dev.local/kogito/serverless-workflow-greeting-quarkus:1.0-native livenessProbe: failureThreshold: 3 httpGet: path: /q/health/live port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 name: hello-workflow ports: - containerPort: 8080 name: http1 protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /q/health/ready port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 Once the files are generated, you must add the imagePullPolicy manually before deploying the workflow application. Enter the following command to deploy the workflow application using kubectl: Deploy the workflow application using kubectl kubectl apply -f target/kubernetes/knative.yml Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} Prerequisites Workflow application is ready. Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Procedure Add the Quarkus extensions to deploy the knative service. You can add the {platform} and the Kogito Knative extensions to your project with the Quarkus CLI: Add {platform} and Kogito Knative extensions to the project with Quarkus CLI quarkus ext add quarkus-kubernetes kogito-addons-quarkus-knative-eventing To deploy the workflow application using Quarkus CLI, set the following system properties in application.properties file: Required system properties quarkus.knative.name=hello-workflow (1) quarkus.kubernetes.deployment-target=knative (2) quarkus.kubernetes.deploy=true (3) quarkus.container-image.push=false (4) quarkus.container-image.group=kogito (5) quarkus.container-image.registry=dev.local (6) quarkus.container-image.tag=1.0-SNAPSHOT (7) 1 Property to set the Knative service name 2 Property to set the target deployment type 3 Property to set whether or not deploy on an active {platform} cluster 4 Property to whether or not push images. False when using Minikube’s remote Docker daemon to avoid image validation 5 Property to define which registry group/namespace the built image belongs to 6 Property to define to which registry the built image will be pushed to 7 Sets the built Container Image tag This feature works with Quarkus 2.10.2.Final or later. For more information, see link. Build and Deploy your workflow application quarkus build -DskipTests The kogito-examples already have this extension added by default, and can be activated with the container Maven profile. Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} Verify if the workflow application is deployed correctly: On Kubernetes CLI On Knative CLI kubectl get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Deploying your Kogito Serverless Workflow application on Minikube","component":"serverlessworkflow","version":"1.40.0.Final","name":"deploying-on-minikube","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-minikube.html","titles":[{"text":"Installing Knative on Minikube","hash":"proc-install-knative-minikube","id":1},{"text":"Deploying your workflow application on Minikube","hash":"proc-deploy-sw-application-minikube","id":2},{"text":"Deploying your workflow application using Knative CLI","hash":"proc-deploy-sw-application-knative-cli","id":3},{"text":"Deploying your workflow application using Kubernetes CLI","hash":"proc-deploy-sw-application-kubectl","id":4},{"text":"Deploying your workflow application using Quarkus CLI","hash":"proc-deploy-sw-application-quarkus-cli","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"58":{"id":58,"text":"This document describes how to deploy a Kogito Serverless Workflow application using a OpenShift cluster, along with a procedure to run the OpenShift Serverless Operator, which is based on Knative. Prerequisites Your Kogito Serverless Workflow application is ready to use. OpenShift CLI is installed. Knative CLI is installed. Knative CLI workflow plugin is installed. Podman If you are using Docker, you might need to update the commands accordingly. (Optional) Quarkus CLI is installed. For the following steps we will be using the OpenShift Local. However, the steps described here can be used on any OpenShift 4.x version that has support for OpenShift Serverless. If you already have an OpenShift cluster available you can skip this section. Instructions to install Openshift Local can be found here. Once you have OpenShift Local running, proceed to the next topic. If you are running OpenShift Local on Mac with M1 processors, you might not find the OpenShift Serverless Operator available. Before proceeding further, make sure that you have access to the OpenShift cluster, the OpenShift Serverless operator is properly installed and the Knative Serving is ready for use. For more information on each topic, please refer the following guides: Installing OpenShift Serverless Operator. Installing Knative Serving. Installing Knative Eventing. Knative Eventing is not required for this guide, however it is important to mention how to install it, if required by your Kogito Serverless Workflow application. If you get error messages related to Istio, this article might be helpful. Once Knative Serving is ready, you can initiate the process of deploying your Kogito Serverless Workflow application on OpenShift. Prerequisites OpenShift with Red Hat OpenShift Serverless is ready. Knative is ready. For more information, see Knative Serving. Knative CLI is installed. (Optional) Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Your Kogito Serverless Workflow application is ready to use. After checking the prerequisites, prepare the project that will be used to deploy your application: Procedure Create project oc new-project kogito-serverless Set the Kubernetes context to the newly created namespace using the following command: Set OpenShift current project oc project kogito-serverless You can use the native image for a faster startup. OpenShift comes with a registry where you can push your images built locally to be deployed. First, let’s check if the Registry is already exposed, to do that, check if the route is exposed: Check whether the OpenShift registry is exposed oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}' If no information or an error is returned, it does mean that the registry is not exposed. To expose the registry follow these steps. Now that we have the OpenShift registry exposed, let’s store into the OPENSHIFT_REGISTRY_URL environment variable, so we can use it easily in the next steps: Retrieve the OpenShift registry OPENSHIFT_REGISTRY_URL=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}') The OpenShift’s registry requires you to be logged in to be allowed to push Container Images. If you are already logged in the cluster you can use your token to authenticate to the OpenShift’s registry: Log in to the OpenShift’s registry podman login -u -p $(oc whoami -t) --tls-verify=false $OPENSHIFT_REGISTRY_URL If everything is working, you should get the Login Succeeded! message. Pushing Kogito Serverless Workflow Application To OpenShift’s registry First step, get the Container Image tag built previously: podman images With the Container Image, use the following command to tag the application image with the OpenShift’s registry and the namespace being used: podman tag $OPENSHIFT_REGISTRY_URL/kogito-serverless/serverless-workflow-greeting-quarkus:1.0 Then, push: podman push $OPENSHIFT_REGISTRY_URL/kogito-serverless/serverless-workflow-greeting-quarkus:1.0 The kogito-serverless is the current project/namespace created earlier to deploy your Kogito Serverless Workflow application. The next step is to deploy your workflow application and execute it. You can read further the next sections which explain different approaches to deploy your Kogito Serverless Workflow application: In the next steps you will notice the value image-registry.openshift-image-registry.svc:5000 being used. It is the internal OpenShift’s registry address where the images of the deployments will pulled from. Note that, the Container Image pushed in the previous step will be queried as image-registry.openshift-image-registry.svc:5000/kogito-serverless/serverless-workflow-greeting-quarkus:1.0 Using Knative CLI (kn) Using OpenShift command-line tool Using Quarkus CLI Once you have pushed your workflow application into the OpenShift’s registry, you can use the command-line tools, such as Knative CLI or OpenShift CLI to initiate the deployment process. Prerequisites Workflow application is installed. Knative CLI is installed. For more information, see Install the Knative CLI. Procedure In a command terminal, execute the following command to deploy your workflow application using Knative CLI: Example of deploying workflow application using Knative CLI kn service create hello-workflow \\ --image=image-registry.openshift-image-registry.svc:5000/kogito-serverless/serverless-workflow-greeting-quarkus:1.0 \\ --pull-policy=IfNotPresent \\ --port 8080 Example output Creating service 'hello-workflow' in namespace 'serverless-workflow-greeting-quarkus': 0.066s The Route is still working to reflect the latest desired specification. 0.099s ... 0.322s Configuration \"hello-workflow\" is waiting for a Revision to become ready. 4.885s ... 5.061s Ingress has not yet been reconciled. 5.322s Waiting for load balancer to be ready 5.460s Ready to serve. Service 'hello-workflow' created to latest revision 'hello-workflow-00001' is available at URL: http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io Depending on the cluster type where you have deployed the workflow application, the service URL might be different. Pay attention to the output to use the correct URL in the next topic. Verify if the workflow application is deployed correctly: On OpenShift CLI On Knative CLI oc get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} You can also use oc command-line interface and plain Kubernetes objects to deploy your workflow application. And, instead of creating knative yaml|json descriptors, you can leverage the Quarkus Kubernetes extension and Kogito Knative add-on to generate the descriptors. Prerequisites Kogito Workflow application ready to use. OpenShift CLI command-line tool is installed. (Optional) Quarkus CLI is installed For more information about installing the Quarkus CLI, see Installing the Quarkus CLI. Procedure Add the Quarkus extensions to generate knative yaml|json descriptors. To use the Quarkus Kubernetes extension and Kogito Knative add-on, ensure that the following dependencies are available in the pom.xml file and Gradle: pom.xml Gradle Quarkus CLI org.kie.kogito kogito-addons-quarkus-knative-eventing io.quarkus quarkus-openshift quarkus-kubernetes 'io.quarkus:quarkus-openshift:2.16.7.Final' quarkus-kubernetes 'org.kie.kogito:kogito-addons-quarkus-knative-eventing:1.40.0.Final' quarkus ext add org.kie.kogito:kogito-addons-quarkus-knative-eventing quarkus-openshift1.40.0.Final' To generate the knative yaml|json descriptors, set the following properties in the application.properties file of your workflow application: System properties to generate knative descriptors quarkus.kubernetes.deployment-target=knative quarkus.knative.name=hello-workflow Build your workflow application. Once you have built your application, you can find the generated descriptors files in the target/kubernetes directory: knative.json knative.yml The image used in this section is the one built in the following guide: Build Workflow Image with Quarkus CLI. Following is an example of the generated files: Knative descriptor example for a workflow application --- apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: app.quarkus.io/commit-id: 06c3fe8e2dfc42e2211cbcc41224f5a3d6bd1f26 app.quarkus.io/build-timestamp: 2022-06-23 - 23:53:38 +0000 labels: app.kubernetes.io/name: hello-workflow name: hello-workflow spec: template: metadata: labels: app.kubernetes.io/name: hello-workflow spec: containerConcurrency: 0 containers: - image: image-registry.openshift-image-registry.svc:5000/kogito-serverless/serverless-workflow-greeting-quarkus:1.0-native livenessProbe: failureThreshold: 3 httpGet: path: /q/health/live port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 name: hello-workflow ports: - containerPort: 8080 name: http1 protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /q/health/ready port: null scheme: HTTP initialDelaySeconds: 0 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 10 Once the files are generated, you must add the imagePullPolicy manually before deploying the workflow application. Enter the following command to deploy the workflow application using oc: Deploy the workflow application using oc oc apply -f target/kubernetes/knative.yml Verify if the workflow application is deployed correctly: On OpenShift CLI On Knative CLI oc get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} Prerequisites Workflow application is ready. Quarkus CLI is installed. For more information, see Building Quarkus Apps with Quarkus command line interface (CLI). Procedure Add the Quarkus extensions to deploy the knative service. You can add the OpenShift and the Kogito Knative extensions to your project with the Quarkus CLI: Add OpenShift and Kogito Knative extensions to the project with Quarkus CLI quarkus ext add quarkus-openshift kogito-addons-quarkus-knative-eventing To deploy the workflow application using Quarkus CLI, set the following system properties in application.properties file: Required system properties quarkus.knative.name=hello-workflow (1) quarkus.kubernetes.deployment-target=knative (2) quarkus.kubernetes.deploy=true (3) quarkus.container-image.push=true (4) quarkus.container-image.group=kogito-serverless (5) quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000 (6) quarkus.container-image.tag=1.0-SNAPSHOT (7) 1 Property to set the Knative service name 2 Property to set the target deployment type 3 Property to set whether or not deploy on an active OpenShift cluster 4 This property should be removed if deploying on OpenShift Clusters 5 Property to define which registry group/namespace the built image belongs to 6 Property to define to which registry the built image will be pushed to 7 Sets the built Container Image tag This feature works with Quarkus 2.10.2.Final or later. For more information, see link. Build and Deploy your workflow application quarkus build -DskipTests The kogito-examples already have this extension added by default, and can be activated with the container Maven profile. Verify if the workflow application is deployed correctly: On OpenShift CLI On Knative CLI oc get services.serving.knative.dev hello-workflow kn service list hello-workflow Example output NAME URL LATEST AGE CONDITIONS READY REASON hello-workflow http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io hello-workflow-00001 7m6s 3 OK / 3 True Use the URL in the output to send request to your workflow application. Example request curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{\"name\": \"John\", \"language\": \"English\"}' http://hello-workflow.serverless-workflow-greeting-quarkus.10.103.94.37.sslip.io/jsongreet Example response {\"id\":\"0f77abce-837e-4bd2-b4f1-a0e5e0265fcb\",\"workflowdata\":{\"name\":\"John\",\"language\":\"English\",\"greeting\":\"Hello from JSON Workflow, \"}} If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Deploying your Kogito Serverless Workflow application on OpenShift","component":"serverlessworkflow","version":"1.40.0.Final","name":"deploying-on-openshift","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-openshift.html","titles":[{"text":"Installing OpenShift Local","hash":"proc-install-openshift-local","id":1},{"text":"Deploying your workflow application on OpenShift","hash":"proc-deploy-sw-application-openshift","id":2},{"text":"Preparing the OpenShift’s Registry","hash":"_preparing_the_openshifts_registry","id":3},{"text":"Deploying your workflow application using Knative CLI","hash":"proc-deploy-sw-application-knative-cli","id":4},{"text":"Deploying your workflow application using OpenShift CLI","hash":"proc-deploy-sw-application-openfhift-client","id":5},{"text":"Deploying your workflow application using Quarkus CLI","hash":"proc-deploy-sw-application-quarkus-cli","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"59":{"id":59,"text":"The Kubernetes service discovery allows you to describe the Kubernetes resource you want to perform HTTP requests on using a custom URI. Under the hood, it will discover the network endpoint (URL) to where to make the request. The Kubernetes service discovery feature works during the workflow application startup, in which this feature scans all the Quarkus configurations in search of the URI pattern. Therefore, you must remember that if the application startup time matters, consider using a known static URL instead. Following is the custom URI pattern in Kubernetes service discovery: URI pattern in Kubernetes service discovery kubernetes:..//?= \\________/ \\____/ \\_______/ \\_____/ \\_________/ \\____________/ \\______________________________/ scheme kind version group namespace resourceName additional resource attributes \\____________________/ \\__________________________/ GVK Supported values: - port-name={PORT_NAME} - labels=label-name=label-value;other-label=other-value The following scheme values are supported in the URI pattern: kubernetes openshift knative The following resources are supported for the Kubernetes GVK (Group, Version, and Kind): services.v1 services.v1.serving.knative.dev pods.v1 deployments.v1.apps deploymentconfigs.v1.apps.openshift.io statefulsets.v1.apps routes.v1.route.openshift.io ingresses.v1.networking.k8s.io When using knative, you can also use a simplified URI like: knative:/ The above URI looks directly for services.v1.serving.knative.dev resource. The namespace in the URI is optional, however, if namespace contains an empty value, the current namespace or context is used. Query parameters in URI Also known as query string. The query parameters are defined the similar way with URLs to assign value to specific attributes. The following query parameters help the engine to be more precise when querying for a given Kubernetes resource: Custom labels: The custom labels are used to filter services in case there are more than one service with the same label selector but exposing different ports. In this case, you can instruct the engine that if more than one service is found, then the engine must use the service containing the provided label. The label is defined with the following expression and in case of multiple labels, you can use semicolon (;): labels=label-name=namevalue;another-label=another-value Example label definition in URI kubernetes:pods.v1//?labels=label-name=test-label Using the previous URI example, if there are more than one service exposing the given pod, the label-name=test-label label is used to filter the service. If the label does not exist, the first found service is used. Custom port name: The custom port name is used to determine which port to use when multiple ports are configured in the target service or container. You can configure the port name to be queried using the following pattern: port-name= There is no specific configuration required for the Kubernetes service discovery except by using the expected URI pattern. However, the okhttp communication interceptor, which logs the communication between the application and the Kubernetes API is disabled by default. You can enable the okhttp communication interceptor if there is a need to debug the communication between the client and the Kubernetes API by setting the following application property: Application property to enable okhttp communication interceptor quarkus.log.category.\"okhttp3.OkHttpClient\".level=INFO Based on the resource to be discovered, the Kubernetes service discovery follows specific paths as shown in the following figure: The Kubernetes service discovery is performed at the STATIC_INIT time of Quarkus during the workflow application startup. First, the service discovery scans the Quarkus configuration values and searches for the Kubernetes URI pattern. If the URI pattern is found, the engine parses the URI, queries the Kubernetes API searching for the given resource, and overrides the given application property. For example, consider an application that consumes a resource running on Kubernetes. This resource is a Knative service that exposes a function, which can be discovered using the following URI: Example URI org.kie.kogito.sw.knative.service=knative:services.v1/serverless-workflow-greeting-quarkus/greeting-quarkus-cli The service discovery engine does not read the application property name, but only value. Once the workflow application is started, you can see the Kubernetes service discovery into action in the logs: Example logs $ java -jar target/quarkus-app/quarkus-run.jar __ ____ __ _____ ___ __ ____ ______ --/ __ \\/ / / / _ | / _ \\/ //_/ / / / __/ -/ /_/ / /_/ / __ |/ , _/ , org.kie.kogito kogito-addons-quarkus-kubernetes org.kie.kogito kogito-addons-quarkus-fabric8-kubernetes-service-catalog Currently, only org.kie.kogito:kogito-addons-quarkus-fabric8-kubernetes-service-catalog is available. When enabled, it uses the Kubernetes Java API to discover the services. Configuring the OpenAPI services endpoints If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Kubernetes service discovery in Kogito Serverless Workflow","component":"serverlessworkflow","version":"1.40.0.Final","name":"kubernetes-service-discovery","url":"/serverlessworkflow/latest/cloud/quarkus/kubernetes-service-discovery.html","titles":[{"text":"Configuration in Kubernetes service discovery","hash":"con-kubernetes-service-doscovery-configuration","id":1},{"text":"Precedence in Kubernetes service discovery","hash":"con-precedence-kubernetes-service-discovery","id":2},{"text":"Example of Kubernetes service discovery in Kogito Serverless Workflow","hash":"ref-example-kubernetes-service-discovery","id":3},{"text":"Enabling Kubernetes service discovery","hash":"ref-enabling-kubernetes-service-discovery","id":4},{"text":"Available service discovery implementations","hash":"_available_service_discovery_implementations","id":5},{"text":"Additional resources","hash":"_additional_resources","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]},"60":{"id":60,"text":"","title":"","component":"serverlessworkflow","version":"1.40.0.Final","name":"versioning-workflows-in-knative","url":"/serverlessworkflow/latest/cloud/quarkus/versioning-workflows-in-knative.html","titles":[]},"61":{"id":61,"text":"In Kogito Serverless Workflow Tools, the Dashboards page is used to display the available dashboard files. The page displays a list of available dashboards and add filters to the list. Figure 1. Dashboard page The table on the Dashboards page displays the following details: Name: the name of a custom dashboard. Last Modified: the time reference indicating when the custom dashboard was last updated. See the dashboard guide for creating dashboards and visualizations with YAML. You can run all examples with Dashbuilder YAML Online. The default storage path for dashboard files is src/main/resources/dashboards, but the property quarkus.kogito-runtime-tools.custom.dashboard.folder can be used to set a custom storage path. Figure 2. Default storage path To filter the dashboard based on name, enter a name in the Filter by dashboard name field and click Apply filter button. Figure 3. Example filters applied on the dashboards In the dashboard table, the name column contains a clickable link, which enables you to navigate to the Dashboard Details page. Figure 4. Dashboard Details page If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Dashboards in Kogito Serverless Workflow Tools extension","component":"serverlessworkflow","version":"1.40.0.Final","name":"quarkus-dev-ui-custom-dashboard-page","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","titles":[{"text":"Creating a custom dashboard","hash":"_creating_a_custom_dashboard","id":1},{"text":"Create a custom dashboard file","hash":"_create_a_custom_dashboard_file","id":2},{"text":"Storage path of custom dashboards","hash":"_storage_path_of_custom_dashboards","id":3},{"text":"Filtering the dashboards","hash":"_filtering_the_dashboards","id":4},{"text":"Accessing a dashboard details","hash":"_accessing_a_dashboard_details","id":5},{"text":"Found an issue?","hash":"_found_an_issue","id":6}]},"62":{"id":62,"text":"Quarkus applications come integrated with a Dev UI, providing a number of tools that help in developing the applications in Quarkus. You can plug in such tools to your Quarkus application as extensions, such as Kogito Serverless Workflow Tools. The Kogito Serverless Workflow Tools extension provides a console to view, manage, and start the workflow instances. Prerequisites Quarkus 2.16.7.Final is installed. Quarkus command line interface (CLI) is installed. For more information, see Installing the Quarkus CLI. Procedure In a command terminal, enter the following command to install the Kogito Serverless Workflow Tools extension: Install Kogito Serverless Workflow Tools extension quarkus ext add org.kie.kogito:kogito-quarkus-serverless-workflow-devui Executing the previous command adds the following dependency to pom.xml file of your project: Kogito Serverless Workflow Tools dependency in pom.xml file org.kie.kogito kogito-quarkus-serverless-workflow-devui ${VERSION} Enter the following command to add the kogito-addons-quarkus-source-files extension that provides the source code to generate the Serverless Workflow diagram in the consoles: Install Kogito source files add-on extension quarkus ext add org.kie.kogito:kogito-addons-quarkus-source-files Executing the previous command adds the following dependency to pom.xml file of your project: source files add-on dependency in pom.xml file org.kie.kogito kogito-addons-quarkus-source-files Run the following command to start the Quarkus application: Start Quarkus application quarkus dev To access the Quarkus Dev UI, go to http://localhost:8080/q/dev/. Figure 1. Kogito Serverless Workflow Tools extension in Quarkus Dev UI The Kogito Serverless Workflow Tools extension contains the following pages: Workflow Instances Workflow Definitions Dashboards If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","component":"serverlessworkflow","version":"1.40.0.Final","name":"quarkus-dev-ui-overview","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","titles":[{"text":"Installing Kogito Serverless Workflow Tools extension","hash":"proc-install-sw-tools-extension","id":1},{"text":"Found an issue?","hash":"_found_an_issue","id":2}]},"63":{"id":63,"text":"In the Kogito Serverless Workflow Tools extension, the Workflow Definitions page displays the list of available workflows in the Kogito project and helps you to start new workflow instances either via REST or by triggering cloud events. Figure 1. Workflow Definitions page In the Workflow Definitions table you will find the list of workflows that shows the following details: Workflow Name: Displays the name of a workflow definition. Endpoint: Displays the URL to a workflow definition. Actions: Provides the Start new Workflow button to start workflow instances via REST. In the table, the toolbar provides the ability to apply filters to the table or to trigger cloud events that can start workflow instances To search for a specific workflow definition, enter the workflow’s name in the Filter by workflow name field. Click the Apply Filter button. The matching workflow definitions appear as a chip below the search field. Click the Reset to default button to clear the applied filters. To fetch newly added workflow definitions, click on the refresh icon next to the Apply Filter button. Click the Apply Filter button. The matching workflow definitions appear as a chip below the search field. To clear the applied filters, you can click the Reset to default button. Also, to fetch newly added workflow definitions, click on the refresh icon next to the Apply Filter button. Figure 2. Workflow Definitions filters Workflows can be started either by using the specific workflow REST endpoints or by triggering Cloud Events. The Kogito Serverless Workflow Tools extension allows you to use both mechanisms. If you want to start a new workflow instance using the workflow REST endpoint, just click on the Start new Workflow button of any of the workflow in the Workflow Definitions table, then you’ll be redirected to the Start New Workflow page where you could setup the data and Business Key that will be used to start the new workflow instance. Depending on your workflow configuration the page can provide different mechanisms to fill the workflow data. If your workflow is configured with a valid Data Input Schema, this page will be able to display a custom Form to help a filling the data. Figure 3. Start Workflow Page with a Form defined in the Data Input Schema If your workflow does not provide a Data Input Schema, the page will display a Code Editor that will enable you to manually fill the workflow data in JSON format. Figure 4. Start Workflow Page with a Code Editor. For more information about how to setup the Input Schema Definition on your {context}, please take a look at the Input Schema for {context} section. You can use the Business key text box to define a custom business key value to the workflow instance. If the Business Key field is blank, then an auto-generated business key is defined for the workflow instance. By clicking on the Start button will POST the workflow data and the Business Key to the workflow REST endpoint. If the workflow instance starts successfully, a success alert appears on the top of the screen, which contains the Go to workflow list link to navigate to the Workflow Instances page. Figure 5. Example of workflow successful starting notification If there is an issue while starting a workflow, then a failure alert appears on the top of the screen, containing the*View Details* and Go to workflow list options. The View Details enables you to view the error message. Figure 6. Example of workflow starting failure notification On the Workflow Definitions Page, the Trigger Cloud Event button enables you to start new workflow instances by using HTTP Cloud Events. This will lead you to the Trigger Cloud Event page. Once there, you will have to fill out the form with the Cloud Event information: Endpoint: Defines the Path and the HTTP method where the cloud event should be triggered. Event Type: Sets the Cloud Event type header. Event Source: Sets the Cloud Event Source header. Defaults to /local/quarkus-devUi. Business Key: Sets the new workflow instance Business Key, it will be added in the kogitobusinesskey event header. Event Custom Headers: Allows you to define custom headers to be added to the event. Event Data: Data that will be in the event in JSON format. Figure 7. Starting a workflow using a cloud event Click the Trigger button to trigger the cloud event. If the workflow instance starts successfully, a success alert appears on the top of the screen, which contains the Go to workflow list link to navigate to the Workflow Instances page. Figure 8. Example of workflow successful starting notification If there is an issue while starting a workflow, then a failure alert appears on the top of the screen, containing View Details and Go to workflow list options. The View Details enables you to view the error message. Figure 9. Example of trigger workflow failure alert If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Workflow Definitions","component":"serverlessworkflow","version":"1.40.0.Final","name":"quarkus-dev-ui-workflow-definition-page","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","titles":[{"text":"Applying filters to the Workflow Definitions table","hash":"_applying_filters_to_the_workflow_definitions_table","id":1},{"text":"Starting new Workflow instances","hash":"con-start-workflow-instances","id":2},{"text":"Starting new Workflow instances using REST","hash":"con-start-workflow-instances-rest","id":3},{"text":"Filling up the Workflow data","hash":"_filling_up_the_workflow_data","id":4},{"text":"Setting up the Business Key","hash":"_setting_up_the_business_key","id":5},{"text":"Starting the new Workflow instance","hash":"_starting_the_new_workflow_instance","id":6},{"text":"Starting Workflows using Cloud Events","hash":"con-trigger-cloud-event-page","id":7},{"text":"Found an issue?","hash":"_found_an_issue","id":8}]},"64":{"id":64,"text":"In Kogito Serverless Workflow Tools, the Workflow Instances page is used to monitor and manage the available instances. The Workflow Instances page displays a list of available instances and add filters to the list. Figure 1. Workflow Instances page with no instances To create a workflow instance, you can use the Workflow Definitions page. For more information, see Workflow Definitions in Kogito Serverless Workflow Tools extension. When you create a workflow instance, the instance appears in the workflow instances table on the page, containing the following details: Id: Displays the name and business key of an instance. Also, when you hover on the name of the workflow instance, a unique ID is displayed for the instance. You can click on the ID to navigate to the Workflow Details page. Status: Displays the current state of the instance. This column can contain Active, Completed, Aborted, Error, and Suspended as values. Created: Displays the time reference indicating when the instance is created. Last Update: Displays the time reference indicating when the instance is last updated. Figure 2. Workflow Instances page with an instance You can also sort the columns of the workflow instances table. On the Workflow Instances page, you can filter the list of workflow instances based on the states and business keys. By default, Active, Completed, Aborted, Error, and Suspended are applied on the list. You can use the Status drop-down to see the available states. To filter the workflow instances based on the states, select or unselect the states in the Status drop-down and click Apply filter button. To filter the workflow instances based on business keys, enter a business key in the Filter by business key field and click Apply filter button. Figure 3. Example filters applied on the workflow instances To fetch the newly added workflow instances, click on the refresh icon next to the Apply Filter button. Also, to clear the applied filters and reset to the default state, click Reset to default button. In the workflow instances table, the Id column contains a clickable link, which enables you to navigate to the Workflow Details page. The Workflow Details page contains various panels, providing detailed information about a workflow instance. Figure 4. Example Workflow Details page The Workflow Details page consists of the following panels: Serverless Workflow Diagram panel Timeline panel Details panel Variables panel Serverless Workflow Diagram panel The Serverless Workflow Diagram panel enables you to explore the workflow diagram and execution path of the workflow instance. The workflow diagram and execution path are displayed by consuming the source which is exposed through the kogito-addons-quarkus-source-files. To add the source files add-on configuration, add the following dependency to pom.xml file of your project: source-files add-on dependency in pom.xml file org.kie.kogito kogito-addons-quarkus-source-files There are two ways to display the diagram. Stunner Diagram Mermaid Diagram By default, the Stunner diagram is displayed. To toggle between the two diagrams you can use the kogito.swf.stunner.enabled(defaulted to true) environment variable in your application properties. For yaml-based workflow files, the mermaid diagram is displayed instead of the stunner diagram. There is a slider available in the diagram panel, which when dragged to the right displays the source code in read-only mode. Figure 5. Stunner based Diagram panel Figure 6. Mermaid based Diagram panel Timeline panel The Timeline panel displays the list of nodes that are related to a workflow instance. Each node in the Timeline panel consists of an icon, indicating the state of the node, such as Active, Completed, or Error. Figure 7. Timeline panel Details panel The Details panel displays the basic information related to a workflow instance, including: Name: Name of the workflow instance. Business key: Business key related to the workflow instance. State: Current state of the workflow instance. Id: Unique ID of the workflow instance. Start: Time reference indicating when the workflow instance is started. Last Updated: Time reference indicating when the workflow instance is last updated. End: Time reference indicating when the workflow instance is completed. Figure 8. Details panel Variables panel The Variables panel displays the data of a workflow in the form of JSON. Figure 9. Variables panel The Workflow Instances page also allows you to send HTTP Cloud Events to the active workflow instances that are waiting for an event to advance. To do so you just have to click on the Trigger Cloud Event button that will lead you to the Trigger Cloud Event page. Once there, you will have to fill out the form with the Cloud Event information: Endpoint: Defines the Path and the HTTP method where the cloud event should be triggered. Event Type: Sets the Cloud Event type header. Event Source: Sets the Cloud Event Source header. Defaults to /local/quarkus-devUi. Instance Id: Sets the id of the workflow instance that must receive the event, it will be added in the kogitoprocrefid event header. Event Data: Data that will be in the event in JSON format. Figure 10. Sending a Cloud Event to an active workflow instance. Additionally, you can use the Send Cloud Event action present available on the instance actions kebab. By using it you will be lead to the Trigger Cloud Event page, but in this case the Instance Id field will be already filled with the selected workflow id. Figure 11. Send Cloud Event button in the actions kebab. To enable the actions kebab, make sure your project is configured to have the kogito-addons-quarkus-process-management dependency on its pom.xml file, like: org.kie.kogito kogito-addons-quarkus-process-management {kogito_version_redhat} Click the Trigger button to trigger the cloud event. If the event is successfully triggered, a success alert appears at the top of the screen, which contains the Go to workflow list link to navigate to the Workflow Instances page. Figure 12. Example of cloud event successfully sent notification. If there is an issue while sending the event, then a failure alert appears at the top of the screen, containing View Details and Go to workflow list options. The View Details enables you to view the error message. Figure 13. Example cloud event unsuccessfully sent notification. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Workflow Instances in Kogito Serverless Workflow Tools extension","component":"serverlessworkflow","version":"1.40.0.Final","name":"quarkus-dev-ui-workflow-instances-page","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","titles":[{"text":"Opening the Workflow instance details","hash":"_opening_the_workflow_instance_details","id":1},{"text":"Sending Cloud Events to active Workflow Instances","hash":"_sending_cloud_events_to_active_workflow_instances","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"65":{"id":65,"text":"You can deploy your Kogito Serverless Workflow projects to an OpenShift instance using the OpenShift integration. The OpenShift integration allows you to test your implementations in a live environment. The deployments described in this document are for development purposes, but not for production. You can deploy your first Kogito Serverless Workflow project to an OpenShift instance and run the project in a live environment. Prerequisites OpenShift integration is configured correctly. For more information, see Integrating your Kogito Serverless Workflow project with OpenShift using Serverless Logic Web Tools. Procedure Create a project using an example application in GitHub. You can use the serverless-workflow-greeting-quarkus example application, which does not contain external dependencies and is easy to test and comprehend. The serverless-workflow-greeting-quarkus example application contains a single operation state with one action, sending request to the greeting function. In the example application, the workflow data is assumed to be the name of the person to greet, and the result is the greeting for the person. The result is added to the state data, which later becomes the workflow data output. On the editor page, click Try on OpenShift button. On the context menu, click Deploy \"greetings\" (Kogito Serverless Workflow). A modal appears, displaying the following deployment options: Deploy as a project: This option is available if your current workspace contains the entire project structure including a single pom.xml file. If Deploy as a project option is disabled, a pre-built image container, containing a Quarkus project is used and the workflow files are placed in the src/main/resources folder of the project. In this case, ensure that the workflow files do not have other dependencies as the dependencies are not included in the deployment. If Deploy as a project option is enabled, all the workflow files are deployed as-is, indicating that no project template is used. Therefore, ensure that the project is deployable. Upload OpenAPI spec to Service Registry: After a workflow is deployed, an OpenAPI specification is available in the deployed service. When you check this option, the Serverless Logic Web Tools fetches the OpenAPI specification, and when ready, the OpenAPI specification is uploaded to your configured service registry. To use this option, you need to configure your service account and service registry on the Settings page. To configure the service account and service registry, see Integrating with Red Hat OpenShift Application and Data Services. Uncheck all options and click Confirm. A pop-up appears displaying Your deployment has been successfully started and will be available shortly. Please do not close this browser tab until the operation is completed. message. Clicking on the OpenShift deployments icon shows your deployment status. The deployment process takes a few minutes since a build needs to be completed before the services are active. OpenShift deployment status After the deployment of your Kogito Serverless Workflow project is successful, you can verify various information about the deployed service. Prerequisites OpenShift integration is configured correctly. For more information, see Integrating your Kogito Serverless Workflow project with OpenShift using Serverless Logic Web Tools. Your Kogito Serverless Workflow project is deployed successfully. Deployed project must be deployed using the Deploy as a project option as unchecked, as the deployment page is only available using the pre-built image container. If the option Deploy as a project option is checked the tool opens the index.html file your project provides, if any. Procedure Click on the OpenShift deployments icon to view a list of deployments. If your deployment is successful (listed with ), you can click on it and access the deployment page to check the Swagger UI, Open API specification, and Metrics page using DashBuilder. Serverless deployment page If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Deploying your Kogito Serverless Workflow projects using Serverless Logic Web Tools","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-logic-web-tools-deploy-projects","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","titles":[{"text":"Deploying your first Kogito Serverless Workflow project","hash":"proc-deploy-first-serverless-project-serverless-logic-web-tools","id":1},{"text":"Verifying the deployment status of your first project","hash":"proc-verify-deploy-status-serverless-logic-web-tools","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"66":{"id":66,"text":"The Serverless Logic Web Tools implements a web version of a Git client, enabling you to clone, create, commit, push, and pull repositories. This process synchronizes your workspaces remotely. This document describes how you can configure the integration and synchronize your projects. You can generate a token from your GitHub account and add the token to the Serverless Logic Web Tools. Prerequisites You have an account in GitHub. Procedure Go to Serverless Logic Web Tools web application, and click the Cogwheel (⚙️) on the top-right corner of the screen. Go to the GitHub tab. In the GitHub tab, click the Add access token button and a window will be shown. Click Create a new token option. Ensure that you select the repo option. Optionally, select gist, which enables you to import and update gists. Copy the generated token and paste it into the Token field in Serverless Logic Web Tools GitHub Settings. The contents of the tab are updated and displays that you are signed into the GitHub and contains all the required permissions. After your GitHub token is set, you can synchronize your workspaces with remote repositories. Prerequisites Your GitHub token is configured in the Serverless Logic Web Tools. For more information, see Setting your GitHub token in Serverless Logic Web Tools. Procedure In the Serverless Logic Web Tools web application, create or open a workspace. Add or edit the existing files in the workspace. Click Share → Github: Create Repository. Name your repository and set the repository as Public or Private. (Optional) Select the Use Quarkus Accelerator to create a repository with a base Quarkus project and move the workspace files to src/main/resources folder. Figure 1. Create a repository for your workspace Click Sync → Push to update the remote repository with your local changes. To get new updates from the remote repository, click Sync → Pull. Currently, Serverless Logic Web Tools cannot resolve the merge conflicts. Therefore, ensure that you always pull changes before working on your files. You can import a workspace from GitHub in Serverless Logic Web Tools when you need to work from another computer or need to use someone else’s workspace. Prerequisites Your GitHub token is configured in the Serverless Logic Web Tools. For more information, see Setting your GitHub token in Serverless Logic Web Tools. You have a repository containing workflow files. Procedure Go to GitHub, find the repository with your project, and copy the repository URL. In Serverless Logic Web Tools web application, paste the repository URL in the Import → From URL field and click Clone. The page loads your imported project, defaulting to a workflow file, if present. If applicable, you can push to the imported repository by clicking on the Sync → Push. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Integrating your Kogito Serverless Workflow project in GitHub using Serverless Logic Web Tools","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-logic-web-tools-github-integration","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","titles":[{"text":"Setting your GitHub token in Serverless Logic Web Tools","hash":"proc-setting-github-token-serverless-logic-web-tools","id":1},{"text":"Synchronizing your workspaces with GitHub","hash":"proc-sync-workspace-github-serverless-logic-web-tools","id":2},{"text":"Importing a workspace from GitHub","hash":"proc-import-workspace-github-serverless-logic-web-tools","id":3},{"text":"Found an issue?","hash":"_found_an_issue","id":4}]},"67":{"id":67,"text":"You can integrate your Kogito Serverless Workflow project with Red Hat OpenShift. OpenShift is an enterprise-ready Kubernetes container platform, enabling your Kogito Serverless Workflow projects to be deployed and tested online. The Extended Services tool is required to proxy requests to an OpenShift instance. Therefore, setting the Extended Services enables you to deploy and monitor your Kogito Serverless Workflow projects. Procedure In the Serverless Logic Web Tools web application, click the Cogwheel (⚙️) on the top-right corner and go to the Extended Services tab. In case you are not connected to Extended Services, you see You are not connected to Extended Services. Click to setup message. Click on the link in the message. A window appears containing your current operating system as selected and a link to download the latest version of Extended Services. Download the Extended Services and execute it. You might need to grant permissions to run the file depending on your operating system and settings. If you are using macOS, you might encounter the \"Extended Services\" is damaged and can’t be opened. You should move it to Bin error message while running the \"Extended Services\" application. This is due to the overeager approach towards security by macOS and you can fix it by moving the \"Extended Services\" application out of quarantine. You can execute the xattr -d com.apple.quarantine /Applications/KIE\\ Sandbox\\ Extended\\ Services.app command to achieve this. After executing the Extended Services the content in the Extended Services is updated and displays that you are connected to the Extended Services. After setting the Extended Services, you can connect to your OpenShift instance to deploy your Kogito Serverless Workflow projects with Serverless Logic Web Tools. Prerequisites Extended Services tool is installed and running. OpenShift instance is active. You can create a free developer sandbox. For more information, see OpenShift Developer Sandbox. Procedure Log in to your OpenShift instance console interface. In the OpenShift instance console interface, you need your OpenShift project name (also known as namespace), API server, and an access token. For the OpenShift project name, go to the Topology tab and in the top-left corner you see your project name. Figure 1. OpenShift project name in OpenShift instance console To obtain the API server and access token, click on your username and Copy login command. A new page opens containing your new API token along with oc cli login command. From the oc cli command, copy the value of --server=. Figure 2. OpenShift access token and API server Go to the Serverless Logic Web Tools web application, click the Cogwheel (⚙️) on the top-right corner and go to the OpenShift tab. Click the Add connection button and a window will be shown. Enter your OpenShift project name in the Namespace (project) field. Enter the value copied value of --server flag in the Host field. Enter the value of API token in the Token field. Click Connect. If the entered values are correct, then the tab updates and displays You’re connected to OpenShift message. After connecting to OpenShift, you are ready to deploy your Kogito Serverless Workflow projects using Serverless Logic Web Tools. For more information about deploying your projects, see Deploying your Kogito Serverless Workflow projects using Serverless Logic Web Tools. If your OpenShift instance uses self-signed certificates, then you must enable the InsecureSkipVerify on Extended Services. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Integrating your Kogito Serverless Workflow project with OpenShift using Serverless Logic Web Tools","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-logic-web-tools-openshift-integration","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","titles":[{"text":"Setting Extended Services","hash":"proc-setting-kie-sandbox-extended-services-serverless-logic-web-tools","id":1},{"text":"Connecting to OpenShift instance using Serverless Logic Web Tools","hash":"proc-connecting-openshift-instance-serverless-logic-web-tools","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"68":{"id":68,"text":"The Serverless Logic Web Tools is a web application that enables you to create and synchronize your Kogito Serverless Workflow, decision files, and Dashbuilder files in a single interface. Also, the Serverless Logic Web Tools application provides the integrations that are needed to deploy and test the Kogito Serverless Workflow models in development mode. Figure 1. Home page of Serverless Logic Web Tools The Serverless Logic Web Tools provides three different editors for your projects, including Kogito Serverless Workflow editor for .sw.json or .sw.yaml|yml files Serverless Decision editor for .yard.json or .yard.yaml|yml files Dashbuilder editor for dash.yaml|yml files You can start by creating a new model from scratch or using one of the samples provided. Procedure Go to the Serverless Logic Web Tools web application. On the Home page, select the type of model you want to create and click the button corresponding to the file type you wish such as JSON or YAML. Figure 2. Create section in Serverless Logic Web Tools A new workspace is created, containing a single file named as Untitled of the selected type. Click on the name to rename the file. Edit your workflow file, which updates the preview on the right-side of the editor. The workflow files in Serverless Logic Web Tools are saved automatically after each change. The files are persisted in the browser, but you can synchronize the file using GitHub integration. For more information about GitHub integration, see Integrating your Kogito Serverless Workflow project in GitHub using Serverless Logic Web Tools. Integrating your Kogito Serverless Workflow project with OpenShift using Serverless Logic Web Tools Integrating with Red Hat OpenShift Application and Data Services Deploying your Kogito Serverless Workflow projects using Serverless Logic Web Tools If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Serverless Logic Web Tools","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-logic-web-tools-overview","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","titles":[{"text":"Creating a workflow model in Serverless Logic Web Tools","hash":"proc-create-workflow-model-web-tools","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"69":{"id":69,"text":"Some of the features in Serverless Logic Web Tools require integration with Red Hat OpenShift Application and Data Services. Consider uploading OpenAPI specifications to a service registry and fetching its service functions as examples of integration with Red Hat OpenShift Application and Data Services. This document describes how you can configure the required settings to complete the integration with Red Hat OpenShift Application and Data Services. You can create or use a service account from your Red Hat OpenShift Application and Data Services console and add the service account to the Serverless Logic Web Tools. Prerequisites You have access to the Red Hat OpenShift Application and Data Services console. Procedure To create a service account in Red Hat Openshift Application and Data Services, perform the following steps: You can skip this step if you already have a service account. Go to Service Accounts | Red Hat OpenShift Application and Data Services. Click Create service account. In the Create a service account window, enter a service account name in the Short description field. Click Create. A modal displaying your Client ID and Client Secret appears. Copy and save the Client ID and Client Secret. Check the I have copied the client ID and secret checkbox and click Close. If you already have a service account, find your Client ID and Client Secret. In the Serverless Logic Web Tools, click the Cogwheel (⚙️) on the top-right corner and go to the Service Account tab. Click on the Add service account button and a window will be shown. Enter your Client ID and Client Secret in the respective fields. Click Apply. The content in the Service Account tab updates and displays Your Service Account information is set message. You can create or use a Service Registry instance from your Red Hat OpenShift Application and Data Services console and add the Service Registry to Serverless Logic Web Tools. Prerequisites You have access to the Red Hat OpenShift Application and Data Services console. You have created a service account. For information about creating a service account, see Creating a service account in Red Hat OpenShift application and Data Services. Procedure To create a Service Registry instance in Red Hat Openshift Application and Data Services console, perform the following steps: You can skip this step if you already have a Service Registry instance. Go to Service Registry | Red Hat OpenShift Application and Data Services. Click Create Service Registry instance button. In the Create a Service Registry instance window, enter a Service Registry instance name and click Create. The list of Service Registry instances updates with your instance. Find the Service Registry instance you created in the list and click on the instance. Go to the Settings tab and click on Grant access. In the drop-down, select the service account you created in the previous procedure. Select a role for your service account. You must select the role as Manager or Administrator to have the read and write access. Click Save. Click on the menu on the top-right corner of the screen. Click Connection. A drawer opens containing the required connection and authentication information. Copy the value of Core Registry API. If you already have a Service Registry, find the value of Core Registry API of your Service Registry. In the Serverless Logic Web Tools web application, click the Cogwheel (⚙️) on the top-right corner and go to the Service Registry tab. Click on the Add service registry button and a window will be shown. Enter a name for your registry. You can enter the same name that you used while creating the Service Registry instance. Enter the value of Core Registry API and click Apply. The content in the Service Registry tab updates and displays Your Service Registry information is set message. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Integrating with Red Hat OpenShift Application and Data Services","component":"serverlessworkflow","version":"1.40.0.Final","name":"serverless-logic-web-tools-redhat-application-services-integration","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","titles":[{"text":"Creating a service account in Red Hat OpenShift application and Data Services","hash":"proc-create-service-account-serverless-logic-web-tools","id":1},{"text":"Creating a Service Registry in Red Hat OpenShift application and Data Services","hash":"proc-create-service-registry-serverless-logic-web-tools","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"70":{"id":70,"text":"The Google Chrome extension for the Serverless Workflow editor enables you to view and edit CNCF Serverless Workflow specification files in GitHub. This document describes how to install and use the Chrome GitHub extension for Serverless Workflow editor. You can install the Chrome extension for the Serverless Workflow editor to view and edit the workflow specification files in GitHub. Prerequisites Google Chrome is installed. Procedure You can install the Chrome extension using one of the following methods: Go to Chrome web store: Go to the Serverless Workflow Editor for GitHub extension page in Chrome web store and click Add to Chrome. Figure 1. Serverless Workflow Chrome extension page Download the ZIP file: Download and extract the chrome_extension_serverless_workflow_editor_VERSION.zip file from the kie-tools releases page in GitHub. Go to Customize and control → Settings → Extensions → Load unpacked in the upper-right corner in Chrome. Open the extracted dist folder. The Chrome extension for Serverless Workflow editor is successfully installed. After installing the Chrome extension for the Serverless Workflow editor, you can use the editor to edit and view the workflow files in GitHub. Prerequisites You have installed the Serverless Workflow editor extension in Chrome. For more information, see Installing the Chrome GitHub extension for Serverless Workflow editor. Procedure Create a workflow file (.sw.json or .sw.yaml). Push the created workflow file to GitHub, or you can go to the GitHub page and click on the workflow file to open in the editor. Figure 2. Serverless Workflow file in GitHub The Serverless Workflow editor opens in read-only mode. To change the read-only mode to edit mode, click the pencil icon on the top-right corner of the screen. You can switch to the full-screen mode. Also, you can hide the editor and view the source code using See as source button. Make changes to the source code, add a commit message. You can either commit the changes to a branch directly or create a new branch for pull request. If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Chrome GitHub extension for Serverless Workflow editor","component":"serverlessworkflow","version":"1.40.0.Final","name":"swf-editor-chrome-extension","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","titles":[{"text":"Installing the Chrome GitHub extension for Serverless Workflow editor","hash":"proc-install-chrome-extension-sw-editor","id":1},{"text":"Using the Chrome GitHub extension for Serverless Workflow editor","hash":"proc-using-chrome-extension-sw-editor","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"71":{"id":71,"text":"You can use the Serverless Workflow editor to edit the CNCF Serverless Workflow specification files in the code editor and view the workflow diagram in the diagram visualizer. When you make changes to the specification files in the editor, you see the workflow diagram is updated with the new changes. Figure 1. Serverless Workflow editor The Serverless Workflow editor contains the following main features: Reload diagram dynamically: In the Serverless Workflow editor, when you make a change in the code editor, the workflow diagram updates automatically. SVG generation: In the Serverless Workflow editor, you can save a workflow diagram as .svg file in the workspace. Auto-completion based on the context: The Serverless Workflow editor contains the capability of auto-completing the code based on the context. Validation: The Serverless Workflow editor performs validation on the workflow files and provides an error-free experience. The editor performs validation using JSON schema to the workflow file structure but not the values, and auto-completion works with JSON but not with YAML. The following extensions are provided that you can use to design the workflow files: VS Code extension Chrome GitHub extension You can also try it at the Serverless Logic Web Tools. CNCF Serverless Workflow specification If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"Serverless Workflow editor","component":"serverlessworkflow","version":"1.40.0.Final","name":"swf-editor-overview","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-overview.html","titles":[{"text":"Features in Serverless Workflow editor","hash":"ref-sw-editor-features","id":1},{"text":"Additional resources","hash":"_additional_resources","id":2},{"text":"Found an issue?","hash":"_found_an_issue","id":3}]},"72":{"id":72,"text":"The VS Code extension for the Serverless Workflow editor enables you to view and edit CNCF Serverless Workflow specification files in your local projects. This document describes how to install and use the VS Code extension for Serverless Workflow editor, along with how to load OpenAPI files using the extension. Using the VS Code extension for Serverless Workflow editor, enables you to view and edit the workflow specification files in your local projects. Figure 1. Serverless Workflow VS Code extension Prerequisites Visual Studio Code 1.46.0 or later is installed. Procedure You can install the VS Code extension for Serverless Workflow editor using one of the following methods: Go to Visual Studio Marketplace: Go to Serverless Workflow Editor extension page in Visual Studio Marketplace and click Install. Figure 2. Serverless Workflow Editor in Visual Studio Marketplace Download VSIX file: Download the vscode_extension_serverless_workflow_editor_VERSION.vsix file from the kie-tools releases page in GitHub. Click Install from VSIX option from the extensions menu and install the vscode_extension_serverless_workflow_editor_VERSION.vsix file in VS Code. Figure 3. Install VS Code extension using VSIX Once installation is complete, you can create a workflow file or open an existing workflow file in VS Code. When you open a workflow file, VS Code uses the extension automatically. The Serverless Workflow editor contains the following main features: Reload diagram dynamically: In the Serverless Workflow editor, when you make a change in the code editor, the workflow diagram updates automatically. SVG generation: In the Serverless Workflow editor, you can save a workflow diagram as .svg file in the workspace. Auto-completion based on the context: The Serverless Workflow editor contains the capability of auto-completing the code based on the context. The Serverless Workflow VS Code extension parses the OpenAPI specification files and provides a list of function definitions in the auto-complete dialog box. Figure 4. Function definition in auto-complete dialog box Once you select an option in the auto-complete dialog box, a function definition is added to the functions array with proper settings as shown in the following example: Figure 5. Example of function definition object When the function definition is added, the function is available for auto-completion in the function reference section as shown in the following example: Figure 6. Example of a function reference Once you select an option from the auto-complete dialog box, a function reference is added with proper reference name and attributes. Validation: The Serverless Workflow editor performs validation on the workflow files and provides an error-free experience. The VS Code extension for Serverless Workflow editor supports the following commands: Table 1. Supported commands in Serverless Workflow VS Code extension Command Description Serverless Workflow: Generate SVG without any notification Generates an SVG file of a workflow diagram in the workspace next to the workflow file. Serverless Workflow: Open as Diagram (to the side) Opens the workflow diagram to the right side of the editor. Serverless Workflow: Setup automatically open Diagram Editor alongside Text Editor Allows you to set whether or not a workflow diagram needs to be opened by default alongside the editor. This operation provides two options, including Open automatically and Do not open. Serverless Workflow: Configure Service Registries Opens the service registries configurations on the Extension Settings page. Serverless Workflow: Refresh Service Registries Refreshes the artifact list of service registries. Serverless Workflow: Log in Service Registries Triggers a login action of service registries. To trigger a command in VS Code, go to View → Command Palette…​ or you can press Ctrl+Shift+P to open the command palette. Enter Serverless Workflow in the search tab to see the list of supported commands. Figure 7. Command Palette in VS Code You can navigate to File → Preferences → Settings and configure the following settings for the Serverless Workflow editor: Table 2. Settings in Serverless Workflow VS Code extension Setting Description Automatically Open Diagram Editor Alongside Text Editor This setting enables the editor to open a workflow diagram when a workflow is being edited. The available options include: Ask next time (default) Do not open Open automatically Run On Save This setting executes a VS Code command when you save an edited workflow file. The default VS Code command that is executed is extension.kogito.swf.silentlyGenerateSvg (generate a diagram SVG). Service Registries This setting provides access to the configuration of service registries in the setting.json file. Should Reference Service Registry Functions With Urls When automatically completing the functions in the service registry, this setting specifies whether a function operation uses the URL of OpenAPI specification file or uses the local path, where the file is downloaded (Specs Storage Path). Specs Storage Path This setting enables you to define or edit the path of OpenAPI specification file. The default value is specs folder. Svg Filename Template This setting enables you to set a file name template, which can be used while generating the diagram SVG file. The default value is fileName.svg. Svg File Path This setting enables you to set a path, where the generated diagram SVG file will be stored. Figure 8. Settings page in VS Code extension The VS Code extension for Serverless Workflow editor can use OpenAPI specification files that are stored locally in the specs folder. Also, the OpenAPI specification files can be stored in remote service registries, providing auto-complete feature for function definitions. For more information about OpenAPI specification files path, see Serverless Workflow editor settings. The VS Code extension configures a list of service registries, which enables the Serverless Workflow editor to load OpenAPI specification files that are stored in the external registries. Prerequisites VS Code extension for the Serverless Workflow editor is installed. For more information about installing the VS Code extension, see Installing the VS Code Extension for Serverless Workflow editor. Procedure Open your workflow file in VS Code IDE and select the Setup Service Registries option. Navigate to the settings.json file. Add the list of service registries in the settings.json file using the kogito.swf.serviceRegistries key, which matches the following JSON schema: Service Registry Schema { \"type\": \"object\", \"properties\": { \"registries\": { \"type\": \"array\", \"items\": { \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\" }, (1) \"url\": { (2) \"type\": \"string\", \"format\": \"uri\", \"pattern\": \"^https?://?[-A-Za-z0-9+&@#/%?=_!:.]+[-A-Za-z0-9+&@#/%=~_|]\" }, \"authProvider\": { (3) \"type\": \"string\", \"enum\": [\"none\", \"red-hat-account\"], \"default\": \"none\" } }, \"required\": [\"name\", \"url\", \"authProvider\"] } } } } In the registries array, each item must contain the following properties: 1 name: Identifier provided for a registry. 2 url: URL for the REST API of the remotes service registry, such as Apicurio registry. 3 authProvider: Type of authentication for the remote service registry. This property contains values as none (no authentication) and red-hat-account (log in with your Red Hat account). Following is an example of a service registry configuration: Example of service registry configuration { \"kogito.swf.serviceRegistries\": { \"registries\": [ { \"name\": \"openshift\", \"url\": \"https://{url-to-openshift-registry}/apis/registry/v2\", \"authProvider\": \"red-hat-account\" }, { \"name\": \"local\", \"url\": \"https://{url-to-local-registry}/apis/registry/v2\", \"authProvider\": \"none\" }, ] } } To access the service registry settings in the VS Code, click on the Setup Service Registries option and use the Serverless Workflow: Configure Service Registries command. You can use the service registries for auto-completion feature in the Serverless Workflow VS Code extension. Prerequisites The following prerequisites are for the service registries that require Red Hat authentication: You have a Red Hat account with access to Red Hat Hybrid Cloud Console. Red Hat authentication extension is installed. Procedure In a workflow file, click the Setup Service Registries options and navigate to the settings.json file to configure the service registries. Figure 9. Function definition section with Setup Service Registries option Once you configure the service registry settings, the function definition section in the workflow file displays a Log in Service Registries button. The Log in Service Registries button appears when the function definition is configured to a remote service registry, such as Apicurio registry. Click on the Log in Service Registries option. You are redirected to the Red Hat login (SSO) page. Log in with your Red Hat credentials to connect to the remote service registry. You are redirected to the Red Hat login (SSO) page only if the authProvider property contains the value of red-hat-account in the service registry settings. Figure 10. Function definition section with Log in Service Registries option After logging in, use Ctrl+Space in the function definition section to view the list of available functions. Figure 11. Example of function definition section auto-complete dialog box Click on a function to auto-complete the function definition as shown in the following example: Figure 12. Example of an auto-completed function definition After selecting an option in the auto-complete dialog box, the OpenAPI specification file is downloaded into the specs folder. The downloaded OpenAPI specification file follows the REGISTRY-NAME_OPERATION-NAME_VERSION format. Figure 13. Downloaded OpenAPI specification file To fetch the new changes in the service registry, click Refresh Service Registries. Figure 14. Refresh Service Registries button in function definition section To create a new function definition object, click Add function. You can also validate the auto-completion using the JSON schema to the workflow file structure. The Serverless Workflow editor performs validation using JSON schema to the workflow file structure but not the values, and auto-completion works with JSON but not with YAML. To view the validation warnings and errors, go to View → Problems or press Ctrl+Shift+M to open the Problems tab. Figure 15. Errors and warnings in Problems tab If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!","title":"VS Code extension for Serverless Workflow editor","component":"serverlessworkflow","version":"1.40.0.Final","name":"swf-editor-vscode-extension","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","titles":[{"text":"Installing the VS Code Extension for Serverless Workflow editor","hash":"proc-install-vscode-extension-sw-editor","id":1},{"text":"Features in Serverless Workflow editor","hash":"_features_in_serverless_workflow_editor","id":2},{"text":"Supported commands in Serverless Workflow VS Code extension","hash":"ref-supported-commands-vscode-extension","id":3},{"text":"Serverless Workflow editor settings","hash":"ref-sw-editor-settings","id":4},{"text":"Enabling VS Code extension to load OpenAPI files from remote service registries","hash":"_enabling_vs_code_extension_to_load_openapi_files_from_remote_service_registries","id":5},{"text":"Using service registries for auto-completion","hash":"_using_service_registries_for_auto_completion","id":6},{"text":"Found an issue?","hash":"_found_an_issue","id":7}]}},"components":{},"componentVersions":{"serverlessworkflow/main":{"displayVersion":"snapshot","title":"Kogito Serverless Workflow Guides","version":"main","name":"serverlessworkflow","prerelease":"snapshot","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.7.Final","quarkus_platform_version":"2.16.7.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/main/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","docker_compose_install_url":"https://docs.docker.com/compose/install/","kn_cli_install_url":"https://knative.dev/docs/client/install-kn/","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new","ocp_local_url":"https://access.redhat.com/documentation/en-us/red_hat_openshift_local/2.17","ocp_knative_serving_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-serving.html","ocp_knative_eventing_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-eventing.html","ocp_kn_cli_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-kn.html"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/main/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/main/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/main/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/main/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/main/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/main/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/main/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/main/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/main/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/main/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/main/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/main/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/main/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/main/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/main/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/main/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/main/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/main/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/main/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/main/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/main/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/main/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/main/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/main/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/main/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/main/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/main/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/main/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/main/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/main/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/main/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/main/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/main/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/main/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/main/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/main/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/main/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/main/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/main/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/main/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/main/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/main/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/main/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/main/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/main/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/main/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/main/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/main/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/main/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/main/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/main/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on OpenShift","url":"/serverlessworkflow/main/cloud/quarkus/deploying-on-openshift.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/main/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/main/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/main/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/main/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/main/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/main/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/main/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Supporting Services","items":[{"content":"Job Service","url":"/serverlessworkflow/main/supporting-services/jobs-service.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/main/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/main/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.40.0.Final":{"displayVersion":"1.40","title":"Kogito Serverless Workflow Guides","version":"1.40.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.7.Final","quarkus_platform_version":"2.16.7.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.40.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","docker_compose_install_url":"https://docs.docker.com/compose/install/","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new","ocp_local_url":"https://access.redhat.com/documentation/en-us/red_hat_openshift_local/2.17","ocp_knative_serving_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-serving.html","ocp_knative_eventing_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-eventing.html","ocp_kn_cli_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-kn.html"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/latest/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/latest/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/latest/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/latest/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/latest/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/latest/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/latest/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/latest/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/latest/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/latest/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/latest/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/latest/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/latest/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/latest/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/latest/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/latest/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/latest/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/latest/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/latest/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/latest/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/latest/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/latest/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/latest/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/latest/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/latest/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/latest/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/latest/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/latest/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/latest/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/latest/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/latest/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/latest/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/latest/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/latest/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/latest/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/latest/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/latest/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/latest/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/latest/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/latest/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on OpenShift","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-openshift.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/latest/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/latest/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/latest/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/latest/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/latest/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/latest/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Supporting Services","items":[{"content":"Job Service","url":"/serverlessworkflow/latest/supporting-services/jobs-service.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/latest/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/latest/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.40.0-SNAPSHOT":{"displayVersion":"1.40-RC","title":"Kogito Serverless Workflow Guides","version":"1.40.0-SNAPSHOT","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.13.8.Final","quarkus_platform_version":"2.13.8.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.40.x-prod/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","docker_compose_install_url":"https://docs.docker.com/compose/install/","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new","ocp_local_url":"https://access.redhat.com/documentation/en-us/red_hat_openshift_local/2.17","ocp_knative_serving_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-serving.html","ocp_knative_eventing_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-knative-eventing.html","ocp_kn_cli_url":"https://docs.openshift.com/container-platform/4.12/serverless/install/installing-kn.html"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.40.0-SNAPSHOT/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/1.40.0-SNAPSHOT/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.40.0-SNAPSHOT/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.40.0-SNAPSHOT/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/1.40.0-SNAPSHOT/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/1.40.0-SNAPSHOT/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.40.0-SNAPSHOT/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.40.0-SNAPSHOT/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/1.40.0-SNAPSHOT/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/1.40.0-SNAPSHOT/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.40.0-SNAPSHOT/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.40.0-SNAPSHOT/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/1.40.0-SNAPSHOT/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/1.40.0-SNAPSHOT/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.40.0-SNAPSHOT/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.40.0-SNAPSHOT/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on OpenShift","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-openshift.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.40.0-SNAPSHOT/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/1.40.0-SNAPSHOT/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.40.0-SNAPSHOT/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.40.0-SNAPSHOT/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Supporting Services","items":[{"content":"Job Service","url":"/serverlessworkflow/1.40.0-SNAPSHOT/supporting-services/jobs-service.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/1.40.0-SNAPSHOT/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/1.40.0-SNAPSHOT/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.39.0.Final":{"displayVersion":"1.39","title":"Kogito Serverless Workflow Guides","version":"1.39.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.6.Final","quarkus_platform_version":"2.16.6.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.39.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.39.0.Final/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/1.39.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.39.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.39.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/1.39.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/1.39.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/1.39.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/1.39.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/1.39.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/1.39.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/1.39.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/1.39.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.39.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.39.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.39.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.39.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.39.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.39.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.39.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.39.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.39.0.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.39.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/1.39.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.39.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.39.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/1.39.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/1.39.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/1.39.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/1.39.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/1.39.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.39.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.39.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/1.39.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/1.39.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.39.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.39.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/1.39.0.Final/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/1.39.0.Final/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.39.0.Final/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/1.39.0.Final/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/1.39.0.Final/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/1.39.0.Final/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.39.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/1.39.0.Final/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.39.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.39.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Supporting Services","items":[{"content":"Job Service","url":"/serverlessworkflow/1.39.0.Final/supporting-services/jobs-service.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/1.39.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/1.39.0.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.38.0.Final":{"displayVersion":"1.38","title":"Kogito Serverless Workflow Guides","version":"1.38.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.6.Final","quarkus_platform_version":"2.16.6.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.38.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.38.0.Final/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/1.38.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.38.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.38.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/1.38.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/1.38.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/1.38.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/1.38.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/1.38.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/1.38.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/1.38.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/1.38.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.38.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.38.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.38.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.38.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.38.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.38.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.38.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.38.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.38.0.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.38.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/1.38.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.38.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.38.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/1.38.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/1.38.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/1.38.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/1.38.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/1.38.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.38.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.38.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/1.38.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/1.38.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.38.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.38.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/1.38.0.Final/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/1.38.0.Final/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.38.0.Final/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/1.38.0.Final/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/1.38.0.Final/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/1.38.0.Final/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.38.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/1.38.0.Final/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.38.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.38.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Supporting Services","items":[{"content":"Job Service","url":"/serverlessworkflow/1.38.0.Final/supporting-services/jobs-service.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/1.38.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/1.38.0.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.37.0.Final":{"displayVersion":"1.37","title":"Kogito Serverless Workflow Guides","version":"1.37.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito Serverless Workflow","kogito_version_redhat":"","operator_name":"Kogito Serverless Workflow Operator","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.5.Final","quarkus_platform_version":"2.16.5.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.37.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","quarkus_url":"https://quarkus.io/","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io","kogito_serverless_operator_url":"https://github.com/kiegroup/kogito-serverless-operator/","docs_issues_url":"https://github.com/kiegroup/kogito-docs/issues/new"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.37.0.Final/index.html","navigation":[{"items":[{"content":"Release notes","url":"/serverlessworkflow/1.37.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.37.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.37.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with tooling","url":"/serverlessworkflow/1.37.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions","url":"/serverlessworkflow/1.37.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling","url":"/serverlessworkflow/1.37.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism","url":"/serverlessworkflow/1.37.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties","url":"/serverlessworkflow/1.37.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition","url":"/serverlessworkflow/1.37.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your workflow service","url":"/serverlessworkflow/1.37.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts Support","url":"/serverlessworkflow/1.37.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.37.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.37.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.37.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.37.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Kogito Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.37.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.37.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.37.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.37.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.37.0.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.37.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event State","url":"/serverlessworkflow/1.37.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.37.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.37.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event Correlation","url":"/serverlessworkflow/1.37.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback State","url":"/serverlessworkflow/1.37.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback","url":"/serverlessworkflow/1.37.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services","url":"/serverlessworkflow/1.37.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication","url":"/serverlessworkflow/1.37.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.37.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.37.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing using REST Assured","url":"/serverlessworkflow/1.37.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Integration tests using PostgreSQL","url":"/serverlessworkflow/1.37.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.37.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.37.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","url":"/serverlessworkflow/1.37.0.Final/cloud/index.html","urlType":"internal","items":[{"content":"Operator","items":[{"content":"Installation","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/install-serverless-operator.html","urlType":"internal"},{"content":"Developing Workflows","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/developing-workflows.html","urlType":"internal"},{"content":"Configuring Workflows","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/configuring-workflows.html","urlType":"internal"},{"content":"Workflows Status","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/workflow-status-conditions.html","urlType":"internal"},{"content":"Building and Deploying Workflows","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/build-and-deploy-workflows.html","urlType":"internal"},{"content":"Known Issues","url":"/serverlessworkflow/1.37.0.Final/cloud/operator/known-issues.html","urlType":"internal"}]},{"content":"Quarkus","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.37.0.Final/cloud/quarkus/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying Workflows on Minikube","url":"/serverlessworkflow/1.37.0.Final/cloud/quarkus/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying Workflows on Kubernetes","url":"/serverlessworkflow/1.37.0.Final/cloud/quarkus/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery","url":"/serverlessworkflow/1.37.0.Final/cloud/quarkus/kubernetes-service-discovery.html","urlType":"internal"}]}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.37.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services","url":"/serverlessworkflow/1.37.0.Final/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.37.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.37.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga Orchestration Example","url":"/serverlessworkflow/1.37.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout Example","url":"/serverlessworkflow/1.37.0.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.36.1.Final":{"displayVersion":"1.36","title":"Kogito Serverless Workflow Guides","version":"1.36.1.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.4.Final","quarkus_platform_version":"2.16.4.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.36.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.36.1.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.36.1.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.36.1.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.36.1.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.36.1.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.36.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.36.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.36.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.36.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.36.1.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.36.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.36.1.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.36.1.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.36.1.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.36.1.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.36.1.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.36.1.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.36.1.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.36.1.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.36.1.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.36.1.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.36.1.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.36.1.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.36.1.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.36.1.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Kubernetes","url":"/serverlessworkflow/1.36.1.Final/cloud/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"},{"content":"Buiding and deploying a Serverless Workflow application on Kubernetes using the Kogito Serverless Operator","url":"/serverlessworkflow/1.36.1.Final/cloud/build-and-deploy-with-serverless-operator-on-kubernetes.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.36.1.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services from Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.36.1.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.36.1.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout example in Serverless Workflow","url":"/serverlessworkflow/1.36.1.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.35.0.Final":{"displayVersion":"1.35","title":"Kogito Serverless Workflow Guides","version":"1.35.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.0.Final","quarkus_platform_version":"2.16.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.35.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.35.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.35.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.35.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.35.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.35.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.35.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.35.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.35.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.35.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.35.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.35.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.35.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.35.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.35.0.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.35.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.35.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.35.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.35.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.35.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.35.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.35.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.35.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.35.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.35.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.35.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Kubernetes","url":"/serverlessworkflow/1.35.0.Final/cloud/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"},{"content":"Buiding and deploying a Serverless Workflow application on Kubernetes using the Kogito Serverless Operator","url":"/serverlessworkflow/1.35.0.Final/cloud/build-and-deploy-with-serverless-operator-on-kubernetes.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.35.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Invoking Knative services from Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/integrations/custom-functions-knative.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.35.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.35.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout example in Serverless Workflow","url":"/serverlessworkflow/1.35.0.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.34.0.Final":{"displayVersion":"1.34","title":"Kogito Serverless Workflow Guides","version":"1.34.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"main","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.34.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.34.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.34.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.34.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.34.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.34.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.34.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.34.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.34.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"},{"content":"Dashboards in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.34.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-custom-dashboard-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.34.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.34.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.34.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.34.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestrating the AsyncAPI services","url":"/serverlessworkflow/1.34.0.Final/service-orchestration/orchestration-of-asyncapi-based-services.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.34.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.34.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.34.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.34.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.34.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.34.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.34.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.34.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.34.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.34.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.34.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Kubernetes","url":"/serverlessworkflow/1.34.0.Final/cloud/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"},{"content":"Buiding and deploying a Serverless Workflow application on Kubernetes using the Kogito Serverless Operator","url":"/serverlessworkflow/1.34.0.Final/cloud/build-and-deploy-with-serverless-operator-on-kubernetes.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.34.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.34.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.34.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"},{"content":"Timeout example in Serverless Workflow","url":"/serverlessworkflow/1.34.0.Final/use-cases/timeout-showcase-example.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.33.0.Final":{"displayVersion":"1.33","title":"Kogito Serverless Workflow Guides","version":"1.33.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.16.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.33.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.33.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.33.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.33.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.33.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.33.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.33.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.33.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.33.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.33.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.33.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.33.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.33.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.33.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.33.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.33.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.33.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.33.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.33.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.33.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.33.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.33.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.33.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.33.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Kubernetes","url":"/serverlessworkflow/1.33.0.Final/cloud/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Integrating with Camel Routes","url":"/serverlessworkflow/1.33.0.Final/integrations/camel-routes-integration.html","urlType":"internal"},{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.33.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.33.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.33.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.32.0.Final":{"displayVersion":"1.32","title":"Kogito Serverless Workflow Guides","version":"1.32.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.15.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","operator_version":"v1.32.0","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.32.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","cloud_events_git_url":"https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","open_api_swagger_spec_url":"https://swagger.io/docs/specification","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas","camel_url":"https://camel.apache.org/","camel_extensions_url":"https://camel.apache.org/camel-quarkus/2.14.x/reference/extensions","kaoto_url":"https://marketplace.visualstudio.com/items?itemName=redhat.vscode-kaoto","minikube_url":"https://minikube.sigs.k8s.io"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.32.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.32.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.32.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.32.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.32.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.32.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.32.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.32.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.32.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.32.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.32.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.32.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.32.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.32.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.32.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/eventing/working-with-callbacks.html","urlType":"internal"},{"content":"OpenAPI Callback in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/eventing/working-with-openapi-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.32.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.32.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.32.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.32.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.32.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"},{"content":"Migrate your PostgreSQL database","url":"/serverlessworkflow/1.32.0.Final/persistence/postgresql-flyway-migration.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.32.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.32.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Kubernetes","url":"/serverlessworkflow/1.32.0.Final/cloud/deploying-on-kubernetes.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"},{"content":"Buiding and deploying a Serverless Workflow application on Kubernetes using the Kogito Serverless Operator","url":"/serverlessworkflow/1.32.0.Final/cloud/build-and-deploy-with-serverless-operator-on-kubernetes.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.32.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.32.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.32.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.31.1.Final":{"displayVersion":"1.31","title":"Kogito Serverless Workflow Guides","version":"1.31.1.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.15.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.3.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.31.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.31.1.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.31.1.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.31.1.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.31.1.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.31.1.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.31.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.31.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.31.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.31.1.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.31.1.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.31.1.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.31.1.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.31.1.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.31.1.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.31.1.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.31.1.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.31.1.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.31.1.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.31.1.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.31.1.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.31.1.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.31.1.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.31.1.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.31.1.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.31.1.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.30.0.Final":{"displayVersion":"1.30","title":"Kogito Serverless Workflow Guides","version":"1.30.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.14.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.2.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"docker_min_version":"20.10.7","docker_compose_min_version":"1.27.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.30.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","docker_compose_install_url":"https://docs.docker.com/compose/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.30.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.30.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.30.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.30.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.30.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.30.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.30.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.30.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.30.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.30.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.30.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.30.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.30.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.30.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.30.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.30.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.30.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.30.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.30.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.30.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.30.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.30.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.30.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.30.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.30.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.29.0.Final":{"displayVersion":1.29,"title":"Kogito Serverless Workflow Guides","version":"1.29.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.13.1.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.2.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.29.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","kogito_apps_url":"https://github.com/kiegroup/kogito-apps/tree/main","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.29.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.29.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.29.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.29.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.29.0.Final/core/custom-functions-support.html","urlType":"internal"},{"content":"Timeouts in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/core/timeouts-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.29.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.29.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.29.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.29.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.29.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.29.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.29.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.29.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.29.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.29.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.29.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.29.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.29.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.29.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.29.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.29.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.29.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.29.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.29.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.29.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.28.0.Final":{"displayVersion":1.28,"title":"Kogito Serverless Workflow Guides","version":"1.28.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.13.0.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.2.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.28.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.28.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.28.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.28.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.28.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.28.0.Final/core/custom-functions-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.28.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.28.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.28.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.28.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"Integrating your Serverless Workflow project in GitHub using Serverless Logic Web Tools","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"Integrating your Serverless Workflow project with OpenShift using Serverless Logic Web Tools","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Integrating with Red Hat OpenShift Application and Data Services","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow projects using Serverless Logic Web Tools","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Enabling Kogito Serverless Workflow Visualization in Serverless Logic Web Tools","url":"/serverlessworkflow/1.28.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.28.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.28.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.28.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.28.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.28.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.28.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.28.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.28.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.28.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.28.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.28.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.28.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.28.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.28.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.28.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.27.0.Final":{"displayVersion":1.27,"title":"Kogito Serverless Workflow Guides","version":"1.27.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.7.6.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.2.0","spec_version":0.8,"vscode_version":"1.46.0","kn_cli_version":"0.21.3","kie_tools_node_min_version":"16.13.2","kie_tools_pnpm_min_version":"7.0.0","kie_tools_golang_min_version":1.19,"kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.27.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","quarkus_swagger_url":"https://quarkus.io/guides/openapi-swaggerui","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/","node_install_url":"https://nodejs.org/en/download/package-manager/","pnpm_install_url":"https://pnpm.io/installation","golang_install_url":"https://go.dev/doc/install","serverless_logic_web_tools_url":"https://start.kubesmarts.org/","serverless_logic_web_tools_name":"Serverless Logic Web Tools","github_tokens_url":"https://github.com/settings/tokens","openshift_developer_sandbox_url":"https://developers.redhat.com/developer-sandbox","openshift_application_data_services_service_account_url":"https://console.redhat.com/application-services/service-accounts","openshift_application_data_services_service_registry_url":"https://console.redhat.com/application-services/service-registry","openshift_application_data_services_apache_kafka_url":"https://console.redhat.com/application-services/streams/kafkas"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.27.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.27.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.27.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.27.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Input schema definition for Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/core/defining-an-input-schema-for-workflows.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.27.0.Final/core/custom-functions-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.27.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.27.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.27.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.27.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"},{"content":"Serverless Logic Web Tools","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-overview.html","urlType":"internal","items":[{"content":"GitHub integration","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-github-integration.html","urlType":"internal"},{"content":"OpenShift integration","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-openshift-integration.html","urlType":"internal"},{"content":"Red Hat OpenShift Application and Data Services integration","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-redhat-application-services-integration.html","urlType":"internal"},{"content":"Deploying projects","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-deploy-projects.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Visualization","url":"/serverlessworkflow/1.27.0.Final/tooling/serverless-logic-web-tools/serverless-logic-web-tools-enable-kogito-swf-visualization.html","urlType":"internal"}]}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.27.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.27.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.27.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.27.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.27.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.27.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.27.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.27.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.27.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.27.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.27.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.27.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"},{"content":"Kubernetes service discovery in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/cloud/kubernetes-service-discovery.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Exposing workflow base metrics to Prometheus","url":"/serverlessworkflow/1.27.0.Final/integrations/expose-metrics-to-prometheus.html","urlType":"internal"},{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.27.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.27.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.26.0.Final":{"displayVersion":1.26,"title":"Kogito Serverless Workflow Guides","version":"1.26.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.11.2.Final","java_min_version":"11+","maven_min_version":"3.8.6","graalvm_min_version":"22.1.0","spec_version":0.8,"vscode_version":"1.46.0","kn-cli-version":"0.21.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.26.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.26.0.Final/index.html","navigation":[{"items":[{"content":"Release notes for Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/release_notes.html","urlType":"internal"},{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.26.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.26.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.26.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.26.0.Final/core/custom-functions-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.26.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.26.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.26.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.26.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.26.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.26.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.26.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.26.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.26.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.26.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.26.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.26.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.26.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.26.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.26.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.26.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.26.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.26.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.26.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.26.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.26.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.25.0.Final":{"displayVersion":1.25,"title":"Kogito Serverless Workflow Guides","version":"1.25.0.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.10.2.Final","java_min_version":"11+","maven_min_version":"3.8.1","graalvm_min_version":"22.1.0","spec_version":0.8,"vscode_version":"1.46.0","kn-cli-version":"0.21.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.25.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.25.0.Final/index.html","navigation":[{"items":[{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.25.0.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.25.0.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.25.0.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.25.0.Final/core/custom-functions-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.25.0.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.25.0.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.25.0.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.25.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.25.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.25.0.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.25.0.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.25.0.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.25.0.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.25.0.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.25.0.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.25.0.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.25.0.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.25.0.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.25.0.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.25.0.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.25.0.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.25.0.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.25.0.Final/cloud/deploying-on-minikube.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.25.0.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.25.0.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]},"serverlessworkflow/1.24.1.Final":{"displayVersion":1.24,"title":"Kogito Serverless Workflow Guides","version":"1.24.1.Final","name":"serverlessworkflow","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":"Kogito Serverless Workflow Guides","toc":null,"product_name":"Kogito","context":"Serverless Workflow","kogito_version_redhat":"","quarkus_platform":"io.quarkus.platform","kogito_sw_ga":"kogito-quarkus-serverless-workflow","quarkus_version":"2.10.2.Final","java_min_version":"11+","maven_min_version":"3.8.1","graalvm_min_version":"22.1.0","spec_version":0.8,"vscode_version":"1.46.0","kn-cli-version":"0.21.2","kogito_devservices_imagename":"registry.redhat.io/openshift-serverless-1-tech-preview/logic-data-index-ephemeral-rhel8","kogito_examples_repository_url":"https://github.com/kiegroup/kogito-examples","kogito_sw_examples_url":"https://github.com/kiegroup/kogito-examples/tree/1.24.x/serverless-workflow-examples","kogito_examples_url":"https://github.com/kiegroup/kogito-examples.git","quarkus_cli_url":"https://quarkus.io/guides/cli-tooling","spec_website_url":"https://serverlessworkflow.io/","spec_doc_url":"https://github.com/serverlessworkflow/specification/blob/0.8.x/specification.md","cloud_events_url":"https://cloudevents.io/","cloud_events_sdk_url":"https://github.com/cloudevents/sdk-java","open_api_spec_url":"https://spec.openapis.org/oas/v3.1.0.html","quarkus_openapi_gen_url":"https://github.com/quarkiverse/quarkus-openapi-generator","kie_tools_releases_page_url":"https://github.com/kiegroup/kie-tools/releases","quarkus_guides_base_url":"https://quarkus.io/guides","smallrye_messaging_url":"https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/3.3","quarkus_config_url":"https://quarkus.io/guides/config","java_install":"https://www.java.com/en/download/help/download_options.html","maven_install":"https://maven.apache.org/install.html","docker_install":"https://docs.docker.com/engine/install/","podman_install":"https://docs.podman.io/en/latest/","kubectl_install":"https://kubernetes.io/docs/tasks/tools/install-kubectl","java_install_url":"https://www.java.com/en/download/help/download_options.html","maven_install_url":"https://maven.apache.org/install.html","docker_install_url":"https://docs.docker.com/engine/install/","podman_install_url":"https://docs.podman.io/en/latest/","kubectl_install_url":"https://kubernetes.io/docs/tasks/tools/install-kubectl","kn_cli_install_url":"https://github.com/knative/client/blob/main/docs/README.md#installing-kn","kafka_doc_url":"https://kafka.apache.org/documentation/"},"sourcemap":false,"extensions":[{},{}]},"url":"/serverlessworkflow/1.24.1.Final/index.html","navigation":[{"items":[{"content":"Getting Started","items":[{"content":"Creating your first workflow service","url":"/serverlessworkflow/1.24.1.Final/getting-started/create-your-first-workflow-service.html","urlType":"internal"},{"content":"CNCF Serverless Workflow specification","url":"/serverlessworkflow/1.24.1.Final/getting-started/cncf-serverless-workflow-specification-support.html","urlType":"internal"},{"content":"Getting familiar with Serverless Workflow tooling","url":"/serverlessworkflow/1.24.1.Final/getting-started/getting-familiar-with-our-tooling.html","urlType":"internal"}]},{"content":"Core","items":[{"content":"jq expressions in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/core/understanding-jq-expressions.html","urlType":"internal"},{"content":"Error handling in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/core/understanding-workflow-error-handling.html","urlType":"internal"},{"content":"Parallelism in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/core/working-with-parallelism.html","urlType":"internal"},{"content":"Configuration properties in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/core/configuration-properties.html","urlType":"internal"},{"content":"Custom functions for your Serverless Workflow service","url":"/serverlessworkflow/1.24.1.Final/core/custom-functions-support.html","urlType":"internal"}]},{"content":"Tooling","items":[{"content":"Serverless Workflow editor","url":"/serverlessworkflow/1.24.1.Final/tooling/serverless-workflow-editor/swf-editor-overview.html","urlType":"internal"},{"content":"VS Code extension for Serverless Workflow editor","url":"/serverlessworkflow/1.24.1.Final/tooling/serverless-workflow-editor/swf-editor-vscode-extension.html","urlType":"internal"},{"content":"Chrome GitHub extension for Serverless Workflow editor","url":"/serverlessworkflow/1.24.1.Final/tooling/serverless-workflow-editor/swf-editor-chrome-extension.html","urlType":"internal"},{"content":"Kogito Serverless Workflow Tools extension in Quarkus Dev UI","url":"/serverlessworkflow/1.24.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-overview.html","urlType":"internal","items":[{"content":"Workflow Instances in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.24.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-instances-page.html","urlType":"internal"},{"content":"Workflow Definitions in Kogito Serverless Workflow Tools extension","url":"/serverlessworkflow/1.24.1.Final/tooling/quarkus-dev-ui-extension/quarkus-dev-ui-workflow-definition-page.html","urlType":"internal"}]},{"content":"Serverless Workflow plug-in for Knative CLI","url":"/serverlessworkflow/1.24.1.Final/tooling/kn-plugin-workflow-overview.html","urlType":"internal"}]},{"content":"Service Orchestration","items":[{"content":"Orchestrating the OpenAPI services","url":"/serverlessworkflow/1.24.1.Final/service-orchestration/orchestration-of-openapi-based-services.html","urlType":"internal"},{"content":"Configuring the OpenAPI services endpoints","url":"/serverlessworkflow/1.24.1.Final/service-orchestration/configuring-openapi-services-endpoints.html","urlType":"internal"},{"content":"Orchestration of gRPC based services","url":"/serverlessworkflow/1.24.1.Final/service-orchestration/orchestration-of-grpc-services.html","urlType":"internal"}]},{"content":"Eventing","items":[{"content":"Event state in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/eventing/handling-events-on-workflows.html","urlType":"internal"},{"content":"Consuming and producing events using Apache Kafka","url":"/serverlessworkflow/1.24.1.Final/eventing/consume-producing-events-with-kafka.html","urlType":"internal"},{"content":"Consuming and producing events on Knative Eventing","url":"/serverlessworkflow/1.24.1.Final/eventing/consume-produce-events-with-knative-eventing.html","urlType":"internal"},{"content":"Event correlation in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/eventing/event-correlation-with-workflows.html","urlType":"internal"},{"content":"Callback state in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/eventing/working-with-callbacks.html","urlType":"internal"}]},{"content":"Security","items":[{"content":"Authentication for OpenAPI services in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/security/authention-support-for-openapi-services.html","urlType":"internal"},{"content":"Orchestration of third-party services using OAuth 2.0 authentication in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/security/orchestrating-third-party-services-with-oauth2.html","urlType":"internal"}]},{"content":"Testing and Troubleshooting","items":[{"content":"Mocking HTTP CloudEvents sink using WireMock","url":"/serverlessworkflow/1.24.1.Final/testing-and-troubleshooting/mocking-http-cloudevents-with-wiremock.html","urlType":"internal"},{"content":"Mocking OpenAPI services using WireMock","url":"/serverlessworkflow/1.24.1.Final/testing-and-troubleshooting/mocking-openapi-services-with-wiremock.html","urlType":"internal"},{"content":"Testing your workflow application using REST Assured","url":"/serverlessworkflow/1.24.1.Final/testing-and-troubleshooting/basic-integration-tests-with-restassured.html","urlType":"internal"},{"content":"Serverless Workflow integration test using PostgreSQL","url":"/serverlessworkflow/1.24.1.Final/testing-and-troubleshooting/integration-tests-with-postgresql.html","urlType":"internal"}]},{"content":"Persistence","items":[{"content":"Running a workflow service using PostgreSQL","url":"/serverlessworkflow/1.24.1.Final/persistence/persistence-with-postgresql.html","urlType":"internal"}]},{"content":"Cloud","items":[{"content":"Building workflow images using Quarkus CLI","url":"/serverlessworkflow/1.24.1.Final/cloud/build-workflow-image-with-quarkus-cli.html","urlType":"internal"},{"content":"Deploying your Serverless Workflow application on Minikube","url":"/serverlessworkflow/1.24.1.Final/cloud/deploying-on-minikube.html","urlType":"internal"}]},{"content":"Integrations","items":[{"content":"Displaying workflow data in dashboards","url":"/serverlessworkflow/1.24.1.Final/integrations/serverless-dashboard-with-runtime-data.html","urlType":"internal"}]},{"content":"Use Cases","items":[{"content":"Saga orchestration example in Serverless Workflow","url":"/serverlessworkflow/1.24.1.Final/use-cases/orchestration-based-saga-pattern.html","urlType":"internal"}]}],"root":true,"order":0}]}}}}) \ No newline at end of file diff --git a/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-kubernetes.html b/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-kubernetes.html index aeac0b011..6fa67d263 100644 --- a/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-kubernetes.html +++ b/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-kubernetes.html @@ -856,7 +856,7 @@

-
quarkus-kubernetes 'io.quarkus:quarkus-kubernetes:2.16.7.Final'
+
quarkus-kubernetes 'io.quarkus:quarkus-kubernetes:2.13.8.Final'
 quarkus-kubernetes 'org.kie.kogito:kogito-addons-quarkus-knative-eventing:1.40.0-SNAPSHOT'
diff --git a/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-minikube.html b/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-minikube.html index ee9a69353..c0679087f 100644 --- a/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-minikube.html +++ b/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-minikube.html @@ -1046,7 +1046,7 @@

-
quarkus-kubernetes 'io.quarkus:quarkus-kubernetes:2.16.7.Final'
+
quarkus-kubernetes 'io.quarkus:quarkus-kubernetes:2.13.8.Final'
 quarkus-kubernetes 'org.kie.kogito:kogito-addons-quarkus-knative-eventing:1.40.0-SNAPSHOT'
diff --git a/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-openshift.html b/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-openshift.html index 94777a146..ccc15b217 100644 --- a/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-openshift.html +++ b/serverlessworkflow/1.40.0-SNAPSHOT/cloud/quarkus/deploying-on-openshift.html @@ -927,7 +927,7 @@

-
quarkus-kubernetes 'io.quarkus:quarkus-openshift:2.16.7.Final'
+
quarkus-kubernetes 'io.quarkus:quarkus-openshift:2.13.8.Final'
 quarkus-kubernetes 'org.kie.kogito:kogito-addons-quarkus-knative-eventing:1.40.0-SNAPSHOT'
diff --git a/serverlessworkflow/1.40.0-SNAPSHOT/getting-started/create-your-first-workflow-service.html b/serverlessworkflow/1.40.0-SNAPSHOT/getting-started/create-your-first-workflow-service.html index 1a816890f..619eab71e 100644 --- a/serverlessworkflow/1.40.0-SNAPSHOT/getting-started/create-your-first-workflow-service.html +++ b/serverlessworkflow/1.40.0-SNAPSHOT/getting-started/create-your-first-workflow-service.html @@ -582,7 +582,7 @@

Create a project using Apache Maven