ACTOR IamElf : Inventory
   {
       inventory.maxamount 1
       -INVBAR
   }

ACTOR Elf : MagePlayer
{
  Health 100
  Radius 16
  Height 56
  Mass 100
  Painchance 255
  Speed 1
//  Player.ColorRange 225, 240
//  PainSound "PlayerElfPain"
  Player.Viewheight 48
  RadiusDamageFactor 0.25
  Player.SpawnClass "Mage"
  Player.SoundClass "Elf"
  Player.DisplayName "Sidhe"
//  Player.ScoreIcon "ELFFACE"
  Player.InvulnerabilityMode "Ghost"
  Player.HealRadiusType "mana"
  Player.Hexenarmor 10, 10, 25, 5, 20
  Player.ForwardMove 1.08, 1.2
  Player.SideMove 1.125, 1.475
  Player.StartItem "SidheGoldWand"
  Player.StartItem "Staff"
  Player.StartItem "IamElf"
  Player.Weaponslot 0, staff
  States
  {
     Spawn:
        SIDH A -1
        Stop
     See:
        SIDH ABCD 4
        Loop
     Melee:
     Missile:
        SIDH F 6 BRIGHT
        SIDH E 12
        Goto Spawn
     Pain:
        SIDH G 4
        SIDH G 4 A_Pain
        Goto Spawn
     Death:
        SIDH H 6 A_PlayerSkinCheck("AltSkinDeath")
        SIDH I 6 A_PlayerScream
        SIDH JK 6
        SIDH L 6 A_NoBlocking
        SIDH MNO 6
        SIDH P -1
        Stop
     XDeath:
        SIDH Q 0 A_PlayerSkinCheck("AltSkinXDeath")
        SIDH Q 5 A_PlayerScream
        SIDH R 0 A_NoBlocking
        SIDH R 5 A_SkullPop
        SIDH STUVWX 5
        SIDH Y -1
        Stop
     Burn:
        FDTH W 5 BRIGHT A_PlaySound("*burndeath")
        FDTH X 4 BRIGHT
        FDTH G 5 BRIGHT
        FDTH H 4 BRIGHT A_PlayerScream
        FDTH I 5 BRIGHT
        FDTH J 4 BRIGHT
        FDTH K 5 BRIGHT
        FDTH L 4 BRIGHT
        FDTH M 5 BRIGHT
        FDTH N 4 BRIGHT
        FDTH O 5 BRIGHT
        FDTH P 4 BRIGHT
        FDTH Q 5 BRIGHT
        FDTH R 4 BRIGHT
        FDTH S 5 BRIGHT A_NoBlocking
        FDTH T 4 BRIGHT
        FDTH U 5 BRIGHT
        FDTH V 4 BRIGHT
        ACLO E 35 A_CheckPlayerDone
        Wait
        ACLO E 8
        Stop
     AltSkinDeath:	
        PLAY H 10
        PLAY I 10 A_PlayerScream
        PLAY J 10 A_NoBlocking
        PLAY KLM 10
        PLAY N -1
        Stop
     AltSkinXDeath:
        PLAY O 5
        PLAY P 5 A_XScream
        PLAY Q 5 A_NoBlocking
        PLAY RSTUV 5
        PLAY W -1
        Stop
     }
}

ACTOR ArtiPoisonBagPickup : CustomInventory replaces ArtiPoisonBag
{
  inventory.maxamount 0
  Inventory.PickupMessage "$TXT_ARTIPOISONBAG"
  Inventory.pickupsound "misc/p_pkup"
  +FLOATBOB
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.PICKUPFLASH
  States
  {
     Spawn:
        PSBG A -1
        loop
     Pickup:
        TNT1 A 0 A_JumpIfInventory("IamElf", 1, 2)
        TNT1 A 0 A_GiveInventory("ArtiPoisonBag", 1)
        stop
        TNT1 A 0 A_GiveInventory("ArtiPoisonBag3", 1)
        Stop
  }
}

ACTOR ArtiPoisonBag4 : CustomInventory 
{
  inventory.defmaxamount
  Inventory.icon ARTIPSBG
  Inventory.PickupMessage "$TXT_ARTIPOISONBAG"
  Inventory.pickupsound "misc/p_pkup"
  inventory.usesound "misc/invuse"
  +COUNTITEM
  +FLOATBOB
  +INVENTORY.PICKUPFLASH
  +INVENTORY.INVBAR
  +INVENTORY.FANCYPICKUPSOUND
  +INVENTORY.HUBPOWER
  States
  {
     Use:
        TNT1 A 3 A_FireCustomMissile("PoisonFX1", -7.5, 1)
        TNT1 A 3 A_FireCustomMissile("PoisonFX1", 0, 1)
        TNT1 A 3 A_FireCustomMissile("PoisonFX1", 7.5, 1)
        Stop
     Drop:
        TNT1 A 0 A_SpawnItem("ArtiPoisonBagPickup", 0, 0, 0, 0)
        Stop
  }
}

ACTOR PoisonFX1
{
  height 8
  radius 6
  damage 3
  speed 12
  renderstyle translucent
  alpha 0.8
  gravity 0.6
//  seesound "misc/shot"
//  deathsound "misc/shotx"
  PROJECTILE
  +RANDOMIZE
  -NOGRAVITY
  +BLOODLESSIMPACT
  +RIPPER
  states
  {
  Spawn:
    FVN1 A 0 bright ThrustThingZ(0,7,0,1)
    FVN1 AABBCCDD 1 bright
    Goto Spawn +1
  Death:
    FVN1 EFGHIJ 3 bright
    stop
  }
}

ACTOR MWeapFrost_ : MWeapFrost
{
  States
  {
     Select:
        CONE A 0 A_JumpIfInventory("IamElf", 1, 2)
        CONE A 1 A_Raise
        wait
        CONE A 0 A_TakeInventory(MWeapFrost_, 999)
        goto deselect
  }
}

ACTOR BlueMage : CustomInventory replaces MWeapFrost
{
  inventory.maxamount 0
  inventory.PickupMessage "Ultimate Ethereal Crossbow!"
  Inventory.pickupsound "misc/w_pkup"
  +INVENTORY.AUTOACTIVATE
  States
  {
     Spawn:
        WBOW A 1 BRIGHT
        loop
     Pickup:
        TNT1 A 0 A_JumpIfInventory("IamElf", 1, 2)
        TNT1 A 0 A_GiveInventory("MWeapFrost_", 1)
        stop
        TNT1 A 0 A_GiveInventory("SidheCrossbow", 1)
        stop
  }
}

ACTOR MWeapLightning_ : MWeapLightning
{
  States
  {
     Select:
        MLNG A 0 A_JumpIfInventory("IamElf", 1, 2)
        MLNG A 1 A_Raise
        wait
        MLNG A 0 A_TakeInventory(MWeapLightning_, 999)
        goto deselect
  }
}

ACTOR GreenMage : CustomInventory replaces MWeapLightning
{
  inventory.maxamount 0
  +INVENTORY.AUTOACTIVATE
  inventory.PickupMessage "Hellstaff!"
  Inventory.pickupsound "misc/w_pkup"
  States
  {
     Spawn:
        WSKL A 1 BRIGHT
        loop
     Pickup:
        TNT1 A 0 A_JumpIfInventory("IamElf", 1, 2)
        TNT1 A 0 A_GiveInventory("MWeapLightning_", 1)
        stop
        TNT1 A 0 A_GiveInventory("SidheHellstaff", 1)
        stop
  }
}

ACTOR MWeapBloodscourge_ : MWeapBloodscourge
{
  States
  {
     Select:
        MSTF A 0 A_JumpIfInventory("IamElf", 1, 2)
        MSTF A 1 A_Raise
        wait
        MSTF A 0 A_TakeInventory(MWeapBloodscourge_, 999)
        goto deselect
  }
}

ACTOR staff : Mageweapon
{
  weapon.selectionOrder 2000
  Weapon.AmmoUse 0
  Weapon.AmmoType "mana1"
  Weapon.AmmoGive 0
  Weapon.Kickback 0

	States
	{

	Ready:	
		STFF A 1 A_WeaponReady
		Loop
	Select:
		STFF A 1 A_Raise
		Loop
	Deselect:
		STFF A 1 A_Lower
		Loop
	Fire:
		STFF A 0 A_Jump(128,"AltFire")
		STFF B 2 
		STFF C 2 
		STFF I 2 A_CustomPunch(8,0,0,"punchPuff")
		STFF J 3 
		STFF K 2 
		STFF P 2 A_CustomPunch(8,0,0,"punchPuff")
		STFF QR 2 	
		STFF S 2 A_ReFire
		Goto Ready
  	AltFire:
		STFF L 2 
		STFF M 2
		STFF N 2 A_CustomPunch(8,0,0,"punchPuff")
		STFF O 2
		TNT1 A 4
		STFF T 2 
		STFF T 0 A_ReFire	
		Goto Ready
	}
}


ACTOR SidheGoldWand : MageWeapon 
{
  Inventory.PickupMessage "You got Golden Wand"
  Inventory.PickupSound "misc/w_pkup"
  weapon.selectionOrder 2000
  Weapon.AmmoUse 0
  Weapon.AmmoType "mana1"
  Weapon.AmmoGive 0
  Weapon.Kickback 0
  +NOEXTREMEDEATH
  AttackSound "weapons/wandhit"
  States
  {
     Spawn:
        WAND A -1
        Stop
     Ready:
        GWND A 1 A_WeaponReady
        Loop
     Select:
        GWND A 1 A_Raise
        Wait
     Deselect:
        GWND A 1 A_Lower
        Wait
     Fire:
        GWND A 0 A_JumpIfCloser (78,"Melee")
       	GWND B 3 BRIGHT
        GWND C 0 BRIGHT A_Playweaponsound("WEAPONS/WANDAGE")
        GWND C 5 BRIGHT A_FireCustomMissile("wandmissile")
       	GWND D 3 BRIGHT
        GWND D 0 A_ReFire
        Goto Ready
     Melee:
        GWND EFGH 2 BRIGHT
        GWND I 2 BRIGHT A_CustomPunch (8,0,1,"GoldWandPuff1",80)
        GWND J 2 BRIGHT
        GWND K 2 BRIGHT
        TNT1 A 6
        TNT1 A 2 A_Refire
        Goto Ready
     Hold:
        GWND A 0 A_JumpIfCloser (78,"Melee")
        GWND B 2 BRIGHT
        GWND C 0 BRIGHT A_Playweaponsound("WEAPONS/WANDAGE")
        GWND C 5 BRIGHT A_FireCustomMissile("wandmissile")
       	GWND D 3 BRIGHT
        GWND D 0 A_ReFire
        Goto Ready
  }
}

ACTOR SidheGoldWand2 : SidheGoldWand
{
  AttackSound "weapons/wandhit"
  Weapon.SisterWeapon "SidheGoldWand"
  +WEAPON.POWERED_UP
  States
  {
     Fire:
       	GWND B 3 BRIGHT
        GWND C 0 BRIGHT A_Playweaponsound("WEAPONS/WANDAGE")
        GWND C 5 BRIGHT A_FireCustomMissile("wandmissile2")
       	GWND D 3 BRIGHT
        GWND D 0 A_ReFire
        Goto Ready
     Hold:
        GWND B 2 BRIGHT
        GWND C 0 BRIGHT A_Playweaponsound("WEAPONS/WANDAGE")
        GWND C 5 BRIGHT A_FireCustomMissile("wandmissile2")
       	GWND D 3 BRIGHT
        GWND D 0 A_ReFire
        Goto Ready
  }
}

ACTOR WandSmoke 
{
	+NOBLOCKMAP +NOGRAVITY +SHADOW
	+NOTELEPORT +CANNOTPUSH +NODAMAGETHRUST
	RenderStyle Translucent
	Alpha 0.3
	States
	{
	Spawn:
		PUF2 CDE 4
		Stop
	}
}


ACTOR WandMissile : FastProjectile
{
	Speed 184
	Radius 4
	Height 4
	Damage 1
	+RIPPER +CANNOTPUSH +NODAMAGETHRUST
	MissileType "WandSmoke"
	decal "HImpScorch"
	States
	{
	Spawn:
		PUF2 A 1 BRIGHT
		Loop
	Death:
		PUF2 BCDE 4 BRIGHT
		Stop
	}
}

ACTOR WandMissile2 : FastProjectile
{
	Speed 184
	Radius 4
	Height 4
	Damage 4
	+RIPPER +CANNOTPUSH +NODAMAGETHRUST
	MissileType "WandSmoke"
	decal "HImpScorch"
	States
	{
	Spawn:
		PUF2 A 1 BRIGHT
		Loop
	Death:
		PUF2 BCDE 4 BRIGHT
		Stop
	}
}

ACTOR SidheCrossbow : MageWeapon
{
  Inventory.PickupMessage "You got Ethereal Crossbow"
  Inventory.PickupSound "misc/w_pkup"
  weapon.selectionOrder 800
  Weapon.AmmoUse 2
  Weapon.AmmoType "mana1"
  Weapon.AmmoGive 15
  Weapon.Kickback 10
  AttackSound "weapons/bowshoot"
  Weapon.SisterWeapon "SidheCrossbow2"
  States
  {
     Spawn:
        WBOW A -1
        Stop
     Ready:
        ECRB AAAAAABBBBBBCCCCCC 1 A_WeaponReady
        Loop
     Select:
        ECRB A 0 A_JumpIfInventory("IamElf", 1, 2)
        ECRB A 0 A_TakeInventory("SidheCrossbow", 999)
        Goto deselect
        ECRB A 1 A_Raise
        Wait
     Deselect:
        ECRB A 1 A_Lower
        Wait
     Fire:
        ECRB D 0 BRIGHT A_FireCustomMissile ("CrossbowFX1_", 0, 1)
        ECRB D 0 BRIGHT A_FireCustomMissile ("CrossbowFX3", 5, 0)
        ECRB D 6 BRIGHT A_FireCustomMissile ("CrossbowFX3", -5, 0)
       	ECRB EFGH 3
       	ECRB AB 4
        ECRB C 5 A_ReFire
        Goto Ready
  }
}

ACTOR CrossbowFX1_ : CrossbowFX1
{
  +DOOMBOUNCE
  BounceFactor 1.0
  bouncecount 2
}

ACTOR SidheCrossbow2 : SidheCrossbow
{
  AttackSound "weapons/bowshoot"
  Weapon.SisterWeapon "SidheCrossbow"
  +WEAPON.POWERED_UP
  States
  {
     Fire:
        ECRB D 0 BRIGHT A_FireCustomMissile ("CrossbowFX2", 0, 1)
        ECRB D 0 BRIGHT A_FireCustomMissile ("CrossbowFX2", 5, 0)
        ECRB D 0 BRIGHT A_FireCustomMissile ("CrossbowFX2", -5, 0)
        ECRB D 0 BRIGHT A_FireCustomMissile ("CrossbowFX3", -8, 0)
        ECRB D 6 BRIGHT A_FireCustomMissile ("CrossbowFX3", 8, 0)
       	ECRB EFGH 3
       	ECRB AB 4
        ECRB C 5 A_ReFire
        Goto Ready
  }
}

ACTOR CrossbowFX2_ : CrossbowFX2
{
  +DOOMBOUNCE
  BounceFactor 1.0
  bouncecount 3
}

ACTOR SidheHellstaff : MageWeapon
{
  Inventory.PickupMessage "You got Hellstaff"
  Inventory.PickupSound "misc/w_pkup"
  weapon.selectionOrder 200
  Weapon.AmmoUse 1
  Weapon.AmmoType "mana2"
  Weapon.AmmoGive 20
  Weapon.Kickback 5
  AttackSound "weapons/hornrodshoot"
  Weapon.SisterWeapon "SidheHellstaff2"
  States
  {
     Spawn:
        WSKL A -1
        Stop
     Ready:
        HSTF A 1 A_WeaponReady
        Loop
     Select:
        HSTF A 0 A_JumpIfInventory("IamElf", 1, 2)
        HSTF A 0 A_TakeInventory(SidheHellstaff, 999)
        goto deselect
        HSTF A 1 A_Raise
        Wait
     Deselect:
        HSTF A 1 A_Lower
        Wait
     Fire:
        HSTF A 1
        HSTF B 3 BRIGHT A_FireCustomMissile ("HornRodFX1_", 0, 1)
        HSTF A 1
        HSTF B 3 BRIGHT A_FireCustomMissile ("HornRodFX1_", 0, 0)
        HSTF A 1
        HSTF B 3 BRIGHT A_FireCustomMissile ("HornRodFX1_", 0, 0)
        HSTF A 0 A_ReFire
        Goto Ready
     Hold:
        HSTF A 1
        HSTF B 2 BRIGHT A_FireCustomMissile ("HornRodFX1_", 0, 1)
        HSTF A 1
        HSTF B 2 BRIGHT A_FireCustomMissile ("HornRodFX1_", 0, 0)
        HSTF A 1
        HSTF B 2 BRIGHT A_FireCustomMissile ("HornRodFX1_", 0, 0)
        HSTF A 0 A_ReFire
        Goto Ready
  }
}

ACTOR HornRodFX1_ : HornRodFX1
{
  Scale 0.8
//  +FIREDAMAGE
}

ACTOR SidheHellstaff2 : SidheHellstaff
{
  AttackSound "weapons/hornrodpowshoot"
  Weapon.SisterWeapon "SidheHellstaff"
  +WEAPON.POWERED_UP
  States
  {
     Fire:
        HSTF CDEF 3
        HSTF G 4 BRIGHT A_FireCustomMissile ("HornRodFX2", 0, 1)
        HSTF EDC 3
        HSTF A 0 A_ReFire
        Goto Ready
     Hold:
        HSTF CDEF 3
        HSTF G 4 BRIGHT A_FireCustomMissile ("HornRodFX2", 0, 1)
        HSTF EDC 3
        HSTF A 0 A_ReFire
        Goto Ready
  }
}

ACTOR BITOFROD1 : CustomInventory replaces Piece1Mage
{
  inventory.maxamount 0
  inventory.PickupMessage "headpiece of the Ancient Phoenix Rod!"
  Inventory.pickupsound "misc/w_pkup"
  +INVENTORY.AUTOACTIVATE
  States
  {
     Spawn:
        WSD1 A -1 BRIGHT
        loop
     Pickup:
        TNT1 A 0 A_JumpIfInventory("IamElf", 1, 2)
        TNT1 A 0 A_GiveInventory("MWeaponPiece1", 1)
        stop
        TNT1 A 0 A_GiveInventory("PhoenixPiece1", 1)
        stop
  }
}

ACTOR BITOFROD2 : CustomInventory replaces Piece2Mage
{
  inventory.maxamount 0
  inventory.PickupMessage "Shaft of the Ancient Phoenix Rod!"
  Inventory.pickupsound "misc/w_pkup"
  +INVENTORY.AUTOACTIVATE
  States
  {
     Spawn:
        WSD2 A -1 BRIGHT
        loop
     Pickup:
        TNT1 A 0 A_JumpIfInventory("IamElf", 1, 2)
        TNT1 A 0 A_GiveInventory("MWeaponPiece2", 1)
        stop
        TNT1 A 0 A_GiveInventory("PhoenixPiece2", 1)
        stop
  }
}

ACTOR BITOFROD3 : CustomInventory replaces Piece3Mage
{
  inventory.maxamount 0
  inventory.PickupMessage "Pommel of the Ancient Phoenix Rod!"
  Inventory.pickupsound "misc/w_pkup"
  +INVENTORY.AUTOACTIVATE
  States
  {
     Spawn:
        WSD3 A -1 BRIGHT
        loop
     Pickup:
        TNT1 A 0 A_JumpIfInventory("IamElf", 1, 2)
        TNT1 A 0 A_GiveInventory("MWeaponPiece3", 1)
        stop
        TNT1 A 0 A_GiveInventory("PhoenixPiece3", 1)
        stop
  }
}

actor UltimatePhoenix
{
  radius 13
  height 8
  speed 25
  damage 100
  renderstyle Add
  alpha 0.75
  seesound "weapons/phoenixshoot"
  deathsound "weapons/phoenixhit"
  PROJECTILE
  +RANDOMIZE
  +FIREDAMAGE
  states
  {
  Spawn:
    PHOX A 1 bright
    PHOX A 0 bright A_SpawnItemEx ("Phoenixtrail",Random(-15,15),Random(-4,8),Random(0,15),0,0,0,0,8)
    PHOX A 1 bright A_SpawnItemEx ("Phoenixtrail",Random(-15,15),Random(-4,8),Random(0,15),0,0,0,0,8)
    PHOX A 0 bright A_SpawnItemEX ("PhoenixPuff", 0, 0, 0, 0, 5, 0, 0, 32, 0)
    PHOX A 0 bright A_SpawnItemEX ("PhoenixPuff", 0, 0, 0, 0, -5, 0, 0, 32, 0)
    PHOX A 0 bright A_SpawnItemEx ("Phoenixtrail",Random(-15,15),Random(-4,8),Random(0,15),0,0,0,0,8)
    PHOX A 1 bright A_SpawnItemEx ("Phoenixtrail",Random(-15,15),Random(-4,8),Random(0,15),0,0,0,0,8)
    loop
  Death:
    FX08 A 6 bright
    FX08 B 6 bright A_BFGSpray (PhoenixExplosion , 20, 20)
    FX08 CDEFGH 6 bright
    stop
  }
}

actor UltimatePhoenixPlus
{
  radius 13
  height 8
  speed 25
  damage 100
  renderstyle Add
  alpha 0.75
  seesound "weapons/phoenixshoot"
  deathsound "weapons/phoenixhit"
  PROJECTILE
  +DOOMBOUNCE
  BounceFactor 1.0
  bouncecount 3
  +RANDOMIZE
  +FIREDAMAGE
  +SEEKERMISSILE
  states
  {
  Spawn:
    PHOX A 1 bright A_SeekerMissile(45,45)
    PHOX A 0 bright A_SpawnItemEx ("Phoenixtrail",Random(-15,15),Random(-4,8),Random(0,15),0,0,0,0,8)
    PHOX A 0 bright A_SpawnItemEx ("Phoenixtrail",Random(-15,15),Random(-4,8),Random(0,15),0,0,0,0,8)
    PHOX A 1 bright A_SeekerMissile(45,45)
    PHOX A 0 bright A_SpawnItemEX ("PhoenixPuff", 0, 0, 0, 0, 5, 0, 0, 32, 0)
    PHOX A 0 bright A_SpawnItemEX ("PhoenixPuff", 0, 0, 0, 0, -5, 0, 0, 32, 0)
    PHOX A 0 bright A_SpawnItemEx ("Phoenixtrail",Random(-15,15),Random(-4,8),Random(0,15),0,0,0,0,8)
    PHOX A 0 bright A_SpawnItemEx ("Phoenixtrail",Random(-15,15),Random(-4,8),Random(0,15),0,0,0,0,8)
    PHOX A 1 bright A_SeekerMissile(45,45)
    PHOX A 0 bright A_SpawnItemEx ("Phoenixtrail",Random(-15,15),Random(-4,8),Random(0,15),0,0,0,0,8)
    PHOX A 0 bright A_SpawnItemEx ("Phoenixtrail",Random(-15,15),Random(-4,8),Random(0,15),0,0,0,0,8)
    loop
  Death:
    FX08 A 6 bright A_Explode (30, 256, 1)
    FX08 B 6 bright A_BFGSpray (PhoenixExplosion , 20, 20)
    FX08 CDEFGH 6 bright
    stop
  }
}

actor tomeSpawner : RandomSpawner replaces ArtiBoostMana
{
dropitem artitome
dropitem ArtiBoostMana2
dropitem ArtiBoostMana2
}


ACTOR artitome : powerupgiver
{
	+COUNTITEM
	+FLOATBOB
	Inventory.DefMaxAmount
	+INVENTORY.INVBAR 
	+INVENTORY.PICKUPFLASH
	+INVENTORY.FANCYPICKUPSOUND
	+INVENTORY.PICKUPFLASH
	Inventory.Icon "ARTIPWBK"
	Powerup.Type Weaponlevel2
	Inventory.PickupMessage "Tome of Power!"
	States
	{
	Spawn:
		PWBK A 350 Bright
		Loop
	}
}


ACTOR ArtiBoostMana2 : CustomInventory 
{
	+FLOATBOB
	+COUNTITEM
	+INVENTORY.INVBAR
	+INVENTORY.PICKUPFLASH
	+INVENTORY.FANCYPICKUPSOUND
	Inventory.DefMaxAmount
	Inventory.Icon "ARTIBMAN"
	Inventory.PickupSound "misc/p_pkup"
	Inventory.PickupMessage "$TXT_ARTIBOOSTMANA"
	States
	{
	Spawn:
		BMAN A -1
		Stop
	Use:
		TNT1 A 0 A_GiveInventory("Mana1", 200)
		TNT1 A 0 A_GiveInventory("Mana2", 200)
		Stop
	}
}
