text:
package org.drip.analytics.holset;

/*
 * -*- mode: java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 */

/*
 *    GENERATED on Fri Jan 11 19:54:07 EST 2013 ---- DO NOT DELETE
 */

/*!
 * Copyright (C) 2013 Lakshmi Krishnamurthy
 * Copyright (C) 2012 Lakshmi Krishnamurthy
 * Copyright (C) 2011 Lakshmi Krishnamurthy
 *
 * This file is part of CreditAnalytics, a free-software/open-source library for
 *		fixed income analysts and developers - http://www.credit-trader.org
 *
 * CreditAnalytics is a free, full featured, fixed income credit analytics library, developed with a special focus
 * 		towards the needs of the bonds and credit products community.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *   	you may not use this file except in compliance with the License.
 *
 *  You may obtain a copy of the License at
 *  	http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  	distributed under the License is distributed on an "AS IS" BASIS,
 *  	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 *  See the License for the specific language governing permissions and
 *  	limitations under the License.
 */

public class TWDHoliday implements org.drip.analytics.holset.LocationHoliday {
	public TWDHoliday()
	{
	}

	public java.lang.String getHolidayLoc()
	{
		return "TWD";
	}

	public org.drip.analytics.holiday.Locale getHolidaySet()
	{
		org.drip.analytics.holiday.Locale lh = new
			org.drip.analytics.holiday.Locale();

		lh.addStaticHoliday ("01-JAN-1999", "New Years Day");

		lh.addStaticHoliday ("02-JAN-1999", "Bank Holiday");

		lh.addStaticHoliday ("04-JAN-1999", "Bank Holiday Observed");

		lh.addStaticHoliday ("15-FEB-1999", "Lunar New Years Eve");

		lh.addStaticHoliday ("16-FEB-1999", "Lunar New Years Day");

		lh.addStaticHoliday ("17-FEB-1999", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("18-FEB-1999", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("05-APR-1999", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-1999", "May Day");

		lh.addStaticHoliday ("18-JUN-1999", "Dragon Boat Festival");

		lh.addStaticHoliday ("19-JUN-1999", "Bridging Day");

		lh.addStaticHoliday ("01-JUL-1999", "Bank Holiday");

		lh.addStaticHoliday ("24-SEP-1999", "Moon Festival Day");

		lh.addStaticHoliday ("12-NOV-1999", "Sun Yat-Sens Birthday");

		lh.addStaticHoliday ("31-DEC-1999", "Special Holiday");

		lh.addStaticHoliday ("01-JAN-2000", "New Years Day");

		lh.addStaticHoliday ("03-JAN-2000", "Bank Holiday Observed");

		lh.addStaticHoliday ("04-FEB-2000", "Lunar New Years Eve");

		lh.addStaticHoliday ("05-FEB-2000", "Lunar New Years Day");

		lh.addStaticHoliday ("07-FEB-2000", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2000", "Memorial Day");

		lh.addStaticHoliday ("18-MAR-2000", "Election Day");

		lh.addStaticHoliday ("03-APR-2000", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2000", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2000", "May Day");

		lh.addStaticHoliday ("06-JUN-2000", "Dragon Boat Festival");

		lh.addStaticHoliday ("01-JUL-2000", "Bank Holiday");

		lh.addStaticHoliday ("23-AUG-2000", "TYPHOON-OFFICE CLOSE");

		lh.addStaticHoliday ("12-SEP-2000", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2000", "National Day");

		lh.addStaticHoliday ("25-DEC-2000", "Constitution Day");

		lh.addStaticHoliday ("01-JAN-2001", "New Years Day");

		lh.addStaticHoliday ("22-JAN-2001", "Bridging Day");

		lh.addStaticHoliday ("23-JAN-2001", "Lunar New Years Eve");

		lh.addStaticHoliday ("24-JAN-2001", "Lunar New Years Day");

		lh.addStaticHoliday ("25-JAN-2001", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("26-JAN-2001", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2001", "Memorial Day");

		lh.addStaticHoliday ("05-APR-2001", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2001", "May Day");

		lh.addStaticHoliday ("25-JUN-2001", "Dragon Boat Festival");

		lh.addStaticHoliday ("30-JUL-2001", "TYPHOON-OFFICE CLOSE");

		lh.addStaticHoliday ("17-SEP-2001", "TYPHOON-OFFICE CLOSE");

		lh.addStaticHoliday ("18-SEP-2001", "TYPHOON-OFFICE CLOSE");

		lh.addStaticHoliday ("01-OCT-2001", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2001", "National Day");

		lh.addStaticHoliday ("01-JAN-2002", "New Years Day");

		lh.addStaticHoliday ("11-FEB-2002", "Lunar New Years Eve");

		lh.addStaticHoliday ("12-FEB-2002", "Lunar New Years Day");

		lh.addStaticHoliday ("13-FEB-2002", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("14-FEB-2002", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2002", "MEMORIAL DAY");

		lh.addStaticHoliday ("02-MAR-2002", "Special Holiday");

		lh.addStaticHoliday ("05-APR-2002", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2002", "LABOR DAY");

		lh.addStaticHoliday ("10-OCT-2002", "National Day");

		lh.addStaticHoliday ("01-JAN-2003", "New Years Day");

		lh.addStaticHoliday ("31-JAN-2003", "Lunar New Years Eve");

		lh.addStaticHoliday ("03-FEB-2003", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("04-FEB-2003", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("05-FEB-2003", "Chinese New Year Holiday Period");

		lh.addStaticHoliday ("28-FEB-2003", "Special Holiday");

		lh.addStaticHoliday ("01-MAY-2003", "May Day");

		lh.addStaticHoliday ("04-JUN-2003", "Dragon Boat Festival");

		lh.addStaticHoliday ("11-SEP-2003", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2003", "National Day");

		lh.addStaticHoliday ("01-JAN-2004", "New Years Day");

		lh.addStaticHoliday ("21-JAN-2004", "Lunar New Years Eve");

		lh.addStaticHoliday ("22-JAN-2004", "Lunar New Years Day");

		lh.addStaticHoliday ("23-JAN-2004", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("26-JAN-2004", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("22-JUN-2004", "Dragon Boat Festival");

		lh.addStaticHoliday ("24-AUG-2004", "Special Holiday");

		lh.addStaticHoliday ("25-AUG-2004", "Special Holiday");

		lh.addStaticHoliday ("28-SEP-2004", "Moon Festival Day");

		lh.addStaticHoliday ("25-OCT-2004", "Special Holiday");

		lh.addStaticHoliday ("07-FEB-2005", "Bridging Day");

		lh.addStaticHoliday ("08-FEB-2005", "Lunar New Years Eve");

		lh.addStaticHoliday ("09-FEB-2005", "Lunar New Years Day");

		lh.addStaticHoliday ("10-FEB-2005", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("11-FEB-2005", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2005", "Memorial Day");

		lh.addStaticHoliday ("05-APR-2005", "Tomb Sweeping Day");

		lh.addStaticHoliday ("02-MAY-2005", "Labor Day Observed");

		lh.addStaticHoliday ("18-JUL-2005", "Special Holiday");

		lh.addStaticHoliday ("05-AUG-2005", "Special Holiday");

		lh.addStaticHoliday ("01-SEP-2005", "Special Holiday");

		lh.addStaticHoliday ("10-OCT-2005", "National Day");

		lh.addStaticHoliday ("28-JAN-2006", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("29-JAN-2006", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("30-JAN-2006", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("31-JAN-2006", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("01-FEB-2006", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("02-FEB-2006", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("28-FEB-2006", "Memorial Day");

		lh.addStaticHoliday ("05-APR-2006", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2006", "Labor Day Observed");

		lh.addStaticHoliday ("31-MAY-2006", "Dragon Boat Festival");

		lh.addStaticHoliday ("06-OCT-2006", "Moon Festival Day");

		lh.addStaticHoliday ("09-OCT-2006", "Bank Holiday");

		lh.addStaticHoliday ("10-OCT-2006", "National Day");

		lh.addStaticHoliday ("01-JAN-2007", "New Years Day");

		lh.addStaticHoliday ("19-FEB-2007", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("20-FEB-2007", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("21-FEB-2007", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("22-FEB-2007", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("23-FEB-2007", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2007", "Memorial Day");

		lh.addStaticHoliday ("05-APR-2007", "Tomb Sweeping Day");

		lh.addStaticHoliday ("06-APR-2007", "Bridging Day");

		lh.addStaticHoliday ("01-MAY-2007", "May Day");

		lh.addStaticHoliday ("18-JUN-2007", "Bridging Day");

		lh.addStaticHoliday ("19-JUN-2007", "Dragon Boat Festival");

		lh.addStaticHoliday ("18-SEP-2007", "Special Holiday");

		lh.addStaticHoliday ("24-SEP-2007", "Bridging Day");

		lh.addStaticHoliday ("25-SEP-2007", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2007", "National Day");

		lh.addStaticHoliday ("01-JAN-2008", "New Years Day");

		lh.addStaticHoliday ("06-FEB-2008", "Lunar New Years Eve");

		lh.addStaticHoliday ("07-FEB-2008", "Lunar New Years Day");

		lh.addStaticHoliday ("08-FEB-2008", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("11-FEB-2008", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2008", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2008", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2008", "May Day");

		lh.addStaticHoliday ("28-JUL-2008", "Special Holiday");

		lh.addStaticHoliday ("29-SEP-2008", "Special Holiday");

		lh.addStaticHoliday ("10-OCT-2008", "National Day");

		lh.addStaticHoliday ("01-JAN-2009", "New Years Day");

		lh.addStaticHoliday ("02-JAN-2009", "Bridging Day");

		lh.addStaticHoliday ("26-JAN-2009", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("27-JAN-2009", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("28-JAN-2009", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("29-JAN-2009", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("30-JAN-2009", "Bridging Day");

		lh.addStaticHoliday ("01-MAY-2009", "May Day");

		lh.addStaticHoliday ("28-MAY-2009", "Dragon Boat Festival");

		lh.addStaticHoliday ("29-MAY-2009", "Dragon Boat Festival");

		lh.addStaticHoliday ("07-AUG-2009", "Special Holiday");

		lh.addStaticHoliday ("01-JAN-2010", "New Years Day");

		lh.addStaticHoliday ("13-FEB-2010", "Chinese New Year");

		lh.addStaticHoliday ("14-FEB-2010", "Chinese New Year");

		lh.addStaticHoliday ("15-FEB-2010", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("16-FEB-2010", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("17-FEB-2010", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("18-FEB-2010", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("19-FEB-2010", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2010", "Peace Day");

		lh.addStaticHoliday ("05-APR-2010", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2010", "Labour Day");

		lh.addStaticHoliday ("16-JUN-2010", "Dragon Boat Festival");

		lh.addStaticHoliday ("22-SEP-2010", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2010", "National Day");

		lh.addStaticHoliday ("02-FEB-2011", "Lunar New Years Eve");

		lh.addStaticHoliday ("03-FEB-2011", "Lunar New Years Day");

		lh.addStaticHoliday ("04-FEB-2011", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("07-FEB-2011", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2011", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2011", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2011", "Tomb Sweeping Day");

		lh.addStaticHoliday ("02-MAY-2011", "May Day Observed");

		lh.addStaticHoliday ("06-JUN-2011", "Dragon Boat Festival");

		lh.addStaticHoliday ("12-SEP-2011", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2011", "National Day");

		lh.addStaticHoliday ("23-JAN-2012", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("24-JAN-2012", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("25-JAN-2012", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("26-JAN-2012", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("27-JAN-2012", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2012", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2012", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2012", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2012", "May Day");

		lh.addStaticHoliday ("10-OCT-2012", "National Day");

		lh.addStaticHoliday ("01-JAN-2013", "New Years Day");

		lh.addStaticHoliday ("11-FEB-2013", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("12-FEB-2013", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("13-FEB-2013", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("14-FEB-2013", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("15-FEB-2013", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2013", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2013", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2013", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2013", "May Day");

		lh.addStaticHoliday ("12-JUN-2013", "Dragon Boat Festival");

		lh.addStaticHoliday ("19-SEP-2013", "Moon Festival Day");

		lh.addStaticHoliday ("20-SEP-2013", "Bridging Day");

		lh.addStaticHoliday ("10-OCT-2013", "National Day");

		lh.addStaticHoliday ("01-JAN-2014", "New Years Day");

		lh.addStaticHoliday ("30-JAN-2014", "Lunar New Years Eve");

		lh.addStaticHoliday ("31-JAN-2014", "Lunar New Years Day");

		lh.addStaticHoliday ("03-FEB-2014", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("04-FEB-2014", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2014", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2014", "Childrens Day");

		lh.addStaticHoliday ("01-MAY-2014", "May Day");

		lh.addStaticHoliday ("02-JUN-2014", "Dragon Boat Festival");

		lh.addStaticHoliday ("08-SEP-2014", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2014", "National Day");

		lh.addStaticHoliday ("01-JAN-2015", "New Years Day");

		lh.addStaticHoliday ("18-FEB-2015", "Lunar New Years Eve");

		lh.addStaticHoliday ("19-FEB-2015", "Lunar New Years Day");

		lh.addStaticHoliday ("20-FEB-2015", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("23-FEB-2015", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("01-MAY-2015", "May Day");

		lh.addStaticHoliday ("01-JAN-2016", "New Years Day");

		lh.addStaticHoliday ("08-FEB-2016", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("09-FEB-2016", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("10-FEB-2016", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("11-FEB-2016", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("12-FEB-2016", "Bridging Day");

		lh.addStaticHoliday ("04-APR-2016", "Tomb Sweeping Day");

		lh.addStaticHoliday ("02-MAY-2016", "May Day Observed");

		lh.addStaticHoliday ("09-JUN-2016", "Dragon Boat Festival");

		lh.addStaticHoliday ("10-JUN-2016", "Bridging Day");

		lh.addStaticHoliday ("15-SEP-2016", "Moon Festival Day");

		lh.addStaticHoliday ("16-SEP-2016", "Bridging Day");

		lh.addStaticHoliday ("10-OCT-2016", "National Day");

		lh.addStaticHoliday ("27-JAN-2017", "Lunar New Years Eve");

		lh.addStaticHoliday ("30-JAN-2017", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("31-JAN-2017", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("01-FEB-2017", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2017", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2017", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2017", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2017", "May Day");

		lh.addStaticHoliday ("29-MAY-2017", "Bridging Day");

		lh.addStaticHoliday ("30-MAY-2017", "Dragon Boat Festival");

		lh.addStaticHoliday ("04-OCT-2017", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2017", "National Day");

		lh.addStaticHoliday ("01-JAN-2018", "New Years Day");

		lh.addStaticHoliday ("15-FEB-2018", "Lunar New Years Eve");

		lh.addStaticHoliday ("16-FEB-2018", "Lunar New Years Day");

		lh.addStaticHoliday ("19-FEB-2018", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("20-FEB-2018", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2018", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2018", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2018", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2018", "May Day");

		lh.addStaticHoliday ("18-JUN-2018", "Dragon Boat Festival");

		lh.addStaticHoliday ("24-SEP-2018", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2018", "National Day");

		lh.addStaticHoliday ("01-JAN-2019", "New Years Day");

		lh.addStaticHoliday ("04-FEB-2019", "Lunar New Years Eve");

		lh.addStaticHoliday ("05-FEB-2019", "Lunar New Years Day");

		lh.addStaticHoliday ("06-FEB-2019", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("07-FEB-2019", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2019", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2019", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2019", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2019", "May Day");

		lh.addStaticHoliday ("07-JUN-2019", "Dragon Boat Festival");

		lh.addStaticHoliday ("13-SEP-2019", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2019", "National Day");

		lh.addStaticHoliday ("01-JAN-2020", "New Years Day");

		lh.addStaticHoliday ("24-JAN-2020", "Lunar New Years Eve");

		lh.addStaticHoliday ("27-JAN-2020", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("28-JAN-2020", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("29-JAN-2020", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2020", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2020", "Childrens Day");

		lh.addStaticHoliday ("01-MAY-2020", "May Day");

		lh.addStaticHoliday ("25-JUN-2020", "Dragon Boat Festival");

		lh.addStaticHoliday ("26-JUN-2020", "Bridging Day");

		lh.addStaticHoliday ("01-OCT-2020", "Moon Festival Day");

		lh.addStaticHoliday ("02-OCT-2020", "Bridging Day");

		lh.addStaticHoliday ("01-JAN-2021", "New Years Day");

		lh.addStaticHoliday ("11-FEB-2021", "Lunar New Years Eve");

		lh.addStaticHoliday ("12-FEB-2021", "Lunar New Years Day");

		lh.addStaticHoliday ("15-FEB-2021", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("16-FEB-2021", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("14-JUN-2021", "Dragon Boat Festival");

		lh.addStaticHoliday ("20-SEP-2021", "Bridging Day");

		lh.addStaticHoliday ("21-SEP-2021", "Moon Festival Day");

		lh.addStaticHoliday ("31-JAN-2022", "Lunar New Years Eve");

		lh.addStaticHoliday ("01-FEB-2022", "Lunar New Years Day");

		lh.addStaticHoliday ("02-FEB-2022", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("03-FEB-2022", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2022", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2022", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2022", "Tomb Sweeping Day");

		lh.addStaticHoliday ("02-MAY-2022", "May Day Observed");

		lh.addStaticHoliday ("03-JUN-2022", "Dragon Boat Festival");

		lh.addStaticHoliday ("10-OCT-2022", "National Day");

		lh.addStaticHoliday ("23-JAN-2023", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("24-JAN-2023", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("25-JAN-2023", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("26-JAN-2023", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("27-JAN-2023", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2023", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2023", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2023", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2023", "May Day");

		lh.addStaticHoliday ("22-JUN-2023", "Dragon Boat Festival");

		lh.addStaticHoliday ("23-JUN-2023", "Bridging Day");

		lh.addStaticHoliday ("29-SEP-2023", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2023", "National Day");

		lh.addStaticHoliday ("01-JAN-2024", "New Years Day");

		lh.addStaticHoliday ("09-FEB-2024", "Lunar New Years Eve");

		lh.addStaticHoliday ("12-FEB-2024", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("13-FEB-2024", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("14-FEB-2024", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2024", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2024", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2024", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2024", "May Day");

		lh.addStaticHoliday ("10-JUN-2024", "Dragon Boat Festival");

		lh.addStaticHoliday ("16-SEP-2024", "Bridging Day");

		lh.addStaticHoliday ("17-SEP-2024", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2024", "National Day");

		lh.addStaticHoliday ("01-JAN-2025", "New Years Day");

		lh.addStaticHoliday ("27-JAN-2025", "Bridging Day");

		lh.addStaticHoliday ("28-JAN-2025", "Lunar New Years Eve");

		lh.addStaticHoliday ("29-JAN-2025", "Lunar New Years Day");

		lh.addStaticHoliday ("30-JAN-2025", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("31-JAN-2025", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2025", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2025", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2025", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2025", "May Day");

		lh.addStaticHoliday ("06-OCT-2025", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2025", "National Day");

		lh.addStaticHoliday ("01-JAN-2026", "New Years Day");

		lh.addStaticHoliday ("16-FEB-2026", "Lunar New Years Eve");

		lh.addStaticHoliday ("17-FEB-2026", "Lunar New Years Day");

		lh.addStaticHoliday ("18-FEB-2026", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("19-FEB-2026", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("01-MAY-2026", "May Day");

		lh.addStaticHoliday ("19-JUN-2026", "Dragon Boat Festival");

		lh.addStaticHoliday ("25-SEP-2026", "Moon Festival Day");

		lh.addStaticHoliday ("01-JAN-2027", "New Years Day");

		lh.addStaticHoliday ("05-FEB-2027", "Lunar New Years Eve");

		lh.addStaticHoliday ("08-FEB-2027", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("09-FEB-2027", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("10-FEB-2027", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("05-APR-2027", "Tomb Sweeping Day");

		lh.addStaticHoliday ("09-JUN-2027", "Dragon Boat Festival");

		lh.addStaticHoliday ("15-SEP-2027", "Moon Festival Day");

		lh.addStaticHoliday ("24-JAN-2028", "Bridging Day");

		lh.addStaticHoliday ("25-JAN-2028", "Lunar New Years Eve");

		lh.addStaticHoliday ("26-JAN-2028", "Lunar New Years Day");

		lh.addStaticHoliday ("27-JAN-2028", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("28-JAN-2028", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2028", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2028", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2028", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2028", "May Day");

		lh.addStaticHoliday ("02-OCT-2028", "Bridging Day");

		lh.addStaticHoliday ("03-OCT-2028", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2028", "National Day");

		lh.addStaticHoliday ("01-JAN-2029", "New Years Day");

		lh.addStaticHoliday ("12-FEB-2029", "Lunar New Years Eve");

		lh.addStaticHoliday ("13-FEB-2029", "Lunar New Years Day");

		lh.addStaticHoliday ("14-FEB-2029", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("15-FEB-2029", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2029", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2029", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2029", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2029", "May Day");

		lh.addStaticHoliday ("10-OCT-2029", "National Day");

		lh.addStaticHoliday ("01-JAN-2030", "New Years Day");

		lh.addStaticHoliday ("04-FEB-2030", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("05-FEB-2030", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("06-FEB-2030", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("07-FEB-2030", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("08-FEB-2030", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2030", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2030", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2030", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2030", "May Day");

		lh.addStaticHoliday ("05-JUN-2030", "Dragon Boat Festival");

		lh.addStaticHoliday ("12-SEP-2030", "Moon Festival Day");

		lh.addStaticHoliday ("13-SEP-2030", "Bridging Day");

		lh.addStaticHoliday ("10-OCT-2030", "National Day");

		lh.addStaticHoliday ("01-JAN-2031", "New Years Day");

		lh.addStaticHoliday ("22-JAN-2031", "Lunar New Years Eve");

		lh.addStaticHoliday ("23-JAN-2031", "Lunar New Years Day");

		lh.addStaticHoliday ("24-JAN-2031", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("27-JAN-2031", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2031", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2031", "Childrens Day");

		lh.addStaticHoliday ("01-MAY-2031", "May Day");

		lh.addStaticHoliday ("23-JUN-2031", "Bridging Day");

		lh.addStaticHoliday ("24-JUN-2031", "Dragon Boat Festival");

		lh.addStaticHoliday ("01-OCT-2031", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2031", "National Day");

		lh.addStaticHoliday ("01-JAN-2032", "New Years Day");

		lh.addStaticHoliday ("09-FEB-2032", "Bridging Day");

		lh.addStaticHoliday ("10-FEB-2032", "Lunar New Years Eve");

		lh.addStaticHoliday ("11-FEB-2032", "Lunar New Years Day");

		lh.addStaticHoliday ("12-FEB-2032", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("13-FEB-2032", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("31-JAN-2033", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("01-FEB-2033", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("02-FEB-2033", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("03-FEB-2033", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("04-FEB-2033", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2033", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2033", "Tomb Sweeping Day");

		lh.addStaticHoliday ("02-MAY-2033", "May Day Observed");

		lh.addStaticHoliday ("01-JUN-2033", "Dragon Boat Festival");

		lh.addStaticHoliday ("08-SEP-2033", "Moon Festival Day");

		lh.addStaticHoliday ("09-SEP-2033", "Bridging Day");

		lh.addStaticHoliday ("10-OCT-2033", "National Day");

		lh.addStaticHoliday ("20-FEB-2034", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("21-FEB-2034", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("22-FEB-2034", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("23-FEB-2034", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("24-FEB-2034", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2034", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2034", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2034", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2034", "May Day");

		lh.addStaticHoliday ("19-JUN-2034", "Bridging Day");

		lh.addStaticHoliday ("20-JUN-2034", "Dragon Boat Festival");

		lh.addStaticHoliday ("27-SEP-2034", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2034", "National Day");

		lh.addStaticHoliday ("01-JAN-2035", "New Years Day");

		lh.addStaticHoliday ("07-FEB-2035", "Lunar New Years Eve");

		lh.addStaticHoliday ("08-FEB-2035", "Lunar New Years Day");

		lh.addStaticHoliday ("09-FEB-2035", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("12-FEB-2035", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2035", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2035", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2035", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2035", "May Day");

		lh.addStaticHoliday ("10-OCT-2035", "National Day");

		lh.addStaticHoliday ("01-JAN-2036", "New Years Day");

		lh.addStaticHoliday ("28-JAN-2036", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("29-JAN-2036", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("30-JAN-2036", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("31-JAN-2036", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("01-FEB-2036", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2036", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2036", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2036", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2036", "May Day");

		lh.addStaticHoliday ("30-MAY-2036", "Dragon Boat Festival");

		lh.addStaticHoliday ("10-OCT-2036", "National Day");

		lh.addStaticHoliday ("01-JAN-2037", "New Years Day");

		lh.addStaticHoliday ("16-FEB-2037", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("17-FEB-2037", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("18-FEB-2037", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("19-FEB-2037", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("20-FEB-2037", "Bridging Day");

		lh.addStaticHoliday ("03-APR-2037", "Childrens Day");

		lh.addStaticHoliday ("01-MAY-2037", "May Day");

		lh.addStaticHoliday ("18-JUN-2037", "Dragon Boat Festival");

		lh.addStaticHoliday ("19-JUN-2037", "Bridging Day");

		lh.addStaticHoliday ("24-SEP-2037", "Moon Festival Day");

		lh.addStaticHoliday ("25-SEP-2037", "Bridging Day");

		lh.addStaticHoliday ("01-JAN-2038", "New Years Day");

		lh.addStaticHoliday ("03-FEB-2038", "Lunar New Years Eve");

		lh.addStaticHoliday ("04-FEB-2038", "Lunar New Years Day");

		lh.addStaticHoliday ("05-FEB-2038", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("08-FEB-2038", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("05-APR-2038", "Tomb Sweeping Day");

		lh.addStaticHoliday ("07-JUN-2038", "Dragon Boat Festival");

		lh.addStaticHoliday ("13-SEP-2038", "Moon Festival Day");

		lh.addStaticHoliday ("24-JAN-2039", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("25-JAN-2039", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("26-JAN-2039", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("27-JAN-2039", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-JAN-2039", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2039", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2039", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2039", "Tomb Sweeping Day");

		lh.addStaticHoliday ("02-MAY-2039", "May Day Observed");

		lh.addStaticHoliday ("27-MAY-2039", "Dragon Boat Festival");

		lh.addStaticHoliday ("10-OCT-2039", "National Day");

		lh.addStaticHoliday ("13-FEB-2040", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("14-FEB-2040", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("15-FEB-2040", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("16-FEB-2040", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("17-FEB-2040", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2040", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2040", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2040", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2040", "May Day");

		lh.addStaticHoliday ("14-JUN-2040", "Dragon Boat Festival");

		lh.addStaticHoliday ("15-JUN-2040", "Bridging Day");

		lh.addStaticHoliday ("20-SEP-2040", "Moon Festival Day");

		lh.addStaticHoliday ("21-SEP-2040", "Bridging Day");

		lh.addStaticHoliday ("10-OCT-2040", "National Day");

		lh.addStaticHoliday ("01-JAN-2041", "New Years Day");

		lh.addStaticHoliday ("31-JAN-2041", "Lunar New Years Eve");

		lh.addStaticHoliday ("01-FEB-2041", "Lunar New Years Day");

		lh.addStaticHoliday ("04-FEB-2041", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("05-FEB-2041", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2041", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2041", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2041", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2041", "May Day");

		lh.addStaticHoliday ("03-JUN-2041", "Dragon Boat Festival");

		lh.addStaticHoliday ("09-SEP-2041", "Bridging Day");

		lh.addStaticHoliday ("10-SEP-2041", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2041", "National Day");

		lh.addStaticHoliday ("01-JAN-2042", "New Years Day");

		lh.addStaticHoliday ("20-JAN-2042", "Bridging Day");

		lh.addStaticHoliday ("21-JAN-2042", "Lunar New Years Eve");

		lh.addStaticHoliday ("22-JAN-2042", "Lunar New Years Day");

		lh.addStaticHoliday ("23-JAN-2042", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("24-JAN-2042", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2042", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2042", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2042", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2042", "May Day");

		lh.addStaticHoliday ("10-OCT-2042", "National Day");

		lh.addStaticHoliday ("01-JAN-2043", "New Years Day");

		lh.addStaticHoliday ("09-FEB-2043", "Lunar New Years Eve");

		lh.addStaticHoliday ("10-FEB-2043", "Lunar New Years Day");

		lh.addStaticHoliday ("11-FEB-2043", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("12-FEB-2043", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("01-MAY-2043", "May Day");

		lh.addStaticHoliday ("11-JUN-2043", "Dragon Boat Festival");

		lh.addStaticHoliday ("12-JUN-2043", "Bridging Day");

		lh.addStaticHoliday ("17-SEP-2043", "Moon Festival Day");

		lh.addStaticHoliday ("18-SEP-2043", "Bridging Day");

		lh.addStaticHoliday ("01-JAN-2044", "New Years Day");

		lh.addStaticHoliday ("29-JAN-2044", "Lunar New Years Eve");

		lh.addStaticHoliday ("01-FEB-2044", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("02-FEB-2044", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("03-FEB-2044", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("04-APR-2044", "Tomb Sweeping Day");

		lh.addStaticHoliday ("02-MAY-2044", "May Day Observed");

		lh.addStaticHoliday ("30-MAY-2044", "Bridging Day");

		lh.addStaticHoliday ("31-MAY-2044", "Dragon Boat Festival");

		lh.addStaticHoliday ("05-OCT-2044", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2044", "National Day");

		lh.addStaticHoliday ("16-FEB-2045", "Lunar New Years Eve");

		lh.addStaticHoliday ("17-FEB-2045", "Lunar New Years Day");

		lh.addStaticHoliday ("20-FEB-2045", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("21-FEB-2045", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2045", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2045", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2045", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2045", "May Day");

		lh.addStaticHoliday ("19-JUN-2045", "Dragon Boat Festival");

		lh.addStaticHoliday ("25-SEP-2045", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2045", "National Day");

		lh.addStaticHoliday ("01-JAN-2046", "New Years Day");

		lh.addStaticHoliday ("05-FEB-2046", "Lunar New Years Eve");

		lh.addStaticHoliday ("06-FEB-2046", "Lunar New Years Day");

		lh.addStaticHoliday ("07-FEB-2046", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("08-FEB-2046", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2046", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2046", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2046", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2046", "May Day");

		lh.addStaticHoliday ("08-JUN-2046", "Dragon Boat Festival");

		lh.addStaticHoliday ("10-OCT-2046", "National Day");

		lh.addStaticHoliday ("01-JAN-2047", "New Years Day");

		lh.addStaticHoliday ("25-JAN-2047", "Lunar New Years Eve");

		lh.addStaticHoliday ("28-JAN-2047", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("29-JAN-2047", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("30-JAN-2047", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2047", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2047", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2047", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2047", "May Day");

		lh.addStaticHoliday ("29-MAY-2047", "Dragon Boat Festival");

		lh.addStaticHoliday ("04-OCT-2047", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2047", "National Day");

		lh.addStaticHoliday ("01-JAN-2048", "New Years Day");

		lh.addStaticHoliday ("13-FEB-2048", "Lunar New Years Eve");

		lh.addStaticHoliday ("14-FEB-2048", "Lunar New Years Day");

		lh.addStaticHoliday ("17-FEB-2048", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("18-FEB-2048", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2048", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2048", "Childrens Day");

		lh.addStaticHoliday ("01-MAY-2048", "May Day");

		lh.addStaticHoliday ("15-JUN-2048", "Dragon Boat Festival");

		lh.addStaticHoliday ("21-SEP-2048", "Bridging Day");

		lh.addStaticHoliday ("22-SEP-2048", "Moon Festival Day");

		lh.addStaticHoliday ("01-JAN-2049", "New Years Day");

		lh.addStaticHoliday ("01-FEB-2049", "Lunar New Years Eve");

		lh.addStaticHoliday ("02-FEB-2049", "Lunar New Years Day");

		lh.addStaticHoliday ("03-FEB-2049", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("04-FEB-2049", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("04-JUN-2049", "Dragon Boat Festival");

		lh.addStaticHoliday ("24-JAN-2050", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("25-JAN-2050", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("26-JAN-2050", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("27-JAN-2050", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-JAN-2050", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2050", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2050", "Tomb Sweeping Day");

		lh.addStaticHoliday ("02-MAY-2050", "May Day Observed");

		lh.addStaticHoliday ("23-JUN-2050", "Dragon Boat Festival");

		lh.addStaticHoliday ("24-JUN-2050", "Bridging Day");

		lh.addStaticHoliday ("30-SEP-2050", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2050", "National Day");

		lh.addStaticHoliday ("10-FEB-2051", "Lunar New Years Eve");

		lh.addStaticHoliday ("13-FEB-2051", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("14-FEB-2051", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("15-FEB-2051", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2051", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2051", "Childrens Day");

		lh.addStaticHoliday ("05-APR-2051", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2051", "May Day");

		lh.addStaticHoliday ("12-JUN-2051", "Bridging Day");

		lh.addStaticHoliday ("13-JUN-2051", "Dragon Boat Festival");

		lh.addStaticHoliday ("18-SEP-2051", "Bridging Day");

		lh.addStaticHoliday ("19-SEP-2051", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2051", "National Day");

		lh.addStaticHoliday ("01-JAN-2052", "New Years Day");

		lh.addStaticHoliday ("31-JAN-2052", "Lunar New Years Eve");

		lh.addStaticHoliday ("01-FEB-2052", "Lunar New Years Day");

		lh.addStaticHoliday ("02-FEB-2052", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("05-FEB-2052", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2052", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2052", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2052", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2052", "May Day");

		lh.addStaticHoliday ("10-OCT-2052", "National Day");

		lh.addStaticHoliday ("01-JAN-2053", "New Years Day");

		lh.addStaticHoliday ("17-FEB-2053", "Bridging Day");

		lh.addStaticHoliday ("18-FEB-2053", "Lunar New Years Eve");

		lh.addStaticHoliday ("19-FEB-2053", "Lunar New Years Day");

		lh.addStaticHoliday ("20-FEB-2053", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("21-FEB-2053", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2053", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2053", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2053", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2053", "May Day");

		lh.addStaticHoliday ("20-JUN-2053", "Dragon Boat Festival");

		lh.addStaticHoliday ("26-SEP-2053", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2053", "National Day");

		lh.addStaticHoliday ("01-JAN-2054", "New Years Day");

		lh.addStaticHoliday ("09-FEB-2054", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("10-FEB-2054", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("11-FEB-2054", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("12-FEB-2054", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("13-FEB-2054", "Bridging Day");

		lh.addStaticHoliday ("03-APR-2054", "Childrens Day");

		lh.addStaticHoliday ("01-MAY-2054", "May Day");

		lh.addStaticHoliday ("10-JUN-2054", "Dragon Boat Festival");

		lh.addStaticHoliday ("16-SEP-2054", "Moon Festival Day");

		lh.addStaticHoliday ("01-JAN-2055", "New Years Day");

		lh.addStaticHoliday ("27-JAN-2055", "Lunar New Years Eve");

		lh.addStaticHoliday ("28-JAN-2055", "Lunar New Years Day");

		lh.addStaticHoliday ("29-JAN-2055", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("01-FEB-2055", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("05-APR-2055", "Tomb Sweeping Day");

		lh.addStaticHoliday ("04-OCT-2055", "Bridging Day");

		lh.addStaticHoliday ("05-OCT-2055", "Moon Festival Day");

		lh.addStaticHoliday ("14-FEB-2056", "Lunar New Years Eve");

		lh.addStaticHoliday ("15-FEB-2056", "Lunar New Years Day");

		lh.addStaticHoliday ("16-FEB-2056", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("17-FEB-2056", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2056", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2056", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2056", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2056", "May Day");

		lh.addStaticHoliday ("10-OCT-2056", "National Day");

		lh.addStaticHoliday ("01-JAN-2057", "New Years Day");

		lh.addStaticHoliday ("05-FEB-2057", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("06-FEB-2057", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("07-FEB-2057", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("08-FEB-2057", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("09-FEB-2057", "Bridging Day");

		lh.addStaticHoliday ("28-FEB-2057", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2057", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2057", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2057", "May Day");

		lh.addStaticHoliday ("06-JUN-2057", "Dragon Boat Festival");

		lh.addStaticHoliday ("13-SEP-2057", "Moon Festival Day");

		lh.addStaticHoliday ("14-SEP-2057", "Bridging Day");

		lh.addStaticHoliday ("10-OCT-2057", "National Day");

		lh.addStaticHoliday ("01-JAN-2058", "New Years Day");

		lh.addStaticHoliday ("23-JAN-2058", "Lunar New Years Eve");

		lh.addStaticHoliday ("24-JAN-2058", "Lunar New Years Day");

		lh.addStaticHoliday ("25-JAN-2058", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("28-JAN-2058", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2058", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2058", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2058", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2058", "May Day");

		lh.addStaticHoliday ("24-JUN-2058", "Bridging Day");

		lh.addStaticHoliday ("25-JUN-2058", "Dragon Boat Festival");

		lh.addStaticHoliday ("02-OCT-2058", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2058", "National Day");

		lh.addStaticHoliday ("01-JAN-2059", "New Years Day");

		lh.addStaticHoliday ("10-FEB-2059", "Bridging Day");

		lh.addStaticHoliday ("11-FEB-2059", "Lunar New Years Eve");

		lh.addStaticHoliday ("12-FEB-2059", "Lunar New Years Day");

		lh.addStaticHoliday ("13-FEB-2059", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("14-FEB-2059", "Third Day of Lunar New Year");

		lh.addStaticHoliday ("28-FEB-2059", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2059", "Childrens Day");

		lh.addStaticHoliday ("01-MAY-2059", "May Day");

		lh.addStaticHoliday ("10-OCT-2059", "National Day");

		lh.addStaticHoliday ("01-JAN-2060", "New Years Day");

		lh.addStaticHoliday ("02-FEB-2060", "Lunar New Years Eve Observed");

		lh.addStaticHoliday ("03-FEB-2060", "Lunar New Years Day Observed");

		lh.addStaticHoliday ("04-FEB-2060", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("05-FEB-2060", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("06-FEB-2060", "Bridging Day");

		lh.addStaticHoliday ("03-JUN-2060", "Dragon Boat Festival");

		lh.addStaticHoliday ("04-JUN-2060", "Bridging Day");

		lh.addStaticHoliday ("09-SEP-2060", "Moon Festival Day");

		lh.addStaticHoliday ("10-SEP-2060", "Bridging Day");

		lh.addStaticHoliday ("20-JAN-2061", "Lunar New Years Eve");

		lh.addStaticHoliday ("21-JAN-2061", "Lunar New Years Day");

		lh.addStaticHoliday ("24-JAN-2061", "Second Day of Lunar New Year Observed");

		lh.addStaticHoliday ("25-JAN-2061", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2061", "Memorial Day");

		lh.addStaticHoliday ("04-APR-2061", "Tomb Sweeping Day");

		lh.addStaticHoliday ("02-MAY-2061", "May Day Observed");

		lh.addStaticHoliday ("22-JUN-2061", "Dragon Boat Festival");

		lh.addStaticHoliday ("28-SEP-2061", "Moon Festival Day");

		lh.addStaticHoliday ("10-OCT-2061", "National Day");

		lh.addStaticHoliday ("08-FEB-2062", "Lunar New Years Eve");

		lh.addStaticHoliday ("09-FEB-2062", "Lunar New Years Day");

		lh.addStaticHoliday ("10-FEB-2062", "Second Day of Lunar New Year");

		lh.addStaticHoliday ("13-FEB-2062", "Third Day of Lunar New Year Observed");

		lh.addStaticHoliday ("28-FEB-2062", "Memorial Day");

		lh.addStaticHoliday ("03-APR-2062", "Childrens Day");

		lh.addStaticHoliday ("04-APR-2062", "Tomb Sweeping Day");

		lh.addStaticHoliday ("01-MAY-2062", "May Day");

		lh.addStaticHoliday ("10-OCT-2062", "National Day");

		lh.addStandardWeekend();

		return lh;
	}
}


text:
    /*
     * Template code
     *
     * A template is just a javascript structure. An element is represented as:
     *
     * [tag_name, {attr_name:attr_value}, child1, child2]
     *
     * the children can either be strings (which act like text nodes), other templates or
     * functions (see below)
     *
     * A text node is represented as
     *
     * ["{text}", value]
     *
     * String values have a simple substitution syntax; ${foo} represents a variable foo.
     *
     * It is possible to embed logic in templates by using a function in a place where a
     * node would usually go. The function must either return part of a template or null.
     *
     * In cases where a set of nodes are required as output rather than a single node
     * with children it is possible to just use a list
     * [node1, node2, node3]
     *
     * Usage:
     *
     * render(template, substitutions) - take a template and an object mapping
     * variable names to parameters and return either a DOM node or a list of DOM nodes
     *
     * substitute(template, substitutions) - take a template and variable mapping object,
     * make the variable substitutions and return the substituted template
     *
     */

    function is_single_node(template)
    {
        return typeof template[0] === "string";
    }

    function substitute(template, substitutions)
    {
        if (typeof template === "function") {
            var replacement = template(substitutions);
            if (replacement)
            {
                var rv = substitute(replacement, substitutions);
                return rv;
            }
            else
            {
                return null;
            }
        }
        else if (is_single_node(template))
        {
            return substitute_single(template, substitutions);
        }
        else
        {
            return filter(map(template, function(x) {
                                  return substitute(x, substitutions);
                              }), function(x) {return x !== null;});
        }
    }
    expose(substitute, "template.substitute");

    function substitute_single(template, substitutions)
    {
        var substitution_re = /\${([^ }]*)}/g;

        function do_substitution(input) {
            var components = input.split(substitution_re);
            var rv = [];
            for (var i=0; i<components.length; i+=2)
            {
                rv.push(components[i]);
                if (components[i+1])
                {
                    rv.push(substitutions[components[i+1]]);
                }
            }
            return rv;
        }

        var rv = [];
        rv.push(do_substitution(String(template[0])).join(""));

        if (template[0] === "{text}") {
            substitute_children(template.slice(1), rv);
        } else {
            substitute_attrs(template[1], rv);
            substitute_children(template.slice(2), rv);
        }

        function substitute_attrs(attrs, rv)
        {
            rv[1] = {};
            for (name in template[1])
            {
                if (attrs.hasOwnProperty(name))
                {
                    var new_name = do_substitution(name).join("");
                    var new_value = do_substitution(attrs[name]).join("");
                    rv[1][new_name] = new_value;
                };
            }
        }

        function substitute_children(children, rv)
        {
            for (var i=0; i<children.length; i++)
            {
                if (children[i] instanceof Object) {
                    var replacement = substitute(children[i], substitutions);
                    if (replacement !== null)
                    {
                        if (is_single_node(replacement))
                        {
                            rv.push(replacement);
                        }
                        else
                        {
                            extend(rv, replacement);
                        }
                    }
                }
                else
                {
                    extend(rv, do_substitution(String(children[i])));
                }
            }
            return rv;
        }

        return rv;
    }

    function make_dom_single(template)
    {
        if (template[0] === "{text}")
        {
            var element = document.createTextNode("");
            for (var i=1; i<template.length; i++)
            {
                element.data += template[i];
            }
        }
        else
        {
            var element = document.createElement(template[0]);
            for (name in template[1]) {
                if (template[1].hasOwnProperty(name))
                {
                    element.setAttribute(name, template[1][name]);
                }
            }
            for (var i=2; i<template.length; i++)
            {
                if (template[i] instanceof Object)
                {
                    var sub_element = make_dom(template[i]);
                    element.appendChild(sub_element);
                }
                else
                {
                    var text_node = document.createTextNode(template[i]);
                    element.appendChild(text_node);
                }
            }
        }

        return element;
    }

    function make_dom(template, substitutions)
    {
        if (is_single_node(template))
        {
            return make_dom_single(template);
        }
        else
        {
            return map(template, function(x) {
                           return make_dom_single(x);
                       });
        }
    }

    function render(template, substitutions)
    {
        return make_dom(substitute(template, substitutions));
    }
    expose(render, "template.render");

function expose(object, name)
{
  var components = name.split(".");
  var target = window;
  for (var i=0; i<components.length - 1; i++)
  {
    if (!(components[i] in target))
    {
      target[components[i]] = {};
    }
    target = target[components[i]];
  }
  target[components[components.length - 1]] = object;
}

function extend(array, items)
{
  Array.prototype.push.apply(array, items);
}

redpajama_set_name: RedPajamaGithub


text:
/* eXist Open Source Native XML Database
 * Copyright (C) 2001-06,  Wolfgang M. Meier (wolfgang@exist-db.org)
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 *
 * $Id: EmptyNodeSet.java 6320 2007-08-01 18:01:06Z ellefj $
 */
package org.exist.dom;

import org.exist.numbering.NodeId;
import org.exist.xquery.XPathException;
import org.exist.xquery.value.Item;
import org.exist.xquery.value.SequenceIterator;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public final class EmptyNodeSet extends AbstractNodeSet {

	public final static EmptyNodeSetIterator EMPTY_ITERATOR = new EmptyNodeSetIterator();

    public NodeSetIterator iterator() {
	    return EMPTY_ITERATOR;
    }

    /* (non-Javadoc)
	 * @see org.exist.dom.NodeSet#iterate()
	 */
	public SequenceIterator iterate() throws XPathException {
		return SequenceIterator.EMPTY_ITERATOR;
	}

	/* (non-Javadoc)
	 * @see org.exist.dom.AbstractNodeSet#unorderedIterator()
	 */
	public SequenceIterator unorderedIterator() {
		return SequenceIterator.EMPTY_ITERATOR;
	}

    public boolean contains(DocumentImpl doc, long nodeId) {
	    return false;
    }

    public boolean contains(NodeProxy proxy) {
	    return false;
    }

    public boolean contains(DocumentImpl doc) {
	return false;
    }

    public boolean isEmpty() {
    	return true;
    }

    public boolean hasOne() {
    	return false;
    }

    public void add(DocumentImpl doc, long nodeId) {
    }

    public void add(Node node) {
    }

    public void add(NodeProxy proxy) {
    }

    public void addAll(NodeList other) {
    }

    public void addAll(NodeSet other) {
    }

    public void remove(NodeProxy node) {
    }

    public int getLength() {
	    return 0;
    }

    //TODO : evaluate both semantics
    public int getItemCount() {
	    return 0;
    }

    public Node item(int pos) {
	    return null;
    }

    public Item itemAt(int pos) {
    	return null;
    }

    public NodeProxy get(int pos) {
	    return null;
    }

    public NodeProxy get(DocumentImpl doc, NodeId nodeId) {
        return null;
    }

    public NodeProxy parentWithChild(DocumentImpl doc, NodeId nodeId, boolean directParent, boolean includeSelf) {
        return null;
    }

    public NodeProxy get(NodeProxy proxy) {
        return null;
    }

    public NodeSet intersection(NodeSet other) {
        return this;
    }

    public NodeSet deepIntersection(NodeSet other) {
        return this;
    }

    public NodeSet union(NodeSet other) {
        return other;
    }

    private final static class EmptyNodeSetIterator implements NodeSetIterator {

		/* (non-Javadoc)
		 * @see java.util.Iterator#remove()
		 */
		public void remove() {
		}

		/* (non-Javadoc)
		 * @see java.util.Iterator#hasNext()
		 */
		public boolean hasNext() {
			return false;
		}

		/* (non-Javadoc)
		 * @see java.util.Iterator#next()
		 */
		public Object next() {
			return null;
		}

        public NodeProxy peekNode() {
            return null;
        }

        public void setPosition(NodeProxy proxy) {
        }

        public String toString() {
            StringBuffer result = new StringBuffer();
            result.append("Empty#").append(super.toString());
            return result.toString();
        }

	}
}


text:
package org.apache.beam.sdk.io.gcp.spanner;

import com.google.auto.value.AutoValue;
import com.google.cloud.spanner.BatchReadOnlyTransaction;
import com.google.cloud.spanner.Options;
import com.google.cloud.spanner.Options.RpcPriority;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.SpannerException;
import com.google.cloud.spanner.Struct;
import com.google.cloud.spanner.TimestampBound;
import org.apache.beam.runners.core.metrics.ServiceCallMetric;
import org.apache.beam.sdk.Pipeline;
import org.apache.beam.sdk.transforms.DoFn;
import org.apache.beam.sdk.transforms.PTransform;
import org.apache.beam.sdk.transforms.ParDo;
import org.apache.beam.sdk.values.PCollection;
import org.apache.beam.sdk.values.PCollectionView;
import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.annotations.VisibleForTesting;
import org.checkerframework.checker.nullness.qual.Nullable;

/** A naive version of Spanner read that doesn't use the Batch API. */
@VisibleForTesting
@AutoValue
@SuppressWarnings({
  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
abstract class NaiveSpannerRead
    extends PTransform<PCollection<ReadOperation>, PCollection<Struct>> {

  public static NaiveSpannerRead create(
      SpannerConfig spannerConfig,
      PCollectionView<Transaction> txView,
      TimestampBound timestampBound) {
    return new AutoValue_NaiveSpannerRead(spannerConfig, txView, timestampBound);
  }

  abstract SpannerConfig getSpannerConfig();

  abstract @Nullable PCollectionView<Transaction> getTxView();

  abstract TimestampBound getTimestampBound();

  @Override
  public PCollection<Struct> expand(PCollection<ReadOperation> input) {
    PCollectionView<Transaction> txView = getTxView();
    if (txView == null) {
      Pipeline begin = input.getPipeline();
      SpannerIO.CreateTransaction createTx =
          SpannerIO.createTransaction()
              .withSpannerConfig(getSpannerConfig())
              .withTimestampBound(getTimestampBound());
      txView = begin.apply(createTx);
    }

    return input.apply(
        "Naive read from Cloud Spanner",
        ParDo.of(new NaiveSpannerReadFn(getSpannerConfig(), txView)).withSideInputs(txView));
  }

  private static class NaiveSpannerReadFn extends DoFn<ReadOperation, Struct> {

    private final SpannerConfig config;
    private final @Nullable PCollectionView<Transaction> txView;
    private transient SpannerAccessor spannerAccessor;

    NaiveSpannerReadFn(SpannerConfig config, @Nullable PCollectionView<Transaction> transaction) {
      this.config = config;
      this.txView = transaction;
    }

    @Setup
    public void setup() throws Exception {
      spannerAccessor = SpannerAccessor.getOrCreate(config);
    }

    @Teardown
    public void teardown() throws Exception {
      spannerAccessor.close();
    }

    @ProcessElement
    public void processElement(ProcessContext c) throws Exception {
      Transaction tx = c.sideInput(txView);
      ReadOperation op = c.element();
      ServiceCallMetric serviceCallMetric =
          SpannerIO.ReadAll.buildServiceCallMetricForReadOp(config, op);
      BatchReadOnlyTransaction context =
          spannerAccessor.getBatchClient().batchReadOnlyTransaction(tx.transactionId());
      try (ResultSet resultSet = execute(op, context)) {
        while (resultSet.next()) {
          c.output(resultSet.getCurrentRowAsStruct());
        }
      } catch (SpannerException e) {
        serviceCallMetric.call(e.getErrorCode().getGrpcStatusCode().toString());
        throw (e);
      }
      serviceCallMetric.call("ok");
    }

    private ResultSet execute(ReadOperation op, BatchReadOnlyTransaction readOnlyTransaction) {
      RpcPriority rpcPriority = SpannerConfig.DEFAULT_RPC_PRIORITY;
      if (config.getRpcPriority() != null && config.getRpcPriority().get() != null) {
        rpcPriority = config.getRpcPriority().get();
      }
      if (op.getQuery() != null) {
        return readOnlyTransaction.executeQuery(op.getQuery(), Options.priority(rpcPriority));
      }
      if (op.getIndex() != null) {
        return readOnlyTransaction.readUsingIndex(
            op.getTable(),
            op.getIndex(),
            op.getKeySet(),
            op.getColumns(),
            Options.priority(rpcPriority));
      }
      return readOnlyTransaction.read(
          op.getTable(), op.getKeySet(), op.getColumns(), Options.priority(rpcPriority));
    }
  }
}


text:
using std::vector;

#include <dnn/contrib/pbjson/pbjson.hpp>
#include <dnn/contrib/rapidjson/stringbuffer.h>
#include <dnn/contrib/rapidjson/prettywriter.h>
#include <dnn/contrib/rapidjson/error/en.h>

#include <dnn/util/distributions.h>

#include <google/protobuf/message.h>

namespace dnn {

class Json {
private:
	static bool __getDoubleVal(const Value &v, const string name, double &d) {
		const Value &f_v = getVal(v, name);
		if (f_v.IsDouble()) {
			d = f_v.GetDouble();
			return true;
		}
		if(f_v.IsUint()) {
			d = f_v.GetUint();
			return true;
		}
		if (f_v.IsString()) {
			uptr<Distribution<double>> distr = parseDistribution<double>(f_v.GetString());
			d = distr->getSample();
			return true;
		}
		return false;
	}
	static bool __getStringVal(const Value &v, const string name, string &d) {
		const Value &f_v = getVal(v, name);
		if (f_v.IsString()) {
			d = f_v.GetString();
			return true;
		}
		return false;
	}
	static bool __getBoolVal(const Value &v, const string name, bool &d) {
		const Value &f_v = getVal(v, name);
		if (f_v.IsBool()) {
			d = f_v.GetBool();
			return true;
		}
		return false;
	}
public:
	static const Value& getVal(const Value &v, const string name) {
		auto m = v.FindMember(name.c_str());
		if (m == v.MemberEnd()) {
			throw dnnException()<< "Errors while finding field: " << name << "\n";
		}
		return m->value;
	}

	static bool checkVal(const Value &v, const string name) {
		return v.FindMember(name.c_str()) != v.MemberEnd();
	}

	static double getDoubleVal(const Value &v, const string name) {
		double d;
		if (__getDoubleVal(v, name, d)) {
			return d;
		}
		throw dnnException()<< name << " expected as double\n";
	}

	static double getDoubleValDef(const Value &v, const string name, double def) {
		if (!checkVal(v, name)) return def;
		double d;
		if (__getDoubleVal(v, name, d)) {
			return d;
		}
		return def;
	}

	static string getStringVal(const Value &v, const string name) {
		string s;
		if (__getStringVal(v, name, s)) {
			return s;
		}
		throw dnnException()<< name << " expected as string\n";
	}
	static bool getBoolVal(const Value &v, const string name) {
		bool s;
		if (__getBoolVal(v, name, s)) {
			return s;
		}
		throw dnnException()<< name << " expected as bool\n";
	}

	static string getStringValDef(const Value &v, const string name, string def) {
		if (!checkVal(v, name)) return def;
		string s;
		if (__getStringVal(v, name, s)) {
			return s;
		}
		return def;
	}

	static size_t getUintVal(const Value &v, const string name) {
		const Value &f_v = getVal(v, name);
		if (f_v.IsUint()) {
			return f_v.GetUint();
		}
		throw dnnException()<< name << " expected as uint\n";
	}
	static size_t getIntVal(const Value &v, const string name) {
		const Value &f_v = getVal(v, name);
		if (f_v.IsInt()) {
			return f_v.GetInt();
		}
		throw dnnException()<< name << " expected as int\n";
	}

	static Value getArray(const Value &v, const string name) {
		Value f_v;
		const Value &f_src = getVal(v, name);
		f_v.CopyFrom(f_src, d.GetAllocator());
		if (f_v.IsArray()) {
			return f_v;
		}
		Value f_v_arr(kArrayType);
		f_v_arr.PushBack(f_v, d.GetAllocator());
		return f_v_arr;
	}

	static vector<size_t> getUintVector(const Value &v, const string name) {
		vector<size_t> ret;
		const Value &f_v = getArray(v, name);
		for (SizeType i = 0; i < f_v.Size(); i++) {
			if (!f_v[i].IsUint()) {
				throw dnnException()<< "Element " << i << " of " << name << " is not an uint type\n";
			}
			ret.push_back(f_v[i].GetUint());
		}
		return ret;
	}
	static string stringify(const Value &v) {
		StringBuffer buffer;
		PrettyWriter<StringBuffer> writer(buffer);
		v.Accept(writer);
		return string(buffer.GetString());
	}
	static Document* parseProtobuf(google::protobuf::Message* mess) {
		Document *document = new Document;
		rapidjson::Value* v = pbjson::pb2jsonobject(mess, document->GetAllocator());
		string str = Json::stringify(*v); // hack, because of bad library pbjson

		document->Parse(str.c_str());
		return document;
	}

	static void getRidOfComments(string &inp_s) {
		string acc;
		vector<string> lines = split(inp_s, '\n');
		for (auto s : lines) {
			{
				vector<string> subs = splitBySubstr(s, "//");
				if (subs.size() > 0) s = subs[0];
			}
			{
				vector<string> subs = splitBySubstr(s, "#");
				if (subs.size() > 0) s = subs[0];
			}
			acc += s + string("\n");
		}
		inp_s = acc;
	}
	static Document parseStringC(const string &p) {
		Document document;

		document.Parse(p.c_str());

		if (document.HasParseError()) {
			vector<string> spl = split(p, '\n');
			int offset = document.GetErrorOffset();
			size_t line_num = 0;
			while (line_num < spl.size()) {
				cout << line_num + 1 << ": " <<  spl[line_num]  << "\n";
				if ( (offset - (int)spl[line_num].size()) < 0 ) { cout << " == somewhere in that structure an error\n"; break; }
				offset -= spl[line_num].size();
				line_num++;
			}
			throw dnnException() << "Parse JSON error:\n"
							     << GetParseError_En(document.GetParseError()) << line_num + 1 << ":" << offset << "\n";
		}
		return document;
	}

	static void aggregateSubst(const Value &parsed, vector<string> &stack, map<string, Value> &values) {
		for (Value::ConstMemberIterator itr = parsed.MemberBegin(); itr != parsed.MemberEnd(); ++itr) {
			if (itr->value.IsObject()) {
				stack.push_back(itr->name.GetString());
				aggregateSubst(itr->value, stack, values);
				stack.pop_back();
			} else
			if (itr->value.IsArray()) {
				// ignoring arrays
			} else {
				stack.push_back(itr->name.GetString());
				stringstream res;
				std::copy(stack.begin(), stack.end(), std::ostream_iterator<string>(res, "/"));
				Value v;
				v.CopyFrom(itr->value, d.GetAllocator());
				string s = res.str();

				size_t endpos = s.find_last_not_of("/");
				if( string::npos != endpos ) {
    				s = s.substr( 0, endpos+1 );
				}
				values[s] = std::move(v);
				stack.pop_back();
			}
		}
	}
	static void applySubst(Value &v, const map<string, Value> &values) {
		for (Value::MemberIterator itr = v.MemberBegin(); itr != v.MemberEnd(); ++itr) {
			if (itr->value.IsObject()) {
				applySubst(itr->value, values);
			} else
			if (itr->value.IsString()) {
				auto sub_ptr = values.find(itr->value.GetString());
				if (sub_ptr != values.end()) {
					itr->value.CopyFrom(sub_ptr->second, d.GetAllocator());
				}
			}
		}
	}
	static Document parseString(string &p) {
		getRidOfComments(p);
		Document parsed = parseStringC(p);
		vector<string> stack;
		map<string, Value> values;
		aggregateSubst(parsed, stack, values);
		applySubst(parsed, values);
		return parsed;
	}
	static void JsonToProtobuf(const Value &v, ProtoMessagePtr m) {
		Document d;
		Value cv;
		cv.CopyFrom(v, d.GetAllocator());
		for (Value::MemberIterator itr = cv.MemberBegin(); itr != cv.MemberEnd(); ++itr) {
	        const google::protobuf::Descriptor* descriptor = m->GetDescriptor();
	        const google::protobuf::FieldDescriptor* field_descr = descriptor->FindFieldByName(itr->name.GetString());

	        if(!field_descr) {
	        	continue;
	        }
	        if( (field_descr->type() == google::protobuf::FieldDescriptor::TYPE_DOUBLE) && (itr->value.IsString()) ) {
				uptr<Distribution<double>> distr = parseDistribution<double>(itr->value.GetString());
				itr->value = Value(distr->getSample());
			}
		}
		string err;
		pbjson::jsonobject2pb(&cv, m, err);
		if (!err.empty()) {
			throw dnnException()<< "Found errors while converting json to protobuf:\n";
			throw dnnException()<< err << "\n";
		}
	}
	static const Value makeDocument(const string &key, const Value &v) {
		Value cv(kObjectType);
		Value copy_v;
		copy_v.CopyFrom(v, d.GetAllocator());
		cv.AddMember(StringRef(key.c_str()), copy_v, d.GetAllocator());
		return cv;
	}

	static Document d;
};

}


text:
window.onload = function(){

    //Start mobile console and pass height (optional) per parameter.
    //$mConsole.init(250);
    $mConsole.init();

    //Execute console
    console.log($mConsole.version);
    console.log("My log");
    console.warn("My warning");
    console.info("My info");
    console.debug("My debug");

    //Proposital error
    myErrorVar;
};


text:
-- phpMyAdmin SQL Dump
-- version 4.6.2
-- https://www.phpmyadmin.net/
--
-- Host: localhost
-- Generation Time: Dec 12, 2016 at 04:33 PM
-- Server version: 5.6.29-log
-- PHP Version: 5.6.22

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `vanister_oc3`
--

-- --------------------------------------------------------

--
-- Table structure for table `c_users`
--

CREATE TABLE `c_users` (
  `id` int(11) NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `username` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `permission` int(11) NOT NULL,
  `signup_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `c_users_options`
--

CREATE TABLE `c_users_options` (
  `id` int(11) NOT NULL,
  `user_id` int(11) DEFAULT NULL,
  `avatar` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'assets/media/default_avatar.png'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `c_users`
--
ALTER TABLE `c_users`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `c_users_options`
--
ALTER TABLE `c_users_options`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `c_users`
--
ALTER TABLE `c_users`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- Constraints for dumped tables
--

--
-- Constraints for table `c_users_options`
--
ALTER TABLE `c_users_options`
  ADD CONSTRAINT `c_users_options_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `c_users` (`id`);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


text: Secret project of fun


text:
/*
const shortId = require('shortid');
const lowdb = require('lowdb');
const db = lowdb('db.json');
const User = require('./User.js');

var pg = require('pg');
var conString = "postgres://admin:admin@localhost:5432/YourDatabase";

var client = new pg.Client(conString);
client.connect();

//queries are queued and executed one after another once the connection becomes available
var x = 1000;

while (x > 0) {
    client.query("INSERT INTO junk(name, a_number) values('Ted',12)");
    client.query("INSERT INTO junk(name, a_number) values($1, $2)", ['John', x]);
    x = x - 1;
}

var query = client.query("SELECT * FROM junk");
//fired after last row is emitted

query.on('row', function(row) {
    console.log(row);
});

query.on('end', function() {
    client.end();
});

db.defaults({ users: [], collaborations: [], answers: [] })
  .write();

const getAnswers = () => db.get('answers');

function Answer(props) {
  if(props) {
    this._id = props._id || null;
    this.collaborationId = props.collaborationId;
    this.user = props.user;
    this.scrambledUser = props.scrambledUser;
    this.questionId = props.questionId;
    this.prompt = props.prompt;
    this.text = props.text;
  }

  this._getProps = () => {
    return {
      _id: this._id,
      collaborationId: this.collaborationId,
      user: this.user,
      scrambledUser: this.scrambledUser,
      questionId: this.questionId,
      prompt: this.prompt,
      text: this.text
    };
  }

  this.save = () => {
    if(!this._id) {
      this._id = shortId.generate();
      User.findOne({ _id: this.user }).exec().then(user => {
        this.user = user;
        getAnswers().push(this._getProps()).write();
      });
    } else {
      console.log('Saving');
      console.log(this._getProps());
      User.findOne({ _id: this.scrambledUser }).exec().then(user => {
        this.scrambledUser = user;
        getAnswers().find({_id: this.id}).assign(this._getProps()).write();
      });
    }
  }

  this._find = (filter) => {
    this.query = getAnswers().filter(filter);
    return this;
  }

  this.sort = (sortBy) => {
    console.log('sorting');
    try
    {
    this.query = this.query.sortBy('questionId');

    }
    catch(e) {
      console.log(e);
    }
    return this;
  }

  this.populate = (propertyName) => {
    console.log('populate');
    return this;
  }

  this.exec = () => {
    console.log('Exec');
    let result = this.query.value().map(v => new Answer(v));
    console.log(result);
    return Promise.resolve(result);
  }
}

Answer.find = function(filter) {
  var q = new Answer();
  return q._find(filter);
}

module.exports = Answer;

*/

const mongoose = require('mongoose');

const Schema = mongoose.Schema;
const AnswerSchema = new Schema({
  collaborationId: String,
  user: {type: Schema.Types.ObjectId, ref: 'User'},
  scrambledUser: {type: Schema.Types.ObjectId, ref: 'User'},
  questionId: Number,
  prompt: String,
  text: String
  },{
    timestamps: true,
  });

const AnswerModel = mongoose.model('Answer', AnswerSchema);
module.exports = AnswerModel;


text:
package com.urielsarrazin.ppc;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
import static org.springframework.util.ReflectionUtils.findMethod;

import com.urielsarrazin.ppc.core.BreathingMix;
import java.util.Map;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.shell.MethodTarget;
import org.springframework.shell.Shell;
import org.springframework.shell.jline.InteractiveShellApplicationRunner;
import org.springframework.shell.jline.ScriptShellApplicationRunner;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@ActiveProfiles("test")
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(properties = {
    InteractiveShellApplicationRunner.SPRING_SHELL_INTERACTIVE_ENABLED + "=false",
    ScriptShellApplicationRunner.SPRING_SHELL_SCRIPT + ".enabled=false"
})
public class CommandIntegrationTest {

    @Autowired
    private Shell shell;

    @Test
    public void testAdd() {
      Map<String, MethodTarget> commands = shell.listCommands();
      MethodTarget methodTarget = commands.get("gas-partial-pressure");
      assertThat(methodTarget, notNullValue());
      assertThat(methodTarget.getGroup(), is("Physical Commands"));
      assertThat(methodTarget.getHelp(), is("Calculate partial pressure of breathing mix components by depth."));
      assertThat(methodTarget.getMethod(), is(findMethod(Command.class, "gasPartialPressure", BreathingMix.class)));
      assertThat(methodTarget.getAvailability().isAvailable(), is(true));
    }
}


text:
from lxml.builder import ElementMaker

from casexml.apps.stock import const

def XML(ns=const.COMMTRACK_REPORT_XMLNS, prefix=None):
    prefix_map = None
    if prefix:
        prefix_map = {prefix: ns}
    return ElementMaker(namespace=ns, nsmap=prefix_map)


text:
import React, {Component, PropTypes} from 'react';
import OutsideClick from '../common/OutsideClick/OutsideClick';
import {months} from '../../utils/dates';
import './DateInput.scss';

const setTwoDigits = number => {
  const num = number / 1;
  const result = number < 10 ? `0${num}` : num;
  return result;
};

class DateInput extends Component {
  constructor(props) {
    super(props);
    this.handleOnChange = this.handleOnChange.bind(this);
    this.handleOnClickButton = this.handleOnClickButton.bind(this);
    this.handleOnClickPrev = this.handleOnClickPrev.bind(this);
    this.handleOnClickNext = this.handleOnClickNext.bind(this);
    this.handleOutsideClick = this.handleOutsideClick.bind(this);
    this.handleOnBlurButton = this.handleOnBlurButton.bind(this);
    this.handleOnClickDay = this.handleOnClickDay.bind(this);
    this.state = {
      isOpen: false
    };
  }

  isSeparator(value, i) {
    const isSeparator = (value.length === i) && (value[i - 1] !== '/');
    return isSeparator;
  }

  handleOnChange(e) {
    e.stopPropagation();
    const {changeHandler} = this.props;
    const datePattern = /^\d{2}[/-]\d{2}[/-]\d{4}/;
    const targetValue = e.target.value;
    const value = datePattern.exec(targetValue);
    const selStart = e.target.selectionStart;
    if (value) {
      const isoDate = (new Date(value)).toISOString();
      changeHandler(isoDate);
    } else if (this.isSeparator(targetValue, 2) || this.isSeparator(targetValue, 5)) {
      e.target.value += '/';
    } else if (targetValue.length === 3 && selStart === 2) {
      e.target.setSelectionRange(3, 3);
    } else if (targetValue.length === 6 && selStart === 5) {
      e.target.setSelectionRange(6, 6);
    }
  }

  handleOnClickButton() {
    const {isOpen} = this.state;
    this.setState({isOpen: !isOpen});
  }

  handleOnBlurButton(e) {
    const relatedTarget = e.relatedTarget;
    const isBlurringOut = relatedTarget && (!relatedTarget.classList.contains('date-input__calendar-day') &&
                                            !relatedTarget.classList.contains('date-input__month-nav'));
    isBlurringOut && this.handleOutsideClick();
  }

  handleOnClickNext(e) {
    e.stopPropagation();
    const {date} = this.state;
    const year = date.getFullYear();
    const monthIndex = date.getMonth();
    let newMonthIndex = monthIndex + 1;
    const newDate = new Date(date.toISOString());
    newDate.setMonth(newMonthIndex);
    let newYear = year;
    if (monthIndex > 11) {
      newYear = year + 1;
      newMonthIndex = 0;
      newDate.setMonth(newMonthIndex);
      newDate.setFullYear(newYear);
    }
    this.setState({date: newDate});
  }

  handleOnClickPrev(e) {
    e.stopPropagation();
    const {date} = this.state;
    const year = date.getFullYear();
    const monthIndex = date.getMonth();
    let newMonthIndex = monthIndex - 1;
    const newDate = new Date(date.toISOString());
    newDate.setMonth(newMonthIndex);
    let newYear = year;
    if (!monthIndex) {
      newYear = year - 1;
      newMonthIndex = 11;
      newDate.setMonth(newMonthIndex);
      newDate.setFullYear(newYear);
    }
    this.setState({date: newDate});
  }

  handleOnClickDay(e) {
    e.stopPropagation();
    const {date} = this.state;
    const day = e.target.textContent;
    date.setDate(day);
    this.setState({date});
    this.input.value = this.formatDate(date.toISOString());
    const isoDate = date.toISOString();
    this.props.changeHandler(isoDate);
    this.handleOutsideClick();
  }
  handleOutsideClick() {
    const {isOpen} = this.state;
    isOpen && this.setState({isOpen: false});
  }

  formatDate(isoDate) {
    const date = new Date(isoDate);
    const day = setTwoDigits(date.getDate());
    const month = setTwoDigits(date.getMonth() + 1);
    const year = date.getFullYear();
    return `${day}/${month}/${year}`;
  }

  getMonthHeader() {
    const {date} = this.state;
    const month = months[date.getMonth()].name;
    const year = date.getFullYear();
    return (
      {`${month} ${year}`}
    );
  }

  layRemainingDays(days, startingLabel) {
    const fullWeek = [0, 1, 2, 3, 4, 5, 6];
    const rowCount = (days.length / 7 > 4) ? 4 : 3;
    const midWeekRows = (new Array(rowCount)).fill(1);
    const midRows = midWeekRows.map((mw, ri) => (

        {fullWeek.map((d, i) => <button className="date-input__calendar-day boxed" key={`${ri}${i}`}>
          {startingLabel + 7 * ri + i}
        </button>)}

    ));
    days.splice(0, rowCount * 7);
    let lastRow = null;
    if (days.length) {
      const hiddenDayCount = 7 - days.length;
      const hiddenDays = (new Array(hiddenDayCount)).fill(1);
      const dayLabel = startingLabel + 7 * rowCount;
      lastRow = (

          {days.map((d, i) => <button className="date-input__calendar-day boxed" key={`l${i}`}>
            {dayLabel + i}
          </button>)}
          {hiddenDays.map((d, i) => <div className="date-input__calendar-day hidden" key={`v5${i}`} />) }

      );
    }
    return [midRows, lastRow];
  }

  layMonthDays() {
    const {date} = this.state;
    const month = months[date.getMonth()].name;
    const year = date.getFullYear();
    const monthDate = new Date(date.toISOString());
    monthDate.setDate(1);
    const hiddenDays = (new Array(monthDate.getDay())).fill(1);
    const visibleDays = (new Array(7 - monthDate.getDay())).fill(1);
    let dayCount = months.filter(m => m.name === month)[0].dayCount;
    const isLeapYear = !(year % 4);
    dayCount = (month === 'February' && isLeapYear) ? dayCount + 1 : dayCount;
    const remainingDayCount = dayCount - visibleDays.length;
    const remainingDays = (new Array(remainingDayCount)).fill(1);
    return (

          {hiddenDays.map((d, i) =>
)}
          {visibleDays.map((d, i) => <button className="date-input__calendar-day boxed" key={`v1${i}`} >
            {i + 1}
          </button>)}

        {this.layRemainingDays(remainingDays, visibleDays.length + 1)}

    );
  }

  componentWillMount() {
    const propValue = this.props.value;
    const date = propValue ? new Date(propValue) : new Date();
    this.setState({date});
  }

  renderCalendar() {
    return (

          <button className="date-input__month-nav" onClick={this.handleOnClickPrev}>

          </button>

            {this.getMonthHeader()}

          <button className="date-input__month-nav" onClick={this.handleOnClickNext}>

          </button>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

          {this.layMonthDays()}

    );
  }

  render() {
    const {isOpen, date} = this.state;
    const {name, id, disabled} = this.props;
    const formattedDate = this.formatDate(date.toISOString());
    return (
      <OutsideClick className="date-input__outside-click" onClick={this.handleOutsideClick}>
        <div className={`date-input${isOpen ? ' date-input--open' : ''}`}>

            <input
              id={id}
              name={name}
              ref={c => { if (c) { this.input = c; } }}
              className="date-input__input"
              placeholder="dd/mm/yyyy"
              defaultValue={formattedDate}
              disabled={disabled}
              onChange={this.handleOnChange} />
            <button
              className="date-input__calendar-button"
              onClick={this.handleOnClickButton}
              onBlur={this.handleOnBlurButton}
              disabled={disabled}>

            </button>

          {this.renderCalendar()}

      </OutsideClick>
    );
  }
}

DateInput.propTypes = {
  name: PropTypes.string.isRequired,
  value: PropTypes.string,
  disabled: PropTypes.bool,
  id: PropTypes.string,
  changeHandler: PropTypes.func.isRequired
};

export default DateInput;


text:
module Pos.DB.Lrc.Leaders
       (
         -- * Getters
         getLeadersForEpoch
       , getLeader

       -- * Operations
       , putLeadersForEpoch

       -- * Initialization
       , prepareLrcLeaders

       -- * Helpers
       , hasLeaders
       ) where

import           Universum

import           Pos.Binary.Class (serialize')
import           Pos.Chain.Genesis as Genesis (Config, configEpochSlots)
import           Pos.Chain.Lrc (genesisLeaders)
import           Pos.Core (EpochIndex, SlotCount, SlotId (SlotId), SlotLeaders,
                     StakeholderId, flattenSlotId, unsafeMkLocalSlotIndex)
import           Pos.DB.Class (MonadDB, MonadDBRead)
import           Pos.DB.Lrc.Common (dbHasKey, getBi, putBatch, putBatchBi,
                     putBi, toRocksOps)

----------------------------------------------------------------------------
-- Getters
----------------------------------------------------------------------------

getLeadersForEpoch :: MonadDBRead m => EpochIndex -> m (Maybe SlotLeaders)
getLeadersForEpoch = getBi . leadersForEpochKey

getLeader :: MonadDBRead m => SlotCount -> SlotId -> m (Maybe StakeholderId)
getLeader epochSlots = getBi . leaderKey epochSlots

----------------------------------------------------------------------------
-- Operations
----------------------------------------------------------------------------

-- | Put leaders for all slots in the specified epoch in the DB.
-- The DB contains two mappings:
-- * EpochIndex -> SlotLeaders
-- * SlotId -> StakeholderId (added in CSE-240)
putLeadersForEpoch :: MonadDB m => SlotCount -> EpochIndex -> SlotLeaders -> m ()
putLeadersForEpoch epochSlots epoch leaders = do
    let opsAllAtOnce  = toRocksOps $ putLeadersForEpochAllAtOnceOps epoch leaders
        opsSeparately = toRocksOps $ putLeadersForEpochSeparatelyOps epochSlots epoch leaders
    putBatch $ opsAllAtOnce <> opsSeparately

----------------------------------------------------------------------------
-- Initialization
----------------------------------------------------------------------------

prepareLrcLeaders :: MonadDB m => Genesis.Config -> m ()
prepareLrcLeaders genesisConfig =
    -- Initialization flag was added with CSE-240.
    unlessM isLrcDbInitialized $ do
        hasLeadersForEpoch0 <- hasLeaders 0
        if not hasLeadersForEpoch0 then
            -- The node is not initialized at all. Only need to put leaders
            -- for the first epoch.
            putLeadersForEpoch epochSlots 0 (genesisLeaders genesisConfig)
        else
            -- The node was initialized before CSE-240.
            -- Need to migrate data for all epochs.
            initLeaders 0
        putInitFlag
  where
    epochSlots = configEpochSlots genesisConfig
    initLeaders :: MonadDB m => EpochIndex -> m ()
    initLeaders i = do
        maybeLeaders <- getLeadersForEpoch i
        case maybeLeaders of
            Just leaders -> do
                putBatchBi $ putLeadersForEpochSeparatelyOps epochSlots i leaders
                initLeaders (i + 1)
            Nothing -> pure ()

isLrcDbInitialized :: MonadDB m => m Bool
isLrcDbInitialized = dbHasKey lrcDbLeadersInitFlag

putInitFlag :: MonadDB m => m ()
putInitFlag = putBi lrcDbLeadersInitFlag ()

----------------------------------------------------------------------------
-- Keys
----------------------------------------------------------------------------

leadersForEpochKey :: EpochIndex -> ByteString
leadersForEpochKey = mappend "l/" . serialize'

leaderKey :: SlotCount -> SlotId -> ByteString
leaderKey epochSlots = mappend "ls/" . serialize' . flattenSlotId epochSlots

lrcDbLeadersInitFlag :: ByteString
lrcDbLeadersInitFlag = "linit/"

----------------------------------------------------------------------------
-- Helpers
----------------------------------------------------------------------------

hasLeaders :: MonadDBRead m => EpochIndex -> m Bool
hasLeaders = dbHasKey . leadersForEpochKey

putLeadersForEpochAllAtOnceOps
    :: EpochIndex
    -> SlotLeaders
    -> [(ByteString, SlotLeaders)]
putLeadersForEpochAllAtOnceOps epoch leaders =
    [(leadersForEpochKey epoch, leaders)]

putLeadersForEpochSeparatelyOps
    :: SlotCount
    -> EpochIndex
    -> SlotLeaders
    -> [(ByteString, StakeholderId)]
putLeadersForEpochSeparatelyOps epochSlots epoch leaders =
    [(leaderKey epochSlots $ mkSlotId epoch i, leader)
    | (i, leader) <- zip [0..] $ toList leaders]
  where
    mkSlotId :: EpochIndex -> Word16 -> SlotId
    mkSlotId epoch' slot =
        -- Using @unsafeMkLocalSlotIndex@ because we trust the callers.
        SlotId epoch' (unsafeMkLocalSlotIndex epochSlots slot)


text:
// This file was generated by Mendix Studio Pro.
//
// WARNING: Only the following code will be retained when actions are regenerated:
// - the import list
// - the code between BEGIN USER CODE and END USER CODE
// - the code between BEGIN EXTRA CODE and END EXTRA CODE
// Other code you write will be lost the next time you deploy the project.
// Special characters, e.g., é, ö, à, etc. are supported in comments.

package communitycommons.actions;

import com.mendix.core.Core;
import com.mendix.systemwideinterfaces.core.IContext;
import com.mendix.systemwideinterfaces.core.ISession;
import com.mendix.webui.CustomJavaAction;
import com.mendix.systemwideinterfaces.core.IMendixObject;

/**
 * This function commits an object in a seperate context and transaction, making sure it gets persisted in the database (regarding which exception happens after invocation).
 */
public class commitInSeparateDatabaseTransaction extends CustomJavaAction<java.lang.Boolean>
{
	private IMendixObject mxObject;

	public commitInSeparateDatabaseTransaction(IContext context, IMendixObject mxObject)
	{
		super(context);
		this.mxObject = mxObject;
	}

	@java.lang.Override
	public java.lang.Boolean executeAction() throws Exception
	{
		// BEGIN USER CODE
		ISession session = getContext().getSession();
		IContext newContext = session.createContext();
		Core.commit(newContext, mxObject);
		newContext.endTransaction();
		return true;
		// END USER CODE
	}

	/**
	 * Returns a string representation of this action
	 */
	@java.lang.Override
	public java.lang.String toString()
	{
		return "commitInSeparateDatabaseTransaction";
	}

	// BEGIN EXTRA CODE
	// END EXTRA CODE
}


text:
package org.fastcatsearch.util;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.apache.commons.io.FileUtils;

public class CoreFileUtils {
	public static void removeDirectoryCascade(File dirNumber) throws IOException {
		//FileUtils.deleteDirectory(dirNumber);
		try {
			FileUtils.forceDelete(dirNumber);
			File dir = dirNumber.getParentFile();
			String num = dirNumber.getName();
			int i = Integer.parseInt(num) + 1;
			while (i <= Integer.MAX_VALUE) {
				File f = new File(dir, Integer.toString(i));
				if (f.exists()) {
					//FileUtils.deleteDirectory(f);
					FileUtils.forceDelete(f);
					i++;
				} else {
					// 순차번호이므로 없으면 loop 탈출.
					break;
				}
			}
		} catch (FileNotFoundException ignore) {
		} catch (NumberFormatException ignore) {
		}
	}
}


text:
/**
 * @fileoverview Frisby externs.
 */

/**
 * @constructor
 */
function frisby() {}

/**
 * @param {string} name
 * @return {!frisby}
 */
frisby.create = function(name) {};

/**
 * @param {{
 *   timeout: (number|undefined),
 *   request: {
 *     rejectUnauthorized: (boolean|undefined)
 *   }
 * }} arg
 */
frisby.globalSetup = function(arg) {};

/**
 * @param {Function} callback
 * @return {!frisby}
 */
frisby.prototype.after = function(callback) {};

/**
 * @param {string} url
 * @param {*} data
 * @param {Object=} options
 */
frisby.prototype.post = function(url, data, options) {};

/**
 * @param {string} url
 * @param {Object=} options
 */
frisby.prototype.get = function(url, options) {};

/**
 * @param {number} status
 * @return {!frisby}
 */
frisby.prototype.expectStatus = function(status) {};

frisby.prototype.toss = function() {};