// Path: football-data-client/src/main/java/com/github/mozvip/footballdata/model/Competition.java
// public class Competition {
// 
//     private Map<String, Link> _links;
//     private int id;
//     private String caption;
//     private String league;
//     private String year;
//     private int currentMatchday;
//     private int numberOfMatchdays;
//     private int numberOfTeams;
//     private int numberOfGames;
//     private ZonedDateTime lastUpdated;
// 
//     public Competition() {
//     }
// 
//     public Competition(int id, String caption, String league, String year, int currentMatchday, int numberOfMatchdays, int numberOfTeams, int numberOfGames, ZonedDateTime lastUpdated) {
//         this.id = id;
//         this.caption = caption;
//         this.league = league;
//         this.year = year;
//         this.currentMatchday = currentMatchday;
//         this.numberOfMatchdays = numberOfMatchdays;
//         this.numberOfTeams = numberOfTeams;
//         this.numberOfGames = numberOfGames;
//         this.lastUpdated = lastUpdated;
//     }
// 
//     public Map<String, Link> get_links() {
//         return _links;
//     }
// 
//     public void set_links(Map<String, Link> _links) {
//         this._links = _links;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public void setId(int id) {
//         this.id = id;
//     }
// 
//     public String getCaption() {
//         return caption;
//     }
// 
//     public void setCaption(String caption) {
//         this.caption = caption;
//     }
// 
//     public String getLeague() {
//         return league;
//     }
// 
//     public void setLeague(String league) {
//         this.league = league;
//     }
// 
//     public String getYear() {
//         return year;
//     }
// 
//     public void setYear(String year) {
//         this.year = year;
//     }
// 
//     public int getCurrentMatchday() {
//         return currentMatchday;
//     }
// 
//     public void setCurrentMatchday(int currentMatchday) {
//         this.currentMatchday = currentMatchday;
//     }
// 
//     public int getNumberOfMatchdays() {
//         return numberOfMatchdays;
//     }
// 
//     public void setNumberOfMatchdays(int numberOfMatchdays) {
//         this.numberOfMatchdays = numberOfMatchdays;
//     }
// 
//     public int getNumberOfTeams() {
//         return numberOfTeams;
//     }
// 
//     public void setNumberOfTeams(int numberOfTeams) {
//         this.numberOfTeams = numberOfTeams;
//     }
// 
//     public int getNumberOfGames() {
//         return numberOfGames;
//     }
// 
//     public void setNumberOfGames(int numberOfGames) {
//         this.numberOfGames = numberOfGames;
//     }
// 
//     public ZonedDateTime getLastUpdated() {
//         return lastUpdated;
//     }
// 
//     public void setLastUpdated(ZonedDateTime lastUpdated) {
//         this.lastUpdated = lastUpdated;
//     }
// }
// 
// Path: football-data-client/src/main/java/com/github/mozvip/footballdata/model/Fixtures.java
// public class Fixtures {
// 
//     private Map<String, Link> _links;
//     private int count;
// 
//     private List<Fixture> fixtures;
// 
//     public Map<String, Link> get_links() {
//         return _links;
//     }
// 
//     public void set_links(Map<String, Link> _links) {
//         this._links = _links;
//     }
// 
//     public int getCount() {
//         return count;
//     }
// 
//     public void setCount(int count) {
//         this.count = count;
//     }
// 
//     public List<Fixture> getFixtures() {
//         return fixtures;
//     }
// 
//     public void setFixtures(List<Fixture> fixtures) {
//         this.fixtures = fixtures;
//     }
// }
// 
// Path: football-data-client/src/main/java/com/github/mozvip/footballdata/model/Teams.java
// public class Teams {
// 
//     private Map<String, Link> _links;
//     private int count;
// 
//     private List<Team> teams;
// 
//     public Map<String, Link> get_links() {
//         return _links;
//     }
// 
//     public void set_links(Map<String, Link> _links) {
//         this._links = _links;
//     }
// 
//     public int getCount() {
//         return count;
//     }
// 
//     public void setCount(int count) {
//         this.count = count;
//     }
// 
//     public List<Team> getTeams() {
//         return teams;
//     }
// 
//     public void setTeams(List<Team> teams) {
//         this.teams = teams;
//     }
// }


import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.github.mozvip.footballdata.model.Competition;
import com.github.mozvip.footballdata.model.Fixtures;
import com.github.mozvip.footballdata.model.Teams;
import retrofit2.Call;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;
import retrofit2.http.GET;
import java.io.IOException;
package com.github.mozvip.footballdata;



public class FootballDataClient {

    public static final class Builder {

        private String apiKey;

        private Builder(String apiKey) {
            this.apiKey = apiKey;
        }

// Path: football-data-client/src/main/java/com/github/mozvip/footballdata/model/Competition.java
// public class Competition {
// 
//     private Map<String, Link> _links;
//     private int id;
//     private String caption;
//     private String league;
//     private String year;
//     private int currentMatchday;
//     private int numberOfMatchdays;
//     private int numberOfTeams;
//     private int numberOfGames;
//     private ZonedDateTime lastUpdated;
// 
//     public Competition() {
//     }
// 
//     public Competition(int id, String caption, String league, String year, int currentMatchday, int numberOfMatchdays, int numberOfTeams, int numberOfGames, ZonedDateTime lastUpdated) {
//         this.id = id;
//         this.caption = caption;
//         this.league = league;
//         this.year = year;
//         this.currentMatchday = currentMatchday;
//         this.numberOfMatchdays = numberOfMatchdays;
//         this.numberOfTeams = numberOfTeams;
//         this.numberOfGames = numberOfGames;
//         this.lastUpdated = lastUpdated;
//     }
// 
//     public Map<String, Link> get_links() {
//         return _links;
//     }
// 
//     public void set_links(Map<String, Link> _links) {
//         this._links = _links;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public void setId(int id) {
//         this.id = id;
//     }
// 
//     public String getCaption() {
//         return caption;
//     }
// 
//     public void setCaption(String caption) {
//         this.caption = caption;
//     }
// 
//     public String getLeague() {
//         return league;
//     }
// 
//     public void setLeague(String league) {
//         this.league = league;
//     }
// 
//     public String getYear() {
//         return year;
//     }
// 
//     public void setYear(String year) {
//         this.year = year;
//     }
// 
//     public int getCurrentMatchday() {
//         return currentMatchday;
//     }
// 
//     public void setCurrentMatchday(int currentMatchday) {
//         this.currentMatchday = currentMatchday;
//     }
// 
//     public int getNumberOfMatchdays() {
//         return numberOfMatchdays;
//     }
// 
//     public void setNumberOfMatchdays(int numberOfMatchdays) {
//         this.numberOfMatchdays = numberOfMatchdays;
//     }
// 
//     public int getNumberOfTeams() {
//         return numberOfTeams;
//     }
// 
//     public void setNumberOfTeams(int numberOfTeams) {
//         this.numberOfTeams = numberOfTeams;
//     }
// 
//     public int getNumberOfGames() {
//         return numberOfGames;
//     }
// 
//     public void setNumberOfGames(int numberOfGames) {
//         this.numberOfGames = numberOfGames;
//     }
// 
//     public ZonedDateTime getLastUpdated() {
//         return lastUpdated;
//     }
// 
//     public void setLastUpdated(ZonedDateTime lastUpdated) {
//         this.lastUpdated = lastUpdated;
//     }
// }
// 
// Path: football-data-client/src/main/java/com/github/mozvip/footballdata/model/Fixtures.java
// public class Fixtures {
// 
//     private Map<String, Link> _links;
//     private int count;
// 
//     private List<Fixture> fixtures;
// 
//     public Map<String, Link> get_links() {
//         return _links;
//     }
// 
//     public void set_links(Map<String, Link> _links) {
//         this._links = _links;
//     }
// 
//     public int getCount() {
//         return count;
//     }
// 
//     public void setCount(int count) {
//         this.count = count;
//     }
// 
//     public List<Fixture> getFixtures() {
//         return fixtures;
//     }
// 
//     public void setFixtures(List<Fixture> fixtures) {
//         this.fixtures = fixtures;
//     }
// }
// 
// Path: football-data-client/src/main/java/com/github/mozvip/footballdata/model/Teams.java
// public class Teams {
// 
//     private Map<String, Link> _links;
//     private int count;
// 
//     private List<Team> teams;
// 
//     public Map<String, Link> get_links() {
//         return _links;
//     }
// 
//     public void set_links(Map<String, Link> _links) {
//         this._links = _links;
//     }
// 
//     public int getCount() {
//         return count;
//     }
// 
//     public void setCount(int count) {
//         this.count = count;
//     }
// 
//     public List<Team> getTeams() {
//         return teams;
//     }
// 
//     public void setTeams(List<Team> teams) {
//         this.teams = teams;
//     }
// }


// Path: football-data-client/src/main/java/com/github/mozvip/footballdata/FootballDataClient.java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.github.mozvip.footballdata.model.Competition;
import com.github.mozvip.footballdata.model.Fixtures;
import com.github.mozvip.footballdata.model.Teams;
import retrofit2.Call;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;
import retrofit2.http.GET;
import java.io.IOException;

package com.github.mozvip.footballdata;



public class FootballDataClient {

    public static final class Builder {

        private String apiKey;

        private Builder(String apiKey) {
            this.apiKey = apiKey;
        }

        public FootballDataClient build() {