Merged lite into full

Change-Id: I8e496cebcfa91de5077bc938ec00617136037e22
diff --git a/full/Changes b/full/Changes
index 2a58fe7..86653f4 100644
--- a/full/Changes
+++ b/full/Changes
@@ -3,7 +3,7 @@
 - Renamed entity and service packages in core
 - Renamed web.controller package in core
 - Moved SearchNetworkEndpoint to core.service package
-
+- Merged lite into full
 
 # version 0.70
 
diff --git a/full/Changes-Lite b/full/Changes-Lite
new file mode 100644
index 0000000..55b58ef
--- /dev/null
+++ b/full/Changes-Lite
@@ -0,0 +1,181 @@
+# version 0.70.1
+
+- Renamed entity and service packages in core
+- Renamed web.controller package in core
+- Moved SearchNetworkEndpoint to core.service package
+
+# version 0.70
+
+- Added data folder containing super_client_info and database 
+  for mounting into docker
+
+# version 0.69.4
+
+- Support token array in matchinfo (fixes #570; diewald)
+
+# version 0.69.3
+
+# version 0.69.2
+
+- Upgrade version for E2E-simplified Docker images (diewald)
+
+# version 0.69.1
+
+- Upgrade version for docker including indexer (diewald)
+
+# version 0.69
+
+ - Migrated to Java 11 and Jersey 2
+ - Updated dependencies
+
+# version 0.68
+
+2022-06-03 
+ - Implemented searching option using a network endpoint
+
+
+# version 0.67
+
+# version 0.66
+
+# version 0.65.2
+
+2022-03-03
+ - Removed VCLoader.
+
+# version 0.65.1
+
+# version 0.65
+
+!!! includes security updates  - please update all Kustvakt libraries
+!!! Please also update Krill to version 0.60.2 and Koral to version 0.38 
+
+2021-12-10
+ - [security] Updated log4j libs due to CVE -2021 -44228.
+2022-01-03
+ - [security] More log4j security updates
+ - Updated tests.
+2022-01-25
+ - Added show-tokens option to the search API.
+
+# version 0.64
+
+2021-07-29
+ - Updated the change files and made a new version.
+2021-08-12
+ - Removed initializator from lite config.
+
+# version 0.63.2
+
+2021-07-19
+ - Updated mockserver dependency -order in pom.
+2021-07-26
+ - Replaced annotation parsing with restoring the annotation tables to the
+database.
+ - Excluded jackson core libraries from Mockserver. 
+
+# version 0.63
+04/12/2020
+   - Fix hibernate dialect for SQLite. (margaretha)
+14/01/2021
+ - Updated Flyway (margaretha)
+21/01/2021
+ - Fixed running pipe and updated tests with mockserver (margaretha)
+19/02/2021
+ - Enabled API info web -service (margaretha) 
+  
+# version 0.62.4
+24/01/2020
+ - Removed salt from config and updated config files.
+04/03/2020
+ - Updated the sample index (diewald)
+
+# version 0.62.3
+03/12/2019
+ - Implemented pipe extension in the search API (margaretha)
+12/12/2019
+ - Added support for multiple cq parameters (margaretha, resolved #46)
+13/12/2019
+ - Handled pipe errors and added tests (margaretha)
+
+# version 0.62.2
+13/11/2019
+ - Added tests for issue #43 (margaretha)
+22/11/2019
+ - Added tests for the statistic API with KoralQuery (margaretha)
+
+# version 0.62.1
+08/07/2019
+ - Added tests for public metadata response in search API (margaretha, issue #43)
+ - Disabled some tests of unused/disabled web -services (margaretha)
+
+version 0.62
+19/03/2019
+ - Added close index controller (margaretha)
+
+version 0.61.3
+05/02/2019
+ - Updated kustvakt -lite.conf (margaretha)
+18/02/2019
+ - Updated core version (margaretha)
+
+version 0.61.2
+14/11/2018
+ - Integrated lite and full services and controllers in core (margaretha)
+ - Added annotation services (margaretha)
+19/12/2018
+ - Fixed getUser in DummyAuthenticationManager (margaretha)
+ - Fixed search test with fields parameter (margaretha)
+
+version 0.61.1
+22/10/2018
+ - Updated spring and kustvakt -core versions (margaretha)
+29/10/2018
+ - Added rewrite handler post construct (margaretha)
+07/11/2018
+ - OpenJDK8u181 -workaround (see Debian Bug report #911925; diewald)
+13/11/2018
+ - Added shutdown handler (margaretha)
+
+version 0.61.0
+30/08/2018
+ - Fixed root packages & added api version properties in kustvakt -lite.conf (margaretha)
+ - Added API versioning tests (margaretha)
+
+version 0.60.2
+05/07/2018
+ - Added support for unrestricted corpus statistics (ndiewald)
+ - Do not pass broken queries to Krill (diewald)
+27/08/2018
+ - Added vc reference test (margaretha)
+28/08/2018
+ - Added API URL versioning (margaretha)
+
+version 0.60.1
+12/06/2018
+ - removed kustvakt_encryption (margaretha)
+ - updated kustvakt core version (margaretha)
+ - adopted statistics query parameter from full (ndiewald)
+
+version 0.60
+23/03/2018
+ - updated field type:date in the metadata test (margaretha)
+ - removed loading application context via BeanFactory (margaretha)
+ - fixed missing kustvakt -lite.conf (margaretha)
+ - added support for highlights in matchinfo (diewald)
+
+version 0.59.9 
+01/02/2018
+ - renamed light to lite (margaretha)
+ - added Changes file (margaretha)
+ - updated library versions and java environment (margaretha)
+ - added metadata test (diewald)
+
+version 0.59.8 
+17/01/2018 
+ - restructured Kustvakt and created /lite project
+ - removed version from service paths (margaretha)
+ - updated query serialization tests (margaretha)
+ - added statistic service test (margaretha)
+ - updated KustvaktResponseHandler (margaretha)
+ - removed FastJerseyLight and simplified Jersey test configuration (margaretha)
\ No newline at end of file
diff --git a/full/pom.xml b/full/pom.xml
index b57cb4a..a1ff3cb 100644
--- a/full/pom.xml
+++ b/full/pom.xml
@@ -49,19 +49,14 @@
 											</resource>
 										</transformer>
 									</transformers>
-									<!-- Additional configuration. apparently there is a securityException -->
 									<filters>
-										<filter>
-											<artifact>*:*</artifact>
-											<excludes>
-												<exclude>META-INF/*.SF</exclude>
-												<exclude>META-INF/*.DSA
-												</exclude>
-												<exclude>META-INF/*.RSA
-												</exclude>
-											</excludes>
-										</filter>
-									</filters>
+							          <filter>
+							            <artifact>*:*</artifact>
+							            <excludes>
+							              <exclude>db/lite/**</exclude>
+							            </excludes>
+							          </filter>
+							        </filters>
 								</configuration>
 							</execution>
 						</executions>
@@ -69,6 +64,70 @@
 				</plugins>
 			</build>
 		</profile>
+		
+		
+		<profile>
+			<id>lite</id>
+			<build>
+				<plugins>
+					<plugin>
+						<artifactId>maven-shade-plugin</artifactId>
+							<version>3.4.1</version>
+							<executions>
+								<!--option 2-->
+								<execution>
+									<id>lite</id>
+									<phase>package</phase>
+									<goals>
+										<goal>shade</goal>
+									</goals>
+									<configuration>
+										<finalName>
+											Kustvakt-lite-${project.version}
+										</finalName>
+										<transformers>
+											<transformer
+												implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+												<mainClass>
+													de.ids_mannheim.korap.server.KustvaktLiteServer
+												</mainClass>
+											</transformer>
+											<transformer
+												implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+												<resource>META-INF/spring.handlers
+												</resource>
+											</transformer>
+											<transformer
+												implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+												<resource>META-INF/spring.schemas
+												</resource>
+											</transformer>
+										</transformers>
+										<filters>
+								          <filter>
+								            <artifact>*:*</artifact>
+								             <excludes>
+												<exclude>db/mysql/**</exclude>
+												<exclude>db/predefined/**</exclude>
+												<exclude>db/sqlite/**</exclude>
+												<exclude>db/test/**</exclude>
+					                            <exclude>com.novell.ldap</exclude>
+					                            <exclude>com.unboundid</exclude>
+					                            <exclude>org.glassfish.jersey.test-framework*</exclude>
+					                            <exclude>org.apache.velocity*</exclude>
+					                            <exclude>com.sun.mail</exclude>
+					                            <exclude>javax.activation</exclude>
+					                        </excludes>
+								          </filter>
+								        </filters>
+									</configuration>
+								</execution>
+							</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+
 	</profiles>
 	<build>
 		<!-- <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> 
diff --git a/full/src/main/java/de/ids_mannheim/korap/authentication/DummyAuthenticationManager.java b/full/src/main/java/de/ids_mannheim/korap/authentication/DummyAuthenticationManager.java
new file mode 100644
index 0000000..cd8f02c
--- /dev/null
+++ b/full/src/main/java/de/ids_mannheim/korap/authentication/DummyAuthenticationManager.java
@@ -0,0 +1,112 @@
+package de.ids_mannheim.korap.authentication;
+
+import java.util.Map;
+
+import javax.ws.rs.core.HttpHeaders;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import de.ids_mannheim.korap.config.KustvaktConfiguration;
+import de.ids_mannheim.korap.constant.AuthenticationMethod;
+import de.ids_mannheim.korap.constant.TokenType;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.security.context.TokenContext;
+import de.ids_mannheim.korap.user.KorAPUser;
+import de.ids_mannheim.korap.user.User;
+import de.ids_mannheim.korap.user.Userdata;
+import de.ids_mannheim.korap.utils.TimeUtils;
+
+public class DummyAuthenticationManager extends AuthenticationManager {
+
+    @Autowired
+    private KustvaktConfiguration config;
+
+    public DummyAuthenticationManager () {}
+    
+    @Override
+    public TokenContext getTokenContext (TokenType type, String token,
+            String host, String useragent) throws KustvaktException {
+        TokenContext c = new TokenContext();
+        c.setUsername("guest");
+        c.setHostAddress(host);
+        c.setUserAgent(useragent);
+        c.setExpirationTime(
+                TimeUtils.plusSeconds(config.getShortTokenTTL()).getMillis());
+        c.setTokenType(TokenType.BASIC);
+        c.setToken("dummyToken");
+        return c;
+    }
+
+    @Override
+    public User getUser (String username) throws KustvaktException {
+        KorAPUser user = new KorAPUser();
+        user.setUsername(username);
+        return user;
+    }
+
+    @Override
+    public boolean isRegistered (String id) {
+        // TODO Auto-generated method stub
+        return false;
+    }
+
+    @Override
+    public User authenticate (AuthenticationMethod method, String username,
+            String password, Map<String, Object> attributes)
+            throws KustvaktException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public TokenContext createTokenContext (User user, Map<String, Object> attr,
+            TokenType type) throws KustvaktException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public void setAccessAndLocation (User user, HttpHeaders headers) {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public void logout (TokenContext context) throws KustvaktException {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public void lockAccount (User user) throws KustvaktException {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public boolean deleteAccount (User user) throws KustvaktException {
+        // TODO Auto-generated method stub
+        return false;
+    }
+
+    @Override
+    public <T extends Userdata> T getUserData (User user, Class<T> clazz)
+            throws KustvaktException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public void updateUserData (Userdata data) throws KustvaktException {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public User getUser (String username, String method)
+            throws KustvaktException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}
diff --git a/full/src/main/java/de/ids_mannheim/korap/dao/DummyAdminDaoImpl.java b/full/src/main/java/de/ids_mannheim/korap/dao/DummyAdminDaoImpl.java
new file mode 100644
index 0000000..0d31885
--- /dev/null
+++ b/full/src/main/java/de/ids_mannheim/korap/dao/DummyAdminDaoImpl.java
@@ -0,0 +1,18 @@
+package de.ids_mannheim.korap.dao;
+
+import de.ids_mannheim.korap.user.User;
+
+public class DummyAdminDaoImpl implements AdminDao {
+
+    @Override
+    public void addAccount (User user) {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public boolean isAdmin (String userId) {
+        return false;
+    }
+
+}
diff --git a/full/src/main/java/de/ids_mannheim/korap/oauth2/service/DummyOAuth2ScopeServiceImpl.java b/full/src/main/java/de/ids_mannheim/korap/oauth2/service/DummyOAuth2ScopeServiceImpl.java
new file mode 100644
index 0000000..d1e7945
--- /dev/null
+++ b/full/src/main/java/de/ids_mannheim/korap/oauth2/service/DummyOAuth2ScopeServiceImpl.java
@@ -0,0 +1,16 @@
+package de.ids_mannheim.korap.oauth2.service;
+
+import de.ids_mannheim.korap.constant.OAuth2Scope;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.oauth2.service.OAuth2ScopeService;
+import de.ids_mannheim.korap.security.context.TokenContext;
+
+public class DummyOAuth2ScopeServiceImpl implements OAuth2ScopeService {
+
+      @Override
+    public void verifyScope (TokenContext context, OAuth2Scope requiredScope)
+            throws KustvaktException {
+        // TODO Auto-generated method stub
+
+    }
+}
diff --git a/full/src/main/java/de/ids_mannheim/korap/server/KustvaktLiteServer.java b/full/src/main/java/de/ids_mannheim/korap/server/KustvaktLiteServer.java
new file mode 100644
index 0000000..0a733a0
--- /dev/null
+++ b/full/src/main/java/de/ids_mannheim/korap/server/KustvaktLiteServer.java
@@ -0,0 +1,45 @@
+package de.ids_mannheim.korap.server;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.Properties;
+
+import de.ids_mannheim.korap.config.KustvaktConfiguration;
+
+public class KustvaktLiteServer extends KustvaktBaseServer {
+
+    public static void main (String[] args) throws Exception {
+        KustvaktLiteServer server = new KustvaktLiteServer();
+        kargs = server.readAttributes(args);
+
+        if (kargs == null) System.exit(0);
+
+        File f = new File("kustvakt-lite.conf");
+        Properties properties = new Properties();
+        InputStream in = null;
+
+        if (!f.exists()) {
+            in = KustvaktLiteServer.class.getClassLoader()
+                    .getResourceAsStream("kustvakt-lite.conf");
+        }
+        else {
+            in = new FileInputStream(f);
+        }
+
+        properties.load(in);
+        in.close();
+        config = new KustvaktConfiguration();
+        config.loadBasicProperties(properties);
+
+        springConfig =  "lite-config.xml";
+        
+        rootPackages = "de.ids_mannheim.korap.core.web; "
+                + "de.ids_mannheim.korap.web.filter; "
+                + "de.ids_mannheim.korap.web.utils; "
+                + "com.fasterxml.jackson.jaxrs.json;";
+
+        server.start();
+    }
+
+}
diff --git a/full/src/main/java/de/ids_mannheim/korap/web/OAuth2ResponseHandler.java b/full/src/main/java/de/ids_mannheim/korap/web/OAuth2ResponseHandler.java
index 3c86fd3..2b2dd8e 100644
--- a/full/src/main/java/de/ids_mannheim/korap/web/OAuth2ResponseHandler.java
+++ b/full/src/main/java/de/ids_mannheim/korap/web/OAuth2ResponseHandler.java
@@ -10,7 +10,6 @@
 import javax.ws.rs.core.Response.Status;
 
 import org.apache.http.HttpHeaders;
-import org.apache.http.HttpStatus;
 import org.apache.oltu.oauth2.common.error.OAuthError;
 import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
 import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
diff --git a/full/src/main/resources/db/lite/V1.1__annotation.sql b/full/src/main/resources/db/lite/V1.1__annotation.sql
new file mode 100644
index 0000000..e81fd53
--- /dev/null
+++ b/full/src/main/resources/db/lite/V1.1__annotation.sql
@@ -0,0 +1,391 @@
+INSERT INTO "annotation" VALUES(1,'opennlp','foundry',NULL,'OpenNLP',NULL);
+INSERT INTO "annotation" VALUES(2,'p','layer',NULL,'Part-of-Speech',NULL);
+INSERT INTO "annotation" VALUES(3,'ADJA','key','ADJA ','Attributive Adjective',NULL);
+INSERT INTO "annotation" VALUES(4,'ADJD','key','ADJD ','Predicative Adjective',NULL);
+INSERT INTO "annotation" VALUES(5,'ADV','key','ADV ','Adverb',NULL);
+INSERT INTO "annotation" VALUES(6,'APPO','key','APPO ','Postposition',NULL);
+INSERT INTO "annotation" VALUES(7,'APPR','key','APPR ','Preposition',NULL);
+INSERT INTO "annotation" VALUES(8,'APPRART','key','APPRART ','Preposition with Determiner',NULL);
+INSERT INTO "annotation" VALUES(9,'APZR','key','APZR ','Right Circumposition',NULL);
+INSERT INTO "annotation" VALUES(10,'ART','key','ART ','Determiner',NULL);
+INSERT INTO "annotation" VALUES(11,'CARD','key','CARD ','Cardinal Number',NULL);
+INSERT INTO "annotation" VALUES(12,'FM','key','FM ','Foreign Material',NULL);
+INSERT INTO "annotation" VALUES(13,'ITJ','key','ITJ ','Interjection',NULL);
+INSERT INTO "annotation" VALUES(14,'KOKOM','key','KOKOM ','Comparison Particle',NULL);
+INSERT INTO "annotation" VALUES(15,'KON','key','KON ','Coordinating Conjuncion',NULL);
+INSERT INTO "annotation" VALUES(16,'KOUI','key','KOUI ','Subordinating Conjunction with ''zu''',NULL);
+INSERT INTO "annotation" VALUES(17,'KOUS','key','KOUS ','Subordinating Conjunction with Sentence',NULL);
+INSERT INTO "annotation" VALUES(18,'NE','key','NE ','Named Entity',NULL);
+INSERT INTO "annotation" VALUES(19,'NN','key','NN ','Normal Nomina',NULL);
+INSERT INTO "annotation" VALUES(20,'PAV','key','PAV ','Pronominal Adverb',NULL);
+INSERT INTO "annotation" VALUES(21,'PDAT','key','PDAT ','Attributive Demonstrative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(22,'PDS','key','PDS ','Substitutive Demonstrative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(23,'PIAT','key','PIAT ','Attributive Indefinite Pronoun without Determiner',NULL);
+INSERT INTO "annotation" VALUES(24,'PIDAT','key','PIDAT ','Attributive Indefinite Pronoun with Determiner',NULL);
+INSERT INTO "annotation" VALUES(25,'PIS','key','PIS ','Substitutive Indefinite Pronoun',NULL);
+INSERT INTO "annotation" VALUES(26,'PPER','key','PPER ','Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(27,'PPOSAT','key','PPOSAT ','Attributive Possessive Pronoun',NULL);
+INSERT INTO "annotation" VALUES(28,'PPOSS','key','PPOSS ','Substitutive Possessive Pronoun',NULL);
+INSERT INTO "annotation" VALUES(29,'PRELAT','key','PRELAT ','Attributive Relative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(30,'PRELS','key','PRELS ','Substitutive Relative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(31,'PRF','key','PRF ','Reflexive Pronoun',NULL);
+INSERT INTO "annotation" VALUES(32,'PROAV','key','PROAV ','Pronominal Adverb',NULL);
+INSERT INTO "annotation" VALUES(33,'PTKA','key','PTKA ','Particle with Adjective',NULL);
+INSERT INTO "annotation" VALUES(34,'PTKANT','key','PTKANT ','Answering Particle',NULL);
+INSERT INTO "annotation" VALUES(35,'PTKNEG','key','PTKNEG ','Negation Particle',NULL);
+INSERT INTO "annotation" VALUES(36,'PTKVZ','key','PTKVZ ','Separated Verbal Particle',NULL);
+INSERT INTO "annotation" VALUES(37,'PTKZU','key','PTKZU ','''zu'' Particle',NULL);
+INSERT INTO "annotation" VALUES(38,'PWAT','key','PWAT ','Attributive Interrogative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(39,'PWAV','key','PWAV ','Adverbial Interrogative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(40,'PWS','key','PWS ','Substitutive Interrogative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(41,'TRUNC','key','TRUNC ','Truncated',NULL);
+INSERT INTO "annotation" VALUES(42,'VAFIN','key','VAFIN ','Auxiliary Finite Verb',NULL);
+INSERT INTO "annotation" VALUES(43,'VAIMP','key','VAIMP ','Auxiliary Finite Imperative Verb',NULL);
+INSERT INTO "annotation" VALUES(44,'VAINF','key','VAINF ','Auxiliary Infinite Verb',NULL);
+INSERT INTO "annotation" VALUES(45,'VAPP','key','VAPP ','Auxiliary Perfect Participle',NULL);
+INSERT INTO "annotation" VALUES(46,'VMFIN','key','VMFIN ','Modal Finite Verb',NULL);
+INSERT INTO "annotation" VALUES(47,'VMINF','key','VMINF ','Modal Infinite Verb',NULL);
+INSERT INTO "annotation" VALUES(48,'VMPP','key','VMPP ','Modal Perfect Participle',NULL);
+INSERT INTO "annotation" VALUES(49,'VVFIN','key','VVFIN ','Finite Verb',NULL);
+INSERT INTO "annotation" VALUES(50,'VVIMP','key','VVIMP ','Finite Imperative Verb',NULL);
+INSERT INTO "annotation" VALUES(51,'VVINF','key','VVINF ','Infinite Verb',NULL);
+INSERT INTO "annotation" VALUES(52,'VVIZU','key','VVIZU ','Infinite Verb with ''zu''',NULL);
+INSERT INTO "annotation" VALUES(53,'VVPP','key','VVPP ','Perfect Participle',NULL);
+INSERT INTO "annotation" VALUES(54,'XY','key','XY ','Non-Word',NULL);
+INSERT INTO "annotation" VALUES(55,'mate','foundry',NULL,'Mate',NULL);
+INSERT INTO "annotation" VALUES(56,'l','layer',NULL,'Lemma',NULL);
+INSERT INTO "annotation" VALUES(57,'m','layer',NULL,'Morphology',NULL);
+INSERT INTO "annotation" VALUES(58,'<root-POS>','key','<root-POS>','Root Part of Speech',NULL);
+INSERT INTO "annotation" VALUES(59,'case','key',NULL,'Case',NULL);
+INSERT INTO "annotation" VALUES(60,'degree','key',NULL,'Degree',NULL);
+INSERT INTO "annotation" VALUES(61,'gender','key',NULL,'Gender',NULL);
+INSERT INTO "annotation" VALUES(62,'mood','key',NULL,'Mood',NULL);
+INSERT INTO "annotation" VALUES(63,'number','key',NULL,'Number',NULL);
+INSERT INTO "annotation" VALUES(64,'person','key',NULL,'Person',NULL);
+INSERT INTO "annotation" VALUES(65,'tense','key',NULL,'Tense',NULL);
+INSERT INTO "annotation" VALUES(66,'<no-type> ','key',NULL,'No type',NULL);
+INSERT INTO "annotation" VALUES(67,'acc','value','acc ','Accusative',NULL);
+INSERT INTO "annotation" VALUES(68,'dat','value','dat ','Dative',NULL);
+INSERT INTO "annotation" VALUES(69,'gen','value','gen ','Genitive',NULL);
+INSERT INTO "annotation" VALUES(70,'nom','value','nom ','Nominative',NULL);
+INSERT INTO "annotation" VALUES(71,'*','value','* ','Undefined',NULL);
+INSERT INTO "annotation" VALUES(72,'comp','value','comp ','Comparative',NULL);
+INSERT INTO "annotation" VALUES(73,'pos','value','pos ','Positive',NULL);
+INSERT INTO "annotation" VALUES(74,'sup','value','sup ','Superative',NULL);
+INSERT INTO "annotation" VALUES(75,'fem','value','fem ','Feminium',NULL);
+INSERT INTO "annotation" VALUES(76,'masc','value','masc ','Masculinum',NULL);
+INSERT INTO "annotation" VALUES(77,'neut','value','neut ','Neuter',NULL);
+INSERT INTO "annotation" VALUES(78,'imp','value','imp ','Imperative',NULL);
+INSERT INTO "annotation" VALUES(79,'ind','value','ind ','Indicative',NULL);
+INSERT INTO "annotation" VALUES(80,'subj','value','subj ','Subjunctive',NULL);
+INSERT INTO "annotation" VALUES(81,'pl','value','pl ','Plural',NULL);
+INSERT INTO "annotation" VALUES(82,'sg','value','sg ','Singular',NULL);
+INSERT INTO "annotation" VALUES(83,'1','value','1 ','First Person',NULL);
+INSERT INTO "annotation" VALUES(84,'2','value','2 ','Second Person',NULL);
+INSERT INTO "annotation" VALUES(85,'3','value','3 ','Third Person',NULL);
+INSERT INTO "annotation" VALUES(86,'past','value','past ','Past',NULL);
+INSERT INTO "annotation" VALUES(87,'pres','value','pres ','Present',NULL);
+INSERT INTO "annotation" VALUES(88,'malt','foundry',NULL,'Malt',NULL);
+INSERT INTO "annotation" VALUES(89,'d','layer',NULL,'Dependency',NULL);
+INSERT INTO "annotation" VALUES(90,'-PUNCT-','key','-PUNCT- ','',NULL);
+INSERT INTO "annotation" VALUES(91,'-UNKNOWN-','key','-UNKNOWN- ','',NULL);
+INSERT INTO "annotation" VALUES(92,'APP','key','APP ','',NULL);
+INSERT INTO "annotation" VALUES(93,'ATTR','key','ATTR ','',NULL);
+INSERT INTO "annotation" VALUES(94,'AUX','key','AUX ','',NULL);
+INSERT INTO "annotation" VALUES(95,'AVZ','key','AVZ ','',NULL);
+INSERT INTO "annotation" VALUES(96,'CJ','key','CJ ','',NULL);
+INSERT INTO "annotation" VALUES(97,'DET','key','DET ','',NULL);
+INSERT INTO "annotation" VALUES(98,'EXPL','key','EXPL ','',NULL);
+INSERT INTO "annotation" VALUES(99,'GMOD','key','GMOD ','',NULL);
+INSERT INTO "annotation" VALUES(100,'GRAD','key','GRAD ','',NULL);
+INSERT INTO "annotation" VALUES(101,'KOM','key','KOM ','',NULL);
+INSERT INTO "annotation" VALUES(102,'KONJ','key','KONJ ','',NULL);
+INSERT INTO "annotation" VALUES(103,'NEB','key','NEB ','',NULL);
+INSERT INTO "annotation" VALUES(104,'OBJA','key','OBJA ','',NULL);
+INSERT INTO "annotation" VALUES(105,'OBJC','key','OBJC ','',NULL);
+INSERT INTO "annotation" VALUES(106,'OBJD','key','OBJD ','',NULL);
+INSERT INTO "annotation" VALUES(107,'OBJG','key','OBJG ','',NULL);
+INSERT INTO "annotation" VALUES(108,'OBJI','key','OBJI ','',NULL);
+INSERT INTO "annotation" VALUES(109,'OBJP','key','OBJP ','',NULL);
+INSERT INTO "annotation" VALUES(110,'PAR','key','PAR ','',NULL);
+INSERT INTO "annotation" VALUES(111,'PART','key','PART ','',NULL);
+INSERT INTO "annotation" VALUES(112,'PN','key','PN ','',NULL);
+INSERT INTO "annotation" VALUES(113,'PP','key','PP ','',NULL);
+INSERT INTO "annotation" VALUES(114,'PRED','key','PRED ','',NULL);
+INSERT INTO "annotation" VALUES(115,'REL','key','REL ','',NULL);
+INSERT INTO "annotation" VALUES(116,'ROOT','key','ROOT ','',NULL);
+INSERT INTO "annotation" VALUES(117,'S','key','S ','',NULL);
+INSERT INTO "annotation" VALUES(118,'SUBJ','key','SUBJ ','',NULL);
+INSERT INTO "annotation" VALUES(119,'SUBJC','key','SUBJC ','',NULL);
+INSERT INTO "annotation" VALUES(120,'ZEIT','key','ZEIT ','',NULL);
+INSERT INTO "annotation" VALUES(121,'gmod-app','key','gmod-app ','',NULL);
+INSERT INTO "annotation" VALUES(122,'koord','key','koord ','',NULL);
+INSERT INTO "annotation" VALUES(123,'drukola','foundry',NULL,'DRuKoLa',NULL);
+INSERT INTO "annotation" VALUES(124,'ctag','key',NULL,'CTAG',NULL);
+INSERT INTO "annotation" VALUES(125,'A','value','a ','Adjective',NULL);
+INSERT INTO "annotation" VALUES(126,'Y','value','y ','Abbreviation',NULL);
+INSERT INTO "annotation" VALUES(127,'AN','value','an ','Adjective, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(128,'APRY','value','apry ','Adjective, Plural, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(129,'APN','value','apn ','Adjective, Plural, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(130,'APOY','value','apoy ','Adjective, Plural, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(131,'APON','value','apon ','Adjective, Plural, Oblique, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(132,'ASRY','value','asry ','Adjective, Singular, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(133,'ASN','value','asn ','Adjective, Singular, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(134,'ASOY','value','asoy ','Adjective, Singular, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(135,'ASON','value','ason ','Adjective, Singular, Oblique, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(136,'ASVY','value','asvy ','Adjective, Singular, Vocative, Definite',NULL);
+INSERT INTO "annotation" VALUES(137,'ASVN','value','asvn ','Adjective, Singular, Vocative, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(138,'R','value','r ','Adverb',NULL);
+INSERT INTO "annotation" VALUES(139,'RC','value','rc ','Adverb, Portmanteau',NULL);
+INSERT INTO "annotation" VALUES(140,'TS','value','ts ','Article, Definite or Possessive, Singular',NULL);
+INSERT INTO "annotation" VALUES(141,'TP','value','tp ','Article, Indefinite or Possessive, Plural',NULL);
+INSERT INTO "annotation" VALUES(142,'TPR','value','tpr ','Article, non-Possessive, Plural, Direct',NULL);
+INSERT INTO "annotation" VALUES(143,'TPO','value','tpo ','Article, non-Possessive, Plural, Oblique',NULL);
+INSERT INTO "annotation" VALUES(144,'TSR','value','tsr ','Article, non-Possessive, Singular, Direct',NULL);
+INSERT INTO "annotation" VALUES(145,'TSO','value','tso ','Article, non-Possessive, Singular, Oblique',NULL);
+INSERT INTO "annotation" VALUES(146,'NPRY','value','npry ','Common Noun, Plural, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(147,'NPN','value','npn ','Common Noun, Plural, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(148,'NPOY','value','npoy ','Common Noun, Plural, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(149,'NPVY','value','npvy ','Common Noun, Plural, Vocative, Definite',NULL);
+INSERT INTO "annotation" VALUES(150,'NN','value','nn ','Common Noun, singular',NULL);
+INSERT INTO "annotation" VALUES(151,'NSY','value','nsy ','Common Noun, Singular, Definite',NULL);
+INSERT INTO "annotation" VALUES(152,'NSRY','value','nsry ','Common Noun, Singular, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(153,'NSRN','value','nsrn ','Common Noun, Singular, Direct, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(154,'NSN','value','nsn ','Common Noun, Singular, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(155,'NSOY','value','nsoy ','Common Noun, Singular, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(156,'NSON','value','nson ','Common Noun, Singular, Oblique, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(157,'NSVY','value','nsvy ','Common Noun, Singular, Vocative, Definite',NULL);
+INSERT INTO "annotation" VALUES(158,'NSVN','value','nsvn ','Common Noun, Singular, Vocative, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(159,'CR','value','cr ','Conjunctio, portmanteau',NULL);
+INSERT INTO "annotation" VALUES(160,'C','value','c ','Conjunction',NULL);
+INSERT INTO "annotation" VALUES(161,'QF','value','qf ','Future Particle',NULL);
+INSERT INTO "annotation" VALUES(162,'QN','value','qn ','Infinitival Particle',NULL);
+INSERT INTO "annotation" VALUES(163,'I','value','i ','Interjection',NULL);
+INSERT INTO "annotation" VALUES(164,'QZ','value','qz ','Negative Particle',NULL);
+INSERT INTO "annotation" VALUES(165,'M','value','m ','Numeral',NULL);
+INSERT INTO "annotation" VALUES(166,'PP','value','pp ','Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(167,'PPP','value','ppp ','Personal Pronoun, Plural',NULL);
+INSERT INTO "annotation" VALUES(168,'PPPA','value','pppa ','Personal Pronoun, Plural, Acc.',NULL);
+INSERT INTO "annotation" VALUES(169,'PPPD','value','pppd ','Personal Pronoun, Plural, Dative',NULL);
+INSERT INTO "annotation" VALUES(170,'PPPR','value','pppr ','Personal Pronoun, Plural, Direct',NULL);
+INSERT INTO "annotation" VALUES(171,'PPPO','value','pppo ','Personal Pronoun, Plural, Oblique',NULL);
+INSERT INTO "annotation" VALUES(172,'PPS','value','pps ','Personal Pronoun, Singular',NULL);
+INSERT INTO "annotation" VALUES(173,'PPSA','value','ppsa ','Personal Pronoun, Singular, Accusative',NULL);
+INSERT INTO "annotation" VALUES(174,'PPSD','value','ppsd ','Personal Pronoun, Singular, Dative',NULL);
+INSERT INTO "annotation" VALUES(175,'PPSR','value','ppsr ','Personal Pronoun, Singular, Direct',NULL);
+INSERT INTO "annotation" VALUES(176,'PPSN','value','ppsn ','Personal Pronoun, Singular, Nominative',NULL);
+INSERT INTO "annotation" VALUES(177,'PPSO','value','ppso ','Personal Pronoun, Singular, Oblique',NULL);
+INSERT INTO "annotation" VALUES(178,'S','value','s ','Preposition',NULL);
+INSERT INTO "annotation" VALUES(179,'DMPR','value','dmpr ','Pronoun or Determiner, Demonstrative, Plural, Direct',NULL);
+INSERT INTO "annotation" VALUES(180,'DMPO','value','dmpo ','Pronoun or Determiner, Demonstrative, Plural, Oblique',NULL);
+INSERT INTO "annotation" VALUES(181,'DMSR','value','dmsr ','Pronoun or Determiner, Demonstrative, Singular, Direct',NULL);
+INSERT INTO "annotation" VALUES(182,'DMSO','value','dmso ','Pronoun or Determiner, Demonstrative, Singular, Oblique',NULL);
+INSERT INTO "annotation" VALUES(183,'PS','value','ps ','Pronoun or Determiner, Poss or Emph',NULL);
+INSERT INTO "annotation" VALUES(184,'PSS','value','pss ','Pronoun or Determiner, Poss or Emph, Singular',NULL);
+INSERT INTO "annotation" VALUES(185,'RELR','value','relr ','Pronoun or Determiner, Relative, Direct',NULL);
+INSERT INTO "annotation" VALUES(186,'RELO','value','relo ','Pronoun or Determiner, Relative, Oblique',NULL);
+INSERT INTO "annotation" VALUES(187,'NP','value','np ','Proper Noun',NULL);
+INSERT INTO "annotation" VALUES(188,'PI','value','pi ','Quantifier Pronoun or Determiner',NULL);
+INSERT INTO "annotation" VALUES(189,'PXA','value','pxa ','Reflexive Pronoun, Accusative',NULL);
+INSERT INTO "annotation" VALUES(190,'PXD','value','pxd ','Reflexive Pronoun, Dative',NULL);
+INSERT INTO "annotation" VALUES(191,'X','value','x ','Residual',NULL);
+INSERT INTO "annotation" VALUES(192,'QS','value','qs ','Subjunctive Particle',NULL);
+INSERT INTO "annotation" VALUES(193,'VA','value','va ','Verb, Auxiliary',NULL);
+INSERT INTO "annotation" VALUES(194,'VA1','value','va1 ','Verb, Auxiliary, 1st person',NULL);
+INSERT INTO "annotation" VALUES(195,'VA2P','value','va2p ','Verb, Auxiliary, 2nd person, Plural',NULL);
+INSERT INTO "annotation" VALUES(196,'VA2S','value','va2s ','Verb, Auxiliary, 2nd person, Singular',NULL);
+INSERT INTO "annotation" VALUES(197,'VA3','value','va3 ','Verb, Auxiliary, 3rd person',NULL);
+INSERT INTO "annotation" VALUES(198,'VA3P','value','va3p ','Verb, Auxiliary, 3rd person, Plural',NULL);
+INSERT INTO "annotation" VALUES(199,'VA3S','value','va3s ','Verb, Auxiliary, 3rd person, Singular',NULL);
+INSERT INTO "annotation" VALUES(200,'VA1P','value','va1p ','Verb, Auxiliary,1st person, Plural',NULL);
+INSERT INTO "annotation" VALUES(201,'VA1S','value','va1s ','Verb, Auxiliary,1st person, Singular',NULL);
+INSERT INTO "annotation" VALUES(202,'VG','value','vg ','Verb, Gerund',NULL);
+INSERT INTO "annotation" VALUES(203,'VN','value','vn ','Verb, Infinitive',NULL);
+INSERT INTO "annotation" VALUES(204,'V1','value','v1 ','Verb, Main, 1st person',NULL);
+INSERT INTO "annotation" VALUES(205,'V2','value','v2 ','Verb, Main, 2nd person',NULL);
+INSERT INTO "annotation" VALUES(206,'V3','value','v3 ','Verb, Main, 3rd person',NULL);
+INSERT INTO "annotation" VALUES(207,'VPPF','value','vppf ','Verb, Participle, Plural, Feminine',NULL);
+INSERT INTO "annotation" VALUES(208,'VPPM','value','vppm ','Verb, Participle, Plural, Masculine',NULL);
+INSERT INTO "annotation" VALUES(209,'VPSF','value','vpsf ','Verb, Participle, Singular, Feminine',NULL);
+INSERT INTO "annotation" VALUES(210,'VPSM','value','vpsm ','Verb, Participle, Singular, Masculine',NULL);
+INSERT INTO "annotation" VALUES(211,'cnx','foundry',NULL,'Connexor',NULL);
+INSERT INTO "annotation" VALUES(212,'c','layer',NULL,'Constituency',NULL);
+INSERT INTO "annotation" VALUES(213,'syn','layer',NULL,'Syntax',NULL);
+INSERT INTO "annotation" VALUES(214,'np','key','np ','Nominal Phrase',NULL);
+INSERT INTO "annotation" VALUES(215,'Abbr','key','Abbr ','Nouns: Abbreviation',NULL);
+INSERT INTO "annotation" VALUES(216,'CMP','key','CMP ','Adjective: Comparative',NULL);
+INSERT INTO "annotation" VALUES(217,'IMP','key','IMP ','Mood: Imperative',NULL);
+INSERT INTO "annotation" VALUES(218,'IND','key','IND ','Mood: Indicative',NULL);
+INSERT INTO "annotation" VALUES(219,'INF','key','INF ','Infinitive',NULL);
+INSERT INTO "annotation" VALUES(220,'ORD','key','ORD ','Numeral: Ordinal',NULL);
+INSERT INTO "annotation" VALUES(221,'PAST','key','PAST ','Tense: past',NULL);
+INSERT INTO "annotation" VALUES(222,'PCP','key','PCP ','Participle',NULL);
+INSERT INTO "annotation" VALUES(223,'PERF','key','PERF ','Perfective Participle',NULL);
+INSERT INTO "annotation" VALUES(224,'PL','key','PL ','Nouns: Plural',NULL);
+INSERT INTO "annotation" VALUES(225,'PRES','key','PRES ','Tense: present',NULL);
+INSERT INTO "annotation" VALUES(226,'PROG','key','PROG ','Progressive Participle',NULL);
+INSERT INTO "annotation" VALUES(227,'Prop','key','Prop ','Nouns: Proper Noun',NULL);
+INSERT INTO "annotation" VALUES(228,'SUB','key','SUB ','Mood: Subjunctive',NULL);
+INSERT INTO "annotation" VALUES(229,'SUP','key','SUP ','Adjective: Superlative',NULL);
+INSERT INTO "annotation" VALUES(230,'A','key','A ','Adjective',NULL);
+INSERT INTO "annotation" VALUES(231,'CC','key','CC ','Coordination Marker',NULL);
+INSERT INTO "annotation" VALUES(232,'CS','key','CS ','Clause Marker',NULL);
+INSERT INTO "annotation" VALUES(233,'INTERJ','key','INTERJ ','Interjection',NULL);
+INSERT INTO "annotation" VALUES(234,'N','key','N ','Noun',NULL);
+INSERT INTO "annotation" VALUES(235,'NUM','key','NUM ','Numeral',NULL);
+INSERT INTO "annotation" VALUES(236,'PREP','key','PREP ','Preposition',NULL);
+INSERT INTO "annotation" VALUES(237,'PRON','key','PRON ','Pro-Nominal',NULL);
+INSERT INTO "annotation" VALUES(238,'V','key','V ','Verb',NULL);
+INSERT INTO "annotation" VALUES(239,'@ADVL','key','@ADVL ','Adverbial Head',NULL);
+INSERT INTO "annotation" VALUES(240,'@AUX','key','@AUX ','Auxiliary Verb',NULL);
+INSERT INTO "annotation" VALUES(241,'@CC','key','@CC ','Coordination',NULL);
+INSERT INTO "annotation" VALUES(242,'@MAIN','key','@MAIN ','Main Verb',NULL);
+INSERT INTO "annotation" VALUES(243,'@NH','key','@NH ','Nominal Head',NULL);
+INSERT INTO "annotation" VALUES(244,'@POSTMOD','key','@POSTMOD ','Postmodifier',NULL);
+INSERT INTO "annotation" VALUES(245,'@PREMARK','key','@PREMARK ','Preposed Marker',NULL);
+INSERT INTO "annotation" VALUES(246,'@PREMOD','key','@PREMOD ','Premodifier',NULL);
+INSERT INTO "annotation" VALUES(247,'marmot','foundry',NULL,'MarMoT',NULL);
+INSERT INTO "annotation" VALUES(248,'base','foundry',NULL,'Base Annotation',NULL);
+INSERT INTO "annotation" VALUES(249,'s','layer',NULL,'Structure',NULL);
+INSERT INTO "annotation" VALUES(250,'s','key','s','Sentence',NULL);
+INSERT INTO "annotation" VALUES(251,'p','key','p','Paragraph',NULL);
+INSERT INTO "annotation" VALUES(252,'t','key','t','Text',NULL);
+INSERT INTO "annotation" VALUES(253,'xip','foundry',NULL,'Xerox Parser',NULL);
+INSERT INTO "annotation" VALUES(254,'lwc','foundry',NULL,'LWC',NULL);
+INSERT INTO "annotation" VALUES(255,'AC','key','AC ','adpositional case marker',NULL);
+INSERT INTO "annotation" VALUES(256,'ADC','key','ADC ','adjective component',NULL);
+INSERT INTO "annotation" VALUES(257,'AMS','key','AMS ','measure argument of adj',NULL);
+INSERT INTO "annotation" VALUES(258,'AVC','key','AVC ','adverbial phrase component',NULL);
+INSERT INTO "annotation" VALUES(259,'CD','key','CD ','coordinating conjunction',NULL);
+INSERT INTO "annotation" VALUES(260,'CM','key','CM ','comparative concjunction',NULL);
+INSERT INTO "annotation" VALUES(261,'CP','key','CP ','complementizer',NULL);
+INSERT INTO "annotation" VALUES(262,'DA','key','DA ','dative',NULL);
+INSERT INTO "annotation" VALUES(263,'DH','key','DH ','discourse-level head',NULL);
+INSERT INTO "annotation" VALUES(264,'DM','key','DM ','discourse marker',NULL);
+INSERT INTO "annotation" VALUES(265,'GL','key','GL ','prenominal genitive',NULL);
+INSERT INTO "annotation" VALUES(266,'GR','key','GR ','postnominal genitive',NULL);
+INSERT INTO "annotation" VALUES(267,'HD','key','HD ','head',NULL);
+INSERT INTO "annotation" VALUES(268,'JU','key','JU ','junctor',NULL);
+INSERT INTO "annotation" VALUES(269,'MC','key','MC ','comitative',NULL);
+INSERT INTO "annotation" VALUES(270,'MI','key','MI ','instrumental',NULL);
+INSERT INTO "annotation" VALUES(271,'ML','key','ML ','locative',NULL);
+INSERT INTO "annotation" VALUES(272,'MNR','key','MNR ','postnominal modifier',NULL);
+INSERT INTO "annotation" VALUES(273,'MO','key','MO ','modifier',NULL);
+INSERT INTO "annotation" VALUES(274,'MR','key','MR ','rhetorical modifier',NULL);
+INSERT INTO "annotation" VALUES(275,'MW','key','MW ','way (directional modifier)',NULL);
+INSERT INTO "annotation" VALUES(276,'NG','key','NG ','negation',NULL);
+INSERT INTO "annotation" VALUES(277,'NK','key','NK ','noun kernel modifier',NULL);
+INSERT INTO "annotation" VALUES(278,'NMC','key','NMC ','numerical component',NULL);
+INSERT INTO "annotation" VALUES(279,'OA','key','OA ','accusative object',NULL);
+INSERT INTO "annotation" VALUES(280,'OA2','key','OA2 ','second accusative object',NULL);
+INSERT INTO "annotation" VALUES(281,'OC','key','OC ','clausal object',NULL);
+INSERT INTO "annotation" VALUES(282,'OG','key','OG ','genitive object',NULL);
+INSERT INTO "annotation" VALUES(283,'PD','key','PD ','predicate',NULL);
+INSERT INTO "annotation" VALUES(284,'PG','key','PG ','pseudo-genitive',NULL);
+INSERT INTO "annotation" VALUES(285,'PH','key','PH ','placeholder',NULL);
+INSERT INTO "annotation" VALUES(286,'PM','key','PM ','morphological particle',NULL);
+INSERT INTO "annotation" VALUES(287,'PNC','key','PNC ','proper noun component',NULL);
+INSERT INTO "annotation" VALUES(288,'RC','key','RC ','relative clause',NULL);
+INSERT INTO "annotation" VALUES(289,'RE','key','RE ','repeated element',NULL);
+INSERT INTO "annotation" VALUES(290,'RS','key','RS ','reported speech',NULL);
+INSERT INTO "annotation" VALUES(291,'SB','key','SB ','subject',NULL);
+INSERT INTO "annotation" VALUES(292,'SBP','key','SBP ','passivised subject (PP)',NULL);
+INSERT INTO "annotation" VALUES(293,'SP','key','SP ','subject or predicate',NULL);
+INSERT INTO "annotation" VALUES(294,'SVP','key','SVP ','separable verb prefix',NULL);
+INSERT INTO "annotation" VALUES(295,'UC','key','UC ','(idiosyncratic) unit component',NULL);
+INSERT INTO "annotation" VALUES(296,'VO','key','VO ','vocative',NULL);
+INSERT INTO "annotation" VALUES(297,'dereko','foundry',NULL,'DeReKo',NULL);
+INSERT INTO "annotation" VALUES(298,'sgbr','foundry',NULL,'Schreibgebrauch',NULL);
+INSERT INTO "annotation" VALUES(299,'lv','layer',NULL,'Lemma Variants',NULL);
+INSERT INTO "annotation" VALUES(300,'NNE','key','NNE','Normal Nomina with Named Entity',NULL);
+INSERT INTO "annotation" VALUES(301,'ADVART','key','ADVART','Adverb with Article',NULL);
+INSERT INTO "annotation" VALUES(302,'EMOASC','key','EMOASC','ASCII emoticon',NULL);
+INSERT INTO "annotation" VALUES(303,'EMOIMG','key','EMOIMG','Graphic emoticon',NULL);
+INSERT INTO "annotation" VALUES(304,'ERRTOK','key','ERRTOK','Tokenisation Error',NULL);
+INSERT INTO "annotation" VALUES(305,'HST','key','HST','Hashtag',NULL);
+INSERT INTO "annotation" VALUES(306,'KOUSPPER','key','KOUSPPER','Subordinating Conjunction (with Sentence) with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(307,'ONO','key','ONO','Onomatopoeia',NULL);
+INSERT INTO "annotation" VALUES(308,'PPERPPER','key','PPERPPER','Personal Pronoun with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(309,'URL','key','URL','Uniform Resource Locator',NULL);
+INSERT INTO "annotation" VALUES(310,'VAPPER','key','VAPPER','Finite Auxiliary Verb with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(311,'VMPPER','key','VMPPER','Fintite Modal Verb with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(312,'VVPPER','key','VVPPER','Finite Full Verb with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(313,'AW','key','AW','Interaction Word',NULL);
+INSERT INTO "annotation" VALUES(314,'ADR','key','ADR','Addressing Term',NULL);
+INSERT INTO "annotation" VALUES(315,'AWIND','key','AWIND','Punctuation Indicating Addressing Term',NULL);
+INSERT INTO "annotation" VALUES(316,'ERRAW','key','ERRAW','Part of Erroneously Separated Compound',NULL);
+INSERT INTO "annotation" VALUES(317,'corenlp','foundry',NULL,'CoreNLP',NULL);
+INSERT INTO "annotation" VALUES(318,'ne','layer',NULL,'Named Entity',NULL);
+INSERT INTO "annotation" VALUES(319,'ne_dewac_175m_600','layer',NULL,'Named Entity',NULL);
+INSERT INTO "annotation" VALUES(320,'ne_hgc_175m_600','layer',NULL,'Named Entity',NULL);
+INSERT INTO "annotation" VALUES(321,'I-LOC','key','I-LOC ','Location',NULL);
+INSERT INTO "annotation" VALUES(322,'I-MISC','key','I-MISC ','Miscellaneous',NULL);
+INSERT INTO "annotation" VALUES(323,'I-ORG','key','I-ORG ','Organization',NULL);
+INSERT INTO "annotation" VALUES(324,'I-PER','key','I-PER ','Person',NULL);
+INSERT INTO "annotation" VALUES(325,'AA','key','AA','superlative phrase with ''am''',NULL);
+INSERT INTO "annotation" VALUES(326,'AP','key','AP','adjektive phrase',NULL);
+INSERT INTO "annotation" VALUES(327,'AVP','key','AVP','adverbial phrase',NULL);
+INSERT INTO "annotation" VALUES(328,'CAP','key','CAP','coordinated adjektive phrase',NULL);
+INSERT INTO "annotation" VALUES(329,'CAVP','key','CAVP','coordinated adverbial phrase',NULL);
+INSERT INTO "annotation" VALUES(330,'CAC','key','CAC','coordinated adposition',NULL);
+INSERT INTO "annotation" VALUES(331,'CCP','key','CCP','coordinated complementiser',NULL);
+INSERT INTO "annotation" VALUES(332,'CH','key','CH','chunk',NULL);
+INSERT INTO "annotation" VALUES(333,'CNP','key','CNP','coordinated noun phrase',NULL);
+INSERT INTO "annotation" VALUES(334,'CO','key','CO','coordination',NULL);
+INSERT INTO "annotation" VALUES(335,'CPP','key','CPP','coordinated adpositional phrase',NULL);
+INSERT INTO "annotation" VALUES(336,'CVP','key','CVP','coordinated verb phrase (non-finite)',NULL);
+INSERT INTO "annotation" VALUES(337,'CVZ','key','CVZ','coordinated zu-marked infinitive',NULL);
+INSERT INTO "annotation" VALUES(338,'DL','key','DL','discourse level constituent',NULL);
+INSERT INTO "annotation" VALUES(339,'ISU','key','ISU','idiosyncratis unit',NULL);
+INSERT INTO "annotation" VALUES(340,'MPN','key','MPN','multi-word proper noun',NULL);
+INSERT INTO "annotation" VALUES(341,'MTA','key','MTA','multi-token adjective',NULL);
+INSERT INTO "annotation" VALUES(342,'NM','key','NM','multi-token number',NULL);
+INSERT INTO "annotation" VALUES(343,'NP','key','NP','noun phrase',NULL);
+INSERT INTO "annotation" VALUES(344,'QL','key','QL','quasi-languag',NULL);
+INSERT INTO "annotation" VALUES(345,'VP','key','VP','verb phrase (non-finite)',NULL);
+INSERT INTO "annotation" VALUES(346,'VZ','key','VZ','zu-marked infinitive',NULL);
+INSERT INTO "annotation" VALUES(347,'AC','value','AC ','adpositional case marker',NULL);
+INSERT INTO "annotation" VALUES(348,'ADC','value','ADC ','adjective component',NULL);
+INSERT INTO "annotation" VALUES(349,'AMS','value','AMS ','measure argument of adj',NULL);
+INSERT INTO "annotation" VALUES(350,'APP','value','APP ','apposition',NULL);
+INSERT INTO "annotation" VALUES(351,'AVC','value','AVC ','adverbial phrase component',NULL);
+INSERT INTO "annotation" VALUES(352,'CC','value','CC ','comparative complement',NULL);
+INSERT INTO "annotation" VALUES(353,'CD','value','CD ','coordinating conjunction',NULL);
+INSERT INTO "annotation" VALUES(354,'CJ','value','CJ ','conjunct',NULL);
+INSERT INTO "annotation" VALUES(355,'CM','value','CM ','comparative concjunction',NULL);
+INSERT INTO "annotation" VALUES(356,'CP','value','CP ','complementizer',NULL);
+INSERT INTO "annotation" VALUES(357,'DA','value','DA ','dative',NULL);
+INSERT INTO "annotation" VALUES(358,'DH','value','DH ','discourse-level head',NULL);
+INSERT INTO "annotation" VALUES(359,'DM','value','DM ','discourse marker',NULL);
+INSERT INTO "annotation" VALUES(360,'GL','value','GL ','prenominal genitive',NULL);
+INSERT INTO "annotation" VALUES(361,'GR','value','GR ','postnominal genitive',NULL);
+INSERT INTO "annotation" VALUES(362,'HD','value','HD ','head',NULL);
+INSERT INTO "annotation" VALUES(363,'JU','value','JU ','junctor',NULL);
+INSERT INTO "annotation" VALUES(364,'MC','value','MC ','comitative',NULL);
+INSERT INTO "annotation" VALUES(365,'MI','value','MI ','instrumental',NULL);
+INSERT INTO "annotation" VALUES(366,'ML','value','ML ','locative',NULL);
+INSERT INTO "annotation" VALUES(367,'MNR','value','MNR ','postnominal modifier',NULL);
+INSERT INTO "annotation" VALUES(368,'MO','value','MO ','modifier',NULL);
+INSERT INTO "annotation" VALUES(369,'MR','value','MR ','rhetorical modifier',NULL);
+INSERT INTO "annotation" VALUES(370,'MW','value','MW ','way (directional modifier)',NULL);
+INSERT INTO "annotation" VALUES(371,'NG','value','NG ','negation',NULL);
+INSERT INTO "annotation" VALUES(372,'NK','value','NK ','noun kernel modifier',NULL);
+INSERT INTO "annotation" VALUES(373,'NMC','value','NMC ','numerical component',NULL);
+INSERT INTO "annotation" VALUES(374,'OA','value','OA ','accusative object',NULL);
+INSERT INTO "annotation" VALUES(375,'OA2','value','OA2 ','second accusative object',NULL);
+INSERT INTO "annotation" VALUES(376,'OC','value','OC ','clausal object',NULL);
+INSERT INTO "annotation" VALUES(377,'OG','value','OG ','genitive object',NULL);
+INSERT INTO "annotation" VALUES(378,'PD','value','PD ','predicate',NULL);
+INSERT INTO "annotation" VALUES(379,'PG','value','PG ','pseudo-genitive',NULL);
+INSERT INTO "annotation" VALUES(380,'PH','value','PH ','placeholder',NULL);
+INSERT INTO "annotation" VALUES(381,'PM','value','PM ','morphological particle',NULL);
+INSERT INTO "annotation" VALUES(382,'PNC','value','PNC ','proper noun component',NULL);
+INSERT INTO "annotation" VALUES(383,'RE','value','RE ','repeated element',NULL);
+INSERT INTO "annotation" VALUES(384,'RS','value','RS ','reported speech',NULL);
+INSERT INTO "annotation" VALUES(385,'SB','value','SB ','subject',NULL);
+INSERT INTO "annotation" VALUES(386,'SBP','value','SBP ','passivised subject (PP)',NULL);
+INSERT INTO "annotation" VALUES(387,'SP','value','SP ','subject or predicate',NULL);
+INSERT INTO "annotation" VALUES(388,'SVP','value','SVP ','separable verb prefix',NULL);
+INSERT INTO "annotation" VALUES(389,'UC','value','UC ','(idiosyncratic) unit component',NULL);
+INSERT INTO "annotation" VALUES(390,'VO','value','VO ','vocative',NULL);
+INSERT INTO "annotation" VALUES(391,'tt','foundry',NULL,'TreeTagger',NULL);
diff --git a/full/src/main/resources/db/lite/V1.2__annotation_layer.sql b/full/src/main/resources/db/lite/V1.2__annotation_layer.sql
new file mode 100644
index 0000000..03ae9fc
--- /dev/null
+++ b/full/src/main/resources/db/lite/V1.2__annotation_layer.sql
@@ -0,0 +1,31 @@
+INSERT INTO "annotation_layer" VALUES(1,1,2,'OpenNLP Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(2,55,56,'Mate Lemma');
+INSERT INTO "annotation_layer" VALUES(3,55,57,'Mate Morphology');
+INSERT INTO "annotation_layer" VALUES(4,55,2,'Mate Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(5,88,89,'Malt Dependency');
+INSERT INTO "annotation_layer" VALUES(6,123,56,'DRuKoLa Lemma');
+INSERT INTO "annotation_layer" VALUES(7,123,57,'DRuKoLa Morphology');
+INSERT INTO "annotation_layer" VALUES(8,123,2,'DRuKoLa Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(9,211,212,'Connexor Constituency');
+INSERT INTO "annotation_layer" VALUES(10,211,56,'Connexor Lemma');
+INSERT INTO "annotation_layer" VALUES(11,211,57,'Connexor Morphology');
+INSERT INTO "annotation_layer" VALUES(12,211,2,'Connexor Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(13,211,213,'Connexor Syntax');
+INSERT INTO "annotation_layer" VALUES(14,247,57,'MarMoT Morphology');
+INSERT INTO "annotation_layer" VALUES(15,247,2,'MarMoT Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(16,248,249,'Base Annotation Structure');
+INSERT INTO "annotation_layer" VALUES(17,253,212,'Xerox Parser Constituency');
+INSERT INTO "annotation_layer" VALUES(18,253,56,'Xerox Parser Lemma');
+INSERT INTO "annotation_layer" VALUES(19,253,2,'Xerox Parser Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(20,254,89,'LWC Dependency');
+INSERT INTO "annotation_layer" VALUES(21,297,249,'DeReKo Structure');
+INSERT INTO "annotation_layer" VALUES(22,298,56,'Schreibgebrauch Lemma');
+INSERT INTO "annotation_layer" VALUES(23,298,299,'Schreibgebrauch Lemma Variants');
+INSERT INTO "annotation_layer" VALUES(24,298,2,'Schreibgebrauch Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(25,317,212,'CoreNLP Constituency');
+INSERT INTO "annotation_layer" VALUES(26,317,318,'CoreNLP Named Entity');
+INSERT INTO "annotation_layer" VALUES(27,317,319,'CoreNLP Named Entity');
+INSERT INTO "annotation_layer" VALUES(28,317,320,'CoreNLP Named Entity');
+INSERT INTO "annotation_layer" VALUES(29,317,2,'CoreNLP Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(30,391,56,'TreeTagger Lemma');
+INSERT INTO "annotation_layer" VALUES(31,391,2,'TreeTagger Part-of-Speech');
diff --git a/full/src/main/resources/db/lite/V1.3__annotation_key.sql b/full/src/main/resources/db/lite/V1.3__annotation_key.sql
new file mode 100644
index 0000000..f713062
--- /dev/null
+++ b/full/src/main/resources/db/lite/V1.3__annotation_key.sql
@@ -0,0 +1,503 @@
+INSERT INTO "annotation_key" VALUES(1,1,3);
+INSERT INTO "annotation_key" VALUES(2,1,4);
+INSERT INTO "annotation_key" VALUES(3,1,5);
+INSERT INTO "annotation_key" VALUES(4,1,6);
+INSERT INTO "annotation_key" VALUES(5,1,7);
+INSERT INTO "annotation_key" VALUES(6,1,8);
+INSERT INTO "annotation_key" VALUES(7,1,9);
+INSERT INTO "annotation_key" VALUES(8,1,10);
+INSERT INTO "annotation_key" VALUES(9,1,11);
+INSERT INTO "annotation_key" VALUES(10,1,12);
+INSERT INTO "annotation_key" VALUES(11,1,13);
+INSERT INTO "annotation_key" VALUES(12,1,14);
+INSERT INTO "annotation_key" VALUES(13,1,15);
+INSERT INTO "annotation_key" VALUES(14,1,16);
+INSERT INTO "annotation_key" VALUES(15,1,17);
+INSERT INTO "annotation_key" VALUES(16,1,18);
+INSERT INTO "annotation_key" VALUES(17,1,19);
+INSERT INTO "annotation_key" VALUES(18,1,20);
+INSERT INTO "annotation_key" VALUES(19,1,21);
+INSERT INTO "annotation_key" VALUES(20,1,22);
+INSERT INTO "annotation_key" VALUES(21,1,23);
+INSERT INTO "annotation_key" VALUES(22,1,24);
+INSERT INTO "annotation_key" VALUES(23,1,25);
+INSERT INTO "annotation_key" VALUES(24,1,26);
+INSERT INTO "annotation_key" VALUES(25,1,27);
+INSERT INTO "annotation_key" VALUES(26,1,28);
+INSERT INTO "annotation_key" VALUES(27,1,29);
+INSERT INTO "annotation_key" VALUES(28,1,30);
+INSERT INTO "annotation_key" VALUES(29,1,31);
+INSERT INTO "annotation_key" VALUES(30,1,32);
+INSERT INTO "annotation_key" VALUES(31,1,33);
+INSERT INTO "annotation_key" VALUES(32,1,34);
+INSERT INTO "annotation_key" VALUES(33,1,35);
+INSERT INTO "annotation_key" VALUES(34,1,36);
+INSERT INTO "annotation_key" VALUES(35,1,37);
+INSERT INTO "annotation_key" VALUES(36,1,38);
+INSERT INTO "annotation_key" VALUES(37,1,39);
+INSERT INTO "annotation_key" VALUES(38,1,40);
+INSERT INTO "annotation_key" VALUES(39,1,41);
+INSERT INTO "annotation_key" VALUES(40,1,42);
+INSERT INTO "annotation_key" VALUES(41,1,43);
+INSERT INTO "annotation_key" VALUES(42,1,44);
+INSERT INTO "annotation_key" VALUES(43,1,45);
+INSERT INTO "annotation_key" VALUES(44,1,46);
+INSERT INTO "annotation_key" VALUES(45,1,47);
+INSERT INTO "annotation_key" VALUES(46,1,48);
+INSERT INTO "annotation_key" VALUES(47,1,49);
+INSERT INTO "annotation_key" VALUES(48,1,50);
+INSERT INTO "annotation_key" VALUES(49,1,51);
+INSERT INTO "annotation_key" VALUES(50,1,52);
+INSERT INTO "annotation_key" VALUES(51,1,53);
+INSERT INTO "annotation_key" VALUES(52,1,54);
+INSERT INTO "annotation_key" VALUES(53,4,3);
+INSERT INTO "annotation_key" VALUES(54,4,4);
+INSERT INTO "annotation_key" VALUES(55,4,5);
+INSERT INTO "annotation_key" VALUES(56,4,6);
+INSERT INTO "annotation_key" VALUES(57,4,7);
+INSERT INTO "annotation_key" VALUES(58,4,8);
+INSERT INTO "annotation_key" VALUES(59,4,9);
+INSERT INTO "annotation_key" VALUES(60,4,10);
+INSERT INTO "annotation_key" VALUES(61,4,11);
+INSERT INTO "annotation_key" VALUES(62,4,12);
+INSERT INTO "annotation_key" VALUES(63,4,13);
+INSERT INTO "annotation_key" VALUES(64,4,14);
+INSERT INTO "annotation_key" VALUES(65,4,15);
+INSERT INTO "annotation_key" VALUES(66,4,16);
+INSERT INTO "annotation_key" VALUES(67,4,17);
+INSERT INTO "annotation_key" VALUES(68,4,18);
+INSERT INTO "annotation_key" VALUES(69,4,19);
+INSERT INTO "annotation_key" VALUES(70,4,20);
+INSERT INTO "annotation_key" VALUES(71,4,21);
+INSERT INTO "annotation_key" VALUES(72,4,22);
+INSERT INTO "annotation_key" VALUES(73,4,23);
+INSERT INTO "annotation_key" VALUES(74,4,24);
+INSERT INTO "annotation_key" VALUES(75,4,25);
+INSERT INTO "annotation_key" VALUES(76,4,26);
+INSERT INTO "annotation_key" VALUES(77,4,27);
+INSERT INTO "annotation_key" VALUES(78,4,28);
+INSERT INTO "annotation_key" VALUES(79,4,29);
+INSERT INTO "annotation_key" VALUES(80,4,30);
+INSERT INTO "annotation_key" VALUES(81,4,31);
+INSERT INTO "annotation_key" VALUES(82,4,32);
+INSERT INTO "annotation_key" VALUES(83,4,33);
+INSERT INTO "annotation_key" VALUES(84,4,34);
+INSERT INTO "annotation_key" VALUES(85,4,35);
+INSERT INTO "annotation_key" VALUES(86,4,36);
+INSERT INTO "annotation_key" VALUES(87,4,37);
+INSERT INTO "annotation_key" VALUES(88,4,38);
+INSERT INTO "annotation_key" VALUES(89,4,39);
+INSERT INTO "annotation_key" VALUES(90,4,40);
+INSERT INTO "annotation_key" VALUES(91,4,41);
+INSERT INTO "annotation_key" VALUES(92,4,42);
+INSERT INTO "annotation_key" VALUES(93,4,43);
+INSERT INTO "annotation_key" VALUES(94,4,44);
+INSERT INTO "annotation_key" VALUES(95,4,45);
+INSERT INTO "annotation_key" VALUES(96,4,46);
+INSERT INTO "annotation_key" VALUES(97,4,47);
+INSERT INTO "annotation_key" VALUES(98,4,48);
+INSERT INTO "annotation_key" VALUES(99,4,49);
+INSERT INTO "annotation_key" VALUES(100,4,50);
+INSERT INTO "annotation_key" VALUES(101,4,51);
+INSERT INTO "annotation_key" VALUES(102,4,52);
+INSERT INTO "annotation_key" VALUES(103,4,53);
+INSERT INTO "annotation_key" VALUES(104,4,54);
+INSERT INTO "annotation_key" VALUES(105,4,58);
+INSERT INTO "annotation_key" VALUES(106,3,59);
+INSERT INTO "annotation_key" VALUES(107,3,60);
+INSERT INTO "annotation_key" VALUES(108,3,61);
+INSERT INTO "annotation_key" VALUES(109,3,62);
+INSERT INTO "annotation_key" VALUES(110,3,63);
+INSERT INTO "annotation_key" VALUES(111,3,64);
+INSERT INTO "annotation_key" VALUES(112,3,65);
+INSERT INTO "annotation_key" VALUES(113,3,66);
+INSERT INTO "annotation_key" VALUES(114,5,90);
+INSERT INTO "annotation_key" VALUES(115,5,91);
+INSERT INTO "annotation_key" VALUES(116,5,5);
+INSERT INTO "annotation_key" VALUES(117,5,92);
+INSERT INTO "annotation_key" VALUES(118,5,93);
+INSERT INTO "annotation_key" VALUES(119,5,94);
+INSERT INTO "annotation_key" VALUES(120,5,95);
+INSERT INTO "annotation_key" VALUES(121,5,96);
+INSERT INTO "annotation_key" VALUES(122,5,97);
+INSERT INTO "annotation_key" VALUES(123,5,98);
+INSERT INTO "annotation_key" VALUES(124,5,99);
+INSERT INTO "annotation_key" VALUES(125,5,100);
+INSERT INTO "annotation_key" VALUES(126,5,101);
+INSERT INTO "annotation_key" VALUES(127,5,15);
+INSERT INTO "annotation_key" VALUES(128,5,102);
+INSERT INTO "annotation_key" VALUES(129,5,103);
+INSERT INTO "annotation_key" VALUES(130,5,104);
+INSERT INTO "annotation_key" VALUES(131,5,105);
+INSERT INTO "annotation_key" VALUES(132,5,106);
+INSERT INTO "annotation_key" VALUES(133,5,107);
+INSERT INTO "annotation_key" VALUES(134,5,108);
+INSERT INTO "annotation_key" VALUES(135,5,109);
+INSERT INTO "annotation_key" VALUES(136,5,110);
+INSERT INTO "annotation_key" VALUES(137,5,111);
+INSERT INTO "annotation_key" VALUES(138,5,112);
+INSERT INTO "annotation_key" VALUES(139,5,113);
+INSERT INTO "annotation_key" VALUES(140,5,114);
+INSERT INTO "annotation_key" VALUES(141,5,115);
+INSERT INTO "annotation_key" VALUES(142,5,116);
+INSERT INTO "annotation_key" VALUES(143,5,117);
+INSERT INTO "annotation_key" VALUES(144,5,118);
+INSERT INTO "annotation_key" VALUES(145,5,119);
+INSERT INTO "annotation_key" VALUES(146,5,120);
+INSERT INTO "annotation_key" VALUES(147,5,121);
+INSERT INTO "annotation_key" VALUES(148,5,122);
+INSERT INTO "annotation_key" VALUES(149,7,124);
+INSERT INTO "annotation_key" VALUES(150,9,214);
+INSERT INTO "annotation_key" VALUES(151,11,215);
+INSERT INTO "annotation_key" VALUES(152,11,216);
+INSERT INTO "annotation_key" VALUES(153,11,217);
+INSERT INTO "annotation_key" VALUES(154,11,218);
+INSERT INTO "annotation_key" VALUES(155,11,219);
+INSERT INTO "annotation_key" VALUES(156,11,220);
+INSERT INTO "annotation_key" VALUES(157,11,221);
+INSERT INTO "annotation_key" VALUES(158,11,222);
+INSERT INTO "annotation_key" VALUES(159,11,223);
+INSERT INTO "annotation_key" VALUES(160,11,224);
+INSERT INTO "annotation_key" VALUES(161,11,225);
+INSERT INTO "annotation_key" VALUES(162,11,226);
+INSERT INTO "annotation_key" VALUES(163,11,227);
+INSERT INTO "annotation_key" VALUES(164,11,228);
+INSERT INTO "annotation_key" VALUES(165,11,229);
+INSERT INTO "annotation_key" VALUES(166,12,230);
+INSERT INTO "annotation_key" VALUES(167,12,5);
+INSERT INTO "annotation_key" VALUES(168,12,231);
+INSERT INTO "annotation_key" VALUES(169,12,232);
+INSERT INTO "annotation_key" VALUES(170,12,97);
+INSERT INTO "annotation_key" VALUES(171,12,233);
+INSERT INTO "annotation_key" VALUES(172,12,234);
+INSERT INTO "annotation_key" VALUES(173,12,235);
+INSERT INTO "annotation_key" VALUES(174,12,236);
+INSERT INTO "annotation_key" VALUES(175,12,237);
+INSERT INTO "annotation_key" VALUES(176,12,238);
+INSERT INTO "annotation_key" VALUES(177,13,239);
+INSERT INTO "annotation_key" VALUES(178,13,240);
+INSERT INTO "annotation_key" VALUES(179,13,241);
+INSERT INTO "annotation_key" VALUES(180,13,242);
+INSERT INTO "annotation_key" VALUES(181,13,243);
+INSERT INTO "annotation_key" VALUES(182,13,244);
+INSERT INTO "annotation_key" VALUES(183,13,245);
+INSERT INTO "annotation_key" VALUES(184,13,246);
+INSERT INTO "annotation_key" VALUES(185,15,3);
+INSERT INTO "annotation_key" VALUES(186,15,4);
+INSERT INTO "annotation_key" VALUES(187,15,5);
+INSERT INTO "annotation_key" VALUES(188,15,6);
+INSERT INTO "annotation_key" VALUES(189,15,7);
+INSERT INTO "annotation_key" VALUES(190,15,8);
+INSERT INTO "annotation_key" VALUES(191,15,9);
+INSERT INTO "annotation_key" VALUES(192,15,10);
+INSERT INTO "annotation_key" VALUES(193,15,11);
+INSERT INTO "annotation_key" VALUES(194,15,12);
+INSERT INTO "annotation_key" VALUES(195,15,13);
+INSERT INTO "annotation_key" VALUES(196,15,14);
+INSERT INTO "annotation_key" VALUES(197,15,15);
+INSERT INTO "annotation_key" VALUES(198,15,16);
+INSERT INTO "annotation_key" VALUES(199,15,17);
+INSERT INTO "annotation_key" VALUES(200,15,18);
+INSERT INTO "annotation_key" VALUES(201,15,19);
+INSERT INTO "annotation_key" VALUES(202,15,20);
+INSERT INTO "annotation_key" VALUES(203,15,21);
+INSERT INTO "annotation_key" VALUES(204,15,22);
+INSERT INTO "annotation_key" VALUES(205,15,23);
+INSERT INTO "annotation_key" VALUES(206,15,24);
+INSERT INTO "annotation_key" VALUES(207,15,25);
+INSERT INTO "annotation_key" VALUES(208,15,26);
+INSERT INTO "annotation_key" VALUES(209,15,27);
+INSERT INTO "annotation_key" VALUES(210,15,28);
+INSERT INTO "annotation_key" VALUES(211,15,29);
+INSERT INTO "annotation_key" VALUES(212,15,30);
+INSERT INTO "annotation_key" VALUES(213,15,31);
+INSERT INTO "annotation_key" VALUES(214,15,32);
+INSERT INTO "annotation_key" VALUES(215,15,33);
+INSERT INTO "annotation_key" VALUES(216,15,34);
+INSERT INTO "annotation_key" VALUES(217,15,35);
+INSERT INTO "annotation_key" VALUES(218,15,36);
+INSERT INTO "annotation_key" VALUES(219,15,37);
+INSERT INTO "annotation_key" VALUES(220,15,38);
+INSERT INTO "annotation_key" VALUES(221,15,39);
+INSERT INTO "annotation_key" VALUES(222,15,40);
+INSERT INTO "annotation_key" VALUES(223,15,41);
+INSERT INTO "annotation_key" VALUES(224,15,42);
+INSERT INTO "annotation_key" VALUES(225,15,43);
+INSERT INTO "annotation_key" VALUES(226,15,44);
+INSERT INTO "annotation_key" VALUES(227,15,45);
+INSERT INTO "annotation_key" VALUES(228,15,46);
+INSERT INTO "annotation_key" VALUES(229,15,47);
+INSERT INTO "annotation_key" VALUES(230,15,48);
+INSERT INTO "annotation_key" VALUES(231,15,49);
+INSERT INTO "annotation_key" VALUES(232,15,50);
+INSERT INTO "annotation_key" VALUES(233,15,51);
+INSERT INTO "annotation_key" VALUES(234,15,52);
+INSERT INTO "annotation_key" VALUES(235,15,53);
+INSERT INTO "annotation_key" VALUES(236,15,54);
+INSERT INTO "annotation_key" VALUES(237,14,59);
+INSERT INTO "annotation_key" VALUES(238,14,60);
+INSERT INTO "annotation_key" VALUES(239,14,61);
+INSERT INTO "annotation_key" VALUES(240,14,62);
+INSERT INTO "annotation_key" VALUES(241,14,63);
+INSERT INTO "annotation_key" VALUES(242,14,64);
+INSERT INTO "annotation_key" VALUES(243,14,65);
+INSERT INTO "annotation_key" VALUES(244,14,66);
+INSERT INTO "annotation_key" VALUES(245,16,250);
+INSERT INTO "annotation_key" VALUES(246,16,251);
+INSERT INTO "annotation_key" VALUES(247,16,252);
+INSERT INTO "annotation_key" VALUES(248,20,255);
+INSERT INTO "annotation_key" VALUES(249,20,256);
+INSERT INTO "annotation_key" VALUES(250,20,257);
+INSERT INTO "annotation_key" VALUES(251,20,92);
+INSERT INTO "annotation_key" VALUES(252,20,258);
+INSERT INTO "annotation_key" VALUES(253,20,231);
+INSERT INTO "annotation_key" VALUES(254,20,259);
+INSERT INTO "annotation_key" VALUES(255,20,96);
+INSERT INTO "annotation_key" VALUES(256,20,260);
+INSERT INTO "annotation_key" VALUES(257,20,261);
+INSERT INTO "annotation_key" VALUES(258,20,262);
+INSERT INTO "annotation_key" VALUES(259,20,263);
+INSERT INTO "annotation_key" VALUES(260,20,264);
+INSERT INTO "annotation_key" VALUES(261,20,265);
+INSERT INTO "annotation_key" VALUES(262,20,266);
+INSERT INTO "annotation_key" VALUES(263,20,267);
+INSERT INTO "annotation_key" VALUES(264,20,268);
+INSERT INTO "annotation_key" VALUES(265,20,269);
+INSERT INTO "annotation_key" VALUES(266,20,270);
+INSERT INTO "annotation_key" VALUES(267,20,271);
+INSERT INTO "annotation_key" VALUES(268,20,272);
+INSERT INTO "annotation_key" VALUES(269,20,273);
+INSERT INTO "annotation_key" VALUES(270,20,274);
+INSERT INTO "annotation_key" VALUES(271,20,275);
+INSERT INTO "annotation_key" VALUES(272,20,276);
+INSERT INTO "annotation_key" VALUES(273,20,277);
+INSERT INTO "annotation_key" VALUES(274,20,278);
+INSERT INTO "annotation_key" VALUES(275,20,279);
+INSERT INTO "annotation_key" VALUES(276,20,280);
+INSERT INTO "annotation_key" VALUES(277,20,281);
+INSERT INTO "annotation_key" VALUES(278,20,282);
+INSERT INTO "annotation_key" VALUES(279,20,283);
+INSERT INTO "annotation_key" VALUES(280,20,284);
+INSERT INTO "annotation_key" VALUES(281,20,285);
+INSERT INTO "annotation_key" VALUES(282,20,286);
+INSERT INTO "annotation_key" VALUES(283,20,287);
+INSERT INTO "annotation_key" VALUES(284,20,288);
+INSERT INTO "annotation_key" VALUES(285,20,289);
+INSERT INTO "annotation_key" VALUES(286,20,290);
+INSERT INTO "annotation_key" VALUES(287,20,291);
+INSERT INTO "annotation_key" VALUES(288,20,292);
+INSERT INTO "annotation_key" VALUES(289,20,293);
+INSERT INTO "annotation_key" VALUES(290,20,294);
+INSERT INTO "annotation_key" VALUES(291,20,295);
+INSERT INTO "annotation_key" VALUES(292,20,296);
+INSERT INTO "annotation_key" VALUES(293,24,3);
+INSERT INTO "annotation_key" VALUES(294,24,4);
+INSERT INTO "annotation_key" VALUES(295,24,5);
+INSERT INTO "annotation_key" VALUES(296,24,6);
+INSERT INTO "annotation_key" VALUES(297,24,7);
+INSERT INTO "annotation_key" VALUES(298,24,8);
+INSERT INTO "annotation_key" VALUES(299,24,9);
+INSERT INTO "annotation_key" VALUES(300,24,10);
+INSERT INTO "annotation_key" VALUES(301,24,11);
+INSERT INTO "annotation_key" VALUES(302,24,12);
+INSERT INTO "annotation_key" VALUES(303,24,13);
+INSERT INTO "annotation_key" VALUES(304,24,14);
+INSERT INTO "annotation_key" VALUES(305,24,15);
+INSERT INTO "annotation_key" VALUES(306,24,16);
+INSERT INTO "annotation_key" VALUES(307,24,17);
+INSERT INTO "annotation_key" VALUES(308,24,18);
+INSERT INTO "annotation_key" VALUES(309,24,19);
+INSERT INTO "annotation_key" VALUES(310,24,20);
+INSERT INTO "annotation_key" VALUES(311,24,21);
+INSERT INTO "annotation_key" VALUES(312,24,22);
+INSERT INTO "annotation_key" VALUES(313,24,23);
+INSERT INTO "annotation_key" VALUES(314,24,24);
+INSERT INTO "annotation_key" VALUES(315,24,25);
+INSERT INTO "annotation_key" VALUES(316,24,26);
+INSERT INTO "annotation_key" VALUES(317,24,27);
+INSERT INTO "annotation_key" VALUES(318,24,28);
+INSERT INTO "annotation_key" VALUES(319,24,29);
+INSERT INTO "annotation_key" VALUES(320,24,30);
+INSERT INTO "annotation_key" VALUES(321,24,31);
+INSERT INTO "annotation_key" VALUES(322,24,32);
+INSERT INTO "annotation_key" VALUES(323,24,33);
+INSERT INTO "annotation_key" VALUES(324,24,34);
+INSERT INTO "annotation_key" VALUES(325,24,35);
+INSERT INTO "annotation_key" VALUES(326,24,36);
+INSERT INTO "annotation_key" VALUES(327,24,37);
+INSERT INTO "annotation_key" VALUES(328,24,38);
+INSERT INTO "annotation_key" VALUES(329,24,39);
+INSERT INTO "annotation_key" VALUES(330,24,40);
+INSERT INTO "annotation_key" VALUES(331,24,41);
+INSERT INTO "annotation_key" VALUES(332,24,42);
+INSERT INTO "annotation_key" VALUES(333,24,43);
+INSERT INTO "annotation_key" VALUES(334,24,44);
+INSERT INTO "annotation_key" VALUES(335,24,45);
+INSERT INTO "annotation_key" VALUES(336,24,46);
+INSERT INTO "annotation_key" VALUES(337,24,47);
+INSERT INTO "annotation_key" VALUES(338,24,48);
+INSERT INTO "annotation_key" VALUES(339,24,49);
+INSERT INTO "annotation_key" VALUES(340,24,50);
+INSERT INTO "annotation_key" VALUES(341,24,51);
+INSERT INTO "annotation_key" VALUES(342,24,52);
+INSERT INTO "annotation_key" VALUES(343,24,53);
+INSERT INTO "annotation_key" VALUES(344,24,54);
+INSERT INTO "annotation_key" VALUES(345,24,300);
+INSERT INTO "annotation_key" VALUES(346,24,301);
+INSERT INTO "annotation_key" VALUES(347,24,302);
+INSERT INTO "annotation_key" VALUES(348,24,303);
+INSERT INTO "annotation_key" VALUES(349,24,304);
+INSERT INTO "annotation_key" VALUES(350,24,305);
+INSERT INTO "annotation_key" VALUES(351,24,306);
+INSERT INTO "annotation_key" VALUES(352,24,307);
+INSERT INTO "annotation_key" VALUES(353,24,308);
+INSERT INTO "annotation_key" VALUES(354,24,309);
+INSERT INTO "annotation_key" VALUES(355,24,310);
+INSERT INTO "annotation_key" VALUES(356,24,311);
+INSERT INTO "annotation_key" VALUES(357,24,312);
+INSERT INTO "annotation_key" VALUES(358,24,313);
+INSERT INTO "annotation_key" VALUES(359,24,314);
+INSERT INTO "annotation_key" VALUES(360,24,315);
+INSERT INTO "annotation_key" VALUES(361,24,316);
+INSERT INTO "annotation_key" VALUES(362,26,321);
+INSERT INTO "annotation_key" VALUES(363,26,322);
+INSERT INTO "annotation_key" VALUES(364,26,323);
+INSERT INTO "annotation_key" VALUES(365,26,324);
+INSERT INTO "annotation_key" VALUES(366,27,321);
+INSERT INTO "annotation_key" VALUES(367,27,322);
+INSERT INTO "annotation_key" VALUES(368,27,323);
+INSERT INTO "annotation_key" VALUES(369,27,324);
+INSERT INTO "annotation_key" VALUES(370,28,321);
+INSERT INTO "annotation_key" VALUES(371,28,322);
+INSERT INTO "annotation_key" VALUES(372,28,323);
+INSERT INTO "annotation_key" VALUES(373,28,324);
+INSERT INTO "annotation_key" VALUES(374,29,3);
+INSERT INTO "annotation_key" VALUES(375,29,4);
+INSERT INTO "annotation_key" VALUES(376,29,5);
+INSERT INTO "annotation_key" VALUES(377,29,6);
+INSERT INTO "annotation_key" VALUES(378,29,7);
+INSERT INTO "annotation_key" VALUES(379,29,8);
+INSERT INTO "annotation_key" VALUES(380,29,9);
+INSERT INTO "annotation_key" VALUES(381,29,10);
+INSERT INTO "annotation_key" VALUES(382,29,11);
+INSERT INTO "annotation_key" VALUES(383,29,12);
+INSERT INTO "annotation_key" VALUES(384,29,13);
+INSERT INTO "annotation_key" VALUES(385,29,14);
+INSERT INTO "annotation_key" VALUES(386,29,15);
+INSERT INTO "annotation_key" VALUES(387,29,16);
+INSERT INTO "annotation_key" VALUES(388,29,17);
+INSERT INTO "annotation_key" VALUES(389,29,18);
+INSERT INTO "annotation_key" VALUES(390,29,19);
+INSERT INTO "annotation_key" VALUES(391,29,20);
+INSERT INTO "annotation_key" VALUES(392,29,21);
+INSERT INTO "annotation_key" VALUES(393,29,22);
+INSERT INTO "annotation_key" VALUES(394,29,23);
+INSERT INTO "annotation_key" VALUES(395,29,24);
+INSERT INTO "annotation_key" VALUES(396,29,25);
+INSERT INTO "annotation_key" VALUES(397,29,26);
+INSERT INTO "annotation_key" VALUES(398,29,27);
+INSERT INTO "annotation_key" VALUES(399,29,28);
+INSERT INTO "annotation_key" VALUES(400,29,29);
+INSERT INTO "annotation_key" VALUES(401,29,30);
+INSERT INTO "annotation_key" VALUES(402,29,31);
+INSERT INTO "annotation_key" VALUES(403,29,32);
+INSERT INTO "annotation_key" VALUES(404,29,33);
+INSERT INTO "annotation_key" VALUES(405,29,34);
+INSERT INTO "annotation_key" VALUES(406,29,35);
+INSERT INTO "annotation_key" VALUES(407,29,36);
+INSERT INTO "annotation_key" VALUES(408,29,37);
+INSERT INTO "annotation_key" VALUES(409,29,38);
+INSERT INTO "annotation_key" VALUES(410,29,39);
+INSERT INTO "annotation_key" VALUES(411,29,40);
+INSERT INTO "annotation_key" VALUES(412,29,41);
+INSERT INTO "annotation_key" VALUES(413,29,42);
+INSERT INTO "annotation_key" VALUES(414,29,43);
+INSERT INTO "annotation_key" VALUES(415,29,44);
+INSERT INTO "annotation_key" VALUES(416,29,45);
+INSERT INTO "annotation_key" VALUES(417,29,46);
+INSERT INTO "annotation_key" VALUES(418,29,47);
+INSERT INTO "annotation_key" VALUES(419,29,48);
+INSERT INTO "annotation_key" VALUES(420,29,49);
+INSERT INTO "annotation_key" VALUES(421,29,50);
+INSERT INTO "annotation_key" VALUES(422,29,51);
+INSERT INTO "annotation_key" VALUES(423,29,52);
+INSERT INTO "annotation_key" VALUES(424,29,53);
+INSERT INTO "annotation_key" VALUES(425,29,54);
+INSERT INTO "annotation_key" VALUES(426,25,325);
+INSERT INTO "annotation_key" VALUES(427,25,326);
+INSERT INTO "annotation_key" VALUES(428,25,327);
+INSERT INTO "annotation_key" VALUES(429,25,328);
+INSERT INTO "annotation_key" VALUES(430,25,329);
+INSERT INTO "annotation_key" VALUES(431,25,330);
+INSERT INTO "annotation_key" VALUES(432,25,331);
+INSERT INTO "annotation_key" VALUES(433,25,332);
+INSERT INTO "annotation_key" VALUES(434,25,333);
+INSERT INTO "annotation_key" VALUES(435,25,334);
+INSERT INTO "annotation_key" VALUES(436,25,335);
+INSERT INTO "annotation_key" VALUES(437,25,232);
+INSERT INTO "annotation_key" VALUES(438,25,336);
+INSERT INTO "annotation_key" VALUES(439,25,337);
+INSERT INTO "annotation_key" VALUES(440,25,338);
+INSERT INTO "annotation_key" VALUES(441,25,339);
+INSERT INTO "annotation_key" VALUES(442,25,340);
+INSERT INTO "annotation_key" VALUES(443,25,341);
+INSERT INTO "annotation_key" VALUES(444,25,342);
+INSERT INTO "annotation_key" VALUES(445,25,343);
+INSERT INTO "annotation_key" VALUES(446,25,113);
+INSERT INTO "annotation_key" VALUES(447,25,344);
+INSERT INTO "annotation_key" VALUES(448,25,116);
+INSERT INTO "annotation_key" VALUES(449,25,117);
+INSERT INTO "annotation_key" VALUES(450,25,345);
+INSERT INTO "annotation_key" VALUES(451,25,346);
+INSERT INTO "annotation_key" VALUES(452,31,3);
+INSERT INTO "annotation_key" VALUES(453,31,4);
+INSERT INTO "annotation_key" VALUES(454,31,5);
+INSERT INTO "annotation_key" VALUES(455,31,6);
+INSERT INTO "annotation_key" VALUES(456,31,7);
+INSERT INTO "annotation_key" VALUES(457,31,8);
+INSERT INTO "annotation_key" VALUES(458,31,9);
+INSERT INTO "annotation_key" VALUES(459,31,10);
+INSERT INTO "annotation_key" VALUES(460,31,11);
+INSERT INTO "annotation_key" VALUES(461,31,12);
+INSERT INTO "annotation_key" VALUES(462,31,13);
+INSERT INTO "annotation_key" VALUES(463,31,14);
+INSERT INTO "annotation_key" VALUES(464,31,15);
+INSERT INTO "annotation_key" VALUES(465,31,16);
+INSERT INTO "annotation_key" VALUES(466,31,17);
+INSERT INTO "annotation_key" VALUES(467,31,18);
+INSERT INTO "annotation_key" VALUES(468,31,19);
+INSERT INTO "annotation_key" VALUES(469,31,20);
+INSERT INTO "annotation_key" VALUES(470,31,21);
+INSERT INTO "annotation_key" VALUES(471,31,22);
+INSERT INTO "annotation_key" VALUES(472,31,23);
+INSERT INTO "annotation_key" VALUES(473,31,24);
+INSERT INTO "annotation_key" VALUES(474,31,25);
+INSERT INTO "annotation_key" VALUES(475,31,26);
+INSERT INTO "annotation_key" VALUES(476,31,27);
+INSERT INTO "annotation_key" VALUES(477,31,28);
+INSERT INTO "annotation_key" VALUES(478,31,29);
+INSERT INTO "annotation_key" VALUES(479,31,30);
+INSERT INTO "annotation_key" VALUES(480,31,31);
+INSERT INTO "annotation_key" VALUES(481,31,32);
+INSERT INTO "annotation_key" VALUES(482,31,33);
+INSERT INTO "annotation_key" VALUES(483,31,34);
+INSERT INTO "annotation_key" VALUES(484,31,35);
+INSERT INTO "annotation_key" VALUES(485,31,36);
+INSERT INTO "annotation_key" VALUES(486,31,37);
+INSERT INTO "annotation_key" VALUES(487,31,38);
+INSERT INTO "annotation_key" VALUES(488,31,39);
+INSERT INTO "annotation_key" VALUES(489,31,40);
+INSERT INTO "annotation_key" VALUES(490,31,41);
+INSERT INTO "annotation_key" VALUES(491,31,42);
+INSERT INTO "annotation_key" VALUES(492,31,43);
+INSERT INTO "annotation_key" VALUES(493,31,44);
+INSERT INTO "annotation_key" VALUES(494,31,45);
+INSERT INTO "annotation_key" VALUES(495,31,46);
+INSERT INTO "annotation_key" VALUES(496,31,47);
+INSERT INTO "annotation_key" VALUES(497,31,48);
+INSERT INTO "annotation_key" VALUES(498,31,49);
+INSERT INTO "annotation_key" VALUES(499,31,50);
+INSERT INTO "annotation_key" VALUES(500,31,51);
+INSERT INTO "annotation_key" VALUES(501,31,52);
+INSERT INTO "annotation_key" VALUES(502,31,53);
+INSERT INTO "annotation_key" VALUES(503,31,54);
\ No newline at end of file
diff --git a/full/src/main/resources/db/lite/V1.4__annotation_value.sql b/full/src/main/resources/db/lite/V1.4__annotation_value.sql
new file mode 100644
index 0000000..256cb83
--- /dev/null
+++ b/full/src/main/resources/db/lite/V1.4__annotation_value.sql
@@ -0,0 +1,1302 @@
+INSERT INTO "annotation_value" VALUES(1,106,70);
+INSERT INTO "annotation_value" VALUES(2,106,68);
+INSERT INTO "annotation_value" VALUES(3,106,71);
+INSERT INTO "annotation_value" VALUES(4,106,69);
+INSERT INTO "annotation_value" VALUES(5,106,67);
+INSERT INTO "annotation_value" VALUES(6,107,73);
+INSERT INTO "annotation_value" VALUES(7,107,74);
+INSERT INTO "annotation_value" VALUES(8,107,72);
+INSERT INTO "annotation_value" VALUES(9,108,77);
+INSERT INTO "annotation_value" VALUES(10,108,76);
+INSERT INTO "annotation_value" VALUES(11,108,75);
+INSERT INTO "annotation_value" VALUES(12,108,71);
+INSERT INTO "annotation_value" VALUES(13,109,78);
+INSERT INTO "annotation_value" VALUES(14,109,79);
+INSERT INTO "annotation_value" VALUES(15,109,80);
+INSERT INTO "annotation_value" VALUES(16,110,71);
+INSERT INTO "annotation_value" VALUES(17,110,82);
+INSERT INTO "annotation_value" VALUES(18,110,81);
+INSERT INTO "annotation_value" VALUES(19,111,84);
+INSERT INTO "annotation_value" VALUES(20,111,83);
+INSERT INTO "annotation_value" VALUES(21,111,85);
+INSERT INTO "annotation_value" VALUES(22,112,87);
+INSERT INTO "annotation_value" VALUES(23,112,86);
+INSERT INTO "annotation_value" VALUES(24,149,197);
+INSERT INTO "annotation_value" VALUES(25,149,179);
+INSERT INTO "annotation_value" VALUES(26,149,181);
+INSERT INTO "annotation_value" VALUES(27,149,206);
+INSERT INTO "annotation_value" VALUES(28,149,190);
+INSERT INTO "annotation_value" VALUES(29,149,146);
+INSERT INTO "annotation_value" VALUES(30,149,134);
+INSERT INTO "annotation_value" VALUES(31,149,180);
+INSERT INTO "annotation_value" VALUES(32,149,130);
+INSERT INTO "annotation_value" VALUES(33,149,148);
+INSERT INTO "annotation_value" VALUES(34,149,126);
+INSERT INTO "annotation_value" VALUES(35,149,184);
+INSERT INTO "annotation_value" VALUES(36,149,159);
+INSERT INTO "annotation_value" VALUES(37,149,153);
+INSERT INTO "annotation_value" VALUES(38,149,149);
+INSERT INTO "annotation_value" VALUES(39,149,141);
+INSERT INTO "annotation_value" VALUES(40,149,132);
+INSERT INTO "annotation_value" VALUES(41,149,133);
+INSERT INTO "annotation_value" VALUES(42,149,173);
+INSERT INTO "annotation_value" VALUES(43,149,207);
+INSERT INTO "annotation_value" VALUES(44,149,185);
+INSERT INTO "annotation_value" VALUES(45,149,140);
+INSERT INTO "annotation_value" VALUES(46,149,193);
+INSERT INTO "annotation_value" VALUES(47,149,189);
+INSERT INTO "annotation_value" VALUES(48,149,142);
+INSERT INTO "annotation_value" VALUES(49,149,161);
+INSERT INTO "annotation_value" VALUES(50,149,175);
+INSERT INTO "annotation_value" VALUES(51,149,170);
+INSERT INTO "annotation_value" VALUES(52,149,137);
+INSERT INTO "annotation_value" VALUES(53,149,160);
+INSERT INTO "annotation_value" VALUES(54,149,195);
+INSERT INTO "annotation_value" VALUES(55,149,187);
+INSERT INTO "annotation_value" VALUES(56,149,177);
+INSERT INTO "annotation_value" VALUES(57,149,194);
+INSERT INTO "annotation_value" VALUES(58,149,171);
+INSERT INTO "annotation_value" VALUES(59,149,183);
+INSERT INTO "annotation_value" VALUES(60,149,152);
+INSERT INTO "annotation_value" VALUES(61,149,154);
+INSERT INTO "annotation_value" VALUES(62,149,157);
+INSERT INTO "annotation_value" VALUES(63,149,156);
+INSERT INTO "annotation_value" VALUES(64,149,151);
+INSERT INTO "annotation_value" VALUES(65,149,209);
+INSERT INTO "annotation_value" VALUES(66,149,208);
+INSERT INTO "annotation_value" VALUES(67,149,176);
+INSERT INTO "annotation_value" VALUES(68,149,198);
+INSERT INTO "annotation_value" VALUES(69,149,155);
+INSERT INTO "annotation_value" VALUES(70,149,204);
+INSERT INTO "annotation_value" VALUES(71,149,174);
+INSERT INTO "annotation_value" VALUES(72,149,210);
+INSERT INTO "annotation_value" VALUES(73,149,196);
+INSERT INTO "annotation_value" VALUES(74,149,188);
+INSERT INTO "annotation_value" VALUES(75,149,158);
+INSERT INTO "annotation_value" VALUES(76,149,135);
+INSERT INTO "annotation_value" VALUES(77,149,172);
+INSERT INTO "annotation_value" VALUES(78,149,200);
+INSERT INTO "annotation_value" VALUES(79,149,164);
+INSERT INTO "annotation_value" VALUES(80,149,186);
+INSERT INTO "annotation_value" VALUES(81,149,191);
+INSERT INTO "annotation_value" VALUES(82,149,125);
+INSERT INTO "annotation_value" VALUES(83,149,165);
+INSERT INTO "annotation_value" VALUES(84,149,145);
+INSERT INTO "annotation_value" VALUES(85,149,182);
+INSERT INTO "annotation_value" VALUES(86,149,192);
+INSERT INTO "annotation_value" VALUES(87,149,162);
+INSERT INTO "annotation_value" VALUES(88,149,168);
+INSERT INTO "annotation_value" VALUES(89,149,129);
+INSERT INTO "annotation_value" VALUES(90,149,201);
+INSERT INTO "annotation_value" VALUES(91,149,203);
+INSERT INTO "annotation_value" VALUES(92,149,128);
+INSERT INTO "annotation_value" VALUES(93,149,166);
+INSERT INTO "annotation_value" VALUES(94,149,139);
+INSERT INTO "annotation_value" VALUES(95,149,147);
+INSERT INTO "annotation_value" VALUES(96,149,150);
+INSERT INTO "annotation_value" VALUES(97,149,178);
+INSERT INTO "annotation_value" VALUES(98,149,143);
+INSERT INTO "annotation_value" VALUES(99,149,205);
+INSERT INTO "annotation_value" VALUES(100,149,127);
+INSERT INTO "annotation_value" VALUES(101,149,144);
+INSERT INTO "annotation_value" VALUES(102,149,169);
+INSERT INTO "annotation_value" VALUES(103,149,163);
+INSERT INTO "annotation_value" VALUES(104,149,202);
+INSERT INTO "annotation_value" VALUES(105,149,167);
+INSERT INTO "annotation_value" VALUES(106,149,131);
+INSERT INTO "annotation_value" VALUES(107,149,199);
+INSERT INTO "annotation_value" VALUES(108,149,138);
+INSERT INTO "annotation_value" VALUES(109,149,136);
+INSERT INTO "annotation_value" VALUES(110,237,68);
+INSERT INTO "annotation_value" VALUES(111,237,70);
+INSERT INTO "annotation_value" VALUES(112,237,71);
+INSERT INTO "annotation_value" VALUES(113,237,67);
+INSERT INTO "annotation_value" VALUES(114,237,69);
+INSERT INTO "annotation_value" VALUES(115,238,73);
+INSERT INTO "annotation_value" VALUES(116,238,72);
+INSERT INTO "annotation_value" VALUES(117,238,74);
+INSERT INTO "annotation_value" VALUES(118,239,77);
+INSERT INTO "annotation_value" VALUES(119,239,75);
+INSERT INTO "annotation_value" VALUES(120,239,76);
+INSERT INTO "annotation_value" VALUES(121,239,71);
+INSERT INTO "annotation_value" VALUES(122,240,78);
+INSERT INTO "annotation_value" VALUES(123,240,79);
+INSERT INTO "annotation_value" VALUES(124,240,80);
+INSERT INTO "annotation_value" VALUES(125,241,81);
+INSERT INTO "annotation_value" VALUES(126,241,82);
+INSERT INTO "annotation_value" VALUES(127,241,71);
+INSERT INTO "annotation_value" VALUES(128,242,84);
+INSERT INTO "annotation_value" VALUES(129,242,83);
+INSERT INTO "annotation_value" VALUES(130,242,85);
+INSERT INTO "annotation_value" VALUES(131,243,87);
+INSERT INTO "annotation_value" VALUES(132,243,86);
+INSERT INTO "annotation_value" VALUES(133,426,385);
+INSERT INTO "annotation_value" VALUES(134,426,379);
+INSERT INTO "annotation_value" VALUES(135,426,381);
+INSERT INTO "annotation_value" VALUES(136,426,370);
+INSERT INTO "annotation_value" VALUES(137,426,364);
+INSERT INTO "annotation_value" VALUES(138,426,365);
+INSERT INTO "annotation_value" VALUES(139,426,377);
+INSERT INTO "annotation_value" VALUES(140,426,373);
+INSERT INTO "annotation_value" VALUES(141,426,351);
+INSERT INTO "annotation_value" VALUES(142,426,355);
+INSERT INTO "annotation_value" VALUES(143,426,374);
+INSERT INTO "annotation_value" VALUES(144,426,380);
+INSERT INTO "annotation_value" VALUES(145,426,359);
+INSERT INTO "annotation_value" VALUES(146,426,349);
+INSERT INTO "annotation_value" VALUES(147,426,363);
+INSERT INTO "annotation_value" VALUES(148,426,378);
+INSERT INTO "annotation_value" VALUES(149,426,368);
+INSERT INTO "annotation_value" VALUES(150,426,347);
+INSERT INTO "annotation_value" VALUES(151,426,350);
+INSERT INTO "annotation_value" VALUES(152,426,356);
+INSERT INTO "annotation_value" VALUES(153,426,375);
+INSERT INTO "annotation_value" VALUES(154,426,386);
+INSERT INTO "annotation_value" VALUES(155,426,358);
+INSERT INTO "annotation_value" VALUES(156,426,348);
+INSERT INTO "annotation_value" VALUES(157,426,389);
+INSERT INTO "annotation_value" VALUES(158,426,352);
+INSERT INTO "annotation_value" VALUES(159,426,388);
+INSERT INTO "annotation_value" VALUES(160,426,372);
+INSERT INTO "annotation_value" VALUES(161,426,360);
+INSERT INTO "annotation_value" VALUES(162,426,376);
+INSERT INTO "annotation_value" VALUES(163,426,366);
+INSERT INTO "annotation_value" VALUES(164,426,382);
+INSERT INTO "annotation_value" VALUES(165,426,357);
+INSERT INTO "annotation_value" VALUES(166,426,384);
+INSERT INTO "annotation_value" VALUES(167,426,354);
+INSERT INTO "annotation_value" VALUES(168,426,383);
+INSERT INTO "annotation_value" VALUES(169,426,361);
+INSERT INTO "annotation_value" VALUES(170,426,390);
+INSERT INTO "annotation_value" VALUES(171,426,362);
+INSERT INTO "annotation_value" VALUES(172,426,367);
+INSERT INTO "annotation_value" VALUES(173,426,369);
+INSERT INTO "annotation_value" VALUES(174,426,371);
+INSERT INTO "annotation_value" VALUES(175,426,139);
+INSERT INTO "annotation_value" VALUES(176,426,353);
+INSERT INTO "annotation_value" VALUES(177,426,387);
+INSERT INTO "annotation_value" VALUES(178,427,376);
+INSERT INTO "annotation_value" VALUES(179,427,369);
+INSERT INTO "annotation_value" VALUES(180,427,347);
+INSERT INTO "annotation_value" VALUES(181,427,371);
+INSERT INTO "annotation_value" VALUES(182,427,373);
+INSERT INTO "annotation_value" VALUES(183,427,360);
+INSERT INTO "annotation_value" VALUES(184,427,389);
+INSERT INTO "annotation_value" VALUES(185,427,386);
+INSERT INTO "annotation_value" VALUES(186,427,384);
+INSERT INTO "annotation_value" VALUES(187,427,361);
+INSERT INTO "annotation_value" VALUES(188,427,365);
+INSERT INTO "annotation_value" VALUES(189,427,356);
+INSERT INTO "annotation_value" VALUES(190,427,351);
+INSERT INTO "annotation_value" VALUES(191,427,355);
+INSERT INTO "annotation_value" VALUES(192,427,390);
+INSERT INTO "annotation_value" VALUES(193,427,350);
+INSERT INTO "annotation_value" VALUES(194,427,370);
+INSERT INTO "annotation_value" VALUES(195,427,388);
+INSERT INTO "annotation_value" VALUES(196,427,377);
+INSERT INTO "annotation_value" VALUES(197,427,139);
+INSERT INTO "annotation_value" VALUES(198,427,387);
+INSERT INTO "annotation_value" VALUES(199,427,381);
+INSERT INTO "annotation_value" VALUES(200,427,364);
+INSERT INTO "annotation_value" VALUES(201,427,354);
+INSERT INTO "annotation_value" VALUES(202,427,375);
+INSERT INTO "annotation_value" VALUES(203,427,382);
+INSERT INTO "annotation_value" VALUES(204,427,362);
+INSERT INTO "annotation_value" VALUES(205,427,359);
+INSERT INTO "annotation_value" VALUES(206,427,358);
+INSERT INTO "annotation_value" VALUES(207,427,366);
+INSERT INTO "annotation_value" VALUES(208,427,357);
+INSERT INTO "annotation_value" VALUES(209,427,368);
+INSERT INTO "annotation_value" VALUES(210,427,353);
+INSERT INTO "annotation_value" VALUES(211,427,372);
+INSERT INTO "annotation_value" VALUES(212,427,349);
+INSERT INTO "annotation_value" VALUES(213,427,378);
+INSERT INTO "annotation_value" VALUES(214,427,383);
+INSERT INTO "annotation_value" VALUES(215,427,348);
+INSERT INTO "annotation_value" VALUES(216,427,367);
+INSERT INTO "annotation_value" VALUES(217,427,379);
+INSERT INTO "annotation_value" VALUES(218,427,374);
+INSERT INTO "annotation_value" VALUES(219,427,385);
+INSERT INTO "annotation_value" VALUES(220,427,380);
+INSERT INTO "annotation_value" VALUES(221,427,363);
+INSERT INTO "annotation_value" VALUES(222,427,352);
+INSERT INTO "annotation_value" VALUES(223,428,390);
+INSERT INTO "annotation_value" VALUES(224,428,379);
+INSERT INTO "annotation_value" VALUES(225,428,348);
+INSERT INTO "annotation_value" VALUES(226,428,362);
+INSERT INTO "annotation_value" VALUES(227,428,384);
+INSERT INTO "annotation_value" VALUES(228,428,369);
+INSERT INTO "annotation_value" VALUES(229,428,353);
+INSERT INTO "annotation_value" VALUES(230,428,367);
+INSERT INTO "annotation_value" VALUES(231,428,360);
+INSERT INTO "annotation_value" VALUES(232,428,382);
+INSERT INTO "annotation_value" VALUES(233,428,356);
+INSERT INTO "annotation_value" VALUES(234,428,378);
+INSERT INTO "annotation_value" VALUES(235,428,357);
+INSERT INTO "annotation_value" VALUES(236,428,352);
+INSERT INTO "annotation_value" VALUES(237,428,381);
+INSERT INTO "annotation_value" VALUES(238,428,370);
+INSERT INTO "annotation_value" VALUES(239,428,373);
+INSERT INTO "annotation_value" VALUES(240,428,349);
+INSERT INTO "annotation_value" VALUES(241,428,372);
+INSERT INTO "annotation_value" VALUES(242,428,376);
+INSERT INTO "annotation_value" VALUES(243,428,366);
+INSERT INTO "annotation_value" VALUES(244,428,368);
+INSERT INTO "annotation_value" VALUES(245,428,139);
+INSERT INTO "annotation_value" VALUES(246,428,347);
+INSERT INTO "annotation_value" VALUES(247,428,389);
+INSERT INTO "annotation_value" VALUES(248,428,363);
+INSERT INTO "annotation_value" VALUES(249,428,383);
+INSERT INTO "annotation_value" VALUES(250,428,365);
+INSERT INTO "annotation_value" VALUES(251,428,364);
+INSERT INTO "annotation_value" VALUES(252,428,371);
+INSERT INTO "annotation_value" VALUES(253,428,359);
+INSERT INTO "annotation_value" VALUES(254,428,355);
+INSERT INTO "annotation_value" VALUES(255,428,351);
+INSERT INTO "annotation_value" VALUES(256,428,387);
+INSERT INTO "annotation_value" VALUES(257,428,358);
+INSERT INTO "annotation_value" VALUES(258,428,361);
+INSERT INTO "annotation_value" VALUES(259,428,385);
+INSERT INTO "annotation_value" VALUES(260,428,374);
+INSERT INTO "annotation_value" VALUES(261,428,350);
+INSERT INTO "annotation_value" VALUES(262,428,377);
+INSERT INTO "annotation_value" VALUES(263,428,354);
+INSERT INTO "annotation_value" VALUES(264,428,388);
+INSERT INTO "annotation_value" VALUES(265,428,380);
+INSERT INTO "annotation_value" VALUES(266,428,386);
+INSERT INTO "annotation_value" VALUES(267,428,375);
+INSERT INTO "annotation_value" VALUES(268,429,382);
+INSERT INTO "annotation_value" VALUES(269,429,383);
+INSERT INTO "annotation_value" VALUES(270,429,374);
+INSERT INTO "annotation_value" VALUES(271,429,364);
+INSERT INTO "annotation_value" VALUES(272,429,380);
+INSERT INTO "annotation_value" VALUES(273,429,365);
+INSERT INTO "annotation_value" VALUES(274,429,377);
+INSERT INTO "annotation_value" VALUES(275,429,357);
+INSERT INTO "annotation_value" VALUES(276,429,371);
+INSERT INTO "annotation_value" VALUES(277,429,362);
+INSERT INTO "annotation_value" VALUES(278,429,376);
+INSERT INTO "annotation_value" VALUES(279,429,381);
+INSERT INTO "annotation_value" VALUES(280,429,355);
+INSERT INTO "annotation_value" VALUES(281,429,385);
+INSERT INTO "annotation_value" VALUES(282,429,378);
+INSERT INTO "annotation_value" VALUES(283,429,384);
+INSERT INTO "annotation_value" VALUES(284,429,361);
+INSERT INTO "annotation_value" VALUES(285,429,388);
+INSERT INTO "annotation_value" VALUES(286,429,379);
+INSERT INTO "annotation_value" VALUES(287,429,369);
+INSERT INTO "annotation_value" VALUES(288,429,356);
+INSERT INTO "annotation_value" VALUES(289,429,351);
+INSERT INTO "annotation_value" VALUES(290,429,358);
+INSERT INTO "annotation_value" VALUES(291,429,373);
+INSERT INTO "annotation_value" VALUES(292,429,354);
+INSERT INTO "annotation_value" VALUES(293,429,389);
+INSERT INTO "annotation_value" VALUES(294,429,372);
+INSERT INTO "annotation_value" VALUES(295,429,386);
+INSERT INTO "annotation_value" VALUES(296,429,390);
+INSERT INTO "annotation_value" VALUES(297,429,375);
+INSERT INTO "annotation_value" VALUES(298,429,353);
+INSERT INTO "annotation_value" VALUES(299,429,139);
+INSERT INTO "annotation_value" VALUES(300,429,366);
+INSERT INTO "annotation_value" VALUES(301,429,349);
+INSERT INTO "annotation_value" VALUES(302,429,368);
+INSERT INTO "annotation_value" VALUES(303,429,348);
+INSERT INTO "annotation_value" VALUES(304,429,363);
+INSERT INTO "annotation_value" VALUES(305,429,360);
+INSERT INTO "annotation_value" VALUES(306,429,367);
+INSERT INTO "annotation_value" VALUES(307,429,352);
+INSERT INTO "annotation_value" VALUES(308,429,359);
+INSERT INTO "annotation_value" VALUES(309,429,370);
+INSERT INTO "annotation_value" VALUES(310,429,387);
+INSERT INTO "annotation_value" VALUES(311,429,350);
+INSERT INTO "annotation_value" VALUES(312,429,347);
+INSERT INTO "annotation_value" VALUES(313,430,374);
+INSERT INTO "annotation_value" VALUES(314,430,377);
+INSERT INTO "annotation_value" VALUES(315,430,356);
+INSERT INTO "annotation_value" VALUES(316,430,372);
+INSERT INTO "annotation_value" VALUES(317,430,371);
+INSERT INTO "annotation_value" VALUES(318,430,383);
+INSERT INTO "annotation_value" VALUES(319,430,382);
+INSERT INTO "annotation_value" VALUES(320,430,388);
+INSERT INTO "annotation_value" VALUES(321,430,354);
+INSERT INTO "annotation_value" VALUES(322,430,386);
+INSERT INTO "annotation_value" VALUES(323,430,380);
+INSERT INTO "annotation_value" VALUES(324,430,360);
+INSERT INTO "annotation_value" VALUES(325,430,358);
+INSERT INTO "annotation_value" VALUES(326,430,359);
+INSERT INTO "annotation_value" VALUES(327,430,381);
+INSERT INTO "annotation_value" VALUES(328,430,375);
+INSERT INTO "annotation_value" VALUES(329,430,363);
+INSERT INTO "annotation_value" VALUES(330,430,139);
+INSERT INTO "annotation_value" VALUES(331,430,350);
+INSERT INTO "annotation_value" VALUES(332,430,347);
+INSERT INTO "annotation_value" VALUES(333,430,373);
+INSERT INTO "annotation_value" VALUES(334,430,365);
+INSERT INTO "annotation_value" VALUES(335,430,355);
+INSERT INTO "annotation_value" VALUES(336,430,364);
+INSERT INTO "annotation_value" VALUES(337,430,370);
+INSERT INTO "annotation_value" VALUES(338,430,369);
+INSERT INTO "annotation_value" VALUES(339,430,366);
+INSERT INTO "annotation_value" VALUES(340,430,367);
+INSERT INTO "annotation_value" VALUES(341,430,376);
+INSERT INTO "annotation_value" VALUES(342,430,384);
+INSERT INTO "annotation_value" VALUES(343,430,352);
+INSERT INTO "annotation_value" VALUES(344,430,389);
+INSERT INTO "annotation_value" VALUES(345,430,361);
+INSERT INTO "annotation_value" VALUES(346,430,387);
+INSERT INTO "annotation_value" VALUES(347,430,351);
+INSERT INTO "annotation_value" VALUES(348,430,385);
+INSERT INTO "annotation_value" VALUES(349,430,390);
+INSERT INTO "annotation_value" VALUES(350,430,349);
+INSERT INTO "annotation_value" VALUES(351,430,378);
+INSERT INTO "annotation_value" VALUES(352,430,348);
+INSERT INTO "annotation_value" VALUES(353,430,368);
+INSERT INTO "annotation_value" VALUES(354,430,379);
+INSERT INTO "annotation_value" VALUES(355,430,362);
+INSERT INTO "annotation_value" VALUES(356,430,357);
+INSERT INTO "annotation_value" VALUES(357,430,353);
+INSERT INTO "annotation_value" VALUES(358,431,363);
+INSERT INTO "annotation_value" VALUES(359,431,385);
+INSERT INTO "annotation_value" VALUES(360,431,368);
+INSERT INTO "annotation_value" VALUES(361,431,387);
+INSERT INTO "annotation_value" VALUES(362,431,375);
+INSERT INTO "annotation_value" VALUES(363,431,367);
+INSERT INTO "annotation_value" VALUES(364,431,356);
+INSERT INTO "annotation_value" VALUES(365,431,390);
+INSERT INTO "annotation_value" VALUES(366,431,388);
+INSERT INTO "annotation_value" VALUES(367,431,359);
+INSERT INTO "annotation_value" VALUES(368,431,371);
+INSERT INTO "annotation_value" VALUES(369,431,373);
+INSERT INTO "annotation_value" VALUES(370,431,386);
+INSERT INTO "annotation_value" VALUES(371,431,357);
+INSERT INTO "annotation_value" VALUES(372,431,377);
+INSERT INTO "annotation_value" VALUES(373,431,362);
+INSERT INTO "annotation_value" VALUES(374,431,381);
+INSERT INTO "annotation_value" VALUES(375,431,382);
+INSERT INTO "annotation_value" VALUES(376,431,350);
+INSERT INTO "annotation_value" VALUES(377,431,376);
+INSERT INTO "annotation_value" VALUES(378,431,139);
+INSERT INTO "annotation_value" VALUES(379,431,358);
+INSERT INTO "annotation_value" VALUES(380,431,379);
+INSERT INTO "annotation_value" VALUES(381,431,384);
+INSERT INTO "annotation_value" VALUES(382,431,380);
+INSERT INTO "annotation_value" VALUES(383,431,360);
+INSERT INTO "annotation_value" VALUES(384,431,366);
+INSERT INTO "annotation_value" VALUES(385,431,378);
+INSERT INTO "annotation_value" VALUES(386,431,361);
+INSERT INTO "annotation_value" VALUES(387,431,353);
+INSERT INTO "annotation_value" VALUES(388,431,374);
+INSERT INTO "annotation_value" VALUES(389,431,352);
+INSERT INTO "annotation_value" VALUES(390,431,347);
+INSERT INTO "annotation_value" VALUES(391,431,389);
+INSERT INTO "annotation_value" VALUES(392,431,351);
+INSERT INTO "annotation_value" VALUES(393,431,349);
+INSERT INTO "annotation_value" VALUES(394,431,370);
+INSERT INTO "annotation_value" VALUES(395,431,369);
+INSERT INTO "annotation_value" VALUES(396,431,372);
+INSERT INTO "annotation_value" VALUES(397,431,354);
+INSERT INTO "annotation_value" VALUES(398,431,365);
+INSERT INTO "annotation_value" VALUES(399,431,348);
+INSERT INTO "annotation_value" VALUES(400,431,355);
+INSERT INTO "annotation_value" VALUES(401,431,364);
+INSERT INTO "annotation_value" VALUES(402,431,383);
+INSERT INTO "annotation_value" VALUES(403,432,388);
+INSERT INTO "annotation_value" VALUES(404,432,387);
+INSERT INTO "annotation_value" VALUES(405,432,359);
+INSERT INTO "annotation_value" VALUES(406,432,382);
+INSERT INTO "annotation_value" VALUES(407,432,348);
+INSERT INTO "annotation_value" VALUES(408,432,369);
+INSERT INTO "annotation_value" VALUES(409,432,350);
+INSERT INTO "annotation_value" VALUES(410,432,372);
+INSERT INTO "annotation_value" VALUES(411,432,375);
+INSERT INTO "annotation_value" VALUES(412,432,363);
+INSERT INTO "annotation_value" VALUES(413,432,139);
+INSERT INTO "annotation_value" VALUES(414,432,384);
+INSERT INTO "annotation_value" VALUES(415,432,358);
+INSERT INTO "annotation_value" VALUES(416,432,381);
+INSERT INTO "annotation_value" VALUES(417,432,390);
+INSERT INTO "annotation_value" VALUES(418,432,360);
+INSERT INTO "annotation_value" VALUES(419,432,377);
+INSERT INTO "annotation_value" VALUES(420,432,379);
+INSERT INTO "annotation_value" VALUES(421,432,364);
+INSERT INTO "annotation_value" VALUES(422,432,385);
+INSERT INTO "annotation_value" VALUES(423,432,371);
+INSERT INTO "annotation_value" VALUES(424,432,353);
+INSERT INTO "annotation_value" VALUES(425,432,365);
+INSERT INTO "annotation_value" VALUES(426,432,376);
+INSERT INTO "annotation_value" VALUES(427,432,352);
+INSERT INTO "annotation_value" VALUES(428,432,370);
+INSERT INTO "annotation_value" VALUES(429,432,347);
+INSERT INTO "annotation_value" VALUES(430,432,373);
+INSERT INTO "annotation_value" VALUES(431,432,357);
+INSERT INTO "annotation_value" VALUES(432,432,356);
+INSERT INTO "annotation_value" VALUES(433,432,366);
+INSERT INTO "annotation_value" VALUES(434,432,389);
+INSERT INTO "annotation_value" VALUES(435,432,349);
+INSERT INTO "annotation_value" VALUES(436,432,383);
+INSERT INTO "annotation_value" VALUES(437,432,355);
+INSERT INTO "annotation_value" VALUES(438,432,378);
+INSERT INTO "annotation_value" VALUES(439,432,351);
+INSERT INTO "annotation_value" VALUES(440,432,386);
+INSERT INTO "annotation_value" VALUES(441,432,362);
+INSERT INTO "annotation_value" VALUES(442,432,380);
+INSERT INTO "annotation_value" VALUES(443,432,374);
+INSERT INTO "annotation_value" VALUES(444,432,354);
+INSERT INTO "annotation_value" VALUES(445,432,361);
+INSERT INTO "annotation_value" VALUES(446,432,368);
+INSERT INTO "annotation_value" VALUES(447,432,367);
+INSERT INTO "annotation_value" VALUES(448,433,372);
+INSERT INTO "annotation_value" VALUES(449,433,370);
+INSERT INTO "annotation_value" VALUES(450,433,382);
+INSERT INTO "annotation_value" VALUES(451,433,377);
+INSERT INTO "annotation_value" VALUES(452,433,368);
+INSERT INTO "annotation_value" VALUES(453,433,386);
+INSERT INTO "annotation_value" VALUES(454,433,355);
+INSERT INTO "annotation_value" VALUES(455,433,347);
+INSERT INTO "annotation_value" VALUES(456,433,349);
+INSERT INTO "annotation_value" VALUES(457,433,363);
+INSERT INTO "annotation_value" VALUES(458,433,139);
+INSERT INTO "annotation_value" VALUES(459,433,348);
+INSERT INTO "annotation_value" VALUES(460,433,359);
+INSERT INTO "annotation_value" VALUES(461,433,378);
+INSERT INTO "annotation_value" VALUES(462,433,371);
+INSERT INTO "annotation_value" VALUES(463,433,376);
+INSERT INTO "annotation_value" VALUES(464,433,373);
+INSERT INTO "annotation_value" VALUES(465,433,384);
+INSERT INTO "annotation_value" VALUES(466,433,356);
+INSERT INTO "annotation_value" VALUES(467,433,387);
+INSERT INTO "annotation_value" VALUES(468,433,362);
+INSERT INTO "annotation_value" VALUES(469,433,390);
+INSERT INTO "annotation_value" VALUES(470,433,380);
+INSERT INTO "annotation_value" VALUES(471,433,351);
+INSERT INTO "annotation_value" VALUES(472,433,374);
+INSERT INTO "annotation_value" VALUES(473,433,350);
+INSERT INTO "annotation_value" VALUES(474,433,366);
+INSERT INTO "annotation_value" VALUES(475,433,381);
+INSERT INTO "annotation_value" VALUES(476,433,385);
+INSERT INTO "annotation_value" VALUES(477,433,375);
+INSERT INTO "annotation_value" VALUES(478,433,352);
+INSERT INTO "annotation_value" VALUES(479,433,364);
+INSERT INTO "annotation_value" VALUES(480,433,365);
+INSERT INTO "annotation_value" VALUES(481,433,389);
+INSERT INTO "annotation_value" VALUES(482,433,360);
+INSERT INTO "annotation_value" VALUES(483,433,388);
+INSERT INTO "annotation_value" VALUES(484,433,357);
+INSERT INTO "annotation_value" VALUES(485,433,379);
+INSERT INTO "annotation_value" VALUES(486,433,358);
+INSERT INTO "annotation_value" VALUES(487,433,367);
+INSERT INTO "annotation_value" VALUES(488,433,354);
+INSERT INTO "annotation_value" VALUES(489,433,353);
+INSERT INTO "annotation_value" VALUES(490,433,369);
+INSERT INTO "annotation_value" VALUES(491,433,361);
+INSERT INTO "annotation_value" VALUES(492,433,383);
+INSERT INTO "annotation_value" VALUES(493,434,382);
+INSERT INTO "annotation_value" VALUES(494,434,356);
+INSERT INTO "annotation_value" VALUES(495,434,380);
+INSERT INTO "annotation_value" VALUES(496,434,352);
+INSERT INTO "annotation_value" VALUES(497,434,354);
+INSERT INTO "annotation_value" VALUES(498,434,361);
+INSERT INTO "annotation_value" VALUES(499,434,384);
+INSERT INTO "annotation_value" VALUES(500,434,367);
+INSERT INTO "annotation_value" VALUES(501,434,377);
+INSERT INTO "annotation_value" VALUES(502,434,365);
+INSERT INTO "annotation_value" VALUES(503,434,370);
+INSERT INTO "annotation_value" VALUES(504,434,357);
+INSERT INTO "annotation_value" VALUES(505,434,351);
+INSERT INTO "annotation_value" VALUES(506,434,376);
+INSERT INTO "annotation_value" VALUES(507,434,348);
+INSERT INTO "annotation_value" VALUES(508,434,387);
+INSERT INTO "annotation_value" VALUES(509,434,366);
+INSERT INTO "annotation_value" VALUES(510,434,375);
+INSERT INTO "annotation_value" VALUES(511,434,360);
+INSERT INTO "annotation_value" VALUES(512,434,358);
+INSERT INTO "annotation_value" VALUES(513,434,381);
+INSERT INTO "annotation_value" VALUES(514,434,363);
+INSERT INTO "annotation_value" VALUES(515,434,139);
+INSERT INTO "annotation_value" VALUES(516,434,373);
+INSERT INTO "annotation_value" VALUES(517,434,372);
+INSERT INTO "annotation_value" VALUES(518,434,386);
+INSERT INTO "annotation_value" VALUES(519,434,362);
+INSERT INTO "annotation_value" VALUES(520,434,371);
+INSERT INTO "annotation_value" VALUES(521,434,350);
+INSERT INTO "annotation_value" VALUES(522,434,379);
+INSERT INTO "annotation_value" VALUES(523,434,355);
+INSERT INTO "annotation_value" VALUES(524,434,347);
+INSERT INTO "annotation_value" VALUES(525,434,385);
+INSERT INTO "annotation_value" VALUES(526,434,349);
+INSERT INTO "annotation_value" VALUES(527,434,389);
+INSERT INTO "annotation_value" VALUES(528,434,374);
+INSERT INTO "annotation_value" VALUES(529,434,364);
+INSERT INTO "annotation_value" VALUES(530,434,378);
+INSERT INTO "annotation_value" VALUES(531,434,359);
+INSERT INTO "annotation_value" VALUES(532,434,368);
+INSERT INTO "annotation_value" VALUES(533,434,383);
+INSERT INTO "annotation_value" VALUES(534,434,388);
+INSERT INTO "annotation_value" VALUES(535,434,390);
+INSERT INTO "annotation_value" VALUES(536,434,369);
+INSERT INTO "annotation_value" VALUES(537,434,353);
+INSERT INTO "annotation_value" VALUES(538,435,374);
+INSERT INTO "annotation_value" VALUES(539,435,368);
+INSERT INTO "annotation_value" VALUES(540,435,383);
+INSERT INTO "annotation_value" VALUES(541,435,350);
+INSERT INTO "annotation_value" VALUES(542,435,379);
+INSERT INTO "annotation_value" VALUES(543,435,387);
+INSERT INTO "annotation_value" VALUES(544,435,381);
+INSERT INTO "annotation_value" VALUES(545,435,351);
+INSERT INTO "annotation_value" VALUES(546,435,389);
+INSERT INTO "annotation_value" VALUES(547,435,366);
+INSERT INTO "annotation_value" VALUES(548,435,388);
+INSERT INTO "annotation_value" VALUES(549,435,376);
+INSERT INTO "annotation_value" VALUES(550,435,361);
+INSERT INTO "annotation_value" VALUES(551,435,380);
+INSERT INTO "annotation_value" VALUES(552,435,364);
+INSERT INTO "annotation_value" VALUES(553,435,354);
+INSERT INTO "annotation_value" VALUES(554,435,355);
+INSERT INTO "annotation_value" VALUES(555,435,359);
+INSERT INTO "annotation_value" VALUES(556,435,370);
+INSERT INTO "annotation_value" VALUES(557,435,352);
+INSERT INTO "annotation_value" VALUES(558,435,385);
+INSERT INTO "annotation_value" VALUES(559,435,367);
+INSERT INTO "annotation_value" VALUES(560,435,386);
+INSERT INTO "annotation_value" VALUES(561,435,390);
+INSERT INTO "annotation_value" VALUES(562,435,363);
+INSERT INTO "annotation_value" VALUES(563,435,349);
+INSERT INTO "annotation_value" VALUES(564,435,378);
+INSERT INTO "annotation_value" VALUES(565,435,357);
+INSERT INTO "annotation_value" VALUES(566,435,139);
+INSERT INTO "annotation_value" VALUES(567,435,373);
+INSERT INTO "annotation_value" VALUES(568,435,365);
+INSERT INTO "annotation_value" VALUES(569,435,353);
+INSERT INTO "annotation_value" VALUES(570,435,362);
+INSERT INTO "annotation_value" VALUES(571,435,382);
+INSERT INTO "annotation_value" VALUES(572,435,377);
+INSERT INTO "annotation_value" VALUES(573,435,371);
+INSERT INTO "annotation_value" VALUES(574,435,372);
+INSERT INTO "annotation_value" VALUES(575,435,358);
+INSERT INTO "annotation_value" VALUES(576,435,384);
+INSERT INTO "annotation_value" VALUES(577,435,356);
+INSERT INTO "annotation_value" VALUES(578,435,369);
+INSERT INTO "annotation_value" VALUES(579,435,347);
+INSERT INTO "annotation_value" VALUES(580,435,348);
+INSERT INTO "annotation_value" VALUES(581,435,375);
+INSERT INTO "annotation_value" VALUES(582,435,360);
+INSERT INTO "annotation_value" VALUES(583,436,359);
+INSERT INTO "annotation_value" VALUES(584,436,358);
+INSERT INTO "annotation_value" VALUES(585,436,347);
+INSERT INTO "annotation_value" VALUES(586,436,368);
+INSERT INTO "annotation_value" VALUES(587,436,352);
+INSERT INTO "annotation_value" VALUES(588,436,387);
+INSERT INTO "annotation_value" VALUES(589,436,383);
+INSERT INTO "annotation_value" VALUES(590,436,390);
+INSERT INTO "annotation_value" VALUES(591,436,366);
+INSERT INTO "annotation_value" VALUES(592,436,362);
+INSERT INTO "annotation_value" VALUES(593,436,350);
+INSERT INTO "annotation_value" VALUES(594,436,375);
+INSERT INTO "annotation_value" VALUES(595,436,389);
+INSERT INTO "annotation_value" VALUES(596,436,357);
+INSERT INTO "annotation_value" VALUES(597,436,373);
+INSERT INTO "annotation_value" VALUES(598,436,385);
+INSERT INTO "annotation_value" VALUES(599,436,354);
+INSERT INTO "annotation_value" VALUES(600,436,364);
+INSERT INTO "annotation_value" VALUES(601,436,382);
+INSERT INTO "annotation_value" VALUES(602,436,349);
+INSERT INTO "annotation_value" VALUES(603,436,372);
+INSERT INTO "annotation_value" VALUES(604,436,351);
+INSERT INTO "annotation_value" VALUES(605,436,378);
+INSERT INTO "annotation_value" VALUES(606,436,348);
+INSERT INTO "annotation_value" VALUES(607,436,371);
+INSERT INTO "annotation_value" VALUES(608,436,369);
+INSERT INTO "annotation_value" VALUES(609,436,388);
+INSERT INTO "annotation_value" VALUES(610,436,360);
+INSERT INTO "annotation_value" VALUES(611,436,376);
+INSERT INTO "annotation_value" VALUES(612,436,356);
+INSERT INTO "annotation_value" VALUES(613,436,384);
+INSERT INTO "annotation_value" VALUES(614,436,386);
+INSERT INTO "annotation_value" VALUES(615,436,379);
+INSERT INTO "annotation_value" VALUES(616,436,377);
+INSERT INTO "annotation_value" VALUES(617,436,367);
+INSERT INTO "annotation_value" VALUES(618,436,353);
+INSERT INTO "annotation_value" VALUES(619,436,370);
+INSERT INTO "annotation_value" VALUES(620,436,139);
+INSERT INTO "annotation_value" VALUES(621,436,374);
+INSERT INTO "annotation_value" VALUES(622,436,363);
+INSERT INTO "annotation_value" VALUES(623,436,380);
+INSERT INTO "annotation_value" VALUES(624,436,381);
+INSERT INTO "annotation_value" VALUES(625,436,355);
+INSERT INTO "annotation_value" VALUES(626,436,361);
+INSERT INTO "annotation_value" VALUES(627,436,365);
+INSERT INTO "annotation_value" VALUES(628,437,365);
+INSERT INTO "annotation_value" VALUES(629,437,347);
+INSERT INTO "annotation_value" VALUES(630,437,388);
+INSERT INTO "annotation_value" VALUES(631,437,357);
+INSERT INTO "annotation_value" VALUES(632,437,373);
+INSERT INTO "annotation_value" VALUES(633,437,386);
+INSERT INTO "annotation_value" VALUES(634,437,367);
+INSERT INTO "annotation_value" VALUES(635,437,366);
+INSERT INTO "annotation_value" VALUES(636,437,383);
+INSERT INTO "annotation_value" VALUES(637,437,368);
+INSERT INTO "annotation_value" VALUES(638,437,377);
+INSERT INTO "annotation_value" VALUES(639,437,376);
+INSERT INTO "annotation_value" VALUES(640,437,374);
+INSERT INTO "annotation_value" VALUES(641,437,358);
+INSERT INTO "annotation_value" VALUES(642,437,375);
+INSERT INTO "annotation_value" VALUES(643,437,349);
+INSERT INTO "annotation_value" VALUES(644,437,379);
+INSERT INTO "annotation_value" VALUES(645,437,381);
+INSERT INTO "annotation_value" VALUES(646,437,359);
+INSERT INTO "annotation_value" VALUES(647,437,139);
+INSERT INTO "annotation_value" VALUES(648,437,352);
+INSERT INTO "annotation_value" VALUES(649,437,387);
+INSERT INTO "annotation_value" VALUES(650,437,369);
+INSERT INTO "annotation_value" VALUES(651,437,348);
+INSERT INTO "annotation_value" VALUES(652,437,361);
+INSERT INTO "annotation_value" VALUES(653,437,363);
+INSERT INTO "annotation_value" VALUES(654,437,362);
+INSERT INTO "annotation_value" VALUES(655,437,380);
+INSERT INTO "annotation_value" VALUES(656,437,382);
+INSERT INTO "annotation_value" VALUES(657,437,353);
+INSERT INTO "annotation_value" VALUES(658,437,372);
+INSERT INTO "annotation_value" VALUES(659,437,356);
+INSERT INTO "annotation_value" VALUES(660,437,350);
+INSERT INTO "annotation_value" VALUES(661,437,378);
+INSERT INTO "annotation_value" VALUES(662,437,354);
+INSERT INTO "annotation_value" VALUES(663,437,370);
+INSERT INTO "annotation_value" VALUES(664,437,371);
+INSERT INTO "annotation_value" VALUES(665,437,384);
+INSERT INTO "annotation_value" VALUES(666,437,390);
+INSERT INTO "annotation_value" VALUES(667,437,385);
+INSERT INTO "annotation_value" VALUES(668,437,351);
+INSERT INTO "annotation_value" VALUES(669,437,389);
+INSERT INTO "annotation_value" VALUES(670,437,360);
+INSERT INTO "annotation_value" VALUES(671,437,355);
+INSERT INTO "annotation_value" VALUES(672,437,364);
+INSERT INTO "annotation_value" VALUES(673,438,347);
+INSERT INTO "annotation_value" VALUES(674,438,383);
+INSERT INTO "annotation_value" VALUES(675,438,364);
+INSERT INTO "annotation_value" VALUES(676,438,359);
+INSERT INTO "annotation_value" VALUES(677,438,380);
+INSERT INTO "annotation_value" VALUES(678,438,378);
+INSERT INTO "annotation_value" VALUES(679,438,356);
+INSERT INTO "annotation_value" VALUES(680,438,355);
+INSERT INTO "annotation_value" VALUES(681,438,376);
+INSERT INTO "annotation_value" VALUES(682,438,139);
+INSERT INTO "annotation_value" VALUES(683,438,379);
+INSERT INTO "annotation_value" VALUES(684,438,362);
+INSERT INTO "annotation_value" VALUES(685,438,352);
+INSERT INTO "annotation_value" VALUES(686,438,374);
+INSERT INTO "annotation_value" VALUES(687,438,371);
+INSERT INTO "annotation_value" VALUES(688,438,367);
+INSERT INTO "annotation_value" VALUES(689,438,386);
+INSERT INTO "annotation_value" VALUES(690,438,389);
+INSERT INTO "annotation_value" VALUES(691,438,361);
+INSERT INTO "annotation_value" VALUES(692,438,385);
+INSERT INTO "annotation_value" VALUES(693,438,373);
+INSERT INTO "annotation_value" VALUES(694,438,375);
+INSERT INTO "annotation_value" VALUES(695,438,387);
+INSERT INTO "annotation_value" VALUES(696,438,363);
+INSERT INTO "annotation_value" VALUES(697,438,354);
+INSERT INTO "annotation_value" VALUES(698,438,370);
+INSERT INTO "annotation_value" VALUES(699,438,390);
+INSERT INTO "annotation_value" VALUES(700,438,358);
+INSERT INTO "annotation_value" VALUES(701,438,366);
+INSERT INTO "annotation_value" VALUES(702,438,372);
+INSERT INTO "annotation_value" VALUES(703,438,351);
+INSERT INTO "annotation_value" VALUES(704,438,381);
+INSERT INTO "annotation_value" VALUES(705,438,357);
+INSERT INTO "annotation_value" VALUES(706,438,368);
+INSERT INTO "annotation_value" VALUES(707,438,377);
+INSERT INTO "annotation_value" VALUES(708,438,388);
+INSERT INTO "annotation_value" VALUES(709,438,353);
+INSERT INTO "annotation_value" VALUES(710,438,360);
+INSERT INTO "annotation_value" VALUES(711,438,349);
+INSERT INTO "annotation_value" VALUES(712,438,348);
+INSERT INTO "annotation_value" VALUES(713,438,350);
+INSERT INTO "annotation_value" VALUES(714,438,384);
+INSERT INTO "annotation_value" VALUES(715,438,365);
+INSERT INTO "annotation_value" VALUES(716,438,382);
+INSERT INTO "annotation_value" VALUES(717,438,369);
+INSERT INTO "annotation_value" VALUES(718,439,389);
+INSERT INTO "annotation_value" VALUES(719,439,378);
+INSERT INTO "annotation_value" VALUES(720,439,347);
+INSERT INTO "annotation_value" VALUES(721,439,373);
+INSERT INTO "annotation_value" VALUES(722,439,366);
+INSERT INTO "annotation_value" VALUES(723,439,384);
+INSERT INTO "annotation_value" VALUES(724,439,349);
+INSERT INTO "annotation_value" VALUES(725,439,361);
+INSERT INTO "annotation_value" VALUES(726,439,360);
+INSERT INTO "annotation_value" VALUES(727,439,370);
+INSERT INTO "annotation_value" VALUES(728,439,351);
+INSERT INTO "annotation_value" VALUES(729,439,376);
+INSERT INTO "annotation_value" VALUES(730,439,372);
+INSERT INTO "annotation_value" VALUES(731,439,358);
+INSERT INTO "annotation_value" VALUES(732,439,353);
+INSERT INTO "annotation_value" VALUES(733,439,363);
+INSERT INTO "annotation_value" VALUES(734,439,365);
+INSERT INTO "annotation_value" VALUES(735,439,364);
+INSERT INTO "annotation_value" VALUES(736,439,350);
+INSERT INTO "annotation_value" VALUES(737,439,382);
+INSERT INTO "annotation_value" VALUES(738,439,359);
+INSERT INTO "annotation_value" VALUES(739,439,355);
+INSERT INTO "annotation_value" VALUES(740,439,381);
+INSERT INTO "annotation_value" VALUES(741,439,386);
+INSERT INTO "annotation_value" VALUES(742,439,375);
+INSERT INTO "annotation_value" VALUES(743,439,354);
+INSERT INTO "annotation_value" VALUES(744,439,369);
+INSERT INTO "annotation_value" VALUES(745,439,367);
+INSERT INTO "annotation_value" VALUES(746,439,357);
+INSERT INTO "annotation_value" VALUES(747,439,348);
+INSERT INTO "annotation_value" VALUES(748,439,362);
+INSERT INTO "annotation_value" VALUES(749,439,352);
+INSERT INTO "annotation_value" VALUES(750,439,368);
+INSERT INTO "annotation_value" VALUES(751,439,374);
+INSERT INTO "annotation_value" VALUES(752,439,383);
+INSERT INTO "annotation_value" VALUES(753,439,388);
+INSERT INTO "annotation_value" VALUES(754,439,387);
+INSERT INTO "annotation_value" VALUES(755,439,380);
+INSERT INTO "annotation_value" VALUES(756,439,139);
+INSERT INTO "annotation_value" VALUES(757,439,390);
+INSERT INTO "annotation_value" VALUES(758,439,371);
+INSERT INTO "annotation_value" VALUES(759,439,385);
+INSERT INTO "annotation_value" VALUES(760,439,379);
+INSERT INTO "annotation_value" VALUES(761,439,377);
+INSERT INTO "annotation_value" VALUES(762,439,356);
+INSERT INTO "annotation_value" VALUES(763,440,377);
+INSERT INTO "annotation_value" VALUES(764,440,365);
+INSERT INTO "annotation_value" VALUES(765,440,350);
+INSERT INTO "annotation_value" VALUES(766,440,363);
+INSERT INTO "annotation_value" VALUES(767,440,382);
+INSERT INTO "annotation_value" VALUES(768,440,356);
+INSERT INTO "annotation_value" VALUES(769,440,379);
+INSERT INTO "annotation_value" VALUES(770,440,347);
+INSERT INTO "annotation_value" VALUES(771,440,376);
+INSERT INTO "annotation_value" VALUES(772,440,364);
+INSERT INTO "annotation_value" VALUES(773,440,372);
+INSERT INTO "annotation_value" VALUES(774,440,374);
+INSERT INTO "annotation_value" VALUES(775,440,367);
+INSERT INTO "annotation_value" VALUES(776,440,370);
+INSERT INTO "annotation_value" VALUES(777,440,373);
+INSERT INTO "annotation_value" VALUES(778,440,387);
+INSERT INTO "annotation_value" VALUES(779,440,355);
+INSERT INTO "annotation_value" VALUES(780,440,383);
+INSERT INTO "annotation_value" VALUES(781,440,368);
+INSERT INTO "annotation_value" VALUES(782,440,390);
+INSERT INTO "annotation_value" VALUES(783,440,371);
+INSERT INTO "annotation_value" VALUES(784,440,380);
+INSERT INTO "annotation_value" VALUES(785,440,352);
+INSERT INTO "annotation_value" VALUES(786,440,369);
+INSERT INTO "annotation_value" VALUES(787,440,362);
+INSERT INTO "annotation_value" VALUES(788,440,349);
+INSERT INTO "annotation_value" VALUES(789,440,139);
+INSERT INTO "annotation_value" VALUES(790,440,378);
+INSERT INTO "annotation_value" VALUES(791,440,354);
+INSERT INTO "annotation_value" VALUES(792,440,385);
+INSERT INTO "annotation_value" VALUES(793,440,351);
+INSERT INTO "annotation_value" VALUES(794,440,375);
+INSERT INTO "annotation_value" VALUES(795,440,388);
+INSERT INTO "annotation_value" VALUES(796,440,381);
+INSERT INTO "annotation_value" VALUES(797,440,389);
+INSERT INTO "annotation_value" VALUES(798,440,361);
+INSERT INTO "annotation_value" VALUES(799,440,348);
+INSERT INTO "annotation_value" VALUES(800,440,357);
+INSERT INTO "annotation_value" VALUES(801,440,353);
+INSERT INTO "annotation_value" VALUES(802,440,359);
+INSERT INTO "annotation_value" VALUES(803,440,386);
+INSERT INTO "annotation_value" VALUES(804,440,366);
+INSERT INTO "annotation_value" VALUES(805,440,358);
+INSERT INTO "annotation_value" VALUES(806,440,384);
+INSERT INTO "annotation_value" VALUES(807,440,360);
+INSERT INTO "annotation_value" VALUES(808,441,383);
+INSERT INTO "annotation_value" VALUES(809,441,355);
+INSERT INTO "annotation_value" VALUES(810,441,374);
+INSERT INTO "annotation_value" VALUES(811,441,350);
+INSERT INTO "annotation_value" VALUES(812,441,364);
+INSERT INTO "annotation_value" VALUES(813,441,363);
+INSERT INTO "annotation_value" VALUES(814,441,361);
+INSERT INTO "annotation_value" VALUES(815,441,376);
+INSERT INTO "annotation_value" VALUES(816,441,386);
+INSERT INTO "annotation_value" VALUES(817,441,387);
+INSERT INTO "annotation_value" VALUES(818,441,385);
+INSERT INTO "annotation_value" VALUES(819,441,369);
+INSERT INTO "annotation_value" VALUES(820,441,358);
+INSERT INTO "annotation_value" VALUES(821,441,381);
+INSERT INTO "annotation_value" VALUES(822,441,360);
+INSERT INTO "annotation_value" VALUES(823,441,348);
+INSERT INTO "annotation_value" VALUES(824,441,388);
+INSERT INTO "annotation_value" VALUES(825,441,377);
+INSERT INTO "annotation_value" VALUES(826,441,373);
+INSERT INTO "annotation_value" VALUES(827,441,382);
+INSERT INTO "annotation_value" VALUES(828,441,389);
+INSERT INTO "annotation_value" VALUES(829,441,379);
+INSERT INTO "annotation_value" VALUES(830,441,384);
+INSERT INTO "annotation_value" VALUES(831,441,371);
+INSERT INTO "annotation_value" VALUES(832,441,356);
+INSERT INTO "annotation_value" VALUES(833,441,359);
+INSERT INTO "annotation_value" VALUES(834,441,353);
+INSERT INTO "annotation_value" VALUES(835,441,372);
+INSERT INTO "annotation_value" VALUES(836,441,366);
+INSERT INTO "annotation_value" VALUES(837,441,349);
+INSERT INTO "annotation_value" VALUES(838,441,390);
+INSERT INTO "annotation_value" VALUES(839,441,139);
+INSERT INTO "annotation_value" VALUES(840,441,351);
+INSERT INTO "annotation_value" VALUES(841,441,367);
+INSERT INTO "annotation_value" VALUES(842,441,370);
+INSERT INTO "annotation_value" VALUES(843,441,380);
+INSERT INTO "annotation_value" VALUES(844,441,357);
+INSERT INTO "annotation_value" VALUES(845,441,352);
+INSERT INTO "annotation_value" VALUES(846,441,347);
+INSERT INTO "annotation_value" VALUES(847,441,354);
+INSERT INTO "annotation_value" VALUES(848,441,365);
+INSERT INTO "annotation_value" VALUES(849,441,368);
+INSERT INTO "annotation_value" VALUES(850,441,378);
+INSERT INTO "annotation_value" VALUES(851,441,375);
+INSERT INTO "annotation_value" VALUES(852,441,362);
+INSERT INTO "annotation_value" VALUES(853,442,353);
+INSERT INTO "annotation_value" VALUES(854,442,389);
+INSERT INTO "annotation_value" VALUES(855,442,378);
+INSERT INTO "annotation_value" VALUES(856,442,382);
+INSERT INTO "annotation_value" VALUES(857,442,380);
+INSERT INTO "annotation_value" VALUES(858,442,381);
+INSERT INTO "annotation_value" VALUES(859,442,355);
+INSERT INTO "annotation_value" VALUES(860,442,384);
+INSERT INTO "annotation_value" VALUES(861,442,139);
+INSERT INTO "annotation_value" VALUES(862,442,358);
+INSERT INTO "annotation_value" VALUES(863,442,354);
+INSERT INTO "annotation_value" VALUES(864,442,365);
+INSERT INTO "annotation_value" VALUES(865,442,360);
+INSERT INTO "annotation_value" VALUES(866,442,361);
+INSERT INTO "annotation_value" VALUES(867,442,387);
+INSERT INTO "annotation_value" VALUES(868,442,356);
+INSERT INTO "annotation_value" VALUES(869,442,367);
+INSERT INTO "annotation_value" VALUES(870,442,364);
+INSERT INTO "annotation_value" VALUES(871,442,348);
+INSERT INTO "annotation_value" VALUES(872,442,383);
+INSERT INTO "annotation_value" VALUES(873,442,371);
+INSERT INTO "annotation_value" VALUES(874,442,369);
+INSERT INTO "annotation_value" VALUES(875,442,368);
+INSERT INTO "annotation_value" VALUES(876,442,374);
+INSERT INTO "annotation_value" VALUES(877,442,377);
+INSERT INTO "annotation_value" VALUES(878,442,351);
+INSERT INTO "annotation_value" VALUES(879,442,350);
+INSERT INTO "annotation_value" VALUES(880,442,372);
+INSERT INTO "annotation_value" VALUES(881,442,379);
+INSERT INTO "annotation_value" VALUES(882,442,349);
+INSERT INTO "annotation_value" VALUES(883,442,390);
+INSERT INTO "annotation_value" VALUES(884,442,363);
+INSERT INTO "annotation_value" VALUES(885,442,385);
+INSERT INTO "annotation_value" VALUES(886,442,347);
+INSERT INTO "annotation_value" VALUES(887,442,388);
+INSERT INTO "annotation_value" VALUES(888,442,362);
+INSERT INTO "annotation_value" VALUES(889,442,376);
+INSERT INTO "annotation_value" VALUES(890,442,373);
+INSERT INTO "annotation_value" VALUES(891,442,357);
+INSERT INTO "annotation_value" VALUES(892,442,386);
+INSERT INTO "annotation_value" VALUES(893,442,359);
+INSERT INTO "annotation_value" VALUES(894,442,370);
+INSERT INTO "annotation_value" VALUES(895,442,375);
+INSERT INTO "annotation_value" VALUES(896,442,366);
+INSERT INTO "annotation_value" VALUES(897,442,352);
+INSERT INTO "annotation_value" VALUES(898,443,364);
+INSERT INTO "annotation_value" VALUES(899,443,382);
+INSERT INTO "annotation_value" VALUES(900,443,388);
+INSERT INTO "annotation_value" VALUES(901,443,374);
+INSERT INTO "annotation_value" VALUES(902,443,353);
+INSERT INTO "annotation_value" VALUES(903,443,375);
+INSERT INTO "annotation_value" VALUES(904,443,363);
+INSERT INTO "annotation_value" VALUES(905,443,366);
+INSERT INTO "annotation_value" VALUES(906,443,379);
+INSERT INTO "annotation_value" VALUES(907,443,368);
+INSERT INTO "annotation_value" VALUES(908,443,354);
+INSERT INTO "annotation_value" VALUES(909,443,389);
+INSERT INTO "annotation_value" VALUES(910,443,361);
+INSERT INTO "annotation_value" VALUES(911,443,347);
+INSERT INTO "annotation_value" VALUES(912,443,383);
+INSERT INTO "annotation_value" VALUES(913,443,378);
+INSERT INTO "annotation_value" VALUES(914,443,358);
+INSERT INTO "annotation_value" VALUES(915,443,352);
+INSERT INTO "annotation_value" VALUES(916,443,362);
+INSERT INTO "annotation_value" VALUES(917,443,385);
+INSERT INTO "annotation_value" VALUES(918,443,372);
+INSERT INTO "annotation_value" VALUES(919,443,390);
+INSERT INTO "annotation_value" VALUES(920,443,351);
+INSERT INTO "annotation_value" VALUES(921,443,386);
+INSERT INTO "annotation_value" VALUES(922,443,384);
+INSERT INTO "annotation_value" VALUES(923,443,376);
+INSERT INTO "annotation_value" VALUES(924,443,139);
+INSERT INTO "annotation_value" VALUES(925,443,387);
+INSERT INTO "annotation_value" VALUES(926,443,357);
+INSERT INTO "annotation_value" VALUES(927,443,381);
+INSERT INTO "annotation_value" VALUES(928,443,355);
+INSERT INTO "annotation_value" VALUES(929,443,373);
+INSERT INTO "annotation_value" VALUES(930,443,356);
+INSERT INTO "annotation_value" VALUES(931,443,377);
+INSERT INTO "annotation_value" VALUES(932,443,349);
+INSERT INTO "annotation_value" VALUES(933,443,350);
+INSERT INTO "annotation_value" VALUES(934,443,359);
+INSERT INTO "annotation_value" VALUES(935,443,369);
+INSERT INTO "annotation_value" VALUES(936,443,380);
+INSERT INTO "annotation_value" VALUES(937,443,370);
+INSERT INTO "annotation_value" VALUES(938,443,360);
+INSERT INTO "annotation_value" VALUES(939,443,367);
+INSERT INTO "annotation_value" VALUES(940,443,371);
+INSERT INTO "annotation_value" VALUES(941,443,365);
+INSERT INTO "annotation_value" VALUES(942,443,348);
+INSERT INTO "annotation_value" VALUES(943,444,383);
+INSERT INTO "annotation_value" VALUES(944,444,351);
+INSERT INTO "annotation_value" VALUES(945,444,350);
+INSERT INTO "annotation_value" VALUES(946,444,353);
+INSERT INTO "annotation_value" VALUES(947,444,374);
+INSERT INTO "annotation_value" VALUES(948,444,368);
+INSERT INTO "annotation_value" VALUES(949,444,348);
+INSERT INTO "annotation_value" VALUES(950,444,380);
+INSERT INTO "annotation_value" VALUES(951,444,359);
+INSERT INTO "annotation_value" VALUES(952,444,360);
+INSERT INTO "annotation_value" VALUES(953,444,357);
+INSERT INTO "annotation_value" VALUES(954,444,370);
+INSERT INTO "annotation_value" VALUES(955,444,361);
+INSERT INTO "annotation_value" VALUES(956,444,366);
+INSERT INTO "annotation_value" VALUES(957,444,385);
+INSERT INTO "annotation_value" VALUES(958,444,388);
+INSERT INTO "annotation_value" VALUES(959,444,367);
+INSERT INTO "annotation_value" VALUES(960,444,378);
+INSERT INTO "annotation_value" VALUES(961,444,373);
+INSERT INTO "annotation_value" VALUES(962,444,382);
+INSERT INTO "annotation_value" VALUES(963,444,377);
+INSERT INTO "annotation_value" VALUES(964,444,389);
+INSERT INTO "annotation_value" VALUES(965,444,355);
+INSERT INTO "annotation_value" VALUES(966,444,364);
+INSERT INTO "annotation_value" VALUES(967,444,371);
+INSERT INTO "annotation_value" VALUES(968,444,358);
+INSERT INTO "annotation_value" VALUES(969,444,376);
+INSERT INTO "annotation_value" VALUES(970,444,369);
+INSERT INTO "annotation_value" VALUES(971,444,347);
+INSERT INTO "annotation_value" VALUES(972,444,375);
+INSERT INTO "annotation_value" VALUES(973,444,349);
+INSERT INTO "annotation_value" VALUES(974,444,362);
+INSERT INTO "annotation_value" VALUES(975,444,352);
+INSERT INTO "annotation_value" VALUES(976,444,356);
+INSERT INTO "annotation_value" VALUES(977,444,381);
+INSERT INTO "annotation_value" VALUES(978,444,384);
+INSERT INTO "annotation_value" VALUES(979,444,372);
+INSERT INTO "annotation_value" VALUES(980,444,139);
+INSERT INTO "annotation_value" VALUES(981,444,363);
+INSERT INTO "annotation_value" VALUES(982,444,379);
+INSERT INTO "annotation_value" VALUES(983,444,386);
+INSERT INTO "annotation_value" VALUES(984,444,354);
+INSERT INTO "annotation_value" VALUES(985,444,387);
+INSERT INTO "annotation_value" VALUES(986,444,390);
+INSERT INTO "annotation_value" VALUES(987,444,365);
+INSERT INTO "annotation_value" VALUES(988,445,348);
+INSERT INTO "annotation_value" VALUES(989,445,383);
+INSERT INTO "annotation_value" VALUES(990,445,364);
+INSERT INTO "annotation_value" VALUES(991,445,347);
+INSERT INTO "annotation_value" VALUES(992,445,361);
+INSERT INTO "annotation_value" VALUES(993,445,376);
+INSERT INTO "annotation_value" VALUES(994,445,370);
+INSERT INTO "annotation_value" VALUES(995,445,363);
+INSERT INTO "annotation_value" VALUES(996,445,352);
+INSERT INTO "annotation_value" VALUES(997,445,356);
+INSERT INTO "annotation_value" VALUES(998,445,372);
+INSERT INTO "annotation_value" VALUES(999,445,386);
+INSERT INTO "annotation_value" VALUES(1000,445,378);
+INSERT INTO "annotation_value" VALUES(1001,445,390);
+INSERT INTO "annotation_value" VALUES(1002,445,355);
+INSERT INTO "annotation_value" VALUES(1003,445,366);
+INSERT INTO "annotation_value" VALUES(1004,445,139);
+INSERT INTO "annotation_value" VALUES(1005,445,385);
+INSERT INTO "annotation_value" VALUES(1006,445,368);
+INSERT INTO "annotation_value" VALUES(1007,445,365);
+INSERT INTO "annotation_value" VALUES(1008,445,360);
+INSERT INTO "annotation_value" VALUES(1009,445,362);
+INSERT INTO "annotation_value" VALUES(1010,445,367);
+INSERT INTO "annotation_value" VALUES(1011,445,357);
+INSERT INTO "annotation_value" VALUES(1012,445,388);
+INSERT INTO "annotation_value" VALUES(1013,445,382);
+INSERT INTO "annotation_value" VALUES(1014,445,379);
+INSERT INTO "annotation_value" VALUES(1015,445,381);
+INSERT INTO "annotation_value" VALUES(1016,445,359);
+INSERT INTO "annotation_value" VALUES(1017,445,350);
+INSERT INTO "annotation_value" VALUES(1018,445,387);
+INSERT INTO "annotation_value" VALUES(1019,445,358);
+INSERT INTO "annotation_value" VALUES(1020,445,375);
+INSERT INTO "annotation_value" VALUES(1021,445,374);
+INSERT INTO "annotation_value" VALUES(1022,445,371);
+INSERT INTO "annotation_value" VALUES(1023,445,349);
+INSERT INTO "annotation_value" VALUES(1024,445,377);
+INSERT INTO "annotation_value" VALUES(1025,445,380);
+INSERT INTO "annotation_value" VALUES(1026,445,354);
+INSERT INTO "annotation_value" VALUES(1027,445,384);
+INSERT INTO "annotation_value" VALUES(1028,445,351);
+INSERT INTO "annotation_value" VALUES(1029,445,369);
+INSERT INTO "annotation_value" VALUES(1030,445,353);
+INSERT INTO "annotation_value" VALUES(1031,445,373);
+INSERT INTO "annotation_value" VALUES(1032,445,389);
+INSERT INTO "annotation_value" VALUES(1033,446,374);
+INSERT INTO "annotation_value" VALUES(1034,446,373);
+INSERT INTO "annotation_value" VALUES(1035,446,381);
+INSERT INTO "annotation_value" VALUES(1036,446,380);
+INSERT INTO "annotation_value" VALUES(1037,446,383);
+INSERT INTO "annotation_value" VALUES(1038,446,362);
+INSERT INTO "annotation_value" VALUES(1039,446,356);
+INSERT INTO "annotation_value" VALUES(1040,446,353);
+INSERT INTO "annotation_value" VALUES(1041,446,359);
+INSERT INTO "annotation_value" VALUES(1042,446,363);
+INSERT INTO "annotation_value" VALUES(1043,446,355);
+INSERT INTO "annotation_value" VALUES(1044,446,358);
+INSERT INTO "annotation_value" VALUES(1045,446,382);
+INSERT INTO "annotation_value" VALUES(1046,446,378);
+INSERT INTO "annotation_value" VALUES(1047,446,357);
+INSERT INTO "annotation_value" VALUES(1048,446,390);
+INSERT INTO "annotation_value" VALUES(1049,446,354);
+INSERT INTO "annotation_value" VALUES(1050,446,371);
+INSERT INTO "annotation_value" VALUES(1051,446,372);
+INSERT INTO "annotation_value" VALUES(1052,446,367);
+INSERT INTO "annotation_value" VALUES(1053,446,351);
+INSERT INTO "annotation_value" VALUES(1054,446,379);
+INSERT INTO "annotation_value" VALUES(1055,446,350);
+INSERT INTO "annotation_value" VALUES(1056,446,386);
+INSERT INTO "annotation_value" VALUES(1057,446,139);
+INSERT INTO "annotation_value" VALUES(1058,446,388);
+INSERT INTO "annotation_value" VALUES(1059,446,352);
+INSERT INTO "annotation_value" VALUES(1060,446,360);
+INSERT INTO "annotation_value" VALUES(1061,446,361);
+INSERT INTO "annotation_value" VALUES(1062,446,365);
+INSERT INTO "annotation_value" VALUES(1063,446,349);
+INSERT INTO "annotation_value" VALUES(1064,446,385);
+INSERT INTO "annotation_value" VALUES(1065,446,348);
+INSERT INTO "annotation_value" VALUES(1066,446,364);
+INSERT INTO "annotation_value" VALUES(1067,446,366);
+INSERT INTO "annotation_value" VALUES(1068,446,377);
+INSERT INTO "annotation_value" VALUES(1069,446,387);
+INSERT INTO "annotation_value" VALUES(1070,446,375);
+INSERT INTO "annotation_value" VALUES(1071,446,347);
+INSERT INTO "annotation_value" VALUES(1072,446,389);
+INSERT INTO "annotation_value" VALUES(1073,446,368);
+INSERT INTO "annotation_value" VALUES(1074,446,370);
+INSERT INTO "annotation_value" VALUES(1075,446,369);
+INSERT INTO "annotation_value" VALUES(1076,446,376);
+INSERT INTO "annotation_value" VALUES(1077,446,384);
+INSERT INTO "annotation_value" VALUES(1078,447,370);
+INSERT INTO "annotation_value" VALUES(1079,447,371);
+INSERT INTO "annotation_value" VALUES(1080,447,360);
+INSERT INTO "annotation_value" VALUES(1081,447,376);
+INSERT INTO "annotation_value" VALUES(1082,447,387);
+INSERT INTO "annotation_value" VALUES(1083,447,373);
+INSERT INTO "annotation_value" VALUES(1084,447,348);
+INSERT INTO "annotation_value" VALUES(1085,447,375);
+INSERT INTO "annotation_value" VALUES(1086,447,356);
+INSERT INTO "annotation_value" VALUES(1087,447,384);
+INSERT INTO "annotation_value" VALUES(1088,447,381);
+INSERT INTO "annotation_value" VALUES(1089,447,351);
+INSERT INTO "annotation_value" VALUES(1090,447,353);
+INSERT INTO "annotation_value" VALUES(1091,447,385);
+INSERT INTO "annotation_value" VALUES(1092,447,368);
+INSERT INTO "annotation_value" VALUES(1093,447,389);
+INSERT INTO "annotation_value" VALUES(1094,447,352);
+INSERT INTO "annotation_value" VALUES(1095,447,349);
+INSERT INTO "annotation_value" VALUES(1096,447,380);
+INSERT INTO "annotation_value" VALUES(1097,447,359);
+INSERT INTO "annotation_value" VALUES(1098,447,364);
+INSERT INTO "annotation_value" VALUES(1099,447,363);
+INSERT INTO "annotation_value" VALUES(1100,447,377);
+INSERT INTO "annotation_value" VALUES(1101,447,139);
+INSERT INTO "annotation_value" VALUES(1102,447,355);
+INSERT INTO "annotation_value" VALUES(1103,447,383);
+INSERT INTO "annotation_value" VALUES(1104,447,382);
+INSERT INTO "annotation_value" VALUES(1105,447,350);
+INSERT INTO "annotation_value" VALUES(1106,447,354);
+INSERT INTO "annotation_value" VALUES(1107,447,357);
+INSERT INTO "annotation_value" VALUES(1108,447,379);
+INSERT INTO "annotation_value" VALUES(1109,447,367);
+INSERT INTO "annotation_value" VALUES(1110,447,378);
+INSERT INTO "annotation_value" VALUES(1111,447,361);
+INSERT INTO "annotation_value" VALUES(1112,447,362);
+INSERT INTO "annotation_value" VALUES(1113,447,366);
+INSERT INTO "annotation_value" VALUES(1114,447,374);
+INSERT INTO "annotation_value" VALUES(1115,447,390);
+INSERT INTO "annotation_value" VALUES(1116,447,386);
+INSERT INTO "annotation_value" VALUES(1117,447,358);
+INSERT INTO "annotation_value" VALUES(1118,447,369);
+INSERT INTO "annotation_value" VALUES(1119,447,347);
+INSERT INTO "annotation_value" VALUES(1120,447,388);
+INSERT INTO "annotation_value" VALUES(1121,447,365);
+INSERT INTO "annotation_value" VALUES(1122,447,372);
+INSERT INTO "annotation_value" VALUES(1123,448,370);
+INSERT INTO "annotation_value" VALUES(1124,448,367);
+INSERT INTO "annotation_value" VALUES(1125,448,351);
+INSERT INTO "annotation_value" VALUES(1126,448,364);
+INSERT INTO "annotation_value" VALUES(1127,448,357);
+INSERT INTO "annotation_value" VALUES(1128,448,385);
+INSERT INTO "annotation_value" VALUES(1129,448,390);
+INSERT INTO "annotation_value" VALUES(1130,448,353);
+INSERT INTO "annotation_value" VALUES(1131,448,384);
+INSERT INTO "annotation_value" VALUES(1132,448,350);
+INSERT INTO "annotation_value" VALUES(1133,448,381);
+INSERT INTO "annotation_value" VALUES(1134,448,376);
+INSERT INTO "annotation_value" VALUES(1135,448,369);
+INSERT INTO "annotation_value" VALUES(1136,448,377);
+INSERT INTO "annotation_value" VALUES(1137,448,139);
+INSERT INTO "annotation_value" VALUES(1138,448,361);
+INSERT INTO "annotation_value" VALUES(1139,448,352);
+INSERT INTO "annotation_value" VALUES(1140,448,388);
+INSERT INTO "annotation_value" VALUES(1141,448,374);
+INSERT INTO "annotation_value" VALUES(1142,448,383);
+INSERT INTO "annotation_value" VALUES(1143,448,371);
+INSERT INTO "annotation_value" VALUES(1144,448,375);
+INSERT INTO "annotation_value" VALUES(1145,448,379);
+INSERT INTO "annotation_value" VALUES(1146,448,386);
+INSERT INTO "annotation_value" VALUES(1147,448,356);
+INSERT INTO "annotation_value" VALUES(1148,448,365);
+INSERT INTO "annotation_value" VALUES(1149,448,387);
+INSERT INTO "annotation_value" VALUES(1150,448,354);
+INSERT INTO "annotation_value" VALUES(1151,448,360);
+INSERT INTO "annotation_value" VALUES(1152,448,359);
+INSERT INTO "annotation_value" VALUES(1153,448,378);
+INSERT INTO "annotation_value" VALUES(1154,448,382);
+INSERT INTO "annotation_value" VALUES(1155,448,366);
+INSERT INTO "annotation_value" VALUES(1156,448,349);
+INSERT INTO "annotation_value" VALUES(1157,448,347);
+INSERT INTO "annotation_value" VALUES(1158,448,380);
+INSERT INTO "annotation_value" VALUES(1159,448,358);
+INSERT INTO "annotation_value" VALUES(1160,448,355);
+INSERT INTO "annotation_value" VALUES(1161,448,348);
+INSERT INTO "annotation_value" VALUES(1162,448,372);
+INSERT INTO "annotation_value" VALUES(1163,448,363);
+INSERT INTO "annotation_value" VALUES(1164,448,389);
+INSERT INTO "annotation_value" VALUES(1165,448,373);
+INSERT INTO "annotation_value" VALUES(1166,448,368);
+INSERT INTO "annotation_value" VALUES(1167,448,362);
+INSERT INTO "annotation_value" VALUES(1168,449,377);
+INSERT INTO "annotation_value" VALUES(1169,449,348);
+INSERT INTO "annotation_value" VALUES(1170,449,382);
+INSERT INTO "annotation_value" VALUES(1171,449,351);
+INSERT INTO "annotation_value" VALUES(1172,449,390);
+INSERT INTO "annotation_value" VALUES(1173,449,361);
+INSERT INTO "annotation_value" VALUES(1174,449,347);
+INSERT INTO "annotation_value" VALUES(1175,449,352);
+INSERT INTO "annotation_value" VALUES(1176,449,379);
+INSERT INTO "annotation_value" VALUES(1177,449,372);
+INSERT INTO "annotation_value" VALUES(1178,449,365);
+INSERT INTO "annotation_value" VALUES(1179,449,376);
+INSERT INTO "annotation_value" VALUES(1180,449,363);
+INSERT INTO "annotation_value" VALUES(1181,449,387);
+INSERT INTO "annotation_value" VALUES(1182,449,368);
+INSERT INTO "annotation_value" VALUES(1183,449,386);
+INSERT INTO "annotation_value" VALUES(1184,449,384);
+INSERT INTO "annotation_value" VALUES(1185,449,389);
+INSERT INTO "annotation_value" VALUES(1186,449,360);
+INSERT INTO "annotation_value" VALUES(1187,449,358);
+INSERT INTO "annotation_value" VALUES(1188,449,139);
+INSERT INTO "annotation_value" VALUES(1189,449,380);
+INSERT INTO "annotation_value" VALUES(1190,449,353);
+INSERT INTO "annotation_value" VALUES(1191,449,359);
+INSERT INTO "annotation_value" VALUES(1192,449,375);
+INSERT INTO "annotation_value" VALUES(1193,449,371);
+INSERT INTO "annotation_value" VALUES(1194,449,355);
+INSERT INTO "annotation_value" VALUES(1195,449,354);
+INSERT INTO "annotation_value" VALUES(1196,449,349);
+INSERT INTO "annotation_value" VALUES(1197,449,385);
+INSERT INTO "annotation_value" VALUES(1198,449,378);
+INSERT INTO "annotation_value" VALUES(1199,449,367);
+INSERT INTO "annotation_value" VALUES(1200,449,374);
+INSERT INTO "annotation_value" VALUES(1201,449,370);
+INSERT INTO "annotation_value" VALUES(1202,449,364);
+INSERT INTO "annotation_value" VALUES(1203,449,366);
+INSERT INTO "annotation_value" VALUES(1204,449,383);
+INSERT INTO "annotation_value" VALUES(1205,449,362);
+INSERT INTO "annotation_value" VALUES(1206,449,381);
+INSERT INTO "annotation_value" VALUES(1207,449,388);
+INSERT INTO "annotation_value" VALUES(1208,449,357);
+INSERT INTO "annotation_value" VALUES(1209,449,350);
+INSERT INTO "annotation_value" VALUES(1210,449,356);
+INSERT INTO "annotation_value" VALUES(1211,449,373);
+INSERT INTO "annotation_value" VALUES(1212,449,369);
+INSERT INTO "annotation_value" VALUES(1213,450,389);
+INSERT INTO "annotation_value" VALUES(1214,450,360);
+INSERT INTO "annotation_value" VALUES(1215,450,370);
+INSERT INTO "annotation_value" VALUES(1216,450,390);
+INSERT INTO "annotation_value" VALUES(1217,450,372);
+INSERT INTO "annotation_value" VALUES(1218,450,375);
+INSERT INTO "annotation_value" VALUES(1219,450,381);
+INSERT INTO "annotation_value" VALUES(1220,450,362);
+INSERT INTO "annotation_value" VALUES(1221,450,353);
+INSERT INTO "annotation_value" VALUES(1222,450,388);
+INSERT INTO "annotation_value" VALUES(1223,450,377);
+INSERT INTO "annotation_value" VALUES(1224,450,351);
+INSERT INTO "annotation_value" VALUES(1225,450,358);
+INSERT INTO "annotation_value" VALUES(1226,450,139);
+INSERT INTO "annotation_value" VALUES(1227,450,357);
+INSERT INTO "annotation_value" VALUES(1228,450,385);
+INSERT INTO "annotation_value" VALUES(1229,450,366);
+INSERT INTO "annotation_value" VALUES(1230,450,365);
+INSERT INTO "annotation_value" VALUES(1231,450,363);
+INSERT INTO "annotation_value" VALUES(1232,450,387);
+INSERT INTO "annotation_value" VALUES(1233,450,364);
+INSERT INTO "annotation_value" VALUES(1234,450,354);
+INSERT INTO "annotation_value" VALUES(1235,450,386);
+INSERT INTO "annotation_value" VALUES(1236,450,382);
+INSERT INTO "annotation_value" VALUES(1237,450,361);
+INSERT INTO "annotation_value" VALUES(1238,450,384);
+INSERT INTO "annotation_value" VALUES(1239,450,368);
+INSERT INTO "annotation_value" VALUES(1240,450,347);
+INSERT INTO "annotation_value" VALUES(1241,450,374);
+INSERT INTO "annotation_value" VALUES(1242,450,369);
+INSERT INTO "annotation_value" VALUES(1243,450,376);
+INSERT INTO "annotation_value" VALUES(1244,450,355);
+INSERT INTO "annotation_value" VALUES(1245,450,349);
+INSERT INTO "annotation_value" VALUES(1246,450,350);
+INSERT INTO "annotation_value" VALUES(1247,450,356);
+INSERT INTO "annotation_value" VALUES(1248,450,378);
+INSERT INTO "annotation_value" VALUES(1249,450,379);
+INSERT INTO "annotation_value" VALUES(1250,450,373);
+INSERT INTO "annotation_value" VALUES(1251,450,352);
+INSERT INTO "annotation_value" VALUES(1252,450,359);
+INSERT INTO "annotation_value" VALUES(1253,450,380);
+INSERT INTO "annotation_value" VALUES(1254,450,371);
+INSERT INTO "annotation_value" VALUES(1255,450,383);
+INSERT INTO "annotation_value" VALUES(1256,450,348);
+INSERT INTO "annotation_value" VALUES(1257,450,367);
+INSERT INTO "annotation_value" VALUES(1258,451,389);
+INSERT INTO "annotation_value" VALUES(1259,451,350);
+INSERT INTO "annotation_value" VALUES(1260,451,381);
+INSERT INTO "annotation_value" VALUES(1261,451,385);
+INSERT INTO "annotation_value" VALUES(1262,451,356);
+INSERT INTO "annotation_value" VALUES(1263,451,372);
+INSERT INTO "annotation_value" VALUES(1264,451,374);
+INSERT INTO "annotation_value" VALUES(1265,451,355);
+INSERT INTO "annotation_value" VALUES(1266,451,354);
+INSERT INTO "annotation_value" VALUES(1267,451,388);
+INSERT INTO "annotation_value" VALUES(1268,451,364);
+INSERT INTO "annotation_value" VALUES(1269,451,361);
+INSERT INTO "annotation_value" VALUES(1270,451,366);
+INSERT INTO "annotation_value" VALUES(1271,451,368);
+INSERT INTO "annotation_value" VALUES(1272,451,373);
+INSERT INTO "annotation_value" VALUES(1273,451,384);
+INSERT INTO "annotation_value" VALUES(1274,451,351);
+INSERT INTO "annotation_value" VALUES(1275,451,369);
+INSERT INTO "annotation_value" VALUES(1276,451,363);
+INSERT INTO "annotation_value" VALUES(1277,451,352);
+INSERT INTO "annotation_value" VALUES(1278,451,376);
+INSERT INTO "annotation_value" VALUES(1279,451,362);
+INSERT INTO "annotation_value" VALUES(1280,451,382);
+INSERT INTO "annotation_value" VALUES(1281,451,378);
+INSERT INTO "annotation_value" VALUES(1282,451,139);
+INSERT INTO "annotation_value" VALUES(1283,451,390);
+INSERT INTO "annotation_value" VALUES(1284,451,359);
+INSERT INTO "annotation_value" VALUES(1285,451,383);
+INSERT INTO "annotation_value" VALUES(1286,451,387);
+INSERT INTO "annotation_value" VALUES(1287,451,371);
+INSERT INTO "annotation_value" VALUES(1288,451,367);
+INSERT INTO "annotation_value" VALUES(1289,451,353);
+INSERT INTO "annotation_value" VALUES(1290,451,349);
+INSERT INTO "annotation_value" VALUES(1291,451,365);
+INSERT INTO "annotation_value" VALUES(1292,451,380);
+INSERT INTO "annotation_value" VALUES(1293,451,358);
+INSERT INTO "annotation_value" VALUES(1294,451,386);
+INSERT INTO "annotation_value" VALUES(1295,451,379);
+INSERT INTO "annotation_value" VALUES(1296,451,347);
+INSERT INTO "annotation_value" VALUES(1297,451,375);
+INSERT INTO "annotation_value" VALUES(1298,451,357);
+INSERT INTO "annotation_value" VALUES(1299,451,348);
+INSERT INTO "annotation_value" VALUES(1300,451,377);
+INSERT INTO "annotation_value" VALUES(1301,451,370);
+INSERT INTO "annotation_value" VALUES(1302,451,360);
diff --git a/full/src/main/resources/db/lite/V1__annotation_tables.sql b/full/src/main/resources/db/lite/V1__annotation_tables.sql
new file mode 100644
index 0000000..b0299d1
--- /dev/null
+++ b/full/src/main/resources/db/lite/V1__annotation_tables.sql
@@ -0,0 +1,53 @@
+CREATE TABLE IF NOT EXISTS annotation(
+	id INTEGER PRIMARY KEY AUTOINCREMENT,
+	code VARCHAR(20) NOT NULL,
+	type VARCHAR(20) NOT NULL,
+	text VARCHAR(20) NULL,
+	description VARCHAR(100) NOT NULL,
+	de_description VARCHAR(100)
+);
+
+CREATE UNIQUE INDEX annotation_index ON annotation (code, type);
+
+CREATE TABLE IF NOT EXISTS annotation_layer(
+	id INTEGER PRIMARY KEY AUTOINCREMENT,
+	foundry_id INTEGER NOT NULL,
+	layer_id INTEGER NOT NULL,
+	description VARCHAR(255) NOT NULL,
+	FOREIGN KEY (foundry_id)
+		REFERENCES annotation (id)
+		ON DELETE CASCADE,
+	FOREIGN KEY (layer_id)
+		REFERENCES annotation (id)
+		ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX annotation_layer_index ON annotation_layer (foundry_id, layer_id);
+
+CREATE TABLE IF NOT EXISTS annotation_key(
+	id INTEGER PRIMARY KEY AUTOINCREMENT,
+	layer_id INTEGER NOT NULL,
+	key_id INTEGER NOT NULL,
+	FOREIGN KEY (layer_id)
+		REFERENCES annotation_layer (id)
+		ON DELETE CASCADE,
+	FOREIGN KEY (key_id)
+		REFERENCES annotation (id)
+		ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX annotation_key_index ON annotation_key (layer_id, key_id);
+
+CREATE TABLE IF NOT EXISTS annotation_value(
+	id INTEGER PRIMARY KEY AUTOINCREMENT,
+	key_id INTEGER NOT NULL,
+	value_id INTEGER NOT NULL,
+	FOREIGN KEY (key_id)
+		REFERENCES annotation_key (id)
+		ON DELETE CASCADE,
+	FOREIGN KEY (key_id)
+		REFERENCES annotation (id)
+		ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX annotation_value_index ON annotation_value (key_id, value_id);
diff --git a/full/src/main/resources/kustvakt-lite.conf b/full/src/main/resources/kustvakt-lite.conf
new file mode 100644
index 0000000..9dc83b5
--- /dev/null
+++ b/full/src/main/resources/kustvakt-lite.conf
@@ -0,0 +1,35 @@
+# Krill settings
+
+# index dir
+krill.indexDir= ../sample-index
+
+krill.index.commit.count = 134217000
+krill.index.commit.log = log/krill.commit.log
+krill.index.commit.auto = 500
+krill.index.relations.max = 100
+
+# krill.namedVC=vc
+
+
+# Kustvakt settings
+
+api.welcome.message = Welcome to KorAP API!
+current.api.version = v1.0
+# multiple versions separated by space
+supported.api.version = v1.0
+
+# default
+kustvakt.base.url=/api/*
+
+# default foundries for layers
+default.foundry.partOfSpeech = tt
+default.foundry.lemma = tt
+default.foundry.orthography = opennlp
+default.foundry.dependency = malt
+default.foundry.constituent = corenlp
+default.foundry.morphology = marmot
+default.foundry.surface = base
+
+# server
+server.port=8089
+server.host=localhost
diff --git a/full/src/main/resources/lite-config.xml b/full/src/main/resources/lite-config.xml
new file mode 100644
index 0000000..4b6a074
--- /dev/null
+++ b/full/src/main/resources/lite-config.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
+	xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+           http://www.springframework.org/schema/beans/spring-beans.xsd
+           http://www.springframework.org/schema/tx
+           http://www.springframework.org/schema/tx/spring-tx.xsd
+           http://www.springframework.org/schema/context
+           http://www.springframework.org/schema/context/spring-context.xsd
+           http://www.springframework.org/schema/util
+           http://www.springframework.org/schema/util/spring-util.xsd">
+
+	<context:component-scan base-package="
+		de.ids_mannheim.korap.core.service,
+		de.ids_mannheim.korap.core.web,
+		de.ids_mannheim.korap.web.filter, 
+		de.ids_mannheim.korap.web.utils,
+		de.ids_mannheim.korap.authentication.http" />
+	<context:annotation-config />
+
+	<bean id="placeholders"
+		class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
+		<property name="ignoreResourceNotFound" value="true" />
+		<property name="locations">
+			<array>
+				<value>classpath:properties/lite-jdbc.properties</value>
+				<value>file:./lite-jdbc.properties</value>
+				<value>classpath:properties/hibernate.properties</value>
+				<value>classpath:kustvakt-lite.conf</value>
+				<value>file:./kustvakt-lite.conf</value>
+			</array>
+		</property>
+	</bean>
+
+	<bean id="properties"
+		class="org.springframework.beans.factory.config.PropertiesFactoryBean">
+		<property name="ignoreResourceNotFound" value="true" />
+		<property name="locations">
+			<array>
+				<value>classpath:kustvakt-lite.conf</value>
+				<value>file:./kustvakt-lite.conf</value>
+			</array>
+		</property>
+	</bean>
+
+	<bean id="config" class="de.ids_mannheim.korap.config.KustvaktConfiguration">
+		<constructor-arg index="0" name="properties" ref="properties" />
+	</bean>
+
+	<!-- Database -->
+
+	<bean id="sqliteDataSource"
+		class="org.springframework.jdbc.datasource.SingleConnectionDataSource"
+		lazy-init="true">
+		<property name="driverClassName" value="${jdbc.driverClassName}" />
+		<property name="url" value="${jdbc.url}" />
+		<property name="username" value="${jdbc.username}" />
+		<property name="password" value="${jdbc.password}" />
+		<property name="connectionProperties">
+			<props>
+				<prop key="date_string_format">yyyy-MM-dd HH:mm:ss</prop>
+			</props>
+		</property>
+
+		<!-- relevant for single connection datasource and sqlite -->
+		<property name="suppressClose">
+			<value>true</value>
+		</property>
+		<!--<property name="initialSize" value="2"/> -->
+		<!--<property name="poolPreparedStatements" value="true"/> -->
+	</bean>
+	<bean id="flywayConfig" class="org.flywaydb.core.api.configuration.ClassicConfiguration">
+		<property name="baselineOnMigrate" value="true" />
+		<!-- <property name="validateOnMigrate" value="false" /> -->
+		<!-- <property name="cleanOnValidationError" value="true" /> -->
+		<property name="locations" value="#{'${jdbc.schemaPath}'.split(',')}"/>
+		<property name="dataSource" ref="sqliteDataSource" />
+		<property name="outOfOrder" value="true" />
+	</bean>
+	
+	<bean id="flyway" class="org.flywaydb.core.Flyway" init-method="migrate">
+	    <constructor-arg ref="flywayConfig"/>
+	</bean>
+	
+
+	<bean id="entityManagerFactory"
+		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
+		<property name="dataSource" ref="sqliteDataSource" />
+
+		<property name="packagesToScan">
+			<array>
+				<value>de.ids_mannheim.korap.core.entity</value>
+			</array>
+		</property>
+		<property name="jpaVendorAdapter">
+			<bean id="jpaVendorAdapter"
+				class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
+				<property name="databasePlatform" value="${hibernate.dialect}" />
+			</bean>
+		</property>
+		<property name="jpaProperties">
+			<props>
+				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
+				<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
+				<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
+				<prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
+				<prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}
+				</prop>
+				<prop key="hibernate.cache.provider_class">${hibernate.cache.provider}</prop>
+				<prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory}</prop>
+				<prop key="hibernate.jdbc.time_zone">${hibernate.jdbc.time_zone}</prop>
+			</props>
+		</property>
+	</bean>
+	<tx:annotation-driven proxy-target-class="true"
+		transaction-manager="transactionManager" />
+
+	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
+		<property name="entityManagerFactory" ref="entityManagerFactory" />
+	</bean>
+
+	<bean id="transactionTemplate"
+		class="org.springframework.transaction.support.TransactionTemplate">
+		<constructor-arg ref="transactionManager" />
+	</bean>
+	<bean id="txManager"
+		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+		<property name="dataSource" ref="sqliteDataSource" />
+	</bean>
+
+	<!-- Initialization -->
+	<!-- <bean id="initializator" class="de.ids_mannheim.de.init.LiteInitializatorImpl"
+		init-method="init">
+	</bean> -->
+	<bean id="annotationParser" class="de.ids_mannheim.korap.annotation.AnnotationParser"
+		scope="singleton" />
+
+	<!-- Search Engine -->
+	<bean id="search_krill" class="de.ids_mannheim.korap.web.SearchKrill">
+		<constructor-arg value="${krill.indexDir}" />
+	</bean>
+	
+
+	<!-- Filters -->
+	<!-- <bean id="APIVersionFilter" class="de.ids_mannheim.korap.web.APIVersionFilter"
+		scope="singleton" /> -->
+
+	<!-- Authentication -->
+	<bean id="authenticationManager"
+		class="de.ids_mannheim.korap.authentication.DummyAuthenticationManager" />
+
+	<!-- Response handler -->
+	<bean id="kustvaktResponseHandler" class="de.ids_mannheim.korap.web.KustvaktResponseHandler">
+		<constructor-arg index="0" name="iface" ref="kustvakt_auditing" />
+	</bean>
+
+	<!-- Controllers -->
+	<!-- added via component-scan
+	<bean id="annotationController"
+		class="de.ids_mannheim.korap.web.controller.AnnotationController" />
+	<bean id="searchController" class="de.ids_mannheim.korap.web.controller.SearchController" />
+	<bean id="statisticController"
+		class="de.ids_mannheim.korap.web.controller.StatisticController" />
+ 	-->
+	<!-- Services -->
+	<bean id="scopeService"
+		class="de.ids_mannheim.korap.oauth2.service.DummyOAuth2ScopeServiceImpl" />
+
+	<!-- DAO -->
+	<bean id="adminDao" class="de.ids_mannheim.korap.dao.DummyAdminDaoImpl" />
+	<bean id="annotationDao" class="de.ids_mannheim.korap.dao.AnnotationDao" />
+
+	<!-- DTO Converter -->
+	<bean id="annotationConverter" class="de.ids_mannheim.korap.dto.converter.AnnotationConverter" />
+
+	<!-- Rewrite -->
+	<bean id="layerMapper" class="de.ids_mannheim.korap.rewrite.LayerMapper" />
+	<bean id="foundryInject" class="de.ids_mannheim.korap.rewrite.FoundryInject" />
+
+	<util:list id="rewriteTasks" value-type="de.ids_mannheim.korap.rewrite.RewriteTask">
+		<ref bean="foundryInject" />
+	</util:list>
+	
+	<bean id="rewriteHandler" class="de.ids_mannheim.korap.rewrite.RewriteHandler">
+		<constructor-arg ref="rewriteTasks" />
+	</bean>
+
+
+
+	<bean id="kustvakt_auditing"
+		class="de.ids_mannheim.korap.interfaces.defaults.DefaultAuditing">
+	</bean>
+
+</beans>
\ No newline at end of file
diff --git a/full/src/main/resources/properties/lite-jdbc.properties b/full/src/main/resources/properties/lite-jdbc.properties
new file mode 100644
index 0000000..c96fc5d
--- /dev/null
+++ b/full/src/main/resources/properties/lite-jdbc.properties
@@ -0,0 +1,9 @@
+#-------------------------------------------------------------------------------
+# Sqlite Settings
+
+jdbc.database=sqlite
+jdbc.driverClassName=org.sqlite.JDBC
+jdbc.url=jdbc:sqlite:data/liteDB.sqlite
+jdbc.username=pc
+jdbc.password=pc
+jdbc.schemaPath=db/lite
\ No newline at end of file
diff --git a/full/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java b/full/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java
new file mode 100644
index 0000000..525d24b
--- /dev/null
+++ b/full/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java
@@ -0,0 +1,63 @@
+package de.ids_mannheim.korap.config;
+
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.web.context.support.GenericWebApplicationContext;
+
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.servlet.ServletContainer;
+import org.glassfish.jersey.test.DeploymentContext;
+import org.glassfish.jersey.test.JerseyTest;
+import org.glassfish.jersey.test.ServletDeploymentContext;
+import org.glassfish.jersey.test.grizzly.GrizzlyWebTestContainerFactory;
+import org.glassfish.jersey.test.spi.TestContainerException;
+import org.glassfish.jersey.test.spi.TestContainerFactory;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration("classpath:test-config-lite.xml")
+public abstract class LiteJerseyTest extends JerseyTest{
+    
+    public static final String API_VERSION = "v1.0";
+    
+    @Autowired
+    protected GenericApplicationContext applicationContext;
+    
+    public static String[] classPackages =
+            new String[] {
+                    "de.ids_mannheim.korap.core.web",
+                    "de.ids_mannheim.korap.web.filter", 
+                    "de.ids_mannheim.korap.web.utils",
+                    "de.ids_mannheim.korap.test",
+                    "com.fasterxml.jackson.jaxrs.json"};
+    
+    @Override
+    protected TestContainerFactory getTestContainerFactory ()
+            throws TestContainerException {
+        return new GrizzlyWebTestContainerFactory();
+    }
+
+    @Override
+    public void setUp () throws Exception {
+
+        GenericWebApplicationContext genericContext =
+                new GenericWebApplicationContext();
+
+        genericContext.setParent(this.applicationContext);
+        genericContext.setClassLoader(this.applicationContext.getClassLoader());
+
+        StaticContextLoaderListener.applicationContext = genericContext;
+        super.setUp();
+    }
+    
+    @Override
+    protected DeploymentContext configureDeployment() {
+        return ServletDeploymentContext
+                .forServlet(new ServletContainer(new ResourceConfig().packages(classPackages)))
+                .addListener(StaticContextLoaderListener.class)
+                .contextParam("adminToken", "secret")
+                .build();
+    }
+}
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java
new file mode 100644
index 0000000..6416879
--- /dev/null
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java
@@ -0,0 +1,50 @@
+package de.ids_mannheim.korap.web.lite;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import de.ids_mannheim.korap.config.KustvaktConfiguration;
+import de.ids_mannheim.korap.config.LiteJerseyTest;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.utils.JsonUtils;
+import de.ids_mannheim.korap.utils.ServiceInfo;
+import de.ids_mannheim.korap.web.SearchKrill;
+
+public class InfoControllerTest extends LiteJerseyTest {
+
+    @Autowired
+    private KustvaktConfiguration config;
+
+    @Autowired
+    private SearchKrill krill;
+    
+    @Test
+    public void testInfo () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("info")
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(), response.getStatus());
+
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(config.getCurrentVersion(),
+                node.at("/latest_api_version").asText());
+        assertEquals(config.getSupportedVersions().size(),
+                node.at("/supported_api_versions").size());
+
+        assertEquals(ServiceInfo.getInfo().getVersion(),
+                node.at("/kustvakt_version").asText());
+        assertEquals(krill.getIndex().getVersion(),
+                node.at("/krill_version").asText());
+        assertEquals(ServiceInfo.getInfo().getKoralVersion(),
+                node.at("/koral_version").asText());
+    }
+}
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteMultipleCorpusQueryTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteMultipleCorpusQueryTest.java
new file mode 100644
index 0000000..56b861f
--- /dev/null
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteMultipleCorpusQueryTest.java
@@ -0,0 +1,89 @@
+package de.ids_mannheim.korap.web.lite;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+import javax.ws.rs.ProcessingException;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import de.ids_mannheim.korap.config.LiteJerseyTest;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.exceptions.StatusCodes;
+import de.ids_mannheim.korap.utils.JsonUtils;
+
+public class LiteMultipleCorpusQueryTest extends LiteJerseyTest {
+
+    @Test
+    public void testSearchGet () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "das").queryParam("ql", "poliqarp")
+                .queryParam("cq", "pubPlace=München")
+                .queryParam("cq", "textSigle=\"GOE/AGA/01784\"")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        node = node.at("/collection");
+        assertEquals("koral:docGroup", node.at("/@type").asText());
+        assertEquals("operation:and", node.at("/operation").asText());
+        assertEquals(2, node.at("/operands").size());
+        assertEquals("koral:doc", node.at("/operands/0/@type").asText());
+        assertEquals("match:eq", node.at("/operands/0/match").asText());
+        assertEquals("pubPlace", node.at("/operands/0/key").asText());
+        assertEquals("München", node.at("/operands/0/value").asText());
+        assertEquals("textSigle", node.at("/operands/1/key").asText());
+        assertEquals("GOE/AGA/01784", node.at("/operands/1/value").asText());
+    }
+
+    @Test
+    public void testStatisticsWithMultipleCq ()
+            throws ProcessingException,
+            KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics")
+                .queryParam("cq", "textType=Abhandlung")
+                .queryParam("cq", "corpusSigle=GOE")
+                .request()
+                .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(2, node.at("/documents").asInt());
+        assertEquals(138180, node.at("/tokens").asInt());
+        assertEquals(5687, node.at("/sentences").asInt());
+        assertEquals(258, node.at("/paragraphs").asInt());
+
+        assertTrue(node.at("/warnings").isMissingNode());
+    }
+
+    @Test
+    public void testStatisticsWithMultipleCorpusQuery ()
+            throws ProcessingException,
+            KustvaktException {
+        Response response = target().path(API_VERSION).path("statistics")
+                .queryParam("corpusQuery", "textType=Autobiographie")
+                .queryParam("corpusQuery", "corpusSigle=GOE")
+                .request()
+                .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(9, node.at("/documents").asInt());
+        assertEquals(527662, node.at("/tokens").asInt());
+        assertEquals(19387, node.at("/sentences").asInt());
+        assertEquals(514, node.at("/paragraphs").asInt());
+
+        assertEquals(StatusCodes.DEPRECATED,
+                node.at("/warnings/0/0").asInt());
+        assertEquals("Parameter corpusQuery is deprecated in favor of cq.",
+                node.at("/warnings/0/1").asText());
+    }
+}
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchControllerTest.java
new file mode 100644
index 0000000..a052c70
--- /dev/null
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchControllerTest.java
@@ -0,0 +1,591 @@
+package de.ids_mannheim.korap.web.lite;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.Iterator;
+
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.Form;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import org.eclipse.jetty.http.HttpStatus;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.google.common.net.HttpHeaders;
+
+import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
+import de.ids_mannheim.korap.config.Attributes;
+import de.ids_mannheim.korap.config.KustvaktConfiguration;
+import de.ids_mannheim.korap.config.LiteJerseyTest;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.exceptions.StatusCodes;
+import de.ids_mannheim.korap.query.serialize.QuerySerializer;
+import de.ids_mannheim.korap.utils.JsonUtils;
+import de.ids_mannheim.korap.web.SearchKrill;
+
+public class LiteSearchControllerTest extends LiteJerseyTest {
+
+    @Autowired
+    private SearchKrill searchKrill;
+    @Autowired
+    private KustvaktConfiguration config;
+
+//  EM: The API is disabled
+    @Ignore   
+    @Test
+    public void testGetJSONQuery () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("context", "sentence").queryParam("count", "13")
+                .request()
+                .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertNotNull(node);
+        assertEquals("orth", node.at("/query/wrap/layer").asText());
+        assertEquals("opennlp", node.at("/query/wrap/foundry").asText());
+        assertEquals("sentence", node.at("/meta/context").asText());
+        assertEquals("13", node.at("/meta/count").asText());
+    }
+    
+//  EM: The API is disabled
+    @Ignore
+    @Test
+    public void testbuildAndPostQuery () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("cq", "corpusSigle=WPD | corpusSigle=GOE")
+                .request()
+                .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertNotNull(node);
+
+        response = target().path(API_VERSION).path("search")
+                .request()
+                .post(Entity.json(query));
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String matches = response.readEntity(String.class);
+        JsonNode match_node = JsonUtils.readTree(matches);
+        assertNotEquals(0, match_node.path("matches").size());
+    }
+
+    @Test
+    public void testApiWelcomeMessage () {
+        Response response = target().path(API_VERSION).path("")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String message = response.readEntity(String.class);
+        assertEquals(
+            "Wes8Bd4h1OypPqbWF5njeQ==",
+            response.getHeaders().getFirst("X-Index-Revision")
+            );
+        assertEquals(message, config.getApiWelcomeMessage());
+    }
+
+    @Test
+    public void testQueryGet () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("context", "sentence").queryParam("count", "13")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertNotNull(node);
+        assertEquals("orth", node.at("/query/wrap/layer").asText());
+        assertEquals("base/s:s", node.at("/meta/context").asText());
+        assertEquals("13", node.at("/meta/count").asText());
+        assertNotEquals(0, node.at("/matches").size());
+    }
+
+    @Test
+    public void testQueryFailure () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=das").queryParam("ql", "poliqarp")
+                .queryParam("cq", "corpusSigle=WPD | corpusSigle=GOE")
+                .queryParam("count", "13")
+                .request()
+                .get();
+        assertEquals(Status.BAD_REQUEST.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+
+        JsonNode node = JsonUtils.readTree(query);
+        assertNotNull(node);
+        assertEquals(302, node.at("/errors/0/0").asInt());
+        assertEquals(302, node.at("/errors/1/0").asInt());
+        assertTrue(node.at("/errors/2").isMissingNode());
+        assertFalse(node.at("/collection").isMissingNode());
+        assertEquals(13, node.at("/meta/count").asInt());
+    }
+
+    @Test
+    public void testFoundryRewrite () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("context", "sentence").queryParam("count", "13")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertNotNull(node);
+        assertEquals("orth", node.at("/query/wrap/layer").asText());
+        assertEquals("opennlp", node.at("/query/wrap/foundry").asText());
+    }
+
+//  EM: The API is disabled
+    @Test
+    @Ignore
+    public void testQueryPost () throws KustvaktException {
+        QuerySerializer s = new QuerySerializer();
+        s.setQuery("[orth=das]", "poliqarp");
+
+        Response response = target().path(API_VERSION).path("search")
+                .request()
+                .post(Entity.json(s.toJSON()));
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertNotNull(node);
+        assertEquals("orth", node.at("/query/wrap/layer").asText());
+        assertNotEquals(0, node.at("/matches").size());
+    }
+
+    @Test
+    public void testParameterField () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("fields", "author,docSigle")
+                .queryParam("context", "sentence").queryParam("count", "13")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertNotNull(node);
+        assertEquals("orth", node.at("/query/wrap/layer").asText());
+        assertNotEquals(0, node.at("/matches").size());
+        assertEquals("[\"author\",\"docSigle\"]",
+                node.at("/meta/fields").toString());
+    }
+
+    @Test
+    public void testMatchInfoGetWithoutSpans () throws KustvaktException {
+        Response response = target().path(API_VERSION)
+                .path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42/matchInfo")
+                .queryParam("foundry", "*").queryParam("spans", "false")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertNotNull(node);
+        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
+        assertEquals("match-GOE/AGA/01784-p36-46(5)37-45(2)38-42",
+                node.at("/matchID").asText());
+        assertEquals("Belagerung von Mainz", node.at("/title").asText());
+    };
+
+    @Test
+    public void testMatchInfoGetWithoutHighlights () throws KustvaktException {
+        Response response = target().path(API_VERSION)
+                .path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42/matchInfo")
+                .queryParam("foundry", "xy").queryParam("spans", "false")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertNotNull(node);
+        assertEquals(
+                "<span class=\"context-left\"></span><span class=\"match\">der alte freie Weg nach Mainz war gesperrt, ich mußte über die Schiffbrücke bei Rüsselsheim; in Ginsheim ward <mark>gefüttert; der Ort ist sehr zerschossen; dann über die Schiffbrücke</mark> auf die Nonnenaue, wo viele Bäume niedergehauen lagen, sofort auf dem zweiten Teil der Schiffbrücke über den größern Arm des Rheins.</span><span class=\"context-right\"></span>",
+                node.at("/snippet").asText());
+        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
+        assertEquals("match-GOE/AGA/01784-p36-46(5)37-45(2)38-42",
+                node.at("/matchID").asText());
+        assertEquals("Belagerung von Mainz", node.at("/title").asText());
+    };
+
+    @Test
+    public void testMatchInfoWithoutExtension () throws KustvaktException {
+        Response response = target().path(API_VERSION)
+                .path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42")
+                .queryParam("foundry", "-").queryParam("spans", "false")
+                .queryParam("expand","false")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertNotNull(node);
+        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
+        assertEquals("match-GOE/AGA/01784-p36-46(5)37-45(2)38-42",
+                node.at("/matchID").asText());
+        assertEquals("<span class=\"context-left\"><span class=\"more\"></span></span><span class=\"match\"><mark>gefüttert; der Ort ist sehr zerschossen; dann über die Schiffbrücke</mark></span><span class=\"context-right\"><span class=\"more\"></span></span>",
+                node.at("/snippet").asText());
+        assertEquals("Belagerung von Mainz", node.at("/title").asText());
+    };
+
+    
+    @Test
+    public void testMatchInfoGetWithHighlights () throws KustvaktException {
+        Response response = target().path(API_VERSION)
+                .path("corpus/GOE/AGA/01784/p36-46(5)37-45(2)38-42/matchInfo")
+                .queryParam("foundry", "xy").queryParam("spans", "false")
+                .queryParam("hls", "true")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertNotNull(node);
+        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
+        assertEquals(
+                "<span class=\"context-left\"></span><span class=\"match\">"
+                        + "der alte freie Weg nach Mainz war gesperrt, ich mußte über die "
+                        + "Schiffbrücke bei Rüsselsheim; in Ginsheim ward <mark>gefüttert; "
+                        + "<mark class=\"class-5 level-0\">der <mark class=\"class-2 level-1\">"
+                        + "Ort ist sehr zerschossen; dann</mark> über die Schiffbrücke</mark></mark> "
+                        + "auf die Nonnenaue, wo viele Bäume niedergehauen lagen, sofort auf dem "
+                        + "zweiten Teil der Schiffbrücke über den größern Arm des Rheins.</span>"
+                        + "<span class=\"context-right\"></span>",
+                node.at("/snippet").asText());
+        assertEquals("match-GOE/AGA/01784-p36-46(5)37-45(2)38-42",
+                node.at("/matchID").asText());
+        assertEquals("Belagerung von Mainz", node.at("/title").asText());
+    };
+
+    @Test
+    public void testMatchInfoGet2 () throws KustvaktException {
+        Response response = target().path(API_VERSION)
+
+                .path("corpus/GOE/AGA/01784/p36-46/matchInfo")
+                .queryParam("foundry", "*")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertNotNull(node);
+        assertEquals("GOE/AGA/01784", node.at("/textSigle").asText());
+        assertEquals("Belagerung von Mainz", node.at("/title").asText());
+    };
+    
+//  EM: The API is disabled
+    @Ignore
+    @Test
+    public void testCollectionQueryParameter () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("query")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("fields", "author, docSigle")
+                .queryParam("context", "sentence").queryParam("count", "13")
+                .queryParam("cq", "textClass=Politik & corpus=WPD")
+                .request()
+                .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertNotNull(node);
+        assertEquals("orth", node.at("/query/wrap/layer").asText());
+        assertEquals("Politik",
+                node.at("/collection/operands/0/value").asText());
+        assertEquals("WPD", node.at("/collection/operands/1/value").asText());
+
+        response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("fields", "author, docSigle")
+                .queryParam("context", "sentence").queryParam("count", "13")
+                .queryParam("cq", "textClass=Politik & corpus=WPD")
+                .request()
+                .get();
+        // String version =
+        // LucenePackage.get().getImplementationVersion();;
+        // System.out.println("VERSION "+ version);
+        // System.out.println("RESPONSE "+ response);
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        query = response.readEntity(String.class);
+        node = JsonUtils.readTree(query);
+        assertNotNull(node);
+        assertEquals("orth", node.at("/query/wrap/layer").asText());
+        assertEquals("Politik",
+                node.at("/collection/operands/0/value").asText());
+        assertEquals("WPD", node.at("/collection/operands/1/value").asText());
+    }
+
+    @Test
+    public void testTokenRetrieval () throws KustvaktException {
+        Response response =
+                target().path(API_VERSION).path("/corpus/GOE/AGA/01784/p104-105/")
+                        .request()
+                        .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String resp = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(resp);
+        assertTrue(node.at("/hasSnippet").asBoolean());
+        assertFalse(node.at("/hasTokens").asBoolean());
+        assertTrue(node.at("/tokens").isMissingNode());
+        assertEquals(
+            "<span class=\"context-left\"><span class=\"more\"></span></span>"+
+            "<span class=\"match\"><mark>die</mark></span>"+
+            "<span class=\"context-right\"><span class=\"more\"></span></span>",
+            node.at("/snippet").asText());
+        
+        // Tokens
+        response =
+             target().path(API_VERSION).path("/corpus/GOE/AGA/01784/p104-105")
+             .queryParam("show-snippet", "false")
+             .queryParam("show-tokens", "true")
+             .queryParam("expand", "false")
+             .request()
+             .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        resp = response.readEntity(String.class);
+        node = JsonUtils.readTree(resp);
+
+        assertFalse(node.at("/hasSnippet").asBoolean());
+        assertTrue(node.at("/hasTokens").asBoolean());
+        assertTrue(node.at("/snippet").isMissingNode());
+        assertEquals(
+            "die",
+            node.at("/tokens/match/0").asText());
+        assertTrue(node.at("/tokens/match/1").isMissingNode());
+    };
+
+    
+    @Test
+    public void testMetaFields () throws KustvaktException {
+        Response response =
+                target().path(API_VERSION).path("/corpus/GOE/AGA/01784")
+                        .request()
+                        .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String resp = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(resp);
+        // System.err.println(node.toString());
+
+        Iterator<JsonNode> fieldIter = node.at("/document/fields").elements();
+
+        int checkC = 0;
+        while (fieldIter.hasNext()) {
+            JsonNode field = (JsonNode) fieldIter.next();
+
+            String key = field.at("/key").asText();
+
+            assertEquals("koral:field", field.at("/@type").asText());
+
+            switch (key) {
+                case "textSigle":
+                    assertEquals("type:string", field.at("/type").asText());
+                    assertEquals("GOE/AGA/01784", field.at("/value").asText());
+                    checkC++;
+                    break;
+                case "author":
+                    assertEquals("type:text", field.at("/type").asText());
+                    assertEquals("Goethe, Johann Wolfgang von",
+                            field.at("/value").asText());
+                    checkC++;
+                    break;
+                case "docSigle":
+                    assertEquals("type:string", field.at("/type").asText());
+                    assertEquals("GOE/AGA", field.at("/value").asText());
+                    checkC++;
+                    break;
+                case "docTitle":
+                    assertEquals("type:text", field.at("/type").asText());
+                    assertEquals(
+                            "Goethe: Autobiographische Schriften II, (1817-1825, 1832)",
+                            field.at("/value").asText());
+                    checkC++;
+                    break;
+                case "pubDate":
+                    assertEquals("type:date", field.at("/type").asText());
+                    assertEquals(1982, field.at("/value").asInt());
+                    checkC++;
+                    break;
+            };
+        };
+        assertEquals(5, checkC);
+    };
+
+    @Test
+    public void testSearchWithoutVersion () throws KustvaktException {
+        Response response = target().path("api").path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .request()
+                .accept(MediaType.APPLICATION_JSON).get();
+        assertEquals(HttpStatus.PERMANENT_REDIRECT_308, response.getStatus());
+        URI location = response.getLocation();
+        assertEquals("/api/v1.0/search", location.getPath());
+    }
+
+    @Test
+    public void testSearchWrongVersion () throws KustvaktException {
+        Response response = target().path("api").path("v0.2")
+                .path("search").queryParam("q", "[orth=der]")
+                .queryParam("ql", "poliqarp")
+                .request()
+                .accept(MediaType.APPLICATION_JSON)
+                .get();
+        assertEquals(HttpStatus.PERMANENT_REDIRECT_308, response.getStatus());
+        URI location = response.getLocation();
+        assertEquals("/api/v1.0/search", location.getPath());
+    }
+
+    @Test
+    public void testSearchWithIP () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "Wasser").queryParam("ql", "poliqarp")
+                .request()
+                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertTrue(node.at("/collection").isMissingNode());
+    }
+
+    @Test
+    public void testSearchWithAuthorizationHeader () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "Wasser").queryParam("ql", "poliqarp")
+                .request()
+                .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
+                        .createBasicAuthorizationHeaderValue("test", "pwd"))
+                .header(HttpHeaders.X_FORWARDED_FOR, "149.27.0.32")
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertTrue(node.at("/collection").isMissingNode());
+    }
+    
+    @Test
+    public void testSearchPublicMetadata () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("access-rewrite-disabled", "true")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+
+        assertTrue(node.at("/matches/0/snippet").isMissingNode());
+    }
+    
+    @Test
+    public void testSearchPublicMetadataWithCustomFields () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
+                .queryParam("fields", "author,title")
+                .queryParam("access-rewrite-disabled", "true")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        
+        assertTrue(node.at("/matches/0/snippet").isMissingNode());
+        assertEquals("Goethe, Johann Wolfgang von",
+                node.at("/matches/0/author").asText());
+        assertEquals("Italienische Reise",
+                node.at("/matches/0/title").asText());
+//        assertEquals(3, node.at("/matches/0").size());
+    }
+    
+    @Test
+    public void testSearchPublicMetadataWithNonPublicField () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
+                .queryParam("fields", "author,title,snippet")
+                .queryParam("access-rewrite-disabled", "true")
+                .request()
+                .get();
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+
+        assertEquals(StatusCodes.NON_PUBLIC_FIELD_IGNORED,
+                node.at("/warnings/0/0").asInt());
+        assertEquals("The requested non public fields are ignored",
+                node.at("/warnings/0/1").asText());
+        assertEquals("snippet",
+                node.at("/warnings/0/2").asText());
+    }
+    
+    @Test
+    public void testSearchWithInvalidPage () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=die]").queryParam("ql", "poliqarp")
+                .queryParam("page", "0")
+                .request()
+                .get();
+        assertEquals(Status.BAD_REQUEST.getStatusCode(),
+                response.getStatus());
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
+        assertEquals("page must start from 1",node.at("/errors/0/1").asText());
+    }
+    
+    @Test
+    public void testCloseIndex () throws IOException, KustvaktException {
+        searchKrill.getStatistics(null);
+        assertEquals(true, searchKrill.getIndex().isReaderOpen());
+
+        Form form = new Form();
+        form.param("token", "secret");
+
+        Response response = target().path(API_VERSION).path("index")
+                .path("close")
+                .request()
+                .post(Entity.form(form));
+
+        assertEquals(HttpStatus.OK_200, response.getStatus());
+        assertEquals(false, searchKrill.getIndex().isReaderOpen());
+    }
+}
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchPipeTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchPipeTest.java
new file mode 100644
index 0000000..80c52ca
--- /dev/null
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchPipeTest.java
@@ -0,0 +1,382 @@
+package de.ids_mannheim.korap.web.lite;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockserver.integration.ClientAndServer.startClientAndServer;
+import static org.mockserver.model.HttpRequest.request;
+import static org.mockserver.model.HttpResponse.response;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockserver.client.MockServerClient;
+import org.mockserver.integration.ClientAndServer;
+import org.mockserver.model.Header;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import de.ids_mannheim.korap.config.LiteJerseyTest;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.exceptions.StatusCodes;
+import de.ids_mannheim.korap.utils.JsonUtils;
+
+public class LiteSearchPipeTest extends LiteJerseyTest {
+
+    private ClientAndServer mockServer;
+    private MockServerClient mockClient;
+
+    private int port = 6070;
+    private String pipeJson, pipeWithParamJson;
+    private String glemmUri = "http://localhost:"+port+"/glemm";
+
+    public LiteSearchPipeTest () throws IOException{
+        pipeJson = IOUtils.toString(
+                ClassLoader.getSystemResourceAsStream(
+                        "pipe-output/test-pipes.jsonld"),
+                StandardCharsets.UTF_8);
+
+        pipeWithParamJson = IOUtils.toString(
+                ClassLoader.getSystemResourceAsStream(
+                        "pipe-output/with-param.jsonld"),
+                StandardCharsets.UTF_8);
+    }
+
+    @Before
+    public void startMockServer () {
+        mockServer = startClientAndServer(port);
+        mockClient = new MockServerClient("localhost", mockServer.getPort());
+    }
+
+    @After
+    public void stopMockServer () {
+        mockServer.stop();
+    }
+
+    @Test
+    public void testMockServer () throws IOException {
+        mockClient.reset()
+                .when(request().withMethod("POST").withPath("/test")
+                        .withHeader(new Header("Content-Type",
+                                "application/json; charset=utf-8")))
+                .respond(response()
+                        .withHeader(new Header("Content-Type",
+                                "application/json; charset=utf-8"))
+                        .withBody("{test}").withStatusCode(200));
+
+        URL url = new URL("http://localhost:"+port+"/test");
+        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+        connection.setRequestMethod("POST");
+        connection.setRequestProperty("Content-Type",
+                "application/json; charset=UTF-8");
+        connection.setRequestProperty("Accept", "application/json");
+        connection.setDoOutput(true);
+
+        String json = "{\"name\" : \"dory\"}";
+        try (OutputStream os = connection.getOutputStream()) {
+            byte[] input = json.getBytes("utf-8");
+            os.write(input, 0, input.length);
+        }
+
+        assertEquals(200, connection.getResponseCode());
+
+        BufferedReader br = new BufferedReader(
+                new InputStreamReader(connection.getInputStream(), "utf-8"));
+        assertEquals("{test}", br.readLine());
+
+    }
+
+    @Test
+    public void testSearchWithPipes ()
+            throws IOException, KustvaktException, URISyntaxException {
+        mockClient.reset()
+                .when(request().withMethod("POST").withPath("/glemm")
+                        .withHeaders(
+                                new Header("Content-Type",
+                                        "application/json; charset=utf-8"),
+                                new Header("Accept", "application/json")))
+                .respond(response()
+                        .withHeader(new Header("Content-Type",
+                                "application/json; charset=utf-8"))
+                        .withBody(pipeJson).withStatusCode(200));
+
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", glemmUri)
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(2, node.at("/query/wrap/key").size());
+
+        node = node.at("/query/wrap/rewrites");
+        assertEquals(2, node.size());
+        assertEquals("Glemm", node.at("/0/src").asText());
+        assertEquals("operation:override", node.at("/0/operation").asText());
+        assertEquals("key", node.at("/0/scope").asText());
+
+        assertEquals("Kustvakt", node.at("/1/src").asText());
+        assertEquals("operation:injection", node.at("/1/operation").asText());
+        assertEquals("foundry", node.at("/1/scope").asText());
+    }
+
+    @Test
+    public void testSearchWithUrlEncodedPipes ()
+            throws IOException, KustvaktException {
+
+        mockClient.reset()
+                .when(request().withMethod("POST").withPath("/glemm")
+                        .withHeaders(
+                                new Header("Content-Type",
+                                        "application/json; charset=utf-8"),
+                                new Header("Accept", "application/json")))
+                .respond(response()
+                        .withHeader(new Header("Content-Type",
+                                "application/json; charset=utf-8"))
+                        .withBody(pipeJson).withStatusCode(200));
+
+        glemmUri = URLEncoder.encode(glemmUri, "utf-8");
+
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", glemmUri)
+                .request()
+                .get();
+
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(2, node.at("/query/wrap/key").size());
+    }
+
+    @Test
+    public void testSearchWithMultiplePipes () throws KustvaktException {
+
+        mockClient.reset()
+                .when(request().withMethod("POST").withPath("/glemm")
+                        .withQueryStringParameter("param").withHeaders(
+                                new Header("Content-Type",
+                                        "application/json; charset=utf-8"),
+                                new Header("Accept", "application/json")))
+                .respond(response()
+                        .withHeader(new Header("Content-Type",
+                                "application/json; charset=utf-8"))
+                        .withBody(pipeWithParamJson).withStatusCode(200));
+
+        String glemmUri2 = glemmUri + "?param=blah";
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", glemmUri + "," + glemmUri2)
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(3, node.at("/query/wrap/key").size());
+    }
+
+    @Test
+    public void testSearchWithUnknownURL ()
+            throws IOException, KustvaktException {
+        String url =
+                target().getUri().toString() + API_VERSION + "/test/tralala";
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", url)
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String entity = response.readEntity(String.class);
+
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
+        assertEquals("404 Not Found", node.at("/warnings/0/3").asText());
+    }
+
+    @Test
+    public void testSearchWithUnknownHost () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", "http://glemm")
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+
+        assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
+        assertEquals("glemm", node.at("/warnings/0/3").asText());
+    }
+
+    @Test
+    public void testSearchUnsupportedMediaType () throws KustvaktException {
+        mockClient.reset()
+                .when(request().withMethod("POST").withPath("/non-json-pipe"))
+                .respond(response().withStatusCode(415));
+
+        String pipeUri = "http://localhost:"+port+"/non-json-pipe";
+
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", pipeUri)
+                .request()
+                .get();
+
+        String entity = response.readEntity(String.class);
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
+        assertEquals("415 Unsupported Media Type",
+                node.at("/warnings/0/3").asText());
+    }
+
+    @Test
+    public void testSearchWithMultiplePipeWarnings () throws KustvaktException {
+        String url =
+                target().getUri().toString() + API_VERSION + "/test/tralala";
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", url + "," + "http://glemm")
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+
+        assertEquals(2, node.at("/warnings").size());
+        assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
+        assertEquals(url, node.at("/warnings/0/2").asText());
+        assertEquals("404 Not Found", node.at("/warnings/0/3").asText());
+
+        assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/1/0").asInt());
+        assertEquals("http://glemm", node.at("/warnings/1/2").asText());
+        assertEquals("glemm", node.at("/warnings/1/3").asText());
+
+    }
+
+    @Test
+    public void testSearchWithInvalidJsonResponse () throws KustvaktException {
+        mockClient.reset()
+                .when(request().withMethod("POST").withPath("/invalid-response")
+                        .withHeaders(
+                                new Header("Content-Type",
+                                        "application/json; charset=utf-8"),
+                                new Header("Accept", "application/json")))
+                .respond(response().withBody("{blah:}").withStatusCode(200)
+                        .withHeaders(new Header("Content-Type",
+                                "application/json; charset=utf-8")));
+
+        String pipeUri = "http://localhost:"+port+"/invalid-response";
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", pipeUri)
+                .request()
+                .get();
+
+        String entity = response.readEntity(String.class);
+        assertEquals(Status.BAD_REQUEST.getStatusCode(),
+                response.getStatus());
+
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
+                node.at("/errors/0/0").asInt());
+    }
+
+    @Test
+    public void testSearchWithPlainTextResponse () throws KustvaktException {
+        mockClient.reset()
+                .when(request().withMethod("POST").withPath("/plain-text")
+                        .withHeaders(
+                                new Header("Content-Type",
+                                        "application/json; charset=utf-8"),
+                                new Header("Accept", "application/json")))
+                .respond(response().withBody("blah").withStatusCode(200));
+
+        String pipeUri = "http://localhost:"+port+"/plain-text";
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", pipeUri)
+                .request()
+                .get();
+
+        String entity = response.readEntity(String.class);
+        assertEquals(Status.BAD_REQUEST.getStatusCode(),
+                response.getStatus());
+
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
+                node.at("/errors/0/0").asInt());
+    }
+
+    @Test
+    public void testSearchWithMultipleAndUnknownPipes ()
+            throws KustvaktException {
+
+        mockClient.reset()
+                .when(request().withMethod("POST").withPath("/glemm")
+                        .withHeaders(
+                                new Header("Content-Type",
+                                        "application/json; charset=utf-8"),
+                                new Header("Accept", "application/json")))
+                .respond(response()
+                        .withHeader(new Header("Content-Type",
+                                "application/json; charset=utf-8"))
+                        .withBody(pipeJson).withStatusCode(200));
+
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", "http://unknown" + "," + glemmUri)
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(2, node.at("/query/wrap/key").size());
+        assertTrue(node.at("/warnings").isMissingNode());
+
+        response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("pipes", glemmUri + ",http://unknown")
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+
+        entity = response.readEntity(String.class);
+        node = JsonUtils.readTree(entity);
+        assertEquals(StatusCodes.PIPE_FAILED, node.at("/warnings/0/0").asInt());
+    }
+}
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchTokenSnippetTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchTokenSnippetTest.java
new file mode 100644
index 0000000..5a521f8
--- /dev/null
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteSearchTokenSnippetTest.java
@@ -0,0 +1,83 @@
+package de.ids_mannheim.korap.web.lite;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import de.ids_mannheim.korap.config.LiteJerseyTest;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.exceptions.StatusCodes;
+import de.ids_mannheim.korap.utils.JsonUtils;
+
+public class LiteSearchTokenSnippetTest extends LiteJerseyTest{
+
+    @Test
+    public void testSearchWithTokens () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("show-tokens", "true")
+                .queryParam("context", "sentence").queryParam("count", "13")
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+
+        assertTrue(node.at("/matches/0/hasSnippet").asBoolean());
+        assertTrue(node.at("/matches/0/hasTokens").asBoolean());
+        assertTrue(node.at("/matches/0/tokens/left").size()>0);
+        assertTrue(node.at("/matches/0/tokens/right").size()>0);
+        assertEquals(1, node.at("/matches/0/tokens/match").size());
+    }
+    
+    @Test
+    public void testSearchWithoutTokens () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("show-tokens", "false")
+                .queryParam("context", "sentence").queryParam("count", "13")
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+
+        assertTrue(node.at("/matches/0/hasSnippet").asBoolean());
+        assertFalse(node.at("/matches/0/hasTokens").asBoolean());
+        assertTrue(node.at("/matches/0/tokens").isMissingNode());
+    }
+    
+    @Test
+    public void testSearchPublicMetadataWithTokens () throws KustvaktException {
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=das]").queryParam("ql", "poliqarp")
+                .queryParam("access-rewrite-disabled", "true")
+                .queryParam("show-tokens", "true")
+                .queryParam("context", "sentence").queryParam("count", "13")
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+
+        assertFalse(node.at("/matches/0/hasSnippet").asBoolean());
+        assertFalse(node.at("/matches/0/hasTokens").asBoolean());
+        assertTrue(node.at("/matches/0/snippet").isMissingNode());
+        assertTrue(node.at("/matches/0/tokens").isMissingNode());
+        
+        assertEquals(StatusCodes.NOT_ALLOWED, node.at("/warnings/0/0").asInt());
+    }
+}
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteStatisticControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteStatisticControllerTest.java
new file mode 100644
index 0000000..b116e1e
--- /dev/null
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/LiteStatisticControllerTest.java
@@ -0,0 +1,206 @@
+package de.ids_mannheim.korap.web.lite;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import org.junit.Test;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+import de.ids_mannheim.korap.config.LiteJerseyTest;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.exceptions.StatusCodes;
+import de.ids_mannheim.korap.utils.JsonUtils;
+
+public class LiteStatisticControllerTest extends LiteJerseyTest{
+
+    @Test
+    public void testStatisticsWithCq () throws KustvaktException{
+        Response response = target().path(API_VERSION)
+                .path("statistics")
+                .queryParam("cq", "textType=Abhandlung & corpusSigle=GOE")
+                .request()
+                .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+
+        assertEquals(
+            "Wes8Bd4h1OypPqbWF5njeQ==",
+            response.getHeaders().getFirst("X-Index-Revision")
+            );
+        
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertEquals(2, node.at("/documents").asInt());
+        assertEquals(138180, node.at("/tokens").asInt());
+        assertEquals(5687, node.at("/sentences").asInt());
+        assertEquals(258, node.at("/paragraphs").asInt());
+        
+        assertTrue(node.at("/warnings").isMissingNode());
+    }
+    
+    @Test
+    public void testStatisticsWithCqAndCorpusQuery () throws KustvaktException{
+        Response response = target().path(API_VERSION)
+                .path("statistics")
+                .queryParam("cq", "textType=Abhandlung & corpusSigle=GOE")
+                .queryParam("corpusQuery", "textType=Autobiographie & corpusSigle=GOE")
+                .request()
+                .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertEquals(2, node.at("/documents").asInt());
+        assertEquals(138180, node.at("/tokens").asInt());
+        assertEquals(5687, node.at("/sentences").asInt());
+        assertEquals(258, node.at("/paragraphs").asInt());
+        
+        assertTrue(node.at("/warnings").isMissingNode());
+    }
+    
+    @Test
+    public void testStatisticsWithCorpusQuery () throws KustvaktException{
+        Response response = target().path(API_VERSION)
+                .path("statistics")
+                .queryParam("corpusQuery", "textType=Autobiographie & corpusSigle=GOE")
+                .request()
+                .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertEquals(9, node.at("/documents").asInt());
+        assertEquals(527662, node.at("/tokens").asInt());
+        assertEquals(19387, node.at("/sentences").asInt());
+        assertEquals(514, node.at("/paragraphs").asInt());
+        
+        assertEquals(StatusCodes.DEPRECATED,
+                node.at("/warnings/0/0").asInt());
+        assertEquals("Parameter corpusQuery is deprecated in favor of cq.",
+                node.at("/warnings/0/1").asText());
+    }
+
+    @Test
+    public void testEmptyStatistics () throws KustvaktException{
+        Response response = target().path(API_VERSION)
+            .path("statistics")
+            .queryParam("corpusQuery", "")
+            .request()
+            .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        String query = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(query);
+        assertEquals(11, node.at("/documents").asInt());
+        assertEquals(665842, node.at("/tokens").asInt());
+        assertEquals(25074, node.at("/sentences").asInt());
+        assertEquals(772, node.at("/paragraphs").asInt());
+
+        response = target().path(API_VERSION)
+                .path("statistics")
+                .request()
+                .method("GET");
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        query = response.readEntity(String.class);
+        node = JsonUtils.readTree(query);
+        assertEquals(11, node.at("/documents").asInt());
+        assertEquals(665842, node.at("/tokens").asInt());
+        assertEquals(25074, node.at("/sentences").asInt());
+        assertEquals(772, node.at("/paragraphs").asInt());
+    }
+    
+    @Test
+    public void testGetStatisticsWithKoralQuery ()
+            throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION)
+                .path("statistics")
+                .request()
+                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                .post(Entity.json("{ \"collection\" : {\"@type\": "
+                        + "\"koral:doc\", \"key\": \"availability\", \"match\": "
+                        + "\"match:eq\", \"type\": \"type:regex\", \"value\": "
+                        + "\"CC-BY.*\"} }"));
+
+        assertEquals(Status.OK.getStatusCode(),
+                     response.getStatus());
+        String ent = response.readEntity(String.class);
+
+        assertEquals(
+            "Wes8Bd4h1OypPqbWF5njeQ==",
+            response.getHeaders().getFirst("X-Index-Revision")
+            );
+        
+        JsonNode node = JsonUtils.readTree(ent);
+        assertEquals(2, node.at("/documents").asInt());
+        assertEquals(72770, node.at("/tokens").asInt());
+        assertEquals(2985, node.at("/sentences").asInt());
+        assertEquals(128, node.at("/paragraphs").asInt());
+    }
+    
+    @Test
+    public void testGetStatisticsWithEmptyCollection ()
+            throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION)
+                .path("statistics")
+                .request()
+                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                .post(Entity.json("{}"));
+
+        assertEquals(Status.BAD_REQUEST.getStatusCode(),
+                     response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertEquals(node.at("/errors/0/0").asInt(),
+                de.ids_mannheim.korap.util.StatusCodes.MISSING_COLLECTION);
+        assertEquals(node.at("/errors/0/1").asText(),
+                "Collection is not found");
+    }
+    
+    @Test
+    public void testGetStatisticsWithIncorrectJson ()
+            throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION)
+                .path("statistics")
+                .request()
+                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                .post(Entity.json("{ \"collection\" : }"));
+
+        assertEquals(Status.BAD_REQUEST.getStatusCode(),
+                     response.getStatus());
+        String ent = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(ent);
+        assertEquals(StatusCodes.DESERIALIZATION_FAILED,
+                node.at("/errors/0/0").asInt());
+        assertEquals("Failed deserializing json object: { \"collection\" : }",
+                node.at("/errors/0/1").asText());
+    }
+    
+    @Test
+    public void testGetStatisticsWithoutKoralQuery ()
+            throws IOException, KustvaktException {
+        Response response = target().path(API_VERSION)
+                .path("statistics")
+                .request()
+                .post(Entity.json(""));
+        
+        String ent = response.readEntity(String.class);
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+        
+        JsonNode node = JsonUtils.readTree(ent);
+        assertEquals(11, node.at("/documents").asInt());
+        assertEquals(665842, node.at("/tokens").asInt());
+        assertEquals(25074, node.at("/sentences").asInt());
+        assertEquals(772, node.at("/paragraphs").asInt());
+    }
+}
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/lite/SearchNetworkEndpointTest.java b/full/src/test/java/de/ids_mannheim/korap/web/lite/SearchNetworkEndpointTest.java
new file mode 100644
index 0000000..f90dde0
--- /dev/null
+++ b/full/src/test/java/de/ids_mannheim/korap/web/lite/SearchNetworkEndpointTest.java
@@ -0,0 +1,130 @@
+package de.ids_mannheim.korap.web.lite;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockserver.integration.ClientAndServer.startClientAndServer;
+import static org.mockserver.model.HttpRequest.request;
+import static org.mockserver.model.HttpResponse.response;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.nio.charset.StandardCharsets;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockserver.client.MockServerClient;
+import org.mockserver.integration.ClientAndServer;
+import org.mockserver.model.Header;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import de.ids_mannheim.korap.config.KustvaktConfiguration;
+import de.ids_mannheim.korap.config.LiteJerseyTest;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.exceptions.StatusCodes;
+import de.ids_mannheim.korap.utils.JsonUtils;
+
+public class SearchNetworkEndpointTest extends LiteJerseyTest {
+
+    @Autowired
+    private KustvaktConfiguration config;
+
+    private ClientAndServer mockServer;
+    private MockServerClient mockClient;
+
+    private int port = 6080;
+    private String searchResult;
+    private String endpointURL = "http://localhost:"+port+"/searchEndpoint";
+
+    public SearchNetworkEndpointTest () throws IOException {
+        searchResult = IOUtils.toString(
+                ClassLoader.getSystemResourceAsStream(
+                        "network-output/search-result.jsonld"),
+                StandardCharsets.UTF_8);
+    }
+
+
+    @Before
+    public void startMockServer () {
+        mockServer = startClientAndServer(port);
+        mockClient = new MockServerClient("localhost", mockServer.getPort());
+    }
+
+
+    @After
+    public void stopMockServer () {
+        mockServer.stop();
+    }
+
+
+    @Test
+    public void testSearchNetwork ()
+            throws IOException, KustvaktException, URISyntaxException {
+        config.setNetworkEndpointURL(endpointURL);
+        mockClient.reset()
+                .when(request().withMethod("POST").withPath("/searchEndpoint")
+                        .withHeaders(
+                                new Header("Content-Type",
+                                        "application/json; charset=utf-8"),
+                                new Header("Accept", "application/json")))
+                .respond(response()
+                        .withHeader(new Header("Content-Type",
+                                "application/json; charset=utf-8"))
+                        .withBody(searchResult).withStatusCode(200));
+
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("engine", "network")
+                .request()
+                .get();
+
+        assertEquals(Status.OK.getStatusCode(),
+                response.getStatus());
+
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+
+        assertEquals(2, node.at("/matches").size());
+    }
+
+
+    @Test
+    public void testSearchWithUnknownURL ()
+            throws IOException, KustvaktException {
+        config.setNetworkEndpointURL("http://localhost:1040/search");
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("engine", "network")
+                .request()
+                .get();
+        
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(StatusCodes.SEARCH_NETWORK_ENDPOINT_FAILED,
+                node.at("/errors/0/0").asInt());
+        assertEquals(Status.BAD_REQUEST.getStatusCode(),
+                response.getStatus());
+    }
+    
+    @Test
+    public void testSearchWithUnknownHost () throws KustvaktException {
+        config.setNetworkEndpointURL("http://search.com");
+        
+        Response response = target().path(API_VERSION).path("search")
+                .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+                .queryParam("engine", "network")
+                .request()
+                .get();
+
+        String entity = response.readEntity(String.class);
+        JsonNode node = JsonUtils.readTree(entity);
+        assertEquals(StatusCodes.SEARCH_NETWORK_ENDPOINT_FAILED,
+                node.at("/errors/0/0").asInt());
+        assertEquals(Status.BAD_REQUEST.getStatusCode(),
+                response.getStatus());
+    }
+}
diff --git a/full/src/test/resources/test-config-lite.xml b/full/src/test/resources/test-config-lite.xml
new file mode 100644
index 0000000..46f46a2
--- /dev/null
+++ b/full/src/test/resources/test-config-lite.xml
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
+	xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+           http://www.springframework.org/schema/beans/spring-beans.xsd
+           http://www.springframework.org/schema/tx
+           http://www.springframework.org/schema/tx/spring-tx.xsd
+           http://www.springframework.org/schema/context
+           http://www.springframework.org/schema/context/spring-context.xsd
+           http://www.springframework.org/schema/util
+           http://www.springframework.org/schema/util/spring-util.xsd">
+	
+	<context:component-scan base-package="
+		de.ids_mannheim.korap.core.service,
+		de.ids_mannheim.korap.core.web,
+		de.ids_mannheim.korap.web.filter, 
+		de.ids_mannheim.korap.web.utils,
+		de.ids_mannheim.korap.authentication.http" />
+	<context:annotation-config />
+
+	<bean id="placeholders"
+		class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
+		<property name="ignoreResourceNotFound" value="true" />
+		<property name="locations">
+			<array>
+				<value>classpath:test-jdbc.properties</value>
+				<value>file:./test-jdbc.properties</value>
+				<value>classpath:test-hibernate.properties</value>
+				<value>classpath:kustvakt-lite.conf</value>
+				<value>file:./kustvakt-lite.conf</value>
+			</array>
+		</property>
+	</bean>
+
+	<bean id="properties"
+		class="org.springframework.beans.factory.config.PropertiesFactoryBean">
+		<property name="ignoreResourceNotFound" value="true" />
+		<property name="locations">
+			<array>
+				<value>classpath:kustvakt-lite.conf</value>
+				<value>file:./kustvakt-lite.conf</value>
+			</array>
+		</property>
+	</bean>
+
+	<bean id="config" class="de.ids_mannheim.korap.config.KustvaktConfiguration">
+		<constructor-arg index="0" name="properties" ref="properties" />
+	</bean>
+
+	<!-- Database -->
+
+	<bean id="sqliteDataSource"
+		class="org.springframework.jdbc.datasource.SingleConnectionDataSource"
+		lazy-init="true">
+		<property name="driverClassName" value="${jdbc.driverClassName}" />
+		<property name="url" value="${jdbc.url}" />
+		<property name="username" value="${jdbc.username}" />
+		<property name="password" value="${jdbc.password}" />
+		<property name="connectionProperties">
+			<props>
+				<prop key="date_string_format">yyyy-MM-dd HH:mm:ss</prop>
+			</props>
+		</property>
+
+		<!-- relevant for single connection datasource and sqlite -->
+		<property name="suppressClose">
+			<value>true</value>
+		</property>
+	</bean>
+
+	<bean id="flywayConfig" class="org.flywaydb.core.api.configuration.ClassicConfiguration">
+	    <property name="baselineOnMigrate" value="true" />
+		<!-- <property name="validateOnMigrate" value="false" /> -->
+		<!-- <property name="cleanOnValidationError" value="true" /> -->
+		<property name="locations" value="#{'${jdbc.schemaPath}'.split(',')}"/>
+		<property name="dataSource" ref="sqliteDataSource" />
+		<property name="outOfOrder" value="true" />
+	</bean>
+	
+	<bean id="flyway" class="org.flywaydb.core.Flyway" init-method="migrate">
+	    <constructor-arg ref="flywayConfig"/>
+	</bean>
+
+	<bean id="entityManagerFactory"
+		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
+		<property name="dataSource" ref="sqliteDataSource" />
+
+		<property name="packagesToScan">
+			<array>
+				<value>de.ids_mannheim.korap.core.entity</value>
+			</array>
+		</property>
+		<property name="jpaVendorAdapter">
+			<bean id="jpaVendorAdapter"
+				class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
+				<property name="databasePlatform" value="${hibernate.dialect}" />
+			</bean>
+		</property>
+		<property name="jpaProperties">
+			<props>
+				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
+				<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
+				<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
+				<prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
+				<prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}
+				</prop>
+				<prop key="hibernate.cache.provider_class">${hibernate.cache.provider}</prop>
+				<prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory}</prop>
+				<prop key="hibernate.jdbc.time_zone">${hibernate.jdbc.time_zone}</prop>
+			</props>
+		</property>
+	</bean>
+	<tx:annotation-driven proxy-target-class="true"
+		transaction-manager="transactionManager" />
+
+	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
+		<property name="entityManagerFactory" ref="entityManagerFactory" />
+	</bean>
+
+	<bean id="transactionTemplate"
+		class="org.springframework.transaction.support.TransactionTemplate">
+		<constructor-arg ref="transactionManager" />
+	</bean>
+	<bean id="txManager"
+		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+		<property name="dataSource" ref="sqliteDataSource" />
+	</bean>
+
+	<!-- Search Engine -->
+	<bean id="search_krill" class="de.ids_mannheim.korap.web.SearchKrill">
+		<constructor-arg value="${krill.indexDir}" />
+	</bean>
+	
+
+	<!-- Filters -->
+	<!-- <bean id="APIVersionFilter" class="de.ids_mannheim.korap.web.APIVersionFilter" 
+		scope="singleton" /> -->
+	<!-- Authentication -->
+	<bean id="authenticationManager"
+		class="de.ids_mannheim.korap.authentication.DummyAuthenticationManager" />
+
+	<!-- Response handler -->
+	<bean id="kustvaktResponseHandler" class="de.ids_mannheim.korap.web.KustvaktResponseHandler">
+		<constructor-arg index="0" name="iface" ref="kustvakt_auditing" />
+	</bean>
+
+	<!-- Controllers -->
+	<!-- added via component-scan 
+	<bean id="annotationController"
+		class="de.ids_mannheim.korap.web.controller.AnnotationController" />
+	<bean id="searchController" class="de.ids_mannheim.korap.web.controller.SearchController" />
+	<bean id="statisticController"
+		class="de.ids_mannheim.korap.web.controller.StatisticController" />
+ -->
+	<!-- Services -->
+	<bean id="scopeService"
+		class="de.ids_mannheim.korap.oauth2.service.DummyOAuth2ScopeServiceImpl" />
+
+	<!-- DAO -->
+	<bean id="adminDao" class="de.ids_mannheim.korap.dao.DummyAdminDaoImpl" />
+	<bean id="annotationDao" class="de.ids_mannheim.korap.dao.AnnotationDao" />
+
+	<!-- DTO Converter -->
+	<bean id="annotationConverter" class="de.ids_mannheim.korap.dto.converter.AnnotationConverter" />
+
+	<!-- Rewrite -->
+	<bean id="layerMapper" class="de.ids_mannheim.korap.rewrite.LayerMapper" />
+	<bean id="foundryInject" class="de.ids_mannheim.korap.rewrite.FoundryInject" />
+
+	<util:list id="rewriteTasks" value-type="de.ids_mannheim.korap.rewrite.RewriteTask">
+		<ref bean="foundryInject" />
+	</util:list>
+
+	<bean id="rewriteHandler" class="de.ids_mannheim.korap.rewrite.RewriteHandler">
+		<constructor-arg ref="rewriteTasks" />
+	</bean>
+
+
+
+
+	<bean id="kustvakt_auditing"
+		class="de.ids_mannheim.korap.interfaces.defaults.DefaultAuditing">
+	</bean>
+
+</beans>
\ No newline at end of file