Diff of /trunk/Main_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/BalastTankPuzzleStateMachine/svnobj [r52] .. [r53]  Maximize  Restore

Switch to side-by-side view

--- a/trunk/Main_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/BalastTankPuzzleStateMachine/svnobj
+++ b/trunk/Main_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/BalastTankPuzzleStateMachine/svnobj
@@ -1,14 +1,14 @@
-Gx_li!0…jüoiL)x~Ø2ðæ.:System.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
+Gx_l–!0…jüoQMsêB4˜úSystem.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
 TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagText$IF NOT xInit THEN	N	UM				(		sName := 'Normal Operation', ì							dwSupportedStates := PACK_ML.State.All - PACK_ML.State.Suspending - PACK_ML.State.Suspended - PACK_ML.State.UnSuspending - PACK_ML.Holding - PACK_ML.Held - PACK_ML.UnHolding, Ô							dwAllowsLeavingFromStates := PACK_ML.State.Stopped OR PACK_ML.State.Aborted OR PACK_ML.State.Idle, Ö							dwAllowsEnteringIntoStates := PACK_ML.State.Stopped OR PACK_ML.State.Aborted OR PACK_ML.State.Idle, \							eInitialState := PACK_ML.State.Aborted,2							xActive := TRUE); 	xInit := TRUE;	END_IF4IF Client.bReadyToPLC THEN:	CASE Client.iCommandToPLC OF"	0 : 	//Handshake	1 : 	//Lock		IF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[0]) =  0 THEN		 0			//First Lock Function!			;"–		ELSIF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[1]) =  0 THEN		#2			//Second Lock Function$
 			;	%		END_IF&	2 : 	//Key'	3 : 	//IO(	4 : 	//Media)	5 : 	//Hint*	6 : 	//State	+p		IF SysStrCmp(Client.sCommandFromPLC, 'SC') =  0 THEN		,&			StateComplete();-x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Start') =  0 THEN		.			Start();/v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Stop') =  0 THEN		0			Stop();1x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Reset') =  0 THEN		2			Reset();3x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Abort') =  0 THEN		4			Abort();5x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Clear') =  0 THEN		6			Clear();7v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Hold') =  0 THEN		8			Hold();9z		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnHold') =  0 THEN		:			Unhold();	;|		ELSIF SysStrCmp(Client.sCommandToPLC, 'Suspend') =  0 THEN		<			Suspend();=€		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnSuspend') =  0 THEN		>			UnSuspend();?		@	END_CASEA6	Client.iCommandToPLC := 0;B8	Client.sCommandToPLC := '';C:	Client.bReadyToPLC := FALSE;D.CASE UM.CurrentState OFE,PACK_ML.State.Stopped:F	;G,PACK_ML.State.Aborted:H&PACK_ML.State.Idle:I2PACK_ML.State.Complete :	J.PACK_ML.State.Execute :Kˆ	// Work out the angle FROM the x horizontal winding anti-clockwise L(	//in screen space. M	// Nr	// The value returned from the following should be 315. O	// <pre>P*	// x,y -------------Q	//     |  1,1R	//     |    \S	//     |     \T"	//     |     2,2U	// </pre>V W’	// NOTE: Remember that most math has the Y axis as positive above the X.X”    // However, for screens we have Y as positive below. For this reason, Yz    // the Y values are inverted to get the expected results.ZT    //final double deltaY = (p1.y - p2.y);[T    //final double deltaX = (p2.x - p1.x);\    //final double result = Math.toDegrees(Math.atan2(deltaY, deltaX)); ]j    //return (result < 0) ? (360d + result) : result;^d	actualPositionLinear1 :=  AI_DistanceRight - 244;_b	actualPositionLinear2 :=  AI_DistanceLeft - 244;`&	deltaY := 250 - 0;ar	deltaX := actualPositionLinear1 - actualPositionLinear2;bV	angle := OSCAT_BASIC.ATAN2(deltaY,deltaX);c\	targetPositionBoat := angle * 180 / 3.1415;		d@	IF targetPositionBoat <= 0 THENe4		targetPositionBoat := 0;fJ	ELSIF targetPositionBoat >= 360 THENg8		targetPositionBoat := 360;h	END_IFiD	BoatAngle :=  targetPositionBoat;jB	IF Client.ActualStep >= 300 THENkN		AO_AnalogRefrence := AI_DistanceLeft;l
 	ELSEm4		AO_AnalogRefrence := 0;	n4	IF CMMT_ST.AxisError THENo		Abort();pX	IF BoatAngle >= 85 AND BoatAngle <= 95 THENq"		Steady := TRUE;r$		Steady := FALSE;s´	AO_Spare2 := REAL_TO_WORD(817 -((TIME_TO_REAL(SteadyTimer.ET)/TIME_TO_REAL(T#25S))*817));t,	IF SteadyTimer.Q THENu$		StateComplete();vD	IF puzzleTimer.iProcess = 10 THENw‚		SendCommand(Command := CommandType.Media ,Value := 'Ballast');	xB	IF Client.Mode = Mode.Mode1 THENyF		IF puzzleTimer.iProcess = 50 THENzê			SendCommand(Command := CommandType.Hint ,Value := 'Use the terminal to control the right axis to ballast tank.');	{			|8	CASE Client.ActualStep OF		}
 		0:	~,			CASE Client.Mode OFP				Mode.Mode1: // Updown diffrent speed€2					CASE Client.Level OF,						Level.Beginner:	‚4							speed := 100;						ƒ2						Level.Placeholder1:„(							speed := 200;…2						Level.Intermediate:†(							speed := 300;‡2						Level.Placeholder2:ˆ(							speed := 400;‰*						Level.Advanced:Š(							speed := 500;‹					END_CASEŒ<					Client.ActualStep := 100;:				Mode.Mode2:	// Location		Ž					END_CASE		<					Client.ActualStep := 200;<				Mode.Mode3: // Analog					‘H					Client.ActualStep := 300;				 	’						“			END_CASE		”		//10:•<		//	IF CMMT_ST.AxisError THEN–<		//		Client.ActualStep := 11;—		//	ELSE˜D		//		Client.ActualStep := 20;				™		//	END_IF			š		//11:›*		//	CMMT_ST.Reset();œ@		//	Client.ActualStep := 10;					//20:	ž@		//	IF NOT CMMT_ST.Enabled THENŸB		//		Client.ActualStep := 21;			 D		//		Client.ActualStep := 30;				¡		//	END_IF¢		//21:£J		//	enable := CMMT_ST.EnableDrive();¤&		//	IF enable THEN¥<		//		Client.ActualStep := 20;¦<		//		Client.ActualStep := 10;§		//30:	¨H		//	IF NOT CMMT_ST.HomingValid THEN©<		//		Client.ActualStep := 31;ªD		//		Client.ActualStep := 40;				«		//31:¬v		//	home := CMMT_ST.Home(Position := 0,HomingMethod := 0);­*		//	IF home THEN				®h		//		Client.ActualStep := Client.ActualStep := 32;	¯		//32:°H		//	IF CMMT_ST.HomingValid THEN				±>		//		Client.ActualStep := 40;	²		//	END_IF		³
-					´		//40:µH		//	Client.ActualStep := tempStep;	¶		100:·d			bMove := CMMT_ST.MoveAbsolute(Position:= 150 , ¸,				Velocity:= speed, ¹0				Acceleration:= 500, º0				Deceleration:= 500, »"				Jerk:= 1000, ¼X				BufferMode:= MC_BUFFER_MODE.mcBuffered, ½j				Direction:= Festo_PtP_Base.MC_DIRECTION.mcNormal,¾ 				ErrorID=> , ¿(				ErrorString=> );À 			IF bMove THENÁ^				Client.ActualStep := Client.ActualStep + 1;Â			END_IFÃ		101:Ä@			IF CMMT_ST.TargetReached THENÅ			END_IF			Æ		102:Çd			bMove := CMMT_ST.MoveAbsolute(Position:= 400 , È		103:É:				Client.ActualStep := 100;Ê			END_IF		Ë		200:Ìr			CASE OSCAT_BASIC.RDM2(last :=0, low := 1,high := 4) OFÍ				1:ÎF					Client.ActualStep := 210;					Ï				2:Ð>					Client.ActualStep := 220;	Ñ				3:Ò>					Client.ActualStep := 230;	Ó				4:Ô>					Client.ActualStep := 240;	Õ			END_CASEÖ"		210: // Point 1×d			bMove := CMMT_ST.MoveAbsolute(Position:= 100 , Ø0			DO_Balance_1 := TRUE;Ù		211:Ú:				Client.ActualStep := 200;Û4				DO_Balance_1 := FALSE;Ü			END_IF	Ý"		220: // Point 2Þd			bMove := CMMT_ST.MoveAbsolute(Position:= 200 , ß0			DO_Balance_2 := TRUE;à		221:á4				DO_Balance_2 := FALSE;â"		230: // Point 3ãd			bMove := CMMT_ST.MoveAbsolute(Position:= 300 , ä0			DO_Balance_3 := TRUE;å		231:æ4				DO_Balance_3 := FALSE;ç&		240: // Point 4		è2				DO_Balance_4 := TRUE;é		241:êB		300: // Move to random locationëÂ			bMove := CMMT_ST.MoveAbsolute(Position:= OSCAT_BASIC.RDM2(last :=0, low := 100,high := 400) , ì`				Client.ActualStep := Client.ActualStep + 10;í		310:î:				Client.ActualStep := 300;ï	END_CASE	ð2PACK_ML.State.Resetting :ñ*	CMMT_ST.ResetHalt();ò&	StateComplete();		ó0PACK_ML.State.Starting :ô<			IF NOT CMMT_ST.Enabled THENõ@				Client.ActualStep := 100;			ö			ELSE÷@				Client.ActualStep := 10;				ø		10:	ùD			IF NOT CMMT_ST.HomingValid THENú:				Client.ActualStep := 110;ûB				Client.ActualStep := 300;				üF			enable := CMMT_ST.EnableDrive();ý"			IF enable THENþ6				Client.ActualStep := 0;ÿ				Abort();€		110:r			home := CMMT_ST.Home(Position := 0,HomingMethod := 0);‚&			IF home THEN				ƒb				Client.ActualStep := Client.ActualStep + 10;	„		120:…D			IF CMMT_ST.HomingValid THEN				†:				Client.ActualStep := 10;	‡		300:ˆ(			StateComplete();	‰4PACK_ML.State.Completing :Š$	Steady :=  False;‹$	StateComplete();	Œ0PACK_ML.State.Aborting :0	CMMT_ST.DisableDrive();Ž"	StateComplete();.PACK_ML.State.Stopping:4	CASE Client.ActualStep OF‘		0:’>			StopLinear.Execute := FALSE;“6			Client.ActualStep := 10;”
-		10:•<			StopLinear.Execute := TRUE;–6			Client.ActualStep := 20;—
-		20:˜6			IF StopLinear.Done THEN;™H				StopLinear.Execute := FALSE;				š:				Client.ActualStep := 30;	›
-		30:œ.PACK_ML.State.Clearing:8			IF CMMT_ST.AxisError THENž&			CMMT_ST.Reset();Ÿ:			Client.ActualStep := 0;			 END_CASE¡LClient.ActualState := UM.CurrentState;¢>messageQueue(Client := Client);£fIF NOT (DI_EmergencyGF AND NOT DI_EmergencyFF) THEN¤(	// Emergency Abort.¥	Abort();	¦END_IF §HAntiJitter(IN:=NOT Steady,PT:=T#1S);¨^SteadyTimer(IN:=NOT AntiJitter.Q, PT:= T#25S );©äpuzzleTimer(xStartTimer := UM.CurrentState = PACK_ML.State.Execute ,xPauseTimer := ,xStopTimer:= NOT (UM.CurrentState = PACK_ML.State.Execute),tMaxPuzzleTime := Client.Duration);ªPClient.Progress := puzzleTimer.iProcess;«HIF puzzleTimer.iProcess >= 100 THEN	¬	//Stop();­J// couple axis to functionblocks here®^LinearStatus (Axis := CMMT_ST, Enable := TRUE);¯:StopLinear (Axis := CMMT_ST);°Interface±L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}²VFUNCTION_BLOCK BalastTankPuzzleStateMachine³VAR_IN_OUT´.	Client : PuzzleClient;µEND_VAR¶VAR·0	UM	: PACK_ML.UnitMode; ¸j	xInit				: BOOL := FALSE; // Flag for initialization¹8	puzzleTimer 	: PuzzleTimer;ºP 	moveAbsolute 	: MC_MoveAbsolute_Festo;»<	StopLinear 		: MC_Stop_Festo;¼H	LinearStatus	: MC_ReadStatus_Festo;½*    //tempStep : INT;¾$	enable 			: BOOL;¿ 	home 			: BOOL;À"	bMove 			: BOOL;Á	speed 			:INT;Â<	actualPositionLinear1 : REAL;Ã<	actualPositionLinear2 : REAL;Ä6	actualPositionBoat : REAL;Å	deltaY : REAL;Æ	deltaX : REAL;Ç	angle : REAL;È6	targetPositionBoat : REAL;É~	//GenRdn : OSCAT_BASIC.RDM2(last :=0, low := 100,high := 400);Êx	//GenRdn2 : OSCAT_BASIC.RDM2(last :=0, low := 1,high := 4);Ë0	Steady : BOOL := FALSE;Ì(	SteadyTimer : TON ;Í&	AntiJitter : TON ;Î	bl : BLINK;Ï	ii: INT;Ð:	messageQueue : MessageQueue;Ñ"UniqueIdGeneratorÒ2073ÓPOULevelÔL{8e575c5b-1d37-49c6-941b-5c0ec7874787}ÕStandardÖ ChildObjectGuids×8System.Collections.ArrayListØ,AddAttributeSubsequentÙboolÐÐ-ÐÐ	E
-áÐÐ
­AÚÐ-ÐÐ
­BÚÐ-ÐÐ
­CÚÐ-ÐÐ
­DÚÐ-ÐÐ
­EÚÐ-ÐÐ
­FÚÐ-ÐÐ
­GÚÐ-ÐÐ
­HÚÐ-ÐÐ
­IÚÐ-ÐÐ
­JÚÐ-ÐÐ
­KÚÐ-ÐÐ
­LÚÐ-ÐÐ
­MÚÐ-ÐÐ
­NÚÐ-ÐÐ
­OÚÐ-ÐÐ
­PÚÐ-ÐÐ
­QÚÐ-ÐÐ
­RÚÐ-ÐÐ
­SÚÐ- ÐÐ
­TÚÐ-!ÐÐ
­UÚÐ-"ÐÐ
­VÚÐ-#ÐÐ
­WÚÐ-$ÐÐ
­XÚÐ-%ÐÐ
­YÚÐ-&ÐÐ
­ZÚÐ-'ÐÐ
­[ÚÐ-(ÐÐ
­\ÚÐ-)ÐÐ
­]ÚÐ-*ÐÐ
­^ÚÐ-+ÐÐ
­_ÚÐ-,ÐÐ
­`ÚÐ--ÐÐ
­aÚÐ-.ÐÐ
­bÚÐ-/ÐÐ
­cÚÐ-0ÐÐ
­dÚÐ-1ÐÐ
­eÚÐ-2ÐÐ
­fÚÐ-3ÐÐ
­gÚÐ-4ÐÐ
­hÚÐ-5ÐÐ
­iÚÐ-6ÐÐ
­jÚÐ-7ÐÐ
­kÚÐ-8ÐÐ
­lÚÐ-9ÐÐ
­mÚÐ-:ÐÐ
­nÚÐ-;ÐÐ
­oÚÐ-<ÐÐ
­pÚÐ-=ÐÐ
­qÚÐ->ÐÐ
­rÚÐ-%ÐÐ
­sÚÐ-?ÐÐ
­tÚÐ-@ÐÐ
­uÚÐ-ÐÐ
­vÚÐ-AÐÐ
­wÚÐ-BÐÐ
­xÚÐ-CÐÐ
­yÚÐ-ÐÐ
­zÚÐ-ÐÐ
­{ÚÐ-ÐÐ
­|ÚÐ-ÐÐ
­}ÚÐ-ÐÐ
­~ÚÐ-ÐÐ
­ÚÐ-DÐÐ
­€ÚÐ-EÐÐ
­ÚÐ-FÐÐ
­‚ÚÐ-GÐÐ
­ƒÚÐ-FÐÐ
­„ÚÐ-HÐÐ
­…ÚÐ-FÐÐ
­†ÚÐ-IÐÐ
­‡ÚÐ-FÐÐ
­ˆÚÐ-JÐÐ
­ŒÚÐ-KÐÐ
­½ÚÐ-LÐÐ
­¾ÚÐ-MÐÐ
­¿ÚÐ-NÐÐ
­ÀÚÐ-OÐÐ
­ÁÚÐ-PÐÐ
­ÂÚÐ-QÐÐ
­ÃÚÐ-RÐÐ
­ÄÚÐ-SÐÐ
­ÅÚÐ-TÐÐ
­ÆÚÐ-UÐÐ
­ºÚÐ-VÐÐ
­¹ÚÐ-ÐÐ
­ÚÐ-WÐÐ
­’ÚÐ-XÐÐ
­“ÚÐ-YÐÐ
­”ÚÐ-ZÐÐ
­•ÚÐ-[ÐÐ
­–ÚÐ-\ÐÐ
­—ÚÐ-]ÐÐ
­™ÚÐ-ÐÐ
­¬ÚÐ-^ÐÐ
­›ÚÐ-_ÐÐ
­¸ÚÐ-ÐÐ
­œÚÐ-`ÐÐ
­ÚÐ-aÐÐ
­žÚÐ-ÐÐ
­ŸÚÐ-bÐÐ
­ ÚÐ-ÐÐ
­¡ÚÐ-cÐÐ
­¢ÚÐ-ÐÐ
­£ÚÐ-dÐÐ
­¤ÚÐ-eÐÐ
­¥ÚÐ-fÐÐ
­¦ÚÐ-gÐÐ
­§ÚÐ-hÐÐ
­¨ÚÐ-ÐÐ
­«ÚÐ-iÐÐ
­¶ÚÐ-jÐÐ
­&ÚÐ-kÐÐ
­(ÚÐ-lÐÐ
­)ÚÐ-mÐÐ
­'ÚÐ-hÐÐ
­$ÚÐ-ÐÐ
­KÚÐ-nÐÐ
­MÚÐ-oÐÐ
­NÚÐ-hÐÐ
­LÚÐ-ÐÐ
­“ÚÐ-pÐÐ
­–ÚÐ-qÐÐ
­™ÚÐ-lÐÐ
­šÚÐ-rÐÐ
­—ÚÐ-hÐÐ
­›ÚÐ-ÐÐ
­¢ÚÐ-ÐÐ
­¤ÚÐ-ÐÐ
­¥ÚÐ-sÐÐ
­£ÚÐ-ÐÐ
­œÚÐ-tÐÐ
­ÚÐ-uÐÐ
­žÚÐ-hÐÐ
­­ÚÐ-ÐÐ
­˜ÚÐ-ÐÐ
­®ÚÐ-ÐÐ
­³ÚÐ-ÐÐ
­´ÚÐ-vÐÐ
­µÚÐ-wÐÐ
­¶ÚÐ-hÐÐ
­
+					´		//40:µH		//	Client.ActualStep := tempStep;	¶		100:·d			bMove := CMMT_ST.MoveAbsolute(Position:= 150 , ¸,				Velocity:= speed, ¹0				Acceleration:= 500, º0				Deceleration:= 500, »"				Jerk:= 1000, ¼X				BufferMode:= MC_BUFFER_MODE.mcBuffered, ½j				Direction:= Festo_PtP_Base.MC_DIRECTION.mcNormal,¾ 				ErrorID=> , ¿(				ErrorString=> );À 			IF bMove THENÁ^				Client.ActualStep := Client.ActualStep + 1;Â			END_IFÃ		101:Ä@			IF CMMT_ST.TargetReached THENÅ			END_IF			Æ		102:Çd			bMove := CMMT_ST.MoveAbsolute(Position:= 400 , È		103:É:				Client.ActualStep := 100;Ê			END_IF		Ë		200:Ìr			CASE OSCAT_BASIC.RDM2(last :=0, low := 1,high := 4) OFÍ				1:ÎF					Client.ActualStep := 210;					Ï				2:Ð>					Client.ActualStep := 220;	Ñ				3:Ò>					Client.ActualStep := 230;	Ó				4:Ô>					Client.ActualStep := 240;	Õ			END_CASEÖ"		210: // Point 1×d			bMove := CMMT_ST.MoveAbsolute(Position:= 100 , Ø0			DO_Balance_1 := TRUE;Ù		211:Ú:				Client.ActualStep := 200;Û4				DO_Balance_1 := FALSE;Ü			END_IF	Ý"		220: // Point 2Þd			bMove := CMMT_ST.MoveAbsolute(Position:= 200 , ß0			DO_Balance_2 := TRUE;à		221:á4				DO_Balance_2 := FALSE;â"		230: // Point 3ãd			bMove := CMMT_ST.MoveAbsolute(Position:= 300 , ä0			DO_Balance_3 := TRUE;å		231:æ4				DO_Balance_3 := FALSE;ç&		240: // Point 4		è2				DO_Balance_4 := TRUE;é		241:êB		300: // Move to random locationëÂ			bMove := CMMT_ST.MoveAbsolute(Position:= OSCAT_BASIC.RDM2(last :=0, low := 100,high := 400) , ì`				Client.ActualStep := Client.ActualStep + 10;í		310:î:				Client.ActualStep := 300;ï	END_CASE	ð2PACK_ML.State.Resetting :ñ*	CMMT_ST.ResetHalt();ò&	StateComplete();		ó0PACK_ML.State.Starting :ô<			IF NOT CMMT_ST.Enabled THENõ@				Client.ActualStep := 100;			ö			ELSE÷@				Client.ActualStep := 10;				ø		10:	ùD			IF NOT CMMT_ST.HomingValid THENú:				Client.ActualStep := 110;ûB				Client.ActualStep := 300;				üF			enable := CMMT_ST.EnableDrive();ý"			IF enable THENþ6				Client.ActualStep := 0;ÿ				Abort();€		110:r			home := CMMT_ST.Home(Position := 0,HomingMethod := 0);‚&			IF home THEN				ƒb				Client.ActualStep := Client.ActualStep + 10;	„		120:…D			IF CMMT_ST.HomingValid THEN				†:				Client.ActualStep := 10;	‡		300:ˆ(			StateComplete();	‰4PACK_ML.State.Completing :Š$	Steady :=  False;‹$	StateComplete();	Œ0PACK_ML.State.Aborting :0	CMMT_ST.DisableDrive();Ž"	StateComplete();.PACK_ML.State.Stopping:4	CASE Client.ActualStep OF‘		0:’>			StopLinear.Execute := FALSE;“8			wait(IN:=TRUE, PT:=T#1S);”&		  	IF wait.Q THEN•*			 	wait(IN:=FALSE);–8				Client.ActualStep := 10;—		  	END_IF˜
+		10:™<			StopLinear.Execute := TRUE;š8				Client.ActualStep := 20;›
+		20:œ6			IF StopLinear.Done THEN;H				StopLinear.Execute := FALSE;				ž:				Client.ActualStep := 30;	Ÿ
+		30: .PACK_ML.State.Clearing:¡8			IF CMMT_ST.AxisError THEN¢&			CMMT_ST.Reset();£:				Client.ActualStep := 0;		¤		  	END_IF	¥END_CASE¦LClient.ActualState := UM.CurrentState;§>messageQueue(Client := Client);¨fIF NOT (DI_EmergencyGF AND NOT DI_EmergencyFF) THEN©(	// Emergency Abort.ª	Abort();	«END_IF ¬HAntiJitter(IN:=NOT Steady,PT:=T#1S);­^SteadyTimer(IN:=NOT AntiJitter.Q, PT:= T#25S );®äpuzzleTimer(xStartTimer := UM.CurrentState = PACK_ML.State.Execute ,xPauseTimer := ,xStopTimer:= NOT (UM.CurrentState = PACK_ML.State.Execute),tMaxPuzzleTime := Client.Duration);¯PClient.Progress := puzzleTimer.iProcess;°HIF puzzleTimer.iProcess >= 100 THEN	±	//Stop();²J// couple axis to functionblocks here³^LinearStatus (Axis := CMMT_ST, Enable := TRUE);´:StopLinear (Axis := CMMT_ST);µInterface¶L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}·VFUNCTION_BLOCK BalastTankPuzzleStateMachine¸VAR_IN_OUT¹.	Client : PuzzleClient;ºEND_VAR»VAR¼0	UM	: PACK_ML.UnitMode; ½j	xInit				: BOOL := FALSE; // Flag for initialization¾8	puzzleTimer 	: PuzzleTimer;¿P 	moveAbsolute 	: MC_MoveAbsolute_Festo;À<	StopLinear 		: MC_Stop_Festo;ÁH	LinearStatus	: MC_ReadStatus_Festo;Â*    //tempStep : INT;Ã	wait			: TON;Ä$	enable 			: BOOL;Å 	home 			: BOOL;Æ"	bMove 			: BOOL;Ç	speed 			:INT;È<	actualPositionLinear1 : REAL;É<	actualPositionLinear2 : REAL;Ê6	actualPositionBoat : REAL;Ë	deltaY : REAL;Ì	deltaX : REAL;Í	angle : REAL;Î6	targetPositionBoat : REAL;Ï~	//GenRdn : OSCAT_BASIC.RDM2(last :=0, low := 100,high := 400);Ðx	//GenRdn2 : OSCAT_BASIC.RDM2(last :=0, low := 1,high := 4);Ñ0	Steady : BOOL := FALSE;Ò(	SteadyTimer : TON ;Ó&	AntiJitter : TON ;Ô	bl : BLINK;Õ	ii: INT;Ö:	messageQueue : MessageQueue;×"UniqueIdGeneratorØ2093ÙPOULevelÚL{8e575c5b-1d37-49c6-941b-5c0ec7874787}ÛStandardÜ ChildObjectGuidsÝ8System.Collections.ArrayListÞ,AddAttributeSubsequentßboolÐÐ-ÐÐ	E
+íÐÐ
­AÚÐ-ÐÐ
­BÚÐ-ÐÐ
­CÚÐ-ÐÐ
­DÚÐ-ÐÐ
­EÚÐ-ÐÐ
­FÚÐ-ÐÐ
­GÚÐ-ÐÐ
­HÚÐ-ÐÐ
­IÚÐ-ÐÐ
­JÚÐ-ÐÐ
­KÚÐ-ÐÐ
­LÚÐ-ÐÐ
­MÚÐ-ÐÐ
­NÚÐ-ÐÐ
­OÚÐ-ÐÐ
­PÚÐ-ÐÐ
­QÚÐ-ÐÐ
­RÚÐ-ÐÐ
­SÚÐ- ÐÐ
­TÚÐ-!ÐÐ
­UÚÐ-"ÐÐ
­VÚÐ-#ÐÐ
­WÚÐ-$ÐÐ
­XÚÐ-%ÐÐ
­YÚÐ-&ÐÐ
­ZÚÐ-'ÐÐ
­[ÚÐ-(ÐÐ
­\ÚÐ-)ÐÐ
­]ÚÐ-*ÐÐ
­^ÚÐ-+ÐÐ
­_ÚÐ-,ÐÐ
­`ÚÐ--ÐÐ
­aÚÐ-.ÐÐ
­bÚÐ-/ÐÐ
­cÚÐ-0ÐÐ
­dÚÐ-1ÐÐ
­eÚÐ-2ÐÐ
­fÚÐ-3ÐÐ
­gÚÐ-4ÐÐ
­hÚÐ-5ÐÐ
­iÚÐ-6ÐÐ
­jÚÐ-7ÐÐ
­kÚÐ-8ÐÐ
­lÚÐ-9ÐÐ
­mÚÐ-:ÐÐ
­nÚÐ-;ÐÐ
­oÚÐ-<ÐÐ
­pÚÐ-=ÐÐ
­qÚÐ->ÐÐ
­rÚÐ-%ÐÐ
­sÚÐ-?ÐÐ
­tÚÐ-@ÐÐ
­uÚÐ-ÐÐ
­vÚÐ-AÐÐ
­wÚÐ-BÐÐ
­xÚÐ-CÐÐ
­yÚÐ-ÐÐ
­zÚÐ-ÐÐ
­{ÚÐ-ÐÐ
­|ÚÐ-ÐÐ
­}ÚÐ-ÐÐ
­~ÚÐ-ÐÐ
­ÚÐ-DÐÐ
­€ÚÐ-EÐÐ
­ÚÐ-FÐÐ
­‚ÚÐ-GÐÐ
­ƒÚÐ-FÐÐ
­„ÚÐ-HÐÐ
­…ÚÐ-FÐÐ
­†ÚÐ-IÐÐ
­‡ÚÐ-FÐÐ
­ˆÚÐ-JÐÐ
­ŒÚÐ-KÐÐ
­½ÚÐ-LÐÐ
­¾ÚÐ-MÐÐ
­¿ÚÐ-NÐÐ
­ÀÚÐ-OÐÐ
­ÁÚÐ-PÐÐ
­ÂÚÐ-QÐÐ
­ÃÚÐ-RÐÐ
­ÄÚÐ-SÐÐ
­ÅÚÐ-TÐÐ
­ÆÚÐ-UÐÐ
­ºÚÐ-VÐÐ
­¹ÚÐ-ÐÐ
­ÚÐ-WÐÐ
­’ÚÐ-XÐÐ
­“ÚÐ-YÐÐ
­”ÚÐ-ZÐÐ
­•ÚÐ-[ÐÐ
­–ÚÐ-\ÐÐ
­—ÚÐ-]ÐÐ
­™ÚÐ-ÐÐ
­¬ÚÐ-^ÐÐ
­›ÚÐ-_ÐÐ
­¸ÚÐ-ÐÐ
­œÚÐ-`ÐÐ
­ÚÐ-aÐÐ
­žÚÐ-ÐÐ
­ŸÚÐ-bÐÐ
­ ÚÐ-ÐÐ
­¡ÚÐ-cÐÐ
­¢ÚÐ-ÐÐ
­£ÚÐ-dÐÐ
­¤ÚÐ-eÐÐ
­¥ÚÐ-fÐÐ
­¦ÚÐ-gÐÐ
­§ÚÐ-hÐÐ
­¨ÚÐ-ÐÐ
­«ÚÐ-iÐÐ
­¶ÚÐ-jÐÐ
­&ÚÐ-kÐÐ
­(ÚÐ-lÐÐ
­)ÚÐ-mÐÐ
­'ÚÐ-hÐÐ
­$ÚÐ-ÐÐ
­KÚÐ-nÐÐ
­MÚÐ-oÐÐ
­NÚÐ-hÐÐ
­LÚÐ-ÐÐ
­“ÚÐ-pÐÐ
­–ÚÐ-qÐÐ
­™ÚÐ-lÐÐ
­šÚÐ-rÐÐ
­—ÚÐ-hÐÐ
­›ÚÐ-ÐÐ
­¢ÚÐ-ÐÐ
­¤ÚÐ-ÐÐ
­¥ÚÐ-sÐÐ
­£ÚÐ-ÐÐ
­œÚÐ-tÐÐ
­ÚÐ-uÐÐ
­žÚÐ-hÐÐ
­­ÚÐ-ÐÐ
­˜ÚÐ-ÐÐ
­®ÚÐ-ÐÐ
­³ÚÐ-ÐÐ
­´ÚÐ-vÐÐ
­µÚÐ-wÐÐ
­¶ÚÐ-hÐÐ
­
 ÚÐ-xÐÐ
­
ÚÐ-yÐÐ
­ÚÐ-zÐÐ
­ÚÐ-%ÐÐ
­ÚÐ-hÐÐ
­¹ÚÐ-ÐÐ
­¯ÚÐ-{ÐÐ
­°ÚÐ-ÐÐ
­±ÚÐ-ÐÐ
­%ÚÐ-ÐÐ
­´ÚÐ-|ÐÐ
­¸ÚÐ-}ÐÐ
­UÚÐ-~ÐÐ
­ºÚÐ-ÐÐ
­»ÚÐ-€ÐÐ
­¼ÚÐ-ÐÐ
­½ÚÐ-‚ÐÐ
­¾ÚÐ-ƒÐÐ
­¿ÚÐ-„ÐÐ
­ÀÚÐ-…ÐÐ
­ÁÚÐ-†ÐÐ
­ÂÚÐ-‡ÐÐ
­ÃÚÐ-ˆÐÐ
­ÄÚÐ-‰ÐÐ
­ÅÚÐ-ŠÐÐ
­ÆÚÐ-‹ÐÐ
­ÇÚÐ-ŒÐÐ
­ÉÚÐ-ÐÐ
­ÚÐ-€ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-‚ÐÐ
­ÚÐ-ƒÐÐ
­ÚÐ-„ÐÐ
­ÚÐ-…ÐÐ
­ÚÐ-†ÐÐ
­ÚÐ-‡ÐÐ
­ÚÐ-ˆÐÐ
­ÚÐ-‰ÐÐ
­ÚÐ-ŠÐÐ
­ÚÐ-ŽÐÐ
­ÊÚÐ-ÐÐ
­ËÚÐ-ÐÐ
­ÌÚÐ-‘ÐÐ
­ÍÚÐ-’ÐÐ
­ÎÚÐ-“ÐÐ
­ÚÐ-ÐÐ
­ÏÚÐ-”ÐÐ
­XÚÐ-•ÐÐ
­ZÚÐ-–ÐÐ
­[ÚÐ-—ÐÐ
­\ÚÐ-˜ÐÐ
­]ÚÐ-™ÐÐ
­^ÚÐ-?ÐÐ
­_ÚÐ-šÐÐ
­`ÚÐ-›ÐÐ
­aÚÐ-œÐÐ
­’ÚÐ-ÐÐ
­dÚÐ-žÐÐ
­eÚÐ-ŸÐÐ
­fÚÐ-—ÐÐ
­gÚÐ- ÐÐ
­hÚÐ-¡ÐÐ
­‚ÚÐ-{ÐÐ
­…ÚÐ-¢ÐÐ
­†ÚÐ-£ÐÐ
­‡ÚÐ-¤ÐÐ
­ˆÚÐ-¥ÐÐ
­‰ÚÐ-—ÐÐ
­‹ÚÐ-¦ÐÐ
­ƒÚÐ-¡ÐÐ
­„ÚÐ-{ÐÐ
­iÚÐ-§ÐÐ
­jÚÐ-¨ÐÐ
­kÚÐ-©ÐÐ
­lÚÐ-—ÐÐ
­mÚÐ-ªÐÐ
­nÚÐ-™ÐÐ
­vÚÐ-?ÐÐ
­wÚÐ-«ÐÐ
­xÚÐ-¬ÐÐ
­yÚÐ-­ÐÐ
­zÚÐ-®ÐÐ
­{ÚÐ-¡ÐÐ
­|ÚÐ-¯ÐÐ
­}ÚÐ-°ÐÐ
­~ÚÐ-±ÐÐ
­ÚÐ-²ÐÐ
­€ÚÐ-³ÐÐ
­ÚÐ-´ÐÐ
­bÚÐ-µÐÐ
­VÚÐ-?ÐÐ
­ÐÚÐ-¶ÐÐ
­SÚÐ-?ÐÐ
­ÑÚÐ-·ÐÐ
­ÒÚÐ-¸ÐÐ
­ÓÚÐ-¹ÐÐ
­ÔÚÐ-ºÐÐ
­ÕÚÐ-»ÐÐ
­ÖÚÐ-¼ÐÐ
­ÚÐ-½ÐÐ
­×ÚÐ-¾ÐÐ
­ØÚÐ-¿ÐÐ
­ÙÚÐ-ÀÐÐ
­ÚÚÐ-ÁÐÐ
­ÛÚÐ-ÂÐÐ
­ÜÚÐ-ÃÐÐ
­ÝÚÐ-ÄÐÐ
­ÞÚÐ-ÁÐÐ
­ßÚÐ-ÅÐÐ
­àÚÐ-ÆÐÐ
­áÚÐ-ÇÐÐ
­âÚÐ-¸ÐÐ
­ãÚÐ-¹ÐÐ
­äÚÐ-ºÐÐ
­åÚÐ-»ÐÐ
­æÚÐ-¼ÐÐ
­ÚÐ-½ÐÐ
­çÚÐ-¾ÐÐ
­èÚÐ-¿ÐÐ
­éÚÐ-ÀÐÐ
­êÚÐ-ÁÐÐ
­ëÚÐ-ÂÐÐ
­ìÚÐ-ÈÐÐ
­íÚÐ-ÄÐÐ
­îÚÐ-ÉÐÐ
­ïÚÐ-ÊÐÐ
­ðÚÐ-ËÐÐ
­ÊÚÐ-ÌÐÐ
­AÚÐ-ÍÐÐ
­GÚÐ-ÎÐÐ
­CÚÐ-ÏÐÐ
­HÚÐ-ÐÐÐ
­DÚÐ-ÑÐÐ
­IÚÐ-ÒÐÐ
­EÚÐ-ÓÐÐ
­JÚÐ-ÔÐÐ
­BÚÐ-ÕÐÐ
­ËÚÐ-{ÐÐ
­ÍÚÐ-ÖÐÐ
­ÓÚÐ-×ÐÐ
­ÔÚÐ-¸ÐÐ
­ÕÚÐ-¹ÐÐ
­ÖÚÐ-ºÐÐ
­×ÚÐ-»ÐÐ
­ØÚÐ-¼ÐÐ
­ÚÐ-½ÐÐ
­ÙÚÐ-¾ÐÐ
­ÚÚÐ-¿ÐÐ
­ÚÐ-ØÐÐ
­ÛÚÐ-ÀÐÐ
­ÜÚÐ-ÁÐÐ
­ÒÚÐ-ÂÐÐ
­ÝÚÐ-ÙÐÐ
­ßÚÐ-ÄÐÐ
­àÚÐ-ÚÐÐ
­ÚÐ-ÛÐÐ
­ÞÚÐ-ÜÐÐ
­ÏÚÐ-ÝÐÐ
­âÚÐ-ÞÐÐ
­ãÚÐ-¸ÐÐ
­äÚÐ-¹ÐÐ
­åÚÐ-ºÐÐ
­æÚÐ-»ÐÐ
­çÚÐ-¼ÐÐ
­ÚÐ-½ÐÐ
­èÚÐ-¾ÐÐ
­éÚÐ-¿ÐÐ
­ÚÐ-ßÐÐ
­êÚÐ-ÀÐÐ
­ëÚÐ-ÁÐÐ
­ìÚÐ-ÂÐÐ
­íÚÐ-àÐÐ
­îÚÐ-ÄÐÐ
­ÚÐ-áÐÐ
­ïÚÐ-ÚÐÐ
­áÚÐ-ÜÐÐ
­ðÚÐ-âÐÐ
­ÚÐ-ãÐÐ
­ñÚÐ-¸ÐÐ
­òÚÐ-¹ÐÐ
­óÚÐ-ºÐÐ
­ôÚÐ-»ÐÐ
­õÚÐ-¼ÐÐ
­ÚÐ-½ÐÐ
­öÚÐ-¾ÐÐ
­÷ÚÐ-¿ÐÐ
­ÚÐ-äÐÐ
­øÚÐ-ÀÐÐ
­ùÚÐ-ÁÐÐ
­úÚÐ-ÂÐÐ
­ûÚÐ-åÐÐ
­üÚÐ-ÄÐÐ
­ ÚÐ-æÐÐ
­ýÚÐ-ÚÐÐ
­ÐÚÐ-ÜÐÐ
­þÚÐ-çÐÐ
­
ÚÐ-ÇÐÐ
­ÿÚÐ-¸ÐÐ
­ÚÐ-¹ÐÐ
­ÚÐ-ºÐÐ
­ÚÐ-»ÐÐ
­ÚÐ-¼ÐÐ
­ÚÐ-½ÐÐ
­ÚÐ-¾ÐÐ
­ÚÐ-¿ÐÐ
­!ÚÐ-èÐÐ
­ÚÐ-ÀÐÐ
­ÚÐ-ÁÐÐ
­ÚÐ-ÂÐÐ
­	ÚÐ-éÐÐ
­
 ÚÐ-ÄÐÐ
­"ÚÐ-èÐÐ
­ÚÐ-ÚÐÐ
­ñÚÐ-ÜÐÐ
­,ÚÐ-êÐÐ
­-ÚÐ-ëÐÐ
­.ÚÐ-¸ÐÐ
­/ÚÐ-¹ÐÐ
­0ÚÐ-ºÐÐ
­1ÚÐ-»ÐÐ
­2ÚÐ-¼ÐÐ
­ÚÐ-½ÐÐ
­3ÚÐ-¾ÐÐ
­4ÚÐ-¿ÐÐ
­6ÚÐ-ÀÐÐ
­7ÚÐ-ìÐÐ
­8ÚÐ-ÂÐÐ
­9ÚÐ-íÐÐ
­:ÚÐ-ÄÐÐ
­;ÚÐ-îÐÐ
­òÚÐ-ÜÐÐ
­ôÚÐ-ïÐÐ
­õÚÐ-ÐÐ
­öÚÐ-ðÐÐ
­ùÚÐ-ñÐÐ
­ûÚÐ-òÐÐ
­üÚÐ-óÐÐ
­ýÚÐ-|ÐÐ
­þÚÐ-}ÐÐ
­ÿÚÐ-ôÐÐ
­ÚÐ-õÐÐ
­ÚÐ-öÐÐ
­ÚÐ-÷ÐÐ
­ÚÐ-ÂÐÐ
­ÚÐ-øÐÐ
­ÚÐ-ùÐÐ
­
-ÚÐ-úÐÐ
­ÚÐ-öÐÐ
­ÚÐ-ûÐÐ
­
ÚÐ-ÜÐÐ
­ÚÐ-?ÐÐ
­ÚÐ-¶ÐÐ
­ÚÐ-üÐÐ
­ÚÐ-ýÐÐ
­ÚÐ-þÐÐ
­ÚÐ-öÐÐ
­ÚÐ-ÿÐÐ
­ÚÐ-ÂÐÐ
­ÚÐ-€ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-‚ÐÐ
­ÚÐ-ƒÐÐ
­ÚÐ-ÂÐÐ
­ÚÐ-„ÐÐ
­ÚÐ-…ÐÐ
­ÚÐ-†ÐÐ
­ÚÐ-ÊÐÐ
­/ÚÐ-³ÐÐ
­0ÚÐ-‡ÐÐ
­1ÚÐ-ˆÐÐ
­2ÚÐ-@ÐÐ
­3ÚÐ-‰ÐÐ
­4ÚÐ-ŠÐÐ
­5ÚÐ-‹ÐÐ
­6ÚÐ-ÐÐ
­7ÚÐ-ŒÐÐ
­8ÚÐ-ÐÐ
­9ÚÐ-ÐÐ
­;ÚÐ-ŽÐÐ
­<ÚÐ-ÐÐ
­=ÚÐ-ÐÐ
­>ÚÐ-ÐÐ
­?ÚÐ-ÐÐ
­@ÚÐ-‘ÐÐ
­BÚÐ-’ÐÐ
­CÚÐ-“ÐÐ
­ÚÐ-”ÐÐ
­ÚÐ-•ÐÐ
­ÚÐ-–ÐÐ
­DÚÐ-—ÐÐ
­ÚÐ-{ÐÐ
­EÚÐ-˜ÐÐ
­FÚÐ-™ÐÐ
­HÚÐ-šÐÐ
­IÚÐ-ÅÐÐ
­JÚÐ-›ÐÐ
­KÚÐ-,ÐÐ
­LÚÐ-@ÐÐ
­MÚÐ-ÐÐ
­NÚÐ-œÐÐ
­OÚÐ-ÐÐ
­PÚÐ-|ÐÐ
­QÚÐ-}ÐÐ
­RÚÐ-ÐÐ
­UÚÐ-ÉÐÐ
­VÚÐ-öÐÐ
­WÚÐ-ûÐÐ
­XÚÐ-ÅÐÐ
­YÚÐ-?ÐÐ
­ZÚÐ-¶ÐÐ
­[ÚÐ-žÐÐ
­\ÚÐ-ŸÐÐ
­`ÚÐ-‡ÐÐ
­aÚÐ-ˆÐÐ
­bÚÐ-@ÐÐ
­cÚÐ- ÐÐ
­dÚÐ-ÐÐ
­ÚÐ-¡ÐÐ
­	ÚÐ-ÐÐ
­eÚÐ-¢ÐÐ
­fÚÐ-ÐÐ
­¦ÚÐ-£ÐÐ
­§ÚÐ-¤ÐÐ
­¨ÚÐ-¥ÐÐ
­jÚÐ-¦ÐÐ
­©ÚÐ-ÐÐ
­«ÚÐ-§ÐÐ
­¬ÚÐ-ÐÐ
­ªÚÐ-¨ÐÐ
­kÚÐ-ÐÐ
­lÚÐ-©ÐÐ
­mÚÐ-ÐÐ
­nÚÐ-ªÐÐ
­oÚÐ-ÐÐ
­pÚÐ-«ÐÐ
­qÚÐ-¬ÐÐ
­rÚÐ-ÐÐ
­sÚÐ-­ÐÐ
­tÚÐ-ÐÐ
­uÚÐ-®ÐÐ
­wÚÐ-¯а±Ð	E
--ÐÐ
­†ÚÐ-²ÐÐ
­‡ÚÐ-³ÐÐ
­ˆÚÐ-´ÐÐ
­‰ÚÐ-µÐÐ
­ŠÚÐ-¶ÐÐ
­‹ÚÐ-·ÐÐ
­ŒÚÐ-ÐÐ
­ÚÐ-¸ÐÐ
­ŽÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-¹ÐÐ
­‘ÚÐ-VÐÐ
­’ÚÐ-ºÐÐ
­”ÚÐ-»ÐÐ
­–ÚÐ-¼ÐÐ
­OÚÐ-ÐÐ
­PÚÐ-½ÐÐ
­—ÚÐ-ÐÐ
­˜ÚÐ-¾ÐÐ
­™ÚÐ-¿ÐÐ
­šÚÐ-ÀÐÐ
­›ÚÐ-ÐÐ
­œÚÐ-ÁÐÐ
­ÚÐ-ÐÐ
­žÚÐ-ÂÐÐ
­ŸÚÐ-ÃÐÐ
­ ÚÐ-ÄÐÐ
­¡ÚÐ-ÐÐ
­¢ÚÐ-ÅÐÐ
­£ÚÐ-ÆÐÐ
­¤ÚÐ-ÇÐÐ
­¦ÚÐ-ÈÐÐ
­*ÚÐ-ÉÐÐ
­@ÚÐ-ÊÐÐ
­§ÚÐ-ËÐÐ
­•ÚÐ-ÐÐ
­”ÚÐ-ÌÐÐ
­ ÚÐ-ÍÐÐ
­?ÚÐ-ÐÐ
­¨ÚÐ-ÎÐÐ
­©ÚÐ-ÏÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐÐ
­«ÚÐ-µÐÐ
­ÚÐ-ÐÑ-ÒÐÓÔ-ÕÖ×ÐØÙ­
\ No newline at end of file
+ÚÐ-úÐÐ
­ÚÐ-öÐÐ
­ÚÐ-ûÐÐ
­
ÚÐ-ÜÐÐ
­ÚÐ-?ÐÐ
­ÚÐ-¶ÐÐ
­ÚÐ-üÐÐ
­ÚÐ-ýÐÐ
­ÚÐ-þÐÐ
­ÚÐ-öÐÐ
­ÚÐ-ÿÐÐ
­ÚÐ-ÂÐÐ
­ÚÐ-€ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-‚ÐÐ
­ÚÐ-ƒÐÐ
­ÚÐ-ÂÐÐ
­ÚÐ-„ÐÐ
­ÚÐ-…ÐÐ
­ÚÐ-†ÐÐ
­ÚÐ-ÊÐÐ
­/ÚÐ-³ÐÐ
­0ÚÐ-‡ÐÐ
­1ÚÐ-ˆÐÐ
­2ÚÐ-@ÐÐ
­3ÚÐ-‰ÐÐ
­4ÚÐ-ŠÐÐ
­5ÚÐ-‹ÐÐ
­6ÚÐ-ÐÐ
­7ÚÐ-ŒÐÐ
­8ÚÐ-ÐÐ
­9ÚÐ-ÐÐ
­;ÚÐ-ŽÐÐ
­<ÚÐ-ÐÐ
­=ÚÐ-ÐÐ
­>ÚÐ-ÐÐ
­?ÚÐ-ÐÐ
­@ÚÐ-‘ÐÐ
­BÚÐ-’ÐÐ
­ÚÐ-“ÐÐ
­ÚÐ-”ÐÐ
­ ÚÐ-•ÐÐ
­"ÚÐ-–ÐÐ
­ÚÐ-—ÐÐ
­ÚÐ-˜ÐÐ
­ÚÐ-™ÐÐ
­#ÚÐ-“ÐÐ
­$ÚÐ-”ÐÐ
­%ÚÐ-•ÐÐ
­&ÚÐ-šÐÐ
­ÚÐ-—ÐÐ
­DÚÐ-›ÐÐ
­ÚÐ-{ÐÐ
­EÚÐ-œÐÐ
­FÚÐ-ÐÐ
­HÚÐ-žÐÐ
­IÚÐ-ÅÐÐ
­JÚÐ-ŸÐÐ
­KÚÐ-,ÐÐ
­LÚÐ-@ÐÐ
­MÚÐ-ÐÐ
­NÚÐ- ÐÐ
­OÚÐ-ÐÐ
­PÚÐ-|ÐÐ
­QÚÐ-}ÐÐ
­RÚÐ-¡ÐÐ
­UÚÐ-ÉÐÐ
­VÚÐ-öÐÐ
­WÚÐ-ûÐÐ
­XÚÐ-ÅÐÐ
­YÚÐ-?ÐÐ
­ZÚÐ-¶ÐÐ
­[ÚÐ-¢ÐÐ
­)ÚÐ-“ÐÐ
­*ÚÐ-”ÐÐ
­+ÚÐ-•ÐÐ
­-ÚÐ-£ÐÐ
­(ÚÐ-¤ÐÐ
­`ÚÐ-‡ÐÐ
­aÚÐ-ˆÐÐ
­bÚÐ-@ÐÐ
­cÚÐ-¥ÐÐ
­dÚÐ-ÐÐ
­ÚÐ-¦ÐÐ
­	ÚÐ-ÐÐ
­eÚÐ-§ÐÐ
­fÚÐ-ÐÐ
­¦ÚÐ-¨ÐÐ
­§ÚÐ-©ÐÐ
­¨ÚÐ-ªÐÐ
­jÚÐ-«ÐÐ
­©ÚÐ-ÐÐ
­«ÚÐ-¬ÐÐ
­¬ÚÐ-ÐÐ
­ªÚÐ-­ÐÐ
­kÚÐ-ÐÐ
­lÚÐ-®ÐÐ
­mÚÐ-ÐÐ
­nÚÐ-¯ÐÐ
­oÚÐ-ÐÐ
­pÚÐ-°ÐÐ
­qÚÐ-±ÐÐ
­rÚÐ-ÐÐ
­sÚÐ-²ÐÐ
­tÚÐ-ÐÐ
­uÚÐ-³ÐÐ
­wÚÐ-´е¶Ð	E
+.ÐÐ
­†ÚÐ-·ÐÐ
­‡ÚÐ-¸ÐÐ
­ˆÚÐ-¹ÐÐ
­‰ÚÐ-ºÐÐ
­ŠÚÐ-»ÐÐ
­‹ÚÐ-¼ÐÐ
­ŒÚÐ-ÐÐ
­ÚÐ-½ÐÐ
­ŽÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-¾ÐÐ
­‘ÚÐ-VÐÐ
­’ÚÐ-¿ÐÐ
­”ÚÐ-ÀÐÐ
­–ÚÐ-ÁÐÐ
­OÚÐ-ÐÐ
­PÚÐ-ÂÐÐ
­'ÚÐ-ÃÐÐ
­—ÚÐ-ÐÐ
­˜ÚÐ-ÄÐÐ
­™ÚÐ-ÅÐÐ
­šÚÐ-ÆÐÐ
­›ÚÐ-ÐÐ
­œÚÐ-ÇÐÐ
­ÚÐ-ÐÐ
­žÚÐ-ÈÐÐ
­ŸÚÐ-ÉÐÐ
­ ÚÐ-ÊÐÐ
­¡ÚÐ-ÐÐ
­¢ÚÐ-ËÐÐ
­£ÚÐ-ÌÐÐ
­¤ÚÐ-ÍÐÐ
­¦ÚÐ-ÎÐÐ
­*ÚÐ-ÏÐÐ
­@ÚÐ-ÐÐÐ
­§ÚÐ-ÑÐÐ
­•ÚÐ-ÐÐ
­”ÚÐ-ÒÐÐ
­ ÚÐ-ÓÐÐ
­?ÚÐ-ÐÐ
­¨ÚÐ-ÔÐÐ
­©ÚÐ-ÕÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÖÐÐ
­«ÚÐ-ºÐÐ
­ÚÐ-Ð×-ØÐÙÚ-ÛÜÝÐÞß­
\ No newline at end of file