using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Bootstrap;
using Holiday.Properties;
using Landfall.TABS;
using Landfall.TABS.UnitEditor;
using Landfall.TABS.Workshop;
using TFBGames;
using TGCore;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.SceneManagement;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("Holiday")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Holiday")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("102b0c94-4c5a-4cb4-8215-24bce01cc4e8")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Holiday
{
public class BreakIntoUnits : MonoBehaviour
{
private Unit OwnUnit;
private bool Done;
public UnitBlueprint topUnit;
public UnitBlueprint middleUnit;
public UnitBlueprint bottomUnit;
public Rigidbody topPart;
public Rigidbody middlePart;
public Rigidbody bottomPart;
private void Start()
{
OwnUnit = ((Component)((Component)this).transform.root).GetComponent<Unit>();
OwnUnit.data.healthHandler.willBeRewived = true;
}
public void BreakIntoParts()
{
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
//IL_0088: Unknown result type (might be due to invalid IL or missing references)
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
if (OwnUnit.data.healthHandler.willBeRewived && !Done)
{
GameObject[] array = topUnit.Spawn(topPart.position, topPart.rotation, OwnUnit.Team, 1f, (UnitPoolInfo?)null);
GameObject[] array2 = middleUnit.Spawn(middlePart.position, middlePart.rotation, OwnUnit.Team, 1f, (UnitPoolInfo?)null);
GameObject[] array3 = bottomUnit.Spawn(bottomPart.position, bottomPart.rotation, OwnUnit.Team, 1f, (UnitPoolInfo?)null);
OwnUnit.data.healthHandler.willBeRewived = false;
OwnUnit.data.hasBeenRevived = true;
Done = true;
}
}
}
public class CookieCrumble : ProjectileSurfaceEffect
{
public enum CookieState
{
Default,
Crumbled,
Pushing,
Crushing
}
private Unit ownUnit;
public CookieState currentState;
public Vector3 modelOffset;
public List<ConditionalEvent> movesToStun = new List<ConditionalEvent>();
[Header("Default Settings")]
public UnityEvent defaultEvent = new UnityEvent();
[Header("Crumble Settings")]
public UnityEvent crumbleEvent = new UnityEvent();
public GameObject crumbleObject;
public float crumbleTime;
public float maxHealth = 500f;
private float health;
[Header("Push Settings")]
public UnityEvent pushEvent = new UnityEvent();
public GameObject pushObject;
public AnimationCurve pushCurve;
public float pushOffset = 5f;
public float pushEndDelay;
[Header("Crush Settings")]
public UnityEvent crushEvent = new UnityEvent();
public GameObject crushObject;
public AnimationCurve crushCurve;
public float crushOffset = 5f;
public float crushEndDelay;
private void Start()
{
ownUnit = ((Component)((Component)this).transform.root).GetComponent<Unit>();
health = maxHealth;
}
public override bool DoEffect(HitData hit, GameObject projectile)
{
if (!Object.op_Implicit((Object)(object)ownUnit) || !Object.op_Implicit((Object)(object)ownUnit.data) || !Object.op_Implicit((Object)(object)ownUnit.data.targetMainRig) || currentState != CookieState.Default)
{
return false;
}
if (Object.op_Implicit((Object)(object)projectile.GetComponent<ProjectileHit>()))
{
health -= projectile.GetComponent<ProjectileHit>().damage;
}
if (Object.op_Implicit((Object)(object)projectile.GetComponent<CollisionWeapon>()))
{
health -= projectile.GetComponent<CollisionWeapon>().damage;
}
if (health <= 0f)
{
health = 0f;
Crumble();
}
return true;
}
public void ChangeState(CookieState state = CookieState.Default)
{
currentState = state;
switch (state)
{
case CookieState.Default:
defaultEvent.Invoke();
break;
case CookieState.Crumbled:
crumbleEvent.Invoke();
{
foreach (ConditionalEvent item in movesToStun)
{
item.StunAllOfMyMovesFor(crumbleTime + 1f);
}
break;
}
case CookieState.Pushing:
pushEvent.Invoke();
{
foreach (ConditionalEvent item2 in movesToStun)
{
item2.StunAllOfMyMovesFor(pushEndDelay + 2f);
}
break;
}
case CookieState.Crushing:
crushEvent.Invoke();
{
foreach (ConditionalEvent item3 in movesToStun)
{
item3.StunAllOfMyMovesFor(crushEndDelay + 2f);
}
break;
}
default:
defaultEvent.Invoke();
break;
}
}
public void Crumble()
{
if (Object.op_Implicit((Object)(object)ownUnit) && Object.op_Implicit((Object)(object)ownUnit.data) && Object.op_Implicit((Object)(object)ownUnit.data.targetMainRig) && currentState == CookieState.Default)
{
ChangeState(CookieState.Crumbled);
((MonoBehaviour)this).StartCoroutine(DoCrumble());
}
}
private IEnumerator DoCrumble()
{
Object.Instantiate<GameObject>(crumbleObject, ((Component)this).transform.TransformPoint(modelOffset), ((Component)this).transform.rotation);
yield return (object)new WaitForSeconds(crumbleTime);
health = maxHealth;
ChangeState();
}
public void Crush()
{
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
if (Object.op_Implicit((Object)(object)ownUnit) && Object.op_Implicit((Object)(object)ownUnit.data) && Object.op_Implicit((Object)(object)ownUnit.data.targetMainRig) && currentState == CookieState.Default)
{
ChangeState(CookieState.Crushing);
((MonoBehaviour)this).StartCoroutine(DoCookieMovement(((Component)ownUnit.data.targetMainRig).transform.position + Vector3.up * crushOffset, crushObject, crushCurve, crushEndDelay, pointUp: true));
}
}
public void Push()
{
//IL_0064: Unknown result type (might be due to invalid IL or missing references)
//IL_0069: Unknown result type (might be due to invalid IL or missing references)
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_009f: Unknown result type (might be due to invalid IL or missing references)
//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
if (Object.op_Implicit((Object)(object)ownUnit) && Object.op_Implicit((Object)(object)ownUnit.data) && Object.op_Implicit((Object)(object)ownUnit.data.targetMainRig) && currentState == CookieState.Default)
{
ChangeState(CookieState.Pushing);
Vector3 position = ownUnit.data.mainRig.position;
Vector3 forwardGroundNormal = ownUnit.data.forwardGroundNormal;
float y = ownUnit.data.targetMainRig.position.y;
((MonoBehaviour)this).StartCoroutine(DoCookieMovement(new Vector3(position.x, y, position.z) + new Vector3(forwardGroundNormal.x, 0f, forwardGroundNormal.z) * pushOffset, pushObject, pushCurve, pushEndDelay));
}
}
private IEnumerator DoCookieMovement(Vector3 pointToLerpTo, GameObject objectToSpawn, AnimationCurve curve, float endDelay, bool pointUp = false)
{
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
if (Object.op_Implicit((Object)(object)ownUnit) && Object.op_Implicit((Object)(object)ownUnit.data) && Object.op_Implicit((Object)(object)ownUnit.data.targetMainRig) && Object.op_Implicit((Object)(object)objectToSpawn))
{
GameObject spawnedCookie = Object.Instantiate<GameObject>(objectToSpawn, ((Component)this).transform.TransformPoint(modelOffset), ((Component)this).transform.rotation, ((Component)ownUnit).transform);
Vector3 startPos = spawnedCookie.transform.position;
Quaternion startRot = spawnedCookie.transform.rotation;
float t = 0f;
float endTime = ((Keyframe)(ref curve.keys[curve.keys.Length - 1])).time;
while (t < endTime && Object.op_Implicit((Object)(object)spawnedCookie) && Object.op_Implicit((Object)(object)ownUnit) && Object.op_Implicit((Object)(object)ownUnit.data))
{
spawnedCookie.transform.position = Vector3.Lerp(startPos, pointToLerpTo, curve.Evaluate(t));
spawnedCookie.transform.rotation = Quaternion.Lerp(startRot, pointUp ? Quaternion.LookRotation(Vector3.up) : Quaternion.LookRotation(pointToLerpTo - startPos), curve.Evaluate(t));
t += Time.deltaTime;
yield return null;
}
yield return (object)new WaitForSeconds(endDelay);
ChangeState();
}
}
}
public class BoulderBehavior : MonoBehaviour
{
public class HitByBoulder : MonoBehaviour
{
}
private Rigidbody rig;
private TeamHolder teamHolder;
private List<FixedJoint> jointList = new List<FixedJoint>();
private List<Rigidbody> rigList = new List<Rigidbody>();
private List<Unit> hitList = new List<Unit>();
private bool disabled;
public float damage = 200f;
public float breakForce = 30000f;
private void Start()
{
rig = ((Component)this).GetComponent<Rigidbody>();
teamHolder = ((Component)this).GetComponent<TeamHolder>();
}
public void OnCollisionEnter(Collision col)
{
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
Unit component = ((Component)col.transform.root).GetComponent<Unit>();
if (!disabled && Object.op_Implicit((Object)(object)col.rigidbody) && Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)teamHolder) && component.Team != teamHolder.team)
{
if (!Object.op_Implicit((Object)(object)((Component)component).GetComponent<HitByBoulder>()))
{
((Damagable)component.data.healthHandler).TakeDamage(damage, Vector3.zero, (Unit)null, (DamageType)0);
((Component)component).gameObject.AddComponent<HitByBoulder>();
hitList.Add(component);
}
if (!Object.op_Implicit((Object)(object)col.gameObject.GetComponent<HitByBoulder>()) && col.rigidbody.mass * 10f < rig.mass)
{
FixedJoint val = col.gameObject.AddComponent<FixedJoint>();
((Joint)val).connectedBody = rig;
((Joint)val).breakForce = breakForce;
((Joint)val).breakTorque = breakForce;
jointList.Add(val);
col.gameObject.AddComponent<HitByBoulder>();
rigList.Add(col.rigidbody);
}
}
}
public void DestroyJoints()
{
foreach (FixedJoint joint in jointList)
{
if (Object.op_Implicit((Object)(object)joint))
{
Object.Destroy((Object)(object)joint);
}
}
jointList.Clear();
foreach (Rigidbody rig in rigList)
{
if (Object.op_Implicit((Object)(object)rig) && Object.op_Implicit((Object)(object)((Component)rig).GetComponent<HitByBoulder>()))
{
Object.Destroy((Object)(object)((Component)rig).GetComponent<HitByBoulder>());
}
}
rigList.Clear();
foreach (Unit hit in hitList)
{
if (Object.op_Implicit((Object)(object)((Component)hit).GetComponent<HitByBoulder>()))
{
Object.Destroy((Object)(object)((Component)hit).GetComponent<HitByBoulder>());
}
}
hitList.Clear();
disabled = true;
}
}
[BepInPlugin("teamgrad.holiday", "Holiday", "2.2.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class HolidayLauncher : TGMod
{
public HolidayLauncher()
{
new HolidayMain();
}
public override void SceneManager(Scene scene, LoadSceneMode loadSceneMode)
{
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Expected O, but got Unknown
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
//IL_00d4: Expected O, but got Unknown
//IL_0108: Unknown result type (might be due to invalid IL or missing references)
//IL_0129: Unknown result type (might be due to invalid IL or missing references)
if (((Scene)(ref scene)).name == "02_Lvl3_Farmer_Snow_VC")
{
GameObject val = new GameObject
{
name = "Secrets"
};
Object.Instantiate<GameObject>(HolidayMain.holiday.LoadAsset<GameObject>("SmoreKnight_Unlock"), val.transform, true);
Object.Instantiate<GameObject>(HolidayMain.holiday.LoadAsset<GameObject>("SnowCannon_Unlock"), val.transform, true);
Object.Instantiate<GameObject>(HolidayMain.holiday.LoadAsset<GameObject>("JollyBot_Unlock"), val.transform, true);
if (!HolidayMain.HasWesternMap)
{
Object.Instantiate<GameObject>(HolidayMain.holiday.LoadAsset<GameObject>("Snowman_Unlock"), val.transform, true);
}
}
if (((Scene)(ref scene)).name == "WesternChristmas")
{
GameObject val2 = new GameObject
{
name = "Secrets"
};
GameObject val3 = Object.Instantiate<GameObject>(HolidayMain.holiday.LoadAsset<GameObject>("Snowman_Unlock"), val2.transform, true);
val3.transform.position = new Vector3(9.225f, 1.5f, 45.87f);
val3.transform.localScale = new Vector3(0.7f, 0.7f, 0.7f);
}
}
}
public class HolidayMain
{
public static AssetBundle holiday = AssetBundle.LoadFromMemory(Resources.holiday);
public static bool HasWesternMap = Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.WesternHoliday");
public HolidayMain()
{
Material[] array = holiday.LoadAllAssets<Material>();
foreach (Material val in array)
{
if (Object.op_Implicit((Object)(object)Shader.Find(((Object)val.shader).name)))
{
val.shader = Shader.Find(((Object)val.shader).name);
}
}
foreach (UnitBlueprint unit in from x in holiday.LoadAllAssets<UnitBlueprint>()
where (Object)(object)x.UnitBase != (Object)null
select x)
{
foreach (GameObject item in from unitBase in TGMain.landfallDb.GetUnitBases().ToList()
where ((Object)unitBase).name == ((Object)unit.UnitBase).name
select unitBase)
{
unit.UnitBase = item;
}
foreach (GameObject item2 in TGMain.landfallDb.GetWeapons().ToList())
{
if (Object.op_Implicit((Object)(object)unit.RightWeapon) && ((Object)item2).name == ((Object)unit.RightWeapon).name)
{
unit.RightWeapon = item2;
}
if (Object.op_Implicit((Object)(object)unit.LeftWeapon) && ((Object)item2).name == ((Object)unit.LeftWeapon).name)
{
unit.LeftWeapon = item2;
}
}
}
Faction[] array2 = holiday.LoadAllAssets<Faction>();
foreach (Faction val2 in array2)
{
UnitBlueprint[] source = (from x in val2.Units
where Object.op_Implicit((Object)(object)x)
orderby x.GetUnitCost(true)
select x).ToArray();
val2.Units = source.ToArray();
foreach (Faction item3 in TGMain.landfallDb.GetFactions().ToList())
{
if (val2.Entity.Name == item3.Entity.Name + "_NEW")
{
List<UnitBlueprint> list = new List<UnitBlueprint>(item3.Units);
list.AddRange(val2.Units);
item3.Units = (from x in list
where Object.op_Implicit((Object)(object)x)
orderby x.GetUnitCost(true)
select x).ToArray();
Object.DestroyImmediate((Object)(object)val2);
}
}
}
TABSCampaignLevelAsset[] array3 = holiday.LoadAllAssets<TABSCampaignLevelAsset>();
foreach (TABSCampaignLevelAsset lvl in array3)
{
Faction val3 = holiday.LoadAllAssets<Faction>().ToList().Find((Faction x) => ((Object)x).name.Contains("Holiday"));
Faction val4 = TGMain.landfallDb.GetFactions().ToList().Find((Faction x) => ((Object)x).name.Contains("Secret"));
List<UnitBlueprint> list2 = new List<UnitBlueprint>();
List<Faction> list3 = new List<Faction>();
if (((Object)lvl).name.Contains("HolidayLevel"))
{
lvl.MapAsset = TGMain.landfallDb.GetMapAssetsOrdered().ToList().Find((MapAsset x) => ((Object)x).name.Contains("Farmer_Snow"));
list3.AddRange(from x in TGMain.landfallDb.GetFactions().ToList()
where x.m_displayFaction
select x);
list3.Remove(val4);
}
else if (((Object)lvl).name.Contains("HolidaySpookyLevel"))
{
list3.Add(val3);
list3.Add(val4);
list2.AddRange(val3.Units);
list2.Add(val4.Units.ToList().Find((UnitBlueprint x) => ((Object)x).name.Contains("SnowCannon")));
list2.Add(val4.Units.ToList().Find((UnitBlueprint x) => ((Object)x).name.Contains("ToyRobot")));
list2.Add(val4.Units.ToList().Find((UnitBlueprint x) => ((Object)x).name.Contains("SmoreKnight")));
list2.Add(val4.Units.ToList().Find((UnitBlueprint x) => ((Object)x).name.Contains("Snowman")));
}
if (((Object)lvl).name.Contains("MapEquals"))
{
MapAsset val5 = TGMain.landfallDb.GetMapAssetsOrdered().ToList().Find((MapAsset x) => ((Object)x).name.Contains(((Object)lvl).name.Split(new string[1] { "MapEquals_" }, StringSplitOptions.RemoveEmptyEntries).Last()));
if (Object.op_Implicit((Object)(object)val5))
{
lvl.MapAsset = val5;
}
}
List<TABSLayoutUnit> list4 = new List<TABSLayoutUnit>();
list4.AddRange(lvl.BlueUnits);
list4.AddRange(lvl.RedUnits);
foreach (TABSLayoutUnit unit2 in list4)
{
if (((Object)unit2.m_unitBlueprint).name.Contains("_VANILLA"))
{
UnitBlueprint val6 = TGMain.landfallDb.GetUnitBlueprints().ToList().Find((UnitBlueprint x) => ((Object)x).name == ((Object)unit2.m_unitBlueprint).name.Replace("_VANILLA", ""));
if (Object.op_Implicit((Object)(object)val6))
{
unit2.m_unitBlueprint = val6;
}
}
}
lvl.AllowedFactions = list3.ToArray();
lvl.AllowedUnits = list2.ToArray();
}
GameObject[] source2 = holiday.LoadAllAssets<GameObject>();
TGAddons.AddItems((IEnumerable<UnitBlueprint>)holiday.LoadAllAssets<UnitBlueprint>(), (IEnumerable<Faction>)holiday.LoadAllAssets<Faction>(), (IEnumerable<TABSCampaignAsset>)holiday.LoadAllAssets<TABSCampaignAsset>(), (IEnumerable<TABSCampaignLevelAsset>)holiday.LoadAllAssets<TABSCampaignLevelAsset>(), (IEnumerable<VoiceBundle>)holiday.LoadAllAssets<VoiceBundle>(), (IEnumerable<FactionIcon>)holiday.LoadAllAssets<FactionIcon>(), source2.Select((GameObject x) => x.GetComponent<Unit>()), source2.Select((GameObject x) => x.GetComponent<PropItem>()), source2.Select((GameObject x) => x.GetComponent<SpecialAbility>()), source2.Select((GameObject x) => x.GetComponent<WeaponItem>()), source2.Select((GameObject x) => x.GetComponent<ProjectileEntity>()));
TGMain.newSounds.AddRange(holiday.LoadAllAssets<SoundBank>());
}
}
public class SnowballSpawner : MonoBehaviour
{
public GameObject objectToSpawn;
public bool copyRotation;
public void DoSpawn()
{
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
Unit component = ((Component)((Component)this).transform.root).GetComponent<Unit>();
if (Object.op_Implicit((Object)(object)objectToSpawn) && Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.data.targetMainRig))
{
GameObject val = Object.Instantiate<GameObject>(objectToSpawn, ((Component)this).transform.position, Quaternion.LookRotation(new Vector3(component.data.targetData.mainRig.position.x - component.data.mainRig.position.x, 0f, component.data.targetData.mainRig.position.z - component.data.mainRig.position.z)));
if (copyRotation)
{
val.GetComponent<CopyRotationOfParent>().target.rotation = ((Component)this).transform.rotation;
}
TeamHolder.AddTeamHolder(val, ((Component)this).gameObject);
}
}
}
public class CopyRotationOfParent : MonoBehaviour
{
public Transform target;
}
}
namespace Holiday.Properties
{
[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[DebuggerNonUserCode]
[CompilerGenerated]
internal class Resources
{
private static ResourceManager resourceMan;
private static CultureInfo resourceCulture;
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal static ResourceManager ResourceManager
{
get
{
if (resourceMan == null)
{
ResourceManager resourceManager = new ResourceManager("Holiday.Properties.Resources", typeof(Resources).Assembly);
resourceMan = resourceManager;
}
return resourceMan;
}
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal static CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
internal static byte[] holiday
{
get
{
object obj = ResourceManager.GetObject("holiday", resourceCulture);
return (byte[])obj;
}
}
internal Resources()
{
}
}
}