@Override
	public Object getHolidayFile()
	{
		Quest Q=fetchQuest("holidays");
		if((Q==null)
		||(!Q.script().toUpperCase().trim().equalsIgnoreCase(holidayDefinition)))
		{
			Q=null;
			final CMFile lF=new CMFile("//"+Resources.makeFileResourceName(holidayFilename),null);
			final CMFile vF=new CMFile("::"+Resources.makeFileResourceName(holidayFilename),null);
			if((lF.exists())&&(!vF.exists())&&(lF.canRead())&&(vF.canWrite()))
			{
				final byte[] O=lF.raw();
				vF.saveRaw(O);
			}
			Q=(Quest)CMClass.getCommon("DefaultQuest");
			Q.setScript(holidayDefinition,true);
			addQuest(Q);
			CMLib.database().DBUpdateQuest(Q);
			Q=fetchQuest("holidays");
			if(Q==null)
				return "A quest named 'holidays', with the script definition '"+holidayDefinition+"' has not been created.  Enter the following to create this quest:\n\r"
					  +"CREATE QUEST "+holidayDefinition+"\n\r"
					  +"SAVE QUESTS";
		}
		final CMFile F=new CMFile(Resources.makeFileResourceName(holidayFilename),null);
		if((!F.exists())||(!F.canRead())||(!F.canWrite()))
		{
			return "The file '"+Resources.makeFileResourceName(holidayFilename)+"' does not exist, and is required for this feature.";
		}
		final List<String> V=Resources.getFileLineVector(F.text());
		final List<String> steps=parseQuestSteps(V,0,true);
		return steps;
	}