// Path: src/main/java/com/github/sunnybat/paxchecker/DataTracker.java
// public class DataTracker {
// 
// 	private static long dataUsed;
// 
// 	/**
// 	 * Adds an amount of data (in bytes) used by the program. This should be called whenever a network
// 	 * connection is made.
// 	 *
// 	 * @param data The amount of data (in bytes) to add to the total data used
// 	 */
// 	public static synchronized void addDataUsed(long data) {
// 		dataUsed += data;
// 	}
// 
// 	/**
// 	 * Gets the amount of data (in bytes) used by the program.
// 	 *
// 	 * @return The amount of data (in bytes) used by the program
// 	 */
// 	public static synchronized long getDataUsed() {
// 		return dataUsed;
// 	}
// 
// 	/**
// 	 * Gets the amount of data in megabytes used by the program. Note that the double only extends out
// 	 * two decimal places.
// 	 *
// 	 * @return The amount of data in megabytes used by the program
// 	 */
// 	public static synchronized double getDataUsedMB() {
// 		return (double) ((int) ((double) getDataUsed() / 1024 / 1024 * 100)) / 100; // *100 to make the double have two extra numbers, round with typecasting to integer, then divide that by 100 and typecast to double to get a double with two decimal places
// 	}
// }
// 
// Path: src/main/java/com/github/sunnybat/paxchecker/Expo.java
// public enum Expo {
// 
// 	WEST, EAST, SOUTH, AUS;
// 
// 	@Override
// 	public String toString() {
// 		String name = super.toString();
// 		return "PAX " + name.charAt(0) + name.toLowerCase().substring(1);
// 	}
// 
// 	public static Expo parseExpo(String expo) {
// 		expo = expo.toLowerCase();
// 		if (expo.contains("prime") || expo.contains("west")) {
// 			return WEST;
// 		} else if (expo.contains("east")) {
// 			return EAST;
// 		} else if (expo.contains("south")) {
// 			return SOUTH;
// 		} else if (expo.contains("aus")) {
// 			return AUS;
// 		} else {
// 			throw new IllegalArgumentException("No expo found");
// 		}
// 	}
// }


import com.github.sunnybat.paxchecker.DataTracker;
import com.github.sunnybat.paxchecker.Expo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Set;
import java.util.TreeSet;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
package com.github.sunnybat.paxchecker.browser;


/**
 *
 * @author Sunny
 */
public class ShowclixReader {

	private static final String API_LINK_BASE = "https://api.showclix.com/";
	private static final String API_EXTENSION_SELLER = "Seller/";
	private static final String API_EXTENSION_PARTNER = "Partner/";
	private static final String API_EXTENSION_VENUE = "Venue/";
	private static final String API_EXTENSION_EVENT = "Event/";
	private static final String EVENT_LINK_BASE = "https://www.showclix.com/event/";
	private static final String EVENTS_ATTRIBUTE_LINK = "?follow[]=events";
	private boolean strictFiltering;
// Path: src/main/java/com/github/sunnybat/paxchecker/DataTracker.java
// public class DataTracker {
// 
// 	private static long dataUsed;
// 
// 	/**
// 	 * Adds an amount of data (in bytes) used by the program. This should be called whenever a network
// 	 * connection is made.
// 	 *
// 	 * @param data The amount of data (in bytes) to add to the total data used
// 	 */
// 	public static synchronized void addDataUsed(long data) {
// 		dataUsed += data;
// 	}
// 
// 	/**
// 	 * Gets the amount of data (in bytes) used by the program.
// 	 *
// 	 * @return The amount of data (in bytes) used by the program
// 	 */
// 	public static synchronized long getDataUsed() {
// 		return dataUsed;
// 	}
// 
// 	/**
// 	 * Gets the amount of data in megabytes used by the program. Note that the double only extends out
// 	 * two decimal places.
// 	 *
// 	 * @return The amount of data in megabytes used by the program
// 	 */
// 	public static synchronized double getDataUsedMB() {
// 		return (double) ((int) ((double) getDataUsed() / 1024 / 1024 * 100)) / 100; // *100 to make the double have two extra numbers, round with typecasting to integer, then divide that by 100 and typecast to double to get a double with two decimal places
// 	}
// }
// 
// Path: src/main/java/com/github/sunnybat/paxchecker/Expo.java
// public enum Expo {
// 
// 	WEST, EAST, SOUTH, AUS;
// 
// 	@Override
// 	public String toString() {
// 		String name = super.toString();
// 		return "PAX " + name.charAt(0) + name.toLowerCase().substring(1);
// 	}
// 
// 	public static Expo parseExpo(String expo) {
// 		expo = expo.toLowerCase();
// 		if (expo.contains("prime") || expo.contains("west")) {
// 			return WEST;
// 		} else if (expo.contains("east")) {
// 			return EAST;
// 		} else if (expo.contains("south")) {
// 			return SOUTH;
// 		} else if (expo.contains("aus")) {
// 			return AUS;
// 		} else {
// 			throw new IllegalArgumentException("No expo found");
// 		}
// 	}
// }


// Path: src/main/java/com/github/sunnybat/paxchecker/browser/ShowclixReader.java
import com.github.sunnybat.paxchecker.DataTracker;
import com.github.sunnybat.paxchecker.Expo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Set;
import java.util.TreeSet;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

package com.github.sunnybat.paxchecker.browser;


/**
 *
 * @author Sunny
 */
public class ShowclixReader {

	private static final String API_LINK_BASE = "https://api.showclix.com/";
	private static final String API_EXTENSION_SELLER = "Seller/";
	private static final String API_EXTENSION_PARTNER = "Partner/";
	private static final String API_EXTENSION_VENUE = "Venue/";
	private static final String API_EXTENSION_EVENT = "Event/";
	private static final String EVENT_LINK_BASE = "https://www.showclix.com/event/";
	private static final String EVENTS_ATTRIBUTE_LINK = "?follow[]=events";
	private boolean strictFiltering;
	private Expo expoToCheck;