/*%FSM<COMPILE "C:\Games\steamapps\common\Arma 3 Tools\FSMEditor\scriptedFSM.cfg, KPLIB Tutorial">*/
/*%FSM<HEAD>*/
/*
item0[] = {"_",8,218,-375.000000,900.000000,-275.000000,950.000000,0.000000,""};
item1[] = {"Attack_one_of_the",2,250,-375.000000,975.000000,-275.000000,1025.000000,0.000000,"Attack one" \n "of the near" \n "factories"};
item2[] = {"Author__KPLIB_Dev",0,250,0.000000,0.000000,100.000000,50.000000,0.000000,"Author:" \n "KPLIB Dev Team"};
item3[] = {"save_loaded_",4,218,0.000000,75.000000,100.000000,125.000000,0.000000,"save loaded?"};
item4[] = {"Show_dialog_to_start",2,250,0.000000,300.000000,100.000000,350.000000,0.000000,"Show dialog" \n "to start" \n "Tutorial"};
item5[] = {"not_commander_",4,218,125.000000,0.000000,225.000000,50.000000,1.000000,"not" \n "commander?"};
item6[] = {"Exit",1,250,250.000000,0.000000,350.000000,50.000000,0.000000,"Exit"};
item7[] = {"Set_all_completion",2,250,0.000000,150.000000,100.000000,200.000000,0.000000,"Set all" \n "completion" \n "conditions"};
item8[] = {"delay_passed_",4,218,0.000000,225.000000,100.000000,275.000000,0.000000,"delay passed?"};
item9[] = {"accepted_",4,218,0.000000,375.000000,100.000000,425.000000,0.000000,"accepted?"};
item10[] = {"declined_",4,218,125.000000,300.000000,225.000000,350.000000,1.000000,"declined?"};
item11[] = {"Exit_1",1,250,250.000000,300.000000,350.000000,350.000000,0.000000,"Exit"};
item12[] = {"Init",2,250,0.000000,450.000000,100.000000,500.000000,0.000000,"Init"};
item13[] = {"_",8,218,0.000000,525.000000,100.000000,575.000000,0.000000,""};
item14[] = {"Check_for_next_s",2,250,0.000000,600.000000,100.000000,650.000000,0.000000,"Check for" \n "next step"};
item15[] = {"",7,210,46.000000,696.000000,54.000000,704.000000,0.000000,""};
item16[] = {"Deploy_first_FOB",4,218,0.000000,750.000000,100.000000,800.000000,1.000000,"Deploy" \n "first" \n "FOB"};
item17[] = {"Init_path",2,250,0.000000,825.000000,100.000000,875.000000,0.000000,"Init" \n "path"};
item18[] = {"FOB_crate_",4,218,-125.000000,975.000000,-25.000000,1025.000000,1.000000,"FOB crate?"};
item19[] = {"Slingload_crate",2,250,-125.000000,1050.000000,-25.000000,1100.000000,0.000000,"Slingload" \n "crate to a" \n "suitable position"};
item20[] = {"",7,210,46.000000,921.000000,54.000000,929.000000,0.000000,""};
item21[] = {"",7,210,-79.000000,920.999939,-71.000000,929.000061,0.000000,""};
item22[] = {"FOB_truck_",4,218,125.000000,975.000000,225.000000,1025.000000,0.000000,"FOB truck?"};
item23[] = {"Drive_the_truck",2,250,125.000000,1050.000000,225.000000,1100.000000,0.000000,"Drive the truck" \n "to a suitable" \n "position"};
item24[] = {"",7,210,171.000000,921.000000,179.000000,929.000061,0.000000,""};
item25[] = {"tutorial_already",4,218,-125.000000,150.000000,-25.000000,200.000000,2.000000,"tutorial" \n "already done?"};
item26[] = {"Exit_2",1,250,-250.000000,150.000000,-150.000000,200.000000,0.000000,"Exit"};
item27[] = {"FOB_deployed_",4,218,0.000000,1200.000000,100.000000,1250.000000,0.000000,"FOB" \n "deployed?"};
item28[] = {"",7,210,46.000000,1146.000000,54.000000,1154.000000,0.000000,""};
item29[] = {"",7,210,-79.000008,1146.000000,-70.999992,1154.000000,0.000000,""};
item30[] = {"",7,210,171.000000,1145.999878,179.000000,1154.000122,0.000000,""};
item31[] = {"Build_storage_ar",2,250,0.000000,1275.000000,100.000000,1325.000000,0.000000,"Build" \n "storage area"};
item32[] = {"start_crates_spawned",4,218,0.000000,1500.000000,100.000000,1550.000000,0.000000,"start crates" \n "spawned?"};
item33[] = {"Create_tasks_for",2,250,0.000000,1575.000000,100.000000,1625.000000,0.000000,"Create tasks" \n "for start resources"};
item34[] = {"Crates_stored_",4,218,0.000000,1650.000000,100.000000,1700.000000,0.000000,"Crates stored?"};
item35[] = {"Complete_tasks",2,250,0.000000,1725.000000,100.000000,1775.000000,0.000000,"Complete tasks"};
item36[] = {"",7,210,-79.000008,621.000000,-70.999992,629.000000,0.000000,""};
item37[] = {"_",8,218,125.000000,600.000000,225.000000,650.000000,0.000000,""};
item38[] = {"",7,210,296.000000,621.000000,304.000000,629.000000,0.000000,""};
item39[] = {"",7,210,296.000000,1971.000000,304.000000,1979.000000,0.000000,""};
item40[] = {"built_",4,218,0.000000,1350.000000,100.000000,1400.000000,0.000000,"built?"};
item41[] = {"Complete_task",2,250,0.000000,1425.000000,100.000000,1475.000000,0.000000,"Complete task"};
item42[] = {"",7,210,46.000000,1971.000000,54.000000,1979.000000,0.000000,""};
item43[] = {"Capture_first_fa",4,218,-375.000000,750.000000,-275.000000,800.000000,0.000000,"Capture" \n "first" \n "factory"};
item44[] = {"",7,210,-329.000000,696.000000,-321.000000,704.000000,0.000000,""};
item45[] = {"Init_path_1",2,250,-375.000000,825.000000,-275.000000,875.000000,0.000000,"Init" \n "path"};
item46[] = {"Sector_activated",4,218,-375.000000,1050.000000,-275.000000,1100.000000,0.000000,"Sector activated?"};
item47[] = {"Capture_the_sect",2,250,-375.000000,1125.000000,-275.000000,1175.000000,0.000000,"Capture the" \n "sector"};
item48[] = {"Sector_captured",4,218,-375.000000,1200.000000,-275.000000,1250.000000,0.000000,"Sector captured?"};
item49[] = {"POWs_and_wounded",2,250,-375.000000,1425.000000,-275.000000,1475.000000,0.000000,"POWs and" \n "wounded civs"};
item50[] = {"taken_care_of_",4,218,-375.000000,1500.000000,-275.000000,1550.000000,0.000000,"taken care" \n "of?"};
item51[] = {"Build_storage",2,250,-375.000000,1575.000000,-275.000000,1625.000000,0.000000,"Build storage"};
item52[] = {"built_",4,218,-375.000000,1650.000000,-275.000000,1700.000000,0.000000,"built?"};
item53[] = {"Start_production",2,250,-375.000000,1725.000000,-275.000000,1775.000000,0.000000,"Start production"};
item54[] = {"started_",4,218,-375.000000,1800.000000,-275.000000,1850.000000,0.000000,"started?"};
item55[] = {"Complete_tasks_1",2,250,-375.000000,1875.000000,-275.000000,1925.000000,0.000000,"Complete tasks"};
item56[] = {"",7,210,-329.000000,1971.000000,-321.000000,1979.000000,0.000000,""};
item57[] = {"Complete_task_and",3,250,-375.000000,1275.000000,-275.000000,1325.000000,0.000000,"Complete task" \n "and wait for" \n "processing"};
item58[] = {"delay_passed_",4,218,-375.000000,1350.000000,-275.000000,1400.000000,0.000000,"delay passed?"};
link0[] = {0,1};
link1[] = {1,46};
link2[] = {2,3};
link3[] = {2,5};
link4[] = {3,7};
link5[] = {4,9};
link6[] = {4,10};
link7[] = {5,6};
link8[] = {7,8};
link9[] = {7,25};
link10[] = {8,4};
link11[] = {9,12};
link12[] = {10,11};
link13[] = {12,13};
link14[] = {13,14};
link15[] = {14,15};
link16[] = {14,36};
link17[] = {15,16};
link18[] = {15,44};
link19[] = {16,17};
link20[] = {17,20};
link21[] = {18,19};
link22[] = {19,29};
link23[] = {20,21};
link24[] = {20,24};
link25[] = {21,18};
link26[] = {22,23};
link27[] = {23,30};
link28[] = {24,22};
link29[] = {25,26};
link30[] = {27,31};
link31[] = {28,27};
link32[] = {29,28};
link33[] = {30,28};
link34[] = {31,40};
link35[] = {32,33};
link36[] = {33,34};
link37[] = {34,35};
link38[] = {35,42};
link39[] = {36,25};
link40[] = {37,14};
link41[] = {38,37};
link42[] = {39,38};
link43[] = {40,41};
link44[] = {41,32};
link45[] = {42,39};
link46[] = {43,45};
link47[] = {44,43};
link48[] = {45,0};
link49[] = {46,47};
link50[] = {47,48};
link51[] = {48,57};
link52[] = {49,50};
link53[] = {50,51};
link54[] = {51,52};
link55[] = {52,53};
link56[] = {53,54};
link57[] = {54,55};
link58[] = {55,56};
link59[] = {56,42};
link60[] = {57,58};
link61[] = {58,49};
globals[] = {0.000000,0,0,0,0,640,480,1,87,6316128,1,-872.324036,426.382813,2058.735596,1126.872803,1232,884,1};
window[] = {2,-1,-1,-1,-1,941,182,1622,182,3,1250};
*//*%FSM</HEAD>*/
class FSM
{
        fsmName = "KPLIB Tutorial";
        class States
        {
                /*%FSM<STATE "Attack_one_of_the">*/
                class Attack_one_of_the
                {
                        name = "Attack_one_of_the";
                        itemno = 1;
                        init = /*%FSM<STATEINIT""">*/"// Create task" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Sector_01"", ""KPLIB_Tasks_Tutorial_Sector""]," \n
                         "    """"," \n
                         "    objNull," \n
                         "    ""ASSIGNED""," \n
                         "    0," \n
                         "    true," \n
                         "    ""map""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;" \n
                         "" \n
                         "// Get up to 3 nearest factory sectors" \n
                         "private _sectors = (" \n
                         "    sectors_factory select {((markerPos _x) distance2d player) < 10000}" \n
                         ") apply {" \n
                         "    [(markerPos _x) distance2d player, _x]" \n
                         "};" \n
                         "_sectors sort true;" \n
                         "_sectors resize 3;" \n
                         "_sectors = _sectors select {!isNil ""_x""};" \n
                         "_sectors = _sectors apply {_x select 1};" \n
                         "" \n
                         "// Create task markers for near factories" \n
                         "{" \n
                         "    [" \n
                         "        allPlayers," \n
                         "        [" \n
                         "            [""KPLIB_Tasks_Tutorial_Sector_01_"", _forEachIndex] joinString """"," \n
                         "            ""KPLIB_Tasks_Tutorial_Sector_01""" \n
                         "        ]," \n
                         "        ["""", localize ""STR_PRODUCTION_FACTORY""]," \n
                         "        markerPos _x," \n
                         "        ""CREATED""," \n
                         "        -1," \n
                         "        false," \n
                         "        ""default""," \n
                         "        true" \n
                         "    ] call BIS_fnc_taskCreate;" \n
                         "} forEach _sectors;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "Sector_activated">*/
                                class Sector_activated
                                {
                                        itemno = 46;
                                        priority = 0.000000;
                                        to="Capture_the_sect";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!(" \n
                                         "    (_sectors select {_x in active_sectors}) isEqualTo []" \n
                                         ")"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Author__KPLIB_Dev">*/
                class Author__KPLIB_Dev
                {
                        name = "Author__KPLIB_Dev";
                        itemno = 2;
                        init = /*%FSM<STATEINIT""">*/"// This FSM is part of KP Liberation" \n
                         "// https://github.com/KillahPotatoes/KP-Liberation" \n
                         "// MIT License - http://www.opensource.org/licenses/MIT"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "not_commander_">*/
                                class not_commander_
                                {
                                        itemno = 5;
                                        priority = 1.000000;
                                        to="Exit";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"isDedicated" \n
                                         "||" \n
                                         "{!(player isEqualTo ([] call KPLIB_fnc_getCommander))}"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                                /*%FSM<LINK "save_loaded_">*/
                                class save_loaded_
                                {
                                        itemno = 3;
                                        priority = 0.000000;
                                        to="Set_all_completion";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!isNil ""save_is_loaded""" \n
                                         "&& {save_is_loaded}" \n
                                         "&& {alive player}" \n
                                         "&& {" \n
                                         "    private _locations = [startbase];" \n
                                         "    _locations append GRLIB_all_fobs;" \n
                                         "    !((_locations select {(_x distance2d player) < GRLIB_fob_range}) isEqualTo [])" \n
                                         "}"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Show_dialog_to_start">*/
                class Show_dialog_to_start
                {
                        name = "Show_dialog_to_start";
                        itemno = 4;
                        init = /*%FSM<STATEINIT""">*/"[" \n
                         "    format [""FSM started on: %1"", debug_source]," \n
                         "    ""TUTORIAL""" \n
                         "] remoteExecCall [""KPLIB_fnc_log"", 2];" \n
                         "" \n
                         "// Show dialog to offer the tutorial" \n
                         "[] spawn {" \n
                         "    KPLIB_playTutorial = [" \n
                         "        localize ""STR_TUTORIAL_DIALOG_TEXT_START""," \n
                         "        localize ""STR_TUTORIAL_DIALOG_TITLE""," \n
                         "        true," \n
                         "        true," \n
                         "        nil," \n
                         "        false," \n
                         "        false" \n
                         "    ] call BIS_fnc_guiMessage;" \n
                         "};" \n
                         "" \n
                         ""/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "declined_">*/
                                class declined_
                                {
                                        itemno = 10;
                                        priority = 1.000000;
                                        to="Exit_1";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!isNil ""KPLIB_playTutorial""" \n
                                         "&&" \n
                                         "{!KPLIB_playTutorial}"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                                /*%FSM<LINK "accepted_">*/
                                class accepted_
                                {
                                        itemno = 9;
                                        priority = 0.000000;
                                        to="Init";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!isNil ""KPLIB_playTutorial""" \n
                                         "&&" \n
                                         "{KPLIB_playTutorial}"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Exit">*/
                class Exit
                {
                        name = "Exit";
                        itemno = 6;
                        init = /*%FSM<STATEINIT""">*/"[" \n
                         "    format [""FSM started by non-commander: %1"", debug_source]," \n
                         "    ""TUTORIAL""" \n
                         "] remoteExecCall [""KPLIB_fnc_log"", 2];"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Set_all_completion">*/
                class Set_all_completion
                {
                        name = "Set_all_completion";
                        itemno = 7;
                        init = /*%FSM<STATEINIT""">*/"private _fobComplete = {" \n
                         "    !(GRLIB_all_fobs isEqualTo [])" \n
                         "    ||" \n
                         "    {!(blufor_sectors isEqualTo [])}" \n
                         "};" \n
                         "private _sectorComplete = {" \n
                         "    !((blufor_sectors arrayIntersect sectors_factory) isEqualTo [])" \n
                         "};" \n
                         "" \n
                         "private _allConditions = [" \n
                         "    _fobComplete," \n
                         "    _sectorComplete" \n
                         "];" \n
                         "" \n
                         "private _nextState = diag_tickTime + ([4, 10] select GRLIB_deployment_cinematic);"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "tutorial_already">*/
                                class tutorial_already
                                {
                                        itemno = 25;
                                        priority = 2.000000;
                                        to="Exit_2";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"((_allConditions apply {[] call _x}) arrayIntersect [false]) isEqualTo []"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                                /*%FSM<LINK "delay_passed_">*/
                                class delay_passed_
                                {
                                        itemno = 8;
                                        priority = 0.000000;
                                        to="Show_dialog_to_start";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"diag_tickTime >= _nextState"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Exit_1">*/
                class Exit_1
                {
                        name = "Exit_1";
                        itemno = 11;
                        init = /*%FSM<STATEINIT""">*/"[" \n
                         "    format [""FSM on %1 aborted due to declining the tutorial"", debug_source]," \n
                         "    ""TUTORIAL""" \n
                         "] remoteExecCall [""KPLIB_fnc_log"", 2];"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Init">*/
                class Init
                {
                        name = "Init";
                        itemno = 12;
                        init = /*%FSM<STATEINIT""">*/"// Create tutorial parent task" \n
                         "[" \n
                         "    allPlayers," \n
                         "    ""KPLIB_Tasks_Tutorial_Main""," \n
                         "    """"," \n
                         "    objNull," \n
                         "    ""CREATED""," \n
                         "    -1," \n
                         "    false," \n
                         "    ""whiteboard""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "_">*/
                                class _
                                {
                                        itemno = 13;
                                        priority = 0.000000;
                                        to="Check_for_next_s";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Check_for_next_s">*/
                class Check_for_next_s
                {
                        name = "Check_for_next_s";
                        itemno = 14;
                        init = /*%FSM<STATEINIT""">*/"[" \n
                         "    format [""%1 at hub"", debug_source]," \n
                         "    ""TUTORIAL""" \n
                         "] remoteExecCall [""KPLIB_fnc_log"", 2];"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "tutorial_already">*/
                                class tutorial_already
                                {
                                        itemno = 25;
                                        priority = 2.000000;
                                        to="Exit_2";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"((_allConditions apply {[] call _x}) arrayIntersect [false]) isEqualTo []"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                                /*%FSM<LINK "Deploy_first_FOB">*/
                                class Deploy_first_FOB
                                {
                                        itemno = 16;
                                        priority = 1.000000;
                                        to="Init_path";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!(" \n
                                         "    [""KPLIB_tutorialTask_Fob""] call BIS_fnc_taskCompleted" \n
                                         "    ||" \n
                                         "    {[] call _fobComplete}" \n
                                         ")"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                                /*%FSM<LINK "Capture_first_fa">*/
                                class Capture_first_fa
                                {
                                        itemno = 43;
                                        priority = 0.000000;
                                        to="Init_path_1";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!(" \n
                                         "    [""KPLIB_tutorialTask_Sector""] call BIS_fnc_taskCompleted" \n
                                         "    ||" \n
                                         "    {[] call _sectorComplete}" \n
                                         ")"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Init_path">*/
                class Init_path
                {
                        name = "Init_path";
                        itemno = 17;
                        init = /*%FSM<STATEINIT""">*/"// Create tutorial path parent task" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Fob"", ""KPLIB_Tasks_Tutorial_Main""]," \n
                         "    """"," \n
                         "    objNull," \n
                         "    ""CREATED""," \n
                         "    -1," \n
                         "    false," \n
                         "    ""whiteboard""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "FOB_crate_">*/
                                class FOB_crate_
                                {
                                        itemno = 18;
                                        priority = 1.000000;
                                        to="Slingload_crate";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!KP_liberation_fob_vehicle"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                                /*%FSM<LINK "FOB_truck_">*/
                                class FOB_truck_
                                {
                                        itemno = 22;
                                        priority = 0.000000;
                                        to="Drive_the_truck";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"KP_liberation_fob_vehicle"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Slingload_crate">*/
                class Slingload_crate
                {
                        name = "Slingload_crate";
                        itemno = 19;
                        init = /*%FSM<STATEINIT""">*/"// Create task" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Fob_01a"", ""KPLIB_Tasks_Tutorial_Fob""]," \n
                         "    """"," \n
                         "    [(base_boxspawn nearObjects [FOB_box_typename, 10]) select 0, true]," \n
                         "    ""ASSIGNED""," \n
                         "    0," \n
                         "    true," \n
                         "    ""container""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "FOB_deployed_">*/
                                class FOB_deployed_
                                {
                                        itemno = 27;
                                        priority = 0.000000;
                                        to="Build_storage_ar";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!(GRLIB_all_fobs isEqualTo [])"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Drive_the_truck">*/
                class Drive_the_truck
                {
                        name = "Drive_the_truck";
                        itemno = 23;
                        init = /*%FSM<STATEINIT""">*/"// Create task" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Fob_01b"", ""KPLIB_Tasks_Tutorial_Fob""]," \n
                         "    """"," \n
                         "    [(base_boxspawn nearObjects [FOB_box_typename, 10]) select 0, true]," \n
                         "    ""ASSIGNED""," \n
                         "    0," \n
                         "    true," \n
                         "    ""car""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "FOB_deployed_">*/
                                class FOB_deployed_
                                {
                                        itemno = 27;
                                        priority = 0.000000;
                                        to="Build_storage_ar";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!(GRLIB_all_fobs isEqualTo [])"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Exit_2">*/
                class Exit_2
                {
                        name = "Exit_2";
                        itemno = 26;
                        init = /*%FSM<STATEINIT""">*/"[" \n
                         "    format [""FSM on %1 aborted due to all tutorials completed"", debug_source]," \n
                         "    ""TUTORIAL""" \n
                         "] remoteExecCall [""KPLIB_fnc_log"", 2];" \n
                         "" \n
                         "if ([""KPLIB_Tasks_Tutorial_Main""] call BIS_fnc_taskExists) then {" \n
                         "    [] spawn {" \n
                         "        sleep 5;" \n
                         "        [" \n
                         "            localize ""STR_TUTORIAL_DIALOG_TEXT_END""," \n
                         "            localize ""STR_TUTORIAL_DIALOG_TITLE""," \n
                         "            true," \n
                         "            false," \n
                         "            nil," \n
                         "            false," \n
                         "            false" \n
                         "        ] call BIS_fnc_guiMessage;" \n
                         "    };" \n
                         "" \n
                         "    [""KPLIB_Tasks_Tutorial_Main"", ""SUCCEEDED""] call BIS_fnc_taskSetState;" \n
                         "};"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Build_storage_ar">*/
                class Build_storage_ar
                {
                        name = "Build_storage_ar";
                        itemno = 31;
                        init = /*%FSM<STATEINIT""">*/"// Complete tasks" \n
                         "[""KPLIB_Tasks_Tutorial_Fob_01a"", ""SUCCEEDED""] call BIS_fnc_taskSetState;" \n
                         "[""KPLIB_Tasks_Tutorial_Fob_01b"", ""SUCCEEDED""] call BIS_fnc_taskSetState;" \n
                         "" \n
                         "// Create task" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Fob_02"", ""KPLIB_Tasks_Tutorial_Fob""]," \n
                         "    """"," \n
                         "    objNull," \n
                         "    ""ASSIGNED""," \n
                         "    0," \n
                         "    true," \n
                         "    ""box""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "built_">*/
                                class built_
                                {
                                        itemno = 40;
                                        priority = 0.000000;
                                        to="Complete_task";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!(" \n
                                         "    (((GRLIB_all_fobs select 0) nearObjects GRLIB_fob_range) select {" \n
                                         "        (_x getVariable [""KP_liberation_storage_type"", -1]) == 0" \n
                                         "    }) isEqualTo []" \n
                                         ")"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Create_tasks_for">*/
                class Create_tasks_for
                {
                        name = "Create_tasks_for";
                        itemno = 33;
                        init = /*%FSM<STATEINIT""">*/"// Create tasks" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Fob_03"", ""KPLIB_Tasks_Tutorial_Fob""]," \n
                         "    """"," \n
                         "    objNull," \n
                         "    ""ASSIGNED""," \n
                         "    0," \n
                         "    true," \n
                         "    ""download""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;" \n
                         "" \n
                         "private _crateTasks = [];" \n
                         "private _taskId = """";" \n
                         "{" \n
                         "    _taskId = [""KPLIB_Tasks_Tutorial_Fob_03_"", _forEachIndex] joinString """";" \n
                         "    _crateTasks pushBack _taskId;" \n
                         "    [_taskId, _x] call KPLIB_fnc_handleCrateStorageTask;" \n
                         "} forEach KPLIB_startCrates;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "Crates_stored_">*/
                                class Crates_stored_
                                {
                                        itemno = 34;
                                        priority = 0.000000;
                                        to="Complete_tasks";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"(" \n
                                         "    (_crateTasks apply {[_x] call BIS_fnc_taskCompleted}) arrayIntersect [false]" \n
                                         ") isEqualTo []"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Complete_tasks">*/
                class Complete_tasks
                {
                        name = "Complete_tasks";
                        itemno = 35;
                        init = /*%FSM<STATEINIT""">*/"[""KPLIB_Tasks_Tutorial_Fob_03"", ""SUCCEEDED"", false] call BIS_fnc_taskSetState;" \n
                         "[""KPLIB_Tasks_Tutorial_Fob"", ""SUCCEEDED""] call BIS_fnc_taskSetState;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "_">*/
                                class _
                                {
                                        itemno = 37;
                                        priority = 0.000000;
                                        to="Check_for_next_s";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Complete_task">*/
                class Complete_task
                {
                        name = "Complete_task";
                        itemno = 41;
                        init = /*%FSM<STATEINIT""">*/"// Complete tasks" \n
                         "[""KPLIB_Tasks_Tutorial_Fob_02"", ""SUCCEEDED""] call BIS_fnc_taskSetState;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "start_crates_spawned">*/
                                class start_crates_spawned
                                {
                                        itemno = 32;
                                        priority = 0.000000;
                                        to="Create_tasks_for";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!isNil ""KPLIB_startCrates""" \n
                                         "&& {(count KPLIB_startCrates) >= 6}"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Init_path_1">*/
                class Init_path_1
                {
                        name = "Init_path_1";
                        itemno = 45;
                        init = /*%FSM<STATEINIT""">*/"// Create tutorial path parent task" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Sector"", ""KPLIB_Tasks_Tutorial_Main""]," \n
                         "    """"," \n
                         "    objNull," \n
                         "    ""CREATED""," \n
                         "    -1," \n
                         "    false," \n
                         "    ""whiteboard""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "_">*/
                                class _
                                {
                                        itemno = 0;
                                        priority = 0.000000;
                                        to="Attack_one_of_the";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Capture_the_sect">*/
                class Capture_the_sect
                {
                        name = "Capture_the_sect";
                        itemno = 47;
                        init = /*%FSM<STATEINIT""">*/"{" \n
                         "    [" \n
                         "        [""KPLIB_Tasks_Tutorial_Sector_01_"", _forEachIndex] joinString """"," \n
                         "        ""SUCCEEDED""," \n
                         "        false" \n
                         "    ] call BIS_fnc_taskSetState;" \n
                         "} forEach _sectors;" \n
                         "[""KPLIB_Tasks_Tutorial_Sector_01"", ""SUCCEEDED""] call BIS_fnc_taskSetState;" \n
                         "" \n
                         "// Create task" \n
                         "private _factory = (_sectors select {_x in active_sectors}) select 0;" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Sector_02"", ""KPLIB_Tasks_Tutorial_Sector""]," \n
                         "    """"," \n
                         "    markerPos _factory," \n
                         "    ""ASSIGNED""," \n
                         "    0," \n
                         "    true," \n
                         "    ""attack""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "Sector_captured">*/
                                class Sector_captured
                                {
                                        itemno = 48;
                                        priority = 0.000000;
                                        to="Complete_task_and";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"_factory in blufor_sectors"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "POWs_and_wounded">*/
                class POWs_and_wounded
                {
                        name = "POWs_and_wounded";
                        itemno = 49;
                        init = /*%FSM<STATEINIT""">*/"// Create task" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Sector_03"", ""KPLIB_Tasks_Tutorial_Sector""]," \n
                         "    """"," \n
                         "    objNull," \n
                         "    ""ASSIGNED""," \n
                         "    0," \n
                         "    true," \n
                         "    ""search""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;" \n
                         "" \n
                         "// Get all POWs and wounded civs" \n
                         "private _pows = allUnits select {" \n
                         "    captive _x" \n
                         "    && {((markerPos _factory) distance2d _x) < 250}" \n
                         "};" \n
                         "" \n
                         "private _civs = [];" \n
                         "private _wounded_markers = allMapMarkers select {_x find ""wounded_marker_"" == 0};" \n
                         "{" \n
                         "     _civs append (" \n
                         "        ((markerPos _x) nearEntities [""Man"", 25]) select {(damage _x) > 0.4}" \n
                         "    );" \n
                         "} forEach _wounded_markers;" \n
                         "" \n
                         "// Create tasks for near POWs and wounded civs" \n
                         "private _careTasks = [];" \n
                         "private _taskId = """";" \n
                         "{" \n
                         "    _taskId = [""KPLIB_Tasks_Tutorial_Sector_03_pow_"", _forEachIndex] joinString """";" \n
                         "    _careTasks pushBack _taskId;" \n
                         "    [_taskId, _x] call KPLIB_fnc_handleTakePowTask;" \n
                         "} forEach _pows;" \n
                         "" \n
                         "{" \n
                         "    _taskId = [""KPLIB_Tasks_Tutorial_Sector_03_civ_"", _forEachIndex] joinString """";" \n
                         "    _careTasks pushBack _taskId;" \n
                         "    [_taskId, _x] call KPLIB_fnc_handleHealCivTask;" \n
                         "} forEach _civs;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "taken_care_of_">*/
                                class taken_care_of_
                                {
                                        itemno = 50;
                                        priority = 0.000000;
                                        to="Build_storage";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"(" \n
                                         "    (_careTasks apply {[_x] call BIS_fnc_taskCompleted}) arrayIntersect [false]" \n
                                         ") isEqualTo []"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Build_storage">*/
                class Build_storage
                {
                        name = "Build_storage";
                        itemno = 51;
                        init = /*%FSM<STATEINIT""">*/"[""KPLIB_Tasks_Tutorial_Sector_03"", ""SUCCEEDED""] call BIS_fnc_taskSetState;" \n
                         "" \n
                         "// Create task" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Sector_04"", ""KPLIB_Tasks_Tutorial_Sector""]," \n
                         "    """"," \n
                         "    markerPos _factory," \n
                         "    ""ASSIGNED""," \n
                         "    0," \n
                         "    true," \n
                         "    ""box""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "built_">*/
                                class built_
                                {
                                        itemno = 52;
                                        priority = 0.000000;
                                        to="Start_production";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!(" \n
                                         "    (((markerPos _factory) nearObjects GRLIB_fob_range) select {" \n
                                         "        (_x getVariable [""KP_liberation_storage_type"", -1]) == 1" \n
                                         "    }) isEqualTo []" \n
                                         ")"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Start_production">*/
                class Start_production
                {
                        name = "Start_production";
                        itemno = 53;
                        init = /*%FSM<STATEINIT""">*/"[""KPLIB_Tasks_Tutorial_Sector_04"", ""SUCCEEDED""] call BIS_fnc_taskSetState;" \n
                         "" \n
                         "// Create task" \n
                         "[" \n
                         "    allPlayers," \n
                         "    [""KPLIB_Tasks_Tutorial_Sector_05"", ""KPLIB_Tasks_Tutorial_Sector""]," \n
                         "    """"," \n
                         "    markerPos _factory," \n
                         "    ""ASSIGNED""," \n
                         "    0," \n
                         "    true," \n
                         "    ""use""," \n
                         "    true" \n
                         "] call BIS_fnc_taskCreate;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "started_">*/
                                class started_
                                {
                                        itemno = 54;
                                        priority = 0.000000;
                                        to="Complete_tasks_1";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"(((KP_liberation_production select {(_x select 1) isEqualTo _factory}) select 0) select 7) < 3"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Complete_tasks_1">*/
                class Complete_tasks_1
                {
                        name = "Complete_tasks_1";
                        itemno = 55;
                        init = /*%FSM<STATEINIT""">*/"[""KPLIB_Tasks_Tutorial_Sector_05"", ""SUCCEEDED"", false] call BIS_fnc_taskSetState;" \n
                         "[""KPLIB_Tasks_Tutorial_Sector"", ""SUCCEEDED""] call BIS_fnc_taskSetState;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "_">*/
                                class _
                                {
                                        itemno = 37;
                                        priority = 0.000000;
                                        to="Check_for_next_s";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Complete_task_and">*/
                class Complete_task_and
                {
                        name = "Complete_task_and";
                        itemno = 57;
                        init = /*%FSM<STATEINIT""">*/"[""KPLIB_Tasks_Tutorial_Sector_02"", ""SUCCEEDED""] call BIS_fnc_taskSetState;" \n
                         "_nextState = diag_tickTime + 15;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "delay_passed_">*/
                                class delay_passed_
                                {
                                        itemno = 58;
                                        priority = 0.000000;
                                        to="POWs_and_wounded";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"diag_tickTime >= _nextState"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
        };
        initState="Author__KPLIB_Dev";
        finalStates[] =
        {
                "Exit",
                "Exit_1",
                "Exit_2",
        };
};
/*%FSM</COMPILE>*/