diff --git a/.gitignore b/.gitignore index 245974c..35c1233 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,10 @@ -/target/ +HELP.md +target/ !.mvn/wrapper/maven-wrapper.jar +!**/src/main/** +!**/src/test/** ### STS ### -.xls -.metadata .apt_generated .classpath .factorypath @@ -20,8 +21,21 @@ ### NetBeans ### /nbproject/private/ -/build/ /nbbuild/ /dist/ /nbdist/ -/.nb-gradle/ \ No newline at end of file +/.nb-gradle/ +build/ + +### VS Code ### +.vscode/ + +# Compiled class file +*.class +**/target/ +design/ +uml/ + +# Log file +*.log +*.log.gz \ No newline at end of file diff --git a/.metadata/.lock b/.metadata/.lock new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.mylyn/.taskListIndex/segments_1 b/.metadata/.mylyn/.taskListIndex/segments_1 new file mode 100644 index 0000000..e0a412a Binary files /dev/null and b/.metadata/.mylyn/.taskListIndex/segments_1 differ diff --git a/.metadata/.mylyn/.taskListIndex/write.lock b/.metadata/.mylyn/.taskListIndex/write.lock new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.mylyn/.tasks.xml.zip b/.metadata/.mylyn/.tasks.xml.zip new file mode 100644 index 0000000..9939b35 Binary files /dev/null and b/.metadata/.mylyn/.tasks.xml.zip differ diff --git a/.metadata/.mylyn/repositories.xml.zip b/.metadata/.mylyn/repositories.xml.zip new file mode 100644 index 0000000..41efd12 Binary files /dev/null and b/.metadata/.mylyn/repositories.xml.zip differ diff --git a/.metadata/.mylyn/tasks.xml.zip b/.metadata/.mylyn/tasks.xml.zip new file mode 100644 index 0000000..9256d39 Binary files /dev/null and b/.metadata/.mylyn/tasks.xml.zip differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/0/8063cb34e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/0/8063cb34e345001c11de97d36a89b06b new file mode 100644 index 0000000..21dad82 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/0/8063cb34e345001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling.services; + +public class VeryComplexService { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/0/f0ca2e52c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/0/f0ca2e52c646001c137a95b836e30a66 new file mode 100644 index 0000000..62abbac --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/0/f0ca2e52c646001c137a95b836e30a66 @@ -0,0 +1,20 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + // constructor: + + + + // set-get: + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/10/c0bd632d5945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/10/c0bd632d5945001c1e6d86658ace159a new file mode 100644 index 0000000..14cba28 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/10/c0bd632d5945001c1e6d86658ace159a @@ -0,0 +1,10 @@ +package com.use.jar; + + +public class TestUseJar { + + public static void main(String[] args) { + int result = add2(3,4); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/13/404cc4978d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/13/404cc4978d46001c137a95b836e30a66 new file mode 100644 index 0000000..895d896 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/13/404cc4978d46001c137a95b836e30a66 @@ -0,0 +1,8 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/13/8006fa007944001c155ec24d5b86e7d1 b/.metadata/.plugins/org.eclipse.core.resources/.history/13/8006fa007944001c155ec24d5b86e7d1 new file mode 100644 index 0000000..c7fcd1e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/13/8006fa007944001c155ec24d5b86e7d1 @@ -0,0 +1,5 @@ +package com.manhkm.jar; + +public class FunctionOne { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/14/80f89c5dc646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/14/80f89c5dc646001c137a95b836e30a66 new file mode 100644 index 0000000..b7144f8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/14/80f89c5dc646001c137a95b836e30a66 @@ -0,0 +1,22 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + + // set-get: + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/14/901a7a15c846001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/14/901a7a15c846001c137a95b836e30a66 new file mode 100644 index 0000000..425bbd2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/14/901a7a15c846001c137a95b836e30a66 @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/15/300edd755945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/15/300edd755945001c1e6d86658ace159a new file mode 100644 index 0000000..177079c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/15/300edd755945001c1e6d86658ace159a @@ -0,0 +1,11 @@ +package com.use.jar; + +import com.manhkm.jar.FunctionOne; + +public class TestUseJar { + + public static void main(String[] args) { + System.out.println(add(11, 22)); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/17/30430f75e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/17/30430f75e345001c11de97d36a89b06b new file mode 100644 index 0000000..b674153 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/17/30430f75e345001c11de97d36a89b06b @@ -0,0 +1,18 @@ +package com.tight.coupling.services; + +import com.tight.coupling.SortAlgorithm; + +public class VeryComplexService { + private SortAlgorithm sortAlgorithm; + + // constructor: + public VeryComplexService(SortAlgorithm sortAlgorithm) { + super(); + this.sortAlgorithm = sortAlgorithm; + } + + public void complexBusiness(int array[]) { + sortAlgorithm.sort(array); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/17/f0e1f30d8e46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/17/f0e1f30d8e46001c137a95b836e30a66 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/18/00311f87c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/18/00311f87c646001c137a95b836e30a66 new file mode 100644 index 0000000..f1de0cc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/18/00311f87c646001c137a95b836e30a66 @@ -0,0 +1,6 @@ +package com.webservice.ws; + +@WebService +public class UserService { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/18/40675e8e8c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/18/40675e8e8c46001c137a95b836e30a66 new file mode 100644 index 0000000..dbf608f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/18/40675e8e8c46001c137a95b836e30a66 @@ -0,0 +1,11 @@ +package ws; + +import javax.jws.WebService; + +@WebService +public class EchoWS { + + public String echo(String s) { + return "Echo: "; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/18/90e28d35c746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/18/90e28d35c746001c137a95b836e30a66 new file mode 100644 index 0000000..607431a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/18/90e28d35c746001c137a95b836e30a66 @@ -0,0 +1,46 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/19/60d32baad546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/19/60d32baad546001c137a95b836e30a66 new file mode 100644 index 0000000..947675f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/19/60d32baad546001c137a95b836e30a66 @@ -0,0 +1,13 @@ +package com.webservice.ws; + +/** + * + * @author ManhKM + * wsimport -s . http://localhost:8089/ws/users?wsdl + * + */ +public class SoapClient { + public static void main(String[] args) { + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1c/60b5b471c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/1c/60b5b471c646001c137a95b836e30a66 new file mode 100644 index 0000000..d46e931 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1c/60b5b471c646001c137a95b836e30a66 @@ -0,0 +1,38 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + + // set-get: + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + // toString: + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/10d8e1e1e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/10d8e1e1e345001c11de97d36a89b06b new file mode 100644 index 0000000..b674153 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/10d8e1e1e345001c11de97d36a89b06b @@ -0,0 +1,18 @@ +package com.tight.coupling.services; + +import com.tight.coupling.SortAlgorithm; + +public class VeryComplexService { + private SortAlgorithm sortAlgorithm; + + // constructor: + public VeryComplexService(SortAlgorithm sortAlgorithm) { + super(); + this.sortAlgorithm = sortAlgorithm; + } + + public void complexBusiness(int array[]) { + sortAlgorithm.sort(array); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/b07adb57d646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/b07adb57d646001c137a95b836e30a66 new file mode 100644 index 0000000..b6378b9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/b07adb57d646001c137a95b836e30a66 @@ -0,0 +1,36 @@ +package com.webservice.ws; + +import java.util.Arrays; + +/** + * + * @author ManhKM + * wsimport -s . http://localhost:8089/ws/users?wsdl + * + */ +public class SoapClient { + public static void main(String[] args) { + UserServiceImplService userServiceImplService = new UserServiceImplService(); + UserService userService = userServiceImplService.getUserServiceImplPort(); + + User user1 = new User(); + user1.setId(100); + user1.setUsername("alibaba"); + + User user2 = new User(); + user2.setId(101); + user2.setUsername("tom"); + + User user3 = new User(); + user3.setId(102); + user3.setUsername("jery"); + + userService.insert(user1); + userService.insert(user2); + userService.insert(user3); + + System.out.println("Get all Users : " + Arrays.asList(userService.getAll())); + + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/c094721e7944001c155ec24d5b86e7d1 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/c094721e7944001c155ec24d5b86e7d1 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/e0fe61de8d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/e0fe61de8d46001c137a95b836e30a66 new file mode 100644 index 0000000..c8df89f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/e0fe61de8d46001c137a95b836e30a66 @@ -0,0 +1,13 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + EchoWSService service = new EchoWSService(); + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1f/302c9469c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/302c9469c646001c137a95b836e30a66 new file mode 100644 index 0000000..8d463f8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/302c9469c646001c137a95b836e30a66 @@ -0,0 +1,37 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + + // set-get: + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1f/50ec5009c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/50ec5009c646001c137a95b836e30a66 new file mode 100644 index 0000000..466ca17 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/50ec5009c646001c137a95b836e30a66 @@ -0,0 +1,5 @@ + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1f/e0a1c9cae245001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/e0a1c9cae245001c11de97d36a89b06b new file mode 100644 index 0000000..0b83095 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/e0a1c9cae245001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling; + +public class SortAlgorithm { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1f/e0caaa94c746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/e0caaa94c746001c137a95b836e30a66 new file mode 100644 index 0000000..292e8ea --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/e0caaa94c746001c137a95b836e30a66 @@ -0,0 +1,50 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + return 0; + } + + private Integer generateUniqueId() { + return USERS.keySet() + .stream() + .max((x1, x2) -> x1 - x2) + .orElse(0) + 1; + } + + @Override + public boolean update(User user) { + return USERS.put(user.getId(), user) != null; + } + + @Override + public boolean delete(int id) { + return USERS.remove(id) != null; + } + + @Override + public User get(int id) { + return USES.getOrDefault(id, new User()); + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2/f044c8dc6248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/2/f044c8dc6248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..19ef650 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2/f044c8dc6248001c1eb1b6cc5fdf9661 @@ -0,0 +1,22 @@ +package com.gpcoder; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "user") +public class User { + + private Integer id; + private String username; + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2/f0ff4091eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/2/f0ff4091eb45001c11de97d36a89b06b new file mode 100644 index 0000000..f31fe28 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2/f0ff4091eb45001c11de97d36a89b06b @@ -0,0 +1,12 @@ +package com.ioc.entity; + +public class Girl { + + private Outfit outfit; + public Girl(Outfit anything) { + outfit = anything; + } + public Outfit getOutfit() { + return outfit; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/20/300ccfdec746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/20/300ccfdec746001c137a95b836e30a66 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/20/30817967d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/20/30817967d446001c137a95b836e30a66 new file mode 100644 index 0000000..ec2a5be --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/20/30817967d446001c137a95b836e30a66 @@ -0,0 +1,27 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + + // create a service instance with the specified WSDL. + Service service = Service.create(wsdlURL, qname); + + // we need to pass interface and model beans to client: + UserService userService = service.getPort(UserService.class); + + User user1 = new User(1, "manhkm"); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/20/7090c0efe345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/20/7090c0efe345001c11de97d36a89b06b new file mode 100644 index 0000000..176f8cb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/20/7090c0efe345001c11de97d36a89b06b @@ -0,0 +1,14 @@ +package com.tight.coupling; + +import com.tight.coupling.services.VeryComplexService; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + SortAlgorithm quickSort = new QuicksortAlgorithm(); + + VeryComplexService business1 = new VeryComplexService(bubbleSort); + business1. + VeryComplexService business2 = new VeryComplexService(quickSort); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/21/80a108c1c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/21/80a108c1c646001c137a95b836e30a66 new file mode 100644 index 0000000..c37d0c1 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/21/80a108c1c646001c137a95b836e30a66 @@ -0,0 +1,21 @@ +package com.webservice.ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + @WebMethod + int insert(User user); + + @WebMethod + boolean update(User user); + + @WebMethod + boolean delete(int id); + + User get(int id); +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/22/704175d45f48001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/22/704175d45f48001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..7d83a2d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/22/704175d45f48001c1eb1b6cc5fdf9661 @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/23/90bae8a3c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/23/90bae8a3c646001c137a95b836e30a66 new file mode 100644 index 0000000..9f7d18a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/23/90bae8a3c646001c137a95b836e30a66 @@ -0,0 +1,11 @@ +package com.webservice.ws; + +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + int insert(User user); +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/23/c0632e14e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/23/c0632e14e345001c11de97d36a89b06b new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/23/f05384f8e245001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/23/f05384f8e245001c11de97d36a89b06b new file mode 100644 index 0000000..7ba631a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/23/f05384f8e245001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling; + +public class BubbleSortAlgorithm implements SortAlgorithm{ + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/24/004b217fc646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/24/004b217fc646001c137a95b836e30a66 new file mode 100644 index 0000000..2e2590a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/24/004b217fc646001c137a95b836e30a66 @@ -0,0 +1,5 @@ +package com.webservice.ws; + +public class UserService { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/25/006d5569eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/25/006d5569eb45001c11de97d36a89b06b new file mode 100644 index 0000000..4c30274 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/25/006d5569eb45001c11de97d36a89b06b @@ -0,0 +1,8 @@ +package com.ioc; + +public class Main { + public static void main(String[] args) { + Outfit bikini = new Bikini(); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/27/1042ef51e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/27/1042ef51e345001c11de97d36a89b06b new file mode 100644 index 0000000..8de0bee --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/27/1042ef51e345001c11de97d36a89b06b @@ -0,0 +1,9 @@ +package com.tight.coupling.services; + +import com.tight.coupling.SortAlgorithm; + +public class VeryComplexService { + private SortAlgorithm sortAlgorithm; + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/29/106bbd32e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/29/106bbd32e345001c11de97d36a89b06b new file mode 100644 index 0000000..56c8a26 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/29/106bbd32e345001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling; + +public class VeryComplexService { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2a/f02a1c08c846001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/2a/f02a1c08c846001c137a95b836e30a66 new file mode 100644 index 0000000..d500691 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2a/f02a1c08c846001c137a95b836e30a66 @@ -0,0 +1,10 @@ +package com.webservice.ws; + +public class SoapPublisher { + + public static final String WS_URL = "http://localhost:8089/ws/users"; + + public static void main(String[] args) { + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2b/f0b5a2e45845001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/2b/f0b5a2e45845001c1e6d86658ace159a new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2c/00b663d6d546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/2c/00b663d6d546001c137a95b836e30a66 new file mode 100644 index 0000000..ca70316 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2c/00b663d6d546001c137a95b836e30a66 @@ -0,0 +1,14 @@ +package com.webservice.ws; + +/** + * + * @author ManhKM + * wsimport -s . http://localhost:8089/ws/users?wsdl + * + */ +public class SoapClient { + public static void main(String[] args) { + UserServiceImplService userServiceImplService = new UserServiceImplService(); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2c/8098b25cc646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/2c/8098b25cc646001c137a95b836e30a66 new file mode 100644 index 0000000..508cbe6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2c/8098b25cc646001c137a95b836e30a66 @@ -0,0 +1,21 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + // set-get: + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/c0372917e445001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/2e/c0372917e445001c11de97d36a89b06b new file mode 100644 index 0000000..479c7d4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2e/c0372917e445001c11de97d36a89b06b @@ -0,0 +1,14 @@ +package com.tight.coupling; + +import com.tight.coupling.services.VeryComplexService; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + SortAlgorithm quickSort = new QuicksortAlgorithm(); + + VeryComplexService business1 = new VeryComplexService(bubbleSort); + + VeryComplexService business2 = new VeryComplexService(quickSort); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/60b686fcb346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/60b686fcb346001c137a95b836e30a66 new file mode 100644 index 0000000..098a2d0 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/60b686fcb346001c137a95b836e30a66 @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/7039829ee345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/7039829ee345001c11de97d36a89b06b new file mode 100644 index 0000000..9e40e4d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/7039829ee345001c11de97d36a89b06b @@ -0,0 +1,6 @@ +package com.tight.coupling; + +public class Main { + public static void main(String[] args) { + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/30/90f9050ac846001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/30/90f9050ac846001c137a95b836e30a66 new file mode 100644 index 0000000..2297389 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/30/90f9050ac846001c137a95b836e30a66 @@ -0,0 +1,12 @@ +package com.webservice.ws; + +import javax.xml.ws.Endpoint; + +public class SoapPublisher { + + public static final String WS_URL = "http://localhost:8089/ws/users"; + + public static void main(String[] args) { + Endpoint.publish(WS_URL, new UserServiceImpl()) + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/31/0073b489e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/31/0073b489e345001c11de97d36a89b06b new file mode 100644 index 0000000..0395e35 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/31/0073b489e345001c11de97d36a89b06b @@ -0,0 +1,7 @@ +package com.tight.coupling; + +public class Main { + public static void main(String[] args) { + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/32/50b3cc2ac646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/32/50b3cc2ac646001c137a95b836e30a66 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/33/7015cf37c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/33/7015cf37c646001c137a95b836e30a66 new file mode 100644 index 0000000..24d4180 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/33/7015cf37c646001c137a95b836e30a66 @@ -0,0 +1,5 @@ +package com.webservice.ws; + +public class User { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/34/6017579ad546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/34/6017579ad546001c137a95b836e30a66 new file mode 100644 index 0000000..5006835 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/34/6017579ad546001c137a95b836e30a66 @@ -0,0 +1,11 @@ +package com.webservice.ws; + +/** + * + * @author ManhKM + * wsimport -s . http://localhost:8089/ws/users?wsdl + * + */ +public class SoapClient { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/35/00dd9f0bd446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/35/00dd9f0bd446001c137a95b836e30a66 new file mode 100644 index 0000000..5dfa238 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/35/00dd9f0bd446001c137a95b836e30a66 @@ -0,0 +1,15 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImpl"); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/35/7007c3eddd42001c149691cc9b37b92a b/.metadata/.plugins/org.eclipse.core.resources/.history/35/7007c3eddd42001c149691cc9b37b92a new file mode 100644 index 0000000..34aa0bd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/35/7007c3eddd42001c149691cc9b37b92a @@ -0,0 +1,13 @@ +## Bài toán: + +Name: App CurrencyConverter +Mô tả: Chức năng chuyển đổi các đơn vị tiền tệ khác nhau. +Ứng dụng được viết dưới dạng chủ-khách bằng các sử dụng công nghệ socket. +Ứng dụng: khách nhập số tiền, đơn vị tiền +Máy chủ: Trả về giá trị tiền tương ứng. +Ứng dụng khách in ra số tiền tương ứng trên màn hình. + + +## Thiết kế: + +## Tài liệu tham khảo: diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/35/903881605945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/35/903881605945001c1e6d86658ace159a new file mode 100644 index 0000000..9510161 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/35/903881605945001c1e6d86658ace159a @@ -0,0 +1,11 @@ +package com.use.jar; + +import com.manhkm.jar.FunctionOne; + +public class TestUseJar { + + public static void main(String[] args) { + FunctionOne + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/35/b0f184e2ea45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/35/b0f184e2ea45001c11de97d36a89b06b new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/37/208afba4c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/37/208afba4c646001c137a95b836e30a66 new file mode 100644 index 0000000..2f24bdb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/37/208afba4c646001c137a95b836e30a66 @@ -0,0 +1,12 @@ +package com.webservice.ws; + +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + @WebMethod + int insert(User user); +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/37/900e752ae345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/37/900e752ae345001c11de97d36a89b06b new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/37/f0f656f8d546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/37/f0f656f8d546001c137a95b836e30a66 new file mode 100644 index 0000000..8e8bf94 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/37/f0f656f8d546001c137a95b836e30a66 @@ -0,0 +1,19 @@ +package com.webservice.ws; + +/** + * + * @author ManhKM + * wsimport -s . http://localhost:8089/ws/users?wsdl + * + */ +public class SoapClient { + public static void main(String[] args) { + UserServiceImplService userServiceImplService = new UserServiceImplService(); + UserService userService = userServiceImplService.getUserServiceImplPort(); + + User user1 = new User(); + user1.setId(100); + user1.setUsername("alibaba"); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/39/50272260c746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/39/50272260c746001c137a95b836e30a66 new file mode 100644 index 0000000..817eae9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/39/50272260c746001c137a95b836e30a66 @@ -0,0 +1,46 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + return 0; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/39/e0ec03868d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/39/e0ec03868d46001c137a95b836e30a66 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3c/408feb44c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/3c/408feb44c646001c137a95b836e30a66 new file mode 100644 index 0000000..8a1ded5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3c/408feb44c646001c137a95b836e30a66 @@ -0,0 +1,9 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3c/60449178eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/3c/60449178eb45001c11de97d36a89b06b new file mode 100644 index 0000000..d5ca2e8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3c/60449178eb45001c11de97d36a89b06b @@ -0,0 +1,12 @@ +package com.ioc; + +import com.ioc.entity.Bikini; +import com.ioc.entity.Outfit; + +public class Main { + public static void main(String[] args) { + Outfit bikini = new Bikini(); + + Girl girl1 = new Girl(bikini); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/30e7dc41eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/3d/30e7dc41eb45001c11de97d36a89b06b new file mode 100644 index 0000000..45809d8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3d/30e7dc41eb45001c11de97d36a89b06b @@ -0,0 +1,9 @@ +package com.ioc.entity; + +public class Girl { + + private Outfit outfit; + public Girl(Outfit anything) { + outfit = anything + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/7082b887d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/3d/7082b887d446001c137a95b836e30a66 new file mode 100644 index 0000000..6e5febf --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3d/7082b887d446001c137a95b836e30a66 @@ -0,0 +1,35 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + + // create a service instance with the specified WSDL. + Service service = Service.create(wsdlURL, qname); + + // we need to pass interface and model beans to client: + UserService userService = service.getPort(UserService.class); + + User user1 = new User(1, "manhkm"); + User user2 = new User(2, "trangtt"); + User user3 = new User(3, "thanglv"); + + userService.insert(user1); + userService.insert(user2); + userService.insert(user3); + + + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/f0488257eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/3d/f0488257eb45001c11de97d36a89b06b new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/307aa559b346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/307aa559b346001c137a95b836e30a66 new file mode 100644 index 0000000..7c71552 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/307aa559b346001c137a95b836e30a66 @@ -0,0 +1,6 @@ + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/5076fff1c746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/5076fff1c746001c137a95b836e30a66 new file mode 100644 index 0000000..52a88f7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/5076fff1c746001c137a95b836e30a66 @@ -0,0 +1,5 @@ +package com.webservice.ws; + +public class SoapPublisher { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/f0f8f2938d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/f0f8f2938d46001c137a95b836e30a66 new file mode 100644 index 0000000..f8e864e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/f0f8f2938d46001c137a95b836e30a66 @@ -0,0 +1,5 @@ +package ws; + +public class EchoClient { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/42/50bd53928c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/42/50bd53928c46001c137a95b836e30a66 new file mode 100644 index 0000000..322352b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/42/50bd53928c46001c137a95b836e30a66 @@ -0,0 +1,11 @@ +package ws; + +import javax.jws.WebService; + +@WebService +public class EchoWS { + + public String echo(String s) { + return "Echo: " + s; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/42/f06cc573c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/42/f06cc573c646001c137a95b836e30a66 new file mode 100644 index 0000000..02b2b3b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/42/f06cc573c646001c137a95b836e30a66 @@ -0,0 +1,40 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + + // set-get: + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + @Override + public String toString() { + return "User [id=" + id + ", username=" + username + "]"; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/43/30e42e8ad546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/43/30e42e8ad546001c137a95b836e30a66 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/47/9065dc13c746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/47/9065dc13c746001c137a95b836e30a66 new file mode 100644 index 0000000..c9b4a78 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/47/9065dc13c746001c137a95b836e30a66 @@ -0,0 +1,45 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/47/f04ba9f9e245001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/47/f04ba9f9e245001c11de97d36a89b06b new file mode 100644 index 0000000..2b36a86 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/47/f04ba9f9e245001c11de97d36a89b06b @@ -0,0 +1,11 @@ +package com.tight.coupling; + +public class BubbleSortAlgorithm implements SortAlgorithm{ + + @Override + public void sort(int[] array) { + // TODO Auto-generated method stub + + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/48/10fc1c405945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/48/10fc1c405945001c1e6d86658ace159a new file mode 100644 index 0000000..fbd0580 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/48/10fc1c405945001c1e6d86658ace159a @@ -0,0 +1,11 @@ +package com.use.jar; + +import com.manhkm.jar.FunctionOne; + +public class TestUseJar { + + public static void main(String[] args) { + int result = FunctionOne.add2(3,4); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/49/a05a4e09ce46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/49/a05a4e09ce46001c137a95b836e30a66 new file mode 100644 index 0000000..30d5ca7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/49/a05a4e09ce46001c137a95b836e30a66 @@ -0,0 +1,48 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + user.setId(id); + USERS.put(id, user); + return id; + } + + private Integer generateUniqueId() { + return USERS.keySet() + .stream() + .max((x1, x2) -> x1 - x2) + .orElse(0) + 1; + } + + @Override + public boolean update(User user) { + return USERS.put(user.getId(), user) != null; + } + + @Override + public boolean delete(int id) { + return USERS.remove(id) != null; + } + + @Override + public User get(int id) { + return USERS.getOrDefault(id, new User()); + } + + @Override + public User[] getAll() { + return USERS.values().toArray(new User[0]); + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/49/c03e1117eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/49/c03e1117eb45001c11de97d36a89b06b new file mode 100644 index 0000000..cbe5f8c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/49/c03e1117eb45001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.ioc.entity; + +public class Bikini implements Outfit{ + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4a/50ce5509c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/4a/50ce5509c646001c137a95b836e30a66 new file mode 100644 index 0000000..2fc7793 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/4a/50ce5509c646001c137a95b836e30a66 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4f/c06d68407944001c155ec24d5b86e7d1 b/.metadata/.plugins/org.eclipse.core.resources/.history/4f/c06d68407944001c155ec24d5b86e7d1 new file mode 100644 index 0000000..4a39dd9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/4f/c06d68407944001c155ec24d5b86e7d1 @@ -0,0 +1,12 @@ +package com.manhkm.jar; + +public class FunctionOne { + + public int add3(int a, int b, int c) { + return (a+b+c); + } + + public int add2(int a, int b) { + return (a+b); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/50/00b4f178d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/50/00b4f178d446001c137a95b836e30a66 new file mode 100644 index 0000000..cae54d2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/50/00b4f178d446001c137a95b836e30a66 @@ -0,0 +1,31 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + + // create a service instance with the specified WSDL. + Service service = Service.create(wsdlURL, qname); + + // we need to pass interface and model beans to client: + UserService userService = service.getPort(UserService.class); + + User user1 = new User(1, "manhkm"); + User user2 = new User(2, "trangtt"); + User user3 = new User(3, "thanglv"); + + userService.insert(user1); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/52/60ca7baec646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/52/60ca7baec646001c137a95b836e30a66 new file mode 100644 index 0000000..e8011de --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/52/60ca7baec646001c137a95b836e30a66 @@ -0,0 +1,16 @@ +package com.webservice.ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + @WebMethod + int insert(User user); + + @WebMethod + boolean update(User user); +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/52/c0af1e61c746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/52/c0af1e61c746001c137a95b836e30a66 new file mode 100644 index 0000000..b805616 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/52/c0af1e61c746001c137a95b836e30a66 @@ -0,0 +1,53 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + return 0; + } + + private Integer generateUniqueId() { + return USERS.keySet() + .stream() + .max((x1, x2) -> x1 - x2) + .orElse(0) + 1;; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/53/d0299e4dc746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/53/d0299e4dc746001c137a95b836e30a66 new file mode 100644 index 0000000..0c49413 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/53/d0299e4dc746001c137a95b836e30a66 @@ -0,0 +1,46 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id =Integer generateUniqueId(); + return 0; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/54/20aa7023eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/54/20aa7023eb45001c11de97d36a89b06b new file mode 100644 index 0000000..0bdb19b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/54/20aa7023eb45001c11de97d36a89b06b @@ -0,0 +1,9 @@ +package com.ioc.entity; + +public class Bikini implements Outfit{ + + @Override + public void wear() { + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/56/206f5fd3b346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/56/206f5fd3b346001c137a95b836e30a66 new file mode 100644 index 0000000..425bbd2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/56/206f5fd3b346001c137a95b836e30a66 @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/56/50abec94c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/56/50abec94c646001c137a95b836e30a66 new file mode 100644 index 0000000..2c873bf --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/56/50abec94c646001c137a95b836e30a66 @@ -0,0 +1,7 @@ +package com.webservice.ws; + +import javax.jws.WebService; +@WebService +public class UserService { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/57/50bde7bec646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/57/50bde7bec646001c137a95b836e30a66 new file mode 100644 index 0000000..a110a4b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/57/50bde7bec646001c137a95b836e30a66 @@ -0,0 +1,19 @@ +package com.webservice.ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + @WebMethod + int insert(User user); + + @WebMethod + boolean update(User user); + + @WebMethod + boolean delete(int id); +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/57/c0b6b5c18c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/57/c0b6b5c18c46001c137a95b836e30a66 new file mode 100644 index 0000000..6ef5511 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/57/c0b6b5c18c46001c137a95b836e30a66 @@ -0,0 +1,20 @@ +package ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.xml.ws.Endpoint; + +@WebService +public class EchoWS { + + @WebMethod + public String echo(String s) { + return "Echo: " + s; + } + + public static void main(String[] agrs) { + System.out.println("EchoWS up and running..."); + String url = "http://192.168.0.5:8888/EchoWS"; + Endpoint.publish(url, new EchoWS()) + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/58/00c79b7dc746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/58/00c79b7dc746001c137a95b836e30a66 new file mode 100644 index 0000000..00a23f3 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/58/00c79b7dc746001c137a95b836e30a66 @@ -0,0 +1,52 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + return 0; + } + + private Integer generateUniqueId() { + return USERS.keySet() + .stream() + .max((x1, x2) -> x1 - x2) + .orElse(0) + 1; + } + + @Override + public boolean update(User user) { + return USERS.put(user.getId(), user) != null; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/58/20d99a33eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/58/20d99a33eb45001c11de97d36a89b06b new file mode 100644 index 0000000..0e1ab1f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/58/20d99a33eb45001c11de97d36a89b06b @@ -0,0 +1,9 @@ +package com.ioc.entity; + +public class Girl { + + private Bikini outfit; + public Girl() { + outfit = new Bikini(); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/58/307414a6c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/58/307414a6c646001c137a95b836e30a66 new file mode 100644 index 0000000..4d446fc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/58/307414a6c646001c137a95b836e30a66 @@ -0,0 +1,13 @@ +package com.webservice.ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + @WebMethod + int insert(User user); +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5b/004df299d346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/5b/004df299d346001c137a95b836e30a66 new file mode 100644 index 0000000..77398b3 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/5b/004df299d346001c137a95b836e30a66 @@ -0,0 +1,5 @@ +package com.webservice.ws; + +public class SoapClient { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5b/40c7810ed446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/5b/40c7810ed446001c137a95b836e30a66 new file mode 100644 index 0000000..cff204a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/5b/40c7810ed446001c137a95b836e30a66 @@ -0,0 +1,15 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5d/909c08d3b346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/5d/909c08d3b346001c137a95b836e30a66 new file mode 100644 index 0000000..94d95b9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/5d/909c08d3b346001c137a95b836e30a66 @@ -0,0 +1,29 @@ + + + SoapWebServiceExample + + index.html + index.htm + index.jsp + default.html + default.htm + default.jsp + + + Apache-Axis Servlet + AxisServlet + org.apache.axis.transport.http.AxisServlet + + + AxisServlet + /servlet/AxisServlet + + + AxisServlet + *.jws + + + AxisServlet + /services/* + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5e/40c8c9ed8d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/5e/40c8c9ed8d46001c137a95b836e30a66 new file mode 100644 index 0000000..d16eb57 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/5e/40c8c9ed8d46001c137a95b836e30a66 @@ -0,0 +1,14 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + EchoWSService service = new EchoWSService(); + EchoWS port = service.getEchoWSPort(); + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5e/f0f82429d546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/5e/f0f82429d546001c137a95b836e30a66 new file mode 100644 index 0000000..6578536 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/5e/f0f82429d546001c137a95b836e30a66 @@ -0,0 +1,6 @@ + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/10c6a8c1ea45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/5f/10c6a8c1ea45001c11de97d36a89b06b new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/207eb732d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/5f/207eb732d446001c137a95b836e30a66 new file mode 100644 index 0000000..a42f62f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/5f/207eb732d446001c137a95b836e30a66 @@ -0,0 +1,18 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6/404b2329d546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/6/404b2329d546001c137a95b836e30a66 new file mode 100644 index 0000000..0df37ab --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6/404b2329d546001c137a95b836e30a66 @@ -0,0 +1,5 @@ + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6/f0498fb8c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/6/f0498fb8c646001c137a95b836e30a66 new file mode 100644 index 0000000..12acd8d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6/f0498fb8c646001c137a95b836e30a66 @@ -0,0 +1,18 @@ +package com.webservice.ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + @WebMethod + int insert(User user); + + @WebMethod + boolean update(User user); + + boolean delete(int id); +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/60/00c6fc16e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/60/00c6fc16e345001c11de97d36a89b06b new file mode 100644 index 0000000..427b4c8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/60/00c6fc16e345001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling; + +public class QuicksortAlgorithm { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/61/6060a859b346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/61/6060a859b346001c137a95b836e30a66 new file mode 100644 index 0000000..be07662 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/61/6060a859b346001c137a95b836e30a66 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/62/10a89119eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/62/10a89119eb45001c11de97d36a89b06b new file mode 100644 index 0000000..7580324 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/62/10a89119eb45001c11de97d36a89b06b @@ -0,0 +1,10 @@ +package com.ioc.entity; + +public class Bikini implements Outfit{ + + @Override + public void wear() { + // TODO Auto-generated method stub + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/62/2066f2ebdd42001c149691cc9b37b92a b/.metadata/.plugins/org.eclipse.core.resources/.history/62/2066f2ebdd42001c149691cc9b37b92a new file mode 100644 index 0000000..db3dfe2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/62/2066f2ebdd42001c149691cc9b37b92a @@ -0,0 +1,13 @@ +## Bài toán: + +Name: App CurrencyConverter +Mô tả: Chức năng chuyển đổi các đơn vị tiền tệ khác nhau. +Ứng dụng được viết dưới dạng chủ-khách bằng các sử dụng công nghệ socket. +Ứng dụng khách nhập số tiền, đơn vị tiền +Máy chủ: Trả về giá trị tiền tương ứng. +Ứng dụng khách in ra số tiền tương ứng trên màn hình. + + +## Thiết kế: + +## Tài liệu tham khảo: diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/62/d01e187bc646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/62/d01e187bc646001c137a95b836e30a66 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/63/2017889ce345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/63/2017889ce345001c11de97d36a89b06b new file mode 100644 index 0000000..402928c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/63/2017889ce345001c11de97d36a89b06b @@ -0,0 +1,7 @@ +package com.tight.coupling; + +public class Main { + public static void main(String[] args) { + SortAlgorithm + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/63/40e610cb6248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/63/40e610cb6248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..3d8ab2a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/63/40e610cb6248001c1eb1b6cc5fdf9661 @@ -0,0 +1,11 @@ +package com.gpcoder; + +import javax.xml.bind.annotation.XmlRootElement; + + +@XmlRootElement(name = "user") +public class User { + + private Integer id; + private String username; +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/63/909d2129d546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/63/909d2129d546001c137a95b836e30a66 new file mode 100644 index 0000000..42b1988 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/63/909d2129d546001c137a95b836e30a66 @@ -0,0 +1,3 @@ + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/65/90e0b014eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/65/90e0b014eb45001c11de97d36a89b06b new file mode 100644 index 0000000..4516ada --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/65/90e0b014eb45001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.ioc.entity; + +public class Bikini { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/66/304682cf5945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/66/304682cf5945001c1e6d86658ace159a new file mode 100644 index 0000000..8732088 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/66/304682cf5945001c1e6d86658ace159a @@ -0,0 +1,16 @@ +package com.use.jar; + +import com.manhkm.jar.FunctionOne; + +public class TestUseJar { + + public static void main(String[] args) { + + } + + public static void usingFunction() { + FunctionOne functionOne = new FunctionOne(); + System.out.println(functionOne.add2(10, 20)); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/66/306d7f00c746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/66/306d7f00c746001c137a95b836e30a66 new file mode 100644 index 0000000..7eb8b1d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/66/306d7f00c746001c137a95b836e30a66 @@ -0,0 +1,39 @@ +package com.webservice.ws; + +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + @Override + public int insert(User user) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/67/b0422038c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/67/b0422038c646001c137a95b836e30a66 new file mode 100644 index 0000000..57729f6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/67/b0422038c646001c137a95b836e30a66 @@ -0,0 +1,8 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/67/f0a8865ae345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/67/f0a8865ae345001c11de97d36a89b06b new file mode 100644 index 0000000..3575dcd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/67/f0a8865ae345001c11de97d36a89b06b @@ -0,0 +1,10 @@ +package com.tight.coupling.services; + +import com.tight.coupling.SortAlgorithm; + +public class VeryComplexService { + private SortAlgorithm sortAlgorithm; + + // constructor: + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/69/60b8d47cc546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/69/60b8d47cc546001c137a95b836e30a66 new file mode 100644 index 0000000..79d003e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/69/60b8d47cc546001c137a95b836e30a66 @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6a/3026d1047944001c155ec24d5b86e7d1 b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/3026d1047944001c155ec24d5b86e7d1 new file mode 100644 index 0000000..43a7323 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/3026d1047944001c155ec24d5b86e7d1 @@ -0,0 +1,8 @@ +package com.manhkm.jar; + +public class FunctionOne { + + public int add2(int a, int b, int c) { + return (a+b+c); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6a/603d1344d646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/603d1344d646001c137a95b836e30a66 new file mode 100644 index 0000000..4ed1d37 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/603d1344d646001c137a95b836e30a66 @@ -0,0 +1,37 @@ +package com.webservice.ws; + +import java.util.Arrays; + +/** + * + * @author ManhKM + * wsimport -s . http://localhost:8089/ws/users?wsdl + * + */ +public class SoapClient { + public static void main(String[] args) { + UserServiceImplService userServiceImplService = new UserServiceImplService(); + UserService userService = userServiceImplService.getUserServiceImplPort(); + + User user1 = new User(); + user1.setId(100); + user1.setUsername("alibaba"); + + User user2 = new User(); + user2.setId(101); + user2.setUsername("tom"); + + User user3 = new User(); + user3.setId(102); + user3.setUsername("jery"); + + userService.insert(user1); + userService.insert(user2); + userService.insert(user3); + + System.out.println("Get all Users: "); + System.out.println(Arrays.asList(userService.getAll())); + + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6a/60545e87eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/60545e87eb45001c11de97d36a89b06b new file mode 100644 index 0000000..92faccf --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/60545e87eb45001c11de97d36a89b06b @@ -0,0 +1,9 @@ +package com.ioc.entity; + +public class Girl { + + private Outfit outfit; + public Girl(Outfit anything) { + outfit = anything; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6a/a0205409c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/a0205409c646001c137a95b836e30a66 new file mode 100644 index 0000000..609a76d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/a0205409c646001c137a95b836e30a66 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6a/a069d8ea5945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/a069d8ea5945001c1e6d86658ace159a new file mode 100644 index 0000000..759b6ac --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/a069d8ea5945001c1e6d86658ace159a @@ -0,0 +1,5 @@ +package com.use.jar; + +public class DemoHelloWorld { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6b/90fe7506d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/6b/90fe7506d446001c137a95b836e30a66 new file mode 100644 index 0000000..03d09e4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6b/90fe7506d446001c137a95b836e30a66 @@ -0,0 +1,15 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/204d5133d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/6c/204d5133d446001c137a95b836e30a66 new file mode 100644 index 0000000..9f9f935 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6c/204d5133d446001c137a95b836e30a66 @@ -0,0 +1,21 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + + // create a service instance with the specified WSDL. + Service service = Service.create(wsdlURL, qname) + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6d/802d23a3dd42001c149691cc9b37b92a b/.metadata/.plugins/org.eclipse.core.resources/.history/6d/802d23a3dd42001c149691cc9b37b92a new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6d/f03afe027944001c155ec24d5b86e7d1 b/.metadata/.plugins/org.eclipse.core.resources/.history/6d/f03afe027944001c155ec24d5b86e7d1 new file mode 100644 index 0000000..e031372 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6d/f03afe027944001c155ec24d5b86e7d1 @@ -0,0 +1,8 @@ +package com.manhkm.jar; + +public class FunctionOne { + + public int add(int a, int b, int c) { + return (a+b+c); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/1067949b8d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/6e/1067949b8d46001c137a95b836e30a66 new file mode 100644 index 0000000..782aa7c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6e/1067949b8d46001c137a95b836e30a66 @@ -0,0 +1,12 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + + } catch (Exception e) { + // TODO: handle exception + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/10e6be938c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/6e/10e6be938c46001c137a95b836e30a66 new file mode 100644 index 0000000..c144a10 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6e/10e6be938c46001c137a95b836e30a66 @@ -0,0 +1,12 @@ +package ws; + +import javax.jws.WebService; + +@WebService +public class EchoWS { + + @WebMethod + public String echo(String s) { + return "Echo: " + s; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/b0dcde3d7944001c155ec24d5b86e7d1 b/.metadata/.plugins/org.eclipse.core.resources/.history/6f/b0dcde3d7944001c155ec24d5b86e7d1 new file mode 100644 index 0000000..af5c274 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6f/b0dcde3d7944001c155ec24d5b86e7d1 @@ -0,0 +1,8 @@ +package com.manhkm.jar; + +public class FunctionTwo { + + public int duplicate(int a, int b) { + return(a*b); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7/50416903b446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/7/50416903b446001c137a95b836e30a66 new file mode 100644 index 0000000..169358a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7/50416903b446001c137a95b836e30a66 @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +encoding//src/main/java/com/webservice/HelloWorld.java=UTF-8 +encoding//src/main/java/com/webservice/HelloWorldSoapBindingStub.java=UTF-8 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7/d05d3d4bc446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/7/d05d3d4bc446001c137a95b836e30a66 new file mode 100644 index 0000000..61ee733 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7/d05d3d4bc446001c137a95b836e30a66 @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/71/004bf5a2e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/71/004bf5a2e345001c11de97d36a89b06b new file mode 100644 index 0000000..0eae657 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/71/004bf5a2e345001c11de97d36a89b06b @@ -0,0 +1,7 @@ +package com.tight.coupling; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/72/009a5209c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/72/009a5209c646001c137a95b836e30a66 new file mode 100644 index 0000000..c1e1d85 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/72/009a5209c646001c137a95b836e30a66 @@ -0,0 +1,6 @@ + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/74/40a9dad1c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/74/40a9dad1c646001c137a95b836e30a66 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/76/5025b932e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/76/5025b932e345001c11de97d36a89b06b new file mode 100644 index 0000000..56c8a26 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/76/5025b932e345001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling; + +public class VeryComplexService { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/76/90bcd27cc546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/76/90bcd27cc546001c137a95b836e30a66 new file mode 100644 index 0000000..0567324 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/76/90bcd27cc546001c137a95b836e30a66 @@ -0,0 +1,260 @@ +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ============================================================================ +// catalina.policy - Security Policy Permissions for Tomcat +// +// This file contains a default set of security policies to be enforced (by the +// JVM) when Catalina is executed with the "-security" option. In addition +// to the permissions granted here, the following additional permissions are +// granted to each web application: +// +// * Read access to the web application's document root directory +// * Read, write and delete access to the web application's working directory +// ============================================================================ + + +// ========== SYSTEM CODE PERMISSIONS ========================================= + + +// These permissions apply to javac +grant codeBase "file:${java.home}/lib/-" { + permission java.security.AllPermission; +}; + +// These permissions apply to all shared system extensions +grant codeBase "file:${java.home}/jre/lib/ext/-" { + permission java.security.AllPermission; +}; + +// These permissions apply to javac when ${java.home} points at $JAVA_HOME/jre +grant codeBase "file:${java.home}/../lib/-" { + permission java.security.AllPermission; +}; + +// These permissions apply to all shared system extensions when +// ${java.home} points at $JAVA_HOME/jre +grant codeBase "file:${java.home}/lib/ext/-" { + permission java.security.AllPermission; +}; + + +// ========== CATALINA CODE PERMISSIONS ======================================= + + +// These permissions apply to the daemon code +grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" { + permission java.security.AllPermission; +}; + +// These permissions apply to the logging API +// Note: If tomcat-juli.jar is in ${catalina.base} and not in ${catalina.home}, +// update this section accordingly. +// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..} +grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { + permission java.io.FilePermission + "${java.home}${file.separator}lib${file.separator}logging.properties", "read"; + + permission java.io.FilePermission + "${catalina.base}${file.separator}conf${file.separator}logging.properties", "read"; + permission java.io.FilePermission + "${catalina.base}${file.separator}logs", "read, write"; + permission java.io.FilePermission + "${catalina.base}${file.separator}logs${file.separator}*", "read, write, delete"; + + permission java.lang.RuntimePermission "shutdownHooks"; + permission java.lang.RuntimePermission "getClassLoader"; + permission java.lang.RuntimePermission "setContextClassLoader"; + + permission java.lang.management.ManagementPermission "monitor"; + + permission java.util.logging.LoggingPermission "control"; + + permission java.util.PropertyPermission "java.util.logging.config.class", "read"; + permission java.util.PropertyPermission "java.util.logging.config.file", "read"; + permission java.util.PropertyPermission "org.apache.juli.AsyncLoggerPollInterval", "read"; + permission java.util.PropertyPermission "org.apache.juli.AsyncMaxRecordCount", "read"; + permission java.util.PropertyPermission "org.apache.juli.AsyncOverflowDropType", "read"; + permission java.util.PropertyPermission "org.apache.juli.ClassLoaderLogManager.debug", "read"; + permission java.util.PropertyPermission "catalina.base", "read"; + + // Note: To enable per context logging configuration, permit read access to + // the appropriate file. Be sure that the logging configuration is + // secure before enabling such access. + // E.g. for the examples web application (uncomment and unwrap + // the following to be on a single line): + // permission java.io.FilePermission "${catalina.base}${file.separator} + // webapps${file.separator}examples${file.separator}WEB-INF + // ${file.separator}classes${file.separator}logging.properties", "read"; +}; + +// These permissions apply to the server startup code +grant codeBase "file:${catalina.home}/bin/bootstrap.jar" { + permission java.security.AllPermission; +}; + +// These permissions apply to the servlet API classes +// and those that are shared across all class loaders +// located in the "lib" directory +grant codeBase "file:${catalina.home}/lib/-" { + permission java.security.AllPermission; +}; + + +// If using a per instance lib directory, i.e. ${catalina.base}/lib, +// then the following permission will need to be uncommented +// grant codeBase "file:${catalina.base}/lib/-" { +// permission java.security.AllPermission; +// }; + + +// ========== WEB APPLICATION PERMISSIONS ===================================== + + +// These permissions are granted by default to all web applications +// In addition, a web application will be given a read FilePermission +// for all files and directories in its document root. +grant { + // Required for JNDI lookup of named JDBC DataSource's and + // javamail named MimePart DataSource used to send mail + permission java.util.PropertyPermission "java.home", "read"; + permission java.util.PropertyPermission "java.naming.*", "read"; + permission java.util.PropertyPermission "javax.sql.*", "read"; + + // OS Specific properties to allow read access + permission java.util.PropertyPermission "os.name", "read"; + permission java.util.PropertyPermission "os.version", "read"; + permission java.util.PropertyPermission "os.arch", "read"; + permission java.util.PropertyPermission "file.separator", "read"; + permission java.util.PropertyPermission "path.separator", "read"; + permission java.util.PropertyPermission "line.separator", "read"; + + // JVM properties to allow read access + permission java.util.PropertyPermission "java.version", "read"; + permission java.util.PropertyPermission "java.vendor", "read"; + permission java.util.PropertyPermission "java.vendor.url", "read"; + permission java.util.PropertyPermission "java.class.version", "read"; + permission java.util.PropertyPermission "java.specification.version", "read"; + permission java.util.PropertyPermission "java.specification.vendor", "read"; + permission java.util.PropertyPermission "java.specification.name", "read"; + + permission java.util.PropertyPermission "java.vm.specification.version", "read"; + permission java.util.PropertyPermission "java.vm.specification.vendor", "read"; + permission java.util.PropertyPermission "java.vm.specification.name", "read"; + permission java.util.PropertyPermission "java.vm.version", "read"; + permission java.util.PropertyPermission "java.vm.vendor", "read"; + permission java.util.PropertyPermission "java.vm.name", "read"; + + // Required for OpenJMX + permission java.lang.RuntimePermission "getAttribute"; + + // Allow read of JAXP compliant XML parser debug + permission java.util.PropertyPermission "jaxp.debug", "read"; + + // All JSPs need to be able to read this package + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat"; + + // Precompiled JSPs need access to these packages. + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.el"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime"; + permission java.lang.RuntimePermission + "accessClassInPackage.org.apache.jasper.runtime.*"; + + // Applications using WebSocket need to be able to access these packages + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server"; +}; + + +// The Manager application needs access to the following packages to support the +// session display functionality. It also requires the custom Tomcat +// DeployXmlPermission to enable the use of META-INF/context.xml +// These settings support the following configurations: +// - default CATALINA_HOME == CATALINA_BASE +// - CATALINA_HOME != CATALINA_BASE, per instance Manager in CATALINA_BASE +// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME +grant codeBase "file:${catalina.base}/webapps/manager/-" { + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.ha.session"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager.util"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util"; + permission org.apache.catalina.security.DeployXmlPermission "manager"; +}; +grant codeBase "file:${catalina.home}/webapps/manager/-" { + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.ha.session"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager.util"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util"; + permission org.apache.catalina.security.DeployXmlPermission "manager"; +}; + +// The Host Manager application needs the custom Tomcat DeployXmlPermission to +// enable the use of META-INF/context.xml +// These settings support the following configurations: +// - default CATALINA_HOME == CATALINA_BASE +// - CATALINA_HOME != CATALINA_BASE, per instance Host Manager in CATALINA_BASE +// - CATALINA_HOME != CATALINA_BASE, shared Host Manager in CATALINA_HOME +grant codeBase "file:${catalina.base}/webapps/host-manager/-" { + permission org.apache.catalina.security.DeployXmlPermission "host-manager"; +}; +grant codeBase "file:${catalina.home}/webapps/host-manager/-" { + permission org.apache.catalina.security.DeployXmlPermission "host-manager"; +}; + + +// You can assign additional permissions to particular web applications by +// adding additional "grant" entries here, based on the code base for that +// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files. +// +// Different permissions can be granted to JSP pages, classes loaded from +// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/ +// directory, or even to individual jar files in the /WEB-INF/lib/ directory. +// +// For instance, assume that the standard "examples" application +// included a JDBC driver that needed to establish a network connection to the +// corresponding database and used the scrape taglib to get the weather from +// the NOAA web server. You might create a "grant" entries like this: +// +// The permissions granted to the context root directory apply to JSP pages. +// grant codeBase "file:${catalina.base}/webapps/examples/-" { +// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect"; +// permission java.net.SocketPermission "*.noaa.gov:80", "connect"; +// }; +// +// The permissions granted to the context WEB-INF/classes directory +// grant codeBase "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" { +// }; +// +// The permission granted to your JDBC driver +// grant codeBase "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" { +// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect"; +// }; +// The permission granted to the scrape taglib +// grant codeBase "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" { +// permission java.net.SocketPermission "*.noaa.gov:80", "connect"; +// }; + +// To grant permissions for web applications using packed WAR files, use the +// Tomcat specific WAR url scheme. +// +// The permissions granted to the entire web application +// grant codeBase "war:file:${catalina.base}/webapps/examples.war*/-" { +// }; +// +// The permissions granted to a specific JAR +// grant codeBase "war:file:${catalina.base}/webapps/examples.war*/WEB-INF/lib/foo.jar" { +// }; diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/78/804b6e95d346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/78/804b6e95d346001c137a95b836e30a66 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/79/8057ebace345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/79/8057ebace345001c11de97d36a89b06b new file mode 100644 index 0000000..fe586bb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/79/8057ebace345001c11de97d36a89b06b @@ -0,0 +1,8 @@ +package com.tight.coupling; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + SortAlgorithm bubbleSort = new QuicksortAlgorithm(); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/79/b04e8d10d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/79/b04e8d10d446001c137a95b836e30a66 new file mode 100644 index 0000000..36f55db --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/79/b04e8d10d446001c137a95b836e30a66 @@ -0,0 +1,17 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/79/c05b99ecd346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/79/c05b99ecd346001c137a95b836e30a66 new file mode 100644 index 0000000..b44bfeb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/79/c05b99ecd346001c137a95b836e30a66 @@ -0,0 +1,13 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/79/f010c446e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/79/f010c446e345001c11de97d36a89b06b new file mode 100644 index 0000000..8f806f4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/79/f010c446e345001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling.services; + +public class VeryComplexService { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7a/b033deb5c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/7a/b033deb5c646001c137a95b836e30a66 new file mode 100644 index 0000000..dee15f5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7a/b033deb5c646001c137a95b836e30a66 @@ -0,0 +1,18 @@ +package com.webservice.ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + @WebMethod + int insert(User user); + + @WebMethod + boolean update(User user); + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/400155b68d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/400155b68d46001c137a95b836e30a66 new file mode 100644 index 0000000..c8df89f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/400155b68d46001c137a95b836e30a66 @@ -0,0 +1,13 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + EchoWSService service = new EchoWSService(); + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/c0a2194ec446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/c0a2194ec446001c137a95b836e30a66 new file mode 100644 index 0000000..fb6eaa0 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/c0a2194ec446001c137a95b836e30a66 @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7d/2030fe23c746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/2030fe23c746001c137a95b836e30a66 new file mode 100644 index 0000000..0c68a61 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/2030fe23c746001c137a95b836e30a66 @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7d/40af93a7c846001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/40af93a7c846001c137a95b836e30a66 new file mode 100644 index 0000000..c7cf678 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/40af93a7c846001c137a95b836e30a66 @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7d/d0d22bd4e245001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/d0d22bd4e245001c11de97d36a89b06b new file mode 100644 index 0000000..bca8e00 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/d0d22bd4e245001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling; + +public interface SortAlgorithm { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/50d06603b446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/7e/50d06603b446001c137a95b836e30a66 new file mode 100644 index 0000000..d009bc7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7e/50d06603b446001c137a95b836e30a66 @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding//src/main/java/com/webservice/HelloWorld.java=UTF-8 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/c0d364fae245001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/7e/c0d364fae245001c11de97d36a89b06b new file mode 100644 index 0000000..d455971 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7e/c0d364fae245001c11de97d36a89b06b @@ -0,0 +1,10 @@ +package com.tight.coupling; + +public class BubbleSortAlgorithm implements SortAlgorithm{ + + @Override + public void sort(int[] array) { + // TODO Auto-generated method stub + + }\ +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8/408f73f16248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/8/408f73f16248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..c28a87e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8/408f73f16248001c1eb1b6cc5fdf9661 @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8/b02ee82dc746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/8/b02ee82dc746001c137a95b836e30a66 new file mode 100644 index 0000000..607431a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8/b02ee82dc746001c137a95b836e30a66 @@ -0,0 +1,46 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/80/d03c6422e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/80/d03c6422e345001c11de97d36a89b06b new file mode 100644 index 0000000..32f86e4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/80/d03c6422e345001c11de97d36a89b06b @@ -0,0 +1,11 @@ +package com.tight.coupling; + +public class QuicksortAlgorithm implements SortAlgorithm{ + + @Override + public void sort(int[] array) { + // TODO Auto-generated method stub + + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/82/50eb1d04b446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/82/50eb1d04b446001c137a95b836e30a66 new file mode 100644 index 0000000..3869006 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/82/50eb1d04b446001c137a95b836e30a66 @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/83/20f4c12d7944001c155ec24d5b86e7d1 b/.metadata/.plugins/org.eclipse.core.resources/.history/83/20f4c12d7944001c155ec24d5b86e7d1 new file mode 100644 index 0000000..9861ddd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/83/20f4c12d7944001c155ec24d5b86e7d1 @@ -0,0 +1,5 @@ +package com.manhkm.jar; + +public class FunctionTwo { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/84/c05d49edc646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/84/c05d49edc646001c137a95b836e30a66 new file mode 100644 index 0000000..5b47d2e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/84/c05d49edc646001c137a95b836e30a66 @@ -0,0 +1,6 @@ +package com.webservice.ws; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/85/102eb3418842001c1cbc975586bbcf20 b/.metadata/.plugins/org.eclipse.core.resources/.history/85/102eb3418842001c1cbc975586bbcf20 new file mode 100644 index 0000000..741c332 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/85/102eb3418842001c1cbc975586bbcf20 @@ -0,0 +1,16 @@ +package com.demo; + +public class StringBufferDemo { + public static void main(String[] args) { + long start = System.nanoTime(); + + StringBuffer s = new StringBuffer("hello"); + for(int i = 0; i < 1000; i++) { + s.append(" World"); + } + long end = System.nanoTime(); + + System.out.println("Total time: " + (end-start)); + // before: Total time: 5002500 + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/85/40c94e4ed446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/85/40c94e4ed446001c137a95b836e30a66 new file mode 100644 index 0000000..6a58c73 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/85/40c94e4ed446001c137a95b836e30a66 @@ -0,0 +1,22 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + + // create a service instance with the specified WSDL. + Service service = Service.create(wsdlURL, qname); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/85/70b0e220e445001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/85/70b0e220e445001c11de97d36a89b06b new file mode 100644 index 0000000..d6103a4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/85/70b0e220e445001c11de97d36a89b06b @@ -0,0 +1,15 @@ +package com.tight.coupling; + +import com.tight.coupling.services.VeryComplexService; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + SortAlgorithm quickSort = new QuicksortAlgorithm(); + + VeryComplexService business1 = new VeryComplexService(bubbleSort); + business1.complexBusiness(null); + + VeryComplexService business2 = new VeryComplexService(quickSort); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/86/e05f847ee345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/86/e05f847ee345001c11de97d36a89b06b new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/86/f0f233cec746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/86/f0f233cec746001c137a95b836e30a66 new file mode 100644 index 0000000..99f804b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/86/f0f233cec746001c137a95b836e30a66 @@ -0,0 +1,46 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + return 0; + } + + private Integer generateUniqueId() { + return USERS.keySet() + .stream() + .max((x1, x2) -> x1 - x2) + .orElse(0) + 1; + } + + @Override + public boolean update(User user) { + return USERS.put(user.getId(), user) != null; + } + + @Override + public boolean delete(int id) { + return USERS.remove(id) != null; + } + + @Override + public User get(int id) { + return USERS.getOrDefault(id, new User()); + } + + @Override + public User[] getAll() { + return USERS.values().toArray(new User[0]); + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/87/10a568c0d346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/87/10a568c0d346001c137a95b836e30a66 new file mode 100644 index 0000000..c105c04 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/87/10a568c0d346001c137a95b836e30a66 @@ -0,0 +1,12 @@ +package com.webservice.ws; + +import java.net.URL; + +public class SoapClient { + public static void main(String[] args) { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/87/40bc09cee345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/87/40bc09cee345001c11de97d36a89b06b new file mode 100644 index 0000000..2ef40c0 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/87/40bc09cee345001c11de97d36a89b06b @@ -0,0 +1,13 @@ +package com.tight.coupling; + +import com.tight.coupling.services.VeryComplexService; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + SortAlgorithm quickSort = new QuicksortAlgorithm(); + + VeryComplexService business1 = new VeryComplexService(bubbleSort); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/88/2061b1ca6248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/88/2061b1ca6248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..6126f6c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/88/2061b1ca6248001c1eb1b6cc5fdf9661 @@ -0,0 +1,14 @@ +package com.gpcoder; + +import javax.xml.bind.annotation.XmlRootElement; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@XmlRootElement(name = "user") +public class User { + + private Integer id; + private String username; +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/88/50b0d62e8842001c1cbc975586bbcf20 b/.metadata/.plugins/org.eclipse.core.resources/.history/88/50b0d62e8842001c1cbc975586bbcf20 new file mode 100644 index 0000000..8d9cc21 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/88/50b0d62e8842001c1cbc975586bbcf20 @@ -0,0 +1,15 @@ +package com.demo; + +public class StringBufferDemo { + public static void main(String[] args) { + long start = System.nanoTime(); + + StringBuffer s = new StringBuffer("hello"); + for(int i = 0; i < 1000; i++) { + s.append + } + long end = System.nanoTime(); + + System.out.println("Total time: " + (end-start)); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/89/7013fc6fc746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/89/7013fc6fc746001c137a95b836e30a66 new file mode 100644 index 0000000..01a0b1e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/89/7013fc6fc746001c137a95b836e30a66 @@ -0,0 +1,53 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + return 0; + } + + private Integer generateUniqueId() { + return USERS.keySet() + .stream() + .max((x1, x2) -> x1 - x2) + .orElse(0) + 1; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8c/308b9455c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/8c/308b9455c646001c137a95b836e30a66 new file mode 100644 index 0000000..24f5b55 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8c/308b9455c646001c137a95b836e30a66 @@ -0,0 +1,22 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + + + + + // set-get: + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/302eeae85945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/302eeae85945001c1e6d86658ace159a new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/508ea7ffc746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/508ea7ffc746001c137a95b836e30a66 new file mode 100644 index 0000000..e5d536f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/508ea7ffc746001c137a95b836e30a66 @@ -0,0 +1,7 @@ +package com.webservice.ws; + +public class SoapPublisher { + + public static final String WS_URL = "http://localhost:8089/ws/users"; + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/a0797a97eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/a0797a97eb45001c11de97d36a89b06b new file mode 100644 index 0000000..c4e4e34 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/a0797a97eb45001c11de97d36a89b06b @@ -0,0 +1,13 @@ +package com.ioc; + +import com.ioc.entity.Bikini; +import com.ioc.entity.Girl; +import com.ioc.entity.Outfit; + +public class Main { + public static void main(String[] args) { + Outfit bikini = new Bikini(); + + Girl girl1 = new Girl(bikini); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8e/403ad5bbd346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/8e/403ad5bbd346001c137a95b836e30a66 new file mode 100644 index 0000000..e3683ff --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8e/403ad5bbd346001c137a95b836e30a66 @@ -0,0 +1,10 @@ +package com.webservice.ws; + +public class SoapClient { + public static void main(String[] args) { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8e/90f3a359b346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/8e/90f3a359b346001c137a95b836e30a66 new file mode 100644 index 0000000..5d433c6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8e/90f3a359b346001c137a95b836e30a66 @@ -0,0 +1,5 @@ + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8f/404ea09c8c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/8f/404ea09c8c46001c137a95b836e30a66 new file mode 100644 index 0000000..606922d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8f/404ea09c8c46001c137a95b836e30a66 @@ -0,0 +1,13 @@ +package ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; + +@WebService +public class EchoWS { + + @WebMethod + public String echo(String s) { + return "Echo: " + s; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8f/d0bc1fadc646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/8f/d0bc1fadc646001c137a95b836e30a66 new file mode 100644 index 0000000..b4b3033 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8f/d0bc1fadc646001c137a95b836e30a66 @@ -0,0 +1,15 @@ +package com.webservice.ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + @WebMethod + int insert(User user); + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9/401e71f16248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/9/401e71f16248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..0567324 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9/401e71f16248001c1eb1b6cc5fdf9661 @@ -0,0 +1,260 @@ +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ============================================================================ +// catalina.policy - Security Policy Permissions for Tomcat +// +// This file contains a default set of security policies to be enforced (by the +// JVM) when Catalina is executed with the "-security" option. In addition +// to the permissions granted here, the following additional permissions are +// granted to each web application: +// +// * Read access to the web application's document root directory +// * Read, write and delete access to the web application's working directory +// ============================================================================ + + +// ========== SYSTEM CODE PERMISSIONS ========================================= + + +// These permissions apply to javac +grant codeBase "file:${java.home}/lib/-" { + permission java.security.AllPermission; +}; + +// These permissions apply to all shared system extensions +grant codeBase "file:${java.home}/jre/lib/ext/-" { + permission java.security.AllPermission; +}; + +// These permissions apply to javac when ${java.home} points at $JAVA_HOME/jre +grant codeBase "file:${java.home}/../lib/-" { + permission java.security.AllPermission; +}; + +// These permissions apply to all shared system extensions when +// ${java.home} points at $JAVA_HOME/jre +grant codeBase "file:${java.home}/lib/ext/-" { + permission java.security.AllPermission; +}; + + +// ========== CATALINA CODE PERMISSIONS ======================================= + + +// These permissions apply to the daemon code +grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" { + permission java.security.AllPermission; +}; + +// These permissions apply to the logging API +// Note: If tomcat-juli.jar is in ${catalina.base} and not in ${catalina.home}, +// update this section accordingly. +// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..} +grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { + permission java.io.FilePermission + "${java.home}${file.separator}lib${file.separator}logging.properties", "read"; + + permission java.io.FilePermission + "${catalina.base}${file.separator}conf${file.separator}logging.properties", "read"; + permission java.io.FilePermission + "${catalina.base}${file.separator}logs", "read, write"; + permission java.io.FilePermission + "${catalina.base}${file.separator}logs${file.separator}*", "read, write, delete"; + + permission java.lang.RuntimePermission "shutdownHooks"; + permission java.lang.RuntimePermission "getClassLoader"; + permission java.lang.RuntimePermission "setContextClassLoader"; + + permission java.lang.management.ManagementPermission "monitor"; + + permission java.util.logging.LoggingPermission "control"; + + permission java.util.PropertyPermission "java.util.logging.config.class", "read"; + permission java.util.PropertyPermission "java.util.logging.config.file", "read"; + permission java.util.PropertyPermission "org.apache.juli.AsyncLoggerPollInterval", "read"; + permission java.util.PropertyPermission "org.apache.juli.AsyncMaxRecordCount", "read"; + permission java.util.PropertyPermission "org.apache.juli.AsyncOverflowDropType", "read"; + permission java.util.PropertyPermission "org.apache.juli.ClassLoaderLogManager.debug", "read"; + permission java.util.PropertyPermission "catalina.base", "read"; + + // Note: To enable per context logging configuration, permit read access to + // the appropriate file. Be sure that the logging configuration is + // secure before enabling such access. + // E.g. for the examples web application (uncomment and unwrap + // the following to be on a single line): + // permission java.io.FilePermission "${catalina.base}${file.separator} + // webapps${file.separator}examples${file.separator}WEB-INF + // ${file.separator}classes${file.separator}logging.properties", "read"; +}; + +// These permissions apply to the server startup code +grant codeBase "file:${catalina.home}/bin/bootstrap.jar" { + permission java.security.AllPermission; +}; + +// These permissions apply to the servlet API classes +// and those that are shared across all class loaders +// located in the "lib" directory +grant codeBase "file:${catalina.home}/lib/-" { + permission java.security.AllPermission; +}; + + +// If using a per instance lib directory, i.e. ${catalina.base}/lib, +// then the following permission will need to be uncommented +// grant codeBase "file:${catalina.base}/lib/-" { +// permission java.security.AllPermission; +// }; + + +// ========== WEB APPLICATION PERMISSIONS ===================================== + + +// These permissions are granted by default to all web applications +// In addition, a web application will be given a read FilePermission +// for all files and directories in its document root. +grant { + // Required for JNDI lookup of named JDBC DataSource's and + // javamail named MimePart DataSource used to send mail + permission java.util.PropertyPermission "java.home", "read"; + permission java.util.PropertyPermission "java.naming.*", "read"; + permission java.util.PropertyPermission "javax.sql.*", "read"; + + // OS Specific properties to allow read access + permission java.util.PropertyPermission "os.name", "read"; + permission java.util.PropertyPermission "os.version", "read"; + permission java.util.PropertyPermission "os.arch", "read"; + permission java.util.PropertyPermission "file.separator", "read"; + permission java.util.PropertyPermission "path.separator", "read"; + permission java.util.PropertyPermission "line.separator", "read"; + + // JVM properties to allow read access + permission java.util.PropertyPermission "java.version", "read"; + permission java.util.PropertyPermission "java.vendor", "read"; + permission java.util.PropertyPermission "java.vendor.url", "read"; + permission java.util.PropertyPermission "java.class.version", "read"; + permission java.util.PropertyPermission "java.specification.version", "read"; + permission java.util.PropertyPermission "java.specification.vendor", "read"; + permission java.util.PropertyPermission "java.specification.name", "read"; + + permission java.util.PropertyPermission "java.vm.specification.version", "read"; + permission java.util.PropertyPermission "java.vm.specification.vendor", "read"; + permission java.util.PropertyPermission "java.vm.specification.name", "read"; + permission java.util.PropertyPermission "java.vm.version", "read"; + permission java.util.PropertyPermission "java.vm.vendor", "read"; + permission java.util.PropertyPermission "java.vm.name", "read"; + + // Required for OpenJMX + permission java.lang.RuntimePermission "getAttribute"; + + // Allow read of JAXP compliant XML parser debug + permission java.util.PropertyPermission "jaxp.debug", "read"; + + // All JSPs need to be able to read this package + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat"; + + // Precompiled JSPs need access to these packages. + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.el"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime"; + permission java.lang.RuntimePermission + "accessClassInPackage.org.apache.jasper.runtime.*"; + + // Applications using WebSocket need to be able to access these packages + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server"; +}; + + +// The Manager application needs access to the following packages to support the +// session display functionality. It also requires the custom Tomcat +// DeployXmlPermission to enable the use of META-INF/context.xml +// These settings support the following configurations: +// - default CATALINA_HOME == CATALINA_BASE +// - CATALINA_HOME != CATALINA_BASE, per instance Manager in CATALINA_BASE +// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME +grant codeBase "file:${catalina.base}/webapps/manager/-" { + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.ha.session"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager.util"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util"; + permission org.apache.catalina.security.DeployXmlPermission "manager"; +}; +grant codeBase "file:${catalina.home}/webapps/manager/-" { + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.ha.session"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager.util"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util"; + permission org.apache.catalina.security.DeployXmlPermission "manager"; +}; + +// The Host Manager application needs the custom Tomcat DeployXmlPermission to +// enable the use of META-INF/context.xml +// These settings support the following configurations: +// - default CATALINA_HOME == CATALINA_BASE +// - CATALINA_HOME != CATALINA_BASE, per instance Host Manager in CATALINA_BASE +// - CATALINA_HOME != CATALINA_BASE, shared Host Manager in CATALINA_HOME +grant codeBase "file:${catalina.base}/webapps/host-manager/-" { + permission org.apache.catalina.security.DeployXmlPermission "host-manager"; +}; +grant codeBase "file:${catalina.home}/webapps/host-manager/-" { + permission org.apache.catalina.security.DeployXmlPermission "host-manager"; +}; + + +// You can assign additional permissions to particular web applications by +// adding additional "grant" entries here, based on the code base for that +// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files. +// +// Different permissions can be granted to JSP pages, classes loaded from +// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/ +// directory, or even to individual jar files in the /WEB-INF/lib/ directory. +// +// For instance, assume that the standard "examples" application +// included a JDBC driver that needed to establish a network connection to the +// corresponding database and used the scrape taglib to get the weather from +// the NOAA web server. You might create a "grant" entries like this: +// +// The permissions granted to the context root directory apply to JSP pages. +// grant codeBase "file:${catalina.base}/webapps/examples/-" { +// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect"; +// permission java.net.SocketPermission "*.noaa.gov:80", "connect"; +// }; +// +// The permissions granted to the context WEB-INF/classes directory +// grant codeBase "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" { +// }; +// +// The permission granted to your JDBC driver +// grant codeBase "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" { +// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect"; +// }; +// The permission granted to the scrape taglib +// grant codeBase "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" { +// permission java.net.SocketPermission "*.noaa.gov:80", "connect"; +// }; + +// To grant permissions for web applications using packed WAR files, use the +// Tomcat specific WAR url scheme. +// +// The permissions granted to the entire web application +// grant codeBase "war:file:${catalina.base}/webapps/examples.war*/-" { +// }; +// +// The permissions granted to a specific JAR +// grant codeBase "war:file:${catalina.base}/webapps/examples.war*/WEB-INF/lib/foo.jar" { +// }; diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9/5089b8e3e245001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/9/5089b8e3e245001c11de97d36a89b06b new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9/c0228400b446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/9/c0228400b446001c137a95b836e30a66 new file mode 100644 index 0000000..3241b06 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9/c0228400b446001c137a95b836e30a66 @@ -0,0 +1,3 @@ + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/93/5064f000de42001c149691cc9b37b92a b/.metadata/.plugins/org.eclipse.core.resources/.history/93/5064f000de42001c149691cc9b37b92a new file mode 100644 index 0000000..72d64fb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/93/5064f000de42001c149691cc9b37b92a @@ -0,0 +1,13 @@ +## Bài toán: + +Name: App CurrencyConverter +Mô tả: Chức năng chuyển đổi các đơn vị tiền tệ khác nhau. +Ứng dụng được viết dưới dạng chủ-khách bằng các sử dụng công nghệ socket. +Ứng dụng: Khách nhập số tiền, đơn vị tiền +Máy chủ: Trả về giá trị tiền tương ứng. +Ứng dụng khách in ra số tiền tương ứng trên màn hình. + + +## Thiết kế: + +## Tài liệu tham khảo: diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/00e76cc45945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/97/00e76cc45945001c1e6d86658ace159a new file mode 100644 index 0000000..92e74fd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/97/00e76cc45945001c1e6d86658ace159a @@ -0,0 +1,14 @@ +package com.use.jar; + +import com.manhkm.jar.FunctionOne; + +public class TestUseJar { + + public static void main(String[] args) { + } + + public void usingFunction() { + FunctionOne.add2(10, 20); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/f0418aa58c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/97/f0418aa58c46001c137a95b836e30a66 new file mode 100644 index 0000000..e53e21a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/97/f0418aa58c46001c137a95b836e30a66 @@ -0,0 +1,17 @@ +package ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; + +@WebService +public class EchoWS { + + @WebMethod + public String echo(String s) { + return "Echo: " + s; + } + + public static void main(String[] agrs) { + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/98/b0f4aaa0c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/98/b0f4aaa0c646001c137a95b836e30a66 new file mode 100644 index 0000000..0b29da6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/98/b0f4aaa0c646001c137a95b836e30a66 @@ -0,0 +1,10 @@ +package com.webservice.ws; + +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/99/b0c4c19feb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/99/b0c4c19feb45001c11de97d36a89b06b new file mode 100644 index 0000000..05fed3e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/99/b0c4c19feb45001c11de97d36a89b06b @@ -0,0 +1,14 @@ +package com.ioc; + +import com.ioc.entity.Bikini; +import com.ioc.entity.Girl; +import com.ioc.entity.Outfit; + +public class Main { + public static void main(String[] args) { + Outfit bikini = new Bikini(); + + Girl girl1 = new Girl(bikini); + girl1.getOutfit(); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/20474374d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/20474374d446001c137a95b836e30a66 new file mode 100644 index 0000000..2bc16d9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/20474374d446001c137a95b836e30a66 @@ -0,0 +1,29 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + + // create a service instance with the specified WSDL. + Service service = Service.create(wsdlURL, qname); + + // we need to pass interface and model beans to client: + UserService userService = service.getPort(UserService.class); + + User user1 = new User(1, "manhkm"); + User user2 = new User(2, "trangtt"); + User user3 = new User(3, "thanglv"); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/802b74f16248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/802b74f16248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..2e175df --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/802b74f16248001c1eb1b6cc5fdf9661 @@ -0,0 +1,40 @@ + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9c/60da4803eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/9c/60da4803eb45001c11de97d36a89b06b new file mode 100644 index 0000000..6fb900b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9c/60da4803eb45001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.ioc.entity; + +public class Outfit { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9e/7034a159b346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/9e/7034a159b346001c137a95b836e30a66 new file mode 100644 index 0000000..3ef3287 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9e/7034a159b346001c137a95b836e30a66 @@ -0,0 +1,3 @@ + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9f/50eed76aeb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/9f/50eed76aeb45001c11de97d36a89b06b new file mode 100644 index 0000000..922c8b5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9f/50eed76aeb45001c11de97d36a89b06b @@ -0,0 +1,10 @@ +package com.ioc; + +import com.ioc.entity.Outfit; + +public class Main { + public static void main(String[] args) { + Outfit bikini = new Bikini(); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9f/800966eee345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/9f/800966eee345001c11de97d36a89b06b new file mode 100644 index 0000000..8a9abbd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9f/800966eee345001c11de97d36a89b06b @@ -0,0 +1,13 @@ +package com.tight.coupling; + +import com.tight.coupling.services.VeryComplexService; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + SortAlgorithm quickSort = new QuicksortAlgorithm(); + + VeryComplexService business1 = new VeryComplexService(bubbleSort); + VeryComplexService business2 = new VeryComplexService(quickSort); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a0/80fa9c49e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/a0/80fa9c49e345001c11de97d36a89b06b new file mode 100644 index 0000000..52020ad --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a0/80fa9c49e345001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling.services; + +public class VeryComplexService { + private SortAlgorithm sortAlgorithm; +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/10f1d299c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/a1/10f1d299c646001c137a95b836e30a66 new file mode 100644 index 0000000..e5107d8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a1/10f1d299c646001c137a95b836e30a66 @@ -0,0 +1,10 @@ +package com.webservice.ws; + +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public class UserService { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/f0631af05945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/a1/f0631af05945001c1e6d86658ace159a new file mode 100644 index 0000000..46f1861 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a1/f0631af05945001c1e6d86658ace159a @@ -0,0 +1,7 @@ +package com.use.jar; + +public class DemoHelloWorld { + public static void main(String[] args) { + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/1058e1d66248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/1058e1d66248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..2d65a83 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/1058e1d66248001c1eb1b6cc5fdf9661 @@ -0,0 +1,21 @@ +package com.gpcoder; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "user") +public class User { + + private Integer id; + private String username; + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/506a6a8d8c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/506a6a8d8c46001c137a95b836e30a66 new file mode 100644 index 0000000..8d4c7b7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/506a6a8d8c46001c137a95b836e30a66 @@ -0,0 +1,8 @@ +package ws; + +import javax.jws.WebService; + +@WebService +public class EchoWS { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a4/b08ac27d8c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/a4/b08ac27d8c46001c137a95b836e30a66 new file mode 100644 index 0000000..6bff51d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a4/b08ac27d8c46001c137a95b836e30a66 @@ -0,0 +1,6 @@ +package ws; + +@WebService +public class EchoWS { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a7/c025b007e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/a7/c025b007e345001c11de97d36a89b06b new file mode 100644 index 0000000..e4f7000 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a7/c025b007e345001c11de97d36a89b06b @@ -0,0 +1,10 @@ +package com.tight.coupling; + +public class BubbleSortAlgorithm implements SortAlgorithm{ + + @Override + public void sort(int[] array) { + // TODO Auto-generated method stub + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ab/1081fb148e46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ab/1081fb148e46001c137a95b836e30a66 new file mode 100644 index 0000000..5baf62c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ab/1081fb148e46001c137a95b836e30a66 @@ -0,0 +1,5 @@ +package ws; + +public class EchoWSService { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ab/4048ff17eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/ab/4048ff17eb45001c11de97d36a89b06b new file mode 100644 index 0000000..eba4c21 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ab/4048ff17eb45001c11de97d36a89b06b @@ -0,0 +1,11 @@ +package com.ioc.entity; + +public class Bikini implements Outfit{ + + @Override + public void wear() { + // TODO Auto-generated method stub + + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ab/40f58b66c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ab/40f58b66c646001c137a95b836e30a66 new file mode 100644 index 0000000..a93639e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ab/40f58b66c646001c137a95b836e30a66 @@ -0,0 +1,23 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + + // set-get: + + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/5006f218e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/5006f218e345001c11de97d36a89b06b new file mode 100644 index 0000000..9456fcd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/5006f218e345001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling; + +public class QuicksortAlgorithm implements SortAlgorithm{ + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/704b6f01c746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/704b6f01c746001c137a95b836e30a66 new file mode 100644 index 0000000..df93896 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/704b6f01c746001c137a95b836e30a66 @@ -0,0 +1,41 @@ +package com.webservice.ws; + +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/108c485cc646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ae/108c485cc646001c137a95b836e30a66 new file mode 100644 index 0000000..834f712 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ae/108c485cc646001c137a95b836e30a66 @@ -0,0 +1,26 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + + + + + + // set-get: + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/20d95500eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/ae/20d95500eb45001c11de97d36a89b06b new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/608b87c6e245001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/ae/608b87c6e245001c11de97d36a89b06b new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/af/d0ee74f16248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/af/d0ee74f16248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..1651be8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/af/d0ee74f16248001c1eb1b6cc5fdf9661 @@ -0,0 +1,4726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default + org.apache.catalina.servlets.DefaultServlet + + debug + 0 + + + listings + false + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jsp + org.apache.jasper.servlet.JspServlet + + fork + false + + + xpoweredBy + false + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default + / + + + + + jsp + *.jsp + *.jspx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + + + + + + + + + + + + + 123 + application/vnd.lotus-1-2-3 + + + 3dml + text/vnd.in3d.3dml + + + 3ds + image/x-3ds + + + 3g2 + video/3gpp2 + + + 3gp + video/3gpp + + + 7z + application/x-7z-compressed + + + aab + application/x-authorware-bin + + + aac + audio/x-aac + + + aam + application/x-authorware-map + + + aas + application/x-authorware-seg + + + abs + audio/x-mpeg + + + abw + application/x-abiword + + + ac + application/pkix-attr-cert + + + acc + application/vnd.americandynamics.acc + + + ace + application/x-ace-compressed + + + acu + application/vnd.acucobol + + + acutc + application/vnd.acucorp + + + adp + audio/adpcm + + + aep + application/vnd.audiograph + + + afm + application/x-font-type1 + + + afp + application/vnd.ibm.modcap + + + ahead + application/vnd.ahead.space + + + ai + application/postscript + + + aif + audio/x-aiff + + + aifc + audio/x-aiff + + + aiff + audio/x-aiff + + + aim + application/x-aim + + + air + application/vnd.adobe.air-application-installer-package+zip + + + ait + application/vnd.dvb.ait + + + ami + application/vnd.amiga.ami + + + anx + application/annodex + + + apk + application/vnd.android.package-archive + + + appcache + text/cache-manifest + + + application + application/x-ms-application + + + apr + application/vnd.lotus-approach + + + arc + application/x-freearc + + + art + image/x-jg + + + asc + application/pgp-signature + + + asf + video/x-ms-asf + + + asm + text/x-asm + + + aso + application/vnd.accpac.simply.aso + + + asx + video/x-ms-asf + + + atc + application/vnd.acucorp + + + atom + application/atom+xml + + + atomcat + application/atomcat+xml + + + atomsvc + application/atomsvc+xml + + + atx + application/vnd.antix.game-component + + + au + audio/basic + + + avi + video/x-msvideo + + + avx + video/x-rad-screenplay + + + aw + application/applixware + + + axa + audio/annodex + + + axv + video/annodex + + + azf + application/vnd.airzip.filesecure.azf + + + azs + application/vnd.airzip.filesecure.azs + + + azw + application/vnd.amazon.ebook + + + bat + application/x-msdownload + + + bcpio + application/x-bcpio + + + bdf + application/x-font-bdf + + + bdm + application/vnd.syncml.dm+wbxml + + + bed + application/vnd.realvnc.bed + + + bh2 + application/vnd.fujitsu.oasysprs + + + bin + application/octet-stream + + + blb + application/x-blorb + + + blorb + application/x-blorb + + + bmi + application/vnd.bmi + + + bmp + image/bmp + + + body + text/html + + + book + application/vnd.framemaker + + + box + application/vnd.previewsystems.box + + + boz + application/x-bzip2 + + + bpk + application/octet-stream + + + btif + image/prs.btif + + + bz + application/x-bzip + + + bz2 + application/x-bzip2 + + + c + text/x-c + + + c11amc + application/vnd.cluetrust.cartomobile-config + + + c11amz + application/vnd.cluetrust.cartomobile-config-pkg + + + c4d + application/vnd.clonk.c4group + + + c4f + application/vnd.clonk.c4group + + + c4g + application/vnd.clonk.c4group + + + c4p + application/vnd.clonk.c4group + + + c4u + application/vnd.clonk.c4group + + + cab + application/vnd.ms-cab-compressed + + + caf + audio/x-caf + + + cap + application/vnd.tcpdump.pcap + + + car + application/vnd.curl.car + + + cat + application/vnd.ms-pki.seccat + + + cb7 + application/x-cbr + + + cba + application/x-cbr + + + cbr + application/x-cbr + + + cbt + application/x-cbr + + + cbz + application/x-cbr + + + cc + text/x-c + + + cct + application/x-director + + + ccxml + application/ccxml+xml + + + cdbcmsg + application/vnd.contact.cmsg + + + cdf + application/x-cdf + + + cdkey + application/vnd.mediastation.cdkey + + + cdmia + application/cdmi-capability + + + cdmic + application/cdmi-container + + + cdmid + application/cdmi-domain + + + cdmio + application/cdmi-object + + + cdmiq + application/cdmi-queue + + + cdx + chemical/x-cdx + + + cdxml + application/vnd.chemdraw+xml + + + cdy + application/vnd.cinderella + + + cer + application/pkix-cert + + + cfs + application/x-cfs-compressed + + + cgm + image/cgm + + + chat + application/x-chat + + + chm + application/vnd.ms-htmlhelp + + + chrt + application/vnd.kde.kchart + + + cif + chemical/x-cif + + + cii + application/vnd.anser-web-certificate-issue-initiation + + + cil + application/vnd.ms-artgalry + + + cla + application/vnd.claymore + + + class + application/java + + + clkk + application/vnd.crick.clicker.keyboard + + + clkp + application/vnd.crick.clicker.palette + + + clkt + application/vnd.crick.clicker.template + + + clkw + application/vnd.crick.clicker.wordbank + + + clkx + application/vnd.crick.clicker + + + clp + application/x-msclip + + + cmc + application/vnd.cosmocaller + + + cmdf + chemical/x-cmdf + + + cml + chemical/x-cml + + + cmp + application/vnd.yellowriver-custom-menu + + + cmx + image/x-cmx + + + cod + application/vnd.rim.cod + + + com + application/x-msdownload + + + conf + text/plain + + + cpio + application/x-cpio + + + cpp + text/x-c + + + cpt + application/mac-compactpro + + + crd + application/x-mscardfile + + + crl + application/pkix-crl + + + crt + application/x-x509-ca-cert + + + cryptonote + application/vnd.rig.cryptonote + + + csh + application/x-csh + + + csml + chemical/x-csml + + + csp + application/vnd.commonspace + + + css + text/css + + + cst + application/x-director + + + csv + text/csv + + + cu + application/cu-seeme + + + curl + text/vnd.curl + + + cww + application/prs.cww + + + cxt + application/x-director + + + cxx + text/x-c + + + dae + model/vnd.collada+xml + + + daf + application/vnd.mobius.daf + + + dart + application/vnd.dart + + + dataless + application/vnd.fdsn.seed + + + davmount + application/davmount+xml + + + dbk + application/docbook+xml + + + dcr + application/x-director + + + dcurl + text/vnd.curl.dcurl + + + dd2 + application/vnd.oma.dd2+xml + + + ddd + application/vnd.fujixerox.ddd + + + deb + application/x-debian-package + + + def + text/plain + + + deploy + application/octet-stream + + + der + application/x-x509-ca-cert + + + dfac + application/vnd.dreamfactory + + + dgc + application/x-dgc-compressed + + + dib + image/bmp + + + dic + text/x-c + + + dir + application/x-director + + + dis + application/vnd.mobius.dis + + + dist + application/octet-stream + + + distz + application/octet-stream + + + djv + image/vnd.djvu + + + djvu + image/vnd.djvu + + + dll + application/x-msdownload + + + dmg + application/x-apple-diskimage + + + dmp + application/vnd.tcpdump.pcap + + + dms + application/octet-stream + + + dna + application/vnd.dna + + + doc + application/msword + + + docm + application/vnd.ms-word.document.macroenabled.12 + + + docx + application/vnd.openxmlformats-officedocument.wordprocessingml.document + + + dot + application/msword + + + dotm + application/vnd.ms-word.template.macroenabled.12 + + + dotx + application/vnd.openxmlformats-officedocument.wordprocessingml.template + + + dp + application/vnd.osgi.dp + + + dpg + application/vnd.dpgraph + + + dra + audio/vnd.dra + + + dsc + text/prs.lines.tag + + + dssc + application/dssc+der + + + dtb + application/x-dtbook+xml + + + dtd + application/xml-dtd + + + dts + audio/vnd.dts + + + dtshd + audio/vnd.dts.hd + + + dump + application/octet-stream + + + dv + video/x-dv + + + dvb + video/vnd.dvb.file + + + dvi + application/x-dvi + + + dwf + model/vnd.dwf + + + dwg + image/vnd.dwg + + + dxf + image/vnd.dxf + + + dxp + application/vnd.spotfire.dxp + + + dxr + application/x-director + + + ecelp4800 + audio/vnd.nuera.ecelp4800 + + + ecelp7470 + audio/vnd.nuera.ecelp7470 + + + ecelp9600 + audio/vnd.nuera.ecelp9600 + + + ecma + application/ecmascript + + + edm + application/vnd.novadigm.edm + + + edx + application/vnd.novadigm.edx + + + efif + application/vnd.picsel + + + ei6 + application/vnd.pg.osasli + + + elc + application/octet-stream + + + emf + application/x-msmetafile + + + eml + message/rfc822 + + + emma + application/emma+xml + + + emz + application/x-msmetafile + + + eol + audio/vnd.digital-winds + + + eot + application/vnd.ms-fontobject + + + eps + application/postscript + + + epub + application/epub+zip + + + es3 + application/vnd.eszigno3+xml + + + esa + application/vnd.osgi.subsystem + + + esf + application/vnd.epson.esf + + + et3 + application/vnd.eszigno3+xml + + + etx + text/x-setext + + + eva + application/x-eva + + + evy + application/x-envoy + + + exe + application/octet-stream + + + exi + application/exi + + + ext + application/vnd.novadigm.ext + + + ez + application/andrew-inset + + + ez2 + application/vnd.ezpix-album + + + ez3 + application/vnd.ezpix-package + + + f + text/x-fortran + + + f4v + video/x-f4v + + + f77 + text/x-fortran + + + f90 + text/x-fortran + + + fbs + image/vnd.fastbidsheet + + + fcdt + application/vnd.adobe.formscentral.fcdt + + + fcs + application/vnd.isac.fcs + + + fdf + application/vnd.fdf + + + fe_launch + application/vnd.denovo.fcselayout-link + + + fg5 + application/vnd.fujitsu.oasysgp + + + fgd + application/x-director + + + fh + image/x-freehand + + + fh4 + image/x-freehand + + + fh5 + image/x-freehand + + + fh7 + image/x-freehand + + + fhc + image/x-freehand + + + fig + application/x-xfig + + + flac + audio/flac + + + fli + video/x-fli + + + flo + application/vnd.micrografx.flo + + + flv + video/x-flv + + + flw + application/vnd.kde.kivio + + + flx + text/vnd.fmi.flexstor + + + fly + text/vnd.fly + + + fm + application/vnd.framemaker + + + fnc + application/vnd.frogans.fnc + + + for + text/x-fortran + + + fpx + image/vnd.fpx + + + frame + application/vnd.framemaker + + + fsc + application/vnd.fsc.weblaunch + + + fst + image/vnd.fst + + + ftc + application/vnd.fluxtime.clip + + + fti + application/vnd.anser-web-funds-transfer-initiation + + + fvt + video/vnd.fvt + + + fxp + application/vnd.adobe.fxp + + + fxpl + application/vnd.adobe.fxp + + + fzs + application/vnd.fuzzysheet + + + g2w + application/vnd.geoplan + + + g3 + image/g3fax + + + g3w + application/vnd.geospace + + + gac + application/vnd.groove-account + + + gam + application/x-tads + + + gbr + application/rpki-ghostbusters + + + gca + application/x-gca-compressed + + + gdl + model/vnd.gdl + + + geo + application/vnd.dynageo + + + gex + application/vnd.geometry-explorer + + + ggb + application/vnd.geogebra.file + + + ggt + application/vnd.geogebra.tool + + + ghf + application/vnd.groove-help + + + gif + image/gif + + + gim + application/vnd.groove-identity-message + + + gml + application/gml+xml + + + gmx + application/vnd.gmx + + + gnumeric + application/x-gnumeric + + + gph + application/vnd.flographit + + + gpx + application/gpx+xml + + + gqf + application/vnd.grafeq + + + gqs + application/vnd.grafeq + + + gram + application/srgs + + + gramps + application/x-gramps-xml + + + gre + application/vnd.geometry-explorer + + + grv + application/vnd.groove-injector + + + grxml + application/srgs+xml + + + gsf + application/x-font-ghostscript + + + gtar + application/x-gtar + + + gtm + application/vnd.groove-tool-message + + + gtw + model/vnd.gtw + + + gv + text/vnd.graphviz + + + gxf + application/gxf + + + gxt + application/vnd.geonext + + + gz + application/x-gzip + + + h + text/x-c + + + h261 + video/h261 + + + h263 + video/h263 + + + h264 + video/h264 + + + hal + application/vnd.hal+xml + + + hbci + application/vnd.hbci + + + hdf + application/x-hdf + + + hh + text/x-c + + + hlp + application/winhlp + + + hpgl + application/vnd.hp-hpgl + + + hpid + application/vnd.hp-hpid + + + hps + application/vnd.hp-hps + + + hqx + application/mac-binhex40 + + + htc + text/x-component + + + htke + application/vnd.kenameaapp + + + htm + text/html + + + html + text/html + + + hvd + application/vnd.yamaha.hv-dic + + + hvp + application/vnd.yamaha.hv-voice + + + hvs + application/vnd.yamaha.hv-script + + + i2g + application/vnd.intergeo + + + icc + application/vnd.iccprofile + + + ice + x-conference/x-cooltalk + + + icm + application/vnd.iccprofile + + + ico + image/x-icon + + + ics + text/calendar + + + ief + image/ief + + + ifb + text/calendar + + + ifm + application/vnd.shana.informed.formdata + + + iges + model/iges + + + igl + application/vnd.igloader + + + igm + application/vnd.insors.igm + + + igs + model/iges + + + igx + application/vnd.micrografx.igx + + + iif + application/vnd.shana.informed.interchange + + + imp + application/vnd.accpac.simply.imp + + + ims + application/vnd.ms-ims + + + in + text/plain + + + ink + application/inkml+xml + + + inkml + application/inkml+xml + + + install + application/x-install-instructions + + + iota + application/vnd.astraea-software.iota + + + ipfix + application/ipfix + + + ipk + application/vnd.shana.informed.package + + + irm + application/vnd.ibm.rights-management + + + irp + application/vnd.irepository.package+xml + + + iso + application/x-iso9660-image + + + itp + application/vnd.shana.informed.formtemplate + + + ivp + application/vnd.immervision-ivp + + + ivu + application/vnd.immervision-ivu + + + jad + text/vnd.sun.j2me.app-descriptor + + + jam + application/vnd.jam + + + jar + application/java-archive + + + java + text/x-java-source + + + jisp + application/vnd.jisp + + + jlt + application/vnd.hp-jlyt + + + jnlp + application/x-java-jnlp-file + + + joda + application/vnd.joost.joda-archive + + + jpe + image/jpeg + + + jpeg + image/jpeg + + + jpg + image/jpeg + + + jpgm + video/jpm + + + jpgv + video/jpeg + + + jpm + video/jpm + + + js + application/javascript + + + jsf + text/plain + + + json + application/json + + + jsonml + application/jsonml+json + + + jspf + text/plain + + + kar + audio/midi + + + karbon + application/vnd.kde.karbon + + + kfo + application/vnd.kde.kformula + + + kia + application/vnd.kidspiration + + + kml + application/vnd.google-earth.kml+xml + + + kmz + application/vnd.google-earth.kmz + + + kne + application/vnd.kinar + + + knp + application/vnd.kinar + + + kon + application/vnd.kde.kontour + + + kpr + application/vnd.kde.kpresenter + + + kpt + application/vnd.kde.kpresenter + + + kpxx + application/vnd.ds-keypoint + + + ksp + application/vnd.kde.kspread + + + ktr + application/vnd.kahootz + + + ktx + image/ktx + + + ktz + application/vnd.kahootz + + + kwd + application/vnd.kde.kword + + + kwt + application/vnd.kde.kword + + + lasxml + application/vnd.las.las+xml + + + latex + application/x-latex + + + lbd + application/vnd.llamagraphics.life-balance.desktop + + + lbe + application/vnd.llamagraphics.life-balance.exchange+xml + + + les + application/vnd.hhe.lesson-player + + + lha + application/x-lzh-compressed + + + link66 + application/vnd.route66.link66+xml + + + list + text/plain + + + list3820 + application/vnd.ibm.modcap + + + listafp + application/vnd.ibm.modcap + + + lnk + application/x-ms-shortcut + + + log + text/plain + + + lostxml + application/lost+xml + + + lrf + application/octet-stream + + + lrm + application/vnd.ms-lrm + + + ltf + application/vnd.frogans.ltf + + + lvp + audio/vnd.lucent.voice + + + lwp + application/vnd.lotus-wordpro + + + lzh + application/x-lzh-compressed + + + m13 + application/x-msmediaview + + + m14 + application/x-msmediaview + + + m1v + video/mpeg + + + m21 + application/mp21 + + + m2a + audio/mpeg + + + m2v + video/mpeg + + + m3a + audio/mpeg + + + m3u + audio/x-mpegurl + + + m3u8 + application/vnd.apple.mpegurl + + + m4a + audio/mp4 + + + m4b + audio/mp4 + + + m4r + audio/mp4 + + + m4u + video/vnd.mpegurl + + + m4v + video/mp4 + + + ma + application/mathematica + + + mac + image/x-macpaint + + + mads + application/mads+xml + + + mag + application/vnd.ecowin.chart + + + maker + application/vnd.framemaker + + + man + text/troff + + + mar + application/octet-stream + + + mathml + application/mathml+xml + + + mb + application/mathematica + + + mbk + application/vnd.mobius.mbk + + + mbox + application/mbox + + + mc1 + application/vnd.medcalcdata + + + mcd + application/vnd.mcd + + + mcurl + text/vnd.curl.mcurl + + + mdb + application/x-msaccess + + + mdi + image/vnd.ms-modi + + + me + text/troff + + + mesh + model/mesh + + + meta4 + application/metalink4+xml + + + metalink + application/metalink+xml + + + mets + application/mets+xml + + + mfm + application/vnd.mfmp + + + mft + application/rpki-manifest + + + mgp + application/vnd.osgeo.mapguide.package + + + mgz + application/vnd.proteus.magazine + + + mid + audio/midi + + + midi + audio/midi + + + mie + application/x-mie + + + mif + application/x-mif + + + mime + message/rfc822 + + + mj2 + video/mj2 + + + mjp2 + video/mj2 + + + mk3d + video/x-matroska + + + mka + audio/x-matroska + + + mks + video/x-matroska + + + mkv + video/x-matroska + + + mlp + application/vnd.dolby.mlp + + + mmd + application/vnd.chipnuts.karaoke-mmd + + + mmf + application/vnd.smaf + + + mmr + image/vnd.fujixerox.edmics-mmr + + + mng + video/x-mng + + + mny + application/x-msmoney + + + mobi + application/x-mobipocket-ebook + + + mods + application/mods+xml + + + mov + video/quicktime + + + movie + video/x-sgi-movie + + + mp1 + audio/mpeg + + + mp2 + audio/mpeg + + + mp21 + application/mp21 + + + mp2a + audio/mpeg + + + mp3 + audio/mpeg + + + mp4 + video/mp4 + + + mp4a + audio/mp4 + + + mp4s + application/mp4 + + + mp4v + video/mp4 + + + mpa + audio/mpeg + + + mpc + application/vnd.mophun.certificate + + + mpe + video/mpeg + + + mpeg + video/mpeg + + + mpega + audio/x-mpeg + + + mpg + video/mpeg + + + mpg4 + video/mp4 + + + mpga + audio/mpeg + + + mpkg + application/vnd.apple.installer+xml + + + mpm + application/vnd.blueice.multipass + + + mpn + application/vnd.mophun.application + + + mpp + application/vnd.ms-project + + + mpt + application/vnd.ms-project + + + mpv2 + video/mpeg2 + + + mpy + application/vnd.ibm.minipay + + + mqy + application/vnd.mobius.mqy + + + mrc + application/marc + + + mrcx + application/marcxml+xml + + + ms + text/troff + + + mscml + application/mediaservercontrol+xml + + + mseed + application/vnd.fdsn.mseed + + + mseq + application/vnd.mseq + + + msf + application/vnd.epson.msf + + + msh + model/mesh + + + msi + application/x-msdownload + + + msl + application/vnd.mobius.msl + + + msty + application/vnd.muvee.style + + + mts + model/vnd.mts + + + mus + application/vnd.musician + + + musicxml + application/vnd.recordare.musicxml+xml + + + mvb + application/x-msmediaview + + + mwf + application/vnd.mfer + + + mxf + application/mxf + + + mxl + application/vnd.recordare.musicxml + + + mxml + application/xv+xml + + + mxs + application/vnd.triscape.mxs + + + mxu + video/vnd.mpegurl + + + n-gage + application/vnd.nokia.n-gage.symbian.install + + + n3 + text/n3 + + + nb + application/mathematica + + + nbp + application/vnd.wolfram.player + + + nc + application/x-netcdf + + + ncx + application/x-dtbncx+xml + + + nfo + text/x-nfo + + + ngdat + application/vnd.nokia.n-gage.data + + + nitf + application/vnd.nitf + + + nlu + application/vnd.neurolanguage.nlu + + + nml + application/vnd.enliven + + + nnd + application/vnd.noblenet-directory + + + nns + application/vnd.noblenet-sealer + + + nnw + application/vnd.noblenet-web + + + npx + image/vnd.net-fpx + + + nsc + application/x-conference + + + nsf + application/vnd.lotus-notes + + + ntf + application/vnd.nitf + + + nzb + application/x-nzb + + + oa2 + application/vnd.fujitsu.oasys2 + + + oa3 + application/vnd.fujitsu.oasys3 + + + oas + application/vnd.fujitsu.oasys + + + obd + application/x-msbinder + + + obj + application/x-tgif + + + oda + application/oda + + + + odb + application/vnd.oasis.opendocument.database + + + + odc + application/vnd.oasis.opendocument.chart + + + + odf + application/vnd.oasis.opendocument.formula + + + odft + application/vnd.oasis.opendocument.formula-template + + + + odg + application/vnd.oasis.opendocument.graphics + + + + odi + application/vnd.oasis.opendocument.image + + + + odm + application/vnd.oasis.opendocument.text-master + + + + odp + application/vnd.oasis.opendocument.presentation + + + + ods + application/vnd.oasis.opendocument.spreadsheet + + + + odt + application/vnd.oasis.opendocument.text + + + oga + audio/ogg + + + ogg + audio/ogg + + + ogv + video/ogg + + + + ogx + application/ogg + + + omdoc + application/omdoc+xml + + + onepkg + application/onenote + + + onetmp + application/onenote + + + onetoc + application/onenote + + + onetoc2 + application/onenote + + + opf + application/oebps-package+xml + + + opml + text/x-opml + + + oprc + application/vnd.palm + + + org + application/vnd.lotus-organizer + + + osf + application/vnd.yamaha.openscoreformat + + + osfpvg + application/vnd.yamaha.openscoreformat.osfpvg+xml + + + otc + application/vnd.oasis.opendocument.chart-template + + + otf + font/otf + + + + otg + application/vnd.oasis.opendocument.graphics-template + + + + oth + application/vnd.oasis.opendocument.text-web + + + oti + application/vnd.oasis.opendocument.image-template + + + + otp + application/vnd.oasis.opendocument.presentation-template + + + + ots + application/vnd.oasis.opendocument.spreadsheet-template + + + + ott + application/vnd.oasis.opendocument.text-template + + + oxps + application/oxps + + + oxt + application/vnd.openofficeorg.extension + + + p + text/x-pascal + + + p10 + application/pkcs10 + + + p12 + application/x-pkcs12 + + + p7b + application/x-pkcs7-certificates + + + p7c + application/pkcs7-mime + + + p7m + application/pkcs7-mime + + + p7r + application/x-pkcs7-certreqresp + + + p7s + application/pkcs7-signature + + + p8 + application/pkcs8 + + + pas + text/x-pascal + + + paw + application/vnd.pawaafile + + + pbd + application/vnd.powerbuilder6 + + + pbm + image/x-portable-bitmap + + + pcap + application/vnd.tcpdump.pcap + + + pcf + application/x-font-pcf + + + pcl + application/vnd.hp-pcl + + + pclxl + application/vnd.hp-pclxl + + + pct + image/pict + + + pcurl + application/vnd.curl.pcurl + + + pcx + image/x-pcx + + + pdb + application/vnd.palm + + + pdf + application/pdf + + + pfa + application/x-font-type1 + + + pfb + application/x-font-type1 + + + pfm + application/x-font-type1 + + + pfr + application/font-tdpfr + + + pfx + application/x-pkcs12 + + + pgm + image/x-portable-graymap + + + pgn + application/x-chess-pgn + + + pgp + application/pgp-encrypted + + + pic + image/pict + + + pict + image/pict + + + pkg + application/octet-stream + + + pki + application/pkixcmp + + + pkipath + application/pkix-pkipath + + + plb + application/vnd.3gpp.pic-bw-large + + + plc + application/vnd.mobius.plc + + + plf + application/vnd.pocketlearn + + + pls + audio/x-scpls + + + pml + application/vnd.ctc-posml + + + png + image/png + + + pnm + image/x-portable-anymap + + + pnt + image/x-macpaint + + + portpkg + application/vnd.macports.portpkg + + + pot + application/vnd.ms-powerpoint + + + potm + application/vnd.ms-powerpoint.template.macroenabled.12 + + + potx + application/vnd.openxmlformats-officedocument.presentationml.template + + + ppam + application/vnd.ms-powerpoint.addin.macroenabled.12 + + + ppd + application/vnd.cups-ppd + + + ppm + image/x-portable-pixmap + + + pps + application/vnd.ms-powerpoint + + + ppsm + application/vnd.ms-powerpoint.slideshow.macroenabled.12 + + + ppsx + application/vnd.openxmlformats-officedocument.presentationml.slideshow + + + ppt + application/vnd.ms-powerpoint + + + pptm + application/vnd.ms-powerpoint.presentation.macroenabled.12 + + + pptx + application/vnd.openxmlformats-officedocument.presentationml.presentation + + + pqa + application/vnd.palm + + + prc + application/x-mobipocket-ebook + + + pre + application/vnd.lotus-freelance + + + prf + application/pics-rules + + + ps + application/postscript + + + psb + application/vnd.3gpp.pic-bw-small + + + psd + image/vnd.adobe.photoshop + + + psf + application/x-font-linux-psf + + + pskcxml + application/pskc+xml + + + ptid + application/vnd.pvi.ptid1 + + + pub + application/x-mspublisher + + + pvb + application/vnd.3gpp.pic-bw-var + + + pwn + application/vnd.3m.post-it-notes + + + pya + audio/vnd.ms-playready.media.pya + + + pyv + video/vnd.ms-playready.media.pyv + + + qam + application/vnd.epson.quickanime + + + qbo + application/vnd.intu.qbo + + + qfx + application/vnd.intu.qfx + + + qps + application/vnd.publishare-delta-tree + + + qt + video/quicktime + + + qti + image/x-quicktime + + + qtif + image/x-quicktime + + + qwd + application/vnd.quark.quarkxpress + + + qwt + application/vnd.quark.quarkxpress + + + qxb + application/vnd.quark.quarkxpress + + + qxd + application/vnd.quark.quarkxpress + + + qxl + application/vnd.quark.quarkxpress + + + qxt + application/vnd.quark.quarkxpress + + + ra + audio/x-pn-realaudio + + + ram + audio/x-pn-realaudio + + + rar + application/x-rar-compressed + + + ras + image/x-cmu-raster + + + rcprofile + application/vnd.ipunplugged.rcprofile + + + rdf + application/rdf+xml + + + rdz + application/vnd.data-vision.rdz + + + rep + application/vnd.businessobjects + + + res + application/x-dtbresource+xml + + + rgb + image/x-rgb + + + rif + application/reginfo+xml + + + rip + audio/vnd.rip + + + ris + application/x-research-info-systems + + + rl + application/resource-lists+xml + + + rlc + image/vnd.fujixerox.edmics-rlc + + + rld + application/resource-lists-diff+xml + + + rm + application/vnd.rn-realmedia + + + rmi + audio/midi + + + rmp + audio/x-pn-realaudio-plugin + + + rms + application/vnd.jcp.javame.midlet-rms + + + rmvb + application/vnd.rn-realmedia-vbr + + + rnc + application/relax-ng-compact-syntax + + + roa + application/rpki-roa + + + roff + text/troff + + + rp9 + application/vnd.cloanto.rp9 + + + rpss + application/vnd.nokia.radio-presets + + + rpst + application/vnd.nokia.radio-preset + + + rq + application/sparql-query + + + rs + application/rls-services+xml + + + rsd + application/rsd+xml + + + rss + application/rss+xml + + + rtf + application/rtf + + + rtx + text/richtext + + + s + text/x-asm + + + s3m + audio/s3m + + + saf + application/vnd.yamaha.smaf-audio + + + sbml + application/sbml+xml + + + sc + application/vnd.ibm.secure-container + + + scd + application/x-msschedule + + + scm + application/vnd.lotus-screencam + + + scq + application/scvp-cv-request + + + scs + application/scvp-cv-response + + + scurl + text/vnd.curl.scurl + + + sda + application/vnd.stardivision.draw + + + sdc + application/vnd.stardivision.calc + + + sdd + application/vnd.stardivision.impress + + + sdkd + application/vnd.solent.sdkm+xml + + + sdkm + application/vnd.solent.sdkm+xml + + + sdp + application/sdp + + + sdw + application/vnd.stardivision.writer + + + see + application/vnd.seemail + + + seed + application/vnd.fdsn.seed + + + sema + application/vnd.sema + + + semd + application/vnd.semd + + + semf + application/vnd.semf + + + ser + application/java-serialized-object + + + setpay + application/set-payment-initiation + + + setreg + application/set-registration-initiation + + + sfd-hdstx + application/vnd.hydrostatix.sof-data + + + sfs + application/vnd.spotfire.sfs + + + sfv + text/x-sfv + + + sgi + image/sgi + + + sgl + application/vnd.stardivision.writer-global + + + sgm + text/sgml + + + sgml + text/sgml + + + sh + application/x-sh + + + shar + application/x-shar + + + shf + application/shf+xml + + + + sid + image/x-mrsid-image + + + sig + application/pgp-signature + + + sil + audio/silk + + + silo + model/mesh + + + sis + application/vnd.symbian.install + + + sisx + application/vnd.symbian.install + + + sit + application/x-stuffit + + + sitx + application/x-stuffitx + + + skd + application/vnd.koan + + + skm + application/vnd.koan + + + skp + application/vnd.koan + + + skt + application/vnd.koan + + + sldm + application/vnd.ms-powerpoint.slide.macroenabled.12 + + + sldx + application/vnd.openxmlformats-officedocument.presentationml.slide + + + slt + application/vnd.epson.salt + + + sm + application/vnd.stepmania.stepchart + + + smf + application/vnd.stardivision.math + + + smi + application/smil+xml + + + smil + application/smil+xml + + + smv + video/x-smv + + + smzip + application/vnd.stepmania.package + + + snd + audio/basic + + + snf + application/x-font-snf + + + so + application/octet-stream + + + spc + application/x-pkcs7-certificates + + + spf + application/vnd.yamaha.smaf-phrase + + + spl + application/x-futuresplash + + + spot + text/vnd.in3d.spot + + + spp + application/scvp-vp-response + + + spq + application/scvp-vp-request + + + spx + audio/ogg + + + sql + application/x-sql + + + src + application/x-wais-source + + + srt + application/x-subrip + + + sru + application/sru+xml + + + srx + application/sparql-results+xml + + + ssdl + application/ssdl+xml + + + sse + application/vnd.kodak-descriptor + + + ssf + application/vnd.epson.ssf + + + ssml + application/ssml+xml + + + st + application/vnd.sailingtracker.track + + + stc + application/vnd.sun.xml.calc.template + + + std + application/vnd.sun.xml.draw.template + + + stf + application/vnd.wt.stf + + + sti + application/vnd.sun.xml.impress.template + + + stk + application/hyperstudio + + + stl + application/vnd.ms-pki.stl + + + str + application/vnd.pg.format + + + stw + application/vnd.sun.xml.writer.template + + + sub + text/vnd.dvb.subtitle + + + sus + application/vnd.sus-calendar + + + susp + application/vnd.sus-calendar + + + sv4cpio + application/x-sv4cpio + + + sv4crc + application/x-sv4crc + + + svc + application/vnd.dvb.service + + + svd + application/vnd.svd + + + svg + image/svg+xml + + + svgz + image/svg+xml + + + swa + application/x-director + + + swf + application/x-shockwave-flash + + + swi + application/vnd.aristanetworks.swi + + + sxc + application/vnd.sun.xml.calc + + + sxd + application/vnd.sun.xml.draw + + + sxg + application/vnd.sun.xml.writer.global + + + sxi + application/vnd.sun.xml.impress + + + sxm + application/vnd.sun.xml.math + + + sxw + application/vnd.sun.xml.writer + + + t + text/troff + + + t3 + application/x-t3vm-image + + + taglet + application/vnd.mynfc + + + tao + application/vnd.tao.intent-module-archive + + + tar + application/x-tar + + + tcap + application/vnd.3gpp2.tcap + + + tcl + application/x-tcl + + + teacher + application/vnd.smart.teacher + + + tei + application/tei+xml + + + teicorpus + application/tei+xml + + + tex + application/x-tex + + + texi + application/x-texinfo + + + texinfo + application/x-texinfo + + + text + text/plain + + + tfi + application/thraud+xml + + + tfm + application/x-tex-tfm + + + tga + image/x-tga + + + thmx + application/vnd.ms-officetheme + + + tif + image/tiff + + + tiff + image/tiff + + + tmo + application/vnd.tmobile-livetv + + + torrent + application/x-bittorrent + + + tpl + application/vnd.groove-tool-template + + + tpt + application/vnd.trid.tpt + + + tr + text/troff + + + tra + application/vnd.trueapp + + + trm + application/x-msterminal + + + tsd + application/timestamped-data + + + tsv + text/tab-separated-values + + + ttc + font/collection + + + ttf + font/ttf + + + ttl + text/turtle + + + twd + application/vnd.simtech-mindmapper + + + twds + application/vnd.simtech-mindmapper + + + txd + application/vnd.genomatix.tuxedo + + + txf + application/vnd.mobius.txf + + + txt + text/plain + + + u32 + application/x-authorware-bin + + + udeb + application/x-debian-package + + + ufd + application/vnd.ufdl + + + ufdl + application/vnd.ufdl + + + ulw + audio/basic + + + ulx + application/x-glulx + + + umj + application/vnd.umajin + + + unityweb + application/vnd.unity + + + uoml + application/vnd.uoml+xml + + + uri + text/uri-list + + + uris + text/uri-list + + + urls + text/uri-list + + + ustar + application/x-ustar + + + utz + application/vnd.uiq.theme + + + uu + text/x-uuencode + + + uva + audio/vnd.dece.audio + + + uvd + application/vnd.dece.data + + + uvf + application/vnd.dece.data + + + uvg + image/vnd.dece.graphic + + + uvh + video/vnd.dece.hd + + + uvi + image/vnd.dece.graphic + + + uvm + video/vnd.dece.mobile + + + uvp + video/vnd.dece.pd + + + uvs + video/vnd.dece.sd + + + uvt + application/vnd.dece.ttml+xml + + + uvu + video/vnd.uvvu.mp4 + + + uvv + video/vnd.dece.video + + + uvva + audio/vnd.dece.audio + + + uvvd + application/vnd.dece.data + + + uvvf + application/vnd.dece.data + + + uvvg + image/vnd.dece.graphic + + + uvvh + video/vnd.dece.hd + + + uvvi + image/vnd.dece.graphic + + + uvvm + video/vnd.dece.mobile + + + uvvp + video/vnd.dece.pd + + + uvvs + video/vnd.dece.sd + + + uvvt + application/vnd.dece.ttml+xml + + + uvvu + video/vnd.uvvu.mp4 + + + uvvv + video/vnd.dece.video + + + uvvx + application/vnd.dece.unspecified + + + uvvz + application/vnd.dece.zip + + + uvx + application/vnd.dece.unspecified + + + uvz + application/vnd.dece.zip + + + vcard + text/vcard + + + vcd + application/x-cdlink + + + vcf + text/x-vcard + + + vcg + application/vnd.groove-vcard + + + vcs + text/x-vcalendar + + + vcx + application/vnd.vcx + + + vis + application/vnd.visionary + + + viv + video/vnd.vivo + + + vob + video/x-ms-vob + + + vor + application/vnd.stardivision.writer + + + vox + application/x-authorware-bin + + + vrml + model/vrml + + + vsd + application/vnd.visio + + + vsf + application/vnd.vsf + + + vss + application/vnd.visio + + + vst + application/vnd.visio + + + vsw + application/vnd.visio + + + vtu + model/vnd.vtu + + + vxml + application/voicexml+xml + + + w3d + application/x-director + + + wad + application/x-doom + + + wasm + application/wasm + + + wav + audio/x-wav + + + wax + audio/x-ms-wax + + + + wbmp + image/vnd.wap.wbmp + + + wbs + application/vnd.criticaltools.wbs+xml + + + wbxml + application/vnd.wap.wbxml + + + wcm + application/vnd.ms-works + + + wdb + application/vnd.ms-works + + + wdp + image/vnd.ms-photo + + + weba + audio/webm + + + webm + video/webm + + + webp + image/webp + + + wg + application/vnd.pmi.widget + + + wgt + application/widget + + + wks + application/vnd.ms-works + + + wm + video/x-ms-wm + + + wma + audio/x-ms-wma + + + wmd + application/x-ms-wmd + + + wmf + application/x-msmetafile + + + + wml + text/vnd.wap.wml + + + + wmlc + application/vnd.wap.wmlc + + + + wmls + text/vnd.wap.wmlscript + + + + wmlsc + application/vnd.wap.wmlscriptc + + + wmv + video/x-ms-wmv + + + wmx + video/x-ms-wmx + + + wmz + application/x-msmetafile + + + woff + font/woff + + + woff2 + font/woff2 + + + wpd + application/vnd.wordperfect + + + wpl + application/vnd.ms-wpl + + + wps + application/vnd.ms-works + + + wqd + application/vnd.wqd + + + wri + application/x-mswrite + + + wrl + model/vrml + + + wsdl + application/wsdl+xml + + + wspolicy + application/wspolicy+xml + + + wtb + application/vnd.webturbo + + + wvx + video/x-ms-wvx + + + x32 + application/x-authorware-bin + + + x3d + model/x3d+xml + + + x3db + model/x3d+binary + + + x3dbz + model/x3d+binary + + + x3dv + model/x3d+vrml + + + x3dvz + model/x3d+vrml + + + x3dz + model/x3d+xml + + + xaml + application/xaml+xml + + + xap + application/x-silverlight-app + + + xar + application/vnd.xara + + + xbap + application/x-ms-xbap + + + xbd + application/vnd.fujixerox.docuworks.binder + + + xbm + image/x-xbitmap + + + xdf + application/xcap-diff+xml + + + xdm + application/vnd.syncml.dm+xml + + + xdp + application/vnd.adobe.xdp+xml + + + xdssc + application/dssc+xml + + + xdw + application/vnd.fujixerox.docuworks + + + xenc + application/xenc+xml + + + xer + application/patch-ops-error+xml + + + xfdf + application/vnd.adobe.xfdf + + + xfdl + application/vnd.xfdl + + + xht + application/xhtml+xml + + + xhtml + application/xhtml+xml + + + xhvml + application/xv+xml + + + xif + image/vnd.xiff + + + xla + application/vnd.ms-excel + + + xlam + application/vnd.ms-excel.addin.macroenabled.12 + + + xlc + application/vnd.ms-excel + + + xlf + application/x-xliff+xml + + + xlm + application/vnd.ms-excel + + + xls + application/vnd.ms-excel + + + xlsb + application/vnd.ms-excel.sheet.binary.macroenabled.12 + + + xlsm + application/vnd.ms-excel.sheet.macroenabled.12 + + + xlsx + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + + + xlt + application/vnd.ms-excel + + + xltm + application/vnd.ms-excel.template.macroenabled.12 + + + xltx + application/vnd.openxmlformats-officedocument.spreadsheetml.template + + + xlw + application/vnd.ms-excel + + + xm + audio/xm + + + xml + application/xml + + + xo + application/vnd.olpc-sugar + + + xop + application/xop+xml + + + xpi + application/x-xpinstall + + + xpl + application/xproc+xml + + + xpm + image/x-xpixmap + + + xpr + application/vnd.is-xpr + + + xps + application/vnd.ms-xpsdocument + + + xpw + application/vnd.intercon.formnet + + + xpx + application/vnd.intercon.formnet + + + xsl + application/xml + + + xslt + application/xslt+xml + + + xsm + application/vnd.syncml+xml + + + xspf + application/xspf+xml + + + xul + application/vnd.mozilla.xul+xml + + + xvm + application/xv+xml + + + xvml + application/xv+xml + + + xwd + image/x-xwindowdump + + + xyz + chemical/x-xyz + + + xz + application/x-xz + + + yang + application/yang + + + yin + application/yin+xml + + + z + application/x-compress + + + z1 + application/x-zmachine + + + z2 + application/x-zmachine + + + z3 + application/x-zmachine + + + z4 + application/x-zmachine + + + z5 + application/x-zmachine + + + z6 + application/x-zmachine + + + z7 + application/x-zmachine + + + z8 + application/x-zmachine + + + zaz + application/vnd.zzazz.deck+xml + + + zip + application/zip + + + zir + application/vnd.zul + + + zirz + application/vnd.zul + + + zmm + application/vnd.handheld-entertainment+xml + + + + + + + + + + + + + + + + + + index.html + index.htm + index.jsp + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b/00937592d546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/b/00937592d546001c137a95b836e30a66 new file mode 100644 index 0000000..77398b3 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b/00937592d546001c137a95b836e30a66 @@ -0,0 +1,5 @@ +package com.webservice.ws; + +public class SoapClient { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b0/0079d26fe345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/b0/0079d26fe345001c11de97d36a89b06b new file mode 100644 index 0000000..af62bab --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b0/0079d26fe345001c11de97d36a89b06b @@ -0,0 +1,18 @@ +package com.tight.coupling.services; + +import com.tight.coupling.SortAlgorithm; + +public class VeryComplexService { + private SortAlgorithm sortAlgorithm; + + // constructor: + public VeryComplexService(SortAlgorithm sortAlgorithm) { + super(); + this.sortAlgorithm = sortAlgorithm; + } + + public void complexBusiness() { + sortAlgorithm.sort(array); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b0/8006d57cc546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/b0/8006d57cc546001c137a95b836e30a66 new file mode 100644 index 0000000..2e175df --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b0/8006d57cc546001c137a95b836e30a66 @@ -0,0 +1,40 @@ + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b2/80079768c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/b2/80079768c646001c137a95b836e30a66 new file mode 100644 index 0000000..3e91ce9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b2/80079768c646001c137a95b836e30a66 @@ -0,0 +1,40 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + + // set-get: + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + + + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/202533f78d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/202533f78d46001c137a95b836e30a66 new file mode 100644 index 0000000..4c76792 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/202533f78d46001c137a95b836e30a66 @@ -0,0 +1,18 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + EchoWSService service = new EchoWSService(); + EchoWS port = service.getEchoWSPort(); + String res = null; + if(args.length == 0) { + + } + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/303c8a49eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/303c8a49eb45001c11de97d36a89b06b new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/a0b2bb195945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/a0b2bb195945001c1e6d86658ace159a new file mode 100644 index 0000000..b5a6714 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/a0b2bb195945001c1e6d86658ace159a @@ -0,0 +1,5 @@ +package com.use.jar; + +public class TestUseJar { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b4/40bb8dfcb346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/b4/40bb8dfcb346001c137a95b836e30a66 new file mode 100644 index 0000000..f7f6524 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b4/40bb8dfcb346001c137a95b836e30a66 @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b4/60eeaec28d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/b4/60eeaec28d46001c137a95b836e30a66 new file mode 100644 index 0000000..5fc8a27 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b4/60eeaec28d46001c137a95b836e30a66 @@ -0,0 +1,13 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + EchoWS service = new EchoWS(); + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/40b8cccb5945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/b6/40b8cccb5945001c1e6d86658ace159a new file mode 100644 index 0000000..fc18936 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b6/40b8cccb5945001c1e6d86658ace159a @@ -0,0 +1,16 @@ +package com.use.jar; + +import com.manhkm.jar.FunctionOne; + +public class TestUseJar { + + public static void main(String[] args) { + + } + + public static void usingFunction() { + FunctionOne functionOne = new FunctionOne(); + functionOne.add2(10, 20); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b7/903ce740eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/b7/903ce740eb45001c11de97d36a89b06b new file mode 100644 index 0000000..a64dfd8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b7/903ce740eb45001c11de97d36a89b06b @@ -0,0 +1,9 @@ +package com.ioc.entity; + +public class Girl { + + private Outfit outfit; + public Girl(Outfit anything) { + outfit = new Bikini(); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b8/8091973ceb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/b8/8091973ceb45001c11de97d36a89b06b new file mode 100644 index 0000000..3243e4b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b8/8091973ceb45001c11de97d36a89b06b @@ -0,0 +1,9 @@ +package com.ioc.entity; + +public class Girl { + + private Outfit outfit; + public Girl() { + outfit = new Bikini(); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ba/50d656b78c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ba/50d656b78c46001c137a95b836e30a66 new file mode 100644 index 0000000..8728511 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ba/50d656b78c46001c137a95b836e30a66 @@ -0,0 +1,17 @@ +package ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; + +@WebService +public class EchoWS { + + @WebMethod + public String echo(String s) { + return "Echo: " + s; + } + + public static void main(String[] agrs) { + System.out.println("EchoWS up and running..."); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ba/a0d27877b346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ba/a0d27877b346001c137a95b836e30a66 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ba/f0bd3b038e46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ba/f0bd3b038e46001c137a95b836e30a66 new file mode 100644 index 0000000..6a3cb0b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ba/f0bd3b038e46001c137a95b836e30a66 @@ -0,0 +1,18 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + EchoWSService service = new EchoWSService(); + EchoWS port = service.getEchoWSPort(); + String res = null; + if(args.length == 0) { + res = port.echo("Testing WebService"); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bb/30062829d546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/bb/30062829d546001c137a95b836e30a66 new file mode 100644 index 0000000..01c3ca5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/bb/30062829d546001c137a95b836e30a66 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bb/706f56f88d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/bb/706f56f88d46001c137a95b836e30a66 new file mode 100644 index 0000000..8829f5f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/bb/706f56f88d46001c137a95b836e30a66 @@ -0,0 +1,18 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + EchoWSService service = new EchoWSService(); + EchoWS port = service.getEchoWSPort(); + String res = null; + if(args.length == 0) { + res = port.echo("Testing WebService") + } + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bb/9076abd26248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/bb/9076abd26248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..e677419 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/bb/9076abd26248001c1eb1b6cc5fdf9661 @@ -0,0 +1,12 @@ +package com.gpcoder; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "user") +public class User { + + private Integer id; + private String username; + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/f0cbe34de345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/f0cbe34de345001c11de97d36a89b06b new file mode 100644 index 0000000..09e0272 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/f0cbe34de345001c11de97d36a89b06b @@ -0,0 +1,7 @@ +package com.tight.coupling.services; + +import com.tight.coupling.SortAlgorithm; + +public class VeryComplexService { + private SortAlgorithm sortAlgorithm; +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bf/907f2629d546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/bf/907f2629d546001c137a95b836e30a66 new file mode 100644 index 0000000..0eff1cf --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/bf/907f2629d546001c137a95b836e30a66 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bf/b062e180e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/bf/b062e180e345001c11de97d36a89b06b new file mode 100644 index 0000000..0760b0b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/bf/b062e180e345001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling; + +public class Main { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c/10578700b446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/c/10578700b446001c137a95b836e30a66 new file mode 100644 index 0000000..f81d0fb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c/10578700b446001c137a95b836e30a66 @@ -0,0 +1,5 @@ + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c/50b26b03b446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/c/50b26b03b446001c137a95b836e30a66 new file mode 100644 index 0000000..4b7a5a1 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c/50b26b03b446001c137a95b836e30a66 @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +encoding//src/main/java/com/webservice/HelloWorld.java=UTF-8 +encoding//src/main/java/com/webservice/HelloWorldService.java=UTF-8 +encoding//src/main/java/com/webservice/HelloWorldSoapBindingStub.java=UTF-8 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c/60db915ac646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/c/60db915ac646001c137a95b836e30a66 new file mode 100644 index 0000000..834f712 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c/60db915ac646001c137a95b836e30a66 @@ -0,0 +1,26 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + public User() { + + } + + + + + + // set-get: + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c/90e28f00b446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/c/90e28f00b446001c137a95b836e30a66 new file mode 100644 index 0000000..b2029ff --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c/90e28f00b446001c137a95b836e30a66 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c/f03d9079d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/c/f03d9079d446001c137a95b836e30a66 new file mode 100644 index 0000000..cccf5aa --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c/f03d9079d446001c137a95b836e30a66 @@ -0,0 +1,33 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + + // create a service instance with the specified WSDL. + Service service = Service.create(wsdlURL, qname); + + // we need to pass interface and model beans to client: + UserService userService = service.getPort(UserService.class); + + User user1 = new User(1, "manhkm"); + User user2 = new User(2, "trangtt"); + User user3 = new User(3, "thanglv"); + + userService.insert(user1); + userService.insert(user2); + userService.insert(user3); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c1/50243898eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/c1/50243898eb45001c11de97d36a89b06b new file mode 100644 index 0000000..7c37353 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c1/50243898eb45001c11de97d36a89b06b @@ -0,0 +1,14 @@ +package com.ioc; + +import com.ioc.entity.Bikini; +import com.ioc.entity.Girl; +import com.ioc.entity.Outfit; + +public class Main { + public static void main(String[] args) { + Outfit bikini = new Bikini(); + + Girl girl1 = new Girl(bikini); + girl1.getOutfit() + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c1/b084d5288842001c1cbc975586bbcf20 b/.metadata/.plugins/org.eclipse.core.resources/.history/c1/b084d5288842001c1cbc975586bbcf20 new file mode 100644 index 0000000..cc43a55 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c1/b084d5288842001c1cbc975586bbcf20 @@ -0,0 +1,15 @@ +package com.demo; + +public class StringBuffer { + public static void main(String[] args) { + long start = System.nanoTime(); + + StringBuffer s = new StringBuffer("hello"); + for(int i = 0; i < 1000; i++) { + s.append + } + long end = System.nanoTime(); + + System.out.println("Total time: " + (end-start)); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c2/50d58c00b446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/c2/50d58c00b446001c137a95b836e30a66 new file mode 100644 index 0000000..598a58f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c2/50d58c00b446001c137a95b836e30a66 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c3/403d8a00b446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/c3/403d8a00b446001c137a95b836e30a66 new file mode 100644 index 0000000..55b9df2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c3/403d8a00b446001c137a95b836e30a66 @@ -0,0 +1,6 @@ + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c4/90d1c9078e46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/c4/90d1c9078e46001c137a95b836e30a66 new file mode 100644 index 0000000..f6e7a2d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c4/90d1c9078e46001c137a95b836e30a66 @@ -0,0 +1,20 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + EchoWSService service = new EchoWSService(); + EchoWS port = service.getEchoWSPort(); + String res = null; + if(args.length == 0) { + res = port.echo("Testing WebService"); + } else { + res = port.echo(args[0]); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c5/f0905646c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/c5/f0905646c646001c137a95b836e30a66 new file mode 100644 index 0000000..ccd8239 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c5/f0905646c646001c137a95b836e30a66 @@ -0,0 +1,13 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + + // set-get: + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c7/605711f0c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/c7/605711f0c646001c137a95b836e30a66 new file mode 100644 index 0000000..2448fc0 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c7/605711f0c646001c137a95b836e30a66 @@ -0,0 +1,9 @@ +package com.webservice.ws; + +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cc/201a619fc746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/201a619fc746001c137a95b836e30a66 new file mode 100644 index 0000000..5ef7ceb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/201a619fc746001c137a95b836e30a66 @@ -0,0 +1,50 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + return 0; + } + + private Integer generateUniqueId() { + return USERS.keySet() + .stream() + .max((x1, x2) -> x1 - x2) + .orElse(0) + 1; + } + + @Override + public boolean update(User user) { + return USERS.put(user.getId(), user) != null; + } + + @Override + public boolean delete(int id) { + return USERS.remove(id) != null; + } + + @Override + public User get(int id) { + return USERS.getOrDefault(id, new User()); + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cc/b030608bb346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/b030608bb346001c137a95b836e30a66 new file mode 100644 index 0000000..f89537f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/b030608bb346001c137a95b836e30a66 @@ -0,0 +1,5 @@ +package com.webservice; + +public class HelloWorld { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/101879c08c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/101879c08c46001c137a95b836e30a66 new file mode 100644 index 0000000..f4db908 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/101879c08c46001c137a95b836e30a66 @@ -0,0 +1,18 @@ +package ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; + +@WebService +public class EchoWS { + + @WebMethod + public String echo(String s) { + return "Echo: " + s; + } + + public static void main(String[] agrs) { + System.out.println("EchoWS up and running..."); + String url = "http://192.168.0.5:8888/EchoWS"; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/10d8bf4dc646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/10d8bf4dc646001c137a95b836e30a66 new file mode 100644 index 0000000..5f421eb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/10d8bf4dc646001c137a95b836e30a66 @@ -0,0 +1,15 @@ +package com.webservice.ws; + +public class User { + + private Integer id; + private String username; + + // constructor: + + + + // set-get: + + // toString: +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/20d28617d646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/20d28617d646001c137a95b836e30a66 new file mode 100644 index 0000000..e1539fa --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/20d28617d646001c137a95b836e30a66 @@ -0,0 +1,29 @@ +package com.webservice.ws; + +/** + * + * @author ManhKM + * wsimport -s . http://localhost:8089/ws/users?wsdl + * + */ +public class SoapClient { + public static void main(String[] args) { + UserServiceImplService userServiceImplService = new UserServiceImplService(); + UserService userService = userServiceImplService.getUserServiceImplPort(); + + User user1 = new User(); + user1.setId(100); + user1.setUsername("alibaba"); + + User user2 = new User(); + user2.setId(101); + user2.setUsername("tom"); + + User user3 = new User(); + user3.setId(102); + user3.setUsername("jery"); + + + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/301844c58d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/301844c58d46001c137a95b836e30a66 new file mode 100644 index 0000000..f147583 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/301844c58d46001c137a95b836e30a66 @@ -0,0 +1,13 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + EchoWSService service = new EchoWS(); + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/c08c4f09c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/c08c4f09c646001c137a95b836e30a66 new file mode 100644 index 0000000..cebbd22 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/c08c4f09c646001c137a95b836e30a66 @@ -0,0 +1,3 @@ + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ce/406805d3b346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ce/406805d3b346001c137a95b836e30a66 new file mode 100644 index 0000000..e2d4766 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ce/406805d3b346001c137a95b836e30a66 @@ -0,0 +1,12 @@ + + + SoapWebServiceExample + + index.html + index.htm + index.jsp + default.html + default.htm + default.jsp + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ce/a054d57cc546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ce/a054d57cc546001c137a95b836e30a66 new file mode 100644 index 0000000..1651be8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ce/a054d57cc546001c137a95b836e30a66 @@ -0,0 +1,4726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default + org.apache.catalina.servlets.DefaultServlet + + debug + 0 + + + listings + false + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jsp + org.apache.jasper.servlet.JspServlet + + fork + false + + + xpoweredBy + false + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default + / + + + + + jsp + *.jsp + *.jspx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + + + + + + + + + + + + + 123 + application/vnd.lotus-1-2-3 + + + 3dml + text/vnd.in3d.3dml + + + 3ds + image/x-3ds + + + 3g2 + video/3gpp2 + + + 3gp + video/3gpp + + + 7z + application/x-7z-compressed + + + aab + application/x-authorware-bin + + + aac + audio/x-aac + + + aam + application/x-authorware-map + + + aas + application/x-authorware-seg + + + abs + audio/x-mpeg + + + abw + application/x-abiword + + + ac + application/pkix-attr-cert + + + acc + application/vnd.americandynamics.acc + + + ace + application/x-ace-compressed + + + acu + application/vnd.acucobol + + + acutc + application/vnd.acucorp + + + adp + audio/adpcm + + + aep + application/vnd.audiograph + + + afm + application/x-font-type1 + + + afp + application/vnd.ibm.modcap + + + ahead + application/vnd.ahead.space + + + ai + application/postscript + + + aif + audio/x-aiff + + + aifc + audio/x-aiff + + + aiff + audio/x-aiff + + + aim + application/x-aim + + + air + application/vnd.adobe.air-application-installer-package+zip + + + ait + application/vnd.dvb.ait + + + ami + application/vnd.amiga.ami + + + anx + application/annodex + + + apk + application/vnd.android.package-archive + + + appcache + text/cache-manifest + + + application + application/x-ms-application + + + apr + application/vnd.lotus-approach + + + arc + application/x-freearc + + + art + image/x-jg + + + asc + application/pgp-signature + + + asf + video/x-ms-asf + + + asm + text/x-asm + + + aso + application/vnd.accpac.simply.aso + + + asx + video/x-ms-asf + + + atc + application/vnd.acucorp + + + atom + application/atom+xml + + + atomcat + application/atomcat+xml + + + atomsvc + application/atomsvc+xml + + + atx + application/vnd.antix.game-component + + + au + audio/basic + + + avi + video/x-msvideo + + + avx + video/x-rad-screenplay + + + aw + application/applixware + + + axa + audio/annodex + + + axv + video/annodex + + + azf + application/vnd.airzip.filesecure.azf + + + azs + application/vnd.airzip.filesecure.azs + + + azw + application/vnd.amazon.ebook + + + bat + application/x-msdownload + + + bcpio + application/x-bcpio + + + bdf + application/x-font-bdf + + + bdm + application/vnd.syncml.dm+wbxml + + + bed + application/vnd.realvnc.bed + + + bh2 + application/vnd.fujitsu.oasysprs + + + bin + application/octet-stream + + + blb + application/x-blorb + + + blorb + application/x-blorb + + + bmi + application/vnd.bmi + + + bmp + image/bmp + + + body + text/html + + + book + application/vnd.framemaker + + + box + application/vnd.previewsystems.box + + + boz + application/x-bzip2 + + + bpk + application/octet-stream + + + btif + image/prs.btif + + + bz + application/x-bzip + + + bz2 + application/x-bzip2 + + + c + text/x-c + + + c11amc + application/vnd.cluetrust.cartomobile-config + + + c11amz + application/vnd.cluetrust.cartomobile-config-pkg + + + c4d + application/vnd.clonk.c4group + + + c4f + application/vnd.clonk.c4group + + + c4g + application/vnd.clonk.c4group + + + c4p + application/vnd.clonk.c4group + + + c4u + application/vnd.clonk.c4group + + + cab + application/vnd.ms-cab-compressed + + + caf + audio/x-caf + + + cap + application/vnd.tcpdump.pcap + + + car + application/vnd.curl.car + + + cat + application/vnd.ms-pki.seccat + + + cb7 + application/x-cbr + + + cba + application/x-cbr + + + cbr + application/x-cbr + + + cbt + application/x-cbr + + + cbz + application/x-cbr + + + cc + text/x-c + + + cct + application/x-director + + + ccxml + application/ccxml+xml + + + cdbcmsg + application/vnd.contact.cmsg + + + cdf + application/x-cdf + + + cdkey + application/vnd.mediastation.cdkey + + + cdmia + application/cdmi-capability + + + cdmic + application/cdmi-container + + + cdmid + application/cdmi-domain + + + cdmio + application/cdmi-object + + + cdmiq + application/cdmi-queue + + + cdx + chemical/x-cdx + + + cdxml + application/vnd.chemdraw+xml + + + cdy + application/vnd.cinderella + + + cer + application/pkix-cert + + + cfs + application/x-cfs-compressed + + + cgm + image/cgm + + + chat + application/x-chat + + + chm + application/vnd.ms-htmlhelp + + + chrt + application/vnd.kde.kchart + + + cif + chemical/x-cif + + + cii + application/vnd.anser-web-certificate-issue-initiation + + + cil + application/vnd.ms-artgalry + + + cla + application/vnd.claymore + + + class + application/java + + + clkk + application/vnd.crick.clicker.keyboard + + + clkp + application/vnd.crick.clicker.palette + + + clkt + application/vnd.crick.clicker.template + + + clkw + application/vnd.crick.clicker.wordbank + + + clkx + application/vnd.crick.clicker + + + clp + application/x-msclip + + + cmc + application/vnd.cosmocaller + + + cmdf + chemical/x-cmdf + + + cml + chemical/x-cml + + + cmp + application/vnd.yellowriver-custom-menu + + + cmx + image/x-cmx + + + cod + application/vnd.rim.cod + + + com + application/x-msdownload + + + conf + text/plain + + + cpio + application/x-cpio + + + cpp + text/x-c + + + cpt + application/mac-compactpro + + + crd + application/x-mscardfile + + + crl + application/pkix-crl + + + crt + application/x-x509-ca-cert + + + cryptonote + application/vnd.rig.cryptonote + + + csh + application/x-csh + + + csml + chemical/x-csml + + + csp + application/vnd.commonspace + + + css + text/css + + + cst + application/x-director + + + csv + text/csv + + + cu + application/cu-seeme + + + curl + text/vnd.curl + + + cww + application/prs.cww + + + cxt + application/x-director + + + cxx + text/x-c + + + dae + model/vnd.collada+xml + + + daf + application/vnd.mobius.daf + + + dart + application/vnd.dart + + + dataless + application/vnd.fdsn.seed + + + davmount + application/davmount+xml + + + dbk + application/docbook+xml + + + dcr + application/x-director + + + dcurl + text/vnd.curl.dcurl + + + dd2 + application/vnd.oma.dd2+xml + + + ddd + application/vnd.fujixerox.ddd + + + deb + application/x-debian-package + + + def + text/plain + + + deploy + application/octet-stream + + + der + application/x-x509-ca-cert + + + dfac + application/vnd.dreamfactory + + + dgc + application/x-dgc-compressed + + + dib + image/bmp + + + dic + text/x-c + + + dir + application/x-director + + + dis + application/vnd.mobius.dis + + + dist + application/octet-stream + + + distz + application/octet-stream + + + djv + image/vnd.djvu + + + djvu + image/vnd.djvu + + + dll + application/x-msdownload + + + dmg + application/x-apple-diskimage + + + dmp + application/vnd.tcpdump.pcap + + + dms + application/octet-stream + + + dna + application/vnd.dna + + + doc + application/msword + + + docm + application/vnd.ms-word.document.macroenabled.12 + + + docx + application/vnd.openxmlformats-officedocument.wordprocessingml.document + + + dot + application/msword + + + dotm + application/vnd.ms-word.template.macroenabled.12 + + + dotx + application/vnd.openxmlformats-officedocument.wordprocessingml.template + + + dp + application/vnd.osgi.dp + + + dpg + application/vnd.dpgraph + + + dra + audio/vnd.dra + + + dsc + text/prs.lines.tag + + + dssc + application/dssc+der + + + dtb + application/x-dtbook+xml + + + dtd + application/xml-dtd + + + dts + audio/vnd.dts + + + dtshd + audio/vnd.dts.hd + + + dump + application/octet-stream + + + dv + video/x-dv + + + dvb + video/vnd.dvb.file + + + dvi + application/x-dvi + + + dwf + model/vnd.dwf + + + dwg + image/vnd.dwg + + + dxf + image/vnd.dxf + + + dxp + application/vnd.spotfire.dxp + + + dxr + application/x-director + + + ecelp4800 + audio/vnd.nuera.ecelp4800 + + + ecelp7470 + audio/vnd.nuera.ecelp7470 + + + ecelp9600 + audio/vnd.nuera.ecelp9600 + + + ecma + application/ecmascript + + + edm + application/vnd.novadigm.edm + + + edx + application/vnd.novadigm.edx + + + efif + application/vnd.picsel + + + ei6 + application/vnd.pg.osasli + + + elc + application/octet-stream + + + emf + application/x-msmetafile + + + eml + message/rfc822 + + + emma + application/emma+xml + + + emz + application/x-msmetafile + + + eol + audio/vnd.digital-winds + + + eot + application/vnd.ms-fontobject + + + eps + application/postscript + + + epub + application/epub+zip + + + es3 + application/vnd.eszigno3+xml + + + esa + application/vnd.osgi.subsystem + + + esf + application/vnd.epson.esf + + + et3 + application/vnd.eszigno3+xml + + + etx + text/x-setext + + + eva + application/x-eva + + + evy + application/x-envoy + + + exe + application/octet-stream + + + exi + application/exi + + + ext + application/vnd.novadigm.ext + + + ez + application/andrew-inset + + + ez2 + application/vnd.ezpix-album + + + ez3 + application/vnd.ezpix-package + + + f + text/x-fortran + + + f4v + video/x-f4v + + + f77 + text/x-fortran + + + f90 + text/x-fortran + + + fbs + image/vnd.fastbidsheet + + + fcdt + application/vnd.adobe.formscentral.fcdt + + + fcs + application/vnd.isac.fcs + + + fdf + application/vnd.fdf + + + fe_launch + application/vnd.denovo.fcselayout-link + + + fg5 + application/vnd.fujitsu.oasysgp + + + fgd + application/x-director + + + fh + image/x-freehand + + + fh4 + image/x-freehand + + + fh5 + image/x-freehand + + + fh7 + image/x-freehand + + + fhc + image/x-freehand + + + fig + application/x-xfig + + + flac + audio/flac + + + fli + video/x-fli + + + flo + application/vnd.micrografx.flo + + + flv + video/x-flv + + + flw + application/vnd.kde.kivio + + + flx + text/vnd.fmi.flexstor + + + fly + text/vnd.fly + + + fm + application/vnd.framemaker + + + fnc + application/vnd.frogans.fnc + + + for + text/x-fortran + + + fpx + image/vnd.fpx + + + frame + application/vnd.framemaker + + + fsc + application/vnd.fsc.weblaunch + + + fst + image/vnd.fst + + + ftc + application/vnd.fluxtime.clip + + + fti + application/vnd.anser-web-funds-transfer-initiation + + + fvt + video/vnd.fvt + + + fxp + application/vnd.adobe.fxp + + + fxpl + application/vnd.adobe.fxp + + + fzs + application/vnd.fuzzysheet + + + g2w + application/vnd.geoplan + + + g3 + image/g3fax + + + g3w + application/vnd.geospace + + + gac + application/vnd.groove-account + + + gam + application/x-tads + + + gbr + application/rpki-ghostbusters + + + gca + application/x-gca-compressed + + + gdl + model/vnd.gdl + + + geo + application/vnd.dynageo + + + gex + application/vnd.geometry-explorer + + + ggb + application/vnd.geogebra.file + + + ggt + application/vnd.geogebra.tool + + + ghf + application/vnd.groove-help + + + gif + image/gif + + + gim + application/vnd.groove-identity-message + + + gml + application/gml+xml + + + gmx + application/vnd.gmx + + + gnumeric + application/x-gnumeric + + + gph + application/vnd.flographit + + + gpx + application/gpx+xml + + + gqf + application/vnd.grafeq + + + gqs + application/vnd.grafeq + + + gram + application/srgs + + + gramps + application/x-gramps-xml + + + gre + application/vnd.geometry-explorer + + + grv + application/vnd.groove-injector + + + grxml + application/srgs+xml + + + gsf + application/x-font-ghostscript + + + gtar + application/x-gtar + + + gtm + application/vnd.groove-tool-message + + + gtw + model/vnd.gtw + + + gv + text/vnd.graphviz + + + gxf + application/gxf + + + gxt + application/vnd.geonext + + + gz + application/x-gzip + + + h + text/x-c + + + h261 + video/h261 + + + h263 + video/h263 + + + h264 + video/h264 + + + hal + application/vnd.hal+xml + + + hbci + application/vnd.hbci + + + hdf + application/x-hdf + + + hh + text/x-c + + + hlp + application/winhlp + + + hpgl + application/vnd.hp-hpgl + + + hpid + application/vnd.hp-hpid + + + hps + application/vnd.hp-hps + + + hqx + application/mac-binhex40 + + + htc + text/x-component + + + htke + application/vnd.kenameaapp + + + htm + text/html + + + html + text/html + + + hvd + application/vnd.yamaha.hv-dic + + + hvp + application/vnd.yamaha.hv-voice + + + hvs + application/vnd.yamaha.hv-script + + + i2g + application/vnd.intergeo + + + icc + application/vnd.iccprofile + + + ice + x-conference/x-cooltalk + + + icm + application/vnd.iccprofile + + + ico + image/x-icon + + + ics + text/calendar + + + ief + image/ief + + + ifb + text/calendar + + + ifm + application/vnd.shana.informed.formdata + + + iges + model/iges + + + igl + application/vnd.igloader + + + igm + application/vnd.insors.igm + + + igs + model/iges + + + igx + application/vnd.micrografx.igx + + + iif + application/vnd.shana.informed.interchange + + + imp + application/vnd.accpac.simply.imp + + + ims + application/vnd.ms-ims + + + in + text/plain + + + ink + application/inkml+xml + + + inkml + application/inkml+xml + + + install + application/x-install-instructions + + + iota + application/vnd.astraea-software.iota + + + ipfix + application/ipfix + + + ipk + application/vnd.shana.informed.package + + + irm + application/vnd.ibm.rights-management + + + irp + application/vnd.irepository.package+xml + + + iso + application/x-iso9660-image + + + itp + application/vnd.shana.informed.formtemplate + + + ivp + application/vnd.immervision-ivp + + + ivu + application/vnd.immervision-ivu + + + jad + text/vnd.sun.j2me.app-descriptor + + + jam + application/vnd.jam + + + jar + application/java-archive + + + java + text/x-java-source + + + jisp + application/vnd.jisp + + + jlt + application/vnd.hp-jlyt + + + jnlp + application/x-java-jnlp-file + + + joda + application/vnd.joost.joda-archive + + + jpe + image/jpeg + + + jpeg + image/jpeg + + + jpg + image/jpeg + + + jpgm + video/jpm + + + jpgv + video/jpeg + + + jpm + video/jpm + + + js + application/javascript + + + jsf + text/plain + + + json + application/json + + + jsonml + application/jsonml+json + + + jspf + text/plain + + + kar + audio/midi + + + karbon + application/vnd.kde.karbon + + + kfo + application/vnd.kde.kformula + + + kia + application/vnd.kidspiration + + + kml + application/vnd.google-earth.kml+xml + + + kmz + application/vnd.google-earth.kmz + + + kne + application/vnd.kinar + + + knp + application/vnd.kinar + + + kon + application/vnd.kde.kontour + + + kpr + application/vnd.kde.kpresenter + + + kpt + application/vnd.kde.kpresenter + + + kpxx + application/vnd.ds-keypoint + + + ksp + application/vnd.kde.kspread + + + ktr + application/vnd.kahootz + + + ktx + image/ktx + + + ktz + application/vnd.kahootz + + + kwd + application/vnd.kde.kword + + + kwt + application/vnd.kde.kword + + + lasxml + application/vnd.las.las+xml + + + latex + application/x-latex + + + lbd + application/vnd.llamagraphics.life-balance.desktop + + + lbe + application/vnd.llamagraphics.life-balance.exchange+xml + + + les + application/vnd.hhe.lesson-player + + + lha + application/x-lzh-compressed + + + link66 + application/vnd.route66.link66+xml + + + list + text/plain + + + list3820 + application/vnd.ibm.modcap + + + listafp + application/vnd.ibm.modcap + + + lnk + application/x-ms-shortcut + + + log + text/plain + + + lostxml + application/lost+xml + + + lrf + application/octet-stream + + + lrm + application/vnd.ms-lrm + + + ltf + application/vnd.frogans.ltf + + + lvp + audio/vnd.lucent.voice + + + lwp + application/vnd.lotus-wordpro + + + lzh + application/x-lzh-compressed + + + m13 + application/x-msmediaview + + + m14 + application/x-msmediaview + + + m1v + video/mpeg + + + m21 + application/mp21 + + + m2a + audio/mpeg + + + m2v + video/mpeg + + + m3a + audio/mpeg + + + m3u + audio/x-mpegurl + + + m3u8 + application/vnd.apple.mpegurl + + + m4a + audio/mp4 + + + m4b + audio/mp4 + + + m4r + audio/mp4 + + + m4u + video/vnd.mpegurl + + + m4v + video/mp4 + + + ma + application/mathematica + + + mac + image/x-macpaint + + + mads + application/mads+xml + + + mag + application/vnd.ecowin.chart + + + maker + application/vnd.framemaker + + + man + text/troff + + + mar + application/octet-stream + + + mathml + application/mathml+xml + + + mb + application/mathematica + + + mbk + application/vnd.mobius.mbk + + + mbox + application/mbox + + + mc1 + application/vnd.medcalcdata + + + mcd + application/vnd.mcd + + + mcurl + text/vnd.curl.mcurl + + + mdb + application/x-msaccess + + + mdi + image/vnd.ms-modi + + + me + text/troff + + + mesh + model/mesh + + + meta4 + application/metalink4+xml + + + metalink + application/metalink+xml + + + mets + application/mets+xml + + + mfm + application/vnd.mfmp + + + mft + application/rpki-manifest + + + mgp + application/vnd.osgeo.mapguide.package + + + mgz + application/vnd.proteus.magazine + + + mid + audio/midi + + + midi + audio/midi + + + mie + application/x-mie + + + mif + application/x-mif + + + mime + message/rfc822 + + + mj2 + video/mj2 + + + mjp2 + video/mj2 + + + mk3d + video/x-matroska + + + mka + audio/x-matroska + + + mks + video/x-matroska + + + mkv + video/x-matroska + + + mlp + application/vnd.dolby.mlp + + + mmd + application/vnd.chipnuts.karaoke-mmd + + + mmf + application/vnd.smaf + + + mmr + image/vnd.fujixerox.edmics-mmr + + + mng + video/x-mng + + + mny + application/x-msmoney + + + mobi + application/x-mobipocket-ebook + + + mods + application/mods+xml + + + mov + video/quicktime + + + movie + video/x-sgi-movie + + + mp1 + audio/mpeg + + + mp2 + audio/mpeg + + + mp21 + application/mp21 + + + mp2a + audio/mpeg + + + mp3 + audio/mpeg + + + mp4 + video/mp4 + + + mp4a + audio/mp4 + + + mp4s + application/mp4 + + + mp4v + video/mp4 + + + mpa + audio/mpeg + + + mpc + application/vnd.mophun.certificate + + + mpe + video/mpeg + + + mpeg + video/mpeg + + + mpega + audio/x-mpeg + + + mpg + video/mpeg + + + mpg4 + video/mp4 + + + mpga + audio/mpeg + + + mpkg + application/vnd.apple.installer+xml + + + mpm + application/vnd.blueice.multipass + + + mpn + application/vnd.mophun.application + + + mpp + application/vnd.ms-project + + + mpt + application/vnd.ms-project + + + mpv2 + video/mpeg2 + + + mpy + application/vnd.ibm.minipay + + + mqy + application/vnd.mobius.mqy + + + mrc + application/marc + + + mrcx + application/marcxml+xml + + + ms + text/troff + + + mscml + application/mediaservercontrol+xml + + + mseed + application/vnd.fdsn.mseed + + + mseq + application/vnd.mseq + + + msf + application/vnd.epson.msf + + + msh + model/mesh + + + msi + application/x-msdownload + + + msl + application/vnd.mobius.msl + + + msty + application/vnd.muvee.style + + + mts + model/vnd.mts + + + mus + application/vnd.musician + + + musicxml + application/vnd.recordare.musicxml+xml + + + mvb + application/x-msmediaview + + + mwf + application/vnd.mfer + + + mxf + application/mxf + + + mxl + application/vnd.recordare.musicxml + + + mxml + application/xv+xml + + + mxs + application/vnd.triscape.mxs + + + mxu + video/vnd.mpegurl + + + n-gage + application/vnd.nokia.n-gage.symbian.install + + + n3 + text/n3 + + + nb + application/mathematica + + + nbp + application/vnd.wolfram.player + + + nc + application/x-netcdf + + + ncx + application/x-dtbncx+xml + + + nfo + text/x-nfo + + + ngdat + application/vnd.nokia.n-gage.data + + + nitf + application/vnd.nitf + + + nlu + application/vnd.neurolanguage.nlu + + + nml + application/vnd.enliven + + + nnd + application/vnd.noblenet-directory + + + nns + application/vnd.noblenet-sealer + + + nnw + application/vnd.noblenet-web + + + npx + image/vnd.net-fpx + + + nsc + application/x-conference + + + nsf + application/vnd.lotus-notes + + + ntf + application/vnd.nitf + + + nzb + application/x-nzb + + + oa2 + application/vnd.fujitsu.oasys2 + + + oa3 + application/vnd.fujitsu.oasys3 + + + oas + application/vnd.fujitsu.oasys + + + obd + application/x-msbinder + + + obj + application/x-tgif + + + oda + application/oda + + + + odb + application/vnd.oasis.opendocument.database + + + + odc + application/vnd.oasis.opendocument.chart + + + + odf + application/vnd.oasis.opendocument.formula + + + odft + application/vnd.oasis.opendocument.formula-template + + + + odg + application/vnd.oasis.opendocument.graphics + + + + odi + application/vnd.oasis.opendocument.image + + + + odm + application/vnd.oasis.opendocument.text-master + + + + odp + application/vnd.oasis.opendocument.presentation + + + + ods + application/vnd.oasis.opendocument.spreadsheet + + + + odt + application/vnd.oasis.opendocument.text + + + oga + audio/ogg + + + ogg + audio/ogg + + + ogv + video/ogg + + + + ogx + application/ogg + + + omdoc + application/omdoc+xml + + + onepkg + application/onenote + + + onetmp + application/onenote + + + onetoc + application/onenote + + + onetoc2 + application/onenote + + + opf + application/oebps-package+xml + + + opml + text/x-opml + + + oprc + application/vnd.palm + + + org + application/vnd.lotus-organizer + + + osf + application/vnd.yamaha.openscoreformat + + + osfpvg + application/vnd.yamaha.openscoreformat.osfpvg+xml + + + otc + application/vnd.oasis.opendocument.chart-template + + + otf + font/otf + + + + otg + application/vnd.oasis.opendocument.graphics-template + + + + oth + application/vnd.oasis.opendocument.text-web + + + oti + application/vnd.oasis.opendocument.image-template + + + + otp + application/vnd.oasis.opendocument.presentation-template + + + + ots + application/vnd.oasis.opendocument.spreadsheet-template + + + + ott + application/vnd.oasis.opendocument.text-template + + + oxps + application/oxps + + + oxt + application/vnd.openofficeorg.extension + + + p + text/x-pascal + + + p10 + application/pkcs10 + + + p12 + application/x-pkcs12 + + + p7b + application/x-pkcs7-certificates + + + p7c + application/pkcs7-mime + + + p7m + application/pkcs7-mime + + + p7r + application/x-pkcs7-certreqresp + + + p7s + application/pkcs7-signature + + + p8 + application/pkcs8 + + + pas + text/x-pascal + + + paw + application/vnd.pawaafile + + + pbd + application/vnd.powerbuilder6 + + + pbm + image/x-portable-bitmap + + + pcap + application/vnd.tcpdump.pcap + + + pcf + application/x-font-pcf + + + pcl + application/vnd.hp-pcl + + + pclxl + application/vnd.hp-pclxl + + + pct + image/pict + + + pcurl + application/vnd.curl.pcurl + + + pcx + image/x-pcx + + + pdb + application/vnd.palm + + + pdf + application/pdf + + + pfa + application/x-font-type1 + + + pfb + application/x-font-type1 + + + pfm + application/x-font-type1 + + + pfr + application/font-tdpfr + + + pfx + application/x-pkcs12 + + + pgm + image/x-portable-graymap + + + pgn + application/x-chess-pgn + + + pgp + application/pgp-encrypted + + + pic + image/pict + + + pict + image/pict + + + pkg + application/octet-stream + + + pki + application/pkixcmp + + + pkipath + application/pkix-pkipath + + + plb + application/vnd.3gpp.pic-bw-large + + + plc + application/vnd.mobius.plc + + + plf + application/vnd.pocketlearn + + + pls + audio/x-scpls + + + pml + application/vnd.ctc-posml + + + png + image/png + + + pnm + image/x-portable-anymap + + + pnt + image/x-macpaint + + + portpkg + application/vnd.macports.portpkg + + + pot + application/vnd.ms-powerpoint + + + potm + application/vnd.ms-powerpoint.template.macroenabled.12 + + + potx + application/vnd.openxmlformats-officedocument.presentationml.template + + + ppam + application/vnd.ms-powerpoint.addin.macroenabled.12 + + + ppd + application/vnd.cups-ppd + + + ppm + image/x-portable-pixmap + + + pps + application/vnd.ms-powerpoint + + + ppsm + application/vnd.ms-powerpoint.slideshow.macroenabled.12 + + + ppsx + application/vnd.openxmlformats-officedocument.presentationml.slideshow + + + ppt + application/vnd.ms-powerpoint + + + pptm + application/vnd.ms-powerpoint.presentation.macroenabled.12 + + + pptx + application/vnd.openxmlformats-officedocument.presentationml.presentation + + + pqa + application/vnd.palm + + + prc + application/x-mobipocket-ebook + + + pre + application/vnd.lotus-freelance + + + prf + application/pics-rules + + + ps + application/postscript + + + psb + application/vnd.3gpp.pic-bw-small + + + psd + image/vnd.adobe.photoshop + + + psf + application/x-font-linux-psf + + + pskcxml + application/pskc+xml + + + ptid + application/vnd.pvi.ptid1 + + + pub + application/x-mspublisher + + + pvb + application/vnd.3gpp.pic-bw-var + + + pwn + application/vnd.3m.post-it-notes + + + pya + audio/vnd.ms-playready.media.pya + + + pyv + video/vnd.ms-playready.media.pyv + + + qam + application/vnd.epson.quickanime + + + qbo + application/vnd.intu.qbo + + + qfx + application/vnd.intu.qfx + + + qps + application/vnd.publishare-delta-tree + + + qt + video/quicktime + + + qti + image/x-quicktime + + + qtif + image/x-quicktime + + + qwd + application/vnd.quark.quarkxpress + + + qwt + application/vnd.quark.quarkxpress + + + qxb + application/vnd.quark.quarkxpress + + + qxd + application/vnd.quark.quarkxpress + + + qxl + application/vnd.quark.quarkxpress + + + qxt + application/vnd.quark.quarkxpress + + + ra + audio/x-pn-realaudio + + + ram + audio/x-pn-realaudio + + + rar + application/x-rar-compressed + + + ras + image/x-cmu-raster + + + rcprofile + application/vnd.ipunplugged.rcprofile + + + rdf + application/rdf+xml + + + rdz + application/vnd.data-vision.rdz + + + rep + application/vnd.businessobjects + + + res + application/x-dtbresource+xml + + + rgb + image/x-rgb + + + rif + application/reginfo+xml + + + rip + audio/vnd.rip + + + ris + application/x-research-info-systems + + + rl + application/resource-lists+xml + + + rlc + image/vnd.fujixerox.edmics-rlc + + + rld + application/resource-lists-diff+xml + + + rm + application/vnd.rn-realmedia + + + rmi + audio/midi + + + rmp + audio/x-pn-realaudio-plugin + + + rms + application/vnd.jcp.javame.midlet-rms + + + rmvb + application/vnd.rn-realmedia-vbr + + + rnc + application/relax-ng-compact-syntax + + + roa + application/rpki-roa + + + roff + text/troff + + + rp9 + application/vnd.cloanto.rp9 + + + rpss + application/vnd.nokia.radio-presets + + + rpst + application/vnd.nokia.radio-preset + + + rq + application/sparql-query + + + rs + application/rls-services+xml + + + rsd + application/rsd+xml + + + rss + application/rss+xml + + + rtf + application/rtf + + + rtx + text/richtext + + + s + text/x-asm + + + s3m + audio/s3m + + + saf + application/vnd.yamaha.smaf-audio + + + sbml + application/sbml+xml + + + sc + application/vnd.ibm.secure-container + + + scd + application/x-msschedule + + + scm + application/vnd.lotus-screencam + + + scq + application/scvp-cv-request + + + scs + application/scvp-cv-response + + + scurl + text/vnd.curl.scurl + + + sda + application/vnd.stardivision.draw + + + sdc + application/vnd.stardivision.calc + + + sdd + application/vnd.stardivision.impress + + + sdkd + application/vnd.solent.sdkm+xml + + + sdkm + application/vnd.solent.sdkm+xml + + + sdp + application/sdp + + + sdw + application/vnd.stardivision.writer + + + see + application/vnd.seemail + + + seed + application/vnd.fdsn.seed + + + sema + application/vnd.sema + + + semd + application/vnd.semd + + + semf + application/vnd.semf + + + ser + application/java-serialized-object + + + setpay + application/set-payment-initiation + + + setreg + application/set-registration-initiation + + + sfd-hdstx + application/vnd.hydrostatix.sof-data + + + sfs + application/vnd.spotfire.sfs + + + sfv + text/x-sfv + + + sgi + image/sgi + + + sgl + application/vnd.stardivision.writer-global + + + sgm + text/sgml + + + sgml + text/sgml + + + sh + application/x-sh + + + shar + application/x-shar + + + shf + application/shf+xml + + + + sid + image/x-mrsid-image + + + sig + application/pgp-signature + + + sil + audio/silk + + + silo + model/mesh + + + sis + application/vnd.symbian.install + + + sisx + application/vnd.symbian.install + + + sit + application/x-stuffit + + + sitx + application/x-stuffitx + + + skd + application/vnd.koan + + + skm + application/vnd.koan + + + skp + application/vnd.koan + + + skt + application/vnd.koan + + + sldm + application/vnd.ms-powerpoint.slide.macroenabled.12 + + + sldx + application/vnd.openxmlformats-officedocument.presentationml.slide + + + slt + application/vnd.epson.salt + + + sm + application/vnd.stepmania.stepchart + + + smf + application/vnd.stardivision.math + + + smi + application/smil+xml + + + smil + application/smil+xml + + + smv + video/x-smv + + + smzip + application/vnd.stepmania.package + + + snd + audio/basic + + + snf + application/x-font-snf + + + so + application/octet-stream + + + spc + application/x-pkcs7-certificates + + + spf + application/vnd.yamaha.smaf-phrase + + + spl + application/x-futuresplash + + + spot + text/vnd.in3d.spot + + + spp + application/scvp-vp-response + + + spq + application/scvp-vp-request + + + spx + audio/ogg + + + sql + application/x-sql + + + src + application/x-wais-source + + + srt + application/x-subrip + + + sru + application/sru+xml + + + srx + application/sparql-results+xml + + + ssdl + application/ssdl+xml + + + sse + application/vnd.kodak-descriptor + + + ssf + application/vnd.epson.ssf + + + ssml + application/ssml+xml + + + st + application/vnd.sailingtracker.track + + + stc + application/vnd.sun.xml.calc.template + + + std + application/vnd.sun.xml.draw.template + + + stf + application/vnd.wt.stf + + + sti + application/vnd.sun.xml.impress.template + + + stk + application/hyperstudio + + + stl + application/vnd.ms-pki.stl + + + str + application/vnd.pg.format + + + stw + application/vnd.sun.xml.writer.template + + + sub + text/vnd.dvb.subtitle + + + sus + application/vnd.sus-calendar + + + susp + application/vnd.sus-calendar + + + sv4cpio + application/x-sv4cpio + + + sv4crc + application/x-sv4crc + + + svc + application/vnd.dvb.service + + + svd + application/vnd.svd + + + svg + image/svg+xml + + + svgz + image/svg+xml + + + swa + application/x-director + + + swf + application/x-shockwave-flash + + + swi + application/vnd.aristanetworks.swi + + + sxc + application/vnd.sun.xml.calc + + + sxd + application/vnd.sun.xml.draw + + + sxg + application/vnd.sun.xml.writer.global + + + sxi + application/vnd.sun.xml.impress + + + sxm + application/vnd.sun.xml.math + + + sxw + application/vnd.sun.xml.writer + + + t + text/troff + + + t3 + application/x-t3vm-image + + + taglet + application/vnd.mynfc + + + tao + application/vnd.tao.intent-module-archive + + + tar + application/x-tar + + + tcap + application/vnd.3gpp2.tcap + + + tcl + application/x-tcl + + + teacher + application/vnd.smart.teacher + + + tei + application/tei+xml + + + teicorpus + application/tei+xml + + + tex + application/x-tex + + + texi + application/x-texinfo + + + texinfo + application/x-texinfo + + + text + text/plain + + + tfi + application/thraud+xml + + + tfm + application/x-tex-tfm + + + tga + image/x-tga + + + thmx + application/vnd.ms-officetheme + + + tif + image/tiff + + + tiff + image/tiff + + + tmo + application/vnd.tmobile-livetv + + + torrent + application/x-bittorrent + + + tpl + application/vnd.groove-tool-template + + + tpt + application/vnd.trid.tpt + + + tr + text/troff + + + tra + application/vnd.trueapp + + + trm + application/x-msterminal + + + tsd + application/timestamped-data + + + tsv + text/tab-separated-values + + + ttc + font/collection + + + ttf + font/ttf + + + ttl + text/turtle + + + twd + application/vnd.simtech-mindmapper + + + twds + application/vnd.simtech-mindmapper + + + txd + application/vnd.genomatix.tuxedo + + + txf + application/vnd.mobius.txf + + + txt + text/plain + + + u32 + application/x-authorware-bin + + + udeb + application/x-debian-package + + + ufd + application/vnd.ufdl + + + ufdl + application/vnd.ufdl + + + ulw + audio/basic + + + ulx + application/x-glulx + + + umj + application/vnd.umajin + + + unityweb + application/vnd.unity + + + uoml + application/vnd.uoml+xml + + + uri + text/uri-list + + + uris + text/uri-list + + + urls + text/uri-list + + + ustar + application/x-ustar + + + utz + application/vnd.uiq.theme + + + uu + text/x-uuencode + + + uva + audio/vnd.dece.audio + + + uvd + application/vnd.dece.data + + + uvf + application/vnd.dece.data + + + uvg + image/vnd.dece.graphic + + + uvh + video/vnd.dece.hd + + + uvi + image/vnd.dece.graphic + + + uvm + video/vnd.dece.mobile + + + uvp + video/vnd.dece.pd + + + uvs + video/vnd.dece.sd + + + uvt + application/vnd.dece.ttml+xml + + + uvu + video/vnd.uvvu.mp4 + + + uvv + video/vnd.dece.video + + + uvva + audio/vnd.dece.audio + + + uvvd + application/vnd.dece.data + + + uvvf + application/vnd.dece.data + + + uvvg + image/vnd.dece.graphic + + + uvvh + video/vnd.dece.hd + + + uvvi + image/vnd.dece.graphic + + + uvvm + video/vnd.dece.mobile + + + uvvp + video/vnd.dece.pd + + + uvvs + video/vnd.dece.sd + + + uvvt + application/vnd.dece.ttml+xml + + + uvvu + video/vnd.uvvu.mp4 + + + uvvv + video/vnd.dece.video + + + uvvx + application/vnd.dece.unspecified + + + uvvz + application/vnd.dece.zip + + + uvx + application/vnd.dece.unspecified + + + uvz + application/vnd.dece.zip + + + vcard + text/vcard + + + vcd + application/x-cdlink + + + vcf + text/x-vcard + + + vcg + application/vnd.groove-vcard + + + vcs + text/x-vcalendar + + + vcx + application/vnd.vcx + + + vis + application/vnd.visionary + + + viv + video/vnd.vivo + + + vob + video/x-ms-vob + + + vor + application/vnd.stardivision.writer + + + vox + application/x-authorware-bin + + + vrml + model/vrml + + + vsd + application/vnd.visio + + + vsf + application/vnd.vsf + + + vss + application/vnd.visio + + + vst + application/vnd.visio + + + vsw + application/vnd.visio + + + vtu + model/vnd.vtu + + + vxml + application/voicexml+xml + + + w3d + application/x-director + + + wad + application/x-doom + + + wasm + application/wasm + + + wav + audio/x-wav + + + wax + audio/x-ms-wax + + + + wbmp + image/vnd.wap.wbmp + + + wbs + application/vnd.criticaltools.wbs+xml + + + wbxml + application/vnd.wap.wbxml + + + wcm + application/vnd.ms-works + + + wdb + application/vnd.ms-works + + + wdp + image/vnd.ms-photo + + + weba + audio/webm + + + webm + video/webm + + + webp + image/webp + + + wg + application/vnd.pmi.widget + + + wgt + application/widget + + + wks + application/vnd.ms-works + + + wm + video/x-ms-wm + + + wma + audio/x-ms-wma + + + wmd + application/x-ms-wmd + + + wmf + application/x-msmetafile + + + + wml + text/vnd.wap.wml + + + + wmlc + application/vnd.wap.wmlc + + + + wmls + text/vnd.wap.wmlscript + + + + wmlsc + application/vnd.wap.wmlscriptc + + + wmv + video/x-ms-wmv + + + wmx + video/x-ms-wmx + + + wmz + application/x-msmetafile + + + woff + font/woff + + + woff2 + font/woff2 + + + wpd + application/vnd.wordperfect + + + wpl + application/vnd.ms-wpl + + + wps + application/vnd.ms-works + + + wqd + application/vnd.wqd + + + wri + application/x-mswrite + + + wrl + model/vrml + + + wsdl + application/wsdl+xml + + + wspolicy + application/wspolicy+xml + + + wtb + application/vnd.webturbo + + + wvx + video/x-ms-wvx + + + x32 + application/x-authorware-bin + + + x3d + model/x3d+xml + + + x3db + model/x3d+binary + + + x3dbz + model/x3d+binary + + + x3dv + model/x3d+vrml + + + x3dvz + model/x3d+vrml + + + x3dz + model/x3d+xml + + + xaml + application/xaml+xml + + + xap + application/x-silverlight-app + + + xar + application/vnd.xara + + + xbap + application/x-ms-xbap + + + xbd + application/vnd.fujixerox.docuworks.binder + + + xbm + image/x-xbitmap + + + xdf + application/xcap-diff+xml + + + xdm + application/vnd.syncml.dm+xml + + + xdp + application/vnd.adobe.xdp+xml + + + xdssc + application/dssc+xml + + + xdw + application/vnd.fujixerox.docuworks + + + xenc + application/xenc+xml + + + xer + application/patch-ops-error+xml + + + xfdf + application/vnd.adobe.xfdf + + + xfdl + application/vnd.xfdl + + + xht + application/xhtml+xml + + + xhtml + application/xhtml+xml + + + xhvml + application/xv+xml + + + xif + image/vnd.xiff + + + xla + application/vnd.ms-excel + + + xlam + application/vnd.ms-excel.addin.macroenabled.12 + + + xlc + application/vnd.ms-excel + + + xlf + application/x-xliff+xml + + + xlm + application/vnd.ms-excel + + + xls + application/vnd.ms-excel + + + xlsb + application/vnd.ms-excel.sheet.binary.macroenabled.12 + + + xlsm + application/vnd.ms-excel.sheet.macroenabled.12 + + + xlsx + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + + + xlt + application/vnd.ms-excel + + + xltm + application/vnd.ms-excel.template.macroenabled.12 + + + xltx + application/vnd.openxmlformats-officedocument.spreadsheetml.template + + + xlw + application/vnd.ms-excel + + + xm + audio/xm + + + xml + application/xml + + + xo + application/vnd.olpc-sugar + + + xop + application/xop+xml + + + xpi + application/x-xpinstall + + + xpl + application/xproc+xml + + + xpm + image/x-xpixmap + + + xpr + application/vnd.is-xpr + + + xps + application/vnd.ms-xpsdocument + + + xpw + application/vnd.intercon.formnet + + + xpx + application/vnd.intercon.formnet + + + xsl + application/xml + + + xslt + application/xslt+xml + + + xsm + application/vnd.syncml+xml + + + xspf + application/xspf+xml + + + xul + application/vnd.mozilla.xul+xml + + + xvm + application/xv+xml + + + xvml + application/xv+xml + + + xwd + image/x-xwindowdump + + + xyz + chemical/x-xyz + + + xz + application/x-xz + + + yang + application/yang + + + yin + application/yin+xml + + + z + application/x-compress + + + z1 + application/x-zmachine + + + z2 + application/x-zmachine + + + z3 + application/x-zmachine + + + z4 + application/x-zmachine + + + z5 + application/x-zmachine + + + z6 + application/x-zmachine + + + z7 + application/x-zmachine + + + z8 + application/x-zmachine + + + zaz + application/vnd.zzazz.deck+xml + + + zip + application/zip + + + zir + application/vnd.zul + + + zirz + application/vnd.zul + + + zmm + application/vnd.handheld-entertainment+xml + + + + + + + + + + + + + + + + + + index.html + index.htm + index.jsp + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ce/f0d0e2b86248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/ce/f0d0e2b86248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..5e0ee56 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ce/f0d0e2b86248001c1eb1b6cc5fdf9661 @@ -0,0 +1,15 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/00f372f16248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/00f372f16248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..73f82b7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/00f372f16248001c1eb1b6cc5fdf9661 @@ -0,0 +1,28 @@ + + + + + + WEB-INF/web.xml + ${catalina.base}/conf/web.xml + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/30373f67eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/30373f67eb45001c11de97d36a89b06b new file mode 100644 index 0000000..6949783 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/30373f67eb45001c11de97d36a89b06b @@ -0,0 +1,8 @@ +package com.ioc; + +public class Main { + public static void main(String[] args) { + Outfit bikini - new Bikini(); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d2/60b9a9ac8d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/d2/60b9a9ac8d46001c137a95b836e30a66 new file mode 100644 index 0000000..4e0c62a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d2/60b9a9ac8d46001c137a95b836e30a66 @@ -0,0 +1,12 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d2/c092e890c746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/d2/c092e890c746001c137a95b836e30a66 new file mode 100644 index 0000000..1a935cc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d2/c092e890c746001c137a95b836e30a66 @@ -0,0 +1,51 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + return 0; + } + + private Integer generateUniqueId() { + return USERS.keySet() + .stream() + .max((x1, x2) -> x1 - x2) + .orElse(0) + 1; + } + + @Override + public boolean update(User user) { + return USERS.put(user.getId(), user) != null; + } + + @Override + public boolean delete(int id) { + return USERS.remove(id) != null; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d3/50718bfcb346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/d3/50718bfcb346001c137a95b836e30a66 new file mode 100644 index 0000000..bd276ad --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d3/50718bfcb346001c137a95b836e30a66 @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d4/90e0b951eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/d4/90e0b951eb45001c11de97d36a89b06b new file mode 100644 index 0000000..861517d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d4/90e0b951eb45001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.ioc.entity; + +public class main { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d5/b05859308842001c1cbc975586bbcf20 b/.metadata/.plugins/org.eclipse.core.resources/.history/d5/b05859308842001c1cbc975586bbcf20 new file mode 100644 index 0000000..0088b2a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d5/b05859308842001c1cbc975586bbcf20 @@ -0,0 +1,15 @@ +package com.demo; + +public class StringBufferDemo { + public static void main(String[] args) { + long start = System.nanoTime(); + + StringBuffer s = new StringBuffer("hello"); + for(int i = 0; i < 1000; i++) { + s.append(" World") + } + long end = System.nanoTime(); + + System.out.println("Total time: " + (end-start)); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/10f5d37cc546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/10f5d37cc546001c137a95b836e30a66 new file mode 100644 index 0000000..73f82b7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/10f5d37cc546001c137a95b836e30a66 @@ -0,0 +1,28 @@ + + + + + + WEB-INF/web.xml + ${catalina.base}/conf/web.xml + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/201808398842001c1cbc975586bbcf20 b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/201808398842001c1cbc975586bbcf20 new file mode 100644 index 0000000..84eaf84 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/201808398842001c1cbc975586bbcf20 @@ -0,0 +1,15 @@ +package com.demo; + +public class StringBufferDemo { + public static void main(String[] args) { + long start = System.nanoTime(); + + StringBuffer s = new StringBuffer("hello"); + for(int i = 0; i < 1000; i++) { + s.append(" World"); + } + long end = System.nanoTime(); + + System.out.println("Total time: " + (end-start)); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/409add28d646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/409add28d646001c137a95b836e30a66 new file mode 100644 index 0000000..38dce90 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/409add28d646001c137a95b836e30a66 @@ -0,0 +1,36 @@ +package com.webservice.ws; + +import java.util.Arrays; + +/** + * + * @author ManhKM + * wsimport -s . http://localhost:8089/ws/users?wsdl + * + */ +public class SoapClient { + public static void main(String[] args) { + UserServiceImplService userServiceImplService = new UserServiceImplService(); + UserService userService = userServiceImplService.getUserServiceImplPort(); + + User user1 = new User(); + user1.setId(100); + user1.setUsername("alibaba"); + + User user2 = new User(); + user2.setId(101); + user2.setUsername("tom"); + + User user3 = new User(); + user3.setId(102); + user3.setUsername("jery"); + + userService.insert(user1); + userService.insert(user2); + userService.insert(user3); + + System.out.println(Arrays.asList(userService.getAll())); + + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d8/1019bcefe245001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/d8/1019bcefe245001c11de97d36a89b06b new file mode 100644 index 0000000..325ee4a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d8/1019bcefe245001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.tight.coupling; + +public class BubbleSortAlgorithm { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d8/f036970ec746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/d8/f036970ec746001c137a95b836e30a66 new file mode 100644 index 0000000..4b48db7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d8/f036970ec746001c137a95b836e30a66 @@ -0,0 +1,45 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.*; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/da/d07d72f16248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/da/d07d72f16248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..dc2186f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/da/d07d72f16248001c1eb1b6cc5fdf9661 @@ -0,0 +1,214 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when +# passed to checkPackageAccess unless the +# corresponding RuntimePermission ("accessClassInPackage."+package) has +# been granted. +package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.tomcat. +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when +# passed to checkPackageDefinition unless the +# corresponding RuntimePermission ("defineClassInPackage."+package) has +# been granted. +# +# by default, no packages are restricted for definition, and none of +# the class loaders supplied with the JDK call checkPackageDefinition. +# +package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,\ +org.apache.jasper.,org.apache.naming.,org.apache.tomcat. + +# +# +# List of comma-separated paths defining the contents of the "common" +# classloader. Prefixes should be used to define what is the repository type. +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute. +# If left as blank,the JVM system loader will be used as Catalina's "common" +# loader. +# Examples: +# "foo": Add this folder as a class repository +# "foo/*.jar": Add all the JARs of the specified folder as class +# repositories +# "foo/bar.jar": Add bar.jar as a class repository +# +# Note: Values are enclosed in double quotes ("...") in case either the +# ${catalina.base} path or the ${catalina.home} path contains a comma. +# Because double quotes are used for quoting, the double quote character +# may not appear in a path. +common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar" + +# +# List of comma-separated paths defining the contents of the "server" +# classloader. Prefixes should be used to define what is the repository type. +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute. +# If left as blank, the "common" loader will be used as Catalina's "server" +# loader. +# Examples: +# "foo": Add this folder as a class repository +# "foo/*.jar": Add all the JARs of the specified folder as class +# repositories +# "foo/bar.jar": Add bar.jar as a class repository +# +# Note: Values may be enclosed in double quotes ("...") in case either the +# ${catalina.base} path or the ${catalina.home} path contains a comma. +# Because double quotes are used for quoting, the double quote character +# may not appear in a path. +server.loader= + +# +# List of comma-separated paths defining the contents of the "shared" +# classloader. Prefixes should be used to define what is the repository type. +# Path may be relative to the CATALINA_BASE path or absolute. If left as blank, +# the "common" loader will be used as Catalina's "shared" loader. +# Examples: +# "foo": Add this folder as a class repository +# "foo/*.jar": Add all the JARs of the specified folder as class +# repositories +# "foo/bar.jar": Add bar.jar as a class repository +# Please note that for single jars, e.g. bar.jar, you need the URL form +# starting with file:. +# +# Note: Values may be enclosed in double quotes ("...") in case either the +# ${catalina.base} path or the ${catalina.home} path contains a comma. +# Because double quotes are used for quoting, the double quote character +# may not appear in a path. +shared.loader= + +# Default list of JAR files that should not be scanned using the JarScanner +# functionality. This is typically used to scan JARs for configuration +# information. JARs that do not contain such information may be excluded from +# the scan to speed up the scanning process. This is the default list. JARs on +# this list are excluded from all scans. The list must be a comma separated list +# of JAR file names. +# The list of JARs to skip may be over-ridden at a Context level for individual +# scan types by configuring a JarScanner with a nested JarScanFilter. +# The JARs listed below include: +# - Tomcat Bootstrap JARs +# - Tomcat API JARs +# - Catalina JARs +# - Jasper JARs +# - Tomcat JARs +# - Common non-Tomcat JARs +# - Test JARs (JUnit, Cobertura and dependencies) +tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\ +annotations-api.jar,\ +ant-junit*.jar,\ +ant-launcher.jar,\ +ant.jar,\ +asm-*.jar,\ +aspectj*.jar,\ +bootstrap.jar,\ +catalina-ant.jar,\ +catalina-ha.jar,\ +catalina-jmx-remote.jar,\ +catalina-storeconfig.jar,\ +catalina-tribes.jar,\ +catalina-ws.jar,\ +catalina.jar,\ +cglib-*.jar,\ +cobertura-*.jar,\ +commons-beanutils*.jar,\ +commons-codec*.jar,\ +commons-collections*.jar,\ +commons-daemon.jar,\ +commons-dbcp*.jar,\ +commons-digester*.jar,\ +commons-fileupload*.jar,\ +commons-httpclient*.jar,\ +commons-io*.jar,\ +commons-lang*.jar,\ +commons-logging*.jar,\ +commons-math*.jar,\ +commons-pool*.jar,\ +dom4j-*.jar,\ +easymock-*.jar,\ +ecj-*.jar,\ +el-api.jar,\ +geronimo-spec-jaxrpc*.jar,\ +h2*.jar,\ +hamcrest-*.jar,\ +hibernate*.jar,\ +httpclient*.jar,\ +icu4j-*.jar,\ +jasper-el.jar,\ +jasper.jar,\ +jaspic-api.jar,\ +jaxb-*.jar,\ +jaxen-*.jar,\ +jdom-*.jar,\ +jetty-*.jar,\ +jmx-tools.jar,\ +jmx.jar,\ +jsp-api.jar,\ +jstl.jar,\ +jta*.jar,\ +junit-*.jar,\ +junit.jar,\ +log4j*.jar,\ +mail*.jar,\ +objenesis-*.jar,\ +oraclepki.jar,\ +oro-*.jar,\ +servlet-api-*.jar,\ +servlet-api.jar,\ +slf4j*.jar,\ +taglibs-standard-spec-*.jar,\ +tagsoup-*.jar,\ +tomcat-api.jar,\ +tomcat-coyote.jar,\ +tomcat-dbcp.jar,\ +tomcat-i18n-*.jar,\ +tomcat-jdbc.jar,\ +tomcat-jni.jar,\ +tomcat-juli-adapters.jar,\ +tomcat-juli.jar,\ +tomcat-util-scan.jar,\ +tomcat-util.jar,\ +tomcat-websocket.jar,\ +tools.jar,\ +websocket-api.jar,\ +wsdl4j*.jar,\ +xercesImpl.jar,\ +xml-apis.jar,\ +xmlParserAPIs-*.jar,\ +xmlParserAPIs.jar,\ +xom-*.jar + +# Default list of JAR files that should be scanned that overrides the default +# jarsToSkip list above. This is typically used to include a specific JAR that +# has been excluded by a broad file name pattern in the jarsToSkip list. +# The list of JARs to scan may be over-ridden at a Context level for individual +# scan types by configuring a JarScanner with a nested JarScanFilter. +tomcat.util.scan.StandardJarScanFilter.jarsToScan=\ +log4j-taglib*.jar,\ +log4j-web*.jar,\ +log4javascript*.jar,\ +slf4j-taglib*.jar + +# String cache configuration. +tomcat.util.buf.StringCache.byte.enabled=true +#tomcat.util.buf.StringCache.char.enabled=true +#tomcat.util.buf.StringCache.trainThreshold=500000 +#tomcat.util.buf.StringCache.cacheSize=5000 + +# This system property is deprecated. Use the relaxedPathChars relaxedQueryChars +# attributes of the Connector instead. These attributes permit a wider range of +# characters to be configured as valid. +# Allow for changes to HTTP request validation +# WARNING: Using this option may expose the server to CVE-2016-6816 +#tomcat.util.http.parser.HttpParser.requestTargetAllow=| diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/db/407ab6845945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/db/407ab6845945001c1e6d86658ace159a new file mode 100644 index 0000000..6a6f5ca --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/db/407ab6845945001c1e6d86658ace159a @@ -0,0 +1,11 @@ +package com.use.jar; + +import com.manhkm.jar.FunctionOne; + +public class TestUseJar { + + public static void main(String[] args) { + System.out.println(FunctionOne.add(11, 22)); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/db/90182e34d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/db/90182e34d446001c137a95b836e30a66 new file mode 100644 index 0000000..14d7d03 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/db/90182e34d446001c137a95b836e30a66 @@ -0,0 +1,21 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + + // create a service instance with the specified WSDL. + Service service = Service.create(wsdlURL, qname); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/db/b016b8748c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/db/b016b8748c46001c137a95b836e30a66 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/db/f0dfe9efcb46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/db/f0dfe9efcb46001c137a95b836e30a66 new file mode 100644 index 0000000..658ab5d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/db/f0dfe9efcb46001c137a95b836e30a66 @@ -0,0 +1,12 @@ +package com.webservice.ws; + +import javax.xml.ws.Endpoint; + +public class SoapPublisher { + + public static final String WS_URL = "http://localhost:8089/ws/users"; + + public static void main(String[] args) { + Endpoint.publish(WS_URL, new UserServiceImpl()); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/dd/300031c8e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/300031c8e345001c11de97d36a89b06b new file mode 100644 index 0000000..3f05047 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/300031c8e345001c11de97d36a89b06b @@ -0,0 +1,10 @@ +package com.tight.coupling; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + SortAlgorithm quickSort = new QuicksortAlgorithm(); + + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/dd/30c22564eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/30c22564eb45001c11de97d36a89b06b new file mode 100644 index 0000000..fb04ad3 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/30c22564eb45001c11de97d36a89b06b @@ -0,0 +1,7 @@ +package com.ioc; + +public class Main { + public static void main(String[] args) { + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/dd/80697090eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/80697090eb45001c11de97d36a89b06b new file mode 100644 index 0000000..6bfff6e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/80697090eb45001c11de97d36a89b06b @@ -0,0 +1,11 @@ +package com.ioc.entity; + +public class Girl { + + private Outfit outfit; + public Girl(Outfit anything) { + outfit = anything; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/dd/c01aa1168e46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/c01aa1168e46001c137a95b836e30a66 new file mode 100644 index 0000000..4f6c2e9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/c01aa1168e46001c137a95b836e30a66 @@ -0,0 +1,10 @@ +package ws; + +public class EchoWSService { + + public EchoWS getEchoWSPort() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/de/609b610beb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/de/609b610beb45001c11de97d36a89b06b new file mode 100644 index 0000000..7b2ef0c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/de/609b610beb45001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.ioc.entity; + +public interface Outfit { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/de/a029caaee345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/de/a029caaee345001c11de97d36a89b06b new file mode 100644 index 0000000..0e7a6d2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/de/a029caaee345001c11de97d36a89b06b @@ -0,0 +1,8 @@ +package com.tight.coupling; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + SortAlgorithm quickSort = new QuicksortAlgorithm(); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/df/2001db03de42001c149691cc9b37b92a b/.metadata/.plugins/org.eclipse.core.resources/.history/df/2001db03de42001c149691cc9b37b92a new file mode 100644 index 0000000..c55efd7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/df/2001db03de42001c149691cc9b37b92a @@ -0,0 +1,18 @@ +## Bài toán: + +Name: App CurrencyConverter +Mô tả: Chức năng chuyển đổi các đơn vị tiền tệ khác nhau. +Ứng dụng được viết dưới dạng chủ-khách bằng các sử dụng công nghệ socket. +Ứng dụng: Khách nhập số tiền, đơn vị tiền +Máy chủ: Trả về giá trị tiền tương ứng. +Ứng dụng khách in ra số tiền tương ứng trên màn hình. + + +## Thiết kế: + +Một Server mở kết nối +Một data lưu trong xml +Một Client giao tiếp. + + +## Tài liệu tham khảo: diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e/10dcfd7be345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/e/10dcfd7be345001c11de97d36a89b06b new file mode 100644 index 0000000..37172ff --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e/10dcfd7be345001c11de97d36a89b06b @@ -0,0 +1,22 @@ +package com.tight.coupling.services; + +import com.tight.coupling.SortAlgorithm; + +public class VeryComplexService { + private SortAlgorithm sortAlgorithm; + + // constructor: + public VeryComplexService(SortAlgorithm sortAlgorithm) { + super(); + this.sortAlgorithm = sortAlgorithm; + } + + public void complexBusiness(int array[]) { + sortAlgorithm.sort(array); + } + + public static void main(String[] args) { + + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e/501c146de345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/e/501c146de345001c11de97d36a89b06b new file mode 100644 index 0000000..543a65e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e/501c146de345001c11de97d36a89b06b @@ -0,0 +1,16 @@ +package com.tight.coupling.services; + +import com.tight.coupling.SortAlgorithm; + +public class VeryComplexService { + private SortAlgorithm sortAlgorithm; + + // constructor: + public VeryComplexService(SortAlgorithm sortAlgorithm) { + super(); + this.sortAlgorithm = sortAlgorithm; + } + + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/706fff107944001c155ec24d5b86e7d1 b/.metadata/.plugins/org.eclipse.core.resources/.history/e0/706fff107944001c155ec24d5b86e7d1 new file mode 100644 index 0000000..73c67a2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e0/706fff107944001c155ec24d5b86e7d1 @@ -0,0 +1,8 @@ +package com.manhkm.jar; + +public class FunctionOne { + + public int add3(int a, int b, int c) { + return (a+b+c); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e4/00d1cd57d446001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/00d1cd57d446001c137a95b836e30a66 new file mode 100644 index 0000000..81fcbe1 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/00d1cd57d446001c137a95b836e30a66 @@ -0,0 +1,27 @@ +package com.webservice.ws; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; + +public class SoapClient { + public static void main(String[] args) throws MalformedURLException { + + // create url of .wsdl file: + URL wsdlURL = new URL(SoapPublisher.WS_URL + ".wsdl"); + + // create a qname using targerNamesapce and name: + QName qname = new QName("http://ws.webservice.com/", "UserServiceImplService"); + + // create a service instance with the specified WSDL. + Service service = Service.create(wsdlURL, qname); + + // we need to pass interface and model beans to client: + UserService userService = service.getPort(UserService.class); + + User user1 = new User(); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e4/300f11f38c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/300f11f38c46001c137a95b836e30a66 new file mode 100644 index 0000000..7ffa71d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/300f11f38c46001c137a95b836e30a66 @@ -0,0 +1,20 @@ +package ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.xml.ws.Endpoint; + +@WebService +public class EchoWS { + + @WebMethod + public String echo(String s) { + return "Echo: " + s; + } + + public static void main(String[] agrs) { + System.out.println("EchoWS up and running..."); + String url = "http://192.168.0.5:8888/EchoWS"; + Endpoint.publish(url, new EchoWS()); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e4/e098a959b346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/e098a959b346001c137a95b836e30a66 new file mode 100644 index 0000000..1d432b1 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/e098a959b346001c137a95b836e30a66 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e6/20d73275eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/e6/20d73275eb45001c11de97d36a89b06b new file mode 100644 index 0000000..58b62c7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e6/20d73275eb45001c11de97d36a89b06b @@ -0,0 +1,11 @@ +package com.ioc; + +import com.ioc.entity.Bikini; +import com.ioc.entity.Outfit; + +public class Main { + public static void main(String[] args) { + Outfit bikini = new Bikini(); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e8/30c072cc6248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/e8/30c072cc6248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..477afd7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e8/30c072cc6248001c1eb1b6cc5fdf9661 @@ -0,0 +1,10 @@ +package com.gpcoder; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "user") +public class User { + + private Integer id; + private String username; +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e9/90aaf5ec7844001c155ec24d5b86e7d1 b/.metadata/.plugins/org.eclipse.core.resources/.history/e9/90aaf5ec7844001c155ec24d5b86e7d1 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e9/e0adbce1d546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/e9/e0adbce1d546001c137a95b836e30a66 new file mode 100644 index 0000000..e80c3e9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e9/e0adbce1d546001c137a95b836e30a66 @@ -0,0 +1,17 @@ +package com.webservice.ws; + +/** + * + * @author ManhKM + * wsimport -s . http://localhost:8089/ws/users?wsdl + * + */ +public class SoapClient { + public static void main(String[] args) { + UserServiceImplService userServiceImplService = new UserServiceImplService(); + UserService userService = userServiceImplService.getUserServiceImplPort(); + + User user1 = new User(); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ea/60f11dc7c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ea/60f11dc7c646001c137a95b836e30a66 new file mode 100644 index 0000000..9efb355 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ea/60f11dc7c646001c137a95b836e30a66 @@ -0,0 +1,22 @@ +package com.webservice.ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + @WebMethod + int insert(User user); + + @WebMethod + boolean update(User user); + + @WebMethod + boolean delete(int id); + + @WebMethod + User get(int id); +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ec/501ce359eb45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/ec/501ce359eb45001c11de97d36a89b06b new file mode 100644 index 0000000..3ff032b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ec/501ce359eb45001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.ioc; + +public class Main { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/30e3a59de345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/ed/30e3a59de345001c11de97d36a89b06b new file mode 100644 index 0000000..0eae657 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ed/30e3a59de345001c11de97d36a89b06b @@ -0,0 +1,7 @@ +package com.tight.coupling; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/b0893cf98d46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ed/b0893cf98d46001c137a95b836e30a66 new file mode 100644 index 0000000..e686be0 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ed/b0893cf98d46001c137a95b836e30a66 @@ -0,0 +1,19 @@ +package ws; + +public class EchoClient { + + public static void main(String[] args) { + try { + EchoWSService service = new EchoWSService(); + EchoWS port = service.getEchoWSPort(); + String res = null; + if(args.length == 0) { + res = port.echo("Testing WebService"); + + } + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ee/d058d37cc546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ee/d058d37cc546001c137a95b836e30a66 new file mode 100644 index 0000000..dc2186f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ee/d058d37cc546001c137a95b836e30a66 @@ -0,0 +1,214 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when +# passed to checkPackageAccess unless the +# corresponding RuntimePermission ("accessClassInPackage."+package) has +# been granted. +package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.tomcat. +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when +# passed to checkPackageDefinition unless the +# corresponding RuntimePermission ("defineClassInPackage."+package) has +# been granted. +# +# by default, no packages are restricted for definition, and none of +# the class loaders supplied with the JDK call checkPackageDefinition. +# +package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,\ +org.apache.jasper.,org.apache.naming.,org.apache.tomcat. + +# +# +# List of comma-separated paths defining the contents of the "common" +# classloader. Prefixes should be used to define what is the repository type. +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute. +# If left as blank,the JVM system loader will be used as Catalina's "common" +# loader. +# Examples: +# "foo": Add this folder as a class repository +# "foo/*.jar": Add all the JARs of the specified folder as class +# repositories +# "foo/bar.jar": Add bar.jar as a class repository +# +# Note: Values are enclosed in double quotes ("...") in case either the +# ${catalina.base} path or the ${catalina.home} path contains a comma. +# Because double quotes are used for quoting, the double quote character +# may not appear in a path. +common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar" + +# +# List of comma-separated paths defining the contents of the "server" +# classloader. Prefixes should be used to define what is the repository type. +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute. +# If left as blank, the "common" loader will be used as Catalina's "server" +# loader. +# Examples: +# "foo": Add this folder as a class repository +# "foo/*.jar": Add all the JARs of the specified folder as class +# repositories +# "foo/bar.jar": Add bar.jar as a class repository +# +# Note: Values may be enclosed in double quotes ("...") in case either the +# ${catalina.base} path or the ${catalina.home} path contains a comma. +# Because double quotes are used for quoting, the double quote character +# may not appear in a path. +server.loader= + +# +# List of comma-separated paths defining the contents of the "shared" +# classloader. Prefixes should be used to define what is the repository type. +# Path may be relative to the CATALINA_BASE path or absolute. If left as blank, +# the "common" loader will be used as Catalina's "shared" loader. +# Examples: +# "foo": Add this folder as a class repository +# "foo/*.jar": Add all the JARs of the specified folder as class +# repositories +# "foo/bar.jar": Add bar.jar as a class repository +# Please note that for single jars, e.g. bar.jar, you need the URL form +# starting with file:. +# +# Note: Values may be enclosed in double quotes ("...") in case either the +# ${catalina.base} path or the ${catalina.home} path contains a comma. +# Because double quotes are used for quoting, the double quote character +# may not appear in a path. +shared.loader= + +# Default list of JAR files that should not be scanned using the JarScanner +# functionality. This is typically used to scan JARs for configuration +# information. JARs that do not contain such information may be excluded from +# the scan to speed up the scanning process. This is the default list. JARs on +# this list are excluded from all scans. The list must be a comma separated list +# of JAR file names. +# The list of JARs to skip may be over-ridden at a Context level for individual +# scan types by configuring a JarScanner with a nested JarScanFilter. +# The JARs listed below include: +# - Tomcat Bootstrap JARs +# - Tomcat API JARs +# - Catalina JARs +# - Jasper JARs +# - Tomcat JARs +# - Common non-Tomcat JARs +# - Test JARs (JUnit, Cobertura and dependencies) +tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\ +annotations-api.jar,\ +ant-junit*.jar,\ +ant-launcher.jar,\ +ant.jar,\ +asm-*.jar,\ +aspectj*.jar,\ +bootstrap.jar,\ +catalina-ant.jar,\ +catalina-ha.jar,\ +catalina-jmx-remote.jar,\ +catalina-storeconfig.jar,\ +catalina-tribes.jar,\ +catalina-ws.jar,\ +catalina.jar,\ +cglib-*.jar,\ +cobertura-*.jar,\ +commons-beanutils*.jar,\ +commons-codec*.jar,\ +commons-collections*.jar,\ +commons-daemon.jar,\ +commons-dbcp*.jar,\ +commons-digester*.jar,\ +commons-fileupload*.jar,\ +commons-httpclient*.jar,\ +commons-io*.jar,\ +commons-lang*.jar,\ +commons-logging*.jar,\ +commons-math*.jar,\ +commons-pool*.jar,\ +dom4j-*.jar,\ +easymock-*.jar,\ +ecj-*.jar,\ +el-api.jar,\ +geronimo-spec-jaxrpc*.jar,\ +h2*.jar,\ +hamcrest-*.jar,\ +hibernate*.jar,\ +httpclient*.jar,\ +icu4j-*.jar,\ +jasper-el.jar,\ +jasper.jar,\ +jaspic-api.jar,\ +jaxb-*.jar,\ +jaxen-*.jar,\ +jdom-*.jar,\ +jetty-*.jar,\ +jmx-tools.jar,\ +jmx.jar,\ +jsp-api.jar,\ +jstl.jar,\ +jta*.jar,\ +junit-*.jar,\ +junit.jar,\ +log4j*.jar,\ +mail*.jar,\ +objenesis-*.jar,\ +oraclepki.jar,\ +oro-*.jar,\ +servlet-api-*.jar,\ +servlet-api.jar,\ +slf4j*.jar,\ +taglibs-standard-spec-*.jar,\ +tagsoup-*.jar,\ +tomcat-api.jar,\ +tomcat-coyote.jar,\ +tomcat-dbcp.jar,\ +tomcat-i18n-*.jar,\ +tomcat-jdbc.jar,\ +tomcat-jni.jar,\ +tomcat-juli-adapters.jar,\ +tomcat-juli.jar,\ +tomcat-util-scan.jar,\ +tomcat-util.jar,\ +tomcat-websocket.jar,\ +tools.jar,\ +websocket-api.jar,\ +wsdl4j*.jar,\ +xercesImpl.jar,\ +xml-apis.jar,\ +xmlParserAPIs-*.jar,\ +xmlParserAPIs.jar,\ +xom-*.jar + +# Default list of JAR files that should be scanned that overrides the default +# jarsToSkip list above. This is typically used to include a specific JAR that +# has been excluded by a broad file name pattern in the jarsToSkip list. +# The list of JARs to scan may be over-ridden at a Context level for individual +# scan types by configuring a JarScanner with a nested JarScanFilter. +tomcat.util.scan.StandardJarScanFilter.jarsToScan=\ +log4j-taglib*.jar,\ +log4j-web*.jar,\ +log4javascript*.jar,\ +slf4j-taglib*.jar + +# String cache configuration. +tomcat.util.buf.StringCache.byte.enabled=true +#tomcat.util.buf.StringCache.char.enabled=true +#tomcat.util.buf.StringCache.trainThreshold=500000 +#tomcat.util.buf.StringCache.cacheSize=5000 + +# This system property is deprecated. Use the relaxedPathChars relaxedQueryChars +# attributes of the Connector instead. These attributes permit a wider range of +# characters to be configured as valid. +# Allow for changes to HTTP request validation +# WARNING: Using this option may expose the server to CVE-2016-6816 +#tomcat.util.http.parser.HttpParser.requestTargetAllow=| diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ef/606f74cac646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/ef/606f74cac646001c137a95b836e30a66 new file mode 100644 index 0000000..48b7372 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ef/606f74cac646001c137a95b836e30a66 @@ -0,0 +1,24 @@ +package com.webservice.ws; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; + +@WebService +@SOAPBinding(style = SOAPBinding.Style.RPC) +public interface UserService { + + @WebMethod + int insert(User user); + + @WebMethod + boolean update(User user); + + @WebMethod + boolean delete(int id); + + @WebMethod + User get(int id); + + User[] getAll(); +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f0/80eed525e445001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/f0/80eed525e445001c11de97d36a89b06b new file mode 100644 index 0000000..d6103a4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f0/80eed525e445001c11de97d36a89b06b @@ -0,0 +1,15 @@ +package com.tight.coupling; + +import com.tight.coupling.services.VeryComplexService; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + SortAlgorithm quickSort = new QuicksortAlgorithm(); + + VeryComplexService business1 = new VeryComplexService(bubbleSort); + business1.complexBusiness(null); + + VeryComplexService business2 = new VeryComplexService(quickSort); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f0/a0f0fb7a8c46001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/f0/a0f0fb7a8c46001c137a95b836e30a66 new file mode 100644 index 0000000..316f796 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f0/a0f0fb7a8c46001c137a95b836e30a66 @@ -0,0 +1,5 @@ +package ws; + +public class EchoWS { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f1/e0de3ad66248001c1eb1b6cc5fdf9661 b/.metadata/.plugins/org.eclipse.core.resources/.history/f1/e0de3ad66248001c1eb1b6cc5fdf9661 new file mode 100644 index 0000000..407300f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f1/e0de3ad66248001c1eb1b6cc5fdf9661 @@ -0,0 +1,17 @@ +package com.gpcoder; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "user") +public class User { + + private Integer id; + private String username; + public User(Integer id, String username) { + super(); + this.id = id; + this.username = username; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f3/801c38cfc746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/f3/801c38cfc746001c137a95b836e30a66 new file mode 100644 index 0000000..f4cdedc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f3/801c38cfc746001c137a95b836e30a66 @@ -0,0 +1,48 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + user.setId(id); + USERS.put(id, user); + return 0; + } + + private Integer generateUniqueId() { + return USERS.keySet() + .stream() + .max((x1, x2) -> x1 - x2) + .orElse(0) + 1; + } + + @Override + public boolean update(User user) { + return USERS.put(user.getId(), user) != null; + } + + @Override + public boolean delete(int id) { + return USERS.remove(id) != null; + } + + @Override + public User get(int id) { + return USERS.getOrDefault(id, new User()); + } + + @Override + public User[] getAll() { + return USERS.values().toArray(new User[0]); + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/10a25a72b546001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/10a25a72b546001c137a95b836e30a66 new file mode 100644 index 0000000..aa5973c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/10a25a72b546001c137a95b836e30a66 @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/20f6f00bc746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/20f6f00bc746001c137a95b836e30a66 new file mode 100644 index 0000000..42ad725 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/20f6f00bc746001c137a95b836e30a66 @@ -0,0 +1,44 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/c0f4cee4c646001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/c0f4cee4c646001c137a95b836e30a66 new file mode 100644 index 0000000..ffd318e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/c0f4cee4c646001c137a95b836e30a66 @@ -0,0 +1,5 @@ +package com.webservice.ws; + +public class UserServiceImpl { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/1040e1d7ea45001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/f6/1040e1d7ea45001c11de97d36a89b06b new file mode 100644 index 0000000..43acdb6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f6/1040e1d7ea45001c11de97d36a89b06b @@ -0,0 +1,5 @@ +package com.ioc.entity; + +public class Girl { + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f7/00581deadd42001c149691cc9b37b92a b/.metadata/.plugins/org.eclipse.core.resources/.history/f7/00581deadd42001c149691cc9b37b92a new file mode 100644 index 0000000..20d395c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f7/00581deadd42001c149691cc9b37b92a @@ -0,0 +1,5 @@ +## Bài toán: + +## Thiết kế: + +## Tài liệu tham khảo: diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f9/90d5a34ac746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/f9/90d5a34ac746001c137a95b836e30a66 new file mode 100644 index 0000000..951f48e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f9/90d5a34ac746001c137a95b836e30a66 @@ -0,0 +1,46 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + + return 0; + } + + @Override + public boolean update(User user) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean delete(int id) { + // TODO Auto-generated method stub + return false; + } + + @Override + public User get(int id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public User[] getAll() { + // TODO Auto-generated method stub + return null; + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f9/c05fa2b05945001c1e6d86658ace159a b/.metadata/.plugins/org.eclipse.core.resources/.history/f9/c05fa2b05945001c1e6d86658ace159a new file mode 100644 index 0000000..16c33b6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f9/c05fa2b05945001c1e6d86658ace159a @@ -0,0 +1,11 @@ +package com.use.jar; + +import com.manhkm.jar.FunctionOne; + +public class TestUseJar { + + public static void main(String[] args) { + System.out.println(FunctionOne.add2(11, 22)); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fa/8018e3b7d346001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/fa/8018e3b7d346001c137a95b836e30a66 new file mode 100644 index 0000000..89226eb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/fa/8018e3b7d346001c137a95b836e30a66 @@ -0,0 +1,7 @@ +package com.webservice.ws; + +public class SoapClient { + public static void main(String[] args) { + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fa/b07bc6aae345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/fa/b07bc6aae345001c11de97d36a89b06b new file mode 100644 index 0000000..52ba771 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/fa/b07bc6aae345001c11de97d36a89b06b @@ -0,0 +1,8 @@ +package com.tight.coupling; + +public class Main { + public static void main(String[] args) { + SortAlgorithm bubbleSort = new BubbleSortAlgorithm(); + + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fb/e0b48b77e345001c11de97d36a89b06b b/.metadata/.plugins/org.eclipse.core.resources/.history/fb/e0b48b77e345001c11de97d36a89b06b new file mode 100644 index 0000000..e1e5ff4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/fb/e0b48b77e345001c11de97d36a89b06b @@ -0,0 +1,20 @@ +package com.tight.coupling.services; + +import com.tight.coupling.SortAlgorithm; + +public class VeryComplexService { + private SortAlgorithm sortAlgorithm; + + // constructor: + public VeryComplexService(SortAlgorithm sortAlgorithm) { + super(); + this.sortAlgorithm = sortAlgorithm; + } + + public void complexBusiness(int array[]) { + sortAlgorithm.sort(array); + } + + main + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fe/a001fabcc746001c137a95b836e30a66 b/.metadata/.plugins/org.eclipse.core.resources/.history/fe/a001fabcc746001c137a95b836e30a66 new file mode 100644 index 0000000..f9362bf --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/fe/a001fabcc746001c137a95b836e30a66 @@ -0,0 +1,49 @@ +package com.webservice.ws; + +import java.util.HashMap; +import java.util.Map; + +import java.util.HashMap; +import java.util.Map; +import javax.jws.WebService; + +@WebService(endpointInterface = "com.webservice.ws.UserService") +public class UserServiceImpl implements UserService{ + + private static final Map USERS = new HashMap<>(); + + @Override + public int insert(User user) { + Integer id = generateUniqueId(); + return 0; + } + + private Integer generateUniqueId() { + return USERS.keySet() + .stream() + .max((x1, x2) -> x1 - x2) + .orElse(0) + 1; + } + + @Override + public boolean update(User user) { + return USERS.put(user.getId(), user) != null; + } + + @Override + public boolean delete(int id) { + return USERS.remove(id) != null; + } + + @Override + public User get(int id) { + return USERS.getOrDefault(id, new User()); + } + + @Override + public User[] getAll() { + return USERS.values().toArray(new User[0]); + } + + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location new file mode 100644 index 0000000..2bf9d23 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/.location new file mode 100644 index 0000000..bc1224d Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/.markers new file mode 100644 index 0000000..5a09929 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/.markers differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..025c58d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Thu Nov 11 16:01:07 ICT 2021 +.gitdir=../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..a50abf0 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Book-Price/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/.location new file mode 100644 index 0000000..94f5a09 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..21dbbce --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Thu Nov 11 17:51:37 ICT 2021 +.gitdir=../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..2fac7ea Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Currency-Converter/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/.location new file mode 100644 index 0000000..3d4b79f Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..f714290 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Sat Nov 13 18:57:25 ICT 2021 +.gitdir=../../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..f7f83b0 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Jar-Project/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/.location new file mode 100644 index 0000000..7546bd2 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/.markers new file mode 100644 index 0000000..c5554f2 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/.markers differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..5398e16 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Thu Nov 11 14:38:38 ICT 2021 +.gitdir=../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..a031359 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-DOM/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.indexes/e4/81/fd/1d/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.indexes/e4/81/fd/1d/history.index new file mode 100644 index 0000000..fbb7f12 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.indexes/e4/81/fd/1d/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.indexes/e4/81/fd/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.indexes/e4/81/fd/history.index new file mode 100644 index 0000000..59c80f1 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.indexes/e4/81/fd/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.location new file mode 100644 index 0000000..c6b982b Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..95799d2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Mon Nov 15 15:03:02 ICT 2021 +.gitdir=../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..7b472e7 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-IoC/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/.indexes/e4/dc/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/.indexes/e4/dc/history.index new file mode 100644 index 0000000..70ec9f5 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/.indexes/e4/dc/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/.location new file mode 100644 index 0000000..1836684 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..4be642d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Tue Nov 16 10:22:11 ICT 2021 +.gitdir=../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..fc67ed6 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Service/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/.location new file mode 100644 index 0000000..0fdc28c Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/.markers new file mode 100644 index 0000000..5ea24ce Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/.markers differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..8a8d4ee --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Thu Nov 11 07:36:23 ICT 2021 +.gitdir=../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..3218bef Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-String/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.indexes/e4/81/1e/83/5e/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.indexes/e4/81/1e/83/5e/history.index new file mode 100644 index 0000000..89410c3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.indexes/e4/81/1e/83/5e/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.indexes/e4/81/1e/83/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.indexes/e4/81/1e/83/history.index new file mode 100644 index 0000000..e7e5318 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.indexes/e4/81/1e/83/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.location new file mode 100644 index 0000000..6646cc9 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..cc85c15 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Mon Nov 15 14:06:02 ICT 2021 +.gitdir=../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..f2ca7e5 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Java-Tight-Coupling/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.indexes/af/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.indexes/af/history.index new file mode 100644 index 0000000..87455cf Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.indexes/af/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.indexes/e4/81/dc/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.indexes/e4/81/dc/history.index new file mode 100644 index 0000000..871cfad Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.indexes/e4/81/dc/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.indexes/properties.index new file mode 100644 index 0000000..47bcb47 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.location new file mode 100644 index 0000000..afa0c3b Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.markers new file mode 100644 index 0000000..7c8136a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/.markers differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..ed67e2d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Thu Nov 18 18:29:01 ICT 2021 +.gitdir=../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..30f8fbb Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/RestfulWebServiceExample/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Servers/.indexes/c7/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Servers/.indexes/c7/history.index new file mode 100644 index 0000000..2734b4e Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Servers/.indexes/c7/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Servers/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Servers/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Servers/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Servers/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/Servers/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..eeb7701 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/Servers/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Tue Nov 16 14:57:05 ICT 2021 +.gitdir=../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/af/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/af/history.index new file mode 100644 index 0000000..4a604b7 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/af/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/22/81/e1/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/22/81/e1/history.index new file mode 100644 index 0000000..d245d7a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/22/81/e1/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/b3/64/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/b3/64/history.index new file mode 100644 index 0000000..3617f70 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/b3/64/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/b3/a8/95/81/e1/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/b3/a8/95/81/e1/history.index new file mode 100644 index 0000000..d5fede6 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/b3/a8/95/81/e1/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/b3/a8/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/b3/a8/history.index new file mode 100644 index 0000000..bf4238c Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/e4/b9/b3/a8/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.location new file mode 100644 index 0000000..3171c0b Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..7e2c300 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Tue Nov 16 15:01:06 ICT 2021 +.gitdir=../../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..6f84075 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.indexes/af/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.indexes/af/history.index new file mode 100644 index 0000000..0eb1ab2 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.indexes/af/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.indexes/e4/b9/22/81/e1/dc/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.indexes/e4/b9/22/81/e1/dc/history.index new file mode 100644 index 0000000..f4e6d97 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.indexes/e4/b9/22/81/e1/dc/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.location new file mode 100644 index 0000000..f1240bc Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..4bd1ac0 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Tue Nov 16 17:14:52 ICT 2021 +.gitdir=../../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..3e3cab2 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.indexes/af/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.indexes/af/history.index new file mode 100644 index 0000000..a2c4f87 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.indexes/af/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.indexes/e4/b9/22/81/e1/dc/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.indexes/e4/b9/22/81/e1/dc/history.index new file mode 100644 index 0000000..d08e19a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.indexes/e4/b9/22/81/e1/dc/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.location new file mode 100644 index 0000000..2a81066 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..3650bd6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Tue Nov 16 19:03:08 ICT 2021 +.gitdir=../../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..91848e1 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExample2Client/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/.indexes/af/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/.indexes/af/history.index new file mode 100644 index 0000000..a43ac91 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/.indexes/af/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/.markers new file mode 100644 index 0000000..13d1a96 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/.markers differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..035427b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Tue Nov 16 15:05:46 ICT 2021 +.gitdir=../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..bc05a32 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/SoapWebServiceExampleClient/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/.indexes/properties.index new file mode 100644 index 0000000..1e099f3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/.location new file mode 100644 index 0000000..5792a89 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/.location differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/org.eclipse.egit.core/GitProjectData.properties b/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/org.eclipse.egit.core/GitProjectData.properties new file mode 100644 index 0000000..8fddf0f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/org.eclipse.egit.core/GitProjectData.properties @@ -0,0 +1,3 @@ +#GitProjectData +#Sun Nov 14 21:39:45 ICT 2021 +.gitdir=../../.git diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..cd8b174 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/Using-Jar/org.eclipse.jdt.core/state.dat differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version new file mode 100644 index 0000000..25cb955 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index new file mode 100644 index 0000000..0454e8a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version new file mode 100644 index 0000000..6b2aaa7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/5.tree b/.metadata/.plugins/org.eclipse.core.resources/.root/5.tree new file mode 100644 index 0000000..a883938 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.root/5.tree differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources new file mode 100644 index 0000000..573fcf5 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources differ diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/DOMCreateXMLExample.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/DOMCreateXMLExample.launch new file mode 100644 index 0000000..1a04627 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/DOMCreateXMLExample.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/DOMExample.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/DOMExample.launch new file mode 100644 index 0000000..0d02226 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/DOMExample.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/DemoHelloWorld.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/DemoHelloWorld.launch new file mode 100644 index 0000000..101175f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/DemoHelloWorld.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/EchoWS.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/EchoWS.launch new file mode 100644 index 0000000..54d2692 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/EchoWS.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/Main (1).launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/Main (1).launch new file mode 100644 index 0000000..a965354 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/Main (1).launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/Main.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/Main.launch new file mode 100644 index 0000000..f27ae55 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/Main.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/MyClient.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/MyClient.launch new file mode 100644 index 0000000..edf9eb2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/MyClient.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/MyServer.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/MyServer.launch new file mode 100644 index 0000000..4912422 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/MyServer.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/New_configuration (1).launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/New_configuration (1).launch new file mode 100644 index 0000000..d6c7d2e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/New_configuration (1).launch @@ -0,0 +1,6 @@ + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/New_configuration.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/New_configuration.launch new file mode 100644 index 0000000..999c6d2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/New_configuration.launch @@ -0,0 +1,6 @@ + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/RestfulWebServiceExample.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/RestfulWebServiceExample.launch new file mode 100644 index 0000000..7cd2239 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/RestfulWebServiceExample.launch @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapClient (1).launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapClient (1).launch new file mode 100644 index 0000000..617a723 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapClient (1).launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapClient.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapClient.launch new file mode 100644 index 0000000..1adf969 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapClient.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapPublisher.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapPublisher.launch new file mode 100644 index 0000000..a4148bc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapPublisher.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapWebServiceExample2.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapWebServiceExample2.launch new file mode 100644 index 0000000..82fc233 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/SoapWebServiceExample2.launch @@ -0,0 +1,4 @@ + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/StringBufferDemo.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/StringBufferDemo.launch new file mode 100644 index 0000000..f321eaa --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/StringBufferDemo.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/StringNomal.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/StringNomal.launch new file mode 100644 index 0000000..dd738da --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/StringNomal.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.core/.launches/TestUseJar.launch b/.metadata/.plugins/org.eclipse.debug.core/.launches/TestUseJar.launch new file mode 100644 index 0000000..5ea2494 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.core/.launches/TestUseJar.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml new file mode 100644 index 0000000..d6f6c0c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml @@ -0,0 +1,16 @@ + +
+
+ + + +
+
+ + + + + + +
+
diff --git a/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml b/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml new file mode 100644 index 0000000..577b824 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.e4.ui.workbench.swt/dialog_settings.xml b/.metadata/.plugins/org.eclipse.e4.ui.workbench.swt/dialog_settings.xml new file mode 100644 index 0000000..a94cdbc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.e4.ui.workbench.swt/dialog_settings.xml @@ -0,0 +1,14 @@ + +
+
+ + + + + + + + + +
+
diff --git a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi new file mode 100644 index 0000000..e9b5ab1 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -0,0 +1,3503 @@ + + + + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration + + + + + + + + topLevel + shellMaximized + + + + + persp.actionSet:org.eclipse.mylyn.doc.actionSet + persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation + persp.actionSet:org.eclipse.ui.cheatsheets.actionSet + persp.actionSet:org.eclipse.search.searchActionSet + persp.actionSet:org.eclipse.text.quicksearch.actionSet + persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo + persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet + persp.actionSet:org.eclipse.ui.actionSet.keyBindings + persp.actionSet:org.eclipse.ui.actionSet.openFiles + persp.actionSet:org.eclipse.jst.j2ee.J2eeMainActionSet + persp.actionSet:org.eclipse.jdt.ui.JavaActionSet + persp.actionSet:org.eclipse.debug.ui.launchActionSet + persp.actionSet:org.eclipse.debug.ui.debugActionSet + persp.actionSet:org.eclipse.ui.NavigateActionSet + persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer + persp.viewSC:org.eclipse.wst.server.ui.ServersView + persp.viewSC:org.eclipse.datatools.connectivity.DataSourceExplorerNavigator + persp.viewSC:org.eclipse.ui.views.BookmarkView + persp.viewSC:org.eclipse.ui.views.ContentOutline + persp.viewSC:org.eclipse.ui.views.PropertySheet + persp.viewSC:org.eclipse.ui.views.ResourceNavigator + persp.viewSC:org.eclipse.wst.common.snippets.internal.ui.SnippetsView + persp.viewSC:org.eclipse.ui.views.AllMarkersView + persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks + persp.viewSC:org.eclipse.search.ui.views.SearchView + persp.viewSC:org.eclipse.ui.console.ConsoleView + persp.showIn:org.eclipse.ui.navigator.ProjectExplorer + persp.actionSet:org.eclipse.wst.ws.explorer.explorer + persp.newWizSC:org.eclipse.m2e.core.wizards.Maven2ProjectWizard + persp.newWizSC:org.eclipse.wst.css.ui.internal.wizard.NewCSSWizard + persp.newWizSC:org.eclipse.wst.jsdt.ui.NewJSWizard + persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet + persp.showIn:org.eclipse.eclemma.ui.CoverageView + persp.showIn:org.eclipse.tm.terminal.view.ui.TerminalsView + persp.perspSC:org.eclipse.debug.ui.DebugPerspective + persp.perspSC:org.eclipse.jdt.ui.JavaPerspective + persp.perspSC:org.eclipse.ui.resourcePerspective + persp.perspSC:org.eclipse.wst.web.ui.webDevPerspective + persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard + persp.newWizSC:org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard + persp.newWizSC:org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard + persp.newWizSC:org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard + persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard + persp.newWizSC:org.eclipse.wst.web.ui.internal.wizards.SimpleWebProjectWizard + persp.newWizSC:org.eclipse.jpt.ui.wizard.newJpaProject + persp.newWizSC:org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard + persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddSessionBeanWizard + persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddMessageDrivenBeanWizard + persp.newWizSC:org.eclipse.jpt.ui.wizard.newEntity + persp.newWizSC:org.eclipse.jst.ws.creation.ui.wizard.serverwizard + persp.newWizSC:org.eclipse.ui.wizards.new.folder + persp.newWizSC:org.eclipse.ui.wizards.new.file + persp.actionSet:org.eclipse.wst.server.ui.internal.webbrowser.actionSet + persp.actionSet:org.eclipse.debug.ui.breakpointActionSet + persp.newWizSC:org.eclipse.jpt.jpa.ui.wizard.newJpaProject + persp.perspSC:org.eclipse.jpt.ui.jpaPerspective + persp.newWizSC:org.eclipse.jst.jsp.ui.internal.wizard.NewJSPWizard + + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Java + + + View + categoryTag:Java Browsing + + + + + + + Minimized + + View + categoryTag:General + + + View + categoryTag:Mylyn + + + View + categoryTag:General + + + + + General + Terminal + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Server + + + View + categoryTag:Data Management + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Terminal + + + + + + + + persp.actionSet:org.eclipse.mylyn.doc.actionSet + persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation + persp.actionSet:org.eclipse.ui.cheatsheets.actionSet + persp.actionSet:org.eclipse.search.searchActionSet + persp.actionSet:org.eclipse.text.quicksearch.actionSet + persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo + persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet + persp.actionSet:org.eclipse.ui.actionSet.keyBindings + persp.actionSet:org.eclipse.ui.actionSet.openFiles + persp.actionSet:org.eclipse.debug.ui.launchActionSet + persp.actionSet:org.eclipse.jdt.ui.JavaActionSet + persp.actionSet:org.eclipse.jdt.ui.JavaElementCreationActionSet + persp.actionSet:org.eclipse.ui.NavigateActionSet + persp.viewSC:org.eclipse.jdt.ui.PackageExplorer + persp.viewSC:org.eclipse.jdt.ui.TypeHierarchy + persp.viewSC:org.eclipse.jdt.ui.SourceView + persp.viewSC:org.eclipse.jdt.ui.JavadocView + persp.viewSC:org.eclipse.search.ui.views.SearchView + persp.viewSC:org.eclipse.ui.console.ConsoleView + persp.viewSC:org.eclipse.ui.views.ContentOutline + persp.viewSC:org.eclipse.ui.views.ProblemView + persp.viewSC:org.eclipse.ui.views.ResourceNavigator + persp.viewSC:org.eclipse.ui.views.TaskList + persp.viewSC:org.eclipse.ui.views.ProgressView + persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer + persp.viewSC:org.eclipse.ui.texteditor.TemplatesView + persp.viewSC:org.eclipse.pde.runtime.LogView + persp.newWizSC:org.eclipse.jdt.ui.wizards.JavaProjectWizard + persp.newWizSC:org.eclipse.jdt.ui.wizards.NewPackageCreationWizard + persp.newWizSC:org.eclipse.jdt.ui.wizards.NewClassCreationWizard + persp.newWizSC:org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard + persp.newWizSC:org.eclipse.jdt.ui.wizards.NewEnumCreationWizard + persp.newWizSC:org.eclipse.jdt.ui.wizards.NewRecordCreationWizard + persp.newWizSC:org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard + persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard + persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard + persp.newWizSC:org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard + persp.newWizSC:org.eclipse.ui.wizards.new.folder + persp.newWizSC:org.eclipse.ui.wizards.new.file + persp.newWizSC:org.eclipse.ui.editors.wizards.UntitledTextFileWizard + persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective + persp.perspSC:org.eclipse.debug.ui.DebugPerspective + persp.showIn:org.eclipse.jdt.ui.PackageExplorer + persp.showIn:org.eclipse.team.ui.GenericHistoryView + persp.showIn:org.eclipse.ui.navigator.ProjectExplorer + persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks + persp.newWizSC:org.eclipse.mylyn.tasks.ui.wizards.new.repository.task + persp.actionSet:org.eclipse.debug.ui.breakpointActionSet + persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet + persp.showIn:org.eclipse.egit.ui.RepositoriesView + persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet + persp.showIn:org.eclipse.eclemma.ui.CoverageView + persp.viewSC:org.eclipse.tm.terminal.view.ui.TerminalsView + persp.showIn:org.eclipse.tm.terminal.view.ui.TerminalsView + persp.newWizSC:org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard + persp.actionSet:org.eclipse.jdt.junit.JUnitActionSet + persp.viewSC:org.eclipse.ant.ui.views.AntView + + + + org.eclipse.e4.primaryNavigationStack + + View + categoryTag:Java + + + View + categoryTag:Java + + + View + categoryTag:General + + + View + categoryTag:Java + + + + + View + categoryTag:Git + + + + + + + + + Minimized + + View + categoryTag:Mylyn + + + + org.eclipse.e4.secondaryNavigationStack + Minimized + + View + categoryTag:General + active + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Ant + + + + + + org.eclipse.e4.secondaryDataStack + noFocus + + View + categoryTag:General + + + View + categoryTag:Java + + + View + categoryTag:Java + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Terminal + + + + + + + + persp.actionSet:org.eclipse.mylyn.doc.actionSet + persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation + persp.actionSet:org.eclipse.ui.cheatsheets.actionSet + persp.actionSet:org.eclipse.search.searchActionSet + persp.actionSet:org.eclipse.text.quicksearch.actionSet + persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo + persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet + persp.actionSet:org.eclipse.ui.actionSet.keyBindings + persp.actionSet:org.eclipse.ui.actionSet.openFiles + persp.viewSC:org.eclipse.ui.views.ProgressView + persp.viewSC:org.eclipse.ui.texteditor.TemplatesView + persp.actionSet:org.eclipse.debug.ui.launchActionSet + persp.actionSet:org.eclipse.debug.ui.debugActionSet + persp.actionSet:org.eclipse.ui.NavigateActionSet + persp.viewSC:org.eclipse.debug.ui.DebugView + persp.viewSC:org.eclipse.debug.ui.VariableView + persp.viewSC:org.eclipse.debug.ui.BreakpointView + persp.viewSC:org.eclipse.debug.ui.ExpressionView + persp.viewSC:org.eclipse.ui.views.ContentOutline + persp.viewSC:org.eclipse.ui.console.ConsoleView + persp.viewSC:org.eclipse.ui.views.ProblemView + persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer + persp.viewSC:org.eclipse.pde.runtime.LogView + persp.actionSet:org.eclipse.debug.ui.breakpointActionSet + persp.perspSC:org.eclipse.wst.xml.ui.perspective + persp.perspSC:org.eclipse.jdt.ui.JavaPerspective + persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective + persp.actionSet:org.eclipse.jdt.ui.JavaActionSet + persp.showIn:org.eclipse.jdt.ui.PackageExplorer + persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet + persp.viewSC:org.eclipse.jdt.debug.ui.DisplayView + persp.showIn:org.eclipse.egit.ui.RepositoriesView + persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet + persp.showIn:org.eclipse.eclemma.ui.CoverageView + persp.viewSC:org.eclipse.tm.terminal.view.ui.TerminalsView + persp.showIn:org.eclipse.tm.terminal.view.ui.TerminalsView + persp.viewSC:org.eclipse.jdt.junit.ResultView + persp.viewSC:org.eclipse.ant.ui.views.AntView + persp.viewSC:org.eclipse.datatools.sqltools.result.resultView + persp.perspSC:org.eclipse.datatools.sqltools.sqleditor.perspectives.EditorPerspective + + + org.eclipse.e4.primaryNavigationStack + + View + categoryTag:Debug + + + View + categoryTag:General + + + View + categoryTag:Server + + + View + categoryTag:Java + + + View + categoryTag:Java + + + View + categoryTag:Java + + + + + + + org.eclipse.e4.secondaryNavigationStack + Minimized + + View + categoryTag:Debug + + + View + categoryTag:Debug + + + View + categoryTag:Debug + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Ant + + + + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Debug + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Debug + + + View + categoryTag:General + + + View + categoryTag:Terminal + + + View + categoryTag:Data Management + + + + + + + + + View + categoryTag:Help + + + View + categoryTag:General + + + View + categoryTag:Help + + + + + + + View + categoryTag:Help + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Help + + + + org.eclipse.e4.primaryDataStack + EditorStack + active + + + Editor + removeOnHide + org.eclipse.jdt.ui.CompilationUnitEditor + active + activeOnClose + + + + Editor + removeOnHide + org.eclipse.jdt.ui.CompilationUnitEditor + + + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:General + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java Browsing + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:General + + + + + + View + categoryTag:Server + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Data Management + + + + + View + categoryTag:General + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:General + + + + + + View + categoryTag:General + highlighted + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + + View + categoryTag:Mylyn + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:General + + + + + + View + categoryTag:Java + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java + + + + + View + categoryTag:General + + + + + View + categoryTag:Git + + + + + + View + categoryTag:Terminal + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Java + + + + + View + categoryTag:Ant + + + + + View + categoryTag:Debug + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Debug + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Debug + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:General + + + + + View + categoryTag:Debug + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Data Management + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + toolbarSeparator + + + + Draggable + + + + toolbarSeparator + + + + Draggable + + + toolbarSeparator + + + + Draggable + + + Draggable + + + Draggable + + + Draggable + + + Draggable + + + Draggable + + + Draggable + + + toolbarSeparator + + + + Draggable + + + + Draggable + + + Draggable + + + toolbarSeparator + + + + toolbarSeparator + + + + Draggable + + + stretch + SHOW_RESTORE_MENU + + + Draggable + HIDEABLE + SHOW_RESTORE_MENU + + + + + stretch + + + Draggable + + + Draggable + + + + + TrimStack + Draggable + + + TrimStack + Draggable + + + TrimStack + Draggable + + + TrimStack + Draggable + + + + + TrimStack + Draggable + + + TrimStack + Draggable + + + TrimStack + Draggable + + + TrimStack + Draggable + + + TrimStack + Draggable + + + TrimStack + Draggable + + + TrimStack + Draggable + + + + + + + + + + + + + + + + + + + + + platform:win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + platform:win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Editor + removeOnHide + + + + + View + categoryTag:Ant + + + + + View + categoryTag:Gradle + + + + + View + categoryTag:Gradle + + + + + View + categoryTag:Data Management + + + + + View + categoryTag:Data Management + + + + + View + categoryTag:Data Management + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Java + + + + + View + categoryTag:Git + + + + + View + categoryTag:Git + + + + + View + categoryTag:Git + + + + + View + categoryTag:Git + NoRestore + + + + + View + categoryTag:Git + + + + + View + categoryTag:General + + + + + View + categoryTag:Help + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java Browsing + + + + + View + categoryTag:Java Browsing + + + + + View + categoryTag:Java Browsing + + + + + View + categoryTag:Java Browsing + + + + + View + categoryTag:Java + + + + + View + categoryTag:General + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java + + + + + View + categoryTag:JPA + + + + + View + categoryTag:JPA + + + + + View + categoryTag:JavaServer Faces + + + + + View + categoryTag:JavaServer Faces + + + + + View + categoryTag:Web Services + + + + + View + categoryTag:Maven + + + + + View + categoryTag:Maven + + + + + View + categoryTag:Mylyn + + + + + View + categoryTag:Mylyn + + + + + View + categoryTag:Mylyn + + + + + View + categoryTag:Oomph + + + + + View + categoryTag:API Tools + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:Version Control (Team) + + + + + View + categoryTag:Version Control (Team) + + + View + categoryTag:Help + + + + + View + categoryTag:Terminal + + + + + View + categoryTag:Other + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:Help + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Other + + + + + View + categoryTag:Other + + + + + View + categoryTag:Other + + + + + View + categoryTag:Server + + + + + View + categoryTag:XML + + + + + View + categoryTag:XML + + + + + View + categoryTag:XML + + + + + View + categoryTag:XML + + + + + View + categoryTag:XML + + + + glue + move_after:PerspectiveSpacer + SHOW_RESTORE_MENU + + + move_after:Spacer Glue + HIDEABLE + SHOW_RESTORE_MENU + + + glue + move_after:SearchField + SHOW_RESTORE_MENU + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1033149260.index b/.metadata/.plugins/org.eclipse.jdt.core/1033149260.index new file mode 100644 index 0000000..a5eb458 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1033149260.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1045781273.index b/.metadata/.plugins/org.eclipse.jdt.core/1045781273.index new file mode 100644 index 0000000..754c7ca Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1045781273.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1129749041.index b/.metadata/.plugins/org.eclipse.jdt.core/1129749041.index new file mode 100644 index 0000000..70965d8 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1129749041.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1148937498.index b/.metadata/.plugins/org.eclipse.jdt.core/1148937498.index new file mode 100644 index 0000000..f551ad2 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1148937498.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1169044391.index b/.metadata/.plugins/org.eclipse.jdt.core/1169044391.index new file mode 100644 index 0000000..0e4631c Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1169044391.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/119770048.index b/.metadata/.plugins/org.eclipse.jdt.core/119770048.index new file mode 100644 index 0000000..0ea57e1 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/119770048.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/12703767.index b/.metadata/.plugins/org.eclipse.jdt.core/12703767.index new file mode 100644 index 0000000..d1eb0b6 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/12703767.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1315988683.index b/.metadata/.plugins/org.eclipse.jdt.core/1315988683.index new file mode 100644 index 0000000..51d151c Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1315988683.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1361357789.index b/.metadata/.plugins/org.eclipse.jdt.core/1361357789.index new file mode 100644 index 0000000..4dd0d9d Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1361357789.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1391692745.index b/.metadata/.plugins/org.eclipse.jdt.core/1391692745.index new file mode 100644 index 0000000..5741b9e Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1391692745.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1542774334.index b/.metadata/.plugins/org.eclipse.jdt.core/1542774334.index new file mode 100644 index 0000000..392014d Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1542774334.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/162355792.index b/.metadata/.plugins/org.eclipse.jdt.core/162355792.index new file mode 100644 index 0000000..4ec9c07 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/162355792.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1708237293.index b/.metadata/.plugins/org.eclipse.jdt.core/1708237293.index new file mode 100644 index 0000000..2b8ffd8 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1708237293.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1741647643.index b/.metadata/.plugins/org.eclipse.jdt.core/1741647643.index new file mode 100644 index 0000000..8608fae Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1741647643.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1747079554.index b/.metadata/.plugins/org.eclipse.jdt.core/1747079554.index new file mode 100644 index 0000000..a5eb458 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1747079554.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1751380090.index b/.metadata/.plugins/org.eclipse.jdt.core/1751380090.index new file mode 100644 index 0000000..4085e2f Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1751380090.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1764277464.index b/.metadata/.plugins/org.eclipse.jdt.core/1764277464.index new file mode 100644 index 0000000..0fea6f2 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1764277464.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1887361675.index b/.metadata/.plugins/org.eclipse.jdt.core/1887361675.index new file mode 100644 index 0000000..84843ea Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1887361675.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1936075732.index b/.metadata/.plugins/org.eclipse.jdt.core/1936075732.index new file mode 100644 index 0000000..e077961 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1936075732.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1974196992.index b/.metadata/.plugins/org.eclipse.jdt.core/1974196992.index new file mode 100644 index 0000000..3758c62 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/1974196992.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2019305918.index b/.metadata/.plugins/org.eclipse.jdt.core/2019305918.index new file mode 100644 index 0000000..524abd8 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2019305918.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2107478018.index b/.metadata/.plugins/org.eclipse.jdt.core/2107478018.index new file mode 100644 index 0000000..2754c67 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2107478018.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2143688562.index b/.metadata/.plugins/org.eclipse.jdt.core/2143688562.index new file mode 100644 index 0000000..570f4dd Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2143688562.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2200875372.index b/.metadata/.plugins/org.eclipse.jdt.core/2200875372.index new file mode 100644 index 0000000..60989e0 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2200875372.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2259403217.index b/.metadata/.plugins/org.eclipse.jdt.core/2259403217.index new file mode 100644 index 0000000..1e4bc4c Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2259403217.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2300728607.index b/.metadata/.plugins/org.eclipse.jdt.core/2300728607.index new file mode 100644 index 0000000..21b4c19 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2300728607.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2323259943.index b/.metadata/.plugins/org.eclipse.jdt.core/2323259943.index new file mode 100644 index 0000000..77d787a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2323259943.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/240611728.index b/.metadata/.plugins/org.eclipse.jdt.core/240611728.index new file mode 100644 index 0000000..a5eb458 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/240611728.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2438078356.index b/.metadata/.plugins/org.eclipse.jdt.core/2438078356.index new file mode 100644 index 0000000..6e1d043 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2438078356.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2538946849.index b/.metadata/.plugins/org.eclipse.jdt.core/2538946849.index new file mode 100644 index 0000000..5afb348 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2538946849.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2583372910.index b/.metadata/.plugins/org.eclipse.jdt.core/2583372910.index new file mode 100644 index 0000000..1da65bc Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2583372910.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2609714019.index b/.metadata/.plugins/org.eclipse.jdt.core/2609714019.index new file mode 100644 index 0000000..6578a25 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2609714019.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2650571527.index b/.metadata/.plugins/org.eclipse.jdt.core/2650571527.index new file mode 100644 index 0000000..661cbc2 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2650571527.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2681979876.index b/.metadata/.plugins/org.eclipse.jdt.core/2681979876.index new file mode 100644 index 0000000..4fc2254 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2681979876.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2867191265.index b/.metadata/.plugins/org.eclipse.jdt.core/2867191265.index new file mode 100644 index 0000000..cc81a0c Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2867191265.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2965530040.index b/.metadata/.plugins/org.eclipse.jdt.core/2965530040.index new file mode 100644 index 0000000..c179806 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2965530040.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2973695523.index b/.metadata/.plugins/org.eclipse.jdt.core/2973695523.index new file mode 100644 index 0000000..bb37666 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2973695523.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2978256318.index b/.metadata/.plugins/org.eclipse.jdt.core/2978256318.index new file mode 100644 index 0000000..b87ff33 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/2978256318.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3005873205.index b/.metadata/.plugins/org.eclipse.jdt.core/3005873205.index new file mode 100644 index 0000000..715b445 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3005873205.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3054294075.index b/.metadata/.plugins/org.eclipse.jdt.core/3054294075.index new file mode 100644 index 0000000..b30d036 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3054294075.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3057300974.index b/.metadata/.plugins/org.eclipse.jdt.core/3057300974.index new file mode 100644 index 0000000..bdbbadc Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3057300974.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3068939992.index b/.metadata/.plugins/org.eclipse.jdt.core/3068939992.index new file mode 100644 index 0000000..859ad92 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3068939992.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3116278645.index b/.metadata/.plugins/org.eclipse.jdt.core/3116278645.index new file mode 100644 index 0000000..1bade52 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3116278645.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3140846345.index b/.metadata/.plugins/org.eclipse.jdt.core/3140846345.index new file mode 100644 index 0000000..8224d48 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3140846345.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3166927587.index b/.metadata/.plugins/org.eclipse.jdt.core/3166927587.index new file mode 100644 index 0000000..586555a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3166927587.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3177765073.index b/.metadata/.plugins/org.eclipse.jdt.core/3177765073.index new file mode 100644 index 0000000..7f99c15 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3177765073.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3195611511.index b/.metadata/.plugins/org.eclipse.jdt.core/3195611511.index new file mode 100644 index 0000000..1d027a9 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3195611511.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3214045241.index b/.metadata/.plugins/org.eclipse.jdt.core/3214045241.index new file mode 100644 index 0000000..524abd8 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3214045241.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3216779411.index b/.metadata/.plugins/org.eclipse.jdt.core/3216779411.index new file mode 100644 index 0000000..e02fd84 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3216779411.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3298669441.index b/.metadata/.plugins/org.eclipse.jdt.core/3298669441.index new file mode 100644 index 0000000..524c18a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3298669441.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3326599540.index b/.metadata/.plugins/org.eclipse.jdt.core/3326599540.index new file mode 100644 index 0000000..e3bed54 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3326599540.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3450831843.index b/.metadata/.plugins/org.eclipse.jdt.core/3450831843.index new file mode 100644 index 0000000..9d5fbaf Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3450831843.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3578157164.index b/.metadata/.plugins/org.eclipse.jdt.core/3578157164.index new file mode 100644 index 0000000..6d1f7d8 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3578157164.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3676174531.index b/.metadata/.plugins/org.eclipse.jdt.core/3676174531.index new file mode 100644 index 0000000..7f99c15 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3676174531.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3720716507.index b/.metadata/.plugins/org.eclipse.jdt.core/3720716507.index new file mode 100644 index 0000000..d036a7e Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3720716507.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/373859136.index b/.metadata/.plugins/org.eclipse.jdt.core/373859136.index new file mode 100644 index 0000000..7e0dde2 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/373859136.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3768216373.index b/.metadata/.plugins/org.eclipse.jdt.core/3768216373.index new file mode 100644 index 0000000..ba27449 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3768216373.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3839578677.index b/.metadata/.plugins/org.eclipse.jdt.core/3839578677.index new file mode 100644 index 0000000..e69ef1a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3839578677.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3899116099.index b/.metadata/.plugins/org.eclipse.jdt.core/3899116099.index new file mode 100644 index 0000000..ec42719 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3899116099.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3906867743.index b/.metadata/.plugins/org.eclipse.jdt.core/3906867743.index new file mode 100644 index 0000000..7f99c15 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3906867743.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3931442490.index b/.metadata/.plugins/org.eclipse.jdt.core/3931442490.index new file mode 100644 index 0000000..507459e Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3931442490.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3954683424.index b/.metadata/.plugins/org.eclipse.jdt.core/3954683424.index new file mode 100644 index 0000000..dfd3473 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3954683424.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3993276655.index b/.metadata/.plugins/org.eclipse.jdt.core/3993276655.index new file mode 100644 index 0000000..6a3ba7a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/3993276655.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4014383386.index b/.metadata/.plugins/org.eclipse.jdt.core/4014383386.index new file mode 100644 index 0000000..84843ea Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4014383386.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4032157952.index b/.metadata/.plugins/org.eclipse.jdt.core/4032157952.index new file mode 100644 index 0000000..eacc250 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4032157952.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4073173062.index b/.metadata/.plugins/org.eclipse.jdt.core/4073173062.index new file mode 100644 index 0000000..524abd8 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4073173062.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4075415788.index b/.metadata/.plugins/org.eclipse.jdt.core/4075415788.index new file mode 100644 index 0000000..e02fd84 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4075415788.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4086025153.index b/.metadata/.plugins/org.eclipse.jdt.core/4086025153.index new file mode 100644 index 0000000..4085e2f Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4086025153.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4093528999.index b/.metadata/.plugins/org.eclipse.jdt.core/4093528999.index new file mode 100644 index 0000000..10237e7 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4093528999.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4110137968.index b/.metadata/.plugins/org.eclipse.jdt.core/4110137968.index new file mode 100644 index 0000000..84843ea Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4110137968.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4137515924.index b/.metadata/.plugins/org.eclipse.jdt.core/4137515924.index new file mode 100644 index 0000000..5adf77e Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4137515924.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4141162951.index b/.metadata/.plugins/org.eclipse.jdt.core/4141162951.index new file mode 100644 index 0000000..9d546f7 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4141162951.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4149139292.index b/.metadata/.plugins/org.eclipse.jdt.core/4149139292.index new file mode 100644 index 0000000..9f12d8d Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4149139292.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4159017284.index b/.metadata/.plugins/org.eclipse.jdt.core/4159017284.index new file mode 100644 index 0000000..15c0969 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4159017284.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4206142690.index b/.metadata/.plugins/org.eclipse.jdt.core/4206142690.index new file mode 100644 index 0000000..97d73c0 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4206142690.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4224972657.index b/.metadata/.plugins/org.eclipse.jdt.core/4224972657.index new file mode 100644 index 0000000..d8ab14e Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4224972657.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4258721816.index b/.metadata/.plugins/org.eclipse.jdt.core/4258721816.index new file mode 100644 index 0000000..8b5dc1c Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/4258721816.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/446698966.index b/.metadata/.plugins/org.eclipse.jdt.core/446698966.index new file mode 100644 index 0000000..ec2f5d7 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/446698966.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/468708626.index b/.metadata/.plugins/org.eclipse.jdt.core/468708626.index new file mode 100644 index 0000000..91969be Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/468708626.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/561689436.index b/.metadata/.plugins/org.eclipse.jdt.core/561689436.index new file mode 100644 index 0000000..0be248b Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/561689436.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/578787319.index b/.metadata/.plugins/org.eclipse.jdt.core/578787319.index new file mode 100644 index 0000000..bbbf930 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/578787319.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/601485618.index b/.metadata/.plugins/org.eclipse.jdt.core/601485618.index new file mode 100644 index 0000000..7a55829 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/601485618.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/608004496.index b/.metadata/.plugins/org.eclipse.jdt.core/608004496.index new file mode 100644 index 0000000..e3b59b4 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/608004496.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/609299637.index b/.metadata/.plugins/org.eclipse.jdt.core/609299637.index new file mode 100644 index 0000000..c77060e Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/609299637.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/615226062.index b/.metadata/.plugins/org.eclipse.jdt.core/615226062.index new file mode 100644 index 0000000..5aee856 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/615226062.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/62733713.index b/.metadata/.plugins/org.eclipse.jdt.core/62733713.index new file mode 100644 index 0000000..2ae87cc Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/62733713.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/686889833.index b/.metadata/.plugins/org.eclipse.jdt.core/686889833.index new file mode 100644 index 0000000..ca53310 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/686889833.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/693608451.index b/.metadata/.plugins/org.eclipse.jdt.core/693608451.index new file mode 100644 index 0000000..4085e2f Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/693608451.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/699020011.index b/.metadata/.plugins/org.eclipse.jdt.core/699020011.index new file mode 100644 index 0000000..e27786d Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/699020011.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/711050520.index b/.metadata/.plugins/org.eclipse.jdt.core/711050520.index new file mode 100644 index 0000000..07136ec Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/711050520.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/760714027.index b/.metadata/.plugins/org.eclipse.jdt.core/760714027.index new file mode 100644 index 0000000..36be204 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/760714027.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/851544856.index b/.metadata/.plugins/org.eclipse.jdt.core/851544856.index new file mode 100644 index 0000000..5712aba Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/851544856.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/858989570.index b/.metadata/.plugins/org.eclipse.jdt.core/858989570.index new file mode 100644 index 0000000..04dc336 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/858989570.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/891793771.index b/.metadata/.plugins/org.eclipse.jdt.core/891793771.index new file mode 100644 index 0000000..e02fd84 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/891793771.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/8944736.index b/.metadata/.plugins/org.eclipse.jdt.core/8944736.index new file mode 100644 index 0000000..67d636f Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/8944736.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/934030048.index b/.metadata/.plugins/org.eclipse.jdt.core/934030048.index new file mode 100644 index 0000000..4d3457e Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/934030048.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/96814854.index b/.metadata/.plugins/org.eclipse.jdt.core/96814854.index new file mode 100644 index 0000000..5e413ad Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/96814854.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/978179035.index b/.metadata/.plugins/org.eclipse.jdt.core/978179035.index new file mode 100644 index 0000000..5dc45e3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/978179035.index differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache b/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache new file mode 100644 index 0000000..593f470 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache b/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache new file mode 100644 index 0000000..4f37871 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps new file mode 100644 index 0000000..5f29769 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt b/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt new file mode 100644 index 0000000..cfc6fb9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt @@ -0,0 +1 @@ +INDEX VERSION 1.131 diff --git a/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt b/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt new file mode 100644 index 0000000..8586397 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt @@ -0,0 +1 @@ +java \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache new file mode 100644 index 0000000..8dc6dbf Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/participantsIndexNames.txt b/.metadata/.plugins/org.eclipse.jdt.core/participantsIndexNames.txt new file mode 100644 index 0000000..d723092 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jdt.core/participantsIndexNames.txt @@ -0,0 +1,3 @@ +INDEX VERSION 1.131 +E:\1_CODING\LearnJava\Java-Pre\.metadata\.plugins\org.eclipse.jst.jsp.core\jspsearch\3071318588.index +\SoapWebServiceExampleClient\src\main\java diff --git a/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt b/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt new file mode 100644 index 0000000..68d593e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt @@ -0,0 +1,37 @@ +INDEX VERSION 1.131+E:\1_CODING\LearnJava\Java-Pre\.metadata\.plugins\org.eclipse.jdt.core +3676174531.index +4110137968.index +3195611511.index +1033149260.index +1361357789.index +3216779411.index +3214045241.index +2259403217.index +4086025153.index +1974196992.index +2965530040.index +2867191265.index +2650571527.index +3298669441.index +4075415788.index +1751380090.index +4014383386.index +693608451.index +1747079554.index +4141162951.index +891793771.index +2019305918.index +4073173062.index +2978256318.index +4137515924.index +2300728607.index +3906867743.index +1129749041.index +1887361675.index +446698966.index +4206142690.index +2107478018.index +3057300974.index +4032157952.index +240611728.index +3177765073.index diff --git a/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat new file mode 100644 index 0000000..a8d3b1a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat differ diff --git a/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml new file mode 100644 index 0000000..91afe4d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml @@ -0,0 +1,9 @@ + +
+ + + + +
+
+
diff --git a/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml b/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml new file mode 100644 index 0000000..ee6aabe --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml b/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml new file mode 100644 index 0000000..7b7f0d5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml b/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml new file mode 100644 index 0000000..cf84ad1 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml new file mode 100644 index 0000000..7beef5b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml new file mode 100644 index 0000000..83ced89 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml @@ -0,0 +1,133 @@ + +
+ + + + +
+
+
+ +
+
+ + +
+
+
+
+
+
+ + +
+
+ + + + + +
+
+ + + + + + + + + + +
+
+ + +
+
+ + + + + +
+
+ + + + + +
+
+ +
+
+ + + +
+
+ + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + + +
+
+ +
+
+ + + + + +
+
+ + +
+ + + + + +
+
+
diff --git a/.metadata/.plugins/org.eclipse.jst.j2ee.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.jst.j2ee.ui/dialog_settings.xml new file mode 100644 index 0000000..6e3286f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jst.j2ee.ui/dialog_settings.xml @@ -0,0 +1,6 @@ + +
+ + + +
diff --git a/.metadata/.plugins/org.eclipse.jst.j2ee.web/webLibrariesCache.index b/.metadata/.plugins/org.eclipse.jst.j2ee.web/webLibrariesCache.index new file mode 100644 index 0000000..9eca72d Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jst.j2ee.web/webLibrariesCache.index differ diff --git a/.metadata/.plugins/org.eclipse.jst.j2ee/earLibrariesCache.index b/.metadata/.plugins/org.eclipse.jst.j2ee/earLibrariesCache.index new file mode 100644 index 0000000..1494657 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jst.j2ee/earLibrariesCache.index differ diff --git a/.metadata/.plugins/org.eclipse.jst.jsp.core/jspsearch/3071318588.index b/.metadata/.plugins/org.eclipse.jst.jsp.core/jspsearch/3071318588.index new file mode 100644 index 0000000..8f6fa75 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.jst.jsp.core/jspsearch/3071318588.index differ diff --git a/.metadata/.plugins/org.eclipse.jst.ws.axis.creation.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.jst.ws.axis.creation.ui/dialog_settings.xml new file mode 100644 index 0000000..2f133ee --- /dev/null +++ b/.metadata/.plugins/org.eclipse.jst.ws.axis.creation.ui/dialog_settings.xml @@ -0,0 +1,6 @@ + +
+ + + +
diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/11/47/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/11/47/refactorings.history new file mode 100644 index 0000000..3b8a21e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/11/47/refactorings.history @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/11/47/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/11/47/refactorings.index new file mode 100644 index 0000000..1813fe5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/11/47/refactorings.index @@ -0,0 +1,3 @@ +1637049572843 Delete resource 'SoapWebServiceExample' +1637057606323 Delete resource 'SoapWebServiceExample2' +1637234925207 Delete resource 'RestfulWebServiceExample' diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Currency-Converter/2021/11/46/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Currency-Converter/2021/11/46/refactorings.history new file mode 100644 index 0000000..40cd791 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Currency-Converter/2021/11/46/refactorings.history @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Currency-Converter/2021/11/46/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Currency-Converter/2021/11/46/refactorings.index new file mode 100644 index 0000000..d5cedae --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Currency-Converter/2021/11/46/refactorings.index @@ -0,0 +1 @@ +1636627936740 Rename resource 'data-money' diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-DOM/2021/11/46/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-DOM/2021/11/46/refactorings.history new file mode 100644 index 0000000..0064df4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-DOM/2021/11/46/refactorings.history @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-DOM/2021/11/46/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-DOM/2021/11/46/refactorings.index new file mode 100644 index 0000000..1f295ca --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-DOM/2021/11/46/refactorings.index @@ -0,0 +1,2 @@ +1636617886548 Move file +1636617926568 Move file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-IoC/2021/11/47/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-IoC/2021/11/47/refactorings.history new file mode 100644 index 0000000..57cc92b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-IoC/2021/11/47/refactorings.history @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-IoC/2021/11/47/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-IoC/2021/11/47/refactorings.index new file mode 100644 index 0000000..5a9f688 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-IoC/2021/11/47/refactorings.index @@ -0,0 +1 @@ +1636963753257 Delete element diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-String/2021/11/46/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-String/2021/11/46/refactorings.history new file mode 100644 index 0000000..12a8399 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-String/2021/11/46/refactorings.history @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-String/2021/11/46/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-String/2021/11/46/refactorings.index new file mode 100644 index 0000000..1feda85 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-String/2021/11/46/refactorings.index @@ -0,0 +1 @@ +1636591311008 Rename compilation unit 'StringBuffer.java' diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-Tight-Coupling/2021/11/47/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-Tight-Coupling/2021/11/47/refactorings.history new file mode 100644 index 0000000..610d6f0 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-Tight-Coupling/2021/11/47/refactorings.history @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-Tight-Coupling/2021/11/47/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-Tight-Coupling/2021/11/47/refactorings.index new file mode 100644 index 0000000..66e0c04 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Java-Tight-Coupling/2021/11/47/refactorings.index @@ -0,0 +1 @@ +1636960265307 Move compilation unit diff --git a/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml new file mode 100644 index 0000000..87ba093 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml @@ -0,0 +1,11 @@ + +
+
+ + +
+
+ + +
+
diff --git a/.metadata/.plugins/org.eclipse.m2e.core.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.m2e.core.ui/dialog_settings.xml new file mode 100644 index 0000000..0f79985 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.m2e.core.ui/dialog_settings.xml @@ -0,0 +1,97 @@ + +
+
+ + + + + + + + + + + +
+
+ + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ + + + + + + + + + + +
+
+ + + + + + + + + + + +
+
diff --git a/.metadata/.plugins/org.eclipse.m2e.core/RestfulWebServiceExample.lifecyclemapping b/.metadata/.plugins/org.eclipse.m2e.core/RestfulWebServiceExample.lifecyclemapping new file mode 100644 index 0000000..eeac217 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.m2e.core/RestfulWebServiceExample.lifecyclemapping differ diff --git a/.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser b/.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser new file mode 100644 index 0000000..a52c9d4 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser differ diff --git a/.metadata/.plugins/org.eclipse.m2e.core/workspacestate.properties b/.metadata/.plugins/org.eclipse.m2e.core/workspacestate.properties new file mode 100644 index 0000000..2d6424d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.m2e.core/workspacestate.properties @@ -0,0 +1,4 @@ +#Thu Nov 18 18:30:10 ICT 2021 +RestfulWebServiceExample\:RestfulWebServiceExample\:pom\:\:0.0.1-SNAPSHOT=E\:\\1_CODING\\LearnJava\\Java-Tutorial\\RestfulWebServiceExample\\pom.xml +RestfulWebServiceExample\:RestfulWebServiceExample\:jar\:tests\:0.0.1-SNAPSHOT=E\:\\1_CODING\\LearnJava\\Java-Tutorial\\RestfulWebServiceExample\\target\\test-classes +RestfulWebServiceExample\:RestfulWebServiceExample\:war\:\:0.0.1-SNAPSHOT=E\:\\1_CODING\\LearnJava\\Java-Tutorial\\RestfulWebServiceExample\\target\\classes diff --git a/.metadata/.plugins/org.eclipse.m2e.jdt/RestfulWebServiceExample.container b/.metadata/.plugins/org.eclipse.m2e.jdt/RestfulWebServiceExample.container new file mode 100644 index 0000000..8bca0d2 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.m2e.jdt/RestfulWebServiceExample.container differ diff --git a/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.16.1.20210603-1006.xml b/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.16.1.20210603-1006.xml new file mode 100644 index 0000000..e33758c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.16.1.20210603-1006.xml @@ -0,0 +1,43 @@ + + + + %date [%thread] %-5level %logger{35} - %msg%n + + + OFF + + + + + ${org.eclipse.m2e.log.dir}/0.log + + ${org.eclipse.m2e.log.dir}/%i.log + 1 + 10 + + + 100MB + + + %date [%thread] %-5level %logger{35} - %msg%n + + + + + + WARN + + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup b/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup new file mode 100644 index 0000000..1f73e14 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup @@ -0,0 +1,6 @@ + + diff --git a/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties b/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties new file mode 100644 index 0000000..5b90b98 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties @@ -0,0 +1,2 @@ +#Cached timestamps +#Thu Nov 18 18:30:54 ICT 2021 diff --git a/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml b/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml new file mode 100644 index 0000000..5ca0b77 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml @@ -0,0 +1,3 @@ + +
+
diff --git a/.metadata/.plugins/org.eclipse.tm.terminal.view.ui/.executables/data.properties b/.metadata/.plugins/org.eclipse.tm.terminal.view.ui/.executables/data.properties new file mode 100644 index 0000000..46a5f0b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.tm.terminal.view.ui/.executables/data.properties @@ -0,0 +1,98 @@ +#Thu Nov 11 07:37:00 ICT 2021 +1.Name=Copyright (c) Microsoft Corporation. All rights reserved. (WSL) +0.Icon=C\:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico +8.Path=C\:\\WINDOWS\\System32\\wsl.exe +16.Translate=true +5.Translate=true +5.Args=--distribution Install Windows Subsystem for Linux features. If no options are specified, +11.Path=C\:\\WINDOWS\\System32\\wsl.exe +7.Path=C\:\\WINDOWS\\System32\\wsl.exe +4.Args=--distribution --install +2.Name=Usage\: wsl.exe [Argument] (WSL) +15.Name=wsl --install -d Ubuntu (WSL) +22.Args=--distribution --help +10.Path=C\:\\WINDOWS\\System32\\wsl.exe +9.Path=C\:\\WINDOWS\\System32\\wsl.exe +20.Args=--distribution --online, -o +18.Args=--distribution Lists distributions. +23.Args=--distribution Display usage information. +4.Translate=true +6.Path=C\:\\WINDOWS\\System32\\wsl.exe +16.Name=wsl --install --distribution Debian (WSL) +3.Name=Arguments\: (WSL) +13.Name=A valid distribution name (not case sensitive). (WSL) +0.Name=Git Bash +5.Path=C\:\\WINDOWS\\System32\\wsl.exe +12.Name=Arguments\: (WSL) +19.Path=C\:\\WINDOWS\\System32\\wsl.exe +18.Translate=true +14.Path=C\:\\WINDOWS\\System32\\wsl.exe +4.Name=--install (WSL) +17.Args=--distribution --list, -l [Options] +13.Path=C\:\\WINDOWS\\System32\\wsl.exe +10.Translate=true +15.Translate=true +11.Args=--distribution Specifies the distribution to be downloaded and installed by name. +18.Name=Lists distributions. (WSL) +2.Translate=true +23.Translate=true +0.Args=--login -i +22.Name=--help (WSL) +21.Args=--distribution Displays a list of available distributions for install with 'wsl --install'. +3.Args=--distribution Arguments\: +6.Args=--distribution the recommended features will be installed along with the default distribution. +9.Args=--distribution Options\: +20.Path=C\:\\WINDOWS\\System32\\wsl.exe +23.Path=C\:\\WINDOWS\\System32\\wsl.exe +2.Path=C\:\\WINDOWS\\System32\\wsl.exe +7.Name=To view the default distribution as well as a list of other valid distributions, (WSL) +20.Translate=true +16.Path=C\:\\WINDOWS\\System32\\wsl.exe +23.Name=Display usage information. (WSL) +8.Translate=true +17.Path=C\:\\WINDOWS\\System32\\wsl.exe +3.Path=C\:\\WINDOWS\\System32\\wsl.exe +13.Translate=true +1.Translate=true +14.Args=--distribution Examples\: +8.Name=use 'wsl --list --online'. (WSL) +12.Args=--distribution Arguments\: +1.Path=C\:\\WINDOWS\\System32\\wsl.exe +15.Args=--distribution wsl --install -d Ubuntu +7.Translate=true +6.Name=the recommended features will be installed along with the default distribution. (WSL) +9.Name=Options\: (WSL) +12.Translate=true +19.Name=Options\: (WSL) +0.Translate=true +21.Name=Displays a list of available distributions for install with 'wsl --install'. (WSL) +19.Translate=true +10.Name=--distribution, -d [Argument] (WSL) +2.Args=--distribution Usage\: wsl.exe [Argument] +22.Translate=true +22.Path=C\:\\WINDOWS\\System32\\wsl.exe +8.Args=--distribution use 'wsl --list --online'. +3.Translate=true +11.Translate=true +10.Args=--distribution --distribution, -d [Argument] +0.Path=C\:\\Program Files\\Git\\bin\\sh.exe +4.Path=C\:\\WINDOWS\\System32\\wsl.exe +6.Translate=true +7.Args=--distribution To view the default distribution as well as a list of other valid distributions, +20.Name=--online, -o (WSL) +21.Path=C\:\\WINDOWS\\System32\\wsl.exe +5.Name=Install Windows Subsystem for Linux features. If no options are specified, (WSL) +1.Args=--distribution Copyright (c) Microsoft Corporation. All rights reserved. +11.Name=Specifies the distribution to be downloaded and installed by name. (WSL) +18.Path=C\:\\WINDOWS\\System32\\wsl.exe +21.Translate=true +12.Path=C\:\\WINDOWS\\System32\\wsl.exe +9.Translate=true +17.Name=--list, -l [Options] (WSL) +14.Name=Examples\: (WSL) +17.Translate=true +13.Args=--distribution A valid distribution name (not case sensitive). +16.Args=--distribution wsl --install --distribution Debian +14.Translate=true +19.Args=--distribution Options\: +15.Path=C\:\\WINDOWS\\System32\\wsl.exe diff --git a/.metadata/.plugins/org.eclipse.tm.terminal.view.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.tm.terminal.view.ui/dialog_settings.xml new file mode 100644 index 0000000..cad2da0 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.tm.terminal.view.ui/dialog_settings.xml @@ -0,0 +1,13 @@ + +
+
+ +
+
+
+
+ +
+
+
+
diff --git a/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml new file mode 100644 index 0000000..50f1edb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml @@ -0,0 +1,5 @@ + +
+
+
+
diff --git a/.metadata/.plugins/org.eclipse.ui.intro/introstate b/.metadata/.plugins/org.eclipse.ui.intro/introstate new file mode 100644 index 0000000..02f134f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ui.intro/introstate @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml new file mode 100644 index 0000000..17d1b68 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml @@ -0,0 +1,22 @@ + +
+
+ + + + + + + + + + +
+
+ + + + + +
+
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml new file mode 100644 index 0000000..e107ceb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml @@ -0,0 +1,22 @@ + +
+
+ + + + + +
+
+ + + + + + + + + + +
+
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml b/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml new file mode 100644 index 0000000..3f8905e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wildwebdeveloper.xml/system-catalog.xml b/.metadata/.plugins/org.eclipse.wildwebdeveloper.xml/system-catalog.xml new file mode 100644 index 0000000..1bb5695 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wildwebdeveloper.xml/system-catalog.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wst.common.project.facet.core/prefs.xml b/.metadata/.plugins/org.eclipse.wst.common.project.facet.core/prefs.xml new file mode 100644 index 0000000..9a2f39d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.common.project.facet.core/prefs.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.wst.internet.cache/1945877196.cache b/.metadata/.plugins/org.eclipse.wst.internet.cache/1945877196.cache new file mode 100644 index 0000000..0a1a564 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.internet.cache/1945877196.cache @@ -0,0 +1,2437 @@ + + + + + + This document contains the test assertions for the WS-I Attachments Profile 1.0 + combined with the test assertions for the WS-I Simple Soap Binding Profile 1.0 and WS-I Basic Profile 1.1. + These test assertions are used by the analyzer testing tool to determine if + a Web service is conformant to the Attachments Profile 1.0 in conjunction with the Simple Soap Binding Profile 1.0 and the Basic Profile 1.1. + + + + + + + + David Lauzon + Shrikant Wagh + + + Simeon Greene (Oracle Corporation), + Narendra Patil (Optimyz Software, Inc.), + Keith Stobie (Microsoft Corporation) + + + + + + + + + + + The Basic Profile requires support for UDDI V2.0. + + + For a candidate uddi:tModel + The uddi:tModel element uses WSDL as the description language and +the uddi:tModel contains a reference to a WSDL binding. +The uddi:overviewDoc/uddi:overviewURL element contains a reference to a WSDL definition, +which uses a namespace of http://schemas.xmlsoap.org/wsdl/. The uddi:overviewURL may +use the fragment notation to resolve to a specific wsdl:binding. + The uddi:tModel does not reference a WSDL based Web service +definition or the uddi:tModel does not reference a wsdl:binding. + {tModel key}{uddi:overviewDoc} + + definitions + + + + R3002 + R3010 + R3011 + + + + + For a candidate uddi:bindingTemplate + The uddi:bindingTemplate element contains a uddi:accessPoint element, with a non-empty value. + The uddi:bindingTemplate does not contain an uddi:accessPoint element, or it is empty. + bindingTemplate key + + + + R3100 + + + + + For a candidate uddi:tModel + The uddi:tModel is categorized using the uddi:types taxonomy, as "wsdlSpec": the uddi:keyedReference element has a tModelKey attribute value equal to "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4" and a keyValue attribute value equal to "wsdlSpec". + + The uddi:tModel is not categorized using the uddi:types taxonomy with a categorization of "wsdlSpec". + {tModel key}{categoryBag} + + + + R3003 + + + + + Driver testable. + Driver testable. + Driver testable. + + + + + All of these profile requirements are testable only by using a driver test program, since a test assertion would +require application-level knowledge of the message exchange. + + + + + + + + + + + + The Basic Profile requires support for XML Schema 1.0 and WSDL 1.1. + + + For a candidate Web service definition within a WSDL document with a XML declaration statement. + The XML declaration statement uses UTF-8 or UTF-16 for the encoding. + XML declaration statement within WSDL document does not use expected encoding (UTF-8 or UTF-16). + XML declaration statement. + + + + R4003 + + checks WSDL encoding. + + + For a candidate wsdl:types element within a WSDL document which imports an XML schema directly or indirectly. + The imported schema uses UTF-8 or UTF-16 for the encoding. + The XML declaration statement within the imported XML Schema does not +use expected encoding (UTF-8 or UTF-16). + XML declaration statement. + + + + R2010 + + + + + For a candidate wsdl:definitions element within a WSDL document. + The wsdl:definitions is a well-formed XML 1.0 document. + The wsdl:definitions is not a well-formed XML 1.0 document. + Error message from the XML parser + + + + R4004 + R0001 + + 1st step in a 3-phase verification process: XML+namespace+schemavalid. + + + For a candidate wsdl:types element, with XML schema import elements + Each XML schema import statement (xsd:import) is only used to directly reference an XML schema definition, which has "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element. It does not contain a reference to another document embedding the XML schema definition (e.g. WSDL). + An XML schema import element references something other than an XML schema definition: the referenced element does not have "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element. + Defective XML schema import element. + + + + R2002 + R2004 + + NOTE: XML schema definitions within a WSDL document must adhere to the same rules as XML schema definitions which appear in separate XSD files. For example, two WSDL definitions can not contain the same complex type definition for the same targetNamespace. + + + For a candidate wsdl:types element within a WSDL document, which imports an XML schema directly or indirectly + The imported XML schema is a well-formed XML 1.0 document and if it contains an +XML declaration, it is version 1.0. + The imported XML schema is not a well-formed XML 1.0 document. + {Error message from the XML parser}{imported XML schema} + + + BP2102 + + + R2011 + + + + + For a candidate wsdl:definitions element within a WSDL document. + The wsdl:definitions namespace has value: http://schemas.xmlsoap.org/wsdl/. + The wsdl:definitions namespace is not: http://schemas.xmlsoap.org/wsdl/. + + + + + R0001 + + 2nd step in a 3-phase verification process: XML+namespace+schemavalid. + + + For a candidate description within a WSDL document + If it uses the WSDL namespace, then it conforms to the schema located at http://ws-i.org/profiles/basic/1.1/wsdl-2004-08-24.xsd, and if it uses the WSDL-SOAP binding namespace then it conforms to the schema located at http://schemas.xmlsoap.org/wsdl/soap/2003-02-11.xsd. + WSDL definition does not conform to the schema located at http://ws-i.org/profiles/basic/1.1/wsdl-2004-08-24.xsd for some element using the WSDL-SOAP binding namespace, or does not conform to the schema located at http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd for some element using the WSDL namespace. + Error message from the XML parser. + + + + R2029 + R2028 + R0001 + + A description using WSDL-SOAP namespace is prefixed soapbind: in this doc as well as in the profile def. This verification is 3rd step in a 3-phase verification process: XML+namespace+schemavalid. + + + For a candidate description within a WSDL document + The candidate description does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + The candidate description contains the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + + + + BP2703 + + + R1034 + R4005 + + + + + For a candidate Web service definition with wsdl:types elements + The wsdl:types elements occur either as first children in the WSDL namespace of the wsdl:definitions element, or they are only preceded by wsdl:documentation element(s) and/or wsdl:import(s) element(s). + wsdl:types element(s) in the WSDL namespace of the wsdl:definitions element were preceded by child elements other than wsdl:documentation or wsdl:import elements. + + + + BP2703 + + + R2023 + R2030 + + + + + For a candidate wsdl:operation in a wsdl:portType definition + The wsdl:operation element is either a WSDL request/response or a one-way operation (no Notification or Sollicit-Response). + wsdl:operation was not a request/response or one-way operation. + Operation. + + + BP2703 + + + R2303 + + + + + For a candidate wsdl:portType definition + name attributes of Operations are unique in the wsdl:portType definition + name attributes are not unique within the portType definition. + list of duplicate name(s) and of elements that use them. + + + BP2703 + + + R2304 + + + + + For a candidate wsdl:binding element, if the style attribute of the contained soapbind:binding is "rpc" +and the use attribute is "literal". + The namespace attribute is specified on all soapbind:body elements and the value of the +namespace attribute is an absolute URI. + A rpc-literal binding contains soapbind:body element(s) that either does not have a namespace attribute, or has a namespace attribute value that is not an absolute URI. + soapbind:body elements that failed the assertion + + + BP2404 + BP2406 + + + R2717 + + + + + For a candidate wsdl:binding element + The wsdl:input element and wsdl:output element of each operation uses the attribute name "part" with a Schema type of "NMTOKEN" and does not use "parts", for both soapbind:header elements and soapbind:headerfault elements. + The wsdl:input element or wsdl:output element of an operation does not use the attribute name "part" with a Schema type of "NMTOKEN" for soapbind:header elements or soapbind:headerfault elements, or it uses "parts". + wsdl:input element or wsdl:output element of the defective operation. + + + BP2703 + + + R2720 + R2749 + + Generally BP2703 will fail as a pre-req first because this will not pass a specialized schema check. + + + For a candidate wsdl:binding element + The wsdl:binding element has a soapbind:binding child element. + The wsdl:binding element does not use a soapbind:binding element as defined in section "3 SOAP Binding." of the WSDL 1.1 specification. + wsdl:binding. + + + BP2703 + + + R2401 + + + + + For a candidate wsdl:binding element + the name attribute is specified on the soapbind:fault element. + Defective soapbind:fault element: the name attribute is not specified on the soapbind:fault element. + Defective soapbind:fault element + + + + R2721 + + + + + For a candidate wsdl:binding element + the name attribute that is specified on the soapbind:fault element matches the value specified on the parent element wsdl:fault. + Defective soapbind:fault element: the "name" attribute value does not match the value of the "name" attribute on the parent element wsdl:fault. + Defective soapbind:fault element + + + + R2754 + + + + + For a candidate wsdl:binding element + The contained soap:binding element has a "transport" attribute, which has value: http://schemas.xmlsoap.org/soap/http. + Transport attribute of the soap:binding does not contain http://schemas.xmlsoap.org/soap/http. + soap:binding element. + + + BP2703 + BP2402 + + + R2701 + R2702 + + + + + For a candidate wsdl:binding element, if the style attribute of the binding is "document" and use is "literal" + The binding (in soapbind:body elements) only refers to part elements that have been defined using the "element" attribute. + A document-literal binding contains soapbind:body element(s) that refer to message part element(s) that do not have the element attribute. + soapbind:body element(s) that have non "element" parts attributes. + + + BP2404 + BP2406 + + + R2204 + + + + + For a candidate wsdl:binding element, if the use attribute is specified on the soapbind:body, soapbind:fault, soapbind:header, or soapbind:headerfault elements. + The use attribute has a value of "literal". + The use attribute of a soapbind:body, soapbind:fault, soapbind:header and soapbind:headerfault does not have value of "literal". + Defective soapbind:body, soapbind:fault, soapbind:header, or soapbind:headerfault elements. + + + BP2703 + + + R2706 + R2723 + R2707 + + R2707 is not the verified Req, but an assumed Req for this verification. + + + For a candidate wsdl:binding element, if the "style" attribute of the contained soap:binding is "document" and use attribute is "literal" + The "namespace" attribute is not specified in any contained soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault elements. + A document-literal binding has the "namespace" attribute specified in some soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault element. + Contained element with namespace attribute. + + + BP2404 + BP2406 + + + R2716 + + + + + For a candidate wsdl:binding element, if the "style" attribute of the contained soap:binding is "rpc" and use attribute is "literal" + The binding (in soapbind:body elements) only refers to part elements that have been defined using the "type" attribute. + A rpc-literal binding contains soapbind:body element(s) that refer to message part element(s) that do not have the type attribute. + {binding}{message with failed part} + + + BP2404 + BP2406 + + + R2203 + + + + + For a candidate wsdl:operation with a parameterOrder attribute, if referred to by a candidate rpc-literal wsdl:binding element + The parameterOrder attribute omits at most 1 part from an output wsdl:message. + An operation associated with an rpc-literal binding has a parameterOrder attribute that omits more than 1 part. + {defective portType}{output wsdl:message} + + + + R2305 + + + + + For a candidate wsdl:binding + The "style" attribute of each operation in the contained soap:binding has the same value of "document" or "rpc", for all operations of the wsdl:binding. + The "style" attribute of an operation in soap:binding, does not have the same value of "document" or "rpc", as other operations of the binding. + defective soap:binding element. + + + BP2404 + + + R2705 + R2706 + + + + + For a candidate wsdl:definition, if it contains wsdl:import statements + Each wsdl:import statement is only used to import another WSDL description. + A wsdl:import element does not contain a reference to another WSDL description. + wsdl:import element(s) that does not reference a WSDL description. + + + BP2703 + + + R2001 + + + + + For a candidate wsdl:import element + The "location" attribute is specified for the wsdl:import element, and has a non-empty value. + A wsdl:import element does not have a "location" attribute, or has an empty value for the location attribute. + Defective wsdl:import element. + + + + R2007 + + + + + For a candidate wsdl:import element + The "namespace" attribute's value is not a relative URI. + The wsdl:import element's "namespace" attribute value is a relative URI. + Defective wsdl:import element. + + + BP2703 + + + R2803 + + + + + + For each a candidate wsdl:definitions + For the referenced definitions as well as all imported descriptions, The XML schema import statement is only used within an xsd:schema element. + A XML schema import element was found outside of an xsd:schema element. + Defective XML schema import element. + + + + R2003 + + This assertion is processed once for each WSDL description which fulfills the context criteria. The target for this assertion is the definitions element, because the XML schema import element might be specified anywhere within a WSDL document. + + + For a candidate wsdl:import + The targetNamespace attribute on the wsdl:definitions element for the imported WSDL description has the same value as the namespace attribute on the wsdl:import element that imported the WSDL description. + The targetNamespace attribute on the wsdl:definitions element for an imported WSDL description does not have the same value as the namespace attribute on the wsdl:import element that imported the WSDL description. + wsdl:import element. + + + BP2101 + + + R2005 + + + + + For a candidate wsdl:definitions with wsdl:import elements + wsdl:import elements occur either as first children elements in the WSDL namespace of the wsdl:defintitions element, or they are only preceded by wsdl:documentation elements. + A wsdl:import element in the WSDL namespace under the wsdl:definitions element, is preceded by child elements other than wsdl:documentation elements. + Display the WSDL import element(s) that failed the assertion. + + + + R2022 + R2030 + + + + + For a candidate wsdl:definitions + Every QName in the WSDL document that is not referring to a schema component, is either using the target namespace of this WSDL or the target namespace of a directly imported WSDL component. + A QName reference that does not refer to a schema component, is using neither the target namespace of this WSDL nor the target namespace of a directly imported WSDL component. + Defective QName(s). + + + + R2101 + + This assertion is processed once for each WSDL description which fulfills the context criteria. Only direct WSDL imports are considered for QName resolution. Note that this test does not require resolving the qualified element itself in the imported namespace: only the namespace is verified. Some sub cases of R2101 related to schema target namespaces, are not handled here and are covered by another TA covering R2102 (BP2417). + + + For a candidate wsdl:definitions + Every QName in the WSDL document and its imports, that is referring to a schema component, uses the namespace defined in the targetNamespace attribute on the xs:schema element, or a namespace defined in the namespace attribute on an xs:import element within the xs:schema element. + A QName reference that is referring to a schema component, uses a namespace not defined in the targetNamespace attribute on the xs:schema element, or in the namespace attribute on an xs:import element within the xs:schema element. + Defective QName(s). + + + + R2102 + R2101 + + This assertion is processed once for each WSDL description which fulfills the context criteria. Only the subcases of R2101 that are related to schema imports are covered by this test, as these overlap with R2102 requirements. + + + For a candidate wsdl:types element containing an xsd:schema element + The xsd:schema element contains a targetNamespace attribute with a valid and non-null value unless the xsd:schema element has xsd:import and/or xsd:annotation as its only child element(s). + A xsd:schema element contained in a wsdl:types element does not have a targetNamespace attribute with a valid and non-null value, while having child element(s) other than xsd:import or xsd:annotation. + Defective xsd:schema element(s). + + + + R2105 + + + + + For a candidate wsdl:types + The type soapenc:Array does not appear in these declarations, and the wsdl:arrayType attribute is not used in the type declaration. + An Array declaration uses - restricts or extends - the soapenc:Array type, or the wsdl:arrayType attribute is used in the type declaration. + Defective declaration(s). + + + + R2110 + R2111 + + R2110 and R2111 have been interpreted as applying to any declaration, as we cannot assume the intent of declaring arrays, which is untestable. + + + For a candidate wsdl:types that is used by an rpc-literal binding + The declaration does not use the naming convention ArrayOfXXX. + A declaration is using the convention ArrayOfXXX. + Defective declaration(s). + + + + R2112 + + R2112 has been interpreted as applying to any declaration, as we cannot assume the intent of declaring arrays, which is untestable. However, R2112 should only concern "wrapper elements", i.e. RPC-lit cases. The narrowing of the context here, is not sufficient to restrict properly the application of this TA. + + + For a candidate wsdl:binding, which contains a document-literal soap:binding + If the "parts" attribute is present, then the soapbind:body element(s) have at most one part listed in the parts attribute. + One or more soapbind:body element(s) in a document-literal soap:binding does not have at most one part listed in the parts attribute. + Defective soapbind:body element(s). + + + + R2201 + + + + + For a candidate wsdl:binding, with a style "rpc" attribute and containing at least a soapbind:body element + No wsdl:part referred by such a soapbind:body element is defined using the "element" attribute. + The referred wsdl:part element uses the "element" attribute in an rpc-literal soapbind:body. + {soapbind:body}{wsdl:part element(s)} + + + + R2207 + + + + + For a candidate wsdl:binding element + When they contain references to message parts, the soapbind:header, soapbind:headerfault and soapbind:fault elements only refer to wsdl:part element(s) that have been defined using the "element" attribute. + The soapbind:header, soapbind:headerfault or soapbind:fault elements refer to wsd:part element(s) that are not defined using only the "element" attribute. + Defective wsdl:binding and wsdl:part elements. + + + + R2205 + + + + + For a candidate wsdl:message + An "element" attribute on any wsdl:part element refers to a global element declaration. + A wsdl:message element containing a wsdl:part element that uses the "element" attribute does not refer, via that attribute, to a global element declaration. + Defective wsdl:message element. + + + + R2206 + + + + + For a candidate wsdl:message element + The wsdl:message element does not contain part elements that use both "type" and "element" attributes. + A wsdl:message element has at least one wsdl:part element that contains both type and element attributes. + Defective wsdl:message element. + + + + R2306 + + + + + For a candidate wsdl:binding element, referred to by an rpc-literal soap:binding + The rpc-literal binding does not have a namespace attribute specified on a contained soapbind:header, soapbind:headerfault, and soapbind:fault element. + An rpc-literal binding has the namespace attribute specified on contained soapbind:header, soapbind:headerfault and soapbind:fault elements. + {Defective wsdl:binding}{defective soapbind:header, soapbind:headerfault, or soapbind:fault element} + + + BP2017 + BP2406 + + + R2726 + + + + + For a candidate wsdl:binding element + The list (or set) of wsdl:operation elements for the contained wsdl:binding is the same as the list of wsdl:operations for the referred wsdl:portType. + A wsdl:binding does not have the same list of wsdl:operations as the wsdl:portType to which it refers. + {unmatching wsdl:binding element}{unmatching portType element} + + + + R2718 + + + + + For a candidate wsdl:binding element + Every wsdl:part from each wsdl:message in the associated wsdl:portType is referenced either by the soapbind:body, soapbind:header, soapbind:fault, or soapbind:headerfault. + A wsdl:binding does not bind every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault. + {Defective wsdl:binding element}{message with part(s) unbound} + + + BP2118 + + + R2209 + + + + + For a candidate wsdl:binding, which is of type document-literal + If it does not specify the parts attribute on a soapbind:body element, the corresponding abstract wsdl:message defines zero or one wsdl:part. + A document-literal binding which does not specify the parts attribute, has more than one wsdl:part in the associated wsdl:message element. + Defective wsdl:binding element. + + + BP2404 + + + R2210 + + + + + For a candidate wsdl:binding + Each operation referenced by the binding results in a unique wire signature. + A binding has operations that are not unique. + Defective wsdl:operation element(s). + + + + R2710 + + + + + For a candidate wsdl:types element + The data type definition if any within the wsdl:types element is an XML schema definition defined in the XML Schema 1.0 Recommendation with the namespace URI "http://www.w3.org/2001/XMLSchema". + A wsdl:types element contained a data type definition that is not an XML schema definition. + Defective data type definition. + + + + R2801 + + + Validating the data type definitions includes any imported XML schema definitions. + + + + For a candidate wsdl:definitions, if it contains a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, +or wsdl:message that claims conformance to the Profile. + Contained WSDL extension elements do not use the wsdl:required attribute value of "true". + An extension element within a WSDL element that claims conformance to the Basic Profile has a wsdl:required attribute with a value of "true". + Display the extension element that failed the assertion. + + + + R2026 + + + + + For a candidate wsdl:definitions element containing an extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/" or "http://schemas.xmlsoap.org/wsdl/mime/". + The WSDL contains an extension element or attribute that does not belong to the "http://schemas.xmlsoap.org/wsdl/soap/" or "http://schemas.xmlsoap.org/wsdl/mime/" namespace. + The use of a WSDL extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/" or "http://schemas.xmlsoap.org/wsdl/mime/" may require out of band negotiation. + The use of a WSDL extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/" or "http://schemas.xmlsoap.org/wsdl/mime/" may require out of band negotiation. + + + + E0013 + + Extension elements other than those belonging to one of the following namespaces (...) are considered extensibility points. + + + + For a candidate wsdl:import element, where the location attribute or the namespace attribute has a value that is a relative URI, or a for soap:address element where the location attribute is a relative URI. + The use of a relative URI as the value for a wsdl:import location or namespace attribute, or for a soap:address location attribute may require out of band coordination. + A wsdl:import location or namespace attribute, or a soap:address location attribute is a relative URI. + The element(s) in question. + + + + E0016 + + + + + + For an XML schema definition defined in the wsdl:types element, or imported directly or indirectly by a schema definition defined in the wsdl:types element, which contains any schema annotation elements. + An XML schema definition defined in the wsdl:types element, or imported directly or indirectly by a schema definition defined in the wsdl:types element, may use schema annotation elements as an extensibility mechanism. + An XML schema defined in the wsdl:types element, or imported directly or indirectly by a schema defined in the wsdl:types element, contains annotation elements. + The annotation elements included in the schema. + + + BP2202 + BP2011 + + + E0017 + + Schema annotations are an extensibility point. + + + + Driver testable. + Driver testable. + Driver testable. + + + + R2709 + + All of these profile requirements are testable only by using a driver test program, since a test assertion would +require application-level knowledge of the message exchange. + + + Not testable. + Not testable. + Not testable. + + + + R2025 + R2027 + R2008 + R4002 + R2200 + R2202 + R2208 + R2302 + R2750 + R2707 + R2711 + R2727 + R2719 + R2722 + R2724 + R2725 + R2741 + R2742 + R2743 + R2747 + R2748 + R2751 + R2752 + R2800 + R2009 + R2114 + R2030 + E0014 + E0015 + + All of these profile requirements are NOT testable, or NOT testable using the + current test tools. For example, some of these test assertions represent + capabilities which can not be validated. + Note, BP2200 is NOT testable using the current test tools because any + BOM detected within a WSDL document is pre-processed by the WSDL + reader/parser and hence becomes inaccessible. + Note, R2724 could be tested. If a request is inconsistent with the WSDL for the request, + we could flag returning a non-error response. We currently do not check the status of a + request when we are processing the response. However this is within the scope of the test-tools + and we are tracking this omission defect/feature in bugzilla RE: bug#: 8. + + + + For a candidate wsdl:binding element + The wsdl:binding binds every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault. + A wsdl:part of a wsdl:message in the wsdl:portType to which it refers does not bind to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault in the wsdl:binding. + wsdl:binding. + + + BP2703 + + + R2209 + + The essence of this assertion is captured in AP2941 but also allows binding to mime:content.. As such, we have disabled this assertion. + + + + For a candidate wsdl:binding element + Descendant elements and attributes in the wsdl:binding are not from the namespaces of WSDL MIME, HTTP GET/POST or DIME binding extensions. + A descendant element or attribute in the wsdl:binding is from a namespace of WSDL MIME, HTTP GET/POST or DIME binding extensions. + Defective descendant element or attribute + + + BP2402 + + + R9801 + + + Note this assertion, which originates from the SSBP TAD, is disabled in this document + since it treats the detection of a namespace for a WSDL MIME extension as a failure. + + The namespace for the WSDL MIME, HTTP GET/POST and DIME binding extensions respectively are assumed to be: + http://schemas.xmlsoap.org/wsdl/mime/ + http://schemas.xmlsoap.org/wsdl/http/ + http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/ + + + + + Not testable. + Not testable. + Not testable. + + + + R4001 + R9800 + R9802 + + All of these profile requirements are NOT testable, or NOT testable using the current test tools. For example, some of these test assertions represent capabilities which can not be validated. + + + + For a candidate wsdl:binding element + A description uses either the WSDL MIME Binding as described in WSDL 1.1 Section 5 or WSDL SOAP binding as described in WSDL 1.1 Section 3 on each of the wsdl:input or wsdl:output elements of a wsdl:binding. + A description uses neither the WSDL MIME Binding as described in WSDL 1.1 Section 5 nor WSDL SOAP binding as described in WSDL 1.1 Section 3 on each of the wsdl:input or wsdl:output elements of a wsdl:binding. + Defective wsdl:input or wsdl:output element + + + + R2901 + + + + + + For a candidate wsdl:binding with at least one mime:content element + The part attribute of each mime:content element in a wsdl:binding references + a wsdl:part element of a wsdl:message that is present in the respective wsdl:input or wsdl:output of the + corresponding wsdl:operation of the corresponding wsdl:portType. + A part attribute of a mime:content element in a wsdl:binding + does not reference a wsdl:part element of a wsdl:message that is present in the respective wsdl:input or + wsdl:output of the corresponding wsdl:operation of the corresponding wsdl:portType. + Defective wsdl:input or wsdl:output element + + + + R2903 + + + + + + For a candidate wsdl:binding with at least one mime:content element + The part attribute of each mime:content element in a wsdl:binding + does not reference a sub-component of a wsdl:part of the wsdl:message that is present in the + respective wsdl:input or wsdl:output of the corresponding wsdl:operation of the corresponding + wsdl:portType. + The part attribute of a mime:content element in a wsdl:binding references + a sub-component of a wsdl:part of a wsdl:message that is present in the respective + wsdl:input or wsdl:output of the corresponding wsdl:operation of the corresponding + wsdl:portType. + Defective wsdl:input or wsdl:output element + + + AP2903 + + + R2904 + + + + + + For a candidate wsdl:binding containing a mime:multipartRelated element + A non-root MIME part in a wsdl:binding does not contain a soapbind:header element. + A non-root MIME part in a wsdl:binding contains a soapbind:header element. + The defective mime:part + + + AP2911 + + + R2906 + R2905 + + + + + + For a candidate wsdl:binding containing a mime:multipartRelated element + Each MIME part in a description is defined using an element with a local name of part in the namespace of the WSDL MIME Binding extension. + A MIME part in a description is not defined using an element with a local name of part in the namespace of the WSDL MIME Binding extension. + Defective MIME part(s) + + + + R2907 + + + + + + For a candidate wsdl:binding containing a mime:multipartRelated element + The mime:part element in a DESCRIPTION does not have a name attribute. + The mime:part element in a DESCRIPTION has a name attribute. + Defective MIME part(s) + + + + R2908 + + + + + + For a candidate wsdl:binding with at least one mime:content element + Multiple mime:content child elements of a mime:part element in a desciption reference the same wsdl:part. + Multiple mime:content child elements of a mime:part element in a desciption do not reference the same wsdl:part. + Defective mime:content element of mime:part + + + + R2909 + + + + + + For a candidate wsdl:binding with at least one mime:content element + A mime:content in a DESCRIPTION references a wsdl:part that is defined using either the type attribute or the element attribute. + A mime:content in a DESCRIPTION does not reference a wsdl:part that is defined using either the type attribute or the element attribute. + Defective mime:content element of mime:part + + + + R2910 + + + + + + For a candidate wsdl:binding containing a mime:multipartRelated element + The mime:multipartRelated elements in wsdl:input and wsdl:ouput elements of operations in a wsdl:binding, contain exactly one mime:part child element that contains a soapbind:body child element. + + A mime:multipartRelated element in a wsdl:input or wsdl:output element of an operation in a wsdl:binding, contains greater or less than one mime:part child element that contains a soapbind:body child element. + + The defective mime:multipartRelated element + + + + R2911 + + + + + + For a candidate wsdl:binding containing a mime:multipartRelated element + A wsdl:fault element in a description does not have mime:multipartRelated element as its child element. + A wsdl:fault element in a description has mime:multipartRelated element as its child element. + Defective wsdl:fault element + + + + R2930 + + + + + + For a candidate wsdl:binding containing a mime:multipartRelated element + In a description, a wsdl:part defined with the ref:swaRef schema type is bound to a soapbind:body, or a soapbind:header in a MIME binding. + In a description, a wsdl:part defined with the ref:swaRef schema type is not bound to a soapbind:body, or a soapbind:header in a MIME binding. + Defective MIME binding + + + + R2940 + R2905 + + + + + + For a candidate wsdl:binding + A wsdl:binding in a description binds every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault , soapbind:headerfault, or mime:content. + A wsdl:binding in a description does not bind every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault , soapbind:headerfault, or mime:content. + Defective wsdl:binding element + + + + R2941 + R2905 + + + + + + For a candidate wsdl:binding with at least one mime:content element + In a DESCRIPTION, if a wsdl:part element refers to a global element declaration (via the element attribute of the wsdl:part element) then the value of the type attribute of a mime:content element that binds that part is a content type suitable for carrying an XML serialization. + The value of the type attribute of a mime:content element that binds that part is not a content type suitable for carrying an XML serialization. + Defective mime:content element + + + + R2944 + + + + + + For a candidate wsdl:binding with at least one mime:content element + In a DESCRIPTION, a mime:content element includes the part attribute. + A mime:content element does not include the part attribute. + Defective mime:content element + + + + R2946 + + + + + + Driver testable. + Driver testable. + Driver testable. + + + + R2905 + R2943 + + All of these profile requirements are testable only by using a driver test program, since a test assertion would +require application-level knowledge of the message exchange. + + + For a candidate wsdl:binding + Not testable. + Not testable. + + + + R2947 + + All of these profile requirements are NOT testable, or NOT testable using the test tools. For example, some of these test assertions represent capabilities which can not be validated. + + + + + + + + + + + + + + + + + + + + + + + + The Basic Profile requires support for SOAP 1.1 and HTTP 1.0 or 1.1. + + + For a candidate request message in the message log file + The request message is a POST message, without any use of framework extension. + The message is not an HTTP POST message, or makes use of HTTP framework extension. + All HTTP headers. + + + + R1132 + R1108 + + + + + For a candidate request message in the message log file, when a SOAPAction header is present + The SOAPAction header contains a quoted string of any value, including "". + SOAPAction HTTP header does not contain a quoted string. + All HTTP headers. + + + + R1109 + + + + + For a candidate request message in the message log file, when a SOAPAction header is present + The SOAPAction header contains a quoted string that has same value as the value of the soapbind:operation/@soapAction attribute, and an empty string ("") if there is no such attribute. + SOAPAction header does not contain the correct string value. + {All HTTP headers}{soapAction value from the soap:binding}. + + binding + + + BP1006 + + + R2744 + R2745 + + + + + For a candidate message in the log file, that is either a POST HTTP request, or a response to a POST HTTP request + If it is a request, the arg #2 of POST is <HTTP/1.1>. If absent, first line of the body is: HTTP-Version = HTTP/1.1. If it is a response, it starts with <HTTP/1.1> + The message is not sent using HTTP/1.1. + All HTTP headers. + + + BP1002 + + + R1140 + + + + + For a candidate message in the log file, that is either a POST HTTP request, or a response to a POST HTTP request + If it is a request, the arg #2 of POST is <HTTP/1.1> or <HTTP/1.0>. If absent, first line of the body is: HTTP-Version = HTTP/1.1. (or HTTP/1.0). If it is a response, it starts with <HTTP/1.1> or <HTTP/1.0> + The message is not sent using HTTP/1.1 or HTTP/1.0. + All HTTP headers. + + + + R1141 + + + + + For a candidate response message in the message log file, which is bound to a One-Way wsdl:operation + It does not contain a soap:Envelope: the HTTP entity-body is empty + One-Way operation response contains a soap:Envelope (HTTP entity-body must be empty) + + + requestMessage + operation + + + + R2714 + + Need the request to determine if it is a One-Way. +We could have targeted the request as well (as primary entry), and correlate with the response. + + + For a candidate response message in the log file, that does not contain a SOAP message and that does not contain an HTTP 4xx status code + The response message, if successfully processed at HTTP level, is sent using either a "200 OK" or "202 Accepted" HTTP status code. + A response message without a SOAP message, is not using either a "200 OK" or +"202 Accepted" HTTP status code, though successful at HTTP level. + Complete message. + + requestMessage + + + + R1112 + + This test assertion is targeted at one-way operations. + + + For a candidate response message in the message log file, associated with a request message that does not contain an HTTP POST method + The response contains a "405 Method not Allowed" HTTP status code. + The response message to a request that was not a POST message, did not contain an 405 HTTP status code. + Both the request and response message. + + requestMessage + + + + R1114 + + + + + For a candidate message in the message log file containing an HTTP Authentication header field with an authentication mechanism other than "Basic" or "Digest" + The message contains an HTTP Authentication header field with an authentication mechanism other than "Basic" or "Digest". + HTTP authentication allows for extension schemes, arbitrary digest hash algorithms and parameters. + + + + E0007 + + HTTP Authentication is an extensibility point for HTTP 1.1. + + + + For a candidate message in the message log file containing an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt) + The message contains an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt) + The message contains an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt) + HTTP allows arbitrary headers to occur in messages. + + + + E0008 + + If all HTTP headers in a message are in the standardized list of draft-nottingham-http-header-reg-00 it will cause the informationalassertion 4104 to be notApplicable; otherwise 4101 will pass and headers not in the draft-nottingham-http-header-reg-00 will be listed. + + + + For a candidate message in the message log file containing a Content-encoding HTTP header field with a value other than "gzip", "compress" or "deflate" + The contained Content-encoding HTTP header field has a value other than "gzip", "compress" or "deflate". + The Content-encoding HTTP header field has a value other than "gzip", "compress" or "deflate". + The set of content-codings allowed by HTTP is open-ended. + + + + E0010 + + Any Content-encoding header field with a value other than the specified list is considered to be an extensibility point. + + + + For a candidate response message in the message log file containing a transfer-encoding HTTP header field with a value other than "chunked" + The contained transfer-encoding HTTP header field has a value other than "chunked". + The contained transfer-encoding HTTP header field has a value other than "chunked". + Any Transfer-encoding header field with a value other than chunked is considered to be an extensibility point. + + + + E0011 + + Any Transfer-encoding header field with a value other than chunked is considered to be an extensibility point. + + + + For a request message containing an Upgrade header field in the HTTP Headers. + The request message contains an Upgrade header field in the HTTP Headers. + The message contains an Upgrade header field in its HTTP Headers. + The Upgrade header field is considered an HTTP Extensibility point. + + + + E0012 + + The Upgrade header field is considered an HTTP Extensibility point. + + + + Driver testable. + Driver testable. + Driver testable. + + + + + All of these profile requirements are testable only by using a driver test program, since a test assertion would +require application-level knowledge of the message exchange. + + + Not testable. + Not testable. + Not testable. + + + + R1115 + R1122 + R1113 + R1119 + R1120 + R1121 + R1123 + R1124 + R1125 + R1127 + R1130 + R1131 + R1127 + R5000 + R5001 + R5010 + E0009 + E0019 + E0020 + E0021 + E0022 + E0023 + + All of these profile requirements are NOT testable. Some of these test assertions represent capabilities which +can not be validated. + + + For a candidate non-multipart/related message in the log file, which has a non-empty entity-body + + The logged SOAP envelope is a UTF-8 transcript of an envelope originally encoded as UTF-8 or UTF-16. + The HTTP Content-Type header's charset value is either UTF-8 or UTF-16. Looking at the messageContent + element of the logged message, either + (1) it has a BOM attribute which maps the charset value in the Content-Type header, or + (2) it has it has an XML declaration which matches the charset value in the Content-Type header, or + (3) there is no BOM attribute and no XML declaration, and the charset value is UTF-8. + + + Either + (1a) the message contains a Content-Type header but no charset value, or + (1b) the charset value is neither UTF-8 nor UTF-16, or + (2) there is a BOM attribute in the messageContent element, but its value does not match the charset value, or + (3) there is an XML declaration, and the charset value does not match its value, or + (4) there is no BOM attribute, no XML declaration, and the charset value in Content-Type header is not UTF-8. + Complete message. + + + + R1012 + R1018 + + + Note the context for this assertion which originated from the SSBP TAD, is more specific in + this document to ensure that it does not apply to multipart/related messages. + + The optional BOM attribute of the messagContent element is added by the Monitor into the log file, based on the original value in the HTTP payload. + + + + + For a candidate non-multipart/related message in the log file, with an HTTP entity-body. + The SOAP envelope is the exclusive payload of the HTTP entity-body. + The SOAP envelope is not the exclusive payload of the message HTTP entity-body. + The message in question. + + + + R9700 + + Note the context for this assertion which originated from the SSBP TAD, is more specific in this document to ensure that it does not apply to multipart/related messages. + + + + + For a non-multipart/related candidate message in the log file. + A message must have a "Content-Type" HTTP header field. The "Content-Type" HTTP header field must have a field-value whose media type is "text/xml". + The message either (1) did not have a "Content-Type" HTTP header field, or (2) the "Content-Type" HTTP header field had a field-value whose media type was something other than "text/xml" + The value of the media-type field, if any. + + + + R9702 + R9703 + + Note the context for this assertion which originated from the SSBP TAD, is more specific in this document to ensure that it does not apply to multipart/related messages. + + + + + Not testable. + Not testable. + Not testable. + + + + R1010 + R1019 + + All of these profile requirements are NOT testable. Some of these test assertions represent capabilities which can not be validated. + + + + For a candidate message + In a description, if the wsdl:input or wsdl:output element in the wsdl:binding specifies WSDL MIME binding, then the message can contain SOAP attachments. + The message cannot contain SOAP attachments because in a description the wsdl:output or wsdl:input element in wsdl:binding does not describe WSDL MIME binding. + SOAP message. + + operation + + + + R2902 + + + + + + For a candidate root-part of a multipart/related message + The entity body of the root-part of a multipart/related message is serialized using either UTF-8 or UTF-16 character encoding. + The entity body of the root-part of a multipart/related message is not serialized using either UTF-8 or UTF-16 character encoding. + root-part of a multipart/related message + + + + R2915 + + + + + + For a candidate message containing zero attachment parts + A message containing zero attachment parts is sent using a content-type of either "text/xml" as though a SOAP HTTP binding were used or "multipart/related" when the WSDL description for the message specifies the mime:multipartRelated element on the corresponding wsdl:input or wsdl:output element in its wsdl:binding. + A message containing zero attachment parts is not sent using a content-type of either "text/xml" as though a SOAP HTTP binding were used or "multipart/related" when the WSDL description for the message specifies the mime:multipartRelated element on the corresponding wsdl:input or wsdl:output element in its wsdl:binding. + SOAP message. + + operation + + + + R2917 + + + + + + For a candidate message + If the WSDL description lists at least one non-root MIME part, then the corresponding message has a Content-Type HTTP header field-value with a media-type of "multipart/related". + The WSDL description lists at least one non-root MIME part and the corresponding message does not have a Content-Type HTTP header field-value with a media-type of "multipart/related". + Incorrect Content-Type value in HTTP header + + operation + + + + R2925 + + + + + + For a candidate message + A message includes all of the MIME parts described by its WSDL MIME binding. + A message does not include all of the MIME parts described by its WSDL MIME binding. + SOAP message. + + operation + + + + R2926 + + + + + + For a candidate root-part of a multipart/related message + The entity body of the root-part of multipart/related message is a soap:Envelope. + The entity body of the root-part of multipart/related message is NOT a soap:Envelope. + root-part of a multipart/related message + + + + R2931 + + + + + + For a candidate message containing a Content-Type HTTP header field-value with a media type of "multipart/related" + In a message, the Content-Type HTTP header field-value has a "type" parameter with a value of "text/xml" when it has a media type of "multipart/related". + In a message, the Content-Type HTTP header field-value does not have a "type" parameter with a value of "text/xml" when it has a media type of "multipart/related". + SOAP message. + + + + R2932 + + + + + + For a candidate message + If a description binds a wsdl:message part to a mime:content element, then the corresponding MIME part's content-id field-value in a message must conform to the content-id part encoding. + A description binds a wsdl:message part to a mime:content element and the corresponding MIME part's content-id field-value in a message does not conform to the content-id part encoding. + SOAP message. + + operation + + + + R2933 + + + + + + For a candidate part of a multipart/related message + The Content-Transfer-Encoding field of a part in a multipart/related message has a value of "7bit", "8bit", "binary", "quoted-printable" or "base64". + The Content-Transfer-Encoding field of a part in a multipart/related message does not have a value of "7bit", "8bit", "binary", "quoted-printable" or "base64". + a part of a multipart/related message + + + + R2934 + + + + + + For a candidate part of a multipart/related message + The encoding of the body of a part in a multipart/related message conforms to the encoding indicated by the Content-Transfer-Encoding field-value, as specified by RFC2045. + The encoding of the body of a part in a multipart/related message does not conform to the encoding indicated by the Content-Transfer-Encoding field-value, as specified by RFC2045. + a part of a multipart/related message + + + + R2935 + + + + + + For a candidate multipart/related message + In a message, all MIME encapsulation boundary strings are preceded with the ascii characters CR (13) and LF (10) in that sequence. + In a message, all MIME encapsulation boundary strings are not preceded with the ascii characters CR (13) and LF (10) in that sequence. + SOAP message. + + + + R2936 + + + + + + For a candidate part of a multipart/related message that is bound to a mime:content that refers to global element declaration (via the element attribute of the wsdl:part element) + The bound message part is serialized within the MIME part as a serialization of an XML infoset whose root element is described by the referenced element. + The bound message part is not serialized within the MIME part as a serialization of an XML infoset whose root element is described by the referenced element. + a part of a multipart/related message + + operation + + + + R2942 + + + + + + For a candidate message + The Content-Type HTTP header field-value in a message is either "multipart/related" or "text/xml". + The Content-Type HTTP header field-value in a message is neither "multipart/related" nor "text/xml". + SOAP message. + + + + R2945 + + + + + + For a candidate multipart/related message containing non-root parts + The candidate multipart/related message contains non-root parts. + The candidate multipart/related message contains non-root parts. + There is no restriction on the type of any non-root part in a multipart/related message. + + + + E0001 + + + + + + For a candidate message + Not testable. + Not testable. + + + + R2912 + R2913 + R2916 + R2919 + R2921 + R2922 + R2923 + R2929 + + All of these profile requirements are NOT testable, or NOT testable using the test tools. For example, some of these test assertions represent capabilities which can not be validated. + + + + + + + +SOAP 1.1 defines a structure for transmitting messages, the envelope. The profile mandates the use of that structure.SOAP 1.1 defines a structure for transmitting messages, the envelope. The profile mandates the use of that structure. + + For a candidate response envelope containing a soap:Fault element + The contained soap:Fault element is defined in the wsdl:binding. + The response envelope contained soap:Fault element(s), but they +were not defined in the WSDL description. + Undefined soap:Fault element(s). + + binding + + + + R2740 + R2927 + + + + + For a candidate envelope containing a soap:Body element + No child element of soap:Body has a soap:encodingStyle attribute. + A child of the soap:Body element has a soap:encodingStyle attribute. + SOAP message + + + BP1701 + + + R1006 + R2927 + + + + + For a candidate envelope in a request message + The content of the envelope matches the definition in the WSDL document. In case of a doc-lit binding, the child element of soap:body is an instance of the global element declaration referenced by the corresponding wsdl:part bound to the envelope's soapbind:body element. If the message has "parts", the order of the part elements in the soap:body of the wired message, is same as that of the wsdl:partS, in the wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element. + The content of the envelope does not match the wsdl:message definition. The order of parts in soap:body does not match the order of wsdl:partS in wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element. Or the child element of soap:body is not an instance of the global element declaration referenced by the corresponding wsdl:part bound to the envelope's corresponding soapbind:body element. + Non-matching WSDL operation and envelope. + + operation + 1 + + BP1701 + BP1308 + + + R2301 + R2712 + R2927 + R2710 + R2742 + R2743 + R2748 + + R2710, R2742 R2743 and R2748 used as "assumed" reqts, not reqts to verify. The soap:encodingStyle verification done by pre-req BP1308 on children, is not done for grand-children (BP1318 could not be a pre-req) + + + For a candidate envelope in a response message, if it does not contain a soap:Fault + The content of the envelope matches the definition in the WSDL document. In case of an rpc-lit binding, the body contains a wrapper element that matches the operation name. In case of a doc-lit binding, the child element of soap:body is an instance of the global element declaration referenced by the corresponding wsdl:part bound to the envelope's soapbind:body element. If the message has "parts", the order of the part elements in the soap:body of the envelope, is same as that of the wsdl:partS, in the wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element. + The content of the envelope does not match the wsdl:message definition. The order of parts in soap:body does not match the order of wsdl:partS in wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element. Or it has a doc-lit binding but the child element of soap:body is not an instance of the global element declaration referenced by the corresponding wsdl:part bound to the envelope's corresponding soapbind:body element. Or it has an rpc-lit binding but no wrapper element. + Non-matching WSDL operation and envelope. + + requestEnvelope + operation + + + BP1701 + + + R2301 + R2712 + R2927 + R2710 + R2742 + R2743 + R2748 + + R2710, R2742 R2743 and R2748 used as "assumed" reqts, not reqts to verify. The test assertion also verifies the wrapper element in case of an rpc-binding (in a same way as BP1005 which could not be a pre-requisite due to a narrower context) + + + For a candidate envelope + The soap:body of the envelope does not contain the soapenc:arrayType attribute. + The soap:body of an envelope contains the soapenc:arrayType attribute. + SOAP envelope. + + + BP1701 + + + R2113 + R2927 + + R2113 has been interpreted as applying to any message body, as it is unclear how to narrow to serialized array declarations. The narrowing of the context here,may not be sufficient to restrict properly the application of this TA. + + + For a candidate envelope containing a "mustUnderstand" attribute + The "mustUnderstand" attribute in the envelope has one of two values: 1, 0. + The "mustUnderstand" attribute in an envelope has a value different from: 1, 0. + SOAP envelope, plus envelope of a request message if it is a response. + + + BP1701 + + + R1013 + R2927 + + + + + For a candidate envelope in a response message containing a soap:Fault element + The soap:Fault element is contained in an HTTP 500 message with "Server" Error code. + The soap:Fault message is not returned in an HTTP 500 message. + SOAP envelope. + + responseMessage + + + BP1701 + + + R1126 + R2927 + + + + + For a candidate envelope in a response message containing a soap:Fault element + The soap:Fault element does not have children other than soap:faultcode, soap:faultstring, soap:faultactor or soap:detail. + One or more soap:Fault child elements are not standard, i.e. is neither soap:faultcode, soap:faultstring, soap:faultactor nor soap:detail. + SOAP envelope + + + BP1701 + + + R1000 + R2927 + + + + + For a candidate envelope in a response message containing a soap:Fault element + The content of the soap:Fault element does not make use of the SOAP 1.1 dot notation, i.e. is a string without a dot character in it. + A soap:Fault element makes use of the SOAP 1.1 dot notation. + SOAP envelope + + + BP1701 + + + R1031 + R2927 + + + + + For a candidate envelope + The soap:Envelope, soap:Header, and soap:Body elements do not have any attributes in the namespace "http://schemas.xmlsoap.org/soap/envelope/" + A soap:Envelope, soap:Header, or soap:Body element has an attribute in the namespace "http://schemas.xmlsoap.org/soap/envelope/". + SOAP envelope + + + BP1701 + + + R1032 + R2927 + + + + + + For a candidate envelope + The SOAP envelope does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + The SOAP envelope contains the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + SOAP envelope + + + BP1701 + + + R1033 + R2927 + + + + + For a candidate envelope in a response message containing a soap:Fault element + The soap:Fault element children (soap:faultcode, soap:faultstring, soap:faultactor or soap:detail) are unqualified. + One or more soap:Fault child elements are qualified. + SOAP envelope + + + BP1701 + + + R1001 + R2927 + + + + + For a candidate envelope containing elements with namespace "http://schemas.xmlsoap.org/soap/envelope/" + The envelope contains elements in the namespaced "http://schemas.xmlsoap.org/soap/envelope/" namespace that do not have a soap:encodingStyle attribute. + The envelope contains one or more elements in the "http://schemas.xmlsoap.org/soap/envelope/" namespace that have asoap:encodingStyle attribute. + SOAP envelope + + + BP1701 + + + R1005 + R2927 + + + + + For a candidate non-fault envelope containing a soap:body with at least one grandchild, and is referred by an rpc-literal binding + The grandchild elements of soap:Body referred by an rpc-literal binding do not have a soap:encodingStyle attribute. + At least one grandchild of the soap:Body element referred by an rpc-literal binding has a soap:encodingStyle attribute. + SOAP envelope + + operation + + + BP1701 + BP1202 + + + R1007 + R2927 + + + + + For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style rpc-literal + The envelope has part accessor elements for parameters and return value, in no namespaces, but the descendants of these are namespace qualified as defined by the schema in which their types are defined. + The envelope has part accessor elements for parameters and return value, within namespaces, or the descendants of these elements are not namespace qualified as defined by the schema in which their types are defined. + + + binding + + + BP1701 + + + R2735 + R2737 + R2927 + + + + + For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style rpc-literal + Part accessor elements in the envelope do not have an xsi:nil attribute with a value of "1" or "true". + Envelope referenced by an rpc-literal binding has part accessor elements with an xsi:nil attribute with a value of "1" or "true". + + + binding + + + BP1701 + + + R2211 + R2927 + + + + + For a candidate non-fault envelope containing a soap:body with at least one element + The envelope contains exactly one part accessor element for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element. + The content of the soap:Body element is inconsistent with its description. The envelope does not contain exactly one part accessor element for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element. + + + binding + + + BP1701 + + + R2212 + R2927 + + + + + + For a candidate non-fault envelope containing a soap:Body element, and is referred by a doc-literal binding + The envelope has no element content in the soap:Body element if the value of the parts attribute of the soapbind:body is an empty string in the corresponding doc-literal description. + The soap:Body element must be empty when, in the corresponding doc-literal description, the value of the parts attribute of soapbind:body is an empty string. + SOAP envelope + + binding + + + BP1701 + + + R2213 + R2927 + + + + + + For a candidate non-fault envelope containing a soap:Body element, and is referred by a rpc-literal binding + The envelope does not contain any part accessor elements if the value of the parts attribute of the soapbind:body is an empty string in the corresponding rpc-literal description. + The content of the soap:Body element is inconsistent with its description. The envelope must not have any part accessor elements when, in the corresponding rpc-literal description, the value of the parts attribute of soapbind:body is an empty string. + SOAP envelope + + binding + + + BP1701 + + + R2214 + R2927 + + + + + + For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style rpc-literal + Each part accessor element in the envelope has a local name of the same value as the name attribute of the corresponding wsdl:part element. + The envelope referenced by an rpc-literal binding has a part accessor element with a local name that is not the same value as the name attribute of the corresponding wsdl:part element. + + + binding + + + BP1701 + + + R2755 + R2927 + + + + + + For a candidate non-fault envelope in a response message, that has a soap:body with at least a child element, and is +referenced by a rpc-literal binding to a WSDL request-response operation + The envelope has a wrapper element with a name equal to the name attribute on the wsdl:operation element suffixed with string "Response". + Wrapper element in the envelope does not have a value equal to the name attribute on the wsdl:operation element suffixed with string "Response". + + + requestEnvelope + binding + + + BP1601 + BP1202 + + + R2729 + R2927 + + Assume a correlation with WSDL binding entry is needed. + + + For an envelope in a response message containing a soap:Fault element with a faultcode child element + The soap:faultcode value in the soap:Fault element of the envelope is either one of: VersionMismatch, MustUnderstand, Client, Server, or is qualified by a namespace. + The soap:faultcode value in the soap:Fault element of the envelope is not one of: VersionMismatch, MustUnderstand, Client, Server, or is not qualified by a namespace. + SOAP envelope in a response message. + + + BP1701 + + + R1004 + R2927 + + If namespace qualified, the namespace is other than http://schemas.xmlsoap.org/soap/envelope/, per (assumed) conformance to SOAP. + + + For an envelope in a response message containing a soap:Fault element, if there is any qualified attribute for the detail element + The namespace of a qualified attribute appearing on the detail element in the soap:Fault +is a foreign namespace, different from "http://schemas.xmlsoap.org/soap/envelope/". + The soap:Fault message contains detail element with attributes qualified with a non-foreign namespace. + SOAP message. + + + BP1701 + + + R1003 + R2927 + + this is a narrowing of the schema, which allows any namespace. + + + For a candidate non-fault envelope in a response message + The message uses a "200 OK" HTTP status code. + The envelope of the response message does not contain a soap:Fault and the message does not use a "200 OK" HTTP status code. + Complete message. + + responseMessage + + + BP1701 + + + R1111 + R2927 + + + + + For a candidate envelope + The envelope conforms to the structure specified in SOAP 1.1 Section 4. + The envelope does not conform to the structure specified in SOAP 1.1 Section 4 + SOAP envelope. + + + + R9980 + R2927 + + + + + + For a candidate non-empty envelope + The soap:envelope and soap:body are well-formed XML 1.0 documents. + The soap:Envelope or soap:Body does not conform to XML 1.0. + {SOAP envelope}{any XML parser error messages} + + + + + R2927 + + Assumed in underlying spec, though no formal Rxxxx for it. 1st step in a 3-phase verification process: XMLvalid + namespace check + schemavalid. + + + For a candidate envelope + The envelope has a document element named "Envelope" with namespace http://schemas.xmlsoap.org/soap/envelope/. + The envelope does not use SOAP 1.1, i.e. does not have a document element named "Envelope" or a namespace value of http://schemas.xmlsoap.org/soap/envelope/. + SOAP envelope. + + + BP1601 + + + + R2927 + + Assumed in underlying spec, though no formal Rxxxx for it (run-time version of R2700). 2nd step in a 3-phase verification process: XMLvalid + namespace check + schemavalid. + + + For a candidate envelope containing a soap:body with at least one child element + Each child element (if any) of the soap:Body element is namespace qualified (not the grandchildren). + A child element of the soap:Body element is not namespace qualified. + SOAP envelope. + + + BP1701 + + + R1014 + R2927 + + + + + For a candidate envelope + The envelope conforms to the SOAP schema located at http://schemas.xmlsoap.org/soap/envelope/ + The envelope does not conform to the SOAP schema located at http://schemas.xmlsoap.org/soap/envelope/. + SOAP message. + + + BP1201 + + + + R2927 + + Assumed in underlying spec, though no formal Rxxxx for it. 3rd step in a 3-phase verification process: XMLvalid + namespace check + schemavalid. + + + For a candidate envelope in a response message, that is a part of a Request-Response operation where the request contains a soap:Envelope with a document element with name: "Envelope" and a namespace different than "http://schemas.xmlsoap.org/soap/envelope/". + A soap:Fault is generated as response. + A soap:Fault is not generated for a document element named "Envelope" that had namespace +different from: "http://schemas.xmlsoap.org/soap/envelope/" + + + requestEnvelope + operation + + + BP1701 + + + R1015 + R2927 + + + + + For a candidate envelope + DTDs relating to soap:header or soap:body documents, are not present in the envelope: no DOCTYPE element is present. + The soap:header or soap:body elements in the envelope, were described with an included DTD. + SOAP envelope. + + + BP1701 + + + R1008 + R2927 + + + + + For a candidate envelope + The SOAP envelope does not include XML processing instructions. + a SOAP envelope contains XML processing instructions. + SOAP envelope. + + + BP1701 + + + R1009 + R2927 + + + + + For a candidate non-fault envelope containing a soap:body with at least a child element, and that is not a response message to a one-way WSDL operation + The Envelope includes all soapbind:headers specified in the wsdl:input (if request) or wsdl:output (if response) of the operation referred to by its wsdl:binding, and may also include headers that were not specified. + Envelope does not include all soapbind:headers specified in the wsdl:input (if request) or wsdl:output (if response) of its bound operation. + + + binding + + + BP1601 + BP1202 + + + R2738 + R2739 + R2927 + R2747 + R2748 + + + + + For a candidate envelope containing a soap:Body element + The soap:Envelope does not have direct children after the soap:Body element + The soap:Envelope has a direct child after the soap:Body element. + + + + BP1701 + + + R1011 + R2927 + + + + + For a candidate envelope containing a header block that is either mandatory or is not described in the wsdl:binding. + An envelope contains a header block that is either mandatory or is not described in the wsdl:binding. + A header block in the envelope is either mandatory or is not described in the appropriate wsdl:binding. + Header blocks are the fundamental extensibility mechanism in SOAP. + + binding + + + + E0001 + R2927 + + This assertion is for the header blocks extensibility element. + + + + For a candidate envelope containing a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next". + A header element in the envelope contains a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next". + A header element in the envelope contains a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next". + Values of the soap:actor attribute, other than the special uri "http://schemas.xmlsoap.org/soap/actor/next", represent a private agreement between parties of the web service. + + + + E0004 + R2927 + + The soap:actor attribute is an extensibility point. + + + + For a candidate envelope containing a fault with a non-empty detail element. + A Fault element in an envelope contains a non-empty detail element. + A Fault element in an envelope contains a non-empty detail element. + The contents of a Fault's detail element are not prescribed by SOAP 1.1. + + + + E0005 + R2927 + + + + + + For a candidate envelope containing a soap:Body element with local or namespaced attributes. + An envelope contains a soap:Body element with local or namespaced attributes. + A namespaced or local attribute on a soap:Body element is considered an extensibility point because it is not constrained by SOAP 1.1. + + + + E0025 + R2927 + + Note that a namespace declaration on a soap:Body element is not considered an extensibility point. + + + + Driver testable. + Driver testable. + Driver testable. + + + + R1002 + R1016 + R2927 + + All of these profile requirements are testable only by using a driver test program, since a test assertion would +require application-level knowledge of the message exchange. + + + Not testable. + Not testable. + Not testable. + + + + R1017 + R1025 + R1027 + R1028 + R1029 + R1030 + R1107 + R2753 + E0002 + E0003 + E0006 + E0024 + + All of these profile requirements are NOT testable. + Some of these test assertions represent capabilities which + can not be validated. + + Note: That E0024 as stated, is really not worth testing because + it is always true since there is always at least one namespace declaration + (i.e., the SOAP namespace) defined on the Envelope element. + + + + For a candidate message in the message log file, which is not an empty response message + The soap:envelope in the message is a well-formed XML 1.0 document. + The soap:Envelope does not conform to XML 1.0. + {SOAP message}{any XML parser error messages} + + + + R9701 + + + + + + For a candidate envelope + The ENVELOPE does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + An ENVELOPE contains the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + SOAP envelope. + + + + R9704 + + + + + For an envelope in a response message containing a soap:Fault element with attachments + In a description, if and only if, the wsdl:output element is described using WSDL MIME binding, then the envelope in the response message can contain faults with attachments. + The envelope in a response message contains a fault with attachments and the corresponding wsdl:output element in the description is not described using the WSDL MIME binding. + SOAP message. + + operation + + + + R2920 + + + + + + For a candidate envelope containing a URI reference that is typed using the ref:swaRef schema type + In an envelope, a URI reference that is typed using the ref:swaRef schema type resolves to a MIME part in the same message as the envelope. + In an envelope, a URI reference that is typed using the ref:swaRef schema type does not resolve to a MIME part in the same message as the envelope. + SOAP message. + + anyMessage + + + + R2928 + + + + + + Not testable. + Not testable. + Not testable. + + + + R2918 + + All of these profile requirements are NOT testable. Some of these test assertions represent capabilities which +can not be validated. + + + diff --git a/.metadata/.plugins/org.eclipse.wst.internet.cache/911606457.cache b/.metadata/.plugins/org.eclipse.wst.internet.cache/911606457.cache new file mode 100644 index 0000000..6bec2a4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.internet.cache/911606457.cache @@ -0,0 +1,1894 @@ + + + + + + This document contains the test assertions for the WS-I Simple SOAP Binding Profile 1.0 + combined with the test assertions for the WS-I Basic Profile definition. + These test assertions are used by the analyzer testing tool to determine if + a Web service is conformant to the Simple Soap Binding Profile 1.0 in conjunction with the Basic Profile 1.1. + + + + + + + + Simeon Greene + David Lauzon + Keith Stobie + Ed Johns + Shrikant Wagh + + + Ajay Honnur (BEA), + Rami Jaamour (Parasoft), + Narendra Patil (Optimyz Software, Inc.) + + + + + + + + + + The Basic Profile requires support for UDDI V2.0. + + + For a candidate uddi:tModel + The uddi:tModel element uses WSDL as the description language and +the uddi:tModel contains a reference to a WSDL binding. +The uddi:overviewDoc/uddi:overviewURL element contains a reference to a WSDL definition, +which uses a namespace of http://schemas.xmlsoap.org/wsdl/. The uddi:overviewURL may +use the fragment notation to resolve to a specific wsdl:binding. + The uddi:tModel does not reference a WSDL based Web service +definition or the uddi:tModel does not reference a wsdl:binding. + {tModel key}{uddi:overviewDoc} + + definitions + + + + R3002 + R3010 + R3011 + + + + + For a candidate uddi:bindingTemplate + The uddi:bindingTemplate element contains a uddi:accessPoint element, with a non-empty value. + The uddi:bindingTemplate does not contain an uddi:accessPoint element, or it is empty. + bindingTemplate key + + + + R3100 + + + + + For a candidate uddi:tModel + The uddi:tModel is categorized using the uddi:types taxonomy, as "wsdlSpec": the uddi:keyedReference element has a tModelKey attribute value equal to "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4" and a keyValue attribute value equal to "wsdlSpec". + + The uddi:tModel is not categorized using the uddi:types taxonomy with a categorization of "wsdlSpec". + {tModel key}{categoryBag} + + + + R3003 + + + + + Driver testable. + Driver testable. + Driver testable. + + + + + All of these profile requirements are testable only by using a driver test program, since a test assertion would +require application-level knowledge of the message exchange. + + + + + + + + + + The Basic Profile requires support for XML Schema 1.0 and WSDL 1.1. + The Simple SOAP Binding Profile requires support for XML Schema 1.0 and WSDL 1.1. + + For a candidate Web service definition within a WSDL document with a XML declaration statement. + The XML declaration statement uses UTF-8 or UTF-16 for the encoding. + XML declaration statement within WSDL document does not use expected encoding (UTF-8 or UTF-16). + XML declaration statement. + + + + R4003 + + checks WSDL encoding. + + + For a candidate wsdl:types element within a WSDL document which imports an XML schema directly or indirectly. + The imported schema uses UTF-8 or UTF-16 for the encoding. + The XML declaration statement within the imported XML Schema does not +use expected encoding (UTF-8 or UTF-16). + XML declaration statement. + + + + R2010 + + + + + For a candidate wsdl:definitions element within a WSDL document. + The wsdl:definitions is a well-formed XML 1.0 document. + The wsdl:definitions is not a well-formed XML 1.0 document. + Error message from the XML parser + + + + R4004 + R0001 + + 1st step in a 3-phase verification process: XML+namespace+schemavalid. + + + For a candidate wsdl:types element, with XML schema import elements + Each XML schema import statement (xsd:import) is only used to directly reference an XML schema definition, which has "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element. It does not contain a reference to another document embedding the XML schema definition (e.g. WSDL). + An XML schema import element references something other than an XML schema definition: the referenced element does not have "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element. + Defective XML schema import element. + + + + R2002 + R2004 + + NOTE: XML schema definitions within a WSDL document must adhere to the same rules as XML schema definitions which appear in separate XSD files. For example, two WSDL definitions can not contain the same complex type definition for the same targetNamespace. + + + For a candidate wsdl:types element within a WSDL document, which imports an XML schema directly or indirectly + The imported XML schema is a well-formed XML 1.0 document and if it contains an +XML declaration, it is version 1.0. + The imported XML schema is not a well-formed XML 1.0 document. + {Error message from the XML parser}{imported XML schema} + + + BP2102 + + + R2011 + + + + + For a candidate wsdl:definitions element within a WSDL document. + The wsdl:definitions namespace has value: http://schemas.xmlsoap.org/wsdl/. + The wsdl:definitions namespace is not: http://schemas.xmlsoap.org/wsdl/. + + + + + R0001 + + 2nd step in a 3-phase verification process: XML+namespace+schemavalid. + + + For a candidate description within a WSDL document + If it uses the WSDL namespace, then it conforms to the schema located at http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd, and if it uses the WSDL-SOAP binding namespace then it conforms to the schema located at http://schemas.xmlsoap.org/wsdl/soap/2003-02-11.xsd. + WSDL definition does not conform to the schema located at http://schemas.xmlsoap.org/wsdl/soap/2003-02-11.xsd for some element using the WSDL-SOAP binding namespace, or does not conform to the schema located at http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd for some element using the WSDL namespace. + Error message from the XML parser. + + + + R2029 + R2028 + R0001 + + A description using WSDL-SOAP namespace is prefixed soapbind: in this doc as well as in the profile def. This verification is 3rd step in a 3-phase verification process: XML+namespace+schemavalid. + + + For a candidate description within a WSDL document + The candidate description does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + The candidate description contains the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + + + + BP2703 + + + R1034 + R4005 + + + + + For a candidate Web service definition with wsdl:types elements + The wsdl:types elements occur either as first children in the WSDL namespace of the wsdl:definitions element, or they are only preceded by wsdl:documentation element(s) and/or wsdl:import(s) element(s). + wsdl:types element(s) in the WSDL namespace of the wsdl:definitions element were preceded by child elements other than wsdl:documentation or wsdl:import elements. + + + + BP2703 + + + R2023 + R2030 + + + + + For a candidate wsdl:operation in a wsdl:portType definition + The wsdl:operation element is either a WSDL request/response or a one-way operation (no Notification or Sollicit-Response). + wsdl:operation was not a request/response or one-way operation. + Operation. + + + BP2703 + + + R2303 + + + + + For a candidate wsdl:portType definition + name attributes of Operations are unique in the wsdl:portType definition + name attributes are not unique within the portType definition. + list of duplicate name(s) and of elements that use them. + + + BP2703 + + + R2304 + + + + + For a candidate wsdl:binding element, if the style attribute of the contained soapbind:binding is "rpc" +and the use attribute is "literal". + The namespace attribute is specified on all soapbind:body elements and the value of the +namespace attribute is an absolute URI. + A soapbind:body element does not have a namespace attribute, or the namespace attribute +value is not an absolute URI. + soapbind:body elements that failed the assertion + + + + R2717 + + + + + For a candidate wsdl:binding element + The wsdl:input element and wsdl:output element of each operation uses the attribute name "part" with a Schema type of "NMTOKEN" and does not use "parts", for both soapbind:header elements and soapbind:headerfault elements. + The wsdl:input element or wsdl:output element of an operation does not use the attribute name "part" with a Schema type of "NMTOKEN" for soapbind:header elements or soapbind:headerfault elements, or it uses "parts". + wsdl:input element or wsdl:output element of the defective operation. + + + BP2703 + + + R2720 + R2749 + + Generally BP2703 will fail as a pre-req first because this will not pass a specialized schema check. + + + For a candidate wsdl:binding element + The wsdl:binding element has a soapbind:binding child element. + The wsdl:binding element does not use a soapbind:binding element as defined in section "3 SOAP Binding." of the WSDL 1.1 specification. + wsdl:binding. + + + BP2703 + + + R2401 + + + + + For a candidate wsdl:binding element + the name attribute is specified on the soapbind:fault element. + Defective soapbind:fault element: the name attribute is not specified on the soapbind:fault element. + Defective soapbind:fault element + + + + R2721 + + + + + For a candidate wsdl:binding element + the name attribute that is specified on the soapbind:fault element matches the value specified on the parent element wsdl:fault. + Defective soapbind:fault element: the "name" attribute value does not match the value of the "name" attribute on the parent element wsdl:fault. + Defective soapbind:fault element + + + + R2754 + + + + + For a candidate wsdl:binding element + The contained soap:binding element has a "transport" attribute, which has value: http://schemas.xmlsoap.org/soap/http. + Transport attribute of the soap:binding does not contain http://schemas.xmlsoap.org/soap/http. + soap:binding element. + + + BP2703 + BP2402 + + + R2701 + R2702 + + + + + For a candidate wsdl:binding element, if the style attribute of the binding is "document" and use is "literal" + The binding (in soapbind:body elements) only refers to part elements that have been defined using the "element" attribute. + The binding (in soapbind:body elements) refers to part(s) of a soap:body element that do not have the "element" attribute. + soapbind:body element(s) that have non "element" parts attributes. + + + BP2404 + + + R2204 + + + + + For a candidate wsdl:binding element, if the use attribute is specified on the soapbind:body, soapbind:fault, soapbind:header, or soapbind:headerfault elements. + The use attribute has a value of "literal". + The use attribute of a soapbind:body, soapbind:fault, soapbind:header and soapbind:headerfault does not have value of "literal". + Defective soapbind:body, soapbind:fault, soapbind:header, or soapbind:headerfault elements. + + + BP2703 + + + R2706 + R2723 + R2707 + + R2707 is not the verified Req, but an assumed Req for this verification. + + + For a candidate wsdl:binding element, if the "style" attribute of the contained soap:binding is "document" and use attribute is "literal" + The "namespace" attribute is not specified in any contained soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault elements + The binding is of style "document" and use "literal", and the "namespace" attribute is specified in some soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault element + Contained element with namespace attribute. + + + BP2406 + + + R2716 + + + + + For a candidate wsdl:binding element, if the "style" attribute of the contained soap:binding is "rpc" and use attribute is "literal" + The binding (in soapbind:body elements) only refers to part elements that have been defined using the "type" attribute + soap:binding (in soapbind:body elements) refers to part(s) that do not have the "type" attribute. + {binding}{message with failed part} + + + + R2203 + + + + + For a candidate wsdl:operation with a parameterOrder attribute, if referred to by a candidate rpc-literal wsdl:binding element + The parameterOrder attribute omits at most 1 part from an output wsdl:message. + An operation associated with an rpc-literal binding has a parameterOrder attribute that omits more than 1 part. + {defective portType}{output wsdl:message} + + + + R2305 + + + + + For a candidate wsdl:binding + The "style" attribute of each operation in the contained soap:binding has the same value of "document" or "rpc", for all operations of the wsdl:binding. + The "style" attribute of an operation in soap:binding, does not have the same value of "document" or "rpc", as other operations of the binding. + defective soap:binding element. + + + BP2404 + + + R2705 + R2706 + + + + + For a candidate wsdl:definition, if it contains wsdl:import statements + Each wsdl:import statement is only used to import another WSDL description. + A wsdl:import element does not contain a reference to another WSDL description. + wsdl:import element(s) that does not reference a WSDL description. + + + BP2703 + + + R2001 + + + + + For a candidate wsdl:import element + The "location" attribute is specified for the wsdl:import element, and has a non-empty value. + A wsdl:import element does not have a "location" attribute, or has an empty value for the location attribute. + Defective wsdl:import element. + + + + R2007 + + + + + For a candidate wsdl:import element + The "namespace" attribute's value is not a relative URI. + The wsdl:import element's "namespace" attribute value is a relative URI. + Defective wsdl:import element. + + + BP2703 + + + R2803 + + + + + + For each a candidate wsdl:definitions + For the referenced definitions as well as all imported descriptions, The XML schema import statement is only used within an xsd:schema element. + A XML schema import element was found outside of an xsd:schema element. + Defective XML schema import element. + + + + R2003 + + This assertion is processed once for each WSDL description which fulfills the context criteria. The target for this assertion is the definitions element, because the XML schema import element might be specified anywhere within a WSDL document. + + + For a candidate wsdl:import + The targetNamespace attribute on the wsdl:definitions element for the imported WSDL description has the same value as the namespace attribute on the wsdl:import element that imported the WSDL description. + The targetNamespace attribute on the wsdl:definitions element for an imported WSDL description does not have the same value as the namespace attribute on the wsdl:import element that imported the WSDL description. + wsdl:import element. + + + BP2101 + + + R2005 + + + + + For a candidate wsdl:definitions with wsdl:import elements + wsdl:import elements occur either as first children elements in the WSDL namespace of the wsdl:defintitions element, or they are only preceded by wsdl:documentation elements. + A wsdl:import element in the WSDL namespace under the wsdl:definitions element, is preceded by child elements other than wsdl:documentation elements. + Display the WSDL import element(s) that failed the assertion. + + + + R2022 + R2030 + + + + + For a candidate wsdl:definitions + Every QName in the WSDL document that is not referring to a schema component, is either using the target namespace of this WSDL or the target namespace of a directly imported WSDL component. + A QName reference that does not refer to a schema component, is using neither the target namespace of this WSDL nor the target namespace of a directly imported WSDL component. + Defective QName(s). + + + + R2101 + + This assertion is processed once for each WSDL description which fulfills the context criteria. Only direct WSDL imports are considered for QName resolution. Note that this test does not require resolving the qualified element itself in the imported namespace: only the namespace is verified. Some sub cases of R2101 related to schema target namespaces, are not handled here and are covered by another TA covering R2102 (BP2417). + + + For a candidate wsdl:definitions + Every QName in the WSDL document and its imports, that is referring to a schema component, uses the namespace defined in the targetNamespace attribute on the xs:schema element, or a namespace defined in the namespace attribute on an xs:import element within the xs:schema element. + A QName reference that is referring to a schema component, uses a namespace not defined in the targetNamespace attribute on the xs:schema element, or in the namespace attribute on an xs:import element within the xs:schema element. + Defective QName(s). + + + + R2102 + R2101 + + This assertion is processed once for each WSDL description which fulfills the context criteria. Only the subcases of R2101 that are related to schema imports are covered by this test, as these overlap with R2102 requirements. + + + For a candidate wsdl:types element containing an xsd:schema element + The xsd:schema element contains a targetNamespace attribute with a valid and non-null value unless the xsd:schema element has xsd:import and/or xsd:annotation as its only child element(s). + A xsd:schema element contained in a wsdl:types element does not have a targetNamespace attribute with a valid and non-null value, while having child element(s) other than xsd:import or xsd:annotation. + Defective xsd:schema element(s). + + + + R2105 + + + + + For a candidate wsdl:types + The type soapenc:Array does not appear in these declarations, and the wsdl:arrayType attribute is not used in the type declaration. + An Array declaration uses - restricts or extends - the soapenc:Array type, or the wsdl:arrayType attribute is used in the type declaration. + Defective declaration(s). + + + + R2110 + R2111 + + R2110 and R2111 have been interpreted as applying to any declaration, as we cannot assume the intent of declaring arrays, which is untestable. + + + For a candidate wsdl:types that is used by an rpc-literal binding + The declaration does not use the naming convention ArrayOfXXX. + A declaration is using the convention ArrayOfXXX. + Defective declaration(s). + + + + R2112 + + R2112 has been interpreted as applying to any declaration, as we cannot assume the intent of declaring arrays, which is untestable. However, R2112 should only concern "wrapper elements", i.e. RPC-lit cases. The narrowing of the context here, is not sufficient to restrict properly the application of this TA. + + + For a candidate wsdl:binding, which contains a document-literal soap:binding + If the "parts" attribute is present, then the soapbind:body element(s) have at most one part listed in the parts attribute. + One or more soapbind:body element(s) in a document-literal soap:binding does not have at most one part listed in the parts attribute. + Defective soapbind:body element(s). + + + + R2201 + + + + + For a candidate wsdl:binding, with a style "rpc" attribute and containing at least a soapbind:body element + No wsdl:part referred by such a soapbind:body element is defined using the "element" attribute. + The referred wsdl:part element uses the "element" attribute in an rpc-literal soapbind:body. + {soapbind:body}{wsdl:part element(s)} + + + + R2207 + + + + + For a candidate wsdl:binding element + When they contain references to message parts, the soapbind:header, soapbind:headerfault and soapbind:fault elements only refer to wsdl:part element(s) that have been defined using the "element" attribute. + The soapbind:header, soapbind:headerfault or soapbind:fault elements refer to wsd:part element(s) that are not defined using only the "element" attribute. + Defective wsdl:binding and wsdl:part elements. + + + + R2205 + + + + + For a candidate wsdl:message + An "element" attribute on any wsdl:part element refers to a global element declaration. + A wsdl:message element containing a wsdl:part element that uses the "element" attribute does not refer, via that attribute, to a global element declaration. + Defective wsdl:message element. + + + + R2206 + + + + + For a candidate wsdl:message element + The wsdl:message element does not contain part elements that use both "type" and "element" attributes. + A wsdl:message element has at least one wsdl:part element that contains both type and element attributes. + Defective wsdl:message element. + + + + R2306 + + + + + For a candidate wsdl:binding element, referred to by an rpc-literal soap:binding + The rpc-literal binding does not have a namespace attribute specified on a contained soapbind:header, soapbind:headerfault, and soapbind:fault element. + An rpc-literal binding has the namespace attribute specified on contained soapbind:header, soapbind:headerfault and soapbind:fault elements. + {Defective wsdl:binding}{defective soapbind:header, soapbind:headerfault, or soapbind:fault element} + + + BP2017 + BP2406 + + + R2726 + + + + + For a candidate wsdl:binding element + The list (or set) of wsdl:operation elements for the contained wsdl:binding is the same as the list of wsdl:operations for the referred wsdl:portType. + A wsdl:binding does not have the same list of wsdl:operations as the wsdl:portType to which it refers. + {unmatching wsdl:binding element}{unmatching portType element} + + + + R2718 + + + + + For a candidate wsdl:binding element + Every wsdl:part from each wsdl:message in the associated wsdl:portType is referenced either by the soapbind:body, soapbind:header, soapbind:fault, or soapbind:headerfault. + A wsdl:binding does not bind every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault. + {Defective wsdl:binding element}{message with part(s) unbound} + + + BP2118 + + + R2209 + + + + + For a candidate wsdl:binding, which is of type document-literal + If it does not specify the parts attribute on a soapbind:body element, the corresponding abstract wsdl:message defines zero or one wsdl:part. + A document-literal binding which does not specify the parts attribute, has more than one wsdl:part in the associated wsdl:message element. + Defective wsdl:binding element. + + + BP2404 + + + R2210 + + + + + For a candidate wsdl:binding + Each operation referenced by the binding results in a unique wire signature. + A binding has operations that are not unique. + Defective wsdl:operation element(s). + + + + R2710 + + + + + For a candidate wsdl:types element + The data type definition if any within the wsdl:types element is an XML schema definition defined in the XML Schema 1.0 Recommendation with the namespace URI "http://www.w3.org/2001/XMLSchema". + A wsdl:types element contained a data type definition that is not an XML schema definition. + Defective data type definition. + + + + R2801 + + + Validating the data type definitions includes any imported XML schema definitions. + + + + For a candidate wsdl:definitions, if it contains a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, +or wsdl:message that claims conformance to the Profile. + Contained WSDL extension elements do not use the wsdl:required attribute value of "true". + An extension element within a WSDL element that claims conformance to the Basic Profile has a wsdl:required attribute with a value of "true". + Display the extension element that failed the assertion. + + + + R2026 + + + + + For a candidate wsdl:definitions element containing an extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/". + The WSDL contains an extension element or attribute that does not belong to the "http://schemas.xmlsoap.org/wsdl/soap/". + The use of a WSDL extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/" may require out of band negotiation. + The use of a WSDL extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/" may require out of band negotiation. + + + + E0013 + + Extension elements other than those belonging to one of the following namespaces (...) are considered extensibility points. + + + + For a candidate wsdl:import element, where the location attribute or the namespace attribute has a value that is a relative URI, or a for soap:address element where the location attribute is a relative URI. + The use of a relative URI as the value for a wsdl:import location or namespace attribute, or for a soap:address location attribute may require out of band coordination. + A wsdl:import location or namespace attribute, or a soap:address location attribute is a relative URI. + The element(s) in question. + + + + E0016 + + + + + + For an XML schema definition defined in the wsdl:types element, or imported directly or indirectly by a schema definition defined in the wsdl:types element, which contains any schema annotation elements. + An XML schema definition defined in the wsdl:types element, or imported directly or indirectly by a schema definition defined in the wsdl:types element, may use schema annotation elements as an extensibility mechanism. + An XML schema defined in the wsdl:types element, or imported directly or indirectly by a schema defined in the wsdl:types element, contains annotation elements. + The annotation elements included in the schema. + + + BP2202 + BP2011 + + + E0017 + + Schema annotations are an extensibility point. + + + + Driver testable. + Driver testable. + Driver testable. + + + + R2709 + + All of these profile requirements are testable only by using a driver test program, since a test assertion would +require application-level knowledge of the message exchange. + + + Not testable. + Not testable. + Not testable. + + + + R2025 + R2027 + R2008 + R4002 + R2200 + R2202 + R2208 + R2302 + R2750 + R2707 + R2711 + R2727 + R2719 + R2722 + R2724 + R2725 + R2741 + R2742 + R2743 + R2747 + R2748 + R2751 + R2752 + R2800 + R2009 + R2114 + R2030 + E0014 + E0015 + + All of these profile requirements are NOT testable, or NOT testable using the + current test tools. For example, some of these test assertions represent + capabilities which can not be validated. + Note, BP2200 is NOT testable using the current test tools because any + BOM detected within a WSDL document is pre-processed by the WSDL + reader/parser and hence becomes inaccessible. + Note, R2724 could be tested. If a request is inconsistent with the WSDL for the request, + we could flag returning a non-error response. We currently do not check the status of a + request when we are processing the response. However this is within the scope of the test-tools + and we are tracking this omission defect/feature in bugzilla RE: bug#: 8. + + + + For a candidate wsdl:binding element + The wsdl:binding binds every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault. + A wsdl:part of a wsdl:message in the wsdl:portType to which it refers does not bind to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault in the wsdl:binding. + wsdl:binding. + + + BP2703 + + + R2209 + + + + + + For a candidate wsdl:binding element + Descendant elements and attributes in the wsdl:binding are not from the namespaces of WSDL MIME, HTTP GET/POST or DIME binding extensions. + A descendant element or attribute in the wsdl:binding is from a namespace of WSDL MIME, HTTP GET/POST or DIME binding extensions. + Defective descendant element or attribute + + + BP2402 + + + R9801 + + + The namespace for the WSDL MIME, HTTP GET/POST and DIME binding extensions respectively are assumed to be: + http://schemas.xmlsoap.org/wsdl/mime/ + http://schemas.xmlsoap.org/wsdl/http/ + http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/ + + + + + Not testable. + Not testable. + Not testable. + + + + R4001 + R9800 + R9802 + + All of these profile requirements are NOT testable, or NOT testable using the current test tools. For example, some of these test assertions represent capabilities which can not be validated. + + + + + + + + + + + + + + + + The Basic Profile requires support for SOAP 1.1 and HTTP 1.0 or 1.1. + The Simple SOAP Binding Profile requires support for SOAP 1.1 and HTTP 1.0 or 1.1. + + For a candidate request message in the message log file + The request message is a POST message, without any use of framework extension. + The message is not an HTTP POST message, or makes use of HTTP framework extension. + All HTTP headers. + + + + R1132 + R1108 + + + + + For a candidate request message in the message log file, when a SOAPAction header is present + The SOAPAction header contains a quoted string of any value, including "". + SOAPAction HTTP header does not contain a quoted string. + All HTTP headers. + + + + R1109 + + + + + For a candidate request message in the message log file, when a SOAPAction header is present + The SOAPAction header contains a quoted string that has same value as the value of the soapbind:operation/@soapAction attribute, and an empty string ("") if there is no such attribute. + SOAPAction header does not contain the correct string value. + {All HTTP headers}{soapAction value from the soap:binding}. + + binding + + + BP1006 + + + R2744 + R2745 + + + + + For a candidate message in the log file, that is either a POST HTTP request, or a response to a POST HTTP request + If it is a request, the arg #2 of POST is <HTTP/1.1>. If absent, first line of the body is: HTTP-Version = HTTP/1.1. If it is a response, it starts with <HTTP/1.1> + The message is not sent using HTTP/1.1. + All HTTP headers. + + + BP1002 + + + R1140 + + + + + For a candidate message in the log file, that is either a POST HTTP request, or a response to a POST HTTP request + If it is a request, the arg #2 of POST is <HTTP/1.1> or <HTTP/1.0>. If absent, first line of the body is: HTTP-Version = HTTP/1.1. (or HTTP/1.0). If it is a response, it starts with <HTTP/1.1> or <HTTP/1.0> + The message is not sent using HTTP/1.1 or HTTP/1.0. + All HTTP headers. + + + + R1141 + + + + + For a candidate response message in the message log file, which is bound to a One-Way wsdl:operation + It does not contain a soap:Envelope: the HTTP entity-body is empty + One-Way operation response contains a soap:Envelope (HTTP entity-body must be empty) + + + requestMessage + operation + + + + R2714 + + Need the request to determine if it is a One-Way. +We could have targeted the request as well (as primary entry), and correlate with the response. + + + For a candidate response message in the log file, that does not contain a SOAP message and that does not contain an HTTP 4xx status code + The response message, if successfully processed at HTTP level, is sent using either a "200 OK" or "202 Accepted" HTTP status code. + A response message without a SOAP message, is not using either a "200 OK" or +"202 Accepted" HTTP status code, though successful at HTTP level. + Complete message. + + requestMessage + + + + R1112 + + This test assertion is targeted at one-way operations. + + + For a candidate response message in the message log file, associated with a request message that does not contain an HTTP POST method + The response contains a "405 Method not Allowed" HTTP status code. + The response message to a request that was not a POST message, did not contain an 405 HTTP status code. + Both the request and response message. + + requestMessage + + + + R1114 + + + + + For a candidate message in the message log file containing an HTTP Authentication header field with an authentication mechanism other than "Basic" or "Digest" + The message contains an HTTP Authentication header field with an authentication mechanism other than "Basic" or "Digest". + HTTP authentication allows for extension schemes, arbitrary digest hash algorithms and parameters. + + + + E0007 + + HTTP Authentication is an extensibility point for HTTP 1.1. + + + + For a candidate message in the message log file containing an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt) + The message contains an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt) + The message contains an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt) + HTTP allows arbitrary headers to occur in messages. + + + + E0008 + + If all HTTP headers in a message are in the standardized list of draft-nottingham-http-header-reg-00 it will cause the informationalassertion 4104 to be notApplicable; otherwise 4101 will pass and headers not in the draft-nottingham-http-header-reg-00 will be listed. + + + + For a candidate message in the message log file containing a Content-encoding HTTP header field with a value other than "gzip", "compress" or "deflate" + The contained Content-encoding HTTP header field has a value other than "gzip", "compress" or "deflate". + The Content-encoding HTTP header field has a value other than "gzip", "compress" or "deflate". + The set of content-codings allowed by HTTP is open-ended. + + + + E0010 + + Any Content-encoding header field with a value other than the specified list is considered to be an extensibility point. + + + + For a candidate response message in the message log file containing a transfer-encoding HTTP header field with a value other than "chunked" + The contained transfer-encoding HTTP header field has a value other than "chunked". + The contained transfer-encoding HTTP header field has a value other than "chunked". + Any Transfer-encoding header field with a value other than chunked is considered to be an extensibility point. + + + + E0011 + + Any Transfer-encoding header field with a value other than chunked is considered to be an extensibility point. + + + + For a request message containing an Upgrade header field in the HTTP Headers. + The request message contains an Upgrade header field in the HTTP Headers. + The message contains an Upgrade header field in its HTTP Headers. + The Upgrade header field is considered an HTTP Extensibility point. + + + + E0012 + + The Upgrade header field is considered an HTTP Extensibility point. + + + + Driver testable. + Driver testable. + Driver testable. + + + + + All of these profile requirements are testable only by using a driver test program, since a test assertion would +require application-level knowledge of the message exchange. + + + Not testable. + Not testable. + Not testable. + + + + R1115 + R1122 + R1113 + R1119 + R1120 + R1121 + R1123 + R1124 + R1125 + R1127 + R1130 + R1131 + R1127 + R5000 + R5001 + R5010 + E0009 + E0019 + E0020 + E0021 + E0022 + E0023 + + All of these profile requirements are NOT testable. Some of these test assertions represent capabilities which +can not be validated. + + + For a candidate message in the log file, which has a non-empty entity-body + + The logged SOAP envelope is a UTF-8 transcript of an envelope originally encoded as UTF-8 or UTF-16. + The HTTP Content-Type header's charset value is either UTF-8 or UTF-16. Looking at the messageContent + element of the logged message, either + (1) it has a BOM attribute which maps the charset value in the Content-Type header, or + (2) it has it has an XML declaration which matches the charset value in the Content-Type header, or + (3) there is no BOM attribute and no XML declaration, and the charset value is UTF-8. + + + Either + (1a) the message contains a Content-Type header but no charset value, or + (1b) the charset value is neither UTF-8 nor UTF-16, or + (2) there is a BOM attribute in the messageContent element, but its value does not match the charset value, or + (3) there is an XML declaration, and the charset value does not match its value, or + (4) there is no BOM attribute, no XML declaration, and the charset value in Content-Type header is not UTF-8. + Complete message. + + + + R1012 + R1018 + + The optional BOM attribute of the messagContent element is added by the Monitor into the log file, based on the original value in the HTTP payload. + + + + For a candidate message in the log file, with an HTTP entity-body. + The SOAP envelope is the exclusive payload of the HTTP entity-body. + The SOAP envelope is not the exclusive payload of the message HTTP entity-body. + The message in question. + + + + R9700 + + + + + + For a candidate message in the log file. + A message must have a "Content-Type" HTTP header field. The "Content-Type" HTTP header field must have a field-value whose media type is "text/xml". + The message either (1) did not have a "Content-Type" HTTP header field, or (2) the "Content-Type" HTTP header field had a field-value whose media type was something other than "text/xml" + The value of the media-type field, if any. + + + + R9702 + R9703 + + + + + + Not testable. + Not testable. + Not testable. + + + + R1010 + R1019 + + All of these profile requirements are NOT testable. Some of these test assertions represent capabilities which can not be validated. + + + + + + + +SOAP 1.1 defines a structure for transmitting messages, the envelope. The profile mandates the use of that structure.SOAP 1.1 defines a structure for transmitting messages, the envelope. The profile mandates the use of that structure. + + For a candidate response envelope containing a soap:Fault element + The contained soap:Fault element is defined in the wsdl:binding. + The response envelope contained soap:Fault element(s), but they +were not defined in the WSDL description. + Undefined soap:Fault element(s). + + binding + + + + R2740 + + + + + For a candidate envelope containing a soap:Body element + No child element of soap:Body has a soap:encodingStyle attribute. + A child of the soap:Body element has a soap:encodingStyle attribute. + SOAP message + + + BP1701 + + + R1006 + + + + + For a candidate envelope in a request message + The content of the envelope matches the definition in the WSDL document. In case of a doc-lit binding, the child element of soap:body is an instance of the global element declaration referenced by the corresponding wsdl:part. If the message has "parts", the order of the part elements in the soap:body of the wired message, is same as that of the wsdl:partS, in the wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element. + The content of the envelope does not match the wsdl:message definition. The order of parts in soap:body does not match the order of wsdl:partS in wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element; or the child element of soap:body is not an instance of the global element declaration referenced by the corresponding wsdl:part. + Non-matching WSDL operation and envelope. + + operation + + + BP1701 + BP1308 + + + R2301 + R2712 + R2710 + R2742 + R2743 + R2748 + + R2710, R2742 R2743 and R2748 used as "assumed" reqts, not reqts to verify. The soap:encodingStyle verification done by pre-req BP1308 on children, is not done for grand-children (BP1318 coul dnot be a pre-req) + + + For a candidate envelope in a response message, if it does not contain a soap:Fault + The content of the envelope matches the definition in the WSDL document. In case of an rpc-lit binding, the body contains a wrapper element that matches theoperation name. In case of a doc-lit binding, the child element of soap:body is an instance of the global element declaration referenced by the corresponding wsdl:part. If the message has "parts", the order of the part elements in the soap:body of the wired message, is same as that of the wsdl:partS, in the wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element. + The content of the envelope does not match the wsdl:message definition. The order of parts in soap:body does not match the order of wsdl:partS in wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element; or it has a doc-lit binding but the child element of soap:body is not an instance of the global element declaration referenced by the corresponding wsdl:part; or it has an rpc-lit binding but no wrapper element. + Non-matching WSDL operation and envelope. + + requestEnvelope + operation + + + BP1701 + + + R2301 + R2712 + R2710 + R2742 + R2743 + R2748 + + R2710, R2742 R2743 and R2748 used as "assumed" reqts, not reqts to verify. The test assertion also verifies the wrapper element in case of an rpc-binding (in a same way as BP1005 which could not be a pre-requisite due to a narrower context) + + + For a candidate envelope + The soap:body of the envelope does not contain the soapenc:arrayType attribute. + The soap:body of an envelope contains the soapenc:arrayType attribute. + SOAP envelope. + + + BP1701 + + + R2113 + + R2113 has been interpreted as applying to any message body, as it is unclear how to narrow to serialized array declarations. The narrowing of the context here,may not be sufficient to restrict properly the application of this TA. + + + For a candidate envelope containing a "mustUnderstand" attribute + The "mustUnderstand" attribute in the envelope has one of two values: 1, 0. + The "mustUnderstand" attribute in an envelope has a value different from: 1, 0. + SOAP envelope, plus envelope of a request message if it is a response. + + + BP1701 + + + R1013 + + + + + For a candidate envelope in a response message containing a soap:Fault element + The soap:Fault element is contained in an HTTP 500 message with "Server" Error code. + The soap:Fault message is not returned in an HTTP 500 message. + SOAP envelope. + + responseMessage + + + BP1701 + + + R1126 + + + + + For a candidate envelope in a response message containing a soap:Fault element + The soap:Fault element does not have children other than soap:faultcode, soap:faultstring, soap:faultactor or soap:detail. + One or more soap:Fault child elements are not standard, i.e. is neither soap:faultcode, soap:faultstring, soap:faultactor nor soap:detail. + SOAP envelope + + + BP1701 + + + R1000 + + + + + For a candidate envelope in a response message containing a soap:Fault element + The content of the soap:Fault element does not make use of the SOAP 1.1 dot notation, i.e. is a string without a dot character in it. + A soap:Fault element makes use of the SOAP 1.1 dot notation. + SOAP envelope + + + BP1701 + + + R1031 + + + + + For a candidate envelope + The soap:Envelope, soap:Header, and soap:Body elements do not have any attributes in the namespace "http://schemas.xmlsoap.org/soap/envelope/" + A soap:Envelope, soap:Header, or soap:Body element has an attribute in the namespace "http://schemas.xmlsoap.org/soap/envelope/". + SOAP envelope + + + BP1701 + + + R1032 + + + + + + For a candidate envelope + The SOAP envelope does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + The SOAP envelope contains the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + SOAP envelope + + + BP1701 + + + R1033 + + + + + For a candidate envelope in a response message containing a soap:Fault element + The soap:Fault element children (soap:faultcode, soap:faultstring, soap:faultactor or soap:detail) are unqualified. + One or more soap:Fault child elements are qualified. + SOAP envelope + + + BP1701 + + + R1001 + + + + + For a candidate envelope containing elements with namespace "http://schemas.xmlsoap.org/soap/envelope/" + The envelope contains elements that are namespaced "http://schemas.xmlsoap.org/soap/envelope/" do not have a soap:encodingStyle attribute. + The envelope contains one or elements namespaced "http://schemas.xmlsoap.org/soap/envelope/" having a soap:encodingStyle attribute. + SOAP envelope + + + BP1701 + + + R1005 + + + + + For a candidate non-fault envelope containing a soap:body with at least one grandchild, and is referred by an rpc-literal binding + The grandchild elements of soap:Body referred by an rpc-literal binding do not have a soap:encodingStyle attribute. + At least one grandchild of the soap:Body element referred by an rpc-literal binding has a soap:encodingStyle attribute. + SOAP envelope + + operation + + + BP1701 + BP1202 + + + R1007 + + + + + For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style rpc-literal + The envelope has part accessor elements for parameters and return value, in no namespaces, but the descendants of these are namespace qualified as defined by the schema in which their types are defined. + The envelope has part accessor elements for parameters and return value, within namespaces, or the descendants of these elements are not namespace qualified as defined by the schema in which their types are defined. + + + binding + + + BP1701 + + + R2735 + R2737 + + + + + For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style rpc-literal + Part accessor elements in the envelope do not have an xsi:nil attribute with a value of "1" or "true". + Envelope referenced by an rpc-literal binding has part accessor elements with an xsi:nil attribute with a value of "1" or "true". + + + binding + + + BP1701 + + + R2211 + + + + + For a candidate non-fault envelope containing a soap:body with at least one element + The envelope contains exactly one part accessor element for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element. + The content of the soap:Body element is inconsistent with its description. The envelope does not contain exactly one part accessor element for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element. + + + binding + + + BP1701 + + + R2212 + + + + + + For a candidate non-fault envelope containing a soap:Body element, and is referred by a doc-literal binding + The envelope has no element content in the soap:Body element if the value of the parts attribute of the soapbind:body is an empty string in the corresponding doc-literal description. + The soap:Body element must be empty when, in the corresponding doc-literal description, the value of the parts attribute of soapbind:body is an empty string. + SOAP envelope + + binding + + + BP1701 + + + R2213 + + + + + + For a candidate non-fault envelope containing a soap:Body element, and is referred by a rpc-literal binding + The envelope does not contain any part accessor elements if the value of the parts attribute of the soapbind:body is an empty string in the corresponding rpc-literal description. + The content of the soap:Body element is inconsistent with its description. The envelope must not have any part accessor elements when, in the corresponding rpc-literal description, the value of the parts attribute of soapbind:body is an empty string. + SOAP envelope + + binding + + + BP1701 + + + R2214 + + + + + + For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style rpc-literal + Each part accessor element in the envelope has a local name of the same value as the name attribute of the corresponding wsdl:part element. + The envelope referenced by an rpc-literal binding has a part accessor element with a local name that is not the same value as the name attribute of the corresponding wsdl:part element. + + + binding + + + BP1701 + + + R2755 + + + + + + For a candidate non-fault envelope in a response message, that has a soap:body with at least a child element, and is +referenced by a rpc-literal binding to a WSDL request-response operation + The envelope has a wrapper element with a name equal to the name attribute on the wsdl:operation element suffixed with string "Response". + Wrapper element in the envelope does not have a value equal to the name attribute on the wsdl:operation element suffixed with string "Response". + + + requestEnvelope + binding + + + BP1601 + BP1202 + + + R2729 + + Assume a correlation with WSDL binding entry is needed. + + + For an envelope in a response message containing a soap:Fault element with a faultcode child element + The soap:faultcode value in the soap:Fault element of the envelope is either one of: VersionMismatch, MustUnderstand, Client, Server, or is qualified by a namespace. + The soap:faultcode value in the soap:Fault element of the envelope is not one of: VersionMismatch, MustUnderstand, Client, Server, or is not qualified by a namespace. + SOAP envelope in a response message. + + + BP1701 + + + R1004 + + If namespace qualified, the namespace is other than http://schemas.xmlsoap.org/soap/envelope/, per (assumed) conformance to SOAP. + + + For an envelope in a response message containing a soap:Fault element, if there is any qualified attribute for the detail element + The namespace of a qualified attribute appearing on the detail element in the soap:Fault +is a foreign namespace, different from "http://schemas.xmlsoap.org/soap/envelope/". + The soap:Fault message contains detail element with attributes qualified with a non-foreign namespace. + SOAP message. + + + BP1701 + + + R1003 + + this is a narrowing of the schema, which allows any namespace. + + + For a candidate non-fault envelope in a response message + The message uses a "200 OK" HTTP status code. + The envelope of the response message does not contain a soap:Fault and the message does not use a "200 OK" HTTP status code. + Complete message. + + responseMessage + + + BP1701 + + + R1111 + + + + + For a candidate envelope + The envelope conforms to the structure specified in SOAP 1.1 Section 4. + The envelope does not conform to the structure specified in SOAP 1.1 Section 4 + SOAP envelope. + + + + R9980 + + + + + + For a candidate non-empty envelope + The soap:envelope and soap:body are well-formed XML 1.0 documents. + The soap:Envelope or soap:Body does not conform to XML 1.0. + {SOAP envelope}{any XML parser error messages} + + + + + + Assumed in underlying spec, though no formal Rxxxx for it. 1st step in a 3-phase verification process: XMLvalid + namespace check + schemavalid. + + + For a candidate envelope + The envelope has a document element named "Envelope" with namespace http://schemas.xmlsoap.org/soap/envelope/. + The envelope does not use SOAP 1.1, i.e. does not have a document element named "Envelope" or a namespace value of http://schemas.xmlsoap.org/soap/envelope/. + SOAP envelope. + + + BP1601 + + + + + Assumed in underlying spec, though no formal Rxxxx for it (run-time version of R2700). 2nd step in a 3-phase verification process: XMLvalid + namespace check + schemavalid. + + + For a candidate envelope containing a soap:body with at least one child element + Each child element (if any) of the soap:Body element is namespace qualified (not the grandchildren). + A child element of the soap:Body element is not namespace qualified. + SOAP envelope. + + + BP1701 + + + R1014 + + + + + For a candidate envelope + The envelope conforms to the SOAP schema located at http://schemas.xmlsoap.org/soap/envelope/ + The envelope does not conform to the SOAP schema located at http://schemas.xmlsoap.org/soap/envelope/. + SOAP message. + + + BP1201 + + + + + Assumed in underlying spec, though no formal Rxxxx for it. 3rd step in a 3-phase verification process: XMLvalid + namespace check + schemavalid. + + + For a candidate envelope in a response message, that is a part of a Request-Response operation where the request contains a soap:Envelope with a document element with name: "Envelope" and a namespace different than "http://schemas.xmlsoap.org/soap/envelope/". + A soap:Fault is generated as response. + A soap:Fault is not generated for a document element named "Envelope" that had namespace +different from: "http://schemas.xmlsoap.org/soap/envelope/" + + + requestEnvelope + operation + + + BP1701 + + + R1015 + + + + + For a candidate envelope + DTDs relating to soap:header or soap:body documents, are not present in the envelope: no DOCTYPE element is present. + The soap:header or soap:body elements in the envelope, were described with an included DTD. + SOAP envelope. + + + BP1701 + + + R1008 + + + + + For a candidate envelope + The SOAP envelope does not include XML processing instructions. + a SOAP envelope contains XML processing instructions. + SOAP envelope. + + + BP1701 + + + R1009 + + + + + For a candidate non-fault envelope containing a soap:body with at least a child element, and that is not a response message to a one-way WSDL operation + The Envelope includes all soapbind:headers specified in the wsdl:input (if request) or wsdl:output (if response) of the operation referred to by its wsdl:binding, and may also include headers that were not specified. + Envelope does not include all soapbind:headers specified in the wsdl:input (if request) or wsdl:output (if response) of its bound operation. + + + binding + + + BP1601 + BP1202 + + + R2738 + R2739 + R2747 + R2748 + + + + + For a candidate envelope containing a soap:Body element + The soap:Envelope does not have direct children after the soap:Body element + The soap:Envelope has a direct child after the soap:Body element. + + + + BP1701 + + + R1011 + + + + + For a candidate envelope containing a header block that is either mandatory or is not described in the wsdl:binding. + An envelope contains a header block that is either mandatory or is not described in the wsdl:binding. + A header block in the envelope is either mandatory or is not described in the appropriate wsdl:binding. + Header blocks are the fundamental extensibility mechanism in SOAP. + + binding + + + + E0001 + + This assertion is for the header blocks extensibility element. + + + + For a candidate envelope containing a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next". + A header element in the envelope contains a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next". + A header element in the envelope contains a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next". + Values of the soap:actor attribute, other than the special uri "http://schemas.xmlsoap.org/soap/actor/next", represent a private agreement between parties of the web service. + + + + E0004 + + The soap:actor attribute is an extensibility point. + + + + For a candidate envelope containing a fault with a non-empty detail element. + A Fault element in an envelope contains a non-empty detail element. + A Fault element in an envelope contains a non-empty detail element. + The contents of a Fault's detail element are not prescribed by SOAP 1.1. + + + + E0005 + + + + + + For a candidate envelope containing a soap:Body element with local or namespaced attributes. + An envelope contains a soap:Body element with local or namespaced attributes. + A namespaced or local attribute on a soap:Body element is considered an extensibility point because it is not constrained by SOAP 1.1. + + + + E0025 + + Note that a namespace declaration on a soap:Body element is not considered an extensibility point. + + + + Driver testable. + Driver testable. + Driver testable. + + + + R1002 + R1016 + + All of these profile requirements are testable only by using a driver test program, since a test assertion would +require application-level knowledge of the message exchange. + + + Not testable. + Not testable. + Not testable. + + + + R1017 + R1025 + R1027 + R1028 + R1029 + R1030 + R1107 + R2753 + E0002 + E0003 + E0006 + E0024 + + All of these profile requirements are NOT testable. + Some of these test assertions represent capabilities which + can not be validated. + + Note: That E0024 as stated, is really not worth testing because + it is always true since there is always at least one namespace declaration + (i.e., the SOAP namespace) defined on the Envelope element. + + + + For a candidate message in the message log file, which is not an empty response message + The soap:envelope in the message is a well-formed XML 1.0 document. + The soap:Envelope does not conform to XML 1.0. + {SOAP message}{any XML parser error messages} + + + + R9701 + + + + + + For a candidate envelope + The ENVELOPE does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + An ENVELOPE contains the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace". + SOAP envelope. + + + + R9704 + + + + + diff --git a/.metadata/.plugins/org.eclipse.wst.internet.cache/cache.xml b/.metadata/.plugins/org.eclipse.wst.internet.cache/cache.xml new file mode 100644 index 0000000..e416195 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.internet.cache/cache.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/externalLibsTimeStamps b/.metadata/.plugins/org.eclipse.wst.jsdt.core/externalLibsTimeStamps new file mode 100644 index 0000000..f5a2da8 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/externalLibsTimeStamps differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1974196992.index b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1974196992.index new file mode 100644 index 0000000..620173a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1974196992.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2259403217.index b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2259403217.index new file mode 100644 index 0000000..620173a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2259403217.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/3007451115.index b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/3007451115.index new file mode 100644 index 0000000..6538d00 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/3007451115.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/3670542250.index b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/3670542250.index new file mode 100644 index 0000000..bc35486 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/3670542250.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/4032157952.index b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/4032157952.index new file mode 100644 index 0000000..620173a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/4032157952.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/405089343.index b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/405089343.index new file mode 100644 index 0000000..ede7ae5 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/405089343.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/4137515924.index b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/4137515924.index new file mode 100644 index 0000000..620173a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/4137515924.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/446698966.index b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/446698966.index new file mode 100644 index 0000000..620173a Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/446698966.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/717302498.index b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/717302498.index new file mode 100644 index 0000000..c60507f Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/717302498.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/772543098.index b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/772543098.index new file mode 100644 index 0000000..bf25777 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/772543098.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/savedIndexNames.txt b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/savedIndexNames.txt new file mode 100644 index 0000000..f18e24e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/savedIndexNames.txt @@ -0,0 +1,6 @@ +INDEX VERSION 1.4+E:\1_CODING\LearnJava\Java-Pre\.metadata\.plugins\org.eclipse.wst.jsdt.core\indexes +446698966.index +4032157952.index +2259403217.index +1974196992.index +4137515924.index diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/baseBrowserLibrary.js b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/baseBrowserLibrary.js new file mode 100644 index 0000000..5dba6ab --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/baseBrowserLibrary.js @@ -0,0 +1,5393 @@ +/******************************************************************************* + * Copyright (c) 2008, 2013 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +/** + * Object DOMException() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Object + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Object + */ +function DOMException(){}; +DOMException.prototype = new Object(); +/** + * Constant DOMException.INDEX_SIZE_ERR=1 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.INDEX_SIZE_ERR=1; +/** + * Constant DOMException.DOMSTRING_SIZE_ERR=2 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.DOMSTRING_SIZE_ERR=2; +/** + * Constant DOMException.HIERARCHY_REQUEST_ERR=3 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.HIERARCHY_REQUEST_ERR=3; +/** + * Constant DOMException.WRONG_DOCUMENT_ERR=4 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.WRONG_DOCUMENT_ERR=4; +/** + * Constant DOMException.INVALID_CHARACTER_ERR=5 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.INVALID_CHARACTER_ERR=5; +/** + * Constant DOMException.NO_DATA_ALLOWED_ER=6 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.NO_DATA_ALLOWED_ER=6; +/** + * Constant DOMException.NO_MODIFICATION_ALLOWED_ERR=7 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.NO_MODIFICATION_ALLOWED_ERR=7; +/** + * Constant DOMException.NOT_FOUND_ERR=8 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.NOT_FOUND_ERR=8; +/** + * Constant DOMException.NOT_SUPPORTED_ERR=9 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.NOT_SUPPORTED_ERR=9; +/** + * Constant DOMException.INUSE_ATTRIBUTE_ERR=10 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.INUSE_ATTRIBUTE_ERR=10; +/** + * Constant DOMException.INVALID_STATE_ERR=11 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.INVALID_STATE_ERR=11; +/** + * Constant DOMException.SYNTAX_ERR=12 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.SYNTAX_ERR=12; +/** + * Constant DOMException.INVALID_MODIFICATION_ER=13 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.INVALID_MODIFICATION_ER=13; +/** + * Constant DOMException.NAMESPACE_ERR=14 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.NAMESPACE_ERR=14; +/** + * Constant DOMException.NVALID_ACCESS_ERR=15 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.INVALID_ACCESS_ERR=15; +/** + * Property code + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMException.prototype.code=0; + +/** + * Object DOMImplementation() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Object + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Object + */ +function DOMImplementation(){}; +DOMImplementation.prototype = new Object(); +/** + * function hasFeature(feature, version) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} feature + * @param {String} version + * @returns {Boolean} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DOMImplementation.prototype.hasFeature = function(feature, version){return false;}; +/** + * function createDocumentType(qualifiedName, publicId, systemId) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} qualifiedName + * @param {String} publicId + * @param {String} systemId + * @returns {DocumentType} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see DocumentType + */ +DOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId){return new DocumentType();}; +/** + * function createDocument(namespaceURI, qualifiedName, doctype) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} qualifiedName + * @param {DocumentType} doctype + * @returns {Document} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Document + */ +DOMImplementation.prototype.createDocument = function(namespaceURI, qualifiedName, doctype){return new HTMLDocument();}; + +/** + * Object DocumentFragment() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Node + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +function DocumentFragment(){}; +DocumentFragment.prototype=new Node(); + +/** + * Object Document() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Node + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +function Document(){}; +Document.prototype = new Node(); +/** + * Property defaultView + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Window + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Window + */ +Document.prototype.defaultView = new Window(); +/** + * Property doctype + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type DocumentType + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see DocumentType + */ +Document.prototype.doctype = new DocumentType(); +/** + * Property implementation + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type DOMImplementation + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see DOMImplementation + */ +Document.prototype.implementation = new DOMImplementation(); +/** + * Property documentElement + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Element + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Element + */ +Document.prototype.documentElement= new HTMLElement(); +/** + * Property styleSheets + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Document.prototype.styleSheets= new Array(); +/** + * function createElement(tagName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} tagName + * @returns {Element} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Element + */ +Document.prototype.createElement=function(tagName){return new HTMLElement();}; +/** + * function createDocumentFragment() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @returns {DocumentFragment} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see DocumentFragment + */ +Document.prototype.createDocumentFragment=function(){return new DocumentFragment();}; +/** + * function createTextNode(data) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} data + * @returns {Text} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Text + */ +Document.prototype.createTextNode=function(data){return new Text();}; +/** + * function createComment(data) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} data + * @returns {Comment} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Comment + */ +Document.prototype.createComment=function(data){return new Comment();}; +/** + * function createCDATASection(data) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} data + * @returns {CDATASection} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see CDATASection + */ +Document.prototype.createCDATASection=function(data){}; +/** + * function createProcessingInstruction(target, data) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type ProcessingInstruction + * @param {String} target + * @param {String} data + * @returns {ProcessingInstruction} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see ProcessingInstruction +*/ +Document.prototype.createProcessingInstruction=function(target, data){return new ProcessingInstruction();}; +/** + * function createAttribute(name) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} name + * @returns {Attr} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Attr + */ +Document.prototype.createAttribute=function(name){return new Attr();}; +/** + * function createEntityReference(name) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} name + * @returns {EntityReference} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see EntityReference + */ +Document.prototype.createEntityReference=function(name){return new EntityReference();}; +/** + * function getElementsByTagName(tagname) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} tagname + * @returns {NodeList} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see NodeList + */ +Document.prototype.getElementsByTagName=function(tagname){return new NodeList();}; +/** + * function importNode(importedNode, deep) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Node} importedNode + * @param {Boolean} deep + * @returns {Node} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Document.prototype.importNode=function(importedNode, deep){return new Node();}; +/** + * function createElementNS(namespaceURI, qualifiedName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} qualifiedName + * @returns {Element} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Element + */ +Document.prototype.createElementNS=function(namespaceURI, qualifiedName){return new HTMLElement();}; +/** + * function createEvent(String eventType) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} eventType + * @returns {Object} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Element + */ +Document.prototype.createEvent=function(eventType){return new Object();}; +/** + * function createAttributeNS(namespaceURI, qualifiedName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} qualifiedName + * @returns {Attr} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Attr + */ +Document.prototype.createAttributeNS=function(namespaceURI, qualifiedName){return new Attr();}; +/** + * function getElementsByTagNameNS(namespaceURI, localName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} localName + * @returns {NodeList} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see NodeList + */ +Document.prototype.getElementsByTagNameNS=function(namespaceURI, localName){return new NodeList();}; +/** + * function getElementById(elementId) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} elementId + * @returns {Element} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Element + */ +Document.prototype.getElementById=function(elementId){return new HTMLElement();}; + +/** + * Object Node() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Object + * @constructor + * @memberOf Node + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see EventTarget + */ +function Node(){}; +Node.prototype=new EventTarget(); +/** + * Constant Node.ELEMENT_NODE=1 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.ELEMENT_NODE=1; +/** + * Constant Node.ATTRIBUTE_NODE=2 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.ATTRIBUTE_NODE=2; +/** + * Constant Node.TEXT_NODE=3 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.TEXT_NODE=3; +/** + * Constant Node.CDATA_SECTION_NODE=4 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.CDATA_SECTION_NODE=4; +/** + * Constant Node.ENTITY_REFERENCE_NODE=5 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.ENTITY_REFERENCE_NODE=5; +/** + * Constant Node.ENTITY_NODE=6 + * @type Number + * @memberOf Node + * @see Node + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + + * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html +*/ +Node.ENTITY_NODE=6; +/** + * Constant Node.PROCESSING_INSTRUCTION_NODE=7 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.PROCESSING_INSTRUCTION_NODE=7; +/** + * Constant Node.COMMENT_NODE=8 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.COMMENT_NODE=8; +/** + * Constant Node.DOCUMENT_NODE=9 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.DOCUMENT_NODE=9; +/** + * Constant Node.DOCUMENT_TYPE_NODE=10 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.DOCUMENT_TYPE_NODE=10; +/** + * Constant Node.DOCUMENT_FRAGMENT_NODE=11 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.DOCUMENT_FRAGMENT_NODE=11; +/** + * Constant Node.NOTATION_NODE=12 + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @constant + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.NOTATION_NODE=12; +/** + * Property nodeName + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.prototype.nodeName = ""; +/** + * Property nodeValue + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.prototype.nodeValue = ""; +/** + * Property nodeType + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.prototype.nodeType = 0; +/** + * Property parentNode + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Node + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Node.prototype.parentNode=new Node(); +/** + * Property childNodes + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type NodeList + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see NodeList +*/ +Node.prototype.childNodes=new NodeList(); +/** + * Property firstChild + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Node + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Node.prototype.firstChild=new Node(); +/** + * Property lastChild + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Node + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Node.prototype.lastChild=new Node(); +/** + * Property previousSibling + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Node + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Node.prototype.previousSibling=new Node(); +/** + * Property nextSibling + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Node + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Node.prototype.nextSibling=new Node(); +/** + * Property attributes + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type NamedNodeMap + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see NamedNodeMap + */ +Node.prototype.attributes=new NamedNodeMap(); +/** + * Property ownerDocument + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Document + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Document + */ +Node.prototype.ownerDocument = new HTMLDocument(); +/** + * Property namespaceURI + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.prototype.namespaceURI=""; +/** + * Property prefix + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.prototype.prefix = ""; +/** + * Property localName + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.prototype.localName= ""; +/** + * function insertBefore(newChild, refChild) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Node} newChild + * @param {Node} refChild + * @returns {Node} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Node.prototype.insertBefore = function(newChild, refChild){return new Node();}; +/** + * function replaceChild(newChild, oldChild) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Node} newChild + * @param {Node} oldChild + * @returns {Node} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Node.prototype.replaceChild = function(newChild, oldChild){return new Node();}; +/** + * function removeChild(oldChild) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Node} oldChild + * @returns {Node} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Node.prototype.removeChild = function(oldChild){return new Node();}; +/** + * function appendChild(newChild) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Node} newChild + * @returns {Node} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Node.prototype.appendChild = function(newChild){return new Node();}; +/** + * function hasChildNodes() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @returns {Boolean} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.prototype.hasChildNodes=function(){return false;}; +/** + * function cloneNode(deep) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Boolean} deep + * @returns {Node} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +Node.prototype.cloneNode=function(deep){return new Node();}; +/** + * function normalize() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.prototype.normalize = function(){}; +/** + * function isSupported(feature, version) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} feature + * @param {String} version + * @returns {Boolean} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.prototype.isSupported=function(feature, version){return false;}; +/** + * function hasAttributes() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @returns {Boolean} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Node.prototype.hasAttributes=function(){return false;}; + +/** + * Object NodeList() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Object + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Object + */ +function NodeList(){}; +NodeList.prototype = new Object(); +/** + * Property length + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +NodeList.prototype.length=0; +/** + * function item(index) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * Note: This object can also be dereferenced using square bracket notation (e.g. obj[1]). Dereferencing with an integer index is equivalent to invoking the item method with that index + * + * @param {Number} index + * @returns {Node} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node +*/ +NodeList.prototype.item = function(index){return new Node();}; + +/** + * Object NamedNodeMap() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Object + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Object + */ +function NamedNodeMap(){}; +NamedNodeMap.prototype = new Object(); +/** + * Property length + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +NamedNodeMap.prototype.length=0; +/** + * function getNamedItem(name) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} name + * @returns {Node} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +NamedNodeMap.prototype.getNamedItem=function(name){return new Node();}; +/** + * function setNamedItem(arg) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Node} arg + * @returns {Node} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +NamedNodeMap.prototype.setNamedItem=function(arg){return new Node();}; +/** + * function removeNamedItem(name) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} name + * @returns {Node} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +NamedNodeMap.prototype.removeNamedItem=function(name){return new Node();}; +/** + * function item(index) + * Note: This object can also be dereferenced using square bracket notation (e.g. obj[1]). Dereferencing with an integer index is equivalent to invoking the item method with that index. + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Number} index + * @returns {Node} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +NamedNodeMap.prototype.item=function(index){return new Node();}; +/** + * function getNamedItemNS(namespaceURI, localName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} localName + * @returns {Node} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +NamedNodeMap.prototype.getNamedItemNS=function(namespaceURI, localName){return new Node();}; +/** + * function setNamedItemNS(arg) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Node} arg + * @returns {Node} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +NamedNodeMap.prototype.setNamedItemNS=function(arg){return new Node();}; +/** + * function removeNamedItemNS(namespaceURI, localName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} localName + * @returns {Node} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +NamedNodeMap.prototype.removeNamedItemNS=function(namespaceURI, localName){return new Node();}; + +/** + * Object CharacterData() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Node + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +function CharacterData(){}; +CharacterData.prototype=new Node(); +/** + * Property data + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +CharacterData.prototype.data=""; +/** + * Property length + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +CharacterData.prototype.length=0; +/** + * function substringData(offset, count) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Number} offset + * @param {Number} count + * @returns {String} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +CharacterData.prototype.substringData=function(offset, count){return "";}; +/** + * function appendData(arg) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} arg + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +CharacterData.prototype.appendData=function(arg){}; +/** + * function insertData(offset, arg) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Number} offset + * @param {String} arg + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +CharacterData.prototype.insertData=function(offset, arg){}; +/** + * function deleteData(offset, count) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Number} offset + * @param {Number} count + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +CharacterData.prototype.deleteData=function(offset, count){}; +/** + * function replaceData(offset, count, arg) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Number} offset + * @param {Number} count + * @param {String} arg + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +CharacterData.prototype.replaceData=function(offset, count, arg){}; + +/** + * Object Attr() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Node + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +function Attr(){}; +Attr.prototype = new Node(); +/** + * Property name + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Attr.prototype.name = ""; +/** + * Property specified + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Attr.prototype.specified = false; +/** + * Property value + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Attr.prototype.value = ""; +/** + * Property ownerElement + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type Element + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Element + */ +Attr.prototype.ownerElement = new Element(); + +/** + * Object Element() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Node + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +function Element(){}; +Element.prototype=new Node(); +/** + * Property tagName + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.tagName=""; +/** + * function addEventListener(Stirng type, Function listener, Boolean useCapture) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} type + * @param {Function} listener + * @param {Boolean} useCapture + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.addEventListener=function(type, listener, useCapture){}; +/** + * function attachEvent(String type, Function listener) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} type + * @param {Function} listener + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.attachEvent=function(type, listener){}; +/** + * function detachEvent(String type, Function listener) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} type + * @param {Function} listener + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.detachEvent=function(type, listener){}; +/** + * function dispatchEvent(Object event) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Object} event + * @returns {Boolean} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.dispatchEvent=function(event){return false;}; +/** + * function getAttribute(name) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} name + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.getAttribute=function(name){return "";}; +/** + * function setAttribute(name, value) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} name + * @param {String} value + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.setAttribute=function(name, value){}; +/** + * function removeAttribute(name) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} name + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.removeAttribute=function(name){}; +/** + * function getAttributeNode(name) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} name + * @returns {Attr} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.getAttributeNode=function(name){return new Attr();}; +/** + * function setAttributeNode(newAttr) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Attr} newAttr + * @returns {Attr} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.setAttributeNode=function(newAttr){return new Attr();}; +/** + * function removeAttributeNode(oldAttr) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Attr} oldAttr + * @returns {Attr} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.removeAttributeNode=function(oldAttr){return new Attr();}; +/** + * function getElementsByTagName(name) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} name + * @returns {NodeList} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.getElementsByTagName=function(name){return new NodeList();}; +/** + * function getAttributeNS(namespaceURI, localName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} localName + * @returns {String} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.getAttributeNS=function(namespaceURI, localName){return "";}; +/** + * function setAttributeNS(namespaceURI, qualifiedName, value) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} qualifiedName + * @param {String} value + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.setAttributeNS=function(namespaceURI, qualifiedName, value){}; +/** + * function removeAttributeNS(namespaceURI, localName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} localName + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.removeAttributeNS=function(namespaceURI, localName){}; +/** + * function getAttributeNodeNS(namespaceURI, localName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} localName + * @returns {Attr} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.getAttributeNodeNS=function(namespaceURI, localName){return new Attr();}; +/** + * function setAttributeNodeNS(newAttr) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Attr} newAttr + * @returns {Attr} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.setAttributeNodeNS=function(newAttr){return new Attr();}; +/** + * function getElementsByTagNameNS(namespaceURI, localName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} localName + * @returns {NodeList} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.getElementsByTagNameNS=function(namespaceURI, localName){return new NodeList();}; +/** + * function hasAttribute(name) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} name + * @returns {Boolean} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.hasAttribute=function(name){return false;}; +/** + * function hasAttributeNS(namespaceURI, localName) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {String} namespaceURI + * @param {String} localName + * @returns {Boolean} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Element.prototype.hasAttributeNS=function(namespaceURI, localName){return false;}; + +/** + * Object Text() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments CharacterData + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see CharacterData + */ +function Text(){}; +Text.prototype = new CharacterData(); +/** + * function splitText(offset) + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @param {Number} offset + * @returns {Text} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Text + */ +Text.prototype.splitText = function(offset) {return new Text();}; + +/** + * Object Comment() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments CharacterData + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see CharacterData + */ +function Comment(){}; +Comment.prototype = new CharacterData(); + +/** + * Object CDATASection() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Text + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Text + */ +function CDATASection(){}; +CDATASection.prototype = new Text(); + +/** + * Object DocumentType() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Node + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +function DocumentType(){}; +DocumentType.prototype = new Node(); +/** + * Property name + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DocumentType.prototype.name=""; +/** + * Property entities + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type NamedNodeMap + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DocumentType.prototype.entities = new NamedNodeMap(); +/** + * Property notations + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type NamedNodeMap + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DocumentType.prototype.notations=new NamedNodeMap(); +/** + * Property publicId + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DocumentType.prototype.publicId=""; +/** + * Property systemId + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DocumentType.prototype.systemId=""; +/** + * Property internalSubset + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +DocumentType.prototype.internalSubset=""; + +/** + * Object Notation() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Node + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +function Notation(){}; +Notation.prototype=new Node(); +/** + * Property publicId + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Notation.prototype.publicId=""; +/** + * Property systemId + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Notation.prototype.systemId=""; + +/** + * Object Entity() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Node + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +function Entity(){}; +Entity.prototype=new Node(); +/** + * Property publicId + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Entity.prototype.publicId=""; +/** + * Property systemId + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Entity.prototype.systemId=""; +/** + * Property notationName + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Entity.prototype.notationName=""; + +/** + * Object EntityReference() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Node + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +function EntityReference(){}; +EntityReference.prototype=new Node(); + +/** + * Object ProcessingInstruction() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @augments Node + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + * @see Node + */ +function ProcessingInstruction(){}; +ProcessingInstruction.prototype=new Node(); +/** + * Property target + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +ProcessingInstruction.prototype.target=""; +/** + * Property target + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html + * + * @type String + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +ProcessingInstruction.prototype.data=""; + + +/*HTML DOM Below this line*/ + +/** + * Object HTMLCollection() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments Object + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +function HTMLCollection(){}; +HTMLCollection.prototype = new Object(); +/** + * Property length + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLCollection.prototype.length=0; +/** + * function item(index) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {Number} index + * @returns {Node} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLCollection.prototype.item = function(index){return new Node();}; +/** + * function namedItem(name) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {String} name + * @returns {Node} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLCollection.prototype.namedItem = function(index){return new Node();}; + +/** + * Object HTMLOptionsCollection() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments Object + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +function HTMLOptionsCollection(){}; +HTMLOptionsCollection.prototype = new Object(); +/** + * Property length + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionsCollection.prototype.length=0; +/** + * function item(index) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {Number} index + * @returns {Node} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionsCollection.prototype.item = function(index){return new Node();}; +/** + * function namedItem(name) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {String} name + * @returns {Node} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionsCollection.prototype.namedItem = function(index){return new Node();}; + +/** + * Object HTMLDocument() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments Document + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see Document + */ +function HTMLDocument(){}; +HTMLDocument.prototype = new Document(); +/** + * Property title + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.title=""; +/** + * Property referrer + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.referrer=""; +/** + * Property domain + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.domain=""; +/** + * Property URL + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.URL=""; +/** + * Property body + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.body=new HTMLElement(); +/** + * Property images + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.images=new HTMLCollection(); +/** + * Property applets + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.applets=new HTMLCollection(); +/** + * Property links + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.links=new HTMLCollection(); +/** + * Property forms + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.forms=new HTMLCollection(); +/** + * Property anchors + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.anchors=new HTMLCollection(); +/** + * Property cookie + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.cookie=""; +/** + * Property lastModified + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.lastModified=""; +/** + * function open() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.open = function(){}; +/** + * function close() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.close = function(){}; +/** + * function write(text) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {String} text + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.write = function(text){}; +/** + * function writeln(text) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {String} text + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.writeln = function(text){}; +/** + * function getElementsByName(elementName) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {String} elementName + * @returns {NodeList} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDocument.prototype.getElementsByName = function(elementName){return new NodeList();}; + +/** + * Object HTMLElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments Element + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see Element + */ +function HTMLElement(){}; +HTMLElement.prototype = new Element(); +/** + * Property id + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLElement.prototype.id=""; +/** + * Property title + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLElement.prototype.title=""; +/** + * Property lang + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLElement.prototype.lang=""; +/** + * Property dir + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLElement.prototype.dir=""; +/** + * Property className + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLElement.prototype.className=""; +/** + * Property innerHTML + * + * @type String + */ +HTMLElement.prototype.innerHTML=""; +/** + * Property offsetHeight + * + * @type Number + */ +HTMLElement.prototype.offsetHeight=0; +/** + * Property offsetWidth + * + * @type Number + */ +HTMLElement.prototype.offsetWidth=0; +/** + * Property offsetLeft + * + * @type Number + */ +HTMLElement.prototype.offsetLeft=0; +/** + * Property offsetTop + * + * @type Number + */ +HTMLElement.prototype.offsetTop=0; +/** + * Property offsetParent + * + * @type HTMLElement + */ +HTMLElement.prototype.offsetParent = new HTMLElement(); +/** + * Property scrollHeight + * + * @type Number + */ +HTMLElement.prototype.scrollHeight=0; +/** + * Property scrollWidth + * + * @type Number + */ +HTMLElement.prototype.scrollWidth=0; +/** + * Property scrollLeft + * + * @type Number + */ +HTMLElement.prototype.scrollLeft=0; +/** + * Property scrollTop + * + * @type Number + */ +HTMLElement.prototype.scrollTop=0; +/** + * Property style + * + * @type CSS2Properties + */ +HTMLElement.prototype.style = new CSS2Properties(); + +/** + * Object HTMLHtmlElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLHtmlElement(){}; +HTMLHtmlElement.prototype = new HTMLElement(); +/** + * Property version + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLHtmlElement.prototype.version=""; + +/** + * Object HTMLHeadElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLHeadElement(){}; +HTMLHeadElement.prototype = new HTMLElement(); +/** + * Property profile + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLHeadElement.prototype.profile=""; + +/** + * Object HTMLLinkElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLLinkElement(){}; +HTMLLinkElement.prototype = new HTMLElement(); +/** + * Property disabled + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLinkElement.prototype.disabled=false; +/** + * Property charset + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLinkElement.prototype.charset=""; +/** + * Property href + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLinkElement.prototype.href=""; +/** + * Property hreflang + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLinkElement.prototype.hreflang=""; +/** + * Property media + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLinkElement.prototype.media=""; +/** + * Property rel + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLinkElement.prototype.rel=""; +/** + * Property rev + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLinkElement.prototype.rev=""; +/** + * Property target + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLinkElement.prototype.target=""; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLinkElement.prototype.type=""; + +/** + * Object HTMLTitleElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLTitleElement(){}; +HTMLTitleElement.prototype = new HTMLElement(); +/** + * Property text + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTitleElement.prototype.text=""; + +/** + * Object HTMLMetaElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLMetaElement(){}; +HTMLMetaElement.prototype = new HTMLElement(); +/** + * Property content + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLMetaElement.prototype.content=""; +/** + * Property httpEquiv + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLMetaElement.prototype.httpEquiv=""; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLMetaElement.prototype.name=""; +/** + * Property scheme + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLMetaElement.prototype.scheme=""; + +/** + * Object HTMLBaseElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLBaseElement(){}; +HTMLBaseElement.prototype = new HTMLElement(); +/** + * Property href + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBaseElement.prototype.href=""; +/** + * Property target + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBaseElement.prototype.target=""; + +/** + * Object HTMLIsIndexElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLIsIndexElement(){}; +HTMLIsIndexElement.prototype = new HTMLElement(); +/** + * Property form + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLFormElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIsIndexElement.prototype.form=new HTMLFormElement(); +/** + * Property prompt + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIsIndexElement.prototype.prompt=""; + +/** + * Object HTMLStyleElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLStyleElement(){}; +HTMLStyleElement.prototype = new HTMLElement(); +/** + * Property disabled + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLStyleElement.prototype.disabled=false; +/** + * Property media + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLStyleElement.prototype.media=""; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLStyleElement.prototype.type=""; + +/** + * Object HTMLBodyElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLBodyElement(){}; +HTMLBodyElement.prototype = new HTMLElement(); +/** + * Property aLink + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBodyElement.prototype.aLink=""; +/** + * Property background + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBodyElement.prototype.background=""; +/** + * Property bgColor + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBodyElement.prototype.bgColor=""; +/** + * Property link + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBodyElement.prototype.link=""; +/** + * Property text + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBodyElement.prototype.text=""; +/** + * Property vLink + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBodyElement.prototype.vLink=""; + +/** + * Object HTMLFormElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLFormElement(){}; +HTMLFormElement.prototype = new HTMLElement(); +/** + * Property elements + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFormElement.prototype.elements=new HTMLCollection(); +/** + * Property length + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFormElement.prototype.length=0; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFormElement.prototype.name=""; +/** + * Property acceptCharset + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFormElement.prototype.acceptCharset=""; +/** + * Property action + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFormElement.prototype.action=""; +/** + * Property enctype + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFormElement.prototype.enctype=""; +/** + * Property method + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFormElement.prototype.method=""; +/** + * Property target + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFormElement.prototype.target=""; +/** + * function submit() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFormElement.prototype.submit = function(){}; +/** + * function reset() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFormElement.prototype.reset = function(){}; + +/** + * Object HTMLSelectElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLSelectElement(){}; +HTMLSelectElement.prototype = new HTMLElement(); +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.type=""; +/** + * Property selectedIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.selectedIndex=0; +/** + * Property value + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.value=""; +/** + * Property length + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.length=0; +/** + * Property form + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLFormElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.form = new HTMLFormElement(); +/** + * Property options + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLOptionsCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.options= new HTMLOptionsCollection(); +/** + * Property disabled + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.disabled=false; +/** + * Property multiple + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.multiple=false; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.name=""; +/** + * Property size + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.size=0; +/** + * Property tabIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.tabIndex=0; +/** + * function add(element, before) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {HTMLElement} element + * @param {HTMLElement} before + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.add = function(element, before){}; +/** + * function remove(index) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {Number} index + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.remove = function(index){}; +/** + * function blur() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.blur = function(){}; +/** + * function focus() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLSelectElement.prototype.focus = function(){}; + +/** + * Object HTMLOptGroupElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLOptGroupElement(){}; +HTMLOptGroupElement.prototype = new HTMLElement(); +/** + * Property disabled + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptGroupElement.prototype.disabled=false; +/** + * Property label + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptGroupElement.prototype.label=""; + +/** + * Object Option() + * @constructor + * @param {String} text + * @param {String} value + * @param {Boolean} defaultSelected + * @param {Boolean} selected + */ +function Option(text, value, defaultSelected, selected){}; +Option.prototype = new HTMLOptionElement(); +/** + * Object HTMLOptionElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLOptionElement(){}; +HTMLOptionElement.prototype = new HTMLElement(); +/** + * Property form + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLFormElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionElement.prototype.form = new HTMLFormElement(); +/** + * Property defaultSelected + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionElement.prototype.defaultSelected=false; +/** + * Property text + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionElement.prototype.text=""; +/** + * Property index + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionElement.prototype.index=0; +/** + * Property disabled + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionElement.prototype.disabled=false; +/** + * Property label + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionElement.prototype.label=""; +/** + * Property selected + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionElement.prototype.selected=false; +/** + * Property value + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOptionElement.prototype.value=""; + +/** + * Object HTMLInputElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLInputElement(){}; +HTMLInputElement.prototype = new HTMLElement(); +/** + * Property defaultValue + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.defaultValue=""; +/** + * Property defaultChecked + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.defaultChecked=false; +/** + * Property form + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLFormElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.form = new HTMLFormElement(); +/** + * Property accept + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.accept=""; +/** + * Property accessKey + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.accessKey=""; +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.align=""; +/** + * Property alt + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.alt=""; +/** + * Property checked + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.checked=false; +/** + * Property disabled + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.disabled=false; +/** + * Property masLength + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.maxLenght=0; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.name=""; +/** + * Property readOnly + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.readOnly=false; +/** + * Property size + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.size=0; +/** + * Property src + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.src=""; +/** + * Property tabIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.tabIndex=0; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.type=""; +/** + * Property useMap + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.useMap=""; +/** + * Property value + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.value=""; +/** + * function blur() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.blur = function(){}; +/** + * function focus() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.focus = function(){}; +/** + * function select() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.select = function(){}; +/** + * function click() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLInputElement.prototype.click = function(){}; + +/** + * Object HTMLTextAreaElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLTextAreaElement(){}; +HTMLTextAreaElement.prototype = new HTMLElement(); +/** + * Property defaultValue + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.defaultValue=""; +/** + * Property form + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLFormElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.form= new HTMLFormElement(); +/** + * Property accessKey + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.accessKey=""; +/** + * Property cols + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.cols=0; +/** + * Property disabled + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.disabled=false; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.name=""; +/** + * Property readOnly + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.readOnly=false; +/** + * Property rows + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.rows=0; +/** + * Property tabIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.tabIndex=0; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.type=""; +/** + * Property value + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.value=""; +/** + * function blur() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.blur = function(){}; +/** + * function focus() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.focus = function(){}; +/** + * function select() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTextAreaElement.prototype.select = function(){}; + +/** + * Object HTMLButtonElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLButtonElement(){}; +HTMLButtonElement.prototype = new HTMLElement(); +/** + * Property form + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLFormElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLButtonElement.prototype.form = new HTMLFormElement(); +/** + * Property accessKey + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLButtonElement.prototype.accessKey = ""; +/** + * Property disabled + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLButtonElement.prototype.disabled=false; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLButtonElement.prototype.name=""; +/** + * Property tabIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLButtonElement.prototype.tabIndex=0; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLButtonElement.prototype.type=""; +/** + * Property value + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLButtonElement.prototype.value=""; + +/** + * Object HTMLLabelElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLLabelElement(){}; +HTMLLabelElement.prototype = new HTMLElement(); +/** + * Property form + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLFormElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLabelElement.prototype.form = new HTMLFormElement(); +/** + * Property accessKey + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLabelElement.prototype.accessKey=""; +/** + * Property htmlFor + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLabelElement.prototype.htmlFor=""; + +/** + * Object HTMLFieldSetElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLFieldSetElement(){}; +HTMLFieldSetElement.prototype = new HTMLElement(); +/** + * Property form + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLFormElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFieldSetElement.prototype.form = new HTMLFormElement(); + +/** + * Object HTMLLegendElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLLegendElement(){}; +HTMLLegendElement.prototype = new HTMLElement(); +/** + * Property form + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLFormElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLegendElement.prototype.form = new HTMLFormElement(); +/** + * Property accessKey + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLegendElement.prototype.accessKey=""; +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLegendElement.prototype.align=""; + +/** + * Object HTMLUListElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLUListElement(){}; +HTMLUListElement.prototype = new HTMLElement(); +/** + * Property compact + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLUListElement.prototype.compact=false; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLUListElement.prototype.type=""; + +/** + * Object HTMLOListElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLOListElement(){}; +HTMLOListElement.prototype = new HTMLElement(); +/** + * Property compact + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOListElement.prototype.compact=false; +/** + * Property start + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOListElement.prototype.start=0; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLOListElement.prototype.type=""; + +/** + * Object HTMLDListElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLDListElement(){}; +HTMLDListElement.prototype = new HTMLElement(); +/** + * Property compact + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDListElement.prototype.compact=false; + +/** + * Object HTMLDirectoryElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLDirectoryElement(){}; +HTMLDirectoryElement.prototype = new HTMLElement(); +/** + * Property compact + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDirectoryElement.prototype.compact=false; + +/** + * Object HTMLMenuElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLMenuElement(){}; +HTMLMenuElement.prototype = new HTMLElement(); +/** + * Property compact + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLMenuElement.prototype.compact=false; + +/** + * Object HTMLLIElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLLIElement(){}; +HTMLLIElement.prototype = new HTMLElement(); +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLIElement.prototype.type=""; +/** + * Property value + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLLIElement.prototype.value=0; + +/** + * Object HTMLDivElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLDivElement(){}; +HTMLDivElement.prototype = new HTMLElement(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLDivElement.prototype.align=""; + +/** + * Object HTMLParagraphElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLParagraphElement(){}; +HTMLParagraphElement.prototype = new HTMLElement(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLParagraphElement.prototype.align=""; + +/** + * Object HTMLHeadingElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLHeadingElement(){}; +HTMLHeadingElement.prototype = new HTMLElement(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLHeadingElement.prototype.align=""; + +/** + * Object HTMLQuoteElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLQuoteElement(){}; +HTMLQuoteElement.prototype = new HTMLElement(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLQuoteElement.prototype.align=""; + +/** + * Object HTMLPreElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLPreElement(){}; +HTMLPreElement.prototype = new HTMLElement(); +/** + * Property width + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLPreElement.prototype.width=0; + +/** + * Object HTMLBRElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLBRElement(){}; +HTMLBRElement.prototype = new HTMLElement(); +/** + * Property clear + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBRElement.prototype.clear=""; + +/** + * Object HTMLBaseFontElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLBaseFontElement(){}; +HTMLBaseFontElement.prototype = new HTMLElement(); +/** + * Property color + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBaseFontElement.prototype.color=""; +/** + * Property face + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBaseFontElement.prototype.face=""; +/** + * Property size + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLBaseFontElement.prototype.size=0; + +/** + * Object HTMLBaseFontElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLFontElement(){}; +HTMLFontElement.prototype = new HTMLElement(); +/** + * Property color + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFontElement.prototype.color=""; +/** + * Property face + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFontElement.prototype.face=""; +/** + * Property size + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFontElement.prototype.size=0; + +/** + * Object HTMLHRElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLHRElement(){}; +HTMLHRElement.prototype = new HTMLElement(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLHRElement.prototype.align=""; +/** + * Property noShade + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLHRElement.prototype.noShade=false; +/** + * Property size + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLHRElement.prototype.size=""; +/** + * Property width + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLHRElement.prototype.width=""; + +/** + * Object HTMLModElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLModElement(){}; +HTMLModElement.prototype = new HTMLElement(); +/** + * Property cite + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLModElement.prototype.cite=""; +/** + * Property dateTime + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLModElement.prototype.dateTime=""; + +/** + * Object HTMLAnchorElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLAnchorElement(){}; +HTMLAnchorElement.prototype = new HTMLElement(); +/** + * Property accessKey + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.accessKey=""; +/** + * Property charset + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.charset=""; +/** + * Property coords + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.coords=""; +/** + * Property href + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.href=""; +/** + * Property hreflang + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.hreflang=""; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.name=""; +/** + * Property rel + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.rel=""; +/** + * Property rev + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.rev=""; +/** + * Property shape + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.shape=""; +/** + * Property tabIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.tabIndex=0; +/** + * Property target + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.target=""; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.type=""; +/** + * function blur() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.blur = function(){}; +/** + * function focus() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAnchorElement.prototype.focus = function(){}; + +/** + * Object Image() + * @constructor + * @param {Number} width + * @param {Number} height + */ +function Image(width, height){}; +Image.prototype = new HTMLImageElement(); +/** + * Object HTMLImageElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLImageElement(){}; +HTMLImageElement.prototype = new HTMLElement(); +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.name=""; +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.align=""; +/** + * Property alt + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.alt=""; +/** + * Property border + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.border=""; +/** + * Property height + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.height=0; +/** + * Property hspace + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.hspace=0; +/** + * Property isMap + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.isMap=false; +/** + * Property longDesc + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.longDesc=""; +/** + * Property src + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.src=""; +/** + * Property useMap + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.useMap=""; +/** + * Property vspace + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.vspace=0; +/** + * Property width + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLImageElement.prototype.width=0; + +/** + * Object HTMLObjectElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLObjectElement(){}; +HTMLObjectElement.prototype = new HTMLElement(); +/** + * Property form + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLFormElement + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.form = new HTMLFormElement(); +/** + * Property code + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.code=""; +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.align=""; +/** + * Property archive + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.archive=""; +/** + * Property border + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.border=""; +/** + * Property codeBase + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.codeBase=""; +/** + * Property codeType + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.codeType=""; +/** + * Property data + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.data=""; +/** + * Property declare + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.declare=false; +/** + * Property height + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.height=""; +/** + * Property hspace + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.hspace=0; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.name=""; +/** + * Property standby + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.standby=""; +/** + * Property tabIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.tabIndex=0; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.type=""; +/** + * Property useMap + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.useMap=""; +/** + * Property vspace + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.vspace=0; +/** + * Property width + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.width=""; +/** + * Property contentDocument + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Document + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLObjectElement.prototype.contentDocument= new HTMLDocument(); + +/** + * Object HTMLParamElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLParamElement(){}; +HTMLParamElement.prototype = new HTMLElement(); +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLParamElement.prototype.name=""; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLParamElement.prototype.type=""; +/** + * Property value + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLParamElement.prototype.value=""; +/** + * Property valueType + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLParamElement.prototype.valueType=""; + +/** + * Object HTMLAppletElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLAppletElement(){}; +HTMLAppletElement.prototype = new HTMLElement(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.align=""; +/** + * Property alt + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.alt=""; +/** + * Property archive + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.archive=""; +/** + * Property code + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.code=""; +/** + * Property codeBase + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.codeBase=""; +/** + * Property height + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.hight=""; +/** + * Property hspace + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.hspace=0; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.name=""; +/** + * Property object + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.object=""; +/** + * Property vspace + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.vspace=0; +/** + * Property width + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAppletElement.prototype.width=""; + +/** + * Object HTMLMapElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLMapElement(){}; +HTMLMapElement.prototype = new HTMLElement(); +/** + * Property areas + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLMapElement.prototype.areas = new HTMLCollection(); +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLMapElement.prototype.name=""; + +/** + * Object HTMLAreaElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLAreaElement(){}; +HTMLAreaElement.prototype = new HTMLElement(); +/** + * Property accessKey + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAreaElement.prototype.accessKey=""; +/** + * Property alt + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAreaElement.prototype.alt=""; +/** + * Property coords + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAreaElement.prototype.coords=""; +/** + * Property href + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAreaElement.prototype.href=""; +/** + * Property noHref + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAreaElement.prototype.noHref=false; +/** + * Property shape + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAreaElement.prototype.shape=""; +/** + * Property tabIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAreaElement.prototype.tabIndex=0; +/** + * Property target + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLAreaElement.prototype.target=""; + +/** + * Object HTMLScriptElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLScriptElement(){}; +HTMLScriptElement.prototype = new HTMLElement(); +/** + * Property text + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLScriptElement.prototype.text=""; +/** + * Property htmlFor + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLScriptElement.prototype.htmlFor=""; +/** + * Property event + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLScriptElement.prototype.event=""; +/** + * Property charset + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLScriptElement.prototype.charset=""; +/** + * Property defer + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLScriptElement.prototype.defer=""; +/** + * Property src + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLScriptElement.prototype.src=""; +/** + * Property type + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLScriptElement.prototype.type=""; + +/** + * Object HTMLTableElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLTableElement(){}; +HTMLTableElement.prototype = new HTMLElement(); +/** + * Property caption + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLTableCaptionElement + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.caption = new HTMLTableCaptionElement(); +/** + * Property tHead + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLTableSectionElement + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.tHead = new HTMLTableSelectionElement(); +/** + * Property tFoot + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLTableSectionElement + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.tFoot = new HTMLTableSelectionElement(); +/** + * Property rows + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.rows = new HTMLCollection(); +/** + * Property tBodies + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.tBodies = new HTMLCollection(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.align=""; +/** + * Property bgColor + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.bgColor=""; +/** + * Property border + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.border=""; +/** + * Property cellPadding + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.cellPadding=""; +/** + * Property cellSpacing + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.cellSpacing=""; +/** + * Property frame + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.frame=""; +/** + * Property rules + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.rules=""; +/** + * Property summary + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.summary=""; +/** + * Property width + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.width=""; +/** + * function createTHead(); + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @returns {HTMLElement} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.createTHead = function(){return new HTMLElement();}; +/** + * function deleteTHead(); + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.deleteTHead = function(){}; +/** + * function createTFoot(); + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @returns {HTMLElement} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.createTFoot = function(){return new HTMLElement();}; +/** + * function deleteTFoot(); + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.deleteTFoot = function(){}; +/** + * function createCaption(); + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @returns {HTMLElement} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.createCaption = function(){return new HTMLElement();}; +/** + * function deleteCaption(); + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.deleteCaption = function(){}; +/** + * function insertRow(index) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {Number} index + * @returns {HTMLElement} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.insertRow = function(index){return new HTMLElement();}; +/** + * function deleteRow(index) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {Number} index + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableElement.prototype.deleteRow = function(index){}; + +/** + * Object HTMLTableCaptionElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLTableCaptionElement(){}; +HTMLTableCaptionElement.prototype = new HTMLElement(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCaptionElement.prototype.align=""; + +/** + * Object HTMLTableColElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLTableColElement(){}; +HTMLTableColElement.prototype = new HTMLElement(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableColElement.prototype.align=""; +/** + * Property ch + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableColElement.prototype.ch=""; +/** + * Property chOff + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableColElement.prototype.chOff=""; +/** + * Property span + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableColElement.prototype.span=0; +/** + * Property vAlign + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableColElement.prototype.vAlign=""; +/** + * Property width + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableColElement.prototype.width=""; + +/** + * Object HTMLTableSelectionElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLTableSelectionElement(){}; +HTMLTableSelectionElement.prototype = new HTMLElement(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableSelectionElement.prototype.align=""; +/** + * Property ch + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableSelectionElement.prototype.ch=""; +/** + * Property chOff + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableSelectionElement.prototype.chOff=""; +/** + * Property vAlign + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableSelectionElement.prototype.vAlign=""; +/** + * Property rows + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableSelectionElement.prototype.rows=""; +/** + * function insertRow(index) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {Number} index + * @returns {HTMLElement} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableSelectionElement.prototype.insertRow = function(index){return new HTMLElement();}; +/** + * function deleteRow(index) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {Number} index + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableSelectionElement.prototype.deleteRow = function(index){}; + +/** + * Object HTMLTableRowElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLTableRowElement(){}; +HTMLTableRowElement.prototype = new HTMLElement(); +/** + * Property rowIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableRowElement.prototype.rowIndex=0; +/** + * Property sectionRowIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableRowElement.prototype.sectionRowIndex=0; +/** + * Property cells + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type HTMLCollection + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableRowElement.prototype.cells = new HTMLCollection(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableRowElement.prototype.align=""; +/** + * Property bgColor + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableRowElement.prototype.bgColor=""; +/** + * Property ch + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableRowElement.prototype.ch=""; +/** + * Property chOff + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableRowElement.prototype.chOff=""; +/** + * Property vAlign + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableRowElement.prototype.vAlign=""; +/** + * function insertCell(index) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {Number} index + * @returns {HTMLElement} + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableRowElement.prototype.insertCell = function(index){return new HTMLElement();}; +/** + * function insertCell(index) + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @param {Number} index + * @throws DOMException + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableRowElement.prototype.deleteCell = function(index){}; + +/** + * Object HTMLTableRowElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLTableCellElement(){}; +HTMLTableCellElement.prototype = new HTMLElement(); +/** + * Property cellIndex + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.cellIndex=0; +/** + * Property abbr + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.abbr=""; +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.align=""; +/** + * Property axis + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.axis=""; +/** + * Property bgColor + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.bgColor=""; +/** + * Property ch + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.ch=""; +/** + * Property chOff + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.chOff=""; +/** + * Property colSpan + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.colSpan=0; +/** + * Property headers + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.headers=""; +/** + * Property height + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.height=""; +/** + * Property noWrap + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.noWrap=false; +/** + * Property rowSpan + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.rowSpan=0; +/** + * Property scope + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.scope=""; +/** + * Property vAlign + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.vAlign=""; +/** + * Property width + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLTableCellElement.prototype.width=""; + +/** + * Object HTMLFrameSetElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLFrameSetElement(){}; +HTMLFrameSetElement.prototype = new HTMLElement(); +/** + * Property cols + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameSetElement.prototype.cols=""; +/** + * Property rows + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameSetElement.prototype.rows=""; + +/** + * Object HTMLFrameElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLFrameElement(){}; +HTMLFrameElement.prototype = new HTMLElement(); +/** + * Property frameBorder + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameElement.prototype.frameBorder=""; +/** + * Property longDesc + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameElement.prototype.longDesc=""; +/** + * Property marginHeight + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameElement.prototype.marginHeight=""; +/** + * Property marginWidth + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameElement.prototype.marginWidth=""; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameElement.prototype.name=""; +/** + * Property noResize + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Boolean + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameElement.prototype.noResize=false; +/** + * Property scrolling + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameElement.prototype.scrolling=""; +/** + * Property src + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameElement.prototype.src=""; +/** + * Property contentDocument + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Document + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLFrameElement.prototype.contentDocument= new HTMLDocument(); + +/** + * Object HTMLIFrameElement() + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @augments HTMLElement + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + * @see HTMLElement + */ +function HTMLIFrameElement(){}; +HTMLIFrameElement.prototype = new HTMLElement(); +/** + * Property align + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.align=""; +/** + * Property frameBorder + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.frameBorder=""; +/** + * Property height + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.height=""; +/** + * Property longDesc + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.longDesc=""; +/** + * Property marginHeight + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.marginHeight=""; +/** + * Property marginWidth + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.marginWidth=""; +/** + * Property name + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.name=""; +/** + * Property scrolling + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.scrolling=""; +/** + * Property src + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.src=""; +/** + * Property width + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.width=""; +/** + * Property contentDocument + * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html + * + * @type Document + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model HTML Specification. + */ +HTMLIFrameElement.prototype.contentDocument= new HTMLDocument(); + +/* Stylesheets */ +/** + * Object CSS2Properties() + * http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/ecma-script-binding.html + * + * @augments Object + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Style Specification. + */ +function CSS2Properties(){}; +CSS2Properties.prototype = new Object(); \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/browserWindow.js b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/browserWindow.js new file mode 100644 index 0000000..e93adf8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/browserWindow.js @@ -0,0 +1,618 @@ +/******************************************************************************* + * Copyright (c) 2008, 2013 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +function BarProp(){}; +BarProp.prototype = new Array(); + +/** + * Object Window() + * @super Global + * @constructor + * @since Common Usage, no standard +*/ +function Window(){}; +Window.prototype = new EventTarget(); +Window.prototype.self = new Window(); +Window.prototype.window = new Window(); +Window.prototype.frames = new Array(); +/** + * Property closed + * @type Boolean + * @memberOf Window + */ +Window.prototype.closed = new Boolean(); +/** + * Property defaultStatus + * @type String + * @memberOf Window + */ +Window.prototype.defaultStatus = ""; +/** + * Property document + * @type Document + * @memberOf Window + */ +Window.prototype.document= new HTMLDocument(); +/** + * Property history + * @type History + * @memberOf Window + */ +Window.prototype.history= new History(); +/** + * Property location + * @type Location + * @memberOf Window + */ +Window.prototype.location=new Location(); +/** + * Property name + * @type String + * @memberOf Window + */ +Window.prototype.name = ""; +/** + * Property navigator + * @type Navigator + * @memberOf Window + */ +Window.prototype.navigator = new Navigator(); +/** + * Property opener + * @type Window + * @memberOf Window + */ +Window.prototype.opener = new Window(); +/** + * Property outerWidth + * @type Number + * @memberOf Window + */ +Window.prototype.outerWidth = 0; +/** + * Property outerHeight + * @type Number + * @memberOf Window + */ +Window.prototype.outerHeight = 0; +/** + * Property pageXOffset + * @type Number + * @memberOf Window + */ +Window.prototype.pageXOffset = 0; +/** + * Property pageYOffset + * @type Number + * @memberOf Window + */ +Window.prototype.pageYOffset = 0; +/** + * Property parent + * @type Window + * @memberOf Window + */ +Window.prototype.parent = new Window(); +/** + * Property screen + * @type Screen + * @memberOf Window + */ +Window.prototype.screen = new Screen(); +/** + * Property status + * @type String + * @memberOf Window + */ +Window.prototype.status = ""; +/** + * Property top + * @type Window + * @memberOf Window + */ +Window.prototype.top = new Window(); + + +/* + * These properties may need to be moved into a browswer specific library. + */ + + /** + * Property innerWidth + * @type Number + * @memberOf Window + */ +Window.prototype.innerWidth = 0; +/** + * Property innerHeight + * @type Number + * @memberOf Window + */ +Window.prototype.innerHeight = 0; +/** + * Property screenX + * @type Number + * @memberOf Window + */ +Window.prototype.screenX = 0; +/** + * Property screenY + * @type Number + * @memberOf Window + */ +Window.prototype.screenY = 0; +/** + * Property screenLeft + * @type Number + * @memberOf Window + */ +Window.prototype.screenLeft = 0; +/** + * Property screenTop + * @type Number + * @memberOf Window + */ +Window.prototype.screenTop = 0; +//Window.prototype.event = new Event(); +Window.prototype.length = 0; +Window.prototype.scrollbars= new BarProp(); +Window.prototype.scrollX=0; +Window.prototype.scrollY=0; +Window.prototype.content= new Window(); +Window.prototype.menubar= new BarProp(); +Window.prototype.toolbar= new BarProp(); +Window.prototype.locationbar= new BarProp(); +Window.prototype.personalbar= new BarProp(); +Window.prototype.statusbar= new BarProp(); +Window.prototype.directories= new BarProp(); +Window.prototype.scrollMaxX=0; +Window.prototype.scrollMaxY=0; +Window.prototype.fullScreen=""; +Window.prototype.frameElement=""; +/* End properites */ + +/** + * function alert() + * @param {String} message + * @memberOf Window + */ +Window.prototype.alert = function(message){}; +/** + * function blur() + * @memberOf Window + */ +Window.prototype.blur = function(){}; +/** + * function clearInterval(intervalID) + * @param intervalID + * @memberOf Window + */ +Window.prototype.clearInterval = function(intervalID){}; +/** + * function clearTimeout(intervalID) + * @param intervalID + * @memberOf Window + */ +Window.prototype.clearTimeout = function(intervalID){}; +/** + * function close() + * @memberOf Window + */ +Window.prototype.close = function(){}; +/** + * function confirm() + * @param {String} arg + * @memberOf Window + * @returns {Boolean} + */ +Window.prototype.confirm = function(arg){return false;}; +/** + * function focus() + * @memberOf Window + */ +Window.prototype.focus = function(){}; +/** + * function getComputedStyle(element, pseudoElt ) + * @param {Element} element + * @param {String} pseudoElt + * @memberOf Window + * @returns {Object} + */ +Window.prototype.getComputedStyle = function(element,pseudoElt ){return new Object();}; +/** + * function moveTo(x, y) + * @param {Number} x + * @param {Number} y + * @memberOf Window + */ +Window.prototype.moveTo = function(x,y){}; +/** + * function moveBy(deltaX, deltaY) + * @param {Number} deltaX + * @param {Number} deltaY + * @memberOf Window + */ +Window.prototype.moveBy = function(deltaX,deltaY){}; +/** + * function open(optionalArg1, optionalArg2, optionalArg3, optionalArg4) + * @param {String} url + * @param {String} windowName + * @param {String} windowFeatures + * @param {Boolean} optionalArg4 + * @memberOf Window + * @returns {Window} + */ +Window.prototype.open = function(url, windowName, windowFeatures, optionalArg4){return new Window();}; +/** + * function print() + * @memberOf Window + */ +Window.prototype.print = function(){}; +/** + * function prompt(text, value) + * @param {String} text + * @param {String} value + * @memberOf Window + * @returns {String} + */ +Window.prototype.prompt = function(text, value){return "";}; +/** + * function resizeTo(newOuterWidth,newOuterHeight) + * @param {Number} newOuterWidth + * @param {Number} newOuterHeighr + * @memberOf Window + */ +Window.prototype.resizeTo=function(newOuterWidth,newOuterHeight){}; +/** + * function resizeBy(deltaX, deltaY) + * @param {Number} deltaX + * @param {Number} deltaY + * @memberOf Window + */ +Window.prototype.resizeBy=function(deltaX,deltaY){}; +/** + * function scrollTo(x,y) + * @param {Number} x + * @param {Number} y + * @memberOf Window + */ +Window.prototype.scrollTo=function(x,y){}; +/** + * function scrollBy(pixelX,pixelY) + * @param {Number} pixelX + * @param {Number} pixelY + * @memberOf Window + */ +Window.prototype.scrollBy=function(pixelX,pixelY){}; +/** + * function setInterval(arg1, arg2) + * @param {Function} callback + * @param {Number} delay + * @memberOf Window + * @returns {Number} + */ +Window.prototype.setInterval=function(callback, delay){return 0;}; +/** + * function setTimeout(callback, delay) + * @param {Function} callback + * @param {Number} delay + * @memberOf Window + * @returns {Number} + */ +Window.prototype.setTimeout=function(callback, delay){ return 0;}; +/** + * function atob(encodedData) + * @param {String} encodedData + * @memberOf Window + * @returns {String} + */ +Window.prototype.atob=function(encodedData){return "";}; +/** + * function btoa(arg) + * @param {String} stringToEncode + * @memberOf Window + * @returns {String} + */ +Window.prototype.btoa=function(stringToEncode){return "";}; +/** + * function setResizable(resizable) + * @param {Boolean} resizable + * @memberOf Window + */ +Window.prototype.setResizable=function(resizable){}; + +Window.prototype.captureEvents=function(eventType){}; +Window.prototype.releaseEvents=function(eventType){}; +Window.prototype.routeEvent=function(eventType){}; +Window.prototype.enableExternalCapture=function(){}; +Window.prototype.disableExternalCapture=function(){}; +Window.prototype.find=function(){}; +Window.prototype.back=function(){}; +Window.prototype.forward=function(){}; +Window.prototype.home=function(){}; +Window.prototype.stop=function(){}; +/** + * @param {Number} pixelX + * @param {Number} pixelY + */ +Window.prototype.scroll=function(pixelX,pixelY){}; +/* End functions */ + +/** + * Object History() + * @super Object + * @constructor + * @since Common Usage, no standard + */ +function History(){}; +History.prototype=new Object(); +History.prototype.history = new History(); +/** + * Property length + * @type Number + * @memberOf History + */ +History.prototype.length = 0; +/** + * function back() + * @memberOf History + */ +History.prototype.back = function(){}; +/** + * function forward() + * @memberOf History + */ +History.prototype.forward = function(){}; +/** + * function back() + * @param arg + * @memberOf History + */ +History.prototype.go = function(arg){}; + +/** + * Object Location() + * @super Object + * @constructor + * @since Common Usage, no standard + */ +function Location(){}; +Location.prototype = new Object(); +Location.prototype.location = new Location(); +/** + * Property hash + * @type String + * @memberOf Location + */ +Location.prototype.hash = ""; +/** + * Property host + * @type String + * @memberOf Location + */ +Location.prototype.host = ""; +/** + * Property hostname + * @type String + * @memberOf Location + */ +Location.prototype.hostname = ""; +/** + * Property href + * @type String + * @memberOf Location + */ +Location.prototype.href = ""; +/** + * Property pathname + * @type String + * @memberOf Location + */ +Location.prototype.pathname = ""; +/** + * Property port + * @type String + * @memberOf Location + */ +Location.prototype.port = ""; +/** + * Property protocol + * @type String + * @memberOf Location + */ +Location.prototype.protocol = ""; +/** + * Property search + * @type String + * @memberOf Location + */ +Location.prototype.search = ""; +/** + * function assign(arg) + * @param {String} arg + * @memberOf Location + */ +Location.prototype.assign = function(arg){}; +/** + * function reload(optionalArg) + * @param {Boolean} optionalArg + * @memberOf Location + */ +Location.prototype.reload = function(optionalArg){}; +/** + * function replace(arg) + * @param {String} arg + * @memberOf Location + */ +Location.prototype.replace = function(arg){}; + +/** + * Object Navigator() + * @super Object + * @constructor + * @since Common Usage, no standard +*/ +function Navigator(){}; +Navigator.prototype = new Object(); +Navigator.prototype.navigator = new Navigator(); +/** + * Property appCodeName + * @type String + * @memberOf Navigator + */ +Navigator.prototype.appCodeName = ""; +/** + * Property appName + * @type String + * @memberOf Navigator + */ +Navigator.prototype.appName = ""; +/** + * Property appVersion + * @type String + * @memberOf Navigator + */ +Navigator.prototype.appVersion = ""; +/** + * Property cookieEnabled + * @type Boolean + * @memberOf Navigator + */ +Navigator.prototype.cookieEnabled = new Boolean(); +/** + * Property mimeTypes + * @type Array + * @memberOf Navigator + */ +Navigator.prototype.mimeTypes = new Array(); +/** + * Property platform + * @type String + * @memberOf Navigator + */ +Navigator.prototype.platform = ""; +/** + * Property plugins + * @type Array + * @memberOf Navigator + */ +Navigator.prototype.plugins = new Array(); +/** + * Property userAgent + * @type String + * @memberOf Navigator + */ +Navigator.prototype.userAgent = ""; +/** + * function javaEnabled() + * @returns {Boolean} + * @memberOf Navigator + */ +Navigator.prototype.javaEnabled = function(){return false;}; + +/** + * Object Screen() + * @super Object + * @constructor + * @since Common Usage, no standard +*/ +function Screen(){}; +Screen.prototype = new Object(); +Screen.prototype.screen = new Screen(); +/** + * Property availHeight + * @type Number + * @memberOf Screen + */ +Navigator.prototype.availHeight = 0; +/** + * Property availWidth + * @type Number + * @memberOf Screen + */ +Navigator.prototype.availWidth = 0; +/** + * Property colorDepth + * @type Number + * @memberOf Screen + */ +Navigator.prototype.colorDepth = 0; +/** + * Property height + * @type Number + * @memberOf Screen + */ +Navigator.prototype.height = 0; +/** + * Property width + * @type Number + * @memberOf Screen + */ +Navigator.prototype.width = 0; + +Event.prototype=new Object(); +// PhaseType +Event.prototype.CAPTURING_PHASE = 1; +Event.prototype.AT_TARGET = 2; +Event.prototype.BUBBLING_PHASE = 3; + +Event.prototype.type=""; +Event.prototype.target=new EventTarget(); +Event.prototype.currentTarget=new EventTarget(); +Event.prototype.eventPhase=0; +Event.prototype.bubbles=false; +Event.prototype.cancelable=false; +Event.prototype.timeStamp=0; +Event.prototype.stopPropagation=function(){}; +Event.prototype.preventDefault=function(){}; +/** + * @param {String} eventTypeArg + * @param {Boolean} canBubbleArg + * @param {Boolean} cancelableArg + */ +Event.prototype.initEvent=function(eventTypeArg, + canBubbleArg, + cancelableArg){}; +function EventListener(){}; +EventListener.prototype=new Object(); +/** + * @param {Event} event + * @memberOf EventListener + */ +EventListener.prototype.handleEvent=function(event){}; + +function EventTarget(){}; +EventTarget.prototype=new Object(); +/* + * These functions may need to be moved into a browser specific library. + */ +/** + * @memberOf Window + * @param event {Event} + * @throws {EventException} + */ +EventTarget.prototype.dispatchEvent=function(event){}; + +// https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener +/** + * @memberOf Window + * @param {String} type + * @param {EventListener} listener + * @param {Boolean} useCapture + */ +EventTarget.prototype.addEventListener=function(type, listener, useCapture){}; +// https://developer.mozilla.org/en-US/docs/DOM/element.removeEventListener +/** + * @memberOf Window + * @param {String} type + * @param {EventListener} listener + * @param {Boolean} useCapture + */ +EventTarget.prototype.removeEventListener=function(type, listener, useCapture){}; diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/dom5.js b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/dom5.js new file mode 100644 index 0000000..30be91a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/dom5.js @@ -0,0 +1,922 @@ +/******************************************************************************* + * Copyright (c) 2013 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * Contributors: + * IBM Corporation - initial API and implementation + ******************************************************************************/ + +/** + * function querySelector(selectors) + * http://www.w3.org/TR/2012/PR-selectors-api-20121213 + * @param {String} selectors + * @memberOf Document + * @returns {Element} + */ +Document.prototype.querySelector=function(selectors){return new Element();}; + +/** + * function querySelectorAll(selectors) + * http://www.w3.org/TR/2012/PR-selectors-api-20121213 + * @param {String} selectors + * @memberOf Document + * @returns {NodeList} + */ +Document.prototype.querySelectorAll=function(selectors){return new NodeList();}; + +/** + * function querySelector(selectors) + * http://www.w3.org/TR/2012/PR-selectors-api-20121213 + * @param {String} selectors + * @memberOf DocumentFragment + * @returns {Element} + */ +DocumentFragment.prototype.querySelector=function(selectors){return new Element();}; + +/** + * function querySelectorAll(selectors) + * http://www.w3.org/TR/2012/PR-selectors-api-20121213 + * @param {String} selectors + * @memberOf DocumentFragment + * @returns {NodeList} + */ +DocumentFragment.prototype.querySelectorAll=function(selectors){return new NodeList();}; + +/** + * function querySelector(selectors) + * http://www.w3.org/TR/2012/PR-selectors-api-20121213 + * @param {String} selectors + * @memberOf Element + * @returns {Element} + */ +Element.prototype.querySelector=function(selectors){return new Element();}; + +/** + * function querySelectorAll(selectors) + * http://www.w3.org/TR/2012/PR-selectors-api-20121213 + * @param {String} selectors + * @memberOf Element + * @returns {NodeList} + */ +Element.prototype.querySelectorAll=function(selectors){return new NodeList();}; + +/** + * Property state + * @type Object + * @memberOf History + */ +History.prototype.state=new Object(); + +/** + * function pushState(data,title,url) + * http://www.w3.org/TR/2012/CR-html5-20121217/browsers.html#history + * @param {Object} data + * @param {String} title + * @param {String} url - optional + * @memberOf History + */ +History.prototype.pushState=function(data,title,url){}; + +/** + * function replaceState(data,title,url) + * http://www.w3.org/TR/2012/CR-html5-20121217/browsers.html#history + * @param {Object} data + * @param {String} title + * @param {String} url - optional + * @memberOf History + */ +History.prototype.replaceState=function(data,title,url){}; + +/** + * Property sessionStorage + * http://www.w3.org/TR/2011/CR-webstorage-20111208 + * @type Storage + * @memberOf Window + */ +Window.prototype.sessionStorage=new Storage(); + +/** + * Property localStorage + * http://www.w3.org/TR/2011/CR-webstorage-20111208 + * @type Storage + * @memberOf Window + */ +Window.prototype.localStorage=new Storage(); + +/** + * Object Storage + * http://www.w3.org/TR/2011/CR-webstorage-20111208 + */ +function Storage(){}; +Storage.prototype=new Object(); + +/** + * Property length + * http://www.w3.org/TR/2011/CR-webstorage-20111208 + * @type Number + * @memberOf Storage + */ +Storage.prototype.length=new Number(); + +/** + * function key(index) + * http://www.w3.org/TR/2011/CR-webstorage-20111208 + * @param {Number} index + * @memberOf Storage + * @returns String + */ +Storage.prototype.key=function(index){return new String();}; + +/** + * function getItem(key) + * http://www.w3.org/TR/2011/CR-webstorage-20111208 + * @param {String} key + * @memberOf Storage + * @returns String + */ +Storage.prototype.getItem=function(key){return new String();}; + +/** + * function setItem(key,value) + * http://www.w3.org/TR/2011/CR-webstorage-20111208 + * @param {String} key + * @param {String} value + * @memberOf Storage + */ +Storage.prototype.setItem=function(key,value){}; + +/** + * function removeItem(key) + * http://www.w3.org/TR/2011/CR-webstorage-20111208 + * @param {String} key + * @memberOf Storage + */ +Storage.prototype.removeItem=function(key){}; + +/** + * function clear() + * http://www.w3.org/TR/2011/CR-webstorage-20111208 + * @memberOf Storage + */ +Storage.prototype.clear=function(){}; + +/** + * Object WebSocket + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @constructor + * @param {String} url + */ +function WebSocket(url){}; +WebSocket.prototype=new Object(); + +/** + * Constant WebSocket.CONNECTING=0 + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @constant + * @type Number + */ +WebSocket.prototype.CONNECTING=0; + +/** + * Constant WebSocket.OPEN=1 + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @constant + * @type Number + */ +WebSocket.prototype.OPEN=1; + +/** + * Constant WebSocket.CLOSING=2 + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @constant + * @type Number + */ +WebSocket.prototype.CLOSING=2; + +/** + * Constant WebSocket.CLOSED=3 + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @constant + * @type Number + */ +WebSocket.prototype.CLOSED=3; + +/** + * Property url + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @type String + * @memberOf WebSocket + */ +WebSocket.prototype.url=new String(); + +/** + * Property readyState + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @type Number + * @memberOf WebSocket + */ +WebSocket.prototype.readyState=new Number(); + +/** + * Property bufferedAmount + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @type Number + * @memberOf WebSocket + */ +WebSocket.prototype.bufferedAmount=new Number(); + +/** + * Property extensions + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @type String + * @memberOf WebSocket + */ +WebSocket.prototype.extensions=new String(); + +/** + * Property protocol + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @type String + * @memberOf WebSocket + */ +WebSocket.prototype.protocol=new String(); + +/** + * Property binaryType + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @type String + * @memberOf WebSocket + */ +WebSocket.prototype.binaryType=new String(); + +/** + * function close(code,reason) + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @param {Number} code - optional + * @param {String} reason - optional + * @memberOf WebSocket + */ +WebSocket.prototype.close=function(code,reason){}; + +/** + * function send(data) + * http://www.w3.org/TR/2012/CR-websockets-20120920 + * @param {Object} data - may be a String, Blob, ArrayBuffer, or ArrayBufferView + * @memberOf WebSocket + */ +WebSocket.prototype.send=function(data){}; + +/** + * Property geolocation + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Geolocation + * @memberOf Navigator + */ +Navigator.prototype.geolocation=new Geolocation(); + +/** + * Object Geolocation + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + */ +function Geolocation(){}; +Geolocation.prototype=new Object(); + +/** + * function getCurrentPosition(successCallback,errorCallback,options) + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510/ + * @param {Function} successCallback (Position pos) + * @param {Function} errorCallback (PositionError error) - optional + * @param {PositionOptions} options - optional + * @memberOf Geolocation + */ +Geolocation.prototype.getCurrentPosition=function(successCallback,errorCallback,options){}; + +/** + * function watchPosition(successCallback,errorCallback,options) + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510/ + * @param {Function} successCallback (Position pos) + * @param {Function} errorCallback (PositionError error) - optional + * @param {PositionOptions} options - optional + * @memberOf Geolocation + * @returns {Number} + */ +Geolocation.prototype.watchPosition=function(successCallback,errorCallback,options){return new Number();}; + +/** + * function clearWatch(watchId) + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @param {Number} watchId + * @memberOf Geolocation + */ +Geolocation.prototype.clearWatch=function(watchId){}; + +/** + * Object Coordinates + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + */ +function Coordinates(){}; +Coordinates.prototype=new Object(); + +/** + * Property latitude + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf Coordinates + */ +Coordinates.prototype.latitude=new Number();; + +/** + * Property longitude + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf Coordinates + */ +Coordinates.prototype.longitude=new Number();; + +/** + * Property altitude + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf Coordinates + */ +Coordinates.prototype.altitude=new Number();; + +/** + * Property accuracy + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf Coordinates + */ +Coordinates.prototype.accuracy=new Number();; + +/** + * Property altitudeAccuracy + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf Coordinates + */ +Coordinates.prototype.altitudeAccuracy=new Number();; + +/** + * Property heading + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf Coordinates + */ +Coordinates.prototype.heading=new Number();; + +/** + * Property speed + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf Coordinates + */ +Coordinates.prototype.speed=new Number(); + +/** + * Object Position + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + */ +function Position(){}; +Position.prototype=new Object(); + +/** + * Property coords + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Coordinates + * @memberOf Position + */ +Position.prototype.coords=new Coordinates(); + +/** + * Property timestamp + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf Position + */ +Position.prototype.timestamp=new Number; + +/** + * Object PositionError + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + */ +function PositionError(){}; +PositionError.prototype=new Object(); + +/** + * Constant PositionError.PERMISSION_DENIED=1 + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @constant + * @type Number + */ +PositionError.prototype.PERMISSION_DENIED=1; + +/** + * Constant PositionError.POSITION_UNAVAILABLE=2 + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @constant + * @type Number + */ +PositionError.prototype.POSITION_UNAVAILABLE=2; + +/** + * Constant PositionError.TIMEOUT=3 + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @constant + * @type Number + */ +PositionError.prototype.TIMEOUT=3; + +/** + * Property code + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf PositionError + */ +PositionError.prototype.code=new Number(); + +/** + * Property message + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type String + * @memberOf PositionError + */ +PositionError.prototype.message=new String(); + +/** + * Object PositionOptions + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + */ +function PositionOptions(){}; +PositionOptions.prototype=new Object(); + +/** + * Property enableHighAccuracy + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Boolean + * @memberOf PositionOptions + */ +PositionOptions.prototype.enableHighAccuracy=new Boolean(); + +/** + * Property timeout + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf PositionOptions + */ +PositionOptions.prototype.timeout=new Number(); + +/** + * Property maximumAge + * http://www.w3.org/TR/2012/PR-geolocation-API-20120510 + * @type Number + * @memberOf PositionOptions + */ +PositionOptions.prototype.maximumAge=new Number(); + +/** + * Object TimeRanges + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + */ +function TimeRanges(){}; +TimeRanges.prototype=new Object(); + +/** + * Property length + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf TimeRanges + */ +TimeRanges.prototype.length=new Number(); + +/** + * function start(index) + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @param {Number} index + * @memberOf TimeRanges + * @returns {Number} + */ +function start(index) {return new Number();}; + +/** + * function end(index) + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @param {Number} index + * @memberOf TimeRanges + * @returns {Number} + */ +function end(index) {return new Number();}; + +/** + * Object MediaError + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + */ +function MediaError(){}; +MediaError.prototype=new Object(); + +/** + * Constant MediaError.MEDIA_ERR_ABORTED=1 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +MediaError.prototype.MEDIA_ERR_ABORTED=1; + +/** + * Constant MediaError.MEDIA_ERR_NETWORK=2 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +MediaError.prototype.MEDIA_ERR_NETWORK=2; + +/** + * Constant MediaError.MEDIA_ERR_DECODED=3 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +MediaError.prototype.MEDIA_ERR_DECODE=3; + +/** + * Constant MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED=4 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +MediaError.prototype.MEDIA_ERR_SRC_NOT_SUPPORTED=4; + +/** + * Property code + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf MediaError + */ +MediaError.prototype.code=new Number(); + +/** + * Object HTMLMediaElement + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @augments HTMLElement + * @see HTMLElement + */ +function HTMLMediaElement(){}; +HTMLMediaElement.prototype = new HTMLElement(); + +/** + * Property src + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type String + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.src=new String(); + +/** + * Property currentSrc + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type String + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.currentSrc=new String(); + +/** + * Property crossOrigin + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type String + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.crossOrigin=new String(); + +/** + * Constant HTMLMediaElement.NETWORK_EMPTY=0 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +HTMLMediaElement.prototype.NETWORK_EMPTY=0; + +/** + * Constant HTMLMediaElement.NETWORK_IDLE=1 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +HTMLMediaElement.prototype.NETWORK_IDLE=1; + +/** + * Constant HTMLMediaElement.NETWORK_LOADING=2 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +HTMLMediaElement.prototype.NETWORK_LOADING=2; + +/** + * Constant HTMLMediaElement.NETWORK_NO_SOURCE=3 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +HTMLMediaElement.prototype.NETWORK_NO_SOURCE=3; + +/** + * Property networkState + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.networkState=new Number(); + +/** + * Property preload + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type String + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.preload=new String(); + +/** + * Property buffered + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type TimeRanges + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.buffered=new TimeRanges(); + +/** + * function load() + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.load=function(){}; + +/** + * function canPlayType(type) + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @param {String} type + * @memberOf HTMLMediaElement + * @returns {String} + */ +HTMLMediaElement.prototype.canPlayType=function(type){new String();}; + +/** + * Constant HTMLMediaElement.HAVE_NOTHING=0 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +HTMLMediaElement.prototype.HAVE_NOTHING=0; + +/** + * Constant HTMLMediaElement.HAVE_METADATA=1 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +HTMLMediaElement.prototype.HAVE_METADATA=1; + +/** + * Constant HTMLMediaElement.HAVE_CURRENT_DATA=2 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +HTMLMediaElement.prototype.HAVE_CURRENT_DATA=2; + +/** + * Constant HTMLMediaElement.HAVE_FUTURE_DATA=3 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +HTMLMediaElement.prototype.HAVE_FUTURE_DATA=3; + +/** + * Constant HTMLMediaElement.HAVE_ENOUGH_DATA=4 + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @constant + * @type Number + */ +HTMLMediaElement.prototype.HAVE_ENOUGH_DATA=4; + +/** + * Property readyState + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.readyState=new Number(); + +/** + * Property seeking + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Boolean + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.seeking=new Boolean(); + +/** + * Property currentTime + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.currentTime=new Number(); + +/** + * Property initialTime + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.initialTime=new Number(); + +/** + * Property duration + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.duration=new Number(); + +/** + * Property startOffsetTime + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Date + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.startOffsetTime=new Date(); + +/** + * Property paused + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Boolean + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.paused=new Boolean(); + +/** + * Property defaultPlaybackRate + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.defaultPlaybackRate=new Number(); + +/** + * Property playbackRate + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.playbackRate=new Number(); + +/** + * Property played + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type TimeRanges + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.played=new TimeRanges(); + +/** + * Property seekable + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type TimeRanges + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.seekable=new TimeRanges(); + +/** + * Property ended + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Boolean + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.ended=new Boolean(); + +/** + * Property autoplay + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Boolean + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.autoplay=new Boolean(); + +/** + * Property loop + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Boolean + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.loop=new Boolean(); + +/** + * function play() + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.play=function(){}; + +/** + * function pause() + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.pause=function(){}; + +/** + * Property controls + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Boolean + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.controls=new Boolean(); + +/** + * Property volume + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.volume=new Number(); + +/** + * Property muted + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Boolean + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.muted=new Boolean(); + +/** + * Property defaultMuted + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Boolean + * @memberOf HTMLMediaElement + */ +HTMLMediaElement.prototype.defaultMuted=new Boolean(); + +/** + * Object HTMLAudioElement + * http://www.w3.org/TR/2012/WD-html5-20120329/the-audio-element.html + * @augments HTMLMediaElement + * @constructor + * @param {String} src + * @see HTMLMediaElement + */ +function HTMLAudioElement(src){}; +HTMLAudioElement.prototype = new HTMLMediaElement(); + +/** + * Object HTMLVideoElement + * http://www.w3.org/TR/2012/WD-html5-20120329/the-audio-element.html + * @augments HTMLMediaElement + * @see HTMLMediaElement + */ +function HTMLVideoElement(){}; +HTMLVideoElement.prototype = new HTMLMediaElement(); + +/** + * Property width + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLVideoElement + */ +HTMLVideoElement.prototype.width=new Number(); + +/** + * Property height + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLVideoElement + */ +HTMLVideoElement.prototype.height=new Number(); + +/** + * Property videoWidth + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLVideoElement + */ +HTMLVideoElement.prototype.videoWidth=new Number(); + +/** + * Property videoHeight + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type Number + * @memberOf HTMLVideoElement + */ +HTMLVideoElement.prototype.videoHeight=new Number(); + +/** + * Property poster + * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html + * @type String + * @memberOf HTMLVideoElement + */ +HTMLVideoElement.prototype.poster=new String(); + diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/system.js b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/system.js new file mode 100644 index 0000000..1ca5a60 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/system.js @@ -0,0 +1,1458 @@ +/******************************************************************************* + * Copyright (c) 2008, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * Contributors: + * IBM Corporation - initial API and implementation + ****************************************************************************** +* Please see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html +*/ + +/** + * Object Object() + * @constructor + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function Object(){}; + /** + * function toString() + * @memberOf Object + * @returns {String} + * @see Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Object.prototype.toString = function(){return "";}; + /** + * function toLocaleString() + * @memberOf Object + * @returns {String} + * @see Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Object.prototype.toLocaleString = function(){return "";}; + /** + * function valueOf() + * @memberOf Object + * @returns {Object} + * @see Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Object.prototype.valueOf = function(){return new Object();}; + /** + * function hasOwnProperty(name) + * @memberOf Object + * @param {String} name + * @returns {Boolean} + * @see Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Object.prototype.hasOwnProperty = function(name){return true;}; + /** + * function isPrototypeOf(o) + * @memberOf Object + * @param {Object} o + * @returns {Boolean} + * @see Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Object.prototype.isPrototypeOf = function(o){return true;}; + /** + * function propertyIsEnumerable(name) + * @memberOf Object + * @param {Object} name + * @returns {Boolean} + * @see Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Object.prototype.propertyIsEnumerable = function(name){return true;}; +/** + * Property constructor + * @type Function + * @memberOf Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Object.prototype.constructor = new Function(); + +/** + * Object String() + * @constructor + * @extends Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function String(){} +String.prototype = new Object(); +/** + * static function fromCharCode(charCode1, ...) + * @memberOf String + * @param {Number} charCode + * @returns {String} + * @static + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.fromCharCode = function(charCode){return "";}; +/** + * Property length + * @type Number + * @memberOf String + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.length = 1; + /** + * function charAt(position) + * @memberOf String + * @param {Number} position + * @returns {String} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.charAt = function(position){return "";}; + /** + * function charCodeAt(position) + * @memberOf String + * @param {Number} position + * @returns {Number} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.charCodeAt = function(position){return 0;}; + /** + * function concat(value1, ...) + * @memberOf String + * @param {String} value + * @returns {String} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.concat = function(value){return "";}; + /** + * function indexOf(searchString, startPosition) + * @memberOf String + * @param {String} searchString + * @param {Number} startPosition + * @returns {Number} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.indexOf = function(searchString, startPosition){return 1;}; + /** + * function lastIndexOf(searchString, startPosition) + * @memberOf String + * @param {String} searchString + * @param {Number} startPosition + * @returns {Number} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.lastIndexOf = function(searchString, startPosition){return 1;}; + /** + * function localeCompare(otherString) + * @memberOf String + * @param {String} otherString + * @returns {Number} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.localeCompare = function(otherString){return 0;}; + /** + * function match(regexp) + * @memberOf String + * @param {RegExp} regexp + * @returns {Array} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.match = function(regexp){return [];}; + /** + * function replace(regexp, replaceValue) + * @memberOf String + * @param {RegExp} regexp + * @param {String} replaceValue + * @returns {String} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.replace = function(regexp, replaceValue){return "";}; + /** + * function search(regexp) + * @memberOf String + * @param {RegExp} regexp + * @returns {Number} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.search = function(regexp){return 1;}; + /** + * function slice(start, end) + * @memberOf String + * @param {Number} start + * @param {Number} end + * @returns {String} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.slice = function(start, end){return "";}; + /** + * function split(separator, limit) + * @memberOf String + * @param {String} separator + * @param {Number} limit + * @returns {Array} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.split = function(separator, limit){return [];}; + /** + * function substring(start, end) + * @memberOf String + * @param {Number} start + * @param {Number} end + * @returns {String} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.substring = function(start, end){return "";}; + /** + * function toLowerCase() + * @memberOf String + * @returns {String} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.toLowerCase = function(){return "";}; + /** + * function toLocaleLowerCase() + * @memberOf String + * @returns {String} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.toLocaleLowerCase = function(){return "";}; + /** + * function toUpperCase() + * @memberOf String + * @returns {String} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.toUpperCase= function (){return "";}; + /** + * function toLocaleUpperCase() + * @memberOf String + * @returns {String} + * @see String + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +String.prototype.toLocaleUpperCase = function(){return "";}; + +/** + * Object Number() + * @constructor + * @extends Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function Number(){} +Number.prototype = new Object(); +/** + * property MIN_VALUE + * @type Number + * @memberOf Number + * @static + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Number.MIN_VALUE = 0; +/** + * property MAX_VALUE + * @type Number + * @memberOf Number + * @static + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Number.MAX_VALUE = 0 ; +/** + * property NaN + * @type Number + * @memberOf Number + * @static + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Number.NaN = 0; +/** + * property NEGATIVE_INFINITY + * @type Number + * @memberOf Number + * @static + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Number.NEGATIVE_INFINITY = 0; +/** + * property POSITIVE_INFINITY + * @type Number + * @memberOf Number + * @static + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Number.POSITIVE_INFINITY = 0; +/** + * function toFixed(fractionDigits) + * @memberOf Number + * @param {Number} fractionDigits + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Number.prototype.toFixed = function(fractionDigits){return "";}; +/** + * function toExponential(fractionDigits) + * @memberOf Number + * @param {Number} fractionDigits + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +Number.prototype.toExponential = function(fractionDigits){return "";}; +/** + * function toPrecision(precision) + * @memberOf Number + * @param {Number} fractionDigits + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +Number.prototype.toPrecision = function(fractionDigits){return "";}; + +/** + * Object Boolean() + * @constructor + * @extends Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +function Boolean(){}; +Boolean.prototype = new Object(); + +/** + * Object Array() + * @constructor + * @extends Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function Array(){}; +Array.prototype = new Object(); +/** + * Property length + * @type Number + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.length = 1; +/** + * function concat(args) + * @param {Array} args + * @returns {Array} + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.concat = function(args){return [];}; +/** + * function join(seperator) + * @param {String} seperator + * @returns {Array} + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.join = function(seperator){return [];}; +/** + * function pop() + * @returns {Object} + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.pop = function(){return new Object();}; +/** + * function push(args) + * @param {Array} args + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.push = function(args){}; +/** + * function reverse() + * @returns {Array} + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.reverse = function(){return [];}; +/** + * function shift() + * @returns {Object} + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.shift = function(){return new Object();}; +/** + * function slice(start, end) + * @param {Number} start + * @param {Number} end + * @returns {Array} + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.slice = function(start, end){return [];}; +/** + * function sort(funct) + * @param {Function} funct + * @returns {Array} + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.sort = function(funct){return [];}; +/** + * function splice(start, deletecount, items) + * @param {Number} start + * @param {Number} deletecount + * @param {Array} items + * @returns {Array} + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.splice = function(start, deletecount, items){return [];}; +/** + * function unshift(items) + * @param {Object} values + * @returns {Number} + * @memberOf Array + * @see Array + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Array.prototype.unshift = function(values){return 1;}; + +/** + * Object Function() + * @constructor + * @extends Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function Function(){}; +Function.prototype = new Object(); +/** + * function apply (thisObject, argArray) + * @param {Object} thisObject + * @param {Array} argArray + * @returns {Object} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Function.prototype.apply = function(thisArg, argArray){return new Object();}; +/** + * function call (thisObject, args) + * @param {Object} thisObject + * @param {Object} args + * @returns {Object} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Function.prototype.call = function(thisObject, args){return new Object();}; +/** + * property length + * @type Number + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Function.prototype.length = 0; + +/** + * Object Date(s) + * @constructor + * @param {String} s + * @extends Object + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function Date(s){}; +Date.prototype = new Object(); +/** + * function UTC(hour, min, sec, ms) + * @memberOf Date + * @param {Number} hour + * @param {Number} min + * @param {Number} sec + * @param {Number} ms + * @returns {Number} + * @static + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +Date.UTC = function(hour, min, sec, ms){return 0;}; +/** + * function parse(string) + * @memberOf Date + * @param {String} string + * @returns {Number} + * @static + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.parse = function(string){return 0;}; +/** + * function toDateString() + * @memberOf Date + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.toDateString = function(){return "";}; +/** + * function toTimeString() + * @memberOf Date + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.toTimeString = function(){return "";}; +/** + * function toLocaleString() + * @memberOf Date + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.toLocaleString = function(){return "";}; +/** + * function toLocaleDateString() + * @memberOf Date + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.toLocaleDateString = function(){return "";}; +/** + * function toLocaleTimeString() + * @memberOf Date + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.toLocaleTimeString = function(){return "";}; +/** + * function valueOf() + * @memberOf Date + * @returns {Object} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.valueOf = function(){return new Object();}; +/** + * function getFullYear() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getFullYear = function(){return 0;}; +/** + * function getTime() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getTime = function(){return 0;}; +/** + * function getUTCFullYear() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getUTCFullYear = function(){return 0;}; +/** + * function getMonth() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getMonth = function(){return 0;}; +/** + * function getUTCMonth() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getUTCMonth = function(){return 0;}; +/** + * function getDate() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getDate = function(){return 0;}; +/** + * function getUTCDate() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getUTCDate = function(){return 0;}; +/** + * function getDay() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getDay = function(){return 0;}; +/** + * function getUTCDay() + * @memberOf Date + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + + */ +Date.prototype.getUTCDay=function(){return 0;}; +/** + * function getHours() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getHours = function(){return 0;}; +/** + * function getUTCHours() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getUTCHours = function(){return 0;}; +/** + * function getMinutes() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getMinutes = function(){return 0;}; +/** + * function getUTCMinutes() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getUTCMinutes = function(){return 0;}; +/** + * function getSeconds() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getSeconds = function(){return 0;}; +/** + * function getUTCSeconds() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getUTCSeconds = function(){return 0;}; +/** + * function getMilliseconds() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getMilliseconds = function(){return 0;}; +/** + * function getUTCMilliseconds() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getUTCMilliseconds = function(){return 0;}; +/** + * function getTimezoneOffset() + * @memberOf Date + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.getTimezoneOffset = function(){return 0;}; +/** + * function setTime(value) + * @memberOf Date + * @returns {Number} + * @param {Number} value + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setTime = function(value){return 0;}; + +/** + * function setMilliseconds(value) + * @memberOf Date + * @returns {Number} + * @param {Number} value + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setMilliseconds = function(value){return 0;}; +/** + * function setUTCMilliseconds(ms) + * @memberOf Date + * @returns {Number} + * @param {Number} ms + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setUTCMilliseconds = function(ms){return 0;}; +/** + * function setSeconds(sec,ms) + * @memberOf Date + * @returns {Number} + * @param {Number} sec + * @param {Number} ms + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setSeconds = function(sec,ms){return 0;}; +/** + * function setUTCSeconds(sec,ms) + * @memberOf Date + * @returns {Number} + * @param {Number} sec + * @param {Number} ms + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setUTCSeconds=function(sec,ms){return 0;}; +/** + * function setMinutes(min,sec,ms) + * @memberOf Date + * @returns {Number} + * @param {Number} min + * @param {Number} sec + * @param {Number} ms + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setMinutes=function(min,sec,ms){return 0;}; +/** + * function setUTCMinute(min,sec,ms) + * @memberOf Date + * @returns {Number} + * @param {Number} min + * @param {Number} sec + * @param {Number} ms + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setUTCMinute = function(min,sec,ms){return 0;}; +/** + * function setHours(hour, min,sec,ms) + * @memberOf Date + * @returns {Number} + * @param {Number} hour + * @param {Number} min + * @param {Number} sec + * @param {Number} ms + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setHours = function(hour,min,sec,ms){return 0;}; +/** + * function setUTCHours(hour, min,sec,ms) + * @memberOf Date + * @returns {Number} + * @param {Number} hour + * @param {Number} min + * @param {Number} sec + * @param {Number} ms + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setUTCHours = function(hour,min,sec,ms){return 0;}; + +/** + * function setDate(date) + * @memberOf Date + * @returns {Number} + * @param {Number} date + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setDate = function(date){return 0;}; + +/** + * function setUTCDate(date) + * @memberOf Date + * @returns {Number} + * @param {Number} date + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setUTCDate = function(date){return 0;}; + +/** + * function setMonth(month,date) + * @memberOf Date + * @returns {Number} + * @param {Number} date + * @param {Number} month + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setMonth = function(month,date){return 1;}; +/** + * function setUTCMonth(month,date) + * @memberOf Date + * @returns {Number} + * @param {Number} date + * @param {Number} month + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setUTCMonth = function(month,date){return 1;}; +/** + * function setFullYear(month,date) + * @memberOf Date + * @returns {Number} + * @param {Number} date + * @param {Number} month + * @param {Number} year + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setFullYear = function(year, month,date){return 0;}; +/** + * function setUTCFullYear(month,date) + * @memberOf Date + * @returns {Date} + * @param {Number} date + * @param {Number} month + * @param {Number} year + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Date.prototype.setUTCFullYear = function(year, month,date){}; +/** + * function toUTCString() + * @memberOf Date + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +Date.prototype.toUTCString = function(){return "";}; + +/** + * Property NaN + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +var NaN=0; +/** + * Property Infinity + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +var Infinity=0; +/** + * function eval(s) + * @param {String} s + * @type Object + * @returns {Object} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function eval(s){return new Object();}; + +//@GINO: Bug 197987 (Temp Fix) +/** + * Property debugger + * @description Debugger keyword + */ +var debugger=null; + +/** + * Property undefined + * @description undefined +*/ +var undefined=null; + +/** + * function parseInt(s,radix) + * @param {String} s + * @param {Number} radix + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function parseInt(s,radix){return 0;}; +/** + * function parseFloat(s) + * @param {String} s + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function parseFloat(s){return 0;}; +/** + * function escape(s) + * @param {String} s + * @type String + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +function escape(s){return "";}; +/** + * function unescape(s) + * @param {String} s + * @type String + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +function unescape(s){return "";}; +/** + * function isNaN(number) + * @param {String} number + * @type Boolean + * @returns {Boolean} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function isNaN(number){return false;}; +/** + * function isFinite(number) + * @param {String} number + * @type Boolean + * @returns {Boolean} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function isFinite(number){return false;}; +/** + * function decodeURI(encodedURI) + * @param {String} encodedURI + * @type String + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +function decodeURI(encodedURI){return "";}; +/** + * @param {String} uriComponent + * @type String + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +function decodeURIComponent(uriComponent){return "";}; +/** + * function encodeURIComponent(uriComponent) + * @param {String} uriComponent + * @type String + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +function encodeURIComponent(uriComponent){return "";}; + +/** + * function encodeURIComponent(URI) + * @param {String} URI + * @type String + * @returns {String} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. +*/ +function encodeURI(URI){return "";}; + +/** + * Object Math(\s) + * @super Object + * @constructor + * @memberOf Math + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + + */ +function Math(){}; +Math.prototype=new Object(); +/** + * Property E + * @memberOf Math + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.E=0; +/** + * Property LN10 + * @memberOf Math + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.LN10=0; +/** + * Property LN2 + * @memberOf Math + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.LN2=0; +/** + * Property LOG2E + * @memberOf Math + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.LOG2E=0; +/** + * Property LOG10E + * @memberOf Math + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.LOG10E=0; +/** + * Property PI + * @memberOf Math + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.PI=0; +/** + * Property SQRT1_2 + * @memberOf Math + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.SQRT1_2=0; +/** + * Property SQRT2 + * @memberOf Math + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.SQRT2=0; +/** + * function abs(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.abs=function(x){return 0;}; +/** + * function acos(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.acos=function(x){return 0;}; +/** + * function asin(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.asin=function(x){return 0;}; +/** + * function atan(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.atan=function(x){return 0;}; +/** + * function atan2(x,y) + * @memberOf Math + * @param {Number} x + * @param {Number} y + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.atan2=function(x,y){return 0;}; +/** + * function ceil(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.ceil=function(x){return 0;}; +/** + * function cos(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.cos=function(x){return 0;}; +/** + * function exp(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.exp=function(x){return 0;}; +/** + * function floor(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.floor=function(x){return 0;}; +/** + * function log(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.log=function(x){return 0;}; +/** + * function max(arg) + * @memberOf Math + * @param {Number} args + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.max=function(args){return 0;}; +/** + * function min(arg) + * @memberOf Math + * @param {Number} args + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.min=function(args){return 0;}; +/** + * function pow(x,y) + * @memberOf Math + * @param {Number} x + * @param {Number} y + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.pow=function(x,y){return 0;}; +/** + * function pow() + * @memberOf Math + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.random=function(){return 0;}; +/** + * function round(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.round=function(x){return 0;}; +/** + * function sin(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.sin=function(x){return 0;}; +/** + * function sqrt(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.sqrt=function(x){return 0;}; +/** + * function tan(x) + * @memberOf Math + * @param {Number} x + * @type Number + * @returns {Number} + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Math.tan=function(x){return 0;}; +/** + * Object RegExp() + * @super Object + * @constructor + * @memberOf RegExp + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function RegExp(){}; +RegExp.prototype=new Object(); +/** + * function exec(string) + * @param {String} string + * @returns {Array} + * @type Array + * @memberOf RegExp + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +RegExp.prototype.exec=function(string){return [];}; +/** + * function test(string) + * @param {String} string + * @returns {Boolean} + * @type Boolean + * @memberOf RegExp + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +RegExp.prototype.test=function(string){return false;}; +/** + * property source + * @type String + * @memberOf RegExp + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +RegExp.prototype.source=""; +/** + * property global + * @type Boolean + * @memberOf RegExp + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +RegExp.prototype.global=false; + +/** + * property ignoreCase + * @type Boolean + * @memberOf RegExp + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +RegExp.prototype.ignoreCase=false; +/** + * property multiline + * @type Boolean + * @memberOf RegExp + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +RegExp.prototype.multiline=false; +/** + * property lastIndex + * @type Number + * @memberOf RegExp + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +RegExp.prototype.lastIndex=0; +/** + * Object Error(message) + * @super Object + * @constructor + * @param {String} message + * @memberOf Error + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function Error(message){}; +Error.prototype=new Object(); +/** + * property name + * @type String + * @memberOf Error + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Error.prototype.name=""; +/** + * property message + * @type String + * @memberOf Error + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +Error.prototype.message=""; +/** + * Object EvalError() + * @super Error + * @constructor + * + * @memberOf EvalError + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function EvalError(){}; +EvalError.prototype=new Error(""); +/** + * Object RangeError() + * @super Error + * @constructor + * + * @memberOf RangeError + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function RangeError(){}; +RangeError.prototype=new Error(""); +/** + * Object ReferenceError() + * @super Error + * @constructor + * + * @memberOf ReferenceError + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function ReferenceError(){}; +ReferenceError.prototype=new Error(""); +/** + * Object SyntaxError() + * @super Error + * @constructor + * + * @memberOf SyntaxError + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function SyntaxError(){}; +SyntaxError.prototype=new Error(""); +/** + * Object TypeError() + * @super Error + * @constructor + * + * @memberOf TypeError + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function TypeError(){}; +TypeError.prototype=new Error(""); +/** + * Object URIError() + * @super Error + * @constructor + * + * @memberOf URIError + * @since Standard ECMA-262 3rd. Edition + * @since Level 2 Document Object Model Core Definition. + */ +function URIError(){}; +URIError.prototype=new Error(""); + +//support for debugger keyword +var debugger = null; \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/xhr.js b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/xhr.js new file mode 100644 index 0000000..8b680ca --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/xhr.js @@ -0,0 +1,104 @@ +/******************************************************************************* + * Copyright (c) 2009, 2011 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * Contributors: + * IBM Corporation - initial API and implementation + ****************************************************************************** + * + * Based on information from https://developer.mozilla.org/En/XMLHttpRequest + * and http://msdn2.microsoft.com/en-us/library/ms533062.aspx + **/ + +/** +* function createRequest +* @type XMLHttpRequest +* @memberOf Window +*/ +Window.prototype.createRequest= function(){return new XMLHttpRequest();}; +/** +* Object XMLHttpRequest +* @type constructor +*/ +XMLHttpRequest.prototype=new Object(); +function XMLHttpRequest(){}; + +/** + * function onreadystatechange + * @memberOf XMLHttpRequest + */ +XMLHttpRequest.prototype.onreadystatechange=function(){}; +/** + * property readyState + * @type Number + * @memberOf XMLHttpRequest + */ +XMLHttpRequest.prototype.readyState=0; +/** + * property responseText + * @type String + * @memberOf XMLHttpRequest + */ +XMLHttpRequest.prototype.responseText=""; +/** + * property responseXML + * @type Document + * @memberOf XMLHttpRequest + */ +XMLHttpRequest.prototype.responseXML=new Document(); +/** + * property status + * @type Number + * @memberOf XMLHttpRequest + */ +XMLHttpRequest.prototype.status=0; +/** + * property statusText + * @type String + * @memberOf XMLHttpRequest + */ +XMLHttpRequest.prototype.statusText=""; +/** + * function abort() + * @memberOf XMLHttpRequest + */ +XMLHttpRequest.prototype.abort=function(){}; +/** +* function getAllResponseHeaders() +* @type String +* @memberOf XMLHttpRequest +*/ +XMLHttpRequest.prototype.getAllResponseHeaders=function(){return "";}; +/** +* function open(method, url, async, username, password) +* @param {String} method +* @param {String} url +* @param {Boolean} optional async +* @param {String} optional username +* @param {String} optional password +* @memberOf XMLHttpRequest +*/ +XMLHttpRequest.prototype.open=function(method, url, async, username, password){}; +/** +* function send(body) +* @param {Object} body +* @memberOf XMLHttpRequest +*/ +XMLHttpRequest.prototype.send=function(body){}; +/** +* function setRequestHeader(header,value) +* @param {String} header +* @param {String} value +* @memberOf XMLHttpRequest +*/ +XMLHttpRequest.prototype.setRequestHeader=function(header,value){}; +/** +* function getAllResponseHeaders() +* @param {String} header +* @type String +* @memberOf XMLHttpRequest +*/ +XMLHttpRequest.prototype.getResponseHeader=function(header){return "";}; diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat b/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat new file mode 100644 index 0000000..c2bf12d Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml b/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml new file mode 100644 index 0000000..a4ee3cb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml @@ -0,0 +1,2 @@ + + diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml b/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml new file mode 100644 index 0000000..9e390f5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml @@ -0,0 +1,2 @@ + + diff --git a/.metadata/.plugins/org.eclipse.wst.server.core/monitors.xml b/.metadata/.plugins/org.eclipse.wst.server.core/monitors.xml new file mode 100644 index 0000000..0bd2033 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.server.core/monitors.xml @@ -0,0 +1,2 @@ + + diff --git a/.metadata/.plugins/org.eclipse.wst.server.core/publish.xml b/.metadata/.plugins/org.eclipse.wst.server.core/publish.xml new file mode 100644 index 0000000..bc7bbe8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.server.core/publish.xml @@ -0,0 +1,2 @@ + + diff --git a/.metadata/.plugins/org.eclipse.wst.server.core/servers.xml b/.metadata/.plugins/org.eclipse.wst.server.core/servers.xml new file mode 100644 index 0000000..da845cd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.server.core/servers.xml @@ -0,0 +1,2 @@ + + diff --git a/.metadata/.plugins/org.eclipse.wst.server.core/tmp-data.xml b/.metadata/.plugins/org.eclipse.wst.server.core/tmp-data.xml new file mode 100644 index 0000000..3d2b475 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.server.core/tmp-data.xml @@ -0,0 +1,2 @@ + + diff --git a/.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties b/.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties new file mode 100644 index 0000000..51a3ff1 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties @@ -0,0 +1,3 @@ +# +#Thu Nov 18 18:28:45 ICT 2021 +task-tag-projects-already-scanned=Jar-Project,Java-String,SoapWebServiceExampleClient,Java-IoC,SoapWebServiceExample,Java-DOM,Servers,Java-Service,SoapWebServiceExample2,Currency-Converter,Java-Tight-Coupling,SoapWebServiceExample2Client,Using-Jar,Book-Price diff --git a/.metadata/.plugins/org.eclipse.wst.sse.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.wst.sse.ui/dialog_settings.xml new file mode 100644 index 0000000..63fae25 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.sse.ui/dialog_settings.xml @@ -0,0 +1,5 @@ + +
+
+
+
diff --git a/.metadata/.plugins/org.eclipse.wst.validation/dep.index b/.metadata/.plugins/org.eclipse.wst.validation/dep.index new file mode 100644 index 0000000..419b970 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.wst.validation/dep.index differ diff --git a/.metadata/.plugins/org.eclipse.wst.ws.explorer/favorites.wsil b/.metadata/.plugins/org.eclipse.wst.ws.explorer/favorites.wsil new file mode 100644 index 0000000..30427e5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.ws.explorer/favorites.wsil @@ -0,0 +1,7 @@ + + + + diff --git a/.metadata/.plugins/org.eclipse.wst.ws.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.wst.ws.ui/dialog_settings.xml new file mode 100644 index 0000000..64f7bfd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.ws.ui/dialog_settings.xml @@ -0,0 +1,7 @@ + +
+ + + + +
diff --git a/.metadata/.plugins/org.eclipse.wst.xml.core/default_catalog.xml b/.metadata/.plugins/org.eclipse.wst.xml.core/default_catalog.xml new file mode 100644 index 0000000..37faa16 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.xml.core/default_catalog.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/.metadata/.plugins/org.eclipse.wst.xml.core/system_catalog.xml b/.metadata/.plugins/org.eclipse.wst.xml.core/system_catalog.xml new file mode 100644 index 0000000..eafcecf --- /dev/null +++ b/.metadata/.plugins/org.eclipse.wst.xml.core/system_catalog.xml @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.metadata/version.ini b/.metadata/version.ini new file mode 100644 index 0000000..e1bcf31 --- /dev/null +++ b/.metadata/version.ini @@ -0,0 +1,3 @@ +#Thu Nov 18 08:42:11 ICT 2021 +org.eclipse.core.runtime=2 +org.eclipse.platform=4.20.0.v20210611-1600 diff --git a/Java 1.mmap b/Java 1.mmap new file mode 100644 index 0000000..8a032c6 Binary files /dev/null and b/Java 1.mmap differ diff --git a/Java 2.1.mmap b/Java 2.1.mmap new file mode 100644 index 0000000..8a677b8 Binary files /dev/null and b/Java 2.1.mmap differ diff --git a/Java 2.mmap b/Java 2.mmap new file mode 100644 index 0000000..c7a4c00 Binary files /dev/null and b/Java 2.mmap differ diff --git a/Java 3.mmap b/Java 3.mmap new file mode 100644 index 0000000..ded25cd Binary files /dev/null and b/Java 3.mmap differ diff --git a/Java 5-v1.0.docx b/Java 5-v1.0.docx new file mode 100644 index 0000000..2480eac Binary files /dev/null and b/Java 5-v1.0.docx differ diff --git a/Java 8-v1.0.txt b/Java 8-v1.0.txt new file mode 100644 index 0000000..710a093 --- /dev/null +++ b/Java 8-v1.0.txt @@ -0,0 +1,26 @@ +Function Interface + + https://caodang.fpt.edu.vn/tin-tuc-poly/java-8-ban-da-biet-het-ve-lambdas-streams-and-functional-style-programming-phan-1.html + +Java Lambda Expressions + +Method Reference + +Java Stream +Thymeleaf: + Spring Boot và ViewResolver + Thymeleaf + Standard Expressions + Thymeleaf Attributes + Thymeleaf Utilities + +Web Browser +Handler Mapping +Controller +View Resolver +View Engine + + + +sonpeter.github.io/teaching/ + diff --git a/Java 8.mmap b/Java 8.mmap new file mode 100644 index 0000000..8003a24 Binary files /dev/null and b/Java 8.mmap differ diff --git "a/Java-Advance/documents/T\303\240i li\341\273\207u Java Advance v1.0.docx" "b/Java-Advance/documents/T\303\240i li\341\273\207u Java Advance v1.0.docx" new file mode 100644 index 0000000..80f5fb8 Binary files /dev/null and "b/Java-Advance/documents/T\303\240i li\341\273\207u Java Advance v1.0.docx" differ diff --git a/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/JsonName.class b/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/JsonName.class new file mode 100644 index 0000000..6030678 Binary files /dev/null and b/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/JsonName.class differ diff --git a/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/JsonNameProcessor.class b/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/JsonNameProcessor.class new file mode 100644 index 0000000..2524aaf Binary files /dev/null and b/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/JsonNameProcessor.class differ diff --git a/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/Person.class b/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/Person.class new file mode 100644 index 0000000..fe75cd7 Binary files /dev/null and b/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/Person.class differ diff --git a/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/SuperMan.class b/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/SuperMan.class new file mode 100644 index 0000000..4dee0ba Binary files /dev/null and b/Java-Annotation/java-annotation/out/production/java-annotation/com/core/anno/SuperMan.class differ diff --git a/Java-Annotation/java-annotation/readme.md b/Java-Annotation/java-annotation/readme.md new file mode 100644 index 0000000..af20b9d --- /dev/null +++ b/Java-Annotation/java-annotation/readme.md @@ -0,0 +1,54 @@ +# Java Annotations + +Có 2 kiểu Java Annotation: + +1. Các Annotation được tích hợp sẵn trong Java: Override, Overload... + +2. Annotation tùy chỉnh - do người dùng định nghĩa. + + +## Các Annotation được tính hợp trong Java + +@Override, @SuppressWarnings, @Deprecated + +@Target, @Retention, @Inherited, @Documented + +Giải thích ý nghĩa của các Annotation phía sau: + +## Tùy chỉnh Annotation trong Java: + +### Mục đích: + +Được người dùng định nghĩa rất dễ dàng để tạo và sử dụng ?? -> Chưa rõ phần này. Phần tử @interface được sử dung để khai báo một Annotation. + +### Các kiểu của Annotation: + +1. Marker Annotation + + +2. Single-Value Annotation + + +3. Multi-Value Annotation + +### Sử dụng Annotation tích hợp trong Annotation tùy chỉnh trong Java + +@Target + + +@Retention + + +@Inherited + + +@Documented + + + + +## Reference Document + +[Annotation trong Java](https://viettuts.vn/java-new-features/annotation-trong-java) + +[Tùy chỉnh Annotation trong Java](https://viettuts.vn/java-new-features/tuy-chinh-annotation-trong-java) \ No newline at end of file diff --git a/Java-Annotation/java-annotation/src/com/core/anno/JsonName.java b/Java-Annotation/java-annotation/src/com/core/anno/JsonName.java new file mode 100644 index 0000000..6db5ba3 --- /dev/null +++ b/Java-Annotation/java-annotation/src/com/core/anno/JsonName.java @@ -0,0 +1,21 @@ +package com.core.anno; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Hướng dẫn tạo Annotation JsonName + * @author ManhKM on 4/23/2022 + * @project java-annotation + */ +@Retention(RetentionPolicy.RUNTIME) // Tồn tại trong lúc chạy chương trình +@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) // Được sử dụng trên class, interface, method, biến +public @interface JsonName { + /** + * Các giá trị trong @interface đều dạng hàm abstract, không có tham số + * @return + */ + String value(); +} diff --git a/Java-Annotation/java-annotation/src/com/core/anno/JsonNameProcessor.java b/Java-Annotation/java-annotation/src/com/core/anno/JsonNameProcessor.java new file mode 100644 index 0000000..456fcea --- /dev/null +++ b/Java-Annotation/java-annotation/src/com/core/anno/JsonNameProcessor.java @@ -0,0 +1,56 @@ +package com.core.anno; + +import java.lang.reflect.Field; +import java.time.LocalDateTime; +import java.util.Optional; + +/** + * @author ManhKM on 4/23/2022 + * @project java-annotation + */ +public class JsonNameProcessor { + public static String toJson(Object object) throws IllegalAccessException { + StringBuilder sb = new StringBuilder(); // Dùng StringBuilder de tao json tu class + + Class clazz = object.getClass(); + JsonName jsonClassName = clazz.getDeclaredAnnotation(JsonName.class); // Lay ra annotation @JsonName tren Class + + sb.append("{\n") + .append("\t\"") + // Lay gia tri cua Annotation, neu annotation la null thi lay ten Class de thay the + .append(Optional.ofNullable(jsonClassName).map(JsonName::value).orElse(clazz.getSimpleName())) + .append("\": {\n"); // + + + Field fields[] = clazz.getDeclaredFields(); + for (int i = 0; i < fields.length; i++) { + fields[i].setAccessible(true); // Set setAccessible = true. De co the truy cap vao private field + JsonName jsonFieldName = fields[i].getDeclaredAnnotation(JsonName.class); // get annotation tren field + sb.append("\t\t\"") + // Lay gia tri cua Annotation, neu annotation la null thi lay ten field thay the + .append(Optional.ofNullable(jsonFieldName).map(JsonName::value).orElse(fields[i].getName())) // L + .append("\": ") + // Neu field la String hoac Object. thi append dau ngoac kep vao + .append(fields[i].getType() == String.class || !fields[i].getType().isPrimitive() ? "\"" : "") + // Lay gia tri cua field + .append(fields[i].get(object)) + // Neu field la String hoac Object. thi append dau ngoac kep vao + .append(fields[i].getType() == String.class || !fields[i].getType().isPrimitive()? "\"" : "") + // Nếu là field cuối cùng, thì không append dấu "," + .append(i != fields.length -1 ? ",\n" : "\n"); + } + sb.append("\t}\n"); + sb.append("}"); + + return sb.toString(); + } + + public static void main(String[] args) throws IllegalAccessException { + SuperMan superMan = new SuperMan(); // Tao doi tuong super man + superMan.setDateOfBirth(LocalDateTime.now()); + superMan.setName("loda"); + + String json =JsonNameProcessor.toJson(superMan); + System.out.println(json); + } +} diff --git a/Java-Annotation/java-annotation/src/com/core/anno/MarkerAnnotation.java b/Java-Annotation/java-annotation/src/com/core/anno/MarkerAnnotation.java new file mode 100644 index 0000000..50a99d6 --- /dev/null +++ b/Java-Annotation/java-annotation/src/com/core/anno/MarkerAnnotation.java @@ -0,0 +1,10 @@ +package com.core.anno; + +/** + * @author ManhKM on 8/24/2022 + * @project java-annotation + * ----- + * Marker Annotation + * Một Annotation không có phương thức thì sẽ được gọi là Marker Annotation + */ +@interface MarkerAnnotation {} diff --git a/Java-Annotation/java-annotation/src/com/core/anno/MultiValueAnnotation.java b/Java-Annotation/java-annotation/src/com/core/anno/MultiValueAnnotation.java new file mode 100644 index 0000000..7f95ae6 --- /dev/null +++ b/Java-Annotation/java-annotation/src/com/core/anno/MultiValueAnnotation.java @@ -0,0 +1,15 @@ +package com.core.anno; + +/** + * @author ManhKM on 8/24/2022 + * @project java-annotation + */ +@interface MultiValueAnnotation { + int value(); + + String value2(); + + float value3(); + + char value4(); +} diff --git a/Java-Annotation/java-annotation/src/com/core/anno/Person.java b/Java-Annotation/java-annotation/src/com/core/anno/Person.java new file mode 100644 index 0000000..61677e4 --- /dev/null +++ b/Java-Annotation/java-annotation/src/com/core/anno/Person.java @@ -0,0 +1,9 @@ +package com.core.anno; + +/** + * @author ManhKM on 4/23/2022 + * @project java-annotation + */ +public class Person { + +} diff --git a/Java-Annotation/java-annotation/src/com/core/anno/SingleValueAnnotation.java b/Java-Annotation/java-annotation/src/com/core/anno/SingleValueAnnotation.java new file mode 100644 index 0000000..a922ffe --- /dev/null +++ b/Java-Annotation/java-annotation/src/com/core/anno/SingleValueAnnotation.java @@ -0,0 +1,19 @@ +package com.core.anno; + +/** + * @author ManhKM on 8/24/2022 + * @project java-annotation + * ----- + * Single-Value Annotation + * Một Annotation mà có một phương thwusc được gọi là single-value Annotation + */ +@interface SingleValueAnnotation { +// int value(); + + int value() default 0; + /** + * Áp dụng Single-Value Annotation + * @SingleValueAnnotation(value=10) + * Những giá trị value có thể là những giá trị khác nhau + */ +} diff --git a/Java-Annotation/java-annotation/src/com/core/anno/SuperMan.java b/Java-Annotation/java-annotation/src/com/core/anno/SuperMan.java new file mode 100644 index 0000000..34a2316 --- /dev/null +++ b/Java-Annotation/java-annotation/src/com/core/anno/SuperMan.java @@ -0,0 +1,29 @@ +package com.core.anno; + +import java.time.LocalDateTime; + +/** + * @author ManhKM on 4/23/2022 + * @project java-annotation + */ +@JsonName(value = "super_man") +public class SuperMan extends Person{ + private String name; + + private LocalDateTime dateOfBirth; + public String getName(){ + return name; + } + + public void setName(String name){ + this.name = name; + } + + public LocalDateTime getDateOfBirth() { + return dateOfBirth; + } + + public void setDateOfBirth(LocalDateTime dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } +} diff --git a/Java-Annotation/java-annotation/src/com/core/optional/DemoOptional.java b/Java-Annotation/java-annotation/src/com/core/optional/DemoOptional.java new file mode 100644 index 0000000..21d5362 --- /dev/null +++ b/Java-Annotation/java-annotation/src/com/core/optional/DemoOptional.java @@ -0,0 +1,33 @@ +package com.core.optional; + +import java.util.Optional; + +/** + * @author ManhKM on 4/23/2022 + * @project java-annotation + */ +public class DemoOptional { + + public static void main(String[] args) { + String str = null; + Optional optional = Optional.ofNullable(str); + + if(optional.isPresent()){ + System.out.println(optional.get()); + } + + optional.ifPresent(s -> System.out.println(s)); + + String b = optional.orElse("Giá trị mặc định"); + b = optional.orElseGet(() -> { + StringBuilder sb = new StringBuilder(); + return sb.toString(); + }); + + /** + * Method map() -> biến đổi đối tượng bên trong Optional + */ + + + } +} diff --git a/Java-Annotation/java-annotation/src/com/core/optional/Girl.java b/Java-Annotation/java-annotation/src/com/core/optional/Girl.java new file mode 100644 index 0000000..a6a23a9 --- /dev/null +++ b/Java-Annotation/java-annotation/src/com/core/optional/Girl.java @@ -0,0 +1,22 @@ +package com.core.optional; + +import java.util.Optional; + +/** + * @author ManhKM on 4/23/2022 + * @project java-annotation + */ +public class Girl { + private Outfit outfit; + public Outfit getOutfit(){ + return outfit; + } + + public String getOutfitType(Girl girl){ + return Optional.ofNullable(girl) + .map(Girl::getOutfit) + .map(Outfit::getType) + .filter(s -> s.contains("bikini")) + .orElse("Nothing"); + } +} diff --git a/Java-Annotation/java-annotation/src/com/core/optional/Outfit.java b/Java-Annotation/java-annotation/src/com/core/optional/Outfit.java new file mode 100644 index 0000000..79f76b0 --- /dev/null +++ b/Java-Annotation/java-annotation/src/com/core/optional/Outfit.java @@ -0,0 +1,12 @@ +package com.core.optional; + +/** + * @author ManhKM on 4/23/2022 + * @project java-annotation + */ +public class Outfit { + public String type; + public String getType(){ + return type; + } +} diff --git a/Java-Apache-POI/jxls b/Java-Apache-POI/jxls new file mode 160000 index 0000000..ef1fdac --- /dev/null +++ b/Java-Apache-POI/jxls @@ -0,0 +1 @@ +Subproject commit ef1fdacc996ca359dfd026763bccda7835559435 diff --git a/Java-ApachePOI/pom.xml b/Java-ApachePOI/pom.xml new file mode 100644 index 0000000..065ddff --- /dev/null +++ b/Java-ApachePOI/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + Java-ApachePOI + 1.0-SNAPSHOT + + + 8 + 8 + 3.17 + + + + + org.apache.poi + poi-ooxml + ${org.apache.poi} + + + + + \ No newline at end of file diff --git a/Java-ApachePOI/readme.md b/Java-ApachePOI/readme.md new file mode 100644 index 0000000..6484df5 --- /dev/null +++ b/Java-ApachePOI/readme.md @@ -0,0 +1,12 @@ +## Hướng dẫn đọc file excel trong Java - ApachePOI + + +## 1. Apache POI What is this? + 1.1. Xử lý file Excel với Apache POI + +## 2. Download thư viện Apache POI + + +## 3. Đọc/Ghi file Excel bằng Apache POI + 3.1. Ghi file Excel + 3.2. Đọc file Excel diff --git a/Java-ApachePOI/src/main/java/com/core/poi/WriteFileExcel.java b/Java-ApachePOI/src/main/java/com/core/poi/WriteFileExcel.java new file mode 100644 index 0000000..e0e0ef1 --- /dev/null +++ b/Java-ApachePOI/src/main/java/com/core/poi/WriteFileExcel.java @@ -0,0 +1,52 @@ +package com.core.poi; + +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * @author ManhKM on 4/19/2022 + * @project Java-ApachePOI + */ +public class WriteFileExcel { + public static void main(String[] args) { + System.out.println("Create file Excel: "); + XSSFWorkbook workbook = new XSSFWorkbook(); + XSSFSheet sheet = workbook.createSheet("customer_info"); + int rowNum = 0; + Row firstRow = sheet.createRow(rowNum++); + Cell firstCell = firstRow.createCell(0); + firstCell.setCellValue("List of customer"); + + List listOfCustomer = new ArrayList(); +// listOfCustomer.add(new Customer(1, "Sylvester Stallone", "abc@gmail.com")); +// listOfCustomer.add(new Customer(2, "Tom Cruise", "xyz@yahoo.com")); +// listOfCustomer.add(new Customer(3, "Vin Diesel", "abc@hotmail.com")); + for (Customer customer : listOfCustomer) { + Row row = sheet.createRow(rowNum++); + Cell cell1 = row.createCell(0); + cell1.setCellValue(customer.getId()); + Cell cell2 = row.createCell(1); + cell2.setCellValue(customer.getName()); + Cell cell3 = row.createCell(2); + cell3.setCellValue(customer.getEmail()); + } + try { + FileOutputStream outputStream = new FileOutputStream("Demo-ApachePOI-Excel.xlsx"); + workbook.write(outputStream); + workbook.close(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + System.out.println("Done"); + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/readme.md b/Java-Basic/core-java-volume-1-fundamentals/readme.md new file mode 100644 index 0000000..ff9cf7e --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/readme.md @@ -0,0 +1,3 @@ +## Core Java - Volume I Fundamentals + +## Mục tiêu: Dựng base để thi chứng chỉ OCA Java 8 \ No newline at end of file diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/autoboxing/TestAutoboxing.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/autoboxing/TestAutoboxing.java new file mode 100644 index 0000000..cdfa90c --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/autoboxing/TestAutoboxing.java @@ -0,0 +1,25 @@ +package com.jindo.core.autoboxing; + +import java.util.ArrayList; + +/** + * @author ManhKM on 5/21/2022 + * @project core-java-volume-1-fundamentals + * ----- + * Autoboxing: list.add(Integer.valueOf(3)) + * list.get(i).intValue(); + * int x = Integer.parseInt(s) + * + */ +public class TestAutoboxing { + public static void main(String[] args) { + ArrayList list = new ArrayList<>(); + list.add(10); + list.add(15); + list.add(Integer.valueOf(19)); + + for (int a: list) { + System.out.println(a); + } + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Employee.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Employee.java new file mode 100644 index 0000000..12074ba --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Employee.java @@ -0,0 +1,126 @@ +package com.jindo.core.entity; + +import com.jindo.core.entity.Person; +import com.jindo.core.interfacex.ComparableT; + +import java.time.LocalDate; +import java.util.Objects; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + */ +public class Employee extends Person implements Comparable, ComparableT { + private String name; + private double salary; + private LocalDate hireDay; + + public Employee(String name){ + super(name); + } + + public Employee(String name, double salary){ + super(name); + this.salary = salary; + } + + public Employee(String name, double salary, int year, int month, int day){ + super(name); + this.salary = salary; + hireDay = LocalDate.of(year, month, day); + } + + + + /** + * method getName -> trả về name của Employee + * B1: Lúc khởi tạo Construct -> call supper -> Person + * B2: Lúc lấy ra thì cũng phải lấy từ supper -> Person + */ + public String getName() { + return super.getName(); + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String getDescription() { + return "an employee with a salary of " + getSalary(); + } + + public double getSalary() { + return salary; + } + + public void setSalary(double salary) { + this.salary = salary; + } + + public LocalDate getHireDay() { + return hireDay; + } + + public void setHireDay(LocalDate hireDay) { + this.hireDay = hireDay; + } + + /** + * Tăng lương + * @param byPercent -> tỷ lệ nâng lương + */ + public void raiseSalary(double byPercent){ + double raise = this.salary * byPercent / 100; + this.salary += raise; + } + + /** + * Bổ sung phương thức so sánh giữa các Object + * @param otherObject + * @return + */ + public boolean equals(Object otherObject){ + if(this == otherObject){ + return true; + } + + if(otherObject == null){ + return false; + } + + if(getClass() != otherObject.getClass()){ + return false; + } + + Employee other = (Employee) otherObject; + + return Objects.equals(name, other.name) + && salary == other.salary + && Objects.equals(hireDay, other.hireDay); + } + + public int hashCode(){ + return Objects.hash(name, salary, hireDay); + } + + @Override + public String toString() { + return getClass().getName() + "{" + + "name='" + name + '\'' + + ", salary=" + salary + + ", hireDay=" + hireDay + + '}'; + } + + @Override + public int compareTo(Object otherObject) { + Employee other = (Employee) otherObject; + return Double.compare(salary, other.salary); + } + + @Override + public int compareToT(Employee other) { + return Double.compare(salary, other.salary); + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Executive.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Executive.java new file mode 100644 index 0000000..aade1e7 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Executive.java @@ -0,0 +1,14 @@ +package com.jindo.core.entity; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + * ----- + * Giám đốc: + * + Từ khóa final: Đánh dấu class này không thể kế thừa từ một sub-class nào nữa + */ +public final class Executive extends Manager{ + public Executive(String name, double salary, int year, int month, int day) { + super(name, salary, year, month, day); + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Manager.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Manager.java new file mode 100644 index 0000000..097b543 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Manager.java @@ -0,0 +1,45 @@ +package com.jindo.core.entity; + +import java.util.Objects; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + */ +public class Manager extends Employee { + private double bonus; + + public Manager(String name, double salary, int year, int month, int day) { + super(name, salary, year, month, day); + this.bonus = 0; + } + + public void setBonus(double bonus) { + this.bonus = bonus; + } + + @Override + public double getSalary() { + double baseSalary = super.getSalary(); + return baseSalary + bonus; + } + + @Override + public boolean equals(Object otherObject) { + if(!super.equals(otherObject)) return false; + Manager other = (Manager) otherObject; + return(bonus == other.bonus); + } + + @Override + public int hashCode() { + return super.hashCode() + 17 * new Double(bonus).hashCode(); + } + + @Override + public String toString() { + return super.toString() + "{" + + "bonus=" + bonus + + '}'; + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Person.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Person.java new file mode 100644 index 0000000..553d2c6 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Person.java @@ -0,0 +1,24 @@ +package com.jindo.core.entity; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + */ +public abstract class Person extends Object{ + + private String name; + + public Person(String name){ + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public abstract String getDescription(); +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Programmer.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Programmer.java new file mode 100644 index 0000000..0357463 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Programmer.java @@ -0,0 +1,13 @@ +package com.jindo.core.entity; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + * ----- + * Programmer có lương OT công việc + */ +public class Programmer extends Employee { + public Programmer(String name, double salary, int year, int month, int day) { + super(name, salary, year, month, day); + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Secretary.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Secretary.java new file mode 100644 index 0000000..04aa99f --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Secretary.java @@ -0,0 +1,15 @@ +package com.jindo.core.entity; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + * Khai báo đối tượng thư kí: + * Làm các công việc liên quan đến quản lý thời gian. + * Hỗ trợ các báo cáo... + * + */ +public class Secretary extends Employee { + public Secretary(String name, double salary, int year, int month, int day) { + super(name, salary, year, month, day); + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Student.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Student.java new file mode 100644 index 0000000..5d68eb2 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/Student.java @@ -0,0 +1,33 @@ +package com.jindo.core.entity; + +import com.jindo.core.interfacex.ComparableT; +import kotlin.reflect.jvm.internal.impl.descriptors.Named; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + */ +public class Student extends Person{ + + private String major; + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public Student(String name, String major){ + super(name); + this.major = major; + } + + @Override + public String getDescription() { + return "a student majoring in " + getMajor(); + } + + +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/SupperExecutive.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/SupperExecutive.java new file mode 100644 index 0000000..b21cef4 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/SupperExecutive.java @@ -0,0 +1,8 @@ +package com.jindo.core.entity; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + */ +public class SupperExecutive { +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/TestCompany.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/TestCompany.java new file mode 100644 index 0000000..0b40564 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/TestCompany.java @@ -0,0 +1,33 @@ +package com.jindo.core.entity; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + */ +public class TestCompany { + public static void main(String[] args) { + Manager boss = new Manager("ManhKM", 8000, 1996, 4, 30); + boss.setBonus(500); + + Employee[] staff = new Employee[3]; + staff[0] = boss; + // staff[0].setBonus(1000); + staff[1] = new Employee("Harry Hacker", 5000, 1997, 10, 1); + Manager subBoss; +// subBoss.setBonus(100); +// staff[1] = subBoss; + + if(staff[1] instanceof Manager){ + subBoss = (Manager) staff[1]; + subBoss.setBonus(100); + } + + staff[2] = new Employee("Tony Tester", 4000, 1998, 3, 15); + + System.out.println("1. Member of company: "); + for (Employee e : staff){ + System.out.println(e.getName() + " - " +e.getSalary()); + } + + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/TestInheritance.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/TestInheritance.java new file mode 100644 index 0000000..4989769 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/entity/TestInheritance.java @@ -0,0 +1,24 @@ +package com.jindo.core.entity; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + * ----- + * + Không thể khởi tạo instance từ một Abstract Class + * + Có thể khởi tạo thông qua một Subclass của nó + * + Tại sao Employee.getName lại là null + */ +public class TestInheritance { + public static void main(String[] args) { + Person person = new Student("Vince Vu", "Economics"); + + Person[] people = new Person[3]; + people[0] = new Employee("TrangTT", 1000, 1999, 12, 18); + people[1] = new Student("TrangKT", "Information Technology"); + people[2] = person; + + for (Person p: people) { + System.out.println(p.getName() + ", " + p.getDescription()); + } + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/hashcode/TestHashCode.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/hashcode/TestHashCode.java new file mode 100644 index 0000000..52d4b01 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/hashcode/TestHashCode.java @@ -0,0 +1,17 @@ +package com.jindo.core.hashcode; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + */ +public class TestHashCode { + public static void main(String[] args) { + String s = "OK"; + StringBuilder sb = new StringBuilder(s); + System.out.println(s.hashCode() + " " + sb.hashCode()); + + String t = new String("OK"); + StringBuilder tb = new StringBuilder(t); + System.out.println(t.hashCode() + " " + tb.hashCode()); + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/Comparable.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/Comparable.java new file mode 100644 index 0000000..307e635 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/Comparable.java @@ -0,0 +1,11 @@ +package com.jindo.core.interfacex; + +/** + * @author ManhKM on 5/25/2022 + * @project core-java-volume-1-fundamentals + * ----- + * Sử dụng để thực hiện so sánh giữa các Object + */ +public interface Comparable { + int compareTo(Object otherObject); +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/ComparableT.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/ComparableT.java new file mode 100644 index 0000000..d4ad97e --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/ComparableT.java @@ -0,0 +1,9 @@ +package com.jindo.core.interfacex; + +/** + * @author ManhKM on 5/25/2022 + * @project core-java-volume-1-fundamentals + */ +public interface ComparableT { + int compareToT(T other); +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/Comparator.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/Comparator.java new file mode 100644 index 0000000..d3e67c7 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/Comparator.java @@ -0,0 +1,9 @@ +package com.jindo.core.interfacex; + +/** + * @author ManhKM on 5/25/2022 + * @project core-java-volume-1-fundamentals + */ +public interface Comparator { + int compare(T first, T second); +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/EmployeeSortTest.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/EmployeeSortTest.java new file mode 100644 index 0000000..ffb7c97 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/EmployeeSortTest.java @@ -0,0 +1,24 @@ +package com.jindo.core.interfacex; + +import com.jindo.core.entity.Employee; + +import java.util.Arrays; + +/** + * @author ManhKM on 5/25/2022 + * @project core-java-volume-1-fundamentals + */ +public class EmployeeSortTest { + public static void main(String[] args) { + Employee[] staff = new Employee[3]; + staff[0] = new Employee("ManhKM", 35000); + staff[1] = new Employee("AAA", 33000); + staff[2] = new Employee("BBBB", 37000); + + Arrays.sort(staff); + + for (Employee e : staff){ + System.out.println("name=" + e.getName() + ", salary=" + e.getSalary()); + } + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/LengthComparator.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/LengthComparator.java new file mode 100644 index 0000000..9631763 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/LengthComparator.java @@ -0,0 +1,14 @@ +package com.jindo.core.interfacex; + +/** + * @author ManhKM on 5/25/2022 + * @project core-java-volume-1-fundamentals + */ +public class LengthComparator implements Comparator, java.util.Comparator { + + @Override + public int compare(String first, String second) { + return first.length() - second.length(); + } + +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/MainLengthComparator.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/MainLengthComparator.java new file mode 100644 index 0000000..870bc34 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/MainLengthComparator.java @@ -0,0 +1,22 @@ +package com.jindo.core.interfacex; + +import java.util.Arrays; + +/** + * @author ManhKM on 5/25/2022 + * @project core-java-volume-1-fundamentals + */ +public class MainLengthComparator { + public static void main(String[] args) { + Comparator comp = new LengthComparator(); + if(comp.compare("ManhKM", "TB") > 0){ + System.out.println("-----> length -----> OK"); + } + + String[] friends = {"Peter", "Paul", "Mary"}; + Arrays.sort(friends, new LengthComparator()); + for (String item: friends) { + System.out.print(item + ", "); + } + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/Named.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/Named.java new file mode 100644 index 0000000..228dd79 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/interfacex/Named.java @@ -0,0 +1,11 @@ +package com.jindo.core.interfacex; + +/** + * @author ManhKM on 5/25/2022 + * @project core-java-volume-1-fundamentals + */ +interface Named { + default String getName(){ + return getClass().getName() + " - " + hashCode(); + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/testfinal/FinalVariable.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/testfinal/FinalVariable.java new file mode 100644 index 0000000..d56456e --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/testfinal/FinalVariable.java @@ -0,0 +1,17 @@ +package com.jindo.core.testfinal; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + */ +public class FinalVariable { + final static String name = "ManhKM"; + + public static void main(String[] args) { + /** + * Cannot assign a value to final variable 'name' + * name = name + " NEO"; + */ + + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/testfinal/finalmethod/BaseClass.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/testfinal/finalmethod/BaseClass.java new file mode 100644 index 0000000..be7450d --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/testfinal/finalmethod/BaseClass.java @@ -0,0 +1,11 @@ +package com.jindo.core.testfinal.finalmethod; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + */ +public class BaseClass { + final public void makeNoise(){ + System.out.println("Make Noise"); + } +} diff --git a/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/testfinal/finalmethod/SubClass.java b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/testfinal/finalmethod/SubClass.java new file mode 100644 index 0000000..4ab7743 --- /dev/null +++ b/Java-Basic/core-java-volume-1-fundamentals/src/com/jindo/core/testfinal/finalmethod/SubClass.java @@ -0,0 +1,17 @@ +package com.jindo.core.testfinal.finalmethod; + +/** + * @author ManhKM on 5/20/2022 + * @project core-java-volume-1-fundamentals + * Cannot inherit from final 'com.jindo.core.testfinal.finalmethod.BaseClass' + */ +public class SubClass extends BaseClass{ + /** + * 'makeNoise()' cannot override 'makeNoise()' in 'com.jindo.core.testfinal.finalmethod.BaseClass'; + * overridden method is final + */ +// @Override + public void makeNoise(String value){ + System.out.println("SubClass MakeNoise"); + } +} diff --git "a/Java-Basic/document/T\303\240i li\341\273\207u Java Basic v1.0.docx" "b/Java-Basic/document/T\303\240i li\341\273\207u Java Basic v1.0.docx" new file mode 100644 index 0000000..5fe5ef4 Binary files /dev/null and "b/Java-Basic/document/T\303\240i li\341\273\207u Java Basic v1.0.docx" differ diff --git "a/Java-Basic/document/~$i li\341\273\207u Java Basic v1.0.docx" "b/Java-Basic/document/~$i li\341\273\207u Java Basic v1.0.docx" new file mode 100644 index 0000000..8590d4f Binary files /dev/null and "b/Java-Basic/document/~$i li\341\273\207u Java Basic v1.0.docx" differ diff --git a/Java-Basic/document/~WRL0423.tmp b/Java-Basic/document/~WRL0423.tmp new file mode 100644 index 0000000..9cdaaba Binary files /dev/null and b/Java-Basic/document/~WRL0423.tmp differ diff --git a/Java-Basic/document/~WRL3580.tmp b/Java-Basic/document/~WRL3580.tmp new file mode 100644 index 0000000..18fd06b Binary files /dev/null and b/Java-Basic/document/~WRL3580.tmp differ diff --git a/Java-Caching/redis-demo/libs/jedis-3.1.0.jar b/Java-Caching/redis-demo/libs/jedis-3.1.0.jar new file mode 100644 index 0000000..3b25493 Binary files /dev/null and b/Java-Caching/redis-demo/libs/jedis-3.1.0.jar differ diff --git a/Java-Caching/redis-demo/libs/log4j-api-2.7.jar b/Java-Caching/redis-demo/libs/log4j-api-2.7.jar new file mode 100644 index 0000000..b921631 Binary files /dev/null and b/Java-Caching/redis-demo/libs/log4j-api-2.7.jar differ diff --git a/Java-Caching/redis-demo/libs/log4j-core-2.7.jar b/Java-Caching/redis-demo/libs/log4j-core-2.7.jar new file mode 100644 index 0000000..c0feb23 Binary files /dev/null and b/Java-Caching/redis-demo/libs/log4j-core-2.7.jar differ diff --git a/Java-Caching/redis-demo/libs/ojdbc8.jar b/Java-Caching/redis-demo/libs/ojdbc8.jar new file mode 100644 index 0000000..bf41243 Binary files /dev/null and b/Java-Caching/redis-demo/libs/ojdbc8.jar differ diff --git a/Java-Caching/redis-demo/src/com/manhkm/redis/Main.java b/Java-Caching/redis-demo/src/com/manhkm/redis/Main.java new file mode 100644 index 0000000..32255bb --- /dev/null +++ b/Java-Caching/redis-demo/src/com/manhkm/redis/Main.java @@ -0,0 +1,30 @@ +package com.manhkm.redis; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import redis.clients.jedis.Jedis; + +/** + * @author ManhKM on 2/15/2022 + * @project redis-demo + */ +public class Main { + static Logger logger = LogManager.getLogger(Main.class); + + public static void main(String[] args) { + Jedis jedis = new Jedis(String[] args); + logger.info("Connected"); + logger.info("PING to server: " + jedis.ping()); + + // Set/Get String value + jedis.set("MY_NAME_2", "Tung Huynh, set from Java Application"); + logger.info("MY_NAME_2's value: " + jedis.get("MY_NAME_2")); + + // Set/Get List value + jedis.lpush("packages", "logging"); + jedis.lpush("packages", "reflect"); + jedis.lpush("packages", "shallowcopy"); + jedis.lpush("packages", "listcollection"); + logger.info("Items of packages: " + jedis.lrange("packages", 0, 4)); + } +} diff --git a/Java-Collection/concurrent-hashmap/readme.md b/Java-Collection/concurrent-hashmap/readme.md new file mode 100644 index 0000000..d0037a7 --- /dev/null +++ b/Java-Collection/concurrent-hashmap/readme.md @@ -0,0 +1,46 @@ + +## ConcurrentHashMap + +### 1. Khi nào thì lên sử dụng ConcurrentHashMap + +|STT|Vấn đề| +|---|---| +|1|Bạn nên sử dụng ConcurrentHashMap khi bạn cần tính đồng bộ trong dự án của bạn| +|2|Thread safe mà không cần đồng bộ hóa toàn bộ map.| +|3|Đọc có thể xảy ra rất nhanh trong khi ghi được thực hiện với một khóa.| +|4|Không có khóa ở cấp độ object.| +|5|ConcurrentHashMap không ném ra một ConcurrentModificationException nếu một luồng cố gắng sửa đổi nó trong khi một luồng khác đang lặp qua nó.| +|6|ConcurrentHashMap sử dụng vô số khóa.| + + +### 2. Vấn đề về SynchronizedHashMap + +|STT|Vấn đề| +|---|---| +|1|Đồng bộ hóa ở mức độ Object.| +|2|Mọi hoạt động đọc / ghi cần phải có khóa.| +|3|Khóa toàn bộ thực thể collection là vấn đề đau đầu về hiệu suất.| +|4|Về cơ bản, điều này cho phép chỉ một luồng truy cập toàn bộ map và chặn tất cả các luồng khác.| +|5|Nó có thể gây ra việc tranh chấp tài nguyên.| +|6|SynchronizedHashMap trả về Iterator, nó có thể thất bại trong việc sửa đổi đồng thời.| + + + +## Bài toán + +Yêu cầu bài toán + +|STT|Yêu cầu| +|---|---| +|1|Tạo class ConcurrentHashMapVsSynchronizedHashMap.java| +|2|Tạo object HashTable, SynchronizedMap và ConcurrentHashMap| +|3|Thêm mới và truy xuất 1 triệu entries với Map| +|4|Đo lường thời gian bắt đầu và kết thúc => milliseconds| +|5|Sử dụng ExecutorService để chạy 10 luồng(threads) song song| + +Qua ví dụ Testing hiệu năng có thể thấy ConcurrentHashMap là có hiệu suất tốt nhất, thời gian sử lý nhất, hoàn thiện các yêu cầu. + + +## Reference document: + +[HashMap, ConcurrentHashMap, SynchronizedMap, Làm thế nào để một Hashmap có thể đồng bộ hóa trong Java](https://viblo.asia/p/hashmap-concurrenthashmap-synchronizedmap-lam-the-nao-mot-hashmap-co-the-duoc-dong-bo-hoa-trong-java-924lJD8zKPM) \ No newline at end of file diff --git a/Java-Collection/concurrent-hashmap/src/com/core/ClientMap.java b/Java-Collection/concurrent-hashmap/src/com/core/ClientMap.java new file mode 100644 index 0000000..e4c6b89 --- /dev/null +++ b/Java-Collection/concurrent-hashmap/src/com/core/ClientMap.java @@ -0,0 +1,28 @@ +package com.core; + +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * @author ManhKM on 9/19/2022 + * @project concurrent-hashmap + */ +public class ClientMap { + + public static void main(String[] args) { + + // Hashtable: + Map normalMap = new Hashtable(); + + // synchronizedMap: + Map synchronizedHashMap = Collections.synchronizedMap(new HashMap()); + + // ConcurrentHashMap: + ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap(); + + } +} diff --git a/Java-Collection/concurrent-hashmap/src/com/core/ConcurrentHashMapVsSynchronizedMap.java b/Java-Collection/concurrent-hashmap/src/com/core/ConcurrentHashMapVsSynchronizedMap.java new file mode 100644 index 0000000..94d2311 --- /dev/null +++ b/Java-Collection/concurrent-hashmap/src/com/core/ConcurrentHashMapVsSynchronizedMap.java @@ -0,0 +1,85 @@ +package com.core; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 9/19/2022 + * @project concurrent-hashmap + * ----- + * Khởi 3 trường hợp liên quan của Map + * + hashTable + * + synchronizedMap + * + concurrentHashMap + */ +public class ConcurrentHashMapVsSynchronizedMap { + public final static int THREAD_POOL_SIZE = 10; + public final static int DATA_SIZE = 1_000_000; + + public static Map hashTable = null; + public static Map synchronizedMap = null; + public static Map concurrentHashMap = null; + + public static void main(String[] args) { + System.out.println("---> Start of test"); + + hashTable = new Hashtable<>(); + performTest(hashTable); + + synchronizedMap = Collections.synchronizedMap(new HashMap<>()); + performTest(synchronizedMap); + + concurrentHashMap = new ConcurrentHashMap<>(); + performTest(concurrentHashMap); + + System.out.println("---> End of test"); + } + + private static void performTest(Map testMap) { + System.out.println("Test started for: " + testMap.getClass()); + long averageTime = 0; + + for(int i = 0; i < 10; i++){ + long startTime = System.nanoTime(); + + ExecutorService executorService = Executors.newFixedThreadPool(THREAD_POOL_SIZE); + + for(int j = 0; j < THREAD_POOL_SIZE; j++){ + executorService.execute(new Runnable() { + @SuppressWarnings("unused") + @Override + public void run() { + for (int k = 0; k < DATA_SIZE; k++){ + Integer randomNumber = (int)Math.ceil(Math.random() + 100000); + Integer value = testMap.get(String.valueOf(randomNumber)); + testMap.put(String.valueOf(randomNumber), randomNumber); + } + } + }); + } + + executorService.shutdown(); + try { + executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS); + } catch (InterruptedException e) { + e.printStackTrace(); + } + long endTime = System.nanoTime(); + long totalTime = (endTime - startTime) / 1000000L; + averageTime += totalTime; + + System.out.println("1M entries added/retrieved in " + totalTime + " ms"); + + + } + + System.out.println("For " + testMap.getClass() + " the average time is " + averageTime / 10 + " ms\n"); + } + +} diff --git a/Java-Collection/concurrent-modification-exception/readme.md b/Java-Collection/concurrent-modification-exception/readme.md new file mode 100644 index 0000000..496aee4 --- /dev/null +++ b/Java-Collection/concurrent-modification-exception/readme.md @@ -0,0 +1,13 @@ + + +## java.util.ConcurrentModificationException + +Java Collection classes - fail-fast + +iterator.next() + + +## Tài liệu tham khảo: + +[1. ConcurrentModificationException](https://www.digitalocean.com/community/tutorials/java-util-concurrentmodificationexception) + diff --git a/Java-Collection/concurrent-modification-exception/src/com/msoft/core/ConcurrentModificationExceptionExample.java b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/ConcurrentModificationExceptionExample.java new file mode 100644 index 0000000..84e23d8 --- /dev/null +++ b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/ConcurrentModificationExceptionExample.java @@ -0,0 +1,40 @@ +package com.msoft.core; + +import java.util.ArrayList; +import java.util.ConcurrentModificationException; +import java.util.Iterator; +import java.util.List; + +/** + * @author ManhKM on 11/25/2022 + * @project concurrent-modification-exception + */ +public class ConcurrentModificationExceptionExample { + + public static void main(String[] args) { + List myList = new ArrayList<>(); + + // Thêm phần tử cho collection: + for (int i = 0; i < 20; i++){ + myList.add(String.valueOf(i)); + } + + // Duyệt Collection và xóa theo điều kiện: + Iterator it = myList.iterator(); + while (it.hasNext()){ + String value = null; + try{ + value = it.next(); + } catch (ConcurrentModificationException e){ + System.out.println(e); + } + System.out.println("List value: " + value); + if (value.equals("3")){ + myList.remove(value); + } + } + + + + } +} diff --git a/Java-Collection/concurrent-modification-exception/src/com/msoft/core/MapExceptionExample.java b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/MapExceptionExample.java new file mode 100644 index 0000000..05ff840 --- /dev/null +++ b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/MapExceptionExample.java @@ -0,0 +1,30 @@ +package com.msoft.core; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +/** + * @author ManhKM on 11/25/2022 + * @project concurrent-modification-exception + */ +public class MapExceptionExample { + + public static void main(String[] args) { + + Map myMap = new HashMap(); + myMap.put("1", "1"); + myMap.put("2", "2"); + myMap.put("3", "3"); + + Iterator it1 = myMap.keySet().iterator(); + while (it1.hasNext()) { + String key = it1.next(); + System.out.println("Map Value:" + myMap.get(key)); + if (key.equals("2")) { + myMap.put("1", "4"); + // myMap.put("4", "4"); + } + } + } +} diff --git a/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationException.java b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationException.java new file mode 100644 index 0000000..0a7e0ee --- /dev/null +++ b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationException.java @@ -0,0 +1,33 @@ +package com.msoft.core.singlethread; + +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import sun.awt.image.ImageWatched.Link; + +/** + * @author ManhKM on 11/25/2022 + * @project concurrent-modification-exception + */ +public class AvoidConcurrentModificationException { + + public static void main(String[] args) { + + List myList = new CopyOnWriteArrayList<>(); +// List myList = new LinkedList<>(); + + for (int i = 1; i <= 5; i++){ + myList.add(String.valueOf(i)); + } + + for (int i = 0; i < myList.size(); i++){ + System.out.println(myList.get(i)); + if (myList.get(i).equals("3")){ + myList.remove(i); + i--; + myList.add("6"); + } + } + } +} diff --git a/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationExceptionArrayListSubList.java b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationExceptionArrayListSubList.java new file mode 100644 index 0000000..b0d0a18 --- /dev/null +++ b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationExceptionArrayListSubList.java @@ -0,0 +1,33 @@ +package com.msoft.core.singlethread; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + +/** + * @author ManhKM on 11/25/2022 + * @project concurrent-modification-exception + */ +public class AvoidConcurrentModificationExceptionArrayListSubList { + + public static void main(String[] args) { +// List names = new ArrayList<>(); + List names = new CopyOnWriteArrayList<>(); + + names.add("Java"); + names.add("PHP"); + names.add("SQL"); + names.add("Angular 12"); + + List first2Names = names.subList(0, 2); + + System.out.println(names + ", " + first2Names); + + names.set(1, "JavaScript"); + + System.out.println(names + ", " + first2Names); + + names.add("NodeJS"); + System.out.println(names + ", " + first2Names); + } +} diff --git a/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationExceptionList.java b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationExceptionList.java new file mode 100644 index 0000000..b2091f7 --- /dev/null +++ b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationExceptionList.java @@ -0,0 +1,35 @@ +package com.msoft.core.singlethread; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; + +/** + * @author ManhKM on 11/25/2022 + * @project concurrent-modification-exception + */ +public class AvoidConcurrentModificationExceptionList { + + public static void main(String[] args) { + List myList = new CopyOnWriteArrayList<>(); + + for (int i = 1; i <= 5; i++){ + myList.add(String.valueOf(i)); + } + + Iterator it = myList.iterator(); + while (it.hasNext()){ + String value = it.next(); + System.out.println("List Value: " + value); + if(value.equals("3")){ + myList.remove("4"); + myList.add("6"); + myList.add("7"); + } + } + + System.out.println("List size: " + myList.size()); + } +} diff --git a/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationExceptionMap.java b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationExceptionMap.java new file mode 100644 index 0000000..641ac1d --- /dev/null +++ b/Java-Collection/concurrent-modification-exception/src/com/msoft/core/singlethread/AvoidConcurrentModificationExceptionMap.java @@ -0,0 +1,32 @@ +package com.msoft.core.singlethread; + +import java.util.Iterator; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * @author ManhKM on 11/25/2022 + * @project concurrent-modification-exception + */ +public class AvoidConcurrentModificationExceptionMap { + + public static void main(String[] args) { + + Map myMap = new ConcurrentHashMap(); + for (int i = 1; i <= 3; i++){ + myMap.put(String.valueOf(i), String.valueOf(i)); + } + + Iterator it1 = myMap.keySet().iterator(); + while (it1.hasNext()){ + String key = it1.next(); + System.out.println("Map Value: " + myMap.get(key)); + if (key.equals("1")){ + myMap.remove("3"); + myMap.put("4", "4"); + myMap.put("5", "5"); + } + } + System.out.println("Map Size: " + myMap.size()); + } +} diff --git a/Java-Collection/java-LinkedBlockingQueue/readme.md b/Java-Collection/java-LinkedBlockingQueue/readme.md new file mode 100644 index 0000000..ab08aa1 --- /dev/null +++ b/Java-Collection/java-LinkedBlockingQueue/readme.md @@ -0,0 +1,4 @@ + +## Tài liệu tham khảo: + +[LinkedBlockingQueue Class in Java](https://www.geeksforgeeks.org/linkedblockingqueue-class-in-java/#:~:text=The%20LinkedBlockingQueue%20is%20an%20optionally,the%20LinkedBlockingQueue%20will%20be%20unbounded.) diff --git a/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueCollection.java b/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueCollection.java new file mode 100644 index 0000000..536d38d --- /dev/null +++ b/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueCollection.java @@ -0,0 +1,30 @@ +package com.core.queue; + +import java.util.Vector; +import java.util.concurrent.LinkedBlockingQueue; + +/** + * @author ManhKM on 11/25/2022 + * @project java-LinkedBlockingQueue + * ----- + * LinkedBlockingQueueCollection + */ +public class LinkedBlockingQueueCollection { + + public static void main(String[] args) { + + Vector vector = new Vector<>(); + + vector.addElement(1); + vector.addElement(2); + vector.addElement(3); + vector.addElement(4); + vector.addElement(5); + vector.addElement(6); + + LinkedBlockingQueue linkedBlockingQueue + = new LinkedBlockingQueue<>(vector); + + System.out.println("LinkedBlockingQueue: " + linkedBlockingQueue); + } +} diff --git a/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueDemo.java b/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueDemo.java new file mode 100644 index 0000000..09e9ab0 --- /dev/null +++ b/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueDemo.java @@ -0,0 +1,22 @@ +package com.core.queue; + +import java.util.concurrent.LinkedBlockingQueue; + +/** + * @author ManhKM on 11/25/2022 + * @project java-LinkedBlockingQueue + */ +public class LinkedBlockingQueueDemo { + + public static void main(String[] args) { + + LinkedBlockingQueue linkedBlockingQueue = new LinkedBlockingQueue<>(); + linkedBlockingQueue.add(1); + linkedBlockingQueue.add(2); + linkedBlockingQueue.add(3); + linkedBlockingQueue.add(4); + linkedBlockingQueue.add(5); + + System.out.println("LinkedBlockingQueue: " + linkedBlockingQueue); + } +} diff --git a/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueDemoWithCapacity.java b/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueDemoWithCapacity.java new file mode 100644 index 0000000..185d000 --- /dev/null +++ b/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueDemoWithCapacity.java @@ -0,0 +1,24 @@ +package com.core.queue; + +import java.util.concurrent.LinkedBlockingQueue; + +/** + * @author ManhKM on 11/25/2022 + * @project java-LinkedBlockingQueue + */ +public class LinkedBlockingQueueDemoWithCapacity { + + public static void main(String[] args) { + int capacity = 15; + LinkedBlockingQueue linkedBlockingQueue = new LinkedBlockingQueue<>(capacity); + + // Add value: + for (int i = 0; i < 15; i++){ + linkedBlockingQueue.add(i); + } + + // print queue: + System.out.println("LinkedBlockingQueue: " + linkedBlockingQueue); + } + +} diff --git a/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueObject.java b/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueObject.java new file mode 100644 index 0000000..aa148e2 --- /dev/null +++ b/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/LinkedBlockingQueueObject.java @@ -0,0 +1,26 @@ +package com.core.queue; + +import com.core.queue.entity.Employee; +import java.util.concurrent.LinkedBlockingQueue; + +/** + * @author ManhKM on 11/25/2022 + * @project java-LinkedBlockingQueue + */ +public class LinkedBlockingQueueObject { + + public static void main(String[] args) { + + int capacity = 100; + + LinkedBlockingQueue linkedBlockingQueue + = new LinkedBlockingQueue<>(capacity); + + for (int i = 0; i < capacity; i++){ + Employee employee = new Employee(i, "Name-" + i, "Address-" + i, i); + linkedBlockingQueue.add(employee); + } + + System.out.println(linkedBlockingQueue); + } +} diff --git a/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/entity/Employee.java b/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/entity/Employee.java new file mode 100644 index 0000000..6e384f1 --- /dev/null +++ b/Java-Collection/java-LinkedBlockingQueue/src/com/core/queue/entity/Employee.java @@ -0,0 +1,65 @@ +package com.core.queue.entity; + +/** + * @author ManhKM on 11/25/2022 + * @project java-LinkedBlockingQueue + */ +public class Employee { + + private int id; + private String name; + private String address; + private int age; + + public Employee() { + } + + public Employee(int id, String name, String address, int age) { + this.id = id; + this.name = name; + this.address = address; + this.age = age; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + @Override + public String toString() { + return "Employee{" + + "id=" + id + + ", name='" + name + '\'' + + ", address='" + address + '\'' + + ", age=" + age + + '}'; + } +} diff --git a/Java-Collection/java-collection-codejavanet-v1.0.txt b/Java-Collection/java-collection-codejavanet-v1.0.txt new file mode 100644 index 0000000..08ddfa6 --- /dev/null +++ b/Java-Collection/java-collection-codejavanet-v1.0.txt @@ -0,0 +1,71 @@ +Java Collections and Generics Tutorials +Written by Nam Ha Minh +Last Updated on 11 November 2019 | Print Email + +https://www.codejava.net/java-core/collections/what-is-java-collections-framework + + + +Java Collections framework provides a set of reusable data structures and algorithms that make programmer's jobs easier. + +Getting started with Java Collections & Generics for beginners: +What is Java Collections Framework? +Java Collections Framework summary table +What are Generics in Java +How to write generic classes and methods in Java + +Java List Tutorials: +Java List Collection Tutorial and Examples +Sorting List Collections Examples +Sorting a list by multiple attributes example +Java Collections Utility Examples for Changing Order and Content of a List + +Java Set Tutorials: +Java Set Collection Tutorial and Examples +Java SortedSet and TreeSet Tutorial and Examples +Java NavigableSet and TreeSet Tutorial and Examples + +Java Map Tutorials: +Java Map Collection Tutorial and Examples +Java NavigableMap and TreeMap Tutorial and Examples +Java SortedMap and TreeMap Tutorial and Examples + +Java Queue Tutorials: +Java Queue Collection Tutorial and Examples +Java Producer - Consumer Examples Using BlockingQueue + +Java Arrays Tutorials: +Comparing Arrays in Java Examples +Copying and Filling Arrays in Java +Java Arrays Utility Class Examples for List view, Sorting and Searching +Sorting Arrays Examples (with Comparable and Comparator) + +Java Collection Iteration Tutorials: +Java Collections Looping Example +Using Java Lambda expressions for collections internal iteration +The 4 Methods for Iterating Collections in Java + +Java Streams Tutorials: +Understanding Java Stream API +Java Stream Aggregate Functions Examples (Intermediate Operations) +Java Stream Terminal Operations Examples + + + +Advanced Java Collections Tutorials: +Understanding equals() and hashCode() in Java +Understanding Object Ordering in Java with Comparable and Comparator +Understanding Collections and Thread Safety in Java +18 Java Collections and Generics Best Practices + +Advanced Java Generics Tutorials: +Generics with extends and super Wildcards and the Get and Put Principle +Generics with Subtyping and the Substitution Principle + +Miscellaneous Java Collection Tutorials: +Java Collections Factory Method Examples +Java Collections Wrapper Methods Examples +Java Collections Utility Examples for Searching in a Collection + +References: +Trail: Collections from The Java Tutorials (Oracle) \ No newline at end of file diff --git a/Java-Collection/java-collection/collection/.gitignore b/Java-Collection/java-collection/collection/.gitignore new file mode 100644 index 0000000..b2f18b2 --- /dev/null +++ b/Java-Collection/java-collection/collection/.gitignore @@ -0,0 +1,45 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/** +!**/src/test/** + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ + +### VS Code ### +.vscode/ + +# Compiled class file +*.class +**/target/ +design/ +uml/ +api/file_upload/ +api/file_impact_data/ +api/tmp/ + + +# Log file +*.log +*.log.gz \ No newline at end of file diff --git a/Java-Collection/java-collection/collection/pom.xml b/Java-Collection/java-collection/collection/pom.xml new file mode 100644 index 0000000..0b395df --- /dev/null +++ b/Java-Collection/java-collection/collection/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + + org.example + collection + 1.0 + + + 8 + 8 + + + + + log4j + log4j + 1.2.17 + + + + \ No newline at end of file diff --git a/Java-Collection/java-collection/collection/src/main/java/com/collectiondemo/MainArrayListVsLinkedListPerformance.java b/Java-Collection/java-collection/collection/src/main/java/com/collectiondemo/MainArrayListVsLinkedListPerformance.java new file mode 100644 index 0000000..ffdfd87 --- /dev/null +++ b/Java-Collection/java-collection/collection/src/main/java/com/collectiondemo/MainArrayListVsLinkedListPerformance.java @@ -0,0 +1,89 @@ +package com.collectiondemo; + +import org.apache.log4j.Logger; + +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; + +/** + * logger.info() --> System.out.println() + * @author ManhKM on 2/14/2022 + * @project Java-Collection + */ +public class MainArrayListVsLinkedListPerformance { + static Logger logger = Logger.getLogger(MainArrayListVsLinkedListPerformance.class); + static int n = 100000; + public static void main(String[] args) { + arrayListVsLinkedList(); + } + + private static void arrayListVsLinkedList() { + Integer[] array = new Integer[n]; + List arrayList = new ArrayList(); + List linkedList = new LinkedList(); + + System.out.println("==== Add ===="); + long start = System.nanoTime(); + for (int i = 0; i < n; i++) { + array[i] = i; + } + System.out.println("Array : " + (System.nanoTime() - start)/1000000.0 + " ms"); + + start = System.nanoTime(); + for (int i = 0; i < n; i++) { + arrayList.add(i); + } + System.out.println("ArrayList : " + (System.nanoTime() - start)/1000000.0 + " ms"); + + start = System.nanoTime(); + for (int i = 0; i < n; i++) { + linkedList.add(i); + } + System.out.println("LinkedList: " + (System.nanoTime() - start)/1000000.0 + " ms"); + + System.out.println("==== Get ===="); + start = System.nanoTime(); + for (int i = 0; i < n; i++) { + Integer x = array[i]; + } + System.out.println("Array loop index : " + (System.nanoTime() - start)/1000000.0 + " ms"); + + start = System.nanoTime(); + for (int i = 0; i < n; i++) { + arrayList.get(i); + } + System.out.println("ArrayList loop index : " + (System.nanoTime() - start)/1000000.0 + " ms"); + + start = System.nanoTime(); + for (int i = 0; i < n; i++) { + linkedList.get(i); + } + System.out.println("LinkedList loop index : " + (System.nanoTime() - start)/1000000.0 + " ms"); + + start = System.nanoTime(); + for (Object item : arrayList) { + Object x = item; + } + System.out.println("ArrayList loop interator : " + (System.nanoTime() - start)/1000000.0 + " ms"); + + start = System.nanoTime(); + for (Object item : linkedList) { + Object x = item; + } + System.out.println("LinkedList loop interator: " + (System.nanoTime() - start)/1000000.0 + " ms"); + + System.out.println("==== Remove ===="); + start = System.nanoTime(); + for (int i = 9999; i >=0; i--) { + arrayList.remove(i); + } + System.out.println("ArrayList : " + (System.nanoTime() - start)/1000000.0 + " ms"); + + start = System.nanoTime(); + for (int i = 9999; i >=0; i--) { + linkedList.remove(i); + } + System.out.println("LinkedList: " + (System.nanoTime() - start)/1000000.0 + " ms"); + } +} diff --git a/Java-Collection/java-collection/collection/src/main/java/com/collectiondemo/MainArrayListVsVectorPerformance.java b/Java-Collection/java-collection/collection/src/main/java/com/collectiondemo/MainArrayListVsVectorPerformance.java new file mode 100644 index 0000000..925695d --- /dev/null +++ b/Java-Collection/java-collection/collection/src/main/java/com/collectiondemo/MainArrayListVsVectorPerformance.java @@ -0,0 +1,48 @@ +package com.collectiondemo; + +import org.apache.log4j.Logger; + +import java.util.ArrayList; +import java.util.List; +import java.util.Vector; + +/** + * @author ManhKM on 2/14/2022 + * @project Java-Collection + */ +public class MainArrayListVsVectorPerformance { + static Logger logger = Logger.getLogger(MainArrayListVsVectorPerformance.class); + static int n = 100000; + public static void main(String[] args) { + arrayListVsVectorSingle(); + } + public static void arrayListVsVectorSingle(){ + List arrayList = new ArrayList(); + Vector vector = new Vector(); + System.out.println("==== Add ===="); + long start = System.nanoTime(); + for (int i = 0; i < n; i++) { + arrayList.add(i); + } + System.out.println("ArrayList: " + (System.nanoTime() - start)/1000000.0 + " ms"); + + start = System.nanoTime(); + for (int i = 0; i < n; i++) { + vector.add(i); + } + System.out.println("Vector : " + (System.nanoTime() - start)/1000000.0 + " ms"); + + System.out.println("==== Get ===="); + start = System.nanoTime(); + for (int i = 0; i < n; i++) { + arrayList.get(i); + } + System.out.println("ArrayList: " + (System.nanoTime() - start)/1000000.0 + " ms"); + + start = System.nanoTime(); + for (int i = 0; i < n; i++) { + vector.get(i); + } + System.out.println("Vector : " + (System.nanoTime() - start)/1000000.0 + " ms"); + } +} diff --git a/Java-Collection/java-collection/collection/src/main/java/com/multithread/MultiThread.java b/Java-Collection/java-collection/collection/src/main/java/com/multithread/MultiThread.java new file mode 100644 index 0000000..54afa5a --- /dev/null +++ b/Java-Collection/java-collection/collection/src/main/java/com/multithread/MultiThread.java @@ -0,0 +1,65 @@ +package com.multithread; + +import org.apache.log4j.Logger; + +import java.util.ArrayList; +import java.util.List; +import java.util.Vector; +import java.util.concurrent.Executors; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 2/14/2022 + * @project Java-Collection + */ +public class MultiThread { + static Logger logger = Logger.getLogger(MultiThread.class); + + public static void main(String[] args) { + List arrayList = new ArrayList(); + List vector = new Vector(); + + ThreadPoolExecutor executorService = (ThreadPoolExecutor) Executors.newFixedThreadPool(10); + for (int i = 0; i < 10; i++) { + executorService.execute(new CalRunnable(arrayList)); + } + shutdownAndAwaitTermination(executorService); + System.out.println("ArrayList: " + CalRunnable.time/1000000.0 + " ms"); + + executorService = (ThreadPoolExecutor) Executors.newFixedThreadPool(10); + CalRunnable.time = 0; + for (int i = 0; i < 10; i++) { + executorService.execute(new CalRunnable(vector)); + } + shutdownAndAwaitTermination(executorService); + System.out.println("Vector : " + CalRunnable.time/1000000.0 + " ms"); + } + + static void shutdownAndAwaitTermination(ThreadPoolExecutor pool) { + pool.shutdown(); + try { + if (!pool.awaitTermination(60, TimeUnit.SECONDS)) { + pool.shutdownNow(); + if (!pool.awaitTermination(60, TimeUnit.SECONDS)) + System.err.println("Pool did not terminate"); + } + } catch (Exception e) { + } + } +} +class CalRunnable implements Runnable { + static long time = 0; + List lst; + public CalRunnable(List lst){ + this.lst = lst; + } + @Override + public void run() { + long time = System.nanoTime(); + for (int i = 0; i < 100000; i++) { + lst.add(i); + } + CalRunnable.time += (System.nanoTime() - time); + } +} \ No newline at end of file diff --git a/Java-Collection/java-collection/complex-collection/src/com/complex/collection/TestComplexCollection.java b/Java-Collection/java-collection/complex-collection/src/com/complex/collection/TestComplexCollection.java new file mode 100644 index 0000000..115fd0b --- /dev/null +++ b/Java-Collection/java-collection/complex-collection/src/com/complex/collection/TestComplexCollection.java @@ -0,0 +1,16 @@ +package com.complex.collection; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Collection + */ +public class TestComplexCollection { + public static void main(String[] args) { + List> result = new ArrayList<>(); + + } +} diff --git a/Java-Collection/java-collection/for-each/readme.md b/Java-Collection/java-collection/for-each/readme.md new file mode 100644 index 0000000..4c54e91 --- /dev/null +++ b/Java-Collection/java-collection/for-each/readme.md @@ -0,0 +1,11 @@ +### ForEach + + Default Method -> Interable và Stream + + Collection extend Interface Iterable -> forEach() + +###1. Ví dụ sử dụng ForEach với Map + +###2. Sử dụng ForEach với List + +###3. Sử dụng ForEachOrdered() + + diff --git a/Java-Collection/java-collection/for-each/src/core/forEach/ForEachListExample.java b/Java-Collection/java-collection/for-each/src/core/forEach/ForEachListExample.java new file mode 100644 index 0000000..07c3977 --- /dev/null +++ b/Java-Collection/java-collection/for-each/src/core/forEach/ForEachListExample.java @@ -0,0 +1,20 @@ +package core.forEach; + +import java.util.Arrays; +import java.util.List; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Collection + */ +public class ForEachListExample { + public static void main(String[] args) { + List languages = Arrays.asList("Java","JavaScript","PHP"); + + System.out.println("Iterating by passing lambda Expression: "); + languages.forEach(lang -> System.out.println(lang)); + + System.out.println("Iterating by passing method reference: "); + languages.forEach(System.out::println); + } +} diff --git a/Java-Collection/java-collection/for-each/src/core/forEach/ForEachMapExample.java b/Java-Collection/java-collection/for-each/src/core/forEach/ForEachMapExample.java new file mode 100644 index 0000000..ab96143 --- /dev/null +++ b/Java-Collection/java-collection/for-each/src/core/forEach/ForEachMapExample.java @@ -0,0 +1,27 @@ +package core.forEach; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Collection + */ +public class ForEachMapExample { + public static void main(String[] args){ + Map hmap = new HashMap(); + hmap.put(1, "Java"); + hmap.put(2, "JavaScript"); + hmap.put(3, "PHP"); + hmap.put(4, "C#"); + hmap.put(5, "C++"); + + /** + * ForEach to iterate and display each key + * and value pair of HashMap + */ + hmap.forEach( + (key, value) -> System.out.println(key + " - " + value) + ); + } +} diff --git a/Java-Collection/java-collection/for-each/src/core/forEach/ForEachOrderedExample.java b/Java-Collection/java-collection/for-each/src/core/forEach/ForEachOrderedExample.java new file mode 100644 index 0000000..a298e90 --- /dev/null +++ b/Java-Collection/java-collection/for-each/src/core/forEach/ForEachOrderedExample.java @@ -0,0 +1,20 @@ +package core.forEach; + +import java.util.Arrays; +import java.util.List; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Collection + */ +public class ForEachOrderedExample { + public static void main(String[] args) { + List languages = Arrays.asList("Java","JavaScript","PHP"); + + System.out.println("Iterating by passing lambda expression: "); + languages.stream().forEachOrdered(lang -> System.out.println(lang)); + + System.out.println("Iterating by passing method reference: "); + languages.stream().forEachOrdered(System.out::println); + } +} diff --git a/Java-Collection/java-collection/img/a-list-collection.png b/Java-Collection/java-collection/img/a-list-collection.png new file mode 100644 index 0000000..591f474 Binary files /dev/null and b/Java-Collection/java-collection/img/a-list-collection.png differ diff --git a/Java-Collection/java-collection/img/interface-list.png b/Java-Collection/java-collection/img/interface-list.png new file mode 100644 index 0000000..6052dfe Binary files /dev/null and b/Java-Collection/java-collection/img/interface-list.png differ diff --git a/Java-Collection/java-collection/img/relation-collection-java.png b/Java-Collection/java-collection/img/relation-collection-java.png new file mode 100644 index 0000000..0ebdc86 Binary files /dev/null and b/Java-Collection/java-collection/img/relation-collection-java.png differ diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/changing/readme.md b/Java-Collection/java-collection/java-list-tutorial/src/com/core/changing/readme.md new file mode 100644 index 0000000..49184f6 --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/changing/readme.md @@ -0,0 +1,41 @@ + +# Content + +## 1. Changing the order of list elements + +## Reverse element in a List: Đảo ngược lại chuỗi + + +## Rotate element in a List: Xoay các phần từ + + +## Permute element in a List: Hoán vị các vị trí phần tử + + +## Sort element in a list: Sắp xếp các phần từ trong List + + +## Swap element in a list: Đảo vị trí các phần tử trong List + + + + + +## 2. Changing the content of List + + +### Copy element from one list to another list + + +### Replace all elements in list with specified element + + +### Replace all occurrence of an element with anther + + +### + + +## Reference document: + +[Java Collections Utility Example for Changing Order and Content of a List](https://www.codejava.net/java-core/collections/java-collections-utility-examples-for-changing-order-and-content-of-a-list) \ No newline at end of file diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/Employee.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/Employee.java new file mode 100644 index 0000000..607c2fe --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/Employee.java @@ -0,0 +1,66 @@ +package com.core.sort; + +/** + * @author ManhKM on 8/25/2022 + * @project java-collection + */ +public class Employee implements Comparable{ + private String name; + private int age; + private int salary; + + public Employee(String name, int age, int salary){ + this.name = name; + this.age = age; + this.salary = salary; + } + + public Employee() { + + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public int getSalary() { + return salary; + } + + public void setSalary(int salary) { + this.salary = salary; + } + + @Override + public String toString() { + return "Employee{" + + "name='" + name + '\'' + + ", age=" + age + + ", salary=" + salary + + '}'; + } + + /** + * So sánh với trường giá trị của salary. + * nếu thay bằng giá trị nào khác thì chỉ cần compare giá trị đó với nhau là được + * @param o + * @return + */ + @Override + public int compareTo(Employee o) { + int result = o.salary - this.salary; + return result; + } +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListEmployee.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListEmployee.java new file mode 100644 index 0000000..d54f8ca --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListEmployee.java @@ -0,0 +1,36 @@ +package com.core.sort; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author ManhKM on 8/25/2022 + * @project java-collection + */ +public class SortingListEmployee { + + public static void main(String[] args) { + List employeeList = new ArrayList(); + + employeeList.add(new Employee("ManhKM", 18, 9000)); + employeeList.add(new Employee("ManhKM1", 15, 9001)); + employeeList.add(new Employee("ManhKM2", 18, 9002)); + employeeList.add(new Employee("ManhKM3", 16, 9003)); + employeeList.add(new Employee("ManhKM4", 12, 9004)); + + System.out.println("ListData Before Sorting: "); + + for (Employee item: employeeList) { + System.out.println(item.toString()); + } + + Collections.sort(employeeList); + + System.out.println("ListData After Sorting: "); + + for (Employee item: employeeList) { + System.out.println(item.toString()); + } + } +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListOfDate.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListOfDate.java new file mode 100644 index 0000000..d9d0266 --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListOfDate.java @@ -0,0 +1,38 @@ +package com.core.sort; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * @author ManhKM on 8/24/2022 + * @project java-collection + */ +public class SortingListOfDate { + + public static void main(String[] args) { + List listDates = new ArrayList<>(); + + DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + + try { + listDates.add(dateFormat.parse("1996-04-30")); + listDates.add(dateFormat.parse("1993-04-30")); + listDates.add(dateFormat.parse("1995-04-30")); + listDates.add(dateFormat.parse("1996-04-20")); + } catch (ParseException e) { + e.printStackTrace(); + } + + System.out.println("Before sorting: " + listDates); + + Collections.sort(listDates); + + System.out.println("After sorting: " + listDates); + } +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListOfInteger.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListOfInteger.java new file mode 100644 index 0000000..1eb490e --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListOfInteger.java @@ -0,0 +1,28 @@ +package com.core.sort; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * @author ManhKM on 8/25/2022 + * @project java-collection + */ +public class SortingListOfInteger { + + public static void main(String[] args) { + List integerList = Arrays.asList(1,2,3,4,5,6,4,5,6,7,8,5,9); + + System.out.println("Before sorting: " + integerList); + + Collections.sort(integerList); + + System.out.println("After sorting: " + integerList); + + Collections.reverse(integerList); + + System.out.println("After reversing: " + integerList); + + } + +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListOfString.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListOfString.java new file mode 100644 index 0000000..fc6c869 --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListOfString.java @@ -0,0 +1,22 @@ +package com.core.sort; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * @author ManhKM on 8/24/2022 + * @project java-collection + */ +public class SortingListOfString { + + public static void main(String[] args) { + List listStrings = Arrays.asList("Khong", "Minh", "Manh", "Hà Nội", "Thái Bình", "A", "W"); + + System.out.println("Before sorting: " + listStrings); + + Collections.sort(listStrings); + + System.out.println("After sorting: " + listStrings); + } +} \ No newline at end of file diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListStudent.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListStudent.java new file mode 100644 index 0000000..56e0ce2 --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingListStudent.java @@ -0,0 +1,31 @@ +package com.core.sort; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author ManhKM on 8/25/2022 + * @project java-collection + */ +public class SortingListStudent { + + public static void main(String[] args){ + List studentList = new ArrayList<>(); + + studentList.add(new Student("Hoa", 11, 100)); + studentList.add(new Student("Manh", 12, 100)); + studentList.add(new Student("Yen", 19, 100)); + studentList.add(new Student("Duong", 21, 100)); + studentList.add(new Student("Hau", 10, 100)); + + System.out.println("Before sorting: " + studentList); + + Collections.sort(studentList, new StudentAgeComparator()); + + System.out.println("After sorting: " + studentList); + + + } + +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingMultipleAttributeExample.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingMultipleAttributeExample.java new file mode 100644 index 0000000..566bd42 --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/SortingMultipleAttributeExample.java @@ -0,0 +1,49 @@ +package com.core.sort; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author ManhKM on 8/25/2022 + * @project java-collection + */ +public class SortingMultipleAttributeExample { + + public static void main(String[] args) { + System.out.println("========== SORTING BY MULTIPLE ATTRIBUTES ========="); + + List studentList = new ArrayList<>(); + + studentList.add(new Student("Tom", "School1", 11, 100)); + studentList.add(new Student("Sam", "School4", 15, 100)); + studentList.add(new Student("Peter", "School4", 11, 100)); + studentList.add(new Student("Tim", "School5", 11, 100)); + studentList.add(new Student("Anne", "School1", 11, 100)); + studentList.add(new Student("John", "School1", 11, 100)); + studentList.add(new Student("Bill", "School1", 11, 100)); + studentList.add(new Student("Jane", "School1", 11, 100)); + studentList.add(new Student("Alice", "School1", 11, 100)); + studentList.add(new Student("David", "School1", 11, 100)); + studentList.add(new Student("Jane", "School1", 11, 100)); + studentList.add(new Student("Antony", "School1", 11, 100)); + studentList.add(new Student("JKen", "School1", 11, 100)); + studentList.add(new Student("Black", "School1", 11, 100)); + + System.out.println("***** Before Sorting *****"); + for (Student item: studentList) { + System.out.println(item); + } + + Collections.sort(studentList, new StudentChainedComparator( + new StudentAgeComparator(), + new StudentSalaryComparator(), + new StudentSchoolComparator())); + + System.out.println("***** After Sorting *****"); + for (Student item: studentList) { + System.out.println(item); + } + } + +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/Student.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/Student.java new file mode 100644 index 0000000..17c9f65 --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/Student.java @@ -0,0 +1,37 @@ +package com.core.sort; + +/** + * @author ManhKM on 8/25/2022 + * @project java-collection + */ +public class Student extends Employee{ + + private String schoolName; + + public Student(String name, int age, int salary) { + super(name, age, salary); + } + + public Student(String name, String schoolName, int age, int salary){ + super(name, age, salary); + this.schoolName = schoolName; + } + + public String getSchoolName() { + return schoolName; + } + + public void setSchoolName(String schoolName) { + this.schoolName = schoolName; + } + + @Override + public String toString() { + return "Student{" + + "schoolName='" + this.schoolName + '\'' + + " name="+ super.getName() + + " age="+ super.getAge() + + " salary="+ super.getSalary() + + '}'; + } +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentAgeComparator.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentAgeComparator.java new file mode 100644 index 0000000..7e86cd2 --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentAgeComparator.java @@ -0,0 +1,16 @@ +package com.core.sort; + +import java.util.Comparator; + +/** + * @author ManhKM on 8/25/2022 + * @project java-collection + */ +public class StudentAgeComparator implements Comparator { + + @Override + public int compare(Student o1, Student o2) { + int result = o1.getAge() - o2.getAge(); + return result; + } +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentChainedComparator.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentChainedComparator.java new file mode 100644 index 0000000..cd36fa9 --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentChainedComparator.java @@ -0,0 +1,29 @@ +package com.core.sort; + +import java.util.Arrays; +import java.util.Comparator; +import java.util.List; + +/** + * @author ManhKM on 8/25/2022 + * @project java-collection + */ +public class StudentChainedComparator implements Comparator { + + private List> listComparator; + + public StudentChainedComparator(Comparator... comparators) { + this.listComparator = Arrays.asList(comparators); + } + + @Override + public int compare(Student o1, Student o2) { + for(Comparator comparator : listComparator){ + int result = comparator.compare(o1, o2); + if(result != 0){ + return result; + } + } + return 0; + } +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentSalaryComparator.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentSalaryComparator.java new file mode 100644 index 0000000..c6f133d --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentSalaryComparator.java @@ -0,0 +1,15 @@ +package com.core.sort; + +import java.util.Comparator; + +/** + * @author ManhKM on 8/25/2022 + * @project java-collection + */ +public class StudentSalaryComparator implements Comparator { + + @Override + public int compare(Student o1, Student o2) { + return o1.getSalary() - o2.getSalary(); + } +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentSchoolComparator.java b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentSchoolComparator.java new file mode 100644 index 0000000..a50685e --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/StudentSchoolComparator.java @@ -0,0 +1,15 @@ +package com.core.sort; + +import java.util.Comparator; + +/** + * @author ManhKM on 8/25/2022 + * @project java-collection + */ +public class StudentSchoolComparator implements Comparator { + + @Override + public int compare(Student o1, Student o2) { + return o1.getSchoolName().compareTo(o2.getSchoolName()); + } +} diff --git a/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/readme.md b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/readme.md new file mode 100644 index 0000000..de033db --- /dev/null +++ b/Java-Collection/java-collection/java-list-tutorial/src/com/core/sort/readme.md @@ -0,0 +1,2 @@ +# Reversing Sort Order + diff --git a/Java-Collection/out/production/Java-Collection/com/listdemo/ListDemo.class b/Java-Collection/java-collection/out/production/Java-Collection/com/listdemo/ListDemo.class similarity index 100% rename from Java-Collection/out/production/Java-Collection/com/listdemo/ListDemo.class rename to Java-Collection/java-collection/out/production/Java-Collection/com/listdemo/ListDemo.class diff --git a/Java-Collection/out/production/Java-Collection/com/listdemo/listmap/ListMapDemo.class b/Java-Collection/java-collection/out/production/Java-Collection/com/listdemo/listmap/ListMapDemo.class similarity index 100% rename from Java-Collection/out/production/Java-Collection/com/listdemo/listmap/ListMapDemo.class rename to Java-Collection/java-collection/out/production/Java-Collection/com/listdemo/listmap/ListMapDemo.class diff --git a/Java-Collection/out/production/Java-Collection/com/mapdemo/MapDemo.class b/Java-Collection/java-collection/out/production/Java-Collection/com/mapdemo/MapDemo.class similarity index 100% rename from Java-Collection/out/production/Java-Collection/com/mapdemo/MapDemo.class rename to Java-Collection/java-collection/out/production/Java-Collection/com/mapdemo/MapDemo.class diff --git a/Java-Collection/java-collection/out/production/for-each/core/forEach/ForEachListExample.class b/Java-Collection/java-collection/out/production/for-each/core/forEach/ForEachListExample.class new file mode 100644 index 0000000..4731bdb Binary files /dev/null and b/Java-Collection/java-collection/out/production/for-each/core/forEach/ForEachListExample.class differ diff --git a/Java-Collection/java-collection/out/production/for-each/core/forEach/ForEachMapExample.class b/Java-Collection/java-collection/out/production/for-each/core/forEach/ForEachMapExample.class new file mode 100644 index 0000000..91b588e Binary files /dev/null and b/Java-Collection/java-collection/out/production/for-each/core/forEach/ForEachMapExample.class differ diff --git a/Java-Collection/java-collection/out/production/for-each/core/forEach/ForEachOrderedExample.class b/Java-Collection/java-collection/out/production/for-each/core/forEach/ForEachOrderedExample.class new file mode 100644 index 0000000..ebfe4ea Binary files /dev/null and b/Java-Collection/java-collection/out/production/for-each/core/forEach/ForEachOrderedExample.class differ diff --git a/Java-Collection/java-collection/out/production/java-list-tutorial/com/core/sort/readme.md b/Java-Collection/java-collection/out/production/java-list-tutorial/com/core/sort/readme.md new file mode 100644 index 0000000..de033db --- /dev/null +++ b/Java-Collection/java-collection/out/production/java-list-tutorial/com/core/sort/readme.md @@ -0,0 +1,2 @@ +# Reversing Sort Order + diff --git a/Java-Collection/java-collection/out/production/queue-demo/com/queue/demo/BlockingQueueDemo.class b/Java-Collection/java-collection/out/production/queue-demo/com/queue/demo/BlockingQueueDemo.class new file mode 100644 index 0000000..6ad55f5 Binary files /dev/null and b/Java-Collection/java-collection/out/production/queue-demo/com/queue/demo/BlockingQueueDemo.class differ diff --git a/Java-Collection/java-collection/out/production/stream-api/com/core/stream/convert/ConvertToStreamExample.class b/Java-Collection/java-collection/out/production/stream-api/com/core/stream/convert/ConvertToStreamExample.class new file mode 100644 index 0000000..6649ffb Binary files /dev/null and b/Java-Collection/java-collection/out/production/stream-api/com/core/stream/convert/ConvertToStreamExample.class differ diff --git a/Java-Collection/java-collection/out/production/stream-api/com/core/stream/intro/PrimitiveStreamExample.class b/Java-Collection/java-collection/out/production/stream-api/com/core/stream/intro/PrimitiveStreamExample.class new file mode 100644 index 0000000..80188d8 Binary files /dev/null and b/Java-Collection/java-collection/out/production/stream-api/com/core/stream/intro/PrimitiveStreamExample.class differ diff --git a/Java-Collection/java-collection/out/production/stream-api/com/core/stream/intro/StreamExample.class b/Java-Collection/java-collection/out/production/stream-api/com/core/stream/intro/StreamExample.class new file mode 100644 index 0000000..761f150 Binary files /dev/null and b/Java-Collection/java-collection/out/production/stream-api/com/core/stream/intro/StreamExample.class differ diff --git a/Java-Collection/java-collection/out/production/stream-api/com/core/stream/intro/StreamMain.class b/Java-Collection/java-collection/out/production/stream-api/com/core/stream/intro/StreamMain.class new file mode 100644 index 0000000..d14f4f8 Binary files /dev/null and b/Java-Collection/java-collection/out/production/stream-api/com/core/stream/intro/StreamMain.class differ diff --git a/Java-Collection/java-collection/queue-demo/src/com/queue/demo/BlockingQueueDemo.java b/Java-Collection/java-collection/queue-demo/src/com/queue/demo/BlockingQueueDemo.java new file mode 100644 index 0000000..540a0ce --- /dev/null +++ b/Java-Collection/java-collection/queue-demo/src/com/queue/demo/BlockingQueueDemo.java @@ -0,0 +1,53 @@ +package com.queue.demo; + +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Collection + */ +public class BlockingQueueDemo { + public static void main(String[] args) { + + // ArrayBlockingQueue + BlockingQueue animal1 = new ArrayBlockingQueue<>(10); + + // LinkedBlockingQueue + BlockingQueue animal2 = new LinkedBlockingQueue<>(); + + + // add() -> chèn một phần tử vao BlockingQueue ở cuối queue + // FIFO + animal1.add("Chó"); + animal1.add("Mèo"); + animal1.add("Gà"); + animal1.add("Heo"); + + // element() -> trả về phần từ ở đầu của Queue. + System.out.println(animal1.element()); + + // remove() -> loại bỏ một phần tử khỏi BlockingQueue + animal1.remove(); + System.out.println("After remove: " + animal1); + + // offer() -> chèn phần từ được chỉ địn vào BlockingQueue ở cuối + animal1.offer("Dragon"); + System.out.println("After Offer: " + animal1); + + // peek() -> trả về phần từ đầu của BlockingQuee + System.out.println("method peek(): " + animal1.peek()); + + // poll() -> loại bỏ một phần tử khỏi BlockingQueue: + animal1.poll(); + System.out.println("After poll(): " + animal1); + + // offer() - poll() + // Chèn theo khoảng thời gian + + //put() + //take() + + } +} diff --git a/Java-Collection/java-collection/readme.md b/Java-Collection/java-collection/readme.md new file mode 100644 index 0000000..7326b13 --- /dev/null +++ b/Java-Collection/java-collection/readme.md @@ -0,0 +1,89 @@ +# Java-Collection + + +## 1. Overview of List Collection + +![img.png](img/a-list-collection.png) + + +![interface-list](img/interface-list.png) + + +![relation-collection](img/relation-collection-java.png) + + +## 2. Creating a new List + + + +## 3. Basic List Operations: adding, retrieving, updating, removing elements. + +add(Object) + +add(index, Object) + +addAll() + +remove(Object) + +clear() + + + +## 4. Iterating over elements in a List + +Loop - forEach + +Using Iterator + +forEach + Lambda + + +## 5. Searching for an element in a List + +contains + +indexOf + +lastIndexOf + + +## 6. Sorting a List + +implement Interface compareTo() + + +## 7. Copying Elements from one list into another + + + +## 8. Shuffling elements in a list + + + +## 9. Reversing elements in a List + + + +## 10. Extracting a portion of a List + + + +## 11. Converting between Lists and Arrays + + + +## 12. List to Stream + + + +## 13. Concurrent Lists + + + +## Reference Document + +[So sánh ArrayList, Array, LinkedList, Vector](https://tunghuynh.net/programer/java/2164/java-phan-10-so-sanh-array-vs-arraylist-vs-linkedlist-vs-vector/) + +[Java List Collection Tutorial and Example](https://www.codejava.net/java-core/collections/java-list-collection-tutorial-and-examples) + diff --git a/Java-Collection/src/com/listdemo/ListDemo.java b/Java-Collection/java-collection/src/com/listdemo/ListDemo.java similarity index 100% rename from Java-Collection/src/com/listdemo/ListDemo.java rename to Java-Collection/java-collection/src/com/listdemo/ListDemo.java diff --git a/Java-Collection/src/com/listdemo/listmap/ListMapDemo.java b/Java-Collection/java-collection/src/com/listdemo/listmap/ListMapDemo.java similarity index 100% rename from Java-Collection/src/com/listdemo/listmap/ListMapDemo.java rename to Java-Collection/java-collection/src/com/listdemo/listmap/ListMapDemo.java diff --git a/Java-Collection/src/com/mapdemo/MapDemo.java b/Java-Collection/java-collection/src/com/mapdemo/MapDemo.java similarity index 100% rename from Java-Collection/src/com/mapdemo/MapDemo.java rename to Java-Collection/java-collection/src/com/mapdemo/MapDemo.java diff --git a/Java-Collection/java-collection/stream-api/readme.md b/Java-Collection/java-collection/stream-api/readme.md new file mode 100644 index 0000000..ea1671f --- /dev/null +++ b/Java-Collection/java-collection/stream-api/readme.md @@ -0,0 +1,31 @@ +### Giới thiệu về Stream API trong Java 8 + + +### Nội dung: + 1. Giới thiệu về Stream trong Java 8 + java.util.stream -> gói thư viện chuẩn. + 1.1. Ví dụ về sử dụng Stream + Sử dụng Stream sẽ nhanh và hiệu xuất hơn + + 1.2. Một số phương thức của Stream + + stream() + + parallelStream() + + 1.3. Các đặc điểm của Java Stream + + 1.4. So sánh Streams với Collections + + 1.5. Cách làm việc với Stream trong Java + + 2. Một vài ví dụ về Stream + 2.1. Tạo Stream + 2.1.1. Tạo Stream cho những kiểu Primitive + 2.1.2. Tạo Stream từ các cấu trúc dữ liệu khác + 2.1.3. Tạo Stream sang các cấu trúc dữ liệu khác. + + 2.2. Ví dụ Intermediate operation + 2.3. Ví dụ Terminal Operations + + 3. Stream API với I/O + 4. Luồng song song - Parallel Streams + 5. Hạn chế của Stream diff --git a/Java-Collection/java-collection/stream-api/src/com/core/stream/convert/ConvertToStreamExample.java b/Java-Collection/java-collection/stream-api/src/com/core/stream/convert/ConvertToStreamExample.java new file mode 100644 index 0000000..9b0d6d7 --- /dev/null +++ b/Java-Collection/java-collection/stream-api/src/com/core/stream/convert/ConvertToStreamExample.java @@ -0,0 +1,43 @@ +package com.core.stream.convert; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Stream; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Collection + */ +public class ConvertToStreamExample { + public static void streamFromArray(){ + String[] languages = {"Java", "JavaScript", "PHP"}; + + /** + * Tạo Stream sử dụng Arrays.stream + */ + Stream testStream1 = Arrays.stream(languages); + testStream1.forEach(x -> System.out.println(x)); + + Stream testStream2 = Stream.of(languages); + testStream2.forEach(x -> System.out.println(x)); + } + + public static void streamFromCollection(){ + List items = new ArrayList<>(); + items.add("Java"); + items.add("C++"); + items.add("C#"); + items.add("JavaScript"); + items.stream().forEach(item -> System.out.println(item)); + + } + + public static void streamUsingGenerate(){ +// Stream stream = Stream.generate(); + } + + public static void main(String[] args) { + streamFromCollection(); + } +} diff --git a/Java-Collection/java-collection/stream-api/src/com/core/stream/intro/PrimitiveStreamExample.java b/Java-Collection/java-collection/stream-api/src/com/core/stream/intro/PrimitiveStreamExample.java new file mode 100644 index 0000000..a56f215 --- /dev/null +++ b/Java-Collection/java-collection/stream-api/src/com/core/stream/intro/PrimitiveStreamExample.java @@ -0,0 +1,29 @@ +package com.core.stream.intro; + +import java.util.stream.DoubleStream; +import java.util.stream.IntStream; +import java.util.stream.LongStream; + +/** + * Thực hiện code với các Primitive Data trong Java + * + IntStream + * + DoubleStream + * + LongStream + * Các method hỗ trợ: range, of... + * @author ManhKM on 4/12/2022 + * @project Java-Collection + */ +public class PrimitiveStreamExample { + + public static void main(String[] args) { + IntStream.range(1,4).forEach(System.out::print); + + IntStream.of(1,2,3,4).forEach(System.out::print); + + DoubleStream.of(1,2,3,4,5).forEach(System.out::print); + + LongStream.range(1,4).forEach(System.out::print); + + LongStream.of(1,2,3,4,5,6).forEach(System.out::print); + } +} diff --git a/Java-Collection/java-collection/stream-api/src/com/core/stream/intro/StreamExample.java b/Java-Collection/java-collection/stream-api/src/com/core/stream/intro/StreamExample.java new file mode 100644 index 0000000..98c7b67 --- /dev/null +++ b/Java-Collection/java-collection/stream-api/src/com/core/stream/intro/StreamExample.java @@ -0,0 +1,38 @@ +package com.core.stream.intro; + +import java.util.Arrays; +import java.util.List; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Collection + */ +public class StreamExample { + List numbers = Arrays.asList(2,3,4,1,2,4,5,3); + + /** + * Bài toán liệt kê tổng số chẵn trong mảng cho trước: + * count + * Thực hiện code normal. + */ + public void withoutStream(){ + long count = 0; + for(Integer number : numbers){ + if(number % 2 == 0){ + count++; + } + } + System.out.printf("There are %d elements that are even", count); + } + + /** + * Triển khai với dạng Lambda + * chuyển về stream -> count(). + */ + public void withStream(){ + long count = numbers.stream() + .filter(num -> num % 2 == 0) + .count(); + System.out.printf("There are %d elements that are even", count); + } +} diff --git a/Java-Collection/java-collection/stream-api/src/com/core/stream/intro/StreamMain.java b/Java-Collection/java-collection/stream-api/src/com/core/stream/intro/StreamMain.java new file mode 100644 index 0000000..c871d65 --- /dev/null +++ b/Java-Collection/java-collection/stream-api/src/com/core/stream/intro/StreamMain.java @@ -0,0 +1,14 @@ +package com.core.stream.intro; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Collection + */ +public class StreamMain { + public static void main(String[] args) { + StreamExample streamExample = new StreamExample(); + streamExample.withoutStream(); + System.out.println(); + streamExample.withStream(); + } +} diff --git a/Java-Collection/java-deque/pom.xml b/Java-Collection/java-deque/pom.xml new file mode 100644 index 0000000..4200a0d --- /dev/null +++ b/Java-Collection/java-deque/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + com.core + java-deque + 1.0-SNAPSHOT + + + 8 + 8 + + + \ No newline at end of file diff --git a/Java-Collection/java-deque/src/main/java/com/core/QueueExample.java b/Java-Collection/java-deque/src/main/java/com/core/QueueExample.java new file mode 100644 index 0000000..aa07eb8 --- /dev/null +++ b/Java-Collection/java-deque/src/main/java/com/core/QueueExample.java @@ -0,0 +1,36 @@ +package com.core; + +import java.util.ArrayDeque; + +/** + * Lưu ý rằng: ArrayQueue không phải là một thread-safe. + * Nếu sử dụng trong môi trường đa luồng, hãy đảm bảo rằng đã đồng bộ hóa truy cập đến nó. + */ +public class QueueExample { + public static void main(String[] args) { + ArrayDeque queue = new ArrayDeque<>(); + + // Thêm phần từ vào hàng đợi: + queue.addLast("First"); + queue.addLast(1); + queue.addLast(2); + queue.addLast(3); + queue.addLast(3.14); + queue.addLast("The End"); + + // Lấy và in ra phần từ đầu hàng đợi: + System.out.println("First element: " + queue.getFirst()); + + // Xóa phần từ đầu hàng đợi: + System.out.println("Delete success first element: " + queue.removeFirst()); + + // IN ra số lượng phần tử trong hàng đợi: + System.out.println("Size of queue: " + queue.size()); + + // In ra số lượng các phần từ còn lại: + System.out.println("List data of queue: "); + for (Object element : queue){ + System.out.print(element + ", "); + } + } +} diff --git a/Java-Collection/java-generics/out/production/java-generics/com/geek/note.md b/Java-Collection/java-generics/out/production/java-generics/com/geek/note.md new file mode 100644 index 0000000..f2fe266 --- /dev/null +++ b/Java-Collection/java-generics/out/production/java-generics/com/geek/note.md @@ -0,0 +1 @@ +https://www.geeksforgeeks.org/generics-in-java \ No newline at end of file diff --git a/Java-Collection/java-generics/readme.md b/Java-Collection/java-generics/readme.md new file mode 100644 index 0000000..240d5bf --- /dev/null +++ b/Java-Collection/java-generics/readme.md @@ -0,0 +1,44 @@ +# Generics trong Java + +## Mục đích: + +Là một cách để xác định kiểu cụ thể cho lớp và phương thức trong ngữ cảnh khác nhau. + +## Lớp Generic trong Java + +Quy ước đặt tên tham số: + +T - Type + +E - Element + +K - Key + +N - Number + +V - Value + +## Multiple Type Parameters in Generic Classes + + + +## Phương thức Generic trong Java + + +## Ký tự đại diện (?) trong Java Generics + +## Sử dụng Generics trong các đối tượng Collection + +## Lợi thế của Generic trong Java + +1. Kiểu đối tượng an toàn + +Nó không cho phép lưu trữ 2 đối tượng có kiểu khác nhau + +2. Không cần phải ép kiểu -> vì đã xác định kiểu của nó ngay lúc sử dụng + +3. Kiểm tra lúc biên dịch + +Kiểm tra lỗi khi biên dịch nên sẽ không bị lỗi lúc runtime. + + diff --git a/Java-Collection/java-generics/src/com/core/DemoGenerics.java b/Java-Collection/java-generics/src/com/core/DemoGenerics.java new file mode 100644 index 0000000..f382c6c --- /dev/null +++ b/Java-Collection/java-generics/src/com/core/DemoGenerics.java @@ -0,0 +1,22 @@ +package com.core; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ManhKM on 8/23/2022 + * @project java-generics + */ +public class DemoGenerics { + + public static void main(String[] args) { + List listNames = new ArrayList(); + listNames.add("Tom"); + listNames.add("ManhKm"); + listNames.add("Peter"); + + String name = listNames.get(1); + System.out.println(name); + } + +} diff --git a/Java-Collection/java-generics/src/com/core/DemoWithoutGenerics.java b/Java-Collection/java-generics/src/com/core/DemoWithoutGenerics.java new file mode 100644 index 0000000..8065158 --- /dev/null +++ b/Java-Collection/java-generics/src/com/core/DemoWithoutGenerics.java @@ -0,0 +1,24 @@ +package com.core; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ManhKM on 8/23/2022 + * @project java-generics + */ +public class DemoWithoutGenerics { + + public static void main(String[] args) { + List listNames = new ArrayList(); // code without generics: + listNames.add("Tom"); + listNames.add("ManhKM1"); + listNames.add("Peter"); + + String name2 = (String) listNames.get(1); // casting object into String + System.out.println(name2); + + + } + +} diff --git a/Java-Collection/java-generics/src/com/core/EliminationOfCasts.java b/Java-Collection/java-generics/src/com/core/EliminationOfCasts.java new file mode 100644 index 0000000..4026253 --- /dev/null +++ b/Java-Collection/java-generics/src/com/core/EliminationOfCasts.java @@ -0,0 +1,48 @@ +package com.core; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * @author ManhKM on 8/23/2022 + * @project java-generics + */ +public class EliminationOfCasts { + + public static void main(String[] args) { + + //demoWithoutGenerics(); + demoWithGenerics(); + } + + private static void demoWithGenerics() { + List bookTitles = new ArrayList(); + bookTitles.add("Effective Java"); + bookTitles.add("Thinking in Java"); + bookTitles.add("Head First Java"); + + Iterator it = bookTitles.iterator(); + + while (it.hasNext()){ + System.out.println(it.next()); // different it.next() method + } + } + + private static void demoWithoutGenerics() { + List bookTitles = new ArrayList(); + + bookTitles.add("Effective Java"); + bookTitles.add("Thinking in Java"); + bookTitles.add("Head First Java"); + + Iterator it = bookTitles.iterator(); + + System.out.println("---Data of BookTitles---"); + while (it.hasNext()){ + String nextTitle = (String) it.next(); + System.out.println(nextTitle); + } + } + +} diff --git a/Java-Collection/java-generics/src/com/core/MethodGeneric.java b/Java-Collection/java-generics/src/com/core/MethodGeneric.java new file mode 100644 index 0000000..b578366 --- /dev/null +++ b/Java-Collection/java-generics/src/com/core/MethodGeneric.java @@ -0,0 +1,41 @@ +package com.core; + +/** + * @author ManhKM on 8/23/2022 + * @project java-generics + * ----- + * Thực hành việc Generic với một Object + */ +public class MethodGeneric { + + /** + * In ra toàn bộ dữ liệu của mảng với kiểu là Element do người dùng truyền vào. + * @param elements - Tên của mảng + * @param - kiểu của dữ liệu mảng + */ + public static void printArray(E[] elements){ + for (E element : elements){ + System.out.print(element + " "); + } + System.out.println(); + } + + public static void main(String[] args) { + Integer[] intArray = {10, 11, 12, 13, 14, 15, 16, 17}; + + Character[] charArray = {'A', 'B', 'C', 'D', 'E', 'F'}; + + String[] stringArray = {"Khong Minh Manh", "Hà Nội", "Thái Bình", "Trời mưa to", "Trời nắng to"}; + + + + System.out.println("In mảng các số nguyên: "); + printArray(intArray); + + System.out.println("In mảng các ký tự: "); + printArray(charArray); + + System.out.println("In mảng có chuỗi: "); + printArray(stringArray); + } +} diff --git a/Java-Collection/java-generics/src/com/core/MyGeneric.java b/Java-Collection/java-generics/src/com/core/MyGeneric.java new file mode 100644 index 0000000..350562c --- /dev/null +++ b/Java-Collection/java-generics/src/com/core/MyGeneric.java @@ -0,0 +1,21 @@ +package com.core; + +/** + * @author ManhKM on 8/23/2022 + * @project java-generics + * ----- + * Thực hiện có các chức năng: CRUD + */ +public class MyGeneric { + T obj; + + void add(T obj){ + this.obj = obj; + } + + T get(){ + return this.obj; + } + + +} diff --git a/Java-Collection/java-generics/src/com/core/MyGenericDemo.java b/Java-Collection/java-generics/src/com/core/MyGenericDemo.java new file mode 100644 index 0000000..70bcf09 --- /dev/null +++ b/Java-Collection/java-generics/src/com/core/MyGenericDemo.java @@ -0,0 +1,21 @@ +package com.core; + +/** + * @author ManhKM on 8/23/2022 + * @project java-generics + */ +public class MyGenericDemo { + + public static void main(String[] args) { + + // using Integer: + MyGeneric m1 = new MyGeneric(); + m1.add(2); + System.out.println("Value of Generic "+m1.get().getClass() +": "+m1.get()); + + // using String: + MyGeneric m2 = new MyGeneric(); + m2.add("Khong Minh Manh"); + System.out.println("Value of Generic " +m2.get().getClass() +": "+m2.get()); + } +} diff --git a/Java-Collection/java-generics/src/com/core/Student.java b/Java-Collection/java-generics/src/com/core/Student.java new file mode 100644 index 0000000..1c72b5c --- /dev/null +++ b/Java-Collection/java-generics/src/com/core/Student.java @@ -0,0 +1,53 @@ +package com.core; + +/** + * @author ManhKM on 8/23/2022 + * @project java-generics + */ +public class Student { + private String name; + private String address; + private int age; + + public Student() { + } + + public Student(String name, String address, int age) { + this.name = name; + this.address = address; + this.age = age; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + @Override + public String toString() { + return "Student{" + + "name='" + name + '\'' + + ", address='" + address + '\'' + + ", age=" + age + + '}'; + } +} diff --git a/Java-Collection/java-generics/src/com/geek/func/Test.java b/Java-Collection/java-generics/src/com/geek/func/Test.java new file mode 100644 index 0000000..1ba76a1 --- /dev/null +++ b/Java-Collection/java-generics/src/com/geek/func/Test.java @@ -0,0 +1,26 @@ +package com.geek.func; + +/** + * @author ManhKM on 8/24/2022 + * @project java-generics + */ +public class Test { + static void genericDisplay(T element){ + + // Hiển thị thông tin của lớp T -> trừ tượng truyền vào" + System.out.println(element.getClass().getName() + " = " + element); + } + + public static void main(String[] args) { + + // Calling generic method with Integer argument: + genericDisplay(11); + + // Calling generic method with String argument: + genericDisplay("Khổng Minh Mạnh"); + + // Calling generic method with Double argument: + genericDisplay(3.14); + + } +} diff --git a/Java-Collection/java-generics/src/com/geek/multiple/MainTest.java b/Java-Collection/java-generics/src/com/geek/multiple/MainTest.java new file mode 100644 index 0000000..1c6936d --- /dev/null +++ b/Java-Collection/java-generics/src/com/geek/multiple/MainTest.java @@ -0,0 +1,15 @@ +package com.geek.multiple; + +/** + * @author ManhKM on 8/24/2022 + * @project java-generics + */ +public class MainTest { + + public static void main(String[] args) { + Test obj = new Test("ManhKM", 19); + + obj.print(); // show data + } + +} diff --git a/Java-Collection/java-generics/src/com/geek/multiple/Test.java b/Java-Collection/java-generics/src/com/geek/multiple/Test.java new file mode 100644 index 0000000..aad6597 --- /dev/null +++ b/Java-Collection/java-generics/src/com/geek/multiple/Test.java @@ -0,0 +1,22 @@ +package com.geek.multiple; + +/** + * @author ManhKM on 8/24/2022 + * @project java-generics + */ +public class Test { + T obj1; // một object có kiểu T + U obj2; // một object có kiểu U + + // Constructor: + Test(T obj1, U obj2){ + this.obj1 = obj1; + this.obj2 = obj2; + } + + // To print Object of T and U + public void print(){ + System.out.println(this.obj1); + System.out.println(this.obj2); + } +} diff --git a/Java-Collection/java-generics/src/com/geek/note.md b/Java-Collection/java-generics/src/com/geek/note.md new file mode 100644 index 0000000..f2fe266 --- /dev/null +++ b/Java-Collection/java-generics/src/com/geek/note.md @@ -0,0 +1 @@ +https://www.geeksforgeeks.org/generics-in-java \ No newline at end of file diff --git a/Java-Collection/java-generics/src/com/geek/runtime/GenericsSolve.java b/Java-Collection/java-generics/src/com/geek/runtime/GenericsSolve.java new file mode 100644 index 0000000..9fac94e --- /dev/null +++ b/Java-Collection/java-generics/src/com/geek/runtime/GenericsSolve.java @@ -0,0 +1,31 @@ +package com.geek.runtime; + +import java.util.ArrayList; + +/** + * @author ManhKM on 8/24/2022 + * @project java-generics + */ +public class GenericsSolve { + + public static void main(String[] args) { + + // Creating a an ArrayList with String specified: + ArrayList arrayList = new ArrayList<>(); + + arrayList.add("Khổng"); + arrayList.add("Minh"); + arrayList.add("Mạnh"); + + arrayList.add(String.valueOf(100)); + arrayList.add(String.valueOf(3.14)); + arrayList.add(String.valueOf(10L)); + + arrayList.get(0); + arrayList.get(1); + arrayList.get(2); + arrayList.get(3); + arrayList.get(4); + arrayList.get(5); + } +} diff --git a/Java-Collection/java-generics/src/com/geek/runtime/TestNormalCollection.java b/Java-Collection/java-generics/src/com/geek/runtime/TestNormalCollection.java new file mode 100644 index 0000000..6fbb29e --- /dev/null +++ b/Java-Collection/java-generics/src/com/geek/runtime/TestNormalCollection.java @@ -0,0 +1,28 @@ +package com.geek.runtime; + +import java.util.ArrayList; + +/** + * @author ManhKM on 8/24/2022 + * @project java-generics + */ +public class TestNormalCollection { + + public static void main(String[] args) { + + ArrayList arrayList = new ArrayList(); + + arrayList.add("Minh"); + arrayList.add("Mạnh"); + arrayList.add("Thái Bình"); + arrayList.add("Hà Nội"); + arrayList.add("Việt Nam"); + arrayList.add(100); + arrayList.add(String.valueOf(200)); + + String s1 = (String) arrayList.get(0); + String s2 = (String) arrayList.get(1); + String s5 = (String) arrayList.get(5); + } + +} diff --git a/Java-Collection/java-generics/src/com/geek/single/MainTest.java b/Java-Collection/java-generics/src/com/geek/single/MainTest.java new file mode 100644 index 0000000..8eea646 --- /dev/null +++ b/Java-Collection/java-generics/src/com/geek/single/MainTest.java @@ -0,0 +1,44 @@ +package com.geek.single; + +import com.core.Student; +import java.util.ArrayList; +import java.util.List; + +/** + * @author ManhKM on 8/24/2022 + * @project java-generics + */ +public class MainTest { + + public static void main(String[] args) { + + // instance of Integer type: + Test iObj = new Test(100); + + System.out.println(iObj.getObject()); + + // instance of String type: + Test sObj = new Test("Khong Minh Manh"); + + System.out.println(sObj.getObject()); + + // instance of Student type: + Test studentObj = new Test(new Student("ManhKM","Thái Bình", 18)); + System.out.println(studentObj.getObject().toString()); + + // instance of List type: + Test studentObj1 = new Test(new Student("TrangKT","Thái Bình", 18)); + Test studentObj2 = new Test(new Student("ManhKM","Thái Bình", 18)); + Test studentObj3 = new Test(new Student("TrangTT","Hà Nam", 18)); + List> listStudentObj = new ArrayList>(10); + listStudentObj.add(studentObj1); + listStudentObj.add(studentObj2); + listStudentObj.add(studentObj3); + listStudentObj.add(studentObj1); + + System.out.println("List of Student: "); + for (Test item : listStudentObj){ + System.out.println(item.getObject().toString()); + } + } +} diff --git a/Java-Collection/java-generics/src/com/geek/single/Test.java b/Java-Collection/java-generics/src/com/geek/single/Test.java new file mode 100644 index 0000000..9f774ab --- /dev/null +++ b/Java-Collection/java-generics/src/com/geek/single/Test.java @@ -0,0 +1,22 @@ +package com.geek.single; + +/** + * @author ManhKM on 8/24/2022 + * @project java-generics + */ +public class Test { + + T obj; + + /** + * Định nghĩa một Constructor + * @param obj + */ + Test(T obj){ + this.obj = obj; + } + + public T getObject(){ + return this.obj; + } +} diff --git a/Java-Collection/java-list/pom.xml b/Java-Collection/java-list/pom.xml new file mode 100644 index 0000000..6cd1428 --- /dev/null +++ b/Java-Collection/java-list/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + com.core + java-list + 1.0-SNAPSHOT + + + 8 + 8 + + + diff --git a/Java-Collection/java-list/src/main/java/com/core/ListString.java b/Java-Collection/java-list/src/main/java/com/core/ListString.java new file mode 100644 index 0000000..0a4861a --- /dev/null +++ b/Java-Collection/java-list/src/main/java/com/core/ListString.java @@ -0,0 +1,25 @@ +package com.core; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ManhKM on 10/7/2022 + * @project java-list + */ +public class ListString { + + public static void main(String[] args) { + List listContent = new ArrayList<>(); + String listData = "khong;minh;manh;neo;vn;hanoi;thaibinh;vietnam;dongxuan;donghung"; + String arr[] = listData.split(";"); + for (String string : arr){ + listContent.add(string); + } + + System.out.println("Data of listContent: "); + for (String item: listContent) { + System.out.println(item); + } + } +} diff --git a/Java-Collection/java-queue/readme.md b/Java-Collection/java-queue/readme.md new file mode 100644 index 0000000..f8758ea --- /dev/null +++ b/Java-Collection/java-queue/readme.md @@ -0,0 +1,37 @@ +# Java Queue Collection Tutorial and Examples + +## Part I: Understanding Queue Concepts + +### 1. What is Queue? + +This process is call FIFO: First In First Out. + +Main Interface: Queue +Sub Interface: Deque, BlockingDequeue, BlockingQueue, TransferQueue + + +## 2. Characteristics of Queue + + +## 3. Behaviors of Queue + +Queue implementations core operation of collection: + +add(), contains(), remove(), clear(), isEmpty() + +## 4. Queue's Interfaces + +Supper Interface: Queue + +Sub Interface: Deque, + + +## Part II: Understanding Queue API Structure + +## Part III: Performing Operations on Queue Collection + + + +## Reference document: +[Java Queue Collection Tutorial and Examples](https://www.codejava.net/java-core/collections/java-queue-collection-tutorial-and-examples?fbclid=IwAR1mdJvWZr6NFUZD9fIceMBBs6cW464uE7grCWm8GpUL1dkO3iGYIeFzeXI) + diff --git a/Java-Collection/java-queue/src/com/core/QueueDemo.java b/Java-Collection/java-queue/src/com/core/QueueDemo.java new file mode 100644 index 0000000..430e8ac --- /dev/null +++ b/Java-Collection/java-queue/src/com/core/QueueDemo.java @@ -0,0 +1,36 @@ +package com.core; + +import java.util.*; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; + +/** + * @author ManhKM on 7/21/2022 + * @project java-queue + */ +public class QueueDemo { + public static void main(String[] args) { + Queue namesQueue = new LinkedList<>(); + Deque numbersDeque = new ArrayDeque<>(); + BlockingQueue waitingCustomers = new ArrayBlockingQueue<>(100); + Queue queueNumbers = new ArrayBlockingQueue<>(3); + Deque queueNamesCustomer = new ArrayDeque<>(); + + List listNames = Arrays.asList("Alice", "Bob", "Cole", "Dale"); + Queue queueNames = new LinkedList<>(listNames); + System.out.println("Step 1: " + queueNames); + + queueNames.add("Marry"); + queueNames.add("John"); + queueNames.add("Bob"); + System.out.println("Step 2: " + queueNames); + + System.out.println("-----Queue Name Customers-----"); + queueNamesCustomer.offer("Katherine"); + queueNamesCustomer.offer("Bob"); + queueNamesCustomer.addFirst("Jim"); + queueNamesCustomer.addLast("Tom"); + System.out.println(queueNamesCustomer); + + } +} diff --git a/Java-Collection/map-interface/docs/map-hierarchy-in-java.png b/Java-Collection/map-interface/docs/map-hierarchy-in-java.png new file mode 100644 index 0000000..b0679ee Binary files /dev/null and b/Java-Collection/map-interface/docs/map-hierarchy-in-java.png differ diff --git a/Java-Collection/map-interface/readme.md b/Java-Collection/map-interface/readme.md new file mode 100644 index 0000000..fc49294 --- /dev/null +++ b/Java-Collection/map-interface/readme.md @@ -0,0 +1,43 @@ + +# Map Interface in Java + +## Method in Map Interface + +| Method | Action Performed | Example | +| :--- | :--- | :--- | +|clear() | This method is used to clear and remove all of the elements or mappings from a specified Map collection.|| +|containsKey() | +|containsValue()| +|entrySet()| +|equals(Object)| +|get(Object)| +|hashCode()| +|isEmpty()| +|keySet()| +|put(Object, Object)| + + +## Map Hierarchy in Java + +![img.png](docs/map-hierarchy-in-java.png) + + + +## Performing Various Operations using Map Interface and HashMap Class: + +1. Adding Elements + +2. Changing Elements + +3. Removing Elements + +4. Iterating through the Map + +5. Copy Elements + +6. Clone a Map + +7. Sort element of Map + +8. Concat of many Map + diff --git a/Java-Collection/map-interface/src/com/core/CheckOutOfMemHashMap.java b/Java-Collection/map-interface/src/com/core/CheckOutOfMemHashMap.java new file mode 100644 index 0000000..66443de --- /dev/null +++ b/Java-Collection/map-interface/src/com/core/CheckOutOfMemHashMap.java @@ -0,0 +1,29 @@ +package com.core; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author ManhKM on 8/13/2022 + * @project map-interface + */ +public class CheckOutOfMemHashMap { + + public static void main(String[] args) { + Map> serviceCmds = new HashMap<>(); + String data = "If you encode the integers as String, and we're talking maybe 6 digit numbers, that is likely 24 bytes for the underlying "; + Map item = new HashMap<>(); + long key = 1; + while (1 < 2){ + key = key * 2; + System.out.println(key); + +// item.put(String.valueOf(key), data); +// System.out.println(item); +// +// serviceCmds.put(String.valueOf(key), item); +// System.out.println(serviceCmds); + } + } + +} diff --git a/Java-Collection/map-interface/src/com/core/LinkedHashMapDemo.java b/Java-Collection/map-interface/src/com/core/LinkedHashMapDemo.java new file mode 100644 index 0000000..fe599c2 --- /dev/null +++ b/Java-Collection/map-interface/src/com/core/LinkedHashMapDemo.java @@ -0,0 +1,32 @@ +package com.core; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * @author ManhKM on 8/13/2022 + * @project map-interface + * ----- + * Additional Feature: + * quick insertion, search, deletion. + * -LinkedHashMap- + * cung cấp một nơi mà các key-value sẽ được truyền vào theo thứ tự + * Nếu xuất dữ liệu trong file, hoặc dùng Map để lưu giá trị Query từ Database. + * Dùng Linked sẽ lưu được vị trí của các phần từ trong file. + */ +public class LinkedHashMapDemo { + + public static void main(String[] args) { + Map map = new LinkedHashMap<>(); + + map.put("value1", 100); + map.put("value2", 200); + map.put("value3", 300); + map.put("value4", 400); + + for (Map.Entry e : map.entrySet()){ + System.out.println(e.getKey() + " " + e.getValue()); + } + } + +} diff --git a/Java-Collection/map-interface/src/com/core/MapInterfaceDemo.java b/Java-Collection/map-interface/src/com/core/MapInterfaceDemo.java new file mode 100644 index 0000000..a3461a0 --- /dev/null +++ b/Java-Collection/map-interface/src/com/core/MapInterfaceDemo.java @@ -0,0 +1,25 @@ +package com.core; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author ManhKM on 8/13/2022 + * @project map-interface + */ +public class MapInterfaceDemo { + + public static void main(String[] args) { + Map hm = new HashMap(); + + hm.put("a", new Integer(100)); + hm.put("b", new Integer(100)); + hm.put("c", new Integer(100)); + hm.put("d", new Integer(100)); + + for(Map.Entry me : hm.entrySet()){ + System.out.print(me.getKey() + ": "); + System.out.println(me.getValue()); + } + } +} diff --git a/Java-Collection/map-interface/src/com/core/MapInterfaceDemo1.java b/Java-Collection/map-interface/src/com/core/MapInterfaceDemo1.java new file mode 100644 index 0000000..a7662bd --- /dev/null +++ b/Java-Collection/map-interface/src/com/core/MapInterfaceDemo1.java @@ -0,0 +1,25 @@ +package com.core; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author ManhKM on 8/13/2022 + * @project map-interface + */ +public class MapInterfaceDemo1 { + + public static void main(String[] args) { + Map map = new HashMap<>(); //no String, Integer + + map.put("key1", 10); + map.put("key2", 20); + map.put("key3", 30); + map.put("key4", 40); + + for (Map.Entry e : map.entrySet()){ + System.out.println(e.getKey() + " " + e.getValue()); + } + } + +} diff --git a/Java-Collection/map-interface/src/com/core/TreeMapDemo.java b/Java-Collection/map-interface/src/com/core/TreeMapDemo.java new file mode 100644 index 0000000..b5ad78d --- /dev/null +++ b/Java-Collection/map-interface/src/com/core/TreeMapDemo.java @@ -0,0 +1,24 @@ +package com.core; + +import java.util.Map; +import java.util.TreeMap; + +/** + * @author ManhKM on 8/13/2022 + * @project map-interface + */ +public class TreeMapDemo { + + public static void main(String[] args) { + Map map = new TreeMap<>(); + + map.put("key1", 1000); + map.put("key2", 9000); + map.put("key3", 1000); + map.put("key4", 5000); + + for (Map.Entry e : map.entrySet()) { + System.out.println(e.getKey() + " " + e.getValue()); + } + } +} diff --git a/Java-Collection/map-interface/src/com/core/opera/OperationOfMap.java b/Java-Collection/map-interface/src/com/core/opera/OperationOfMap.java new file mode 100644 index 0000000..34c0f40 --- /dev/null +++ b/Java-Collection/map-interface/src/com/core/opera/OperationOfMap.java @@ -0,0 +1,41 @@ +package com.core.opera; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author ManhKM on 8/13/2022 + * @project map-interface + * ----- + * Operation 1: Adding element + * Operation 2: Update element of Map + * Operation 3: Delete element of Map + * Operation 4: Iterating through the Map + */ +public class OperationOfMap { + + public static void main(String[] args) { + Map hm1 = new HashMap<>(); + hm1.put(new Integer(1), "Geeks"); + hm1.put(new Integer(2), "Geeks"); + hm1.put(new Integer(3), "Geeks"); + + System.out.println("Initial Map: " + hm1); + + hm1.put(2, "For"); + + System.out.println("Updated Map: " + hm1); + + hm1.remove(3); + + System.out.println("After delete element of Map: " + hm1); + + for (Map.Entry item : hm1.entrySet()){ + int key = (int) item.getKey(); + String value = (String) item.getValue(); + + System.out.println(key + ": " + value); + } + } + +} diff --git a/Java-Collection/readme.md b/Java-Collection/readme.md new file mode 100644 index 0000000..22940ae --- /dev/null +++ b/Java-Collection/readme.md @@ -0,0 +1,91 @@ +``` + Java Collections and Generics Tutorials + Written by Nam Ha Minh + Last Updated on 11 November 2019 | Print Email +``` + + +# Java Collections framework provides a set of reusable data structures and algorithms that make programmer's jobs easier. + +## Getting started with Java Collections & Generics for beginners: + +What is Java Collections Framework? + + +Java Collections Framework summary table + + +What are Generics in Java + + +How to write generic classes and methods in Java + + Có thể viết Generics cho một Object hay không? Nếu có thì viết Collection cho một Object sẽ như thế nào? + + Đã giải quyết được vấn đề dùng với Generics một Object + + + +## Java List Tutorials: + +Java List Collection Tutorial and Examples + + +Sorting List Collections Examples + + +Sorting a list by multiple attributes example + + +Java Collections Utility Examples for Changing Order and Content of a List + + +## Java Set Tutorials: +Java Set Collection Tutorial and Examples +Java SortedSet and TreeSet Tutorial and Examples +Java NavigableSet and TreeSet Tutorial and Examples + +## Java Map Tutorials: +Java Map Collection Tutorial and Examples +Java NavigableMap and TreeMap Tutorial and Examples +Java SortedMap and TreeMap Tutorial and Examples + +## Java Queue Tutorials: +Java Queue Collection Tutorial and Examples +Java Producer - Consumer Examples Using BlockingQueue + +## Java Arrays Tutorials: +Comparing Arrays in Java Examples +Copying and Filling Arrays in Java +Java Arrays Utility Class Examples for List view, Sorting and Searching +Sorting Arrays Examples (with Comparable and Comparator) + +## Java Collection Iteration Tutorials: +Java Collections Looping Example +Using Java Lambda expressions for collections internal iteration +The 4 Methods for Iterating Collections in Java + +## Java Streams Tutorials: +Understanding Java Stream API +Java Stream Aggregate Functions Examples (Intermediate Operations) +Java Stream Terminal Operations Examples + + + +## Advanced Java Collections Tutorials: +Understanding equals() and hashCode() in Java +Understanding Object Ordering in Java with Comparable and Comparator +Understanding Collections and Thread Safety in Java +18 Java Collections and Generics Best Practices + +## Advanced Java Generics Tutorials: +Generics with extends and super Wildcards and the Get and Put Principle +Generics with Subtyping and the Substitution Principle + +## Miscellaneous Java Collection Tutorials: +Java Collections Factory Method Examples +Java Collections Wrapper Methods Examples +Java Collections Utility Examples for Searching in a Collection + +## References: +Trail: Collections from The Java Tutorials (Oracle) \ No newline at end of file diff --git a/Java-Concurrence/1-java-concurrency-1.0.md b/Java-Concurrence/1-java-concurrency-1.0.md new file mode 100644 index 0000000..19c648a --- /dev/null +++ b/Java-Concurrence/1-java-concurrency-1.0.md @@ -0,0 +1,56 @@ +## nội dung quan trọng trong Java Core là gì? Java Core nâng cao thì sẽ có những nội dung gì? + +Java Core là phần quan trọng nhất của ngôn ngữ lập trình Java, bao gồm các thành phần cơ bản của ngôn ngữ như cú pháp, kiểu dữ liệu, biến, hàm, điều kiện, vòng lặp, exception handling, I/O, collections, threads, etc. + +Java Core nâng cao thường bao gồm các chủ đề sau: + +Concurrency: Đây là một chủ đề quan trọng trong Java Core nâng cao, đảm bảo rằng các ứng dụng có thể chạy đồng thời và tận dụng tối đa các CPU core. Nó bao gồm các lớp và interface như Thread, Runnable, Executor, ThreadPoolExecutor, Semaphore, CountdownLatch, etc. + +Networking: Bao gồm các thành phần liên quan đến mạng như socket programming, URL, HttpURLConnection, SSL, etc. + +Reflection: Cho phép ứng dụng xem và thay đổi các thuộc tính và phương thức của các đối tượng tại thời điểm chạy. Bao gồm các lớp như Class, Method, Field, Constructor, etc. + +Collections Framework: Là một tập hợp các interface, abstract class và lớp cung cấp các cấu trúc dữ liệu và các thuật toán để xử lý các đối tượng. Bao gồm các interface như List, Set, Map, Queue, Deque, etc. + +Stream API: Là một API mới được giới thiệu trong Java 8, cung cấp một cách mới để xử lý dữ liệu. Stream API cho phép các phép xử lý dữ liệu trở nên linh hoạt và dễ dàng hơn bằng cách sử dụng các phương thức như filter, map, reduce, etc. + +Date and Time API: Cung cấp các lớp và interface để xử lý thời gian và ngày tháng. API này được giới thiệu từ Java 8 và cung cấp các lớp như LocalDate, LocalDateTime, ZonedDateTime, etc. + +Generics: Là một tính năng trong Java cho phép các lớp, interface và phương thức được thiết kế để làm việc với nhiều kiểu dữ liệu khác nhau một cách an toàn. + +Lambda expressions: Là một tính năng trong Java 8, cho phép các đoạn mã được truyền như một đối số cho phương thức hoặc biểu thức được gán cho một biến. Điều này làm cho mã ngắn gọn hơn và dễ đọc hơn. + +Optional: Là một lớp giúp xử lý null trong Java. Nó cung cấp một cách an toàn để tránh xảy ra NullPointerException và giúp mã trở nên rõ r + + +## còn nữa không? + +Ngoài những nội dung cơ bản về Java Core như cú pháp, kiểu dữ liệu, cấu trúc điều khiển, exception, I/O, multi-threading, OOP, generic, collection, reflection, serialization,... thì Java Core nâng cao còn bao gồm những nội dung sau: + +Annotation: cung cấp cách để thêm metadata cho các đối tượng Java như class, method, field,... +Lambda expression: cung cấp cách thức viết code gọn hơn và giúp tăng hiệu năng ứng dụng. +Stream API: cung cấp cách thức thao tác dữ liệu trong bộ nhớ hoặc từ các nguồn dữ liệu khác nhau. +Date and Time API: cung cấp các lớp để làm việc với thời gian và ngày tháng. +Optional class: cung cấp cách để xử lý các giá trị null trong ứng dụng. +Nashorn: một trình thông dịch JavaScript được tích hợp vào Java, cho phép chạy mã JavaScript trực tiếp trong ứng dụng Java. +Modular programming: cung cấp cách thức phân tách các thành phần của ứng dụng thành các module riêng biệt, giúp quản lý và triển khai ứng dụng dễ dàng hơn. +Ngoài ra, Java Core nâng cao còn bao gồm các nội dung như reflection API, concurrency API, networking, JDBC, JNDI,... + + +## còn nữa không? + +Ngoài các nội dung trên, Java Core nâng cao còn bao gồm: + +Xử lý ngoại lệ (Exception Handling): Trong Java Core nâng cao, bạn sẽ học cách xử lý các ngoại lệ (exception) trong chương trình của mình, cách sử dụng các từ khóa try-catch-finally và các loại ngoại lệ phổ biến. + +Lambda Expression: Lambda Expression là một tính năng mới được giới thiệu từ Java 8, giúp cho việc xử lý dữ liệu trở nên đơn giản và tiện lợi hơn. Java Core nâng cao sẽ hướng dẫn bạn sử dụng Lambda Expression để viết code ngắn gọn hơn và hiệu quả hơn. + +Stream API: Stream API cũng là một tính năng mới được giới thiệu từ Java 8, giúp cho việc xử lý dữ liệu trở nên dễ dàng và nhanh chóng hơn. Java Core nâng cao sẽ giúp bạn tìm hiểu và sử dụng Stream API để xử lý dữ liệu hiệu quả hơn. + +Generic: Generic là một tính năng của Java Core cho phép bạn tạo ra các lớp, phương thức hoặc interface có thể áp dụng cho nhiều kiểu dữ liệu khác nhau một cách linh hoạt và tiện lợi. + +Annotation: Annotation là một cách để thêm các thông tin bổ sung cho các phần tử trong chương trình Java. Java Core nâng cao sẽ giúp bạn hiểu rõ hơn về Annotation và cách sử dụng chúng. + +Java IO: Java IO cung cấp các lớp để đọc và ghi các loại tập tin khác nhau như văn bản, hình ảnh, âm thanh... Java Core nâng cao sẽ giúp bạn tìm hiểu và sử dụng Java IO để xử lý dữ liệu trong chương trình của mình. + +Java Networking: Java Networking cung cấp các lớp để làm việc với mạng như kết nối và truyền thông qua Internet hoặc các giao thức mạng khác. Java Core nâng cao sẽ giúp bạn tìm hiểu và sử dụng Java Networking để xử lý kết nối mạng trong chương trình của mình. \ No newline at end of file diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/hashdemo/ConcurrentHashMapVsSynchronizedMap$1.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/hashdemo/ConcurrentHashMapVsSynchronizedMap$1.class new file mode 100644 index 0000000..5e9a2b5 Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/hashdemo/ConcurrentHashMapVsSynchronizedMap$1.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/hashdemo/ConcurrentHashMapVsSynchronizedMap.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/hashdemo/ConcurrentHashMapVsSynchronizedMap.class new file mode 100644 index 0000000..859ac50 Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/hashdemo/ConcurrentHashMapVsSynchronizedMap.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/hashdemo/InitConcurrentHashMap.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/hashdemo/InitConcurrentHashMap.class new file mode 100644 index 0000000..a959c3e Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/hashdemo/InitConcurrentHashMap.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/threadpool/Run.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/threadpool/Run.class new file mode 100644 index 0000000..0d11191 Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/threadpool/Run.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/threadpool/TestThreadPool.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/threadpool/TestThreadPool.class new file mode 100644 index 0000000..8feaed2 Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/threadpool/TestThreadPool.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/threadpool/TestThreadPoolExecutorService.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/threadpool/TestThreadPoolExecutorService.class new file mode 100644 index 0000000..0da4ac5 Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/threadpool/TestThreadPoolExecutorService.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd1/Access.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd1/Access.class new file mode 100644 index 0000000..54a846a Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd1/Access.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd1/TestThread.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd1/TestThread.class new file mode 100644 index 0000000..68518ca Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd1/TestThread.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd1/count.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd1/count.class new file mode 100644 index 0000000..35c9926 Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd1/count.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd2/MyThread.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd2/MyThread.class new file mode 100644 index 0000000..f63cee4 Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd2/MyThread.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd2/Table.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd2/Table.class new file mode 100644 index 0000000..7d9596d Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd2/Table.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd2/TestThread.class b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd2/TestThread.class new file mode 100644 index 0000000..dcb6605 Binary files /dev/null and b/Java-Concurrence/Banking-synch-unsynch/out/production/Banking-synch-unsynch/com/jindo/core/vd2/TestThread.class differ diff --git a/Java-Concurrence/Banking-synch-unsynch/readme.md b/Java-Concurrence/Banking-synch-unsynch/readme.md new file mode 100644 index 0000000..cf8aa31 --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/readme.md @@ -0,0 +1,45 @@ + +# Đồng bộ và bất đồng bộ trong Java + +## Nội dung chính + +## Sử dụng với HashMap +* Có 2 cách để chúng ta có thể đồng bộ hóa một HashMap + * Sử dụng Java Collection .synchronizedMap() + * Sử dụng ConcurrentHashMap + +## Sử dụng ThreadPool trong Java +* Mục đích: + * Thread sinh ra để thực hiện một nhiệm vụ cụ thể, nhiều Thread cùng xử lý công việc giúp chúng ta giải quyết được bài toán + thời gian và hiệu năng khi xử lý một tác vụ nào đó. + * ?? Bài toàn đặt ra ở đây là có phải cứ sinh ra nhiều Thread thì tác vụ của chúng ta sẽ nhanh hơn mượt mà hơn ??? + * TL: Là không... + + +## ThreadPoolExecutor: + + +## Cách hoạt động của ThreadPoolExecutor + + +## ExecutorService: + + +## Cách tạo ExecutorService + + +## Cách sử dụng ExecutorService + + +## Cách kết thúc ExecutorService + + + +## Reference document +* [Đồng bộ và bất đồng bộ](https://codelearn.io/sharing/dong-bo-va-bat-dong-bo-trong-java) +* [HashMap có thể đồng bộ hóa trong Java](https://viblo.asia/p/hashmap-concurrenthashmap-synchronizedmap-lam-the-nao-mot-hashmap-co-the-duoc-dong-bo-hoa-trong-java-924lJD8zKPM) +* [Tìm hiểu về Thread-Pool trong Java](https://viblo.asia/p/tim-hieu-ve-thread-pool-trong-java-OeVKBDQMlkW) +* [Java ExecutorService](https://jenkov.com/tutorials/java-util-concurrent/executorservice.html) +* [Writing your own ThreadPool from scratch in Java](https://blog.caffinc.com/2016/03/simple-threadpool/) +* [Java Bài 41: Thread Tập 1 – Thread Và Các Khái Niệm](https://yellowcodebooks.com/2018/08/10/java-bai-41-thread-tap-1-thread-va-cac-khai-niem/#.YnoPFOjP3Dc) + diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/hashdemo/ConcurrentHashMapVsSynchronizedHashMap.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/hashdemo/ConcurrentHashMapVsSynchronizedHashMap.java new file mode 100644 index 0000000..8998c80 --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/hashdemo/ConcurrentHashMapVsSynchronizedHashMap.java @@ -0,0 +1,86 @@ +package com.jindo.core.hashdemo; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + */ +import java.util.Collections; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +class ConcurrentHashMapVsSynchronizedMap { + + public final static int THREAD_POOL_SIZE = 10; + + public static Map hashTable = null; + public static Map synchronizedMap = null; + public static Map concurrentHashMap = null; + + public static void main(String[] args) throws InterruptedException { + System.out.println("Đây là kết quả trung bình (10 lần) sau khi đọc ghi 1 triệu entries đối với từng loại Map: "); + // Test with Hashtable Object + hashTable = new Hashtable(); + performTest(hashTable); + + // Test with synchronizedMap Object + synchronizedMap = Collections.synchronizedMap(new HashMap()); + performTest(synchronizedMap); + + // Test with ConcurrentHashMap Object + concurrentHashMap = new ConcurrentHashMap(); + performTest(concurrentHashMap); + + } + + /** + * ExecutorService + * + newFixedThreadPool + * + execute()... + * + shutdown()... + * + awaitTermination()... + */ + //final + public static void performTest(Map testMap) throws InterruptedException { + + System.out.println("Test started for: " + testMap.getClass()); + long averageTime = 0; + for (int i = 0; i < 10; i++) { + + long startTime = System.nanoTime(); + ExecutorService executorService = Executors.newFixedThreadPool(THREAD_POOL_SIZE); + + for (int j = 0; j < THREAD_POOL_SIZE; j++) { + executorService.execute(new Runnable() { + @SuppressWarnings("unused") + @Override + public void run() { + + for (int i = 0; i < 1000000; i++) { + Integer randomNumber = (int) Math.ceil(Math.random() * 100000); + + // Retrieve value. Only for test + Integer value = testMap.get(String.valueOf(randomNumber)); + + // Put value + testMap.put(String.valueOf(randomNumber), randomNumber); + } + } + }); + } + + executorService.shutdown(); + executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS); + + long endTime = System.nanoTime(); + long totalTime = (endTime - startTime) / 1000000L; + averageTime += totalTime; + System.out.println("1M entried added/retrieved in " + totalTime + " ms"); + } + System.out.println("For " + testMap.getClass() + " the average time is " + averageTime / 10 + " ms\n"); + } +} diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/hashdemo/InitConcurrentHashMap.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/hashdemo/InitConcurrentHashMap.java new file mode 100644 index 0000000..891cfff --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/hashdemo/InitConcurrentHashMap.java @@ -0,0 +1,27 @@ +package com.jindo.core.hashdemo; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + * ----- + * Khởi tạo ConcurrentHashMap trong Java + */ +public class InitConcurrentHashMap { + public static void main(String[] args) { + // HashTable: + Map normalMap = new Hashtable(); + + // method .synchronizedMap + Map synchronizedHashMap = Collections.synchronizedMap(new HashMap()); + + // ConcurrentHashMap + Map concurrentHashMap = new ConcurrentHashMap(); + + } +} diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/threadpool/Run.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/threadpool/Run.java new file mode 100644 index 0000000..70a09dd --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/threadpool/Run.java @@ -0,0 +1,29 @@ +package com.jindo.core.threadpool; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + * ----- + * Khởi tạo một Object run + * + Chứa id: nơi định danh tiến trình có id nào đang được chạy + */ + +public class Run implements Runnable{ + + int id; + + public Run(int id){ + this.id = id; + } + + @Override + public void run() { + System.out.println("Tiến trình đang được thực thi " + id); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + System.out.println("Tiến trình đã được thực thi xong " + id); + } +} diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/threadpool/TestThreadPool.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/threadpool/TestThreadPool.java new file mode 100644 index 0000000..edd918c --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/threadpool/TestThreadPool.java @@ -0,0 +1,46 @@ +package com.jindo.core.threadpool; + +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + */ +public class TestThreadPool { + public static void main(String[] args) { + int corePoolSize = 5; + int maximumPoolSize = 10; + long keepAliveTime = 500; + TimeUnit unit = TimeUnit.SECONDS; + + ArrayBlockingQueue workQueue = new ArrayBlockingQueue<>(100); + RejectedExecutionHandler handler = new ThreadPoolExecutor.CallerRunsPolicy(); + /** + * Code khởi tạo ThreadPoolExecutor: + * + corePoolSize: là số lượng Thread tối thiếu trong ThreadPool. + * Khi khởi tạo, số lượng Thread có thể là 0. Khi nhiệm vụ được thêm vào thì Thread mới được tạo ra + * kể từ đây, nếu số lượng Thread ít hơn corePoolSize thì những Thread mới sẽ được tạo ra đến khi số + * Thread bằng giá trị của corePoolSize. + * + maximumPoolSize: là số lượng tối đa các Thread trong ThreadPool + * + keepAliveTime: khi số Thread lớn hơn corePoolSize thì keepAliveTime là thời gian tối đa mà một Thread "nhàn rỗi" + * chờ nhiệm vụ. Khi hết thời gian chờ mà Thread đó chưa có nhiệm vụ thì Thread đó sẽ bị hủy. + * + unit: là đơn vị thời gian của keepAliveTime. + * Trong ví dụ này thì unit là TimeUnit.SECONDS. + * + workQueue: là hàng đợi dùng để chứa các nhiệm vụ mà các Thread sẽ lấy chúng ra và thực thi lần lượt, + * Trong ví dụ này sử dụng: ArrayBlockingQueue. + * + handler: Hàng động khi một request (task) bị từ chối (rejected) + */ + ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(corePoolSize, + maximumPoolSize, keepAliveTime, unit, workQueue, handler); + for(int i = 0; i < 100; i++){ + /** + * Khởi tạo 1 Thread thực hiện logic nào đó. + */ + threadPoolExecutor.execute(new Run(i)); + } + threadPoolExecutor.shutdown(); + } +} diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/threadpool/TestThreadPoolExecutorService.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/threadpool/TestThreadPoolExecutorService.java new file mode 100644 index 0000000..bd78462 --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/threadpool/TestThreadPoolExecutorService.java @@ -0,0 +1,29 @@ +package com.jindo.core.threadpool; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + * + */ +public class TestThreadPoolExecutorService { + public static void main(String[] args) { + System.out.println("-----> Running TestThreadPoolExecutorService...."); + ExecutorService pool = Executors.newFixedThreadPool(5); + for(int i = 0; i < 100; i++){ + /** + * Thực hiện submit 100 task lên Queue/ExecutorService: + */ + pool.submit(new Run(i)); + } + try { + pool.awaitTermination(1, TimeUnit.SECONDS); + } catch (InterruptedException e) { + e.printStackTrace(); + } + pool.shutdown(); + } +} diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd1/Access.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd1/Access.java new file mode 100644 index 0000000..322b807 --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd1/Access.java @@ -0,0 +1,34 @@ +package com.jindo.core.vd1; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + */ +public class Access implements Runnable{ + + String name; + count c; + + public Access(String name, count c){ + this.name = name; + this.c = c; + } + + /** + * Tại mỗi index sẽ sảy ra 2 trường hợp: + * Th1: Giá trị ban đầu là đúng + * Th2: Giá trị tiếp theo trong cùng một index đó sẽ trừ đi 1 đơn vị. + * Thread-1 index 0 before: 10 + * Thread-1 index 0 before: 8 + * Lý do: Trong thời gian in ra giá trị ban đầu và in ra lệnh thì Thread 2 đã thực hiện giảm giá trị của value. + */ + @Override + public synchronized void run() { + for(int i = 0; i < 3; i++){ + System.out.println(name + " index " + i + " before: " + c.value); + c.value--; + System.out.println(name + " index " + i + " before: " + c.value); + + } + } +} diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd1/TestThread.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd1/TestThread.java new file mode 100644 index 0000000..8c2fda9 --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd1/TestThread.java @@ -0,0 +1,17 @@ +package com.jindo.core.vd1; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + */ +public class TestThread { + public static void main(String[] args) { + System.out.println("----> Running Test Thread"); + count c = new count(); + Thread t1 = new Thread(new Access("Thread-1", c)); + Thread t2 = new Thread(new Access("Thread-2", c)); + + t1.start(); + t2.start(); + } +} diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd1/count.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd1/count.java new file mode 100644 index 0000000..8d61276 --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd1/count.java @@ -0,0 +1,9 @@ +package com.jindo.core.vd1; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + */ +public class count { + int value = 10; +} diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd2/MyThread.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd2/MyThread.java new file mode 100644 index 0000000..519c042 --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd2/MyThread.java @@ -0,0 +1,20 @@ +package com.jindo.core.vd2; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + */ +public class MyThread extends Thread{ + private String name; + private int value; + + public MyThread(String name, int value){ + this.name = name; + this.value = value; + } + + @Override + public void run() { + Table.print(name, value); + } +} diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd2/Table.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd2/Table.java new file mode 100644 index 0000000..14feb68 --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd2/Table.java @@ -0,0 +1,14 @@ +package com.jindo.core.vd2; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + */ +public class Table { + //synchronized + synchronized static void print(String name, int n){ + for (int i = 1; i <= 5; i++){ + System.out.println(name + ": " + i * n); + } + } +} diff --git a/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd2/TestThread.java b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd2/TestThread.java new file mode 100644 index 0000000..d252ddd --- /dev/null +++ b/Java-Concurrence/Banking-synch-unsynch/src/com/jindo/core/vd2/TestThread.java @@ -0,0 +1,18 @@ +package com.jindo.core.vd2; + +/** + * @author ManhKM on 5/10/2022 + * @project Banking-synch-unsynch + */ +public class TestThread { + public static void main(String[] args) { + System.out.println("----> Running Test-Thread..."); + MyThread t1 = new MyThread("Thread 1_1", 1); + MyThread t2 = new MyThread("Thread 1_2", 10); + MyThread t3 = new MyThread("Thread 1_3", 100); + + t1.start(); + t2.start(); + t3.start(); + } +} diff --git a/Java-Concurrence/Java-Runnable/java-runnable/src/com/core/App.java b/Java-Concurrence/Java-Runnable/java-runnable/src/com/core/App.java new file mode 100644 index 0000000..1837a53 --- /dev/null +++ b/Java-Concurrence/Java-Runnable/java-runnable/src/com/core/App.java @@ -0,0 +1,28 @@ +package com.core; + +/** + * @author ManhKM on 8/10/2022 + * @project java-runnable + */ +public class App { + + public static void main(String[] args) { + Thread.currentThread().setName("Thread-main-of-java-runnable"); + System.out.println("Main thread is - " + + Thread.currentThread().getName() + "\n"); + + Runnable runnable1 = new RunnableImpl("A", 50); + Thread task = new Thread(runnable1); + task.setName("Thread-A"); + + Runnable runnable2 = new RunnableImpl("B", 100); + Thread task1 = new Thread(runnable2); + task1.setName("Thread-B"); + + task.start(); + + task1.start(); + + System.out.println("---THE END---"); + } +} diff --git a/Java-Concurrence/Java-Runnable/java-runnable/src/com/core/RunnableImpl.java b/Java-Concurrence/Java-Runnable/java-runnable/src/com/core/RunnableImpl.java new file mode 100644 index 0000000..5b9a787 --- /dev/null +++ b/Java-Concurrence/Java-Runnable/java-runnable/src/com/core/RunnableImpl.java @@ -0,0 +1,29 @@ +package com.core; + +/** + * @author ManhKM on 8/10/2022 + * @project java-runnable + */ +public class RunnableImpl implements Runnable { + + private String name; // name of Runnable + private int count; // count + + public RunnableImpl(String name, int count) { + this.name = name; + this.count = count; + } + + @Override + public void run() { + for (int i = 0; i < count; i++) { + System.out.print(name); + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + System.out.println("\n" + Thread.currentThread().getName() + ", executing run() method!"); + } +} diff --git a/Java-Concurrence/Java-Task/.gitignore b/Java-Concurrence/Java-Task/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/Java-Concurrence/Java-Task/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/Java-Concurrence/Java-Task/.mvn/wrapper/maven-wrapper.jar b/Java-Concurrence/Java-Task/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000..c1dd12f Binary files /dev/null and b/Java-Concurrence/Java-Task/.mvn/wrapper/maven-wrapper.jar differ diff --git a/Java-Concurrence/Java-Task/.mvn/wrapper/maven-wrapper.properties b/Java-Concurrence/Java-Task/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..b74bf7f --- /dev/null +++ b/Java-Concurrence/Java-Task/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/Java-Concurrence/Java-Task/docs/img/1-implement-runnable.png b/Java-Concurrence/Java-Task/docs/img/1-implement-runnable.png new file mode 100644 index 0000000..63fb497 Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/1-implement-runnable.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/2-extend-thread.png b/Java-Concurrence/Java-Task/docs/img/2-extend-thread.png new file mode 100644 index 0000000..47e2059 Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/2-extend-thread.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/3-su-dung-lop-Thread.png b/Java-Concurrence/Java-Task/docs/img/3-su-dung-lop-Thread.png new file mode 100644 index 0000000..1d0b96a Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/3-su-dung-lop-Thread.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/4-su-dung-join.png b/Java-Concurrence/Java-Task/docs/img/4-su-dung-join.png new file mode 100644 index 0000000..a7ba590 Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/4-su-dung-join.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/5-thread-pool.png b/Java-Concurrence/Java-Task/docs/img/5-thread-pool.png new file mode 100644 index 0000000..d430e54 Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/5-thread-pool.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/6-2-co-che-thread-pool-trong-java.png b/Java-Concurrence/Java-Task/docs/img/6-2-co-che-thread-pool-trong-java.png new file mode 100644 index 0000000..b043a47 Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/6-2-co-che-thread-pool-trong-java.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/7-thread-pool-new-cache-thread-pool.png b/Java-Concurrence/Java-Task/docs/img/7-thread-pool-new-cache-thread-pool.png new file mode 100644 index 0000000..08ce65e Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/7-thread-pool-new-cache-thread-pool.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/8-thread-synchronization.png b/Java-Concurrence/Java-Task/docs/img/8-thread-synchronization.png new file mode 100644 index 0000000..2adb3f0 Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/8-thread-synchronization.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/9-thread-synchronization.png b/Java-Concurrence/Java-Task/docs/img/9-thread-synchronization.png new file mode 100644 index 0000000..8ee2c78 Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/9-thread-synchronization.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/9-vi-du-acount-banking.png b/Java-Concurrence/Java-Task/docs/img/9-vi-du-acount-banking.png new file mode 100644 index 0000000..451c93d Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/9-vi-du-acount-banking.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/9-vi-du-acount-withdrawtask-banking.png b/Java-Concurrence/Java-Task/docs/img/9-vi-du-acount-withdrawtask-banking.png new file mode 100644 index 0000000..978bd02 Binary files /dev/null and b/Java-Concurrence/Java-Task/docs/img/9-vi-du-acount-withdrawtask-banking.png differ diff --git a/Java-Concurrence/Java-Task/docs/img/note-thread.md b/Java-Concurrence/Java-Task/docs/img/note-thread.md new file mode 100644 index 0000000..e8b82dd --- /dev/null +++ b/Java-Concurrence/Java-Task/docs/img/note-thread.md @@ -0,0 +1,53 @@ + +## Ưu điểm khi implement Runnable + +Khi implement Runnable thì có thể implement nhiều interface khác nữa. + +Còn khi Extend từ Thread thì chỉ có thể 1 thằng cha thôi, ngoài ra thì không thể extend thì những thằng khác. + +Khó mở rộng hơn Runnable. + +Java Đa luồng nghe có vẻ cao sang nhưng hiểu bản chất của nó thì rất là đơn giản thôi. + +## Sử dụng lớp Thread + +Các phương thức hay sử dụng + +Phương thức join(): Sử dụng để bắt thread đó phải dừng lại, cho thread khác thực thi. + +## Thread Pool + +Khi tạo Thread --> mỗi Task là một Thread. + +Nếu hệ thống lớn, mỗi Task vào một Thread thì hơi phí. + +ThreadPool là một cái cách để lưu tạm các Thread vào một cái Pool, bể chứa. + +Thread nào nó rảnh thì nó nhào vô chạy. + +ThreadPool tạo giải pháp khi số lượng Thread quá lớn. + +Nếu tạo sẵn 3 Thread --> tạo nó cứ chạy xoay vòng 3 thread đó. + +Ví dụ: Việc làm hồ sơ nhập học. + +Có 3 cái bàn làm việc(bàn tiếp nhận hồ sơ) -> tương ứng giống số Thread cấp phát tối đa. + +Khi có yêu cầu làm hồ sơ, task cứ xếp vào các thread đó, khi bàn nào trồng thì đẩy các task sang bàn đó. + +Khi xử lý giống bộ phận 1 cửa nó sẽ nhanh hơn. + +Nếu 3 bàn không đủ thì mở thêm một bàn nữa là bàn số 4. + +Căn bản Thread nó cũng giống MultiThread thôi, nhưng ưu điểm của nó là tận dụng lại được toàn bộ sự nhàn rỗi của Thread. + +Ví dụ nếu Thread 1 nó đã nhàn rỗi rồi mà cứ tạo mới thêm vào nó thì cũng lãng phí -> phải điều phối được chúng. + +Java cung cấp: + +Interface Executor: để thực thi các Task trong Thread Pool + +Interface ExecutorService: để quản lý và điều khiển các Task. + + + diff --git a/Java-Concurrence/Java-Task/java-job/.gitignore b/Java-Concurrence/Java-Task/java-job/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/Java-Concurrence/Java-Task/java-job/.mvn/wrapper/maven-wrapper.jar b/Java-Concurrence/Java-Task/java-job/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000..c1dd12f Binary files /dev/null and b/Java-Concurrence/Java-Task/java-job/.mvn/wrapper/maven-wrapper.jar differ diff --git a/Java-Concurrence/Java-Task/java-job/.mvn/wrapper/maven-wrapper.properties b/Java-Concurrence/Java-Task/java-job/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..b74bf7f --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/Java-Concurrence/Java-Task/java-job/config/application.yml b/Java-Concurrence/Java-Task/java-job/config/application.yml new file mode 100644 index 0000000..e69de29 diff --git a/Java-Concurrence/Java-Task/java-job/config/beans.xml b/Java-Concurrence/Java-Task/java-job/config/beans.xml new file mode 100644 index 0000000..74dfbb7 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/config/beans.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/Java-Concurrence/Java-Task/java-job/config/job.properties b/Java-Concurrence/Java-Task/java-job/config/job.properties new file mode 100644 index 0000000..e69de29 diff --git a/Java-Concurrence/Java-Task/java-job/config/log4j2.xml b/Java-Concurrence/Java-Task/java-job/config/log4j2.xml new file mode 100644 index 0000000..e69de29 diff --git a/Java-Concurrence/Java-Task/java-job/config/schedule-conf.xml b/Java-Concurrence/Java-Task/java-job/config/schedule-conf.xml new file mode 100644 index 0000000..2d1861a --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/config/schedule-conf.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/Java-Concurrence/Java-Task/java-job/mvnw b/Java-Concurrence/Java-Task/java-job/mvnw new file mode 100644 index 0000000..841f63a --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/mvnw @@ -0,0 +1,331 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ]; then + + if [ -f /usr/local/etc/mavenrc ]; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ]; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ]; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false +darwin=false +mingw=false +case "$(uname)" in +CYGWIN*) cygwin=true ;; +MINGW*) mingw=true ;; +Darwin*) + darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="$(/usr/libexec/java_home)" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ]; then + if [ -r /etc/gentoo-release ]; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +if [ -z "$M2_HOME" ]; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ]; do + ls=$(ls -ld "$PRG") + link=$(expr "$ls" : '.*-> \(.*\)$') + if expr "$link" : '/.*' >/dev/null; then + PRG="$link" + else + PRG="$(dirname "$PRG")/$link" + fi + done + + saveddir=$(pwd) + + M2_HOME=$(dirname "$PRG")/.. + + # make it fully qualified + M2_HOME=$(cd "$M2_HOME" && pwd) + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --unix "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw; then + [ -n "$M2_HOME" ] && + M2_HOME="$( ( + cd "$M2_HOME" + pwd + ))" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="$( ( + cd "$JAVA_HOME" + pwd + ))" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then + if $darwin; then + javaHome="$(dirname \"$javaExecutable\")" + javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac" + else + javaExecutable="$(readlink -f \"$javaExecutable\")" + fi + javaHome="$(dirname \"$javaExecutable\")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ]; then + if [ -n "$JAVA_HOME" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$( + \unset -f command + \command -v java + )" + fi +fi + +if [ ! -x "$JAVACMD" ]; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ]; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ]; then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ]; do + if [ -d "$wdir"/.mvn ]; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$( + cd "$wdir/.." + pwd + ) + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' <"$1")" + fi +} + +BASE_DIR=$(find_maven_basedir "$(pwd)") +if [ -z "$BASE_DIR" ]; then + exit 1 +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in wrapperUrl) + jarUrl="$value" + break + ;; + esac + done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --path --windows "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/Java-Concurrence/Java-Task/java-job/mvnw.cmd b/Java-Concurrence/Java-Task/java-job/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/Java-Concurrence/Java-Task/java-job/pom.xml b/Java-Concurrence/Java-Task/java-job/pom.xml new file mode 100644 index 0000000..3aedc2e --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/pom.xml @@ -0,0 +1,50 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.7.3 + + + com.msoft + java-job + 0.0.1-SNAPSHOT + java-job + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-web + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/JavaJobApplication.java b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/JavaJobApplication.java new file mode 100644 index 0000000..893d291 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/JavaJobApplication.java @@ -0,0 +1,29 @@ +package com.msoft.javajob; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; +import org.springframework.context.annotation.ImportResource; +import org.springframework.scheduling.annotation.EnableScheduling; + +@SpringBootApplication +@EnableScheduling +@EnableAutoConfiguration(exclude = HibernateJpaAutoConfiguration.class) +public class JavaJobApplication { + + private static final Logger logger = LoggerFactory.getLogger(JavaJobApplication.class); + + public static void main(String[] args) { + try { + SpringApplication.run(JavaJobApplication.class, args); + + System.out.println("SERVER_IS_READY"); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/ExecutorServiceClient.java b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/ExecutorServiceClient.java new file mode 100644 index 0000000..e0ace27 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/ExecutorServiceClient.java @@ -0,0 +1,26 @@ +package com.msoft.javajob.basic.multi; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * @author ManhKM on 8/29/2022 + * @project Java-Task + */ +public class ExecutorServiceClient { + + public static void main(String[] args) { + + // Tạo pool với 2 thread cố định: + ExecutorService executor = Executors.newFixedThreadPool(10); + + // Đặt các Task vào executor: + executor.execute(new MyTask("a", 10)); + executor.execute(new MyTask("b", 20)); + executor.execute(new MyTask("c", 30)); + + // Ngừng executor: + executor.shutdown(); + } + +} diff --git a/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/MyMultiThread.java b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/MyMultiThread.java new file mode 100644 index 0000000..ae6acd7 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/MyMultiThread.java @@ -0,0 +1,25 @@ +package com.msoft.javajob.basic.multi; + +/** + * @author ManhKM on 8/29/2022 + * @project Java-Task + * ----- + * Để kiểu là kiểu của thằng Cha -> còn new là con + * Nếu số Task quá lớn thì việc thực hiện đơn luồng là không khả thi. + * Nó không có chờ nhau, cứ CPU nhàn rỗi thì nó tối ưu để chạy luôn. + * + */ +public class MyMultiThread { + + public static void main(String[] args) { + Runnable myTask1 = new MyTask("A", 50); + Thread thread1 = new Thread(myTask1); + + Runnable myTask2 = new MyTask("B", 50); + Thread thread2 = new Thread(myTask2); + + thread1.start(); // khi start() thì tự động Thread sẽ kích hoạt --> run() method + thread2.start(); + } + +} diff --git a/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/MyTask.java b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/MyTask.java new file mode 100644 index 0000000..d903d12 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/MyTask.java @@ -0,0 +1,26 @@ +package com.msoft.javajob.basic.multi; + +/** + * @author ManhKM on 8/29/2022 + * @project Java-Task + * ----- + * Định nghĩa ra một Task có nhiệm vụ thực hiện in ra ngoài màn hình. + * Lúc này MyTask chính là tác vụ cần xử lý. + * MyTask cần được gắn vào một Thread để chạy. + */ +public class MyTask implements Runnable{ + private String name; + private int time; + + public MyTask(String name, int time){ + this.name = name; + this.time = time; + } + + @Override + public void run(){ + for(int i = 0; i < this.time; i++){ + System.out.print(this.name); + } + } +} diff --git a/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/banking/Account.java b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/banking/Account.java new file mode 100644 index 0000000..325d11b --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/banking/Account.java @@ -0,0 +1,51 @@ +package com.msoft.javajob.basic.multi.banking; + +/** + * @author ManhKM on 8/29/2022 + * @project Java-Task + */ +public class Account { + + private String name; + private double amount; + + public Account(String name, double amount){ + this.name = name; + this.amount = amount; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getAmount() { + return amount; + } + + public void setAmount(double amount) { + this.amount = amount; + } + + /** + * Thực hiện phương thức rút tiền trong tài khoản ngân hàng. + * @param a + */ + public synchronized void withdraw(double a){ + System.out.println("Số tiền ban đầu trong tài khoản: " + this.amount); + if(this.getAmount() >= a){ + try { + Thread.sleep(1000); + this.setAmount(this.getAmount() - a); + System.out.println(" Số tiền sau khi rút còn lại: " + this.amount); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } else { + System.out.println("Rất tiếc số tiền không đủ"); + } + } +} diff --git a/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/banking/AccountClient.java b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/banking/AccountClient.java new file mode 100644 index 0000000..d883190 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/banking/AccountClient.java @@ -0,0 +1,24 @@ +package com.msoft.javajob.basic.multi.banking; + +/** + * @author ManhKM on 8/29/2022 + * @project Java-Task + */ +public class AccountClient { + + public static void main(String[] args) { + Account a = new Account("manhkm", 15); + + // Số tiền thực hiện rút: + Long amount = 10L; + + Runnable task1 = new WithdrawTask(a, amount); + Thread t1 = new Thread(task1); + + Runnable task2 = new WithdrawTask(a, amount); + Thread t2 = new Thread(task2); + + t1.start(); + t2.start(); + } +} diff --git a/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/banking/WithdrawTask.java b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/banking/WithdrawTask.java new file mode 100644 index 0000000..9309d00 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/multi/banking/WithdrawTask.java @@ -0,0 +1,25 @@ +package com.msoft.javajob.basic.multi.banking; + +/** + * @author ManhKM on 8/29/2022 + * @project Java-Task + */ +public class WithdrawTask implements Runnable{ + + private Account acct; + private long mount; + + public WithdrawTask(Account acct, long mount){ + this.acct = acct; + this.mount = mount; + } + + @Override + public void run() { + try { + this.acct.withdraw(this.mount); + } catch (Exception e){ + e.printStackTrace(); + } + } +} diff --git a/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/nonthread/MyClient.java b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/nonthread/MyClient.java new file mode 100644 index 0000000..7d318b8 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/nonthread/MyClient.java @@ -0,0 +1,18 @@ +package com.msoft.javajob.basic.nonthread; + +/** + * @author ManhKM on 8/29/2022 + * @project Java-Task + */ +public class MyClient { + + public static void main(String[] args) { + MyTask task1 = new MyTask("A", 20); + MyTask task2 = new MyTask("B", 20); + + task1.run(); + task2.run(); + task1.run(); + + } +} diff --git a/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/nonthread/MyTask.java b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/nonthread/MyTask.java new file mode 100644 index 0000000..a705e8f --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/basic/nonthread/MyTask.java @@ -0,0 +1,23 @@ +package com.msoft.javajob.basic.nonthread; + +/** + * @author ManhKM on 8/29/2022 + * @project Java-Task + * ----- + * Định nghĩa ra một Task có nhiệm vụ thực hiện in ra ngoài màn hình. + */ +public class MyTask { + private String name; + private int time; + + public MyTask(String name, int time){ + this.name = name; + this.time = time; + } + + public void run(){ + for(int i = 0; i < this.time; i++){ + System.out.print(this.name); + } + } +} diff --git a/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/controller/MainController.java b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/controller/MainController.java new file mode 100644 index 0000000..c102570 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/java/com/msoft/javajob/controller/MainController.java @@ -0,0 +1,18 @@ +package com.msoft.javajob.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author ManhKM on 8/28/2022 + * @project Java-Task + */ +@RestController +public class MainController { + + @RequestMapping(value = "/", method = RequestMethod.GET) + public String sayHello(){ + return "Welcome to Java-Job"; + } +} diff --git a/Java-Concurrence/Java-Task/java-job/src/main/resources/application.properties b/Java-Concurrence/Java-Task/java-job/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/Java-Concurrence/Java-Task/java-job/src/test/java/com/msoft/javajob/JavaJobApplicationTests.java b/Java-Concurrence/Java-Task/java-job/src/test/java/com/msoft/javajob/JavaJobApplicationTests.java new file mode 100644 index 0000000..508f949 --- /dev/null +++ b/Java-Concurrence/Java-Task/java-job/src/test/java/com/msoft/javajob/JavaJobApplicationTests.java @@ -0,0 +1,13 @@ +package com.msoft.javajob; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class JavaJobApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/Java-Concurrence/Java-Task/msoft-core/.gitignore b/Java-Concurrence/Java-Task/msoft-core/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/Java-Concurrence/Java-Task/msoft-core/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/Java-Concurrence/Java-Task/msoft-core/.mvn/wrapper/maven-wrapper.jar b/Java-Concurrence/Java-Task/msoft-core/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000..c1dd12f Binary files /dev/null and b/Java-Concurrence/Java-Task/msoft-core/.mvn/wrapper/maven-wrapper.jar differ diff --git a/Java-Concurrence/Java-Task/msoft-core/.mvn/wrapper/maven-wrapper.properties b/Java-Concurrence/Java-Task/msoft-core/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..b74bf7f --- /dev/null +++ b/Java-Concurrence/Java-Task/msoft-core/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/Java-Concurrence/Java-Task/msoft-core/mvnw b/Java-Concurrence/Java-Task/msoft-core/mvnw new file mode 100644 index 0000000..841f63a --- /dev/null +++ b/Java-Concurrence/Java-Task/msoft-core/mvnw @@ -0,0 +1,331 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ]; then + + if [ -f /usr/local/etc/mavenrc ]; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ]; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ]; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false +darwin=false +mingw=false +case "$(uname)" in +CYGWIN*) cygwin=true ;; +MINGW*) mingw=true ;; +Darwin*) + darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="$(/usr/libexec/java_home)" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ]; then + if [ -r /etc/gentoo-release ]; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +if [ -z "$M2_HOME" ]; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ]; do + ls=$(ls -ld "$PRG") + link=$(expr "$ls" : '.*-> \(.*\)$') + if expr "$link" : '/.*' >/dev/null; then + PRG="$link" + else + PRG="$(dirname "$PRG")/$link" + fi + done + + saveddir=$(pwd) + + M2_HOME=$(dirname "$PRG")/.. + + # make it fully qualified + M2_HOME=$(cd "$M2_HOME" && pwd) + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --unix "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw; then + [ -n "$M2_HOME" ] && + M2_HOME="$( ( + cd "$M2_HOME" + pwd + ))" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="$( ( + cd "$JAVA_HOME" + pwd + ))" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then + if $darwin; then + javaHome="$(dirname \"$javaExecutable\")" + javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac" + else + javaExecutable="$(readlink -f \"$javaExecutable\")" + fi + javaHome="$(dirname \"$javaExecutable\")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ]; then + if [ -n "$JAVA_HOME" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$( + \unset -f command + \command -v java + )" + fi +fi + +if [ ! -x "$JAVACMD" ]; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ]; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ]; then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ]; do + if [ -d "$wdir"/.mvn ]; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$( + cd "$wdir/.." + pwd + ) + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' <"$1")" + fi +} + +BASE_DIR=$(find_maven_basedir "$(pwd)") +if [ -z "$BASE_DIR" ]; then + exit 1 +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in wrapperUrl) + jarUrl="$value" + break + ;; + esac + done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --path --windows "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/Java-Concurrence/Java-Task/msoft-core/mvnw.cmd b/Java-Concurrence/Java-Task/msoft-core/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/Java-Concurrence/Java-Task/msoft-core/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/Java-Concurrence/Java-Task/msoft-core/pom.xml b/Java-Concurrence/Java-Task/msoft-core/pom.xml new file mode 100644 index 0000000..7b5e5bf --- /dev/null +++ b/Java-Concurrence/Java-Task/msoft-core/pom.xml @@ -0,0 +1,42 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.7.3 + + + com.msoft + msoft-core + 0.0.1-SNAPSHOT + msoft-core + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/Java-Concurrence/Java-Task/msoft-core/src/main/java/com/msoft/core/MsoftCoreApplication.java b/Java-Concurrence/Java-Task/msoft-core/src/main/java/com/msoft/core/MsoftCoreApplication.java new file mode 100644 index 0000000..8cea5b2 --- /dev/null +++ b/Java-Concurrence/Java-Task/msoft-core/src/main/java/com/msoft/core/MsoftCoreApplication.java @@ -0,0 +1,13 @@ +package com.msoft.core; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class MsoftCoreApplication { + + public static void main(String[] args) { + SpringApplication.run(MsoftCoreApplication.class, args); + } + +} diff --git a/Java-Concurrence/Java-Task/msoft-core/src/main/resources/application.properties b/Java-Concurrence/Java-Task/msoft-core/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Java-Concurrence/Java-Task/msoft-core/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/Java-Concurrence/Java-Task/msoft-core/src/test/java/com/msoft/core/MsoftCoreApplicationTests.java b/Java-Concurrence/Java-Task/msoft-core/src/test/java/com/msoft/core/MsoftCoreApplicationTests.java new file mode 100644 index 0000000..7f015c9 --- /dev/null +++ b/Java-Concurrence/Java-Task/msoft-core/src/test/java/com/msoft/core/MsoftCoreApplicationTests.java @@ -0,0 +1,13 @@ +package com.msoft.core; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class MsoftCoreApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/Java-Concurrence/Java-Task/mvnw b/Java-Concurrence/Java-Task/mvnw new file mode 100644 index 0000000..841f63a --- /dev/null +++ b/Java-Concurrence/Java-Task/mvnw @@ -0,0 +1,331 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ]; then + + if [ -f /usr/local/etc/mavenrc ]; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ]; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ]; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false +darwin=false +mingw=false +case "$(uname)" in +CYGWIN*) cygwin=true ;; +MINGW*) mingw=true ;; +Darwin*) + darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="$(/usr/libexec/java_home)" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ]; then + if [ -r /etc/gentoo-release ]; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +if [ -z "$M2_HOME" ]; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ]; do + ls=$(ls -ld "$PRG") + link=$(expr "$ls" : '.*-> \(.*\)$') + if expr "$link" : '/.*' >/dev/null; then + PRG="$link" + else + PRG="$(dirname "$PRG")/$link" + fi + done + + saveddir=$(pwd) + + M2_HOME=$(dirname "$PRG")/.. + + # make it fully qualified + M2_HOME=$(cd "$M2_HOME" && pwd) + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --unix "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw; then + [ -n "$M2_HOME" ] && + M2_HOME="$( ( + cd "$M2_HOME" + pwd + ))" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="$( ( + cd "$JAVA_HOME" + pwd + ))" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then + if $darwin; then + javaHome="$(dirname \"$javaExecutable\")" + javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac" + else + javaExecutable="$(readlink -f \"$javaExecutable\")" + fi + javaHome="$(dirname \"$javaExecutable\")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ]; then + if [ -n "$JAVA_HOME" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$( + \unset -f command + \command -v java + )" + fi +fi + +if [ ! -x "$JAVACMD" ]; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ]; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ]; then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ]; do + if [ -d "$wdir"/.mvn ]; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$( + cd "$wdir/.." + pwd + ) + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' <"$1")" + fi +} + +BASE_DIR=$(find_maven_basedir "$(pwd)") +if [ -z "$BASE_DIR" ]; then + exit 1 +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in wrapperUrl) + jarUrl="$value" + break + ;; + esac + done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --path --windows "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/Java-Concurrence/Java-Task/mvnw.cmd b/Java-Concurrence/Java-Task/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/Java-Concurrence/Java-Task/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/Java-Concurrence/Java-Task/pom.xml b/Java-Concurrence/Java-Task/pom.xml new file mode 100644 index 0000000..6981549 --- /dev/null +++ b/Java-Concurrence/Java-Task/pom.xml @@ -0,0 +1,48 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.7.3 + + + com.msoft + Java-Task + 0.0.1-SNAPSHOT + Java-Task + Demo project for Spring Boot + + + java-job + msoft-core + + + + 1.8 + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git "a/Java-Concurrence/Java-Thread-Pool/docs/Kha\314\201i nie\314\243\314\202m ThreadPool va\314\200 Executor trong Java.docx" "b/Java-Concurrence/Java-Thread-Pool/docs/Kha\314\201i nie\314\243\314\202m ThreadPool va\314\200 Executor trong Java.docx" new file mode 100644 index 0000000..d8fa3f5 Binary files /dev/null and "b/Java-Concurrence/Java-Thread-Pool/docs/Kha\314\201i nie\314\243\314\202m ThreadPool va\314\200 Executor trong Java.docx" differ diff --git "a/Java-Concurrence/Java-Thread-Pool/docs/ThreadPoolExecutor va\314\200 nguye\314\202n ta\314\206\314\201c qua\314\211n ly\314\201 pool size.docx" "b/Java-Concurrence/Java-Thread-Pool/docs/ThreadPoolExecutor va\314\200 nguye\314\202n ta\314\206\314\201c qua\314\211n ly\314\201 pool size.docx" new file mode 100644 index 0000000..737d53a Binary files /dev/null and "b/Java-Concurrence/Java-Thread-Pool/docs/ThreadPoolExecutor va\314\200 nguye\314\202n ta\314\206\314\201c qua\314\211n ly\314\201 pool size.docx" differ diff --git "a/Java-Concurrence/Java-Thread-Pool/docs/T\303\254m hi\341\273\203u v\341\273\201 Thread Pool trong java.docx" "b/Java-Concurrence/Java-Thread-Pool/docs/T\303\254m hi\341\273\203u v\341\273\201 Thread Pool trong java.docx" new file mode 100644 index 0000000..c6dbee4 Binary files /dev/null and "b/Java-Concurrence/Java-Thread-Pool/docs/T\303\254m hi\341\273\203u v\341\273\201 Thread Pool trong java.docx" differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/AppServer.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/AppServer.class new file mode 100644 index 0000000..5cf2f56 Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/AppServer.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/Server$1.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/Server$1.class new file mode 100644 index 0000000..63a4a88 Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/Server$1.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/Server.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/Server.class new file mode 100644 index 0000000..81a8fd5 Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/Server.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/CachedThreadPoolExample.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/CachedThreadPoolExample.class new file mode 100644 index 0000000..0177ed1 Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/CachedThreadPoolExample.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/FixedThreadPoolExample.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/FixedThreadPoolExample.class new file mode 100644 index 0000000..16e1409 Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/FixedThreadPoolExample.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/JavaExecutorServiceExample$1.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/JavaExecutorServiceExample$1.class new file mode 100644 index 0000000..e6e4c9d Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/JavaExecutorServiceExample$1.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/JavaExecutorServiceExample.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/JavaExecutorServiceExample.class new file mode 100644 index 0000000..04876ee Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/JavaExecutorServiceExample.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/MainRequestHandler.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/MainRequestHandler.class new file mode 100644 index 0000000..896cf73 Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/MainRequestHandler.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/RequestHandler.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/RequestHandler.class new file mode 100644 index 0000000..14c9526 Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/RequestHandler.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/SingleThreadPoolExample.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/SingleThreadPoolExample.class new file mode 100644 index 0000000..76da83f Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/SingleThreadPoolExample.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/ThreadPoolExecutorExample.class b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/ThreadPoolExecutorExample.class new file mode 100644 index 0000000..bf4f0f5 Binary files /dev/null and b/Java-Concurrence/Java-Thread-Pool/out/production/Java-Thread-Pool/com/core/thread/loda/ThreadPoolExecutorExample.class differ diff --git a/Java-Concurrence/Java-Thread-Pool/readme.md b/Java-Concurrence/Java-Thread-Pool/readme.md new file mode 100644 index 0000000..cffb66f --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/readme.md @@ -0,0 +1,56 @@ +# Tìm hiểu về Thread Pool trong Java + +Flow: + + TaskScheduleExecute + |_ ScheduledThreadPoolExecutor + |_ ThreadPoolExecutor + |_ AbstractExecutorService + |_ ExecutorService + |_ Executor + |_ ScheduledExecutorService + |_ ExecutorService + |_ Executor + + + +## ThreadPool và Executor trong Java + +## Cách tạo ThreadPool trong Java + Java Concurrency API -> Thread Pool + 1. Cached thread pool + 2. Fixed thread pool (**) + 3. Single-threaded pool + 4. Fork/Join pool + +## Executor + 1. newSingleThreadExecutor() + 2. newCachedThreadPool() + 3. newFixedThreadPool(int n) (**) + 4. newScheduledThreadPool(int corePoolSize) + 5. newSingleThreadScheduledExecutor() + +## ThreadPoolExecutor và nguyên tắc quản lý pool size: + ThreadPoolExecutor + +## ThreadPoolExecutor vs ThreadPoolTaskExecutor -> Executor + corePoolSize : Số lương Thread mặc định trong Pool + maxPoolSize : Số lượng tối đa Thread trong Pool + queueCapacity : Số lượng tối đa của BlockingQueu + +## Nguyên tắc vận hành: + Ví dụ: + corePoolSize: 5 + maxPoolSize: 15 + queueCapacity: 100 + K + +## Reference Document + +[Khái niệm ThreadPool và Executor trong Java | Loda](https://loda.me/articles/khai-niem-threadpool-va-executor-trong-java) + + +[Tìm hiểu về Thread Pool trong Java - viblo](https://viblo.asia/p/tim-hieu-ve-thread-pool-trong-java-OeVKBDQMlkW) + + +[Java ExecutorService | jenkov.com](https://jenkov.com/tutorials/java-util-concurrent/executorservice.html) \ No newline at end of file diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/AppServer.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/AppServer.java new file mode 100644 index 0000000..e914437 --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/AppServer.java @@ -0,0 +1,9 @@ +package com.core.thread; + +/** + * @author ManhKM on 4/1/2022 + * @project Java-Thread-Pool + */ +public class AppServer { + +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/Server.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/Server.java new file mode 100644 index 0000000..aad6af1 --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/Server.java @@ -0,0 +1,33 @@ +package com.core.thread; + +import java.io.IOException; +import java.net.ServerSocket; +import java.net.Socket; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; + +/** + * @author ManhKM on 4/1/2022 + * @project Java-Thread-Pool + */ +public class Server { + static Executor pool = Executors.newFixedThreadPool(5); + + public static void main(String[] args) throws IOException { + ServerSocket socket = new ServerSocket(9000); + while (true){ + final Socket s = socket.accept(); + Runnable r = new Runnable() { + @Override + public void run() { + doWork(s); + } + }; + pool.execute(r); + } + } + + static void doWork(Socket socket){ + System.out.println("-----> HelloWorld - method doWork"); + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/CachedThreadPoolExample.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/CachedThreadPoolExample.java new file mode 100644 index 0000000..d7d8f6f --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/CachedThreadPoolExample.java @@ -0,0 +1,23 @@ +package com.core.thread.loda; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * @author ManhKM on 4/23/2022 + * @project Java-Thread-Pool + */ +public class CachedThreadPoolExample { + public static void main(String[] args) { + ExecutorService executor = Executors.newCachedThreadPool(); + + for(int i = 0; i < 100; i++){ + executor.execute(new RequestHandler("request-" + i)); + } + executor.shutdown(); + + while (!executor.isTerminated()){ + // + } + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/FixedThreadPoolExample.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/FixedThreadPoolExample.java new file mode 100644 index 0000000..d67c095 --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/FixedThreadPoolExample.java @@ -0,0 +1,28 @@ +package com.core.thread.loda; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * Thực hành việc: FixedThreadPoolExample + * size: 5 + * @author ManhKM on 4/23/2022 + * @project Java-Thread-Pool + */ +public class FixedThreadPoolExample { + public static void main(String[] args) { + ExecutorService executor = Executors.newFixedThreadPool(5); + + /** + * Khởi tạo một 100 request tới cùng một lúc + */ + for(int i = 0; i < 100; i++){ + executor.execute(new RequestHandler("request-" + i)); + } + executor.shutdown(); // Không cho threadPool nhận thêm request vào nữa + + while(!executor.isTerminated()){ + // + } + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/JavaExecutorServiceExample.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/JavaExecutorServiceExample.java new file mode 100644 index 0000000..70127db --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/JavaExecutorServiceExample.java @@ -0,0 +1,24 @@ +package com.core.thread.loda; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * @author ManhKM on 5/9/2022 + * @project Java-Thread-Pool + * + * https://jenkov.com/tutorials/java-util-concurrent/executorservice.html#task-delegation + * + */ +public class JavaExecutorServiceExample { + public static void main(String[] args) { + ExecutorService executorService = Executors.newFixedThreadPool(10); + executorService.execute(new Runnable() { + @Override + public void run() { + System.out.println("Không đồng bộ task"); + } + }); + executorService.shutdown(); + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/MainRequestHandler.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/MainRequestHandler.java new file mode 100644 index 0000000..226498e --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/MainRequestHandler.java @@ -0,0 +1,12 @@ +package com.core.thread.loda; + +/** + * @author ManhKM on 4/23/2022 + * @project Java-Thread-Pool + */ +public class MainRequestHandler { + public static void main(String[] args) { + Thread t1 = new Thread(new RequestHandler("request-handler")); + t1.start(); + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/RequestHandler.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/RequestHandler.java new file mode 100644 index 0000000..a56d605 --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/RequestHandler.java @@ -0,0 +1,25 @@ +package com.core.thread.loda; + +/** + * @author ManhKM on 4/23/2022 + * @project Java-Thread-Pool + */ +public class RequestHandler implements Runnable{ + String name; + public RequestHandler(String name){ + this.name = name; + } + + @Override + public void run() { + try { + System.out.println(Thread.currentThread().getName()+ " Starting process " + name); + Thread.sleep(500); + System.out.println(Thread.currentThread().getName() + " Finished process " + name); + + } catch (InterruptedException e) { + e.printStackTrace(); + } + + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/SingleThreadPoolExample.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/SingleThreadPoolExample.java new file mode 100644 index 0000000..e9bc397 --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/SingleThreadPoolExample.java @@ -0,0 +1,27 @@ +package com.core.thread.loda; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * @author ManhKM on 4/23/2022 + * @project Java-Thread-Pool + */ +public class SingleThreadPoolExample { + public static void main(String[] args) { + ExecutorService executor = Executors.newSingleThreadExecutor(); + + /** + * Giả sử có 100 request tới cùng một lúc + * Mỗi name-request -> format: request-1,... + */ + for (int i = 0; i < 100; i++){ + executor.execute(new RequestHandler("request-"+i)); + } + executor.shutdown(); + + while (!executor.isTerminated()){ + // Chờ xử lý hết các request còn chờ trong QUEUE + } + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/ThreadPoolExecutorExample.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/ThreadPoolExecutorExample.java new file mode 100644 index 0000000..833e488 --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/loda/ThreadPoolExecutorExample.java @@ -0,0 +1,39 @@ +package com.core.thread.loda; + +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 4/23/2022 + * @project Java-Thread-Pool + */ +public class ThreadPoolExecutorExample { + + public static void main(String[] args) { + int corePoolSize = 5; + int maximumPoolSize = 10; + int queueCapacity = 100; + + ThreadPoolExecutor executor = new ThreadPoolExecutor(corePoolSize, + maximumPoolSize, + 10, //Thời gian một thread được sống nếu không làm gì + TimeUnit.SECONDS, + new ArrayBlockingQueue<>(queueCapacity)); // Blocking queue để cho request đợi + + // 1000 request đến dồn dập, liền 1 phát, không nghỉ. + for (int i = 0; i < 1000; i++) { + executor.execute(new RequestHandler("request-" + i)); + try { + Thread.sleep(50); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + executor.shutdown(); // Không cho threadpool nhận thêm nhiệm vụ vào nữa + + while (!executor.isTerminated()) { + // + } + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/unikgate/ThreadMain.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/unikgate/ThreadMain.java new file mode 100644 index 0000000..54d2777 --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/unikgate/ThreadMain.java @@ -0,0 +1,47 @@ +package com.core.thread.unikgate; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +/** + * @author ManhKM on 1/3/2023 + * @project Java-Thread-Pool ---- Test tốc độ chạy của ThreadPool so với Thread thông thường + */ +public class ThreadMain { + + static long N = 1_000_000_000_000_000L; + + public static void main(String[] args) throws InterruptedException { + ExecutorService executorService = Executors.newFixedThreadPool(50); + long start = System.currentTimeMillis(); + + System.out.println("SERVER IS READY!"); + Future sumFuture1 = executorService.submit(() -> { + long sum = 0; + for (int i = 0; i < N; i++) { + sum += i; + } + return sum; + }); + + Future sumFuture2 = executorService.submit(() -> { + long sum = 0; + for (int i = 0; i < N; i++) { + sum += i; + } + return sum; + }); + + int countWaiting = 0; + while (!sumFuture1.isDone() || !sumFuture2.isDone()) { + Thread.sleep(1); + countWaiting++; + System.out.println(" [" + countWaiting + "]waiting..."); + } + + System.out.println("Total time execute: " + (System.currentTimeMillis() - start) + " milis"); + + executorService.shutdown(); + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/Task.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/Task.java new file mode 100644 index 0000000..45342ce --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/Task.java @@ -0,0 +1,29 @@ +package com.core.thread.viblo.executorservice; + +/** + * @author ManhKM on 8/11/2022 + * @project Java-Thread-Pool + * ----- + * Định nghĩa các các Task, job cần phải làm, thực hiện trong module. + */ +public class Task implements Runnable{ + + int id; + + public Task(int id) { + this.id = id; + } + + @Override + public void run() { + System.out.println("Tiến trình đang được thưc thi " + id); + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + System.out.println(" Tiến trình đã được thực thi " + id); + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/TestExecutorService.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/TestExecutorService.java new file mode 100644 index 0000000..dc80198 --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/TestExecutorService.java @@ -0,0 +1,63 @@ +package com.core.thread.viblo.executorservice; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +/** + * @author ManhKM on 8/11/2022 + * @project Java-Thread-Pool + */ +public class TestExecutorService { + + public static void main(String[] args) { + ExecutorService executorService = Executors.newSingleThreadExecutor(); + + Set> callables = new HashSet>(); + + callables.add(new Callable() { + @Override + public String call() throws Exception { + return "Task1"; + } + }); + + callables.add(new Callable() { + @Override + public String call() throws Exception { + return "Task2"; + } + }); + + callables.add(new Callable() { + @Override + public String call() throws Exception { + return "Task3"; + } + }); + + callables.add(new Callable() { + @Override + public String call() throws Exception { + return "Task3"; + } + }); + + try { + List> futureList = executorService.invokeAll(callables); + for (Future future : futureList){ + System.out.println("Future.get = " + future.get()); + } + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + + executorService.shutdown(); + + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/TestFuture.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/TestFuture.java new file mode 100644 index 0000000..ace0002 --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/TestFuture.java @@ -0,0 +1,30 @@ +package com.core.thread.viblo.executorservice; + +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +/** + * @author ManhKM on 8/11/2022 + * @project Java-Thread-Pool + */ +public class TestFuture { + public static ExecutorService executorService = Executors.newFixedThreadPool(5); + + public static void main(String[] args) { + Future future = (Future) executorService.submit(new Runnable() { + public void run() { + System.out.println("Asynchronous task"); + } + }); + + try { + future.get(); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/TestThreadPool.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/TestThreadPool.java new file mode 100644 index 0000000..f3888ac --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/executorservice/TestThreadPool.java @@ -0,0 +1,46 @@ +package com.core.thread.viblo.executorservice; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 8/11/2022 + * @project Java-Thread-Pool + */ +public class TestThreadPool { + + public static void main(String[] args) { + ExecutorService pool = Executors.newFixedThreadPool(5); + +// for (int i = 0; i < 100; i++){ +//// pool.submit(new Task(i)); +// pool.execute(new Task(i)); +// +// } +// +// try { +// pool.awaitTermination(1, TimeUnit.DAYS); +// } catch (InterruptedException e) { +// e.printStackTrace(); +// } + for (int i = 0; i < 10; i++){ + int finalI = i; + pool.execute(new Runnable() { + @Override + public void run() { + System.out.println("Asynchronous task starting!!! " + finalI); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + System.out.println(" Asynchronous task DONE... " + finalI); + + } + }); + } + + pool.shutdown(); + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/threadpoolexecutor/Task.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/threadpoolexecutor/Task.java new file mode 100644 index 0000000..a557762 --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/threadpoolexecutor/Task.java @@ -0,0 +1,27 @@ +package com.core.thread.viblo.threadpoolexecutor; + +/** + * @author ManhKM on 8/11/2022 + * @project Java-Thread-Pool + */ +public class Task implements Runnable{ + + int id; + + public Task(int id) { + this.id = id; + } + + @Override + public void run() { + System.out.println("Tiến trình đang được thực thi " + id); + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + System.out.println("Tiến trình đã được thực thi " + id); + } +} diff --git a/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/threadpoolexecutor/TestThreadPool.java b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/threadpoolexecutor/TestThreadPool.java new file mode 100644 index 0000000..dbb990e --- /dev/null +++ b/Java-Concurrence/Java-Thread-Pool/src/com/core/thread/viblo/threadpoolexecutor/TestThreadPool.java @@ -0,0 +1,33 @@ +package com.core.thread.viblo.threadpoolexecutor; + +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 8/11/2022 + * @project Java-Thread-Pool + * ----- + * Tham khảo: ThreadPool trong Java + */ +public class TestThreadPool { + + public static void main(String[] args) { + int corePoolSize = 50; // Số lượng Thread tối thiếu trong ThreadPool + int maximumPoolSize = 100; + long keepAliveTime = 500; + + TimeUnit timeUnit = TimeUnit.SECONDS; + + ArrayBlockingQueue workQueue = new ArrayBlockingQueue<>(100); + + RejectedExecutionHandler handler = new ThreadPoolExecutor.CallerRunsPolicy(); + + ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, timeUnit, workQueue, handler); + + for (int i = 0; i < 1000; i++){ + threadPoolExecutor.execute(new Task(i)); + } + } +} diff --git a/Java-Concurrence/Java-Thread/docs/Java-Thread-v1.0.drawio b/Java-Concurrence/Java-Thread/docs/Java-Thread-v1.0.drawio new file mode 100644 index 0000000..bd0ab11 --- /dev/null +++ b/Java-Concurrence/Java-Thread/docs/Java-Thread-v1.0.drawio @@ -0,0 +1 @@ +7VrbcqM4EP0aqmYfnOJi7OQx4Ex2qzyzqXGqZvdRARm0ETQjybGdr18JhB0MZEhinEwNT0atloT69OW4bcPxk801Q1n8BUJMDdsMN4YzM2zbMi9s+aEk20LimuNCEDESaqW9YEEecblSS1ckxLyiKACoIFlVGECa4kBUZIgxWFfVlkCrp2YowjXBIkC0Lv1OQhFrqTW52E/8iUkU66PP7WkxkaBSWd+ExyiE9RORc2U4PgMQxVOy8TFVxivtUqz73DK7ezGGU9FlgXfzdf1jTsMf/t+YX4/O7avF1UjfgotteWEGqzTEao1pOB4wEUMEKaJzgEwKLSn8Dwux1VChlQApikVC9Wz9vfSrclixAD/zMiW+iEVYPKPnFno4rECnb32NIcGCbaUCwxQJ8lBFEmmHiHZ6e5vJB222F5iw9NQHRFf6KMOeoERay6MiN8jTEUkyihNpG76TRxUtPTqARV12ju5kdFWMjSiJUvkcyA0xk4IHzASR7nupJxIShmoPj2FOHtFdvp9CNgOi3kFu7nqGO2sE7jmXUQfhjdEQg/qQiptXcNGrzDPbmuho0dlhpLNFZ+T05jfqMvudR2XMlds61R1gueTSww6R373iG5yh5gs+RVwee2n4tnFpfgd2T9LoNmYYhTWQ+ZokFKUKriWkYqFnOgEtVHh6QUxoOEdbWCkIuUDBfTnyYmDkUW6LSueR00zoOLYnFY2FWqk9JfccfFP6hXUg+oI2FcU54kILAqAUZZzc7a6RyNgmqQdCQKKVWvNFzcNaPWlchXts6vH6ScaeaFn8JFlbjtlTUrAbcoKn6g/BqgBdqjS3zXDNA+SFRY4Mg3vsAwUJ9SyFwiUIpQei0isoXopWn+AZCqTPzXOd2Xgv+aYtoUQg1y5pXp9imTJwqvAEgURryvCk7XzzzFXJw/bl2NqP83ySyeLhQyrvgkgOLZaescZcdM813T1BQy/duBPypd7RgXcagD/AmJIcuwLjklRYrwJ4l901ord5jR5ZNdSdOupOA8JUVZgb4EQQUPuzQrehWLwHuK7dDdzznrAdtwR1xiDAnC/UMbG08Kc/igh/AFLP8UOEv80JJh1z+7Sv1O7WvOAvVZKXSHFbXea/rdI0N+tQ4Y9T4Z3JQYm3u+aCvhL9ZKjwx4h/t7MnfJQKPx0qfG/gvneFP28JarZKh6LeI+5di3pvQW25NUxVx6Wszxq3N/fGpNnY9h+1XhpcD//V2+WD2aYy2v6sgv68p9a1qab1PkpTram8tjfVYvSAR+gXbahZbeHyio6aNXX1t5TXttBO3zJ7pmdmm18hnSGcQFq0zG5VHhpI9XFI9UGX1G5om+1kJ+HU1tA2O86X6mP0zRqh768AD42zHuFt4NXNkd0Xum2ts0Qa4dNCMGlebSH1s23EB7Ldozc0sO3TBvuOvfbLtt/Amqe/JGsuc+bvwJpb6c6LWfPIPHOcsVXhQiX9fS2LPgFtrvehqj81D7T5NLR5Mn532tzWthpo88sq6bSzK3wY2nzRAP1Am48E73vT5jLTDLT5IwR7j7RZDvd/BC0Ywv7vtM7V/w==5V1bd5u4Fv41rJV5SBeIm/1oO22nZ5JpV9J1Tue8dBFbMZpg5ArRxP31I4G4SnFIxiBo+9AiIcmw9/72TRvVsFe7x/ck2IdXeAMjA5ibR8O+MACwzDlg//CeQ97jmk7esSVoIwZVHTfoByxmit4UbWDSGEgxjijaNzvXOI7hmjb6AkLwQ3PYHY6av7oPtlDquFkHkdz7P7Shoei1vHl143eItqH46Rnw8xu7oBgs3iQJgw1+qHXZbw17RTCm+dXucQUjTryCLrMfV98t3720vq4vD5G3JP//+OM8X+zdS6aUr0BgTF+99M3N4a/Vhxu8+8/1+Tq6WVxv3WKK+T2IUkGvzyGBwcbgb+hF7NeWt4RdbfnVWZLenu8JXsMkYQOi1HhrGculMbfj7W+CRvRQEJ7gNN5A/uMWm/sQIgpv9sGa331gosb6QrqLxG3xGJBQ+Nji2zMvbZWcYCIM8Q5ScmDzxCoz8YJCeB3RfKhJQsHesCYEnugLhPBty4UrArMLQeMX0BtIZIIbJq6iiQkN8RbHQfS26l1WhDRZqxpzifFekO9vSOlBYC9IKW4SlxGQHL7w+W/covlX/d7Fo1g8bx1EK39W/oCvYAl7SZySNTxCjEIdBGQL6XNCKrOYwCig6Hvz4U7OMUtCyFXKtNc5FTiRQGKsHGNuBtMECDB1I8SW6G29Ye2rgpRzykUGZc2FsXwX8yYxVraxWMUhb4Ri6NJa84dGojnz+dC4altpm0dc63HuWc2+csX5BZK4yPhBm6xKKMH3cIUjTFhPjGMO4jsURa2uIELbmDXXjH+Q9S85dxGzXAtxY4c2m0wDqGSjqRX6Eg/LacqHpdKgrkI+7L7kw9WqQa26/qypU00a1OmoQZ9g8jAa1JEQfZlyvC4dDsh1dmlzh6sB8TYwrwKUDQ8xR2l+azHPbm2KpsubY9Sy41Oz8yOEei1IHhH9UruuQYS1KoTwxqEOly/1xjiA5XUElq/VNTElJtZ1oTAzJ3QfX8aj18jDWPg608lXT1KYlU9Z81/8ncL7zJxTGiT3aCoupz1zNOtCX6L3RelCBpV7uYgr/3DlGQsrfsYTPROxMuODeV7Mzbh4dFbGQjF1vFyU2Ah0m7TZC9jY9i7O8rSHzClp4FVKUT54OrxxtOc9rOOJj5Obqhf66YWpMkdkqqyu6RGttsqS8yNZvL7KsGZmmHku5mYimam/TICFK3/Bx2WhwUURJIjV9mHp/fP4ngpNurD24wSjC9o5SAUYPQUYnd7A6IwajL0Dy54EsOREGODA+kyCzE1Yh4Xgu0zwzdsyeM4AV7QYMVeGOqvVmFGG0O847ioXM/0ZAOdqB5z3awPOnQTgXAlwdg64zPhYGerapqtE4fIdT1qdbZhfeB7h9f1vxwYvLP5au9yosav7UOTDtoXVW7C7wNwWdnEKMHP127XZrw0zvyPMctOiDWeKcJuh5pKB5uyPHAh20IJWEZfdM08SmOCZCLph7RY2yixiwE1ZiIUjWXmdpjxlZrfAytXAHw2gf0uLu9nYegNIy2VObwPjtwHPYm8LOzvnPu594wfyp1su1uMEv+91iDBV4O8vwpxLYvWpKFUYIwXb6rOM2fXVJsjFIK1U1Dgp6bcpqT3bAexhDdHINk9A18wFADoNEZBTFzLbogjtE9jawDeAbWZ/ntrt70vUW3k915cl3VYIem+b8eD4bvzpBb1ZwGTqFnTQVdAdrYIOJEGP4YPEuSES02ZLgD2FqrYUEuz2JcEFNEYqwerEtK83Mw26lp0Ardvj9tBW+A14HW/FPMFeaxq8tbXabnvgUH9shqczl/QiUI7JeGkCj5jxbh9BCuXgjBPtMriFUZMT3YslCUzQj+A2W4/zYo9RTLM3c5eGe5GJBWUvj+MGsxTGTnySINYyyg8B6mw8Ip1PWsFz84098+2GJRQmujNfxOKf+MtVKxc7O0W1pt1cAN/dJUxc2mwtn/Bf1PgNrmtfpWrHVIrUGcOO1vp3Z3AX/3VWtMnaqXhImnkrV5qhJGGXwPzwMXuKbylMqA4dfXqlnAvyMaVszgqCCP1ZlC7/S61cRMmFqh9MKwO59JqkcZzRbgTRn6dKeQ4a/QEZAHuCtyTYZcQJCOUfutEQZn/nH/y06PZzf/9Rkr5gmS2zbD5oxmlox7+ZWgWdK8maQZ2p1xx13RnUnKeSdwYfAkRVGw8DaKvWl08z1a7CsMpKjqZiTNHdQS4Dz/sXfM1n1dUprTYHUpJj6iWasGtAdtrsuW/LheeqLcvedJktb0BweZ8Gz/piktWyOL7nSlxyFFwCvXFpoGrJ0nCMx27YYBJ2o3jMepoJ7RgzmNDosx9tb1e/AbHlCrdc35hJBKFczTlKvVOzFcDv9dPnWTND5yuiFX9QRaSI1jkbWJtrgcc9QTyfqji4g7kDd4jyd8uupukZzHuNc1o1JL5iZ90yB3UOZGeYMWGH4oBCOQodQJ/Z3tj0mWNJdBiy3vMFsaA/HptecK1/m55NXRASHGoDhGZ4MlfmtXNEc7slJ/mKp929kCvfbnkRtx6guUUd83iAJjtYwfpbigjPi3FC8QW4jSDpnsrmJ8slP73j90sbHrcd7qg+Vhm0psuRk8Y5GxjTDvE6JDhm5JSRMUo29sU2p+0vOB0/Yj+Fd+jR+/Pf7x7vPn/970fv6/vr6z+T8MhJbu+un8r5j6J8t5WVscwhy3eVpJTTMkma7GG8OZvI995zVVmdioSn+BRHSULZYDCIpzs4FQp2l8LeSCh//5lQvJ8MAUtiaSOgbMc2kNuNw2RoCEyeDdRLRTlnhBJmv79PB8qdv6zpjYZy4uYAUTQZc2LZ2u2JnAzJUpZnEZ7MISxW51NYeqOifELO38zRnowYutpNirwDu4X0z2C8fk07l6DfMywSF3Uoj5yGYHS+oeLUHSaIH0ZrUSQS6vcOixOpmiS8oQGdjiAC09JNRTlKWaeEv2WefZgOKbU7iZYcrzCB/EQQJtne3STIqN9TVBzjknAy4j17+8MZiulURFK/v1gc1fHzH6iifn3FabFHZG6A8pejj1mT+PflySKWOIGPn1i6NPmo6nAvfppX7aSShbH0abNLnA6WT+anmFBUnaGZH8X9WV0W3RQKXall6fR6RfnywLllOQZDyUUAd3i0cZikmPTHYYrDXpiSF2S8xTiCQTwVanpdz4LvL1kvh2Tlbu5khFL5McmwZJSDMpR8GDshpSzLCORRDs1KeYSjDSlkQvYokaxZ/cdjeRlM9d+32W//AQ==7Vtbc9o4GP01PDbjO/DYBNLsbtJlhp3ZZt+ELbAaYTGyKLi/fiUs2diyDQHMJe1LIn2WFfuco+8iKx37Yb7+QsEifCEBxB3LCNYde9CxLNPoW/yXsCSpxTWc1DCjKJCDcsMY/YTqTmldogDGhYGMEMzQomj0SRRBnxVsgFKyKg6bElz8qwswg5ph7AOsW/9FAQul1fT6+YUniGah/NM9q5temAM1WL5JHIKArLZM9rBjP1BCWNqarx8gFuApXFjy9WvQHT49/ReT3pe/pus/R/hTOtnje27JXoHCiJ12aknuD4CXEq/hmsEo4LZ/QgqBaDxi/tYpAixRsMYrNMcg4r37kM0xN5q86YcIB88gIUvxnDED/pvq3VMYc3GM1EuYJdMLEJIzxHyEop8kYgBLA5+HMqksqzhiLP6EHCZfBVIG1yXudwBnZmzyZQDJHDKa8PvkLD3Jv1wAjuyucjV5aki4JSRHGYFU8CybOWeJNyRR7yDN1kh7ASjilhElMwrme5LVAOvRiFqNiFoVEHoVEJpWWxA6GoQaaDDgfkR2CWUhmZEI4GFuvadkGQUwkGDlY54JWUiMv0PGEokxWDJSZIBjSJNv8v5N51V07lzVHay3Lw6SAi/iAd/HihROTJbUhw3jXOmnAZ3Bpvm8apYpxIChH8WHq6JQ3joiiD92po6MdbngvJII0seSN5V0kD3F4dJw95AGxjx8CQmsQsTgeAE2cK54BC0SfPgCshsXkLPTJTlVHqmt1eTVOSQVQ8r+KAQL0VxQ4sM43o3jhHv52Wa5/b1kGAlP1iq+pl0E2NYBzlS6jXBZqidDuKshPJLYWcZY+HENY44IK4IIMJpFvO1zZCDlBoEb4pnSZ3lhjoIgdWwiLoPJZirhbxZirW1eyb3vuAMxF/dlcerW0lBCyRt8IJjweQcR2YSaKcK4ZGqNL7dAV0+nq1/BVmvRpaexNV5OxHIA8Rv/Zd5MgE5KWr9cwO5rmN1c9O3tGX1NVSbtCr9mDYl7x9+jGFEF3pbK40pPJJB6BhNeV7bmjmrXgawq5c2dTNg7yeo3ro9Pxp3VLfocVaUdmvyoIWQ6jWEriY3SVdkteVgEignlrZloqaisXcgqwgoHdvmI3mv2aN6VRXRTL72f+A9jALhaAU8uayEGFGAMcVrqcbogRfyRxBIqXhvlF3axMUVrqPZu2mTBca+NBb2WLoRqPfe/8lBduT1x3lBtXktxHXwW+4cixGAQx8hPjY8IF8uz90dysyYbPbLwtUtcuiWG0syhtcJXJdE1NMkU/ubSLnPfXQ+zu2/eVePkzpR36dX2B8q7UhE2JV52VzmY28m89PL9wMyrIh5dPvOqc4dXm3rp9flHSL120OA410ZDX6PhEUUoDnl0ubGsy/YunnVZejn+0bKumpr82KzLa866Wv7cYOlVuc5b+98b6sCV07j9apAu9cXhUuI+LHWFa8S+5SN571XNyNv5TaJzbLqrgNmV7coscneyW/Nx/DzJrmU38nyrNcnJSeqewjVyxw2SrQEy36/1nNkZnyyjMEqEpzOe1l86Z1ZELoLXggYuowi1bbhTEtax6/YgSXilD6dm7xySOPfGxZVJondTkjiPl/B+x42rVUQ5bjj2ORSh78GUDqkYPpkvMK/a9fLzJrfSrJrjWXJ6487yVBqtiOhc+Uaape/c/BEh1qk9afTBTsE0H1Qtf5K2DL1K657zHIyl7/D8pquWruzzz6XosvUtpPyU2TD6xenySt+unb5OV9U58APo4t383wpS35n/c4Y9/B8= \ No newline at end of file diff --git a/Java-Concurrence/Java-Thread/docs/Thread-Dong-bo-luong-trong-Java.docx b/Java-Concurrence/Java-Thread/docs/Thread-Dong-bo-luong-trong-Java.docx new file mode 100644 index 0000000..38539a3 Binary files /dev/null and b/Java-Concurrence/Java-Thread/docs/Thread-Dong-bo-luong-trong-Java.docx differ diff --git a/Java-Concurrence/Java-Thread/docs/bai1.md b/Java-Concurrence/Java-Thread/docs/bai1.md new file mode 100644 index 0000000..2d81c17 --- /dev/null +++ b/Java-Concurrence/Java-Thread/docs/bai1.md @@ -0,0 +1,13 @@ +## Bài 1 +## https://gokisoft.com/1103 +Cho một danh sách là họ tên các sinh viên +Ví dụ: {“Nguyen Ngoc Lan”,”Duong Tien Nam”,”Ngo Anh Quan”,”Pham Van Duc”,”Tran Thi Ha”} + +Một danh sách khác là quê tương ứng của các sinh viên trên: +Ví dụ: {“Hải Phòng”,”Hà Nội”,”Thái Nguyên”,”Hà Tĩnh”,”Quảng Ninh”} + +Viết một ứng dụng Java sử dụng Thread để thực hiện công việc +- Thread thứ nhát sau mỗi giây sẽ hiển thị 1 tên người tương ứng trong danh sách tên +- Thread thứ 2 ngay sau đó sẽ hiển thị quê tương ứng của người đó +- Hai thread thực hiện mỗi thread 5 lần sẽ dừng lại +Phải đảm bảo rằng Thread1 luôn chạy trước rồi mới đến Thread2 \ No newline at end of file diff --git "a/Java-Concurrence/Java-Thread/docs/gpcode/\304\220\341\273\223ng b\341\273\231 h\303\263a c\303\241c lu\341\273\223ng trong Java - GP Coder (L\341\272\255p tr\303\254nh Java).pdf" "b/Java-Concurrence/Java-Thread/docs/gpcode/\304\220\341\273\223ng b\341\273\231 h\303\263a c\303\241c lu\341\273\223ng trong Java - GP Coder (L\341\272\255p tr\303\254nh Java).pdf" new file mode 100644 index 0000000..d2b950e Binary files /dev/null and "b/Java-Concurrence/Java-Thread/docs/gpcode/\304\220\341\273\223ng b\341\273\231 h\303\263a c\303\241c lu\341\273\223ng trong Java - GP Coder (L\341\272\255p tr\303\254nh Java).pdf" differ diff --git a/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/baitap2/baitap1.md b/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/baitap2/baitap1.md new file mode 100644 index 0000000..c975d45 --- /dev/null +++ b/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/baitap2/baitap1.md @@ -0,0 +1,25 @@ + +# Synchronized 2 Thread - Bài tập mảng tên + địa chỉ - Java nâng cao + +# Bài 1: + +Cho một danh sách là họ tên các sinh viên + +Ví dụ: {“Nguyen Ngoc Lan”,”Duong Tien Nam”,”Ngo Anh Quan”,”Pham Van Duc”,”Tran Thi Ha”} + +Một danh sách khác là quê tương ứng của các sinh viên trên: + +Ví dụ: {“Hải Phòng”,”Hà Nội”,”Thái Nguyên”,”Hà Tĩnh”,”Quảng Ninh”} + +Viết 1 ứng dụng Java sử dụng Thread để thực hiện công việc: + +- Thread thứ nhất sau mỗi giây sẽ hiển thị tên 1 người tương ứng trong danh sách tên + +- Thread thứ hai ngay sau đó sẽ hiển thị quê tương ứng của người đó + +- Hai Thread thực hiện mỗi thread 5 lần sẽ dừng lại + +Phải đảm bảo rằng Thread1 luôn được chạy trước rồi mới đến Thread2 + +# Reference document +* [Bài tập mảng tên + địa chỉ](https://gokisoft.com/bai-tap-on-luyen-tong-hop-file-multithread-trong-java.html) diff --git a/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/baitap2/baitap2.md b/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/baitap2/baitap2.md new file mode 100644 index 0000000..55fb328 --- /dev/null +++ b/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/baitap2/baitap2.md @@ -0,0 +1,9 @@ +## Bài tập + Tạo lớp Thread1 kế thừa Thread gồm các thuộc tính ArrayList list 1 + - Thread này thực hiện sau 1s sinh ngẫu nhiên các số tự nhiên chạy từ 0-100 -> lưu kết quả vào mảng list 1 + Tạo lớp Thread2 kế thừa Thread gồm các thuộc tính ArrayList list2 . + - Thread này thực hiện sau 2s thì sinh ngẫu nhiên các ký tự từ a-z và lưu vào mảng list2 + Trong phương thức main của lớp Test tạo ra 2 thread t1 và t2 lần lượt từ Thread1 và Thread2 + Khi t1 đã sinh 10 lần -> thực hiện dừng t1 + Khi t2 đã sinh được 10 kí tự thì stop t2 + Sau khi 2 thread 1 và 2 kết thúc. Thực hiện in kết quả của các thread trên thread main. \ No newline at end of file diff --git a/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/java-advanced.txt b/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/java-advanced.txt new file mode 100644 index 0000000..289b704 --- /dev/null +++ b/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/java-advanced.txt @@ -0,0 +1,84 @@ +https://gokisoft.com/java-advanced.htm + ++ Tài liệu học + + ++ Exception & Collection + Overview Exception + Exception + ArrayIndexOutofBoundsException + + Debug sẽ kiểm soát mọi lỗi của chương trình này. + 11102002 + + Luồng, đa luồng thì dễ + Đồng bộ luồng và deal lock thì khá khó. + + StringBuilder và StringBuffer + StringBuiler -> bản chất -> nó sẽ tạo ra mảng và add phần tử vào. + -> append giá trị mới vào. + ??? Phân biệt String, StringBuiler, StringBuffer + + + Sử dụng Reguler Pattern + Pattern.compile + + + + ++ File + + ++ Thread + Phân tích quản lý ứng dụng trong HDH - Phân tích Game đa luồng Java + Phần 13: Phân tích quản lý ứng dụng HDH (Window, Mac, Linux) - Phân tích game đa luồng Java + + CPU 4x4 là gì? + Tại một thời điểm xử lý được 4 dòng lệnh. + 1s CPU thực hiện hàng triệu lệnh -> tốc độ quá nhanh -> tạo cảm giác nhanh -> đa luồng. + Giải thuật: Round Robin + + Xây dựng một dự án đa luồng. + + 3 cách tạo ra luồng -> bản chất sẽ có một luồng main class. + + Các hàm trong một Thread -> để biết cách làm việc rõ hơn. + Các trạng thái khác nhau của một luồng. + Tham khảo: + https://viblo.asia/p/vong-doi-va-trang-thai-cua-thread-bJzKmVWwZ9N + https://gokisoft.com/share-code-thread-trong-java--thread-sleep--join-trong-java.html + + Thread.sleep + getName -> lấy tên của luồng. + + Bài toán về sử lý đồng bộ + đặt logic trong khối synchronized + + + + + + Tìm hiểu Thread - Đồng bộ Thread - lập trình java nâng cao - Bổ sung thêm lớp mới + + Luồng nó hoàn toàn chạy độc lập -> không phụ thuộc vào luồng trước hay sau nó. + + Nếu có cả Thread1, Thread2 -> nó sẽ in cả kết quả của 1,2 song song với nhau. + + Vòng tròn RR -> in đến luồng nào thì in cái đó ra. + + Làm thế nào để nối các luồng với nhau + Thread1 -> sau khi chạy đến điểm nào đó -> nối vào Thread2 -> join + Nếu không nối thì chúng vẫn chạy với nhau một cách song song. + + + Đặt thread vào trong Thread khác. + Nối thread1 vào thread2 + Nếu không xử lý luồng thì có thể thực hiện các thao tác khác dẫn đến chương trình bị lỗi, treo. + + + wait, notify, notifyAll + + + Giải thích Synchronized + lập trình java nâng cao + Thread thực hiện in ngẫu nhiên các số nguyên và ký tự - phần 1 + Thread thực hiện in ngẫu nhiên các số nguyên và ký tự + Đồng bộ thread + wait notify + synchronized + Java nâng cao - phần 2 + Synchronized 2 Thread - Bài tập mảng tên + địa chỉ - Java nâng cao + Bài tập ôn luyện tổng hợp file, OOP, Thread trong Java + Sử dụng MultiThreading sinh ký tự a-zA-Z trong Java + + ++ CSDL + + ++ Ôn tập Tổng quát & Exmination + diff --git a/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/java2/thread/readmd.md b/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/java2/thread/readmd.md new file mode 100644 index 0000000..cf7f63a --- /dev/null +++ b/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/java2/thread/readmd.md @@ -0,0 +1,40 @@ + +## Đa luồng + - Khái niệm đa luồng là gì + - Triển khai code đa luồng + - Đồng bộ Thread + - Tại sao chúng ta cần đồng bộ luồng + -> An toàn dữ liệu + - Synchronized + -> Đồng bộ lên chính một phương thức nào đó + + - wait/notify + + - Deadlock + +## Synchronized + - wait, notify, notifyAll + - Dùng kết hợp với 3 cái trên: + wait -> đưa luồng về trạng thái dừng + notify, notifyAll -> đánh thức chúng dậy và cho chúng chạy. + + Bài tập + - T1 >> sinh ngẫu nhiên 1 số tự nhiên từ 1 - 100 + - T2 >> hiển thị bình phương số đã được sinh từ T1 + 1. Tạo 2 thread thực hiện yêu cầu trên + 2. Đồng bộ luồng + T1 Thực hiện > rad > T1 đợi T2 > hiển thị bình phương số rad > in ra màn hình + > T2 wait > T1 chạy > vòng tròn như trên + 3. Sinh ngẫu nhiên 10 số > stop 2 luồng + + Phân tích: + T1 > sinh ra số và phải có nơi lưu trữ + T2 > lấy rad => thực hiện logic hiển thị. + + Nên tạo ra một phần data để quản lý dữ liệu của DataMrg của T1 và T2 + + +## Reference Document: +[Java Concurrency - Java 8](https://docs.oracle.com/javase/tutorial/essential/concurrency/index.html) + +[Java Advanced - Java 8](https://gokisoft.com/java-advanced.htm) \ No newline at end of file diff --git a/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/threadNumber/readme.md b/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/threadNumber/readme.md new file mode 100644 index 0000000..653f0e6 --- /dev/null +++ b/Java-Concurrence/Java-Thread/out/production/Java-Thread/com/goki/threadNumber/readme.md @@ -0,0 +1,16 @@ +##Bài tập + Thread1 -> sinh ngẫu nhiên 1 số tự nhiên từ 1-100 + Thread2 -> hiển thị bình phương số đã được sinh ra từ Thread1 + Yêu cầu: + 1. Tạo 2 thread thực hiện yêu cầu trên + 2. Đồng bộ luồng + Thread1 thực hiện -> random T1 đợi T2 -> hiển thị bình phương số random -> in ra màn hình -> T2 wait -> T1 chạy -> vòng tròn lặp lại như trên. + + 3. Sinh ngẫu nhiên 10 số -> stop 2 luồng. + +##Phân tích code + + + +##Giải thích + diff --git a/Java-Concurrence/Java-Thread/readme.md b/Java-Concurrence/Java-Thread/readme.md new file mode 100644 index 0000000..c134c2d --- /dev/null +++ b/Java-Concurrence/Java-Thread/readme.md @@ -0,0 +1,273 @@ +## Local Project: + +[Local project](E:\1_CODING\LearnJava\Java-Pre\Java-Concurrence\Java-Thread) + +## Reference Document: + +[1] [Multi-Thread:](https://gpcoder.com/category/java-core/multi-thread/page/2/) + + +## Nội dung bài học: + + +### Lập trình đa luồng trong Java (Java Multi-threading) + +1 Giới thiệu + +1.1 Thread là gì? Multi-thread là gì? + +1.2 Đa nhiệm (multitasking) + +1.3 Ưu điểm của đa luồng + +1.4 Nhược điểm của đa luồng + +2 Vòng đời (các trạng thái) của một Thread trong java + +3 Cách tạo luồng trong Java + +3.1 Tạo luồng bằng cách extend từ lớp Thread + +3.2 Tạo luồng bằng cách implement từ Interface Runnable + +3.3 Khi nào implements từ interface Runnable? + +3.4 Ví dụ minh họa sử dụng đa luồng + +3.4.1 Ví dụ Tạo luồng bằng cách extend từ class Thread + +3.4.2 Ví dụ Tạo luồng bằng cách implement từ Interface Runnable + +4 Các phương thức của lớp Thread thường hay sử dụng + ++ suspend() + + ++ resume() + + ++ stop() + ++ destroy() + ++ isAlive() + ++ yeild() + ++ sleep(long) + ++ join() + ++ join(long) + ++ getName(); + ++ setName(String threadName): Thay đổi tên của Thread + ++ getId(): Trả về id của thread + ++ getState(): Trả về trạng thái của thread + ++ currentThread(): trả về tham chiếu của Thread đang được thi hành. + ++ getPriority(): Trả về mức độ ưu tiên của Thread + ++ setPriority(int): Thay đổi mức độ ưu tiên của Thread + ++ isDaemon(): Kiểm tra nếu thread là một luồng Daemon + ++ setDaemon(boolean): xác định thread là một luồng Deamon hay không? + ++ interrupt():làm gián đoạn một luồng trong java. + ++ isInterrupted(): kiểm tra nếu thread đã bị ngắt + ++ isterrupted(): kiểm tra nếu thread hiện tại đã bị ngắt. + + +5 Một số thông tin liên quan đến luồng + +5.1 Định danh của luồng (ThreadId) + +5.2 Tên của luồng (ThreadName) + +5.3 Độ ưu tiên của luồng (Priority) + ++ Cách đặt độ ưu tiên: setPriority(int newPriority) + +MIN_PRIORITY + +NORM_PRIORITY + +MAX_PRIORITY + ++ Cách lấy độ ưu tiên: + +5.4 Ví dụ minh họa + +6 Sử dụng phương thức sleep() + +Mục đích chính: Để tạm ngừng một thread cho một khoảng thời gian nhất định. + + +7 Sử dụng join() và join(long) + +join() + + +8 Xử lý ngoại lệ cho Thread + +### Luồng Daemon (Daemon Thread) trong Java + +1 Luồng Daemon (Daemon Thread) là gì? + +Normal Thread, Daemon Thread + +-> Khác nhau ở cách thức ngừng hoạt động. + +2 Luồng Daemon thường dùng làm gì? + +3 Ví dụ minh họa + +3.1 Tạo một luồng WorkingThread + +3.2 Chương trình Non-Daemon Thread + +3.3 Chương trình Daemon Thread + +### Đồng bộ hóa các luồng trong Java + +1 Đối tượng khóa + +2 Đồng bộ là gì? Tại sao lại cần đồng bộ? + +2.1 Tại sao cần đồng bộ? + +2.2 Đồng bộ hóa là gì? + +synchronized -> việc sắp xếp thứ tự các luồng khi truy xuất vào + +cùng đối tượng sao cho không có xung đột dữ liệu. + +3 Java monitor là gì? Cách hoạt động của java monitor? + +3.1 Java monitor là gì ? + +JVM Monitor -> Java Virtual Machine. + +Công cụ giám sát hỗ trợ cho việc đồng bộ hóa các luồng. + + +3.2 Cách hoạt động của java monitor + ++ Dành được monitor - accquiring the monitor + ++ Chiếm giữ monitor - owning the monitor + ++ trả monitor - releasing the monitor + ++ luồng thoát khỏi monitor - exiting the monitor + +Monitor Region + ++ FIFO: First In First Out + ++ LIFO: Last In First Out + + +4 Các cách để đồng bộ trong Java + +4.1 Synchronized methods + +Đặt từ khóa: synchronized với method + + +4.2 Synchronized statements/ Synchronized Block + + +4.3 Static synchronized method + + +5 So sánh các cách synchronized + +6 Phương thức wait(), notify(), notifyall() + +6.1 wait() + +6.2 notify() và notifyall() + +6.3 Ví dụ minh họa + +7 Deadlock (Khoá chết) là gì? + +hay khóa chết, xảy ra khi 2 tiến trình đợi nhau hoàn thành, trước khi chạ. + + + +8 Tại sao không nên dùng phương thức Thread.stop() + + +9 Tại sao không nên dùng phương thức Thread.suspend(), Thread.resume() + + +10 Tại sao không nên dùng phương thức Thread.Destroy()? + +### Hướng dẫn tạo và sử dụng ThreadPool trong Java + +1 Giới thiệu ThreadPool + +BlockingQueue -> một hàng đợi + Mục đích: chờ đợi một Thread có sẵn. + + java.util.concurrent. + + 2 Executor là gì? + Java Concurrency API + Executor: + ExecutorService: + SecheduledExecutorService + schedule(), scheduleAtFixedRate(), scheduleWithFixedDelay(). + + 3 Các ví dụ minh họa tạo và sử dụng ThreadPool + 3.1 Tạo WorkerThread + 3.2 Ví dụ sử dụng newSingleThreadExecutor() + 3.3 Ví dụ sử dụng newFixedThreadPool() + 3.4 Sử dụng newCachedThreadPool() + 3.5 Sử dụng newScheduledThreadPool() + 4 Custom Thread Pool Executor + 4.1 Ví dụ minh họa + 5 Một vài lưu ý về sử dụng ExecutorService + +### Lập trình đa luồng với Callable và Future trong Java + 1 Callable + 2 Future + 3 Ví dụ sử dụng Callable và Future + 3.1 Sử dụng phương thức submit(Callable) của ExecutorService với kiểu trả về là 1 Future + 3.2 Sử dụng phương thức get() của Future với Timeout + 3.3 Sử dụng phương thức invokeAny(Collection extends Callable tasks) + 3.4 Sử dụng phương thức invokeAll(Collection extends Callable tasks) + 3.5 Hủy bỏ một Future + + +### + 1 CompletableFuture là gì? + 2 So sánh Future vs CompletableFuture + 3 CompletionStage là gì? + 4 Khởi tạo CompletableFuture + 4.1 Khởi tạo CompletableFuture + 4.2 Chạy bất đồng bộ với runAsync() và không cần kết quả trả về + 4.3 Chạy bất đồng bộ với supplyAsync() và cần nhận kết quả trả về + 5 Chuyển đổi và thao tác trên một CompletableFuture + 5.1 Sử dụng thenApply() + 5.2 Sử dụng thenAccept() và thenRun() + 6 Kết hợp hai CompletableFutures với nhau + 6.1 Kết hợp hai Future phụ thuộc sử dụng thenCompose() + 6.2 Kết hợp hai Future độc lập bằng cách sử dụng thenCombine() + 7 Kết hợp nhiều CompletableFutures với nhau + 7.1 Sử dụng CompletableFuture.allOf() + 7.2 Sử dụng CompletableFuture.anyOf() + 8 Hủy bỏ CompletableFuture như thế nào? + 9 Sử dụng Executor với CompletableFuture + 10 Xử lý ngoại lệ CompletableFuture + 10.1 Sử dụng phương thức callback exceptionally() + 10.2 Sử dụng phương thức xử lý ngoại lệ chung handle() + 10.3 Sử dụng phương thức xử lý ngoại lệ chung whenComplete() \ No newline at end of file diff --git a/Java-Concurrence/Java-Thread/src/com/goki/MainThread.java b/Java-Concurrence/Java-Thread/src/com/goki/MainThread.java new file mode 100644 index 0000000..75c2e8e --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/MainThread.java @@ -0,0 +1,46 @@ +package com.goki; + +/** + * Khi này các thread đang chạy một cách lung tung, không theo thứ tự + * Khả năng nên cần một kiểu đồng bộ luồng trong Java + * @author ManhKM on 4/11/2022 + * @project Java-Thread + */ +public class MainThread { + public static void main(String[] args) { + + /** + * Thread 1: + * Cách 1: Tạo bằng cách new Từ chính Runnable() + */ + Thread thread1 = new Thread(new Runnable() { + private String threadName = "Thread-1"; + @Override + public void run() { + for (int i = 0; i < 10; i++){ + System.out.println(this.threadName + " >>> " + i); + } + } + }); + thread1.start(); + + /** + * Thread 2: + * Tạo bằng cách Extend từ chính Thread. + */ + Thread thread2 = new Thread2("Thread-2"); + thread2.start(); + + /** + * Thread 3: + * Bằng cách triển khai rõ ràng hơn với việc so với cách 1. + */ + Thread3 r = new Thread3("Thread-3"); + Thread thread3 = new Thread(r); + thread3.start(); + + for (int i = 0; i < 10; i++){ + System.out.println("Thread main >>> " + i); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/Thread2.java b/Java-Concurrence/Java-Thread/src/com/goki/Thread2.java new file mode 100644 index 0000000..452110c --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/Thread2.java @@ -0,0 +1,21 @@ +package com.goki; + +/** + * @author ManhKM on 4/11/2022 + * @project Java-Thread + */ +public class Thread2 extends Thread{ + + private String threadName; + + public Thread2(String threadName){ + this.threadName = threadName; + } + + @Override + public void run() { + for (int i = 0; i < 10; i++){ + System.out.println(this.threadName + " >>> " + i); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/Thread3.java b/Java-Concurrence/Java-Thread/src/com/goki/Thread3.java new file mode 100644 index 0000000..610939e --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/Thread3.java @@ -0,0 +1,22 @@ +package com.goki; + +/** + * @author ManhKM on 4/11/2022 + * @project Java-Thread + */ +public class Thread3 implements Runnable{ + + private String threadName; + + public Thread3(String threadName){ + this.threadName = threadName; + } + + + @Override + public void run() { + for (int i = 0; i < 10; i++){ + System.out.println(this.threadName + " >>> " + i); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/baitap2/baitap1.md b/Java-Concurrence/Java-Thread/src/com/goki/baitap2/baitap1.md new file mode 100644 index 0000000..c975d45 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/baitap2/baitap1.md @@ -0,0 +1,25 @@ + +# Synchronized 2 Thread - Bài tập mảng tên + địa chỉ - Java nâng cao + +# Bài 1: + +Cho một danh sách là họ tên các sinh viên + +Ví dụ: {“Nguyen Ngoc Lan”,”Duong Tien Nam”,”Ngo Anh Quan”,”Pham Van Duc”,”Tran Thi Ha”} + +Một danh sách khác là quê tương ứng của các sinh viên trên: + +Ví dụ: {“Hải Phòng”,”Hà Nội”,”Thái Nguyên”,”Hà Tĩnh”,”Quảng Ninh”} + +Viết 1 ứng dụng Java sử dụng Thread để thực hiện công việc: + +- Thread thứ nhất sau mỗi giây sẽ hiển thị tên 1 người tương ứng trong danh sách tên + +- Thread thứ hai ngay sau đó sẽ hiển thị quê tương ứng của người đó + +- Hai Thread thực hiện mỗi thread 5 lần sẽ dừng lại + +Phải đảm bảo rằng Thread1 luôn được chạy trước rồi mới đến Thread2 + +# Reference document +* [Bài tập mảng tên + địa chỉ](https://gokisoft.com/bai-tap-on-luyen-tong-hop-file-multithread-trong-java.html) diff --git a/Java-Concurrence/Java-Thread/src/com/goki/baitap2/baitap2.md b/Java-Concurrence/Java-Thread/src/com/goki/baitap2/baitap2.md new file mode 100644 index 0000000..55fb328 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/baitap2/baitap2.md @@ -0,0 +1,9 @@ +## Bài tập + Tạo lớp Thread1 kế thừa Thread gồm các thuộc tính ArrayList list 1 + - Thread này thực hiện sau 1s sinh ngẫu nhiên các số tự nhiên chạy từ 0-100 -> lưu kết quả vào mảng list 1 + Tạo lớp Thread2 kế thừa Thread gồm các thuộc tính ArrayList list2 . + - Thread này thực hiện sau 2s thì sinh ngẫu nhiên các ký tự từ a-z và lưu vào mảng list2 + Trong phương thức main của lớp Test tạo ra 2 thread t1 và t2 lần lượt từ Thread1 và Thread2 + Khi t1 đã sinh 10 lần -> thực hiện dừng t1 + Khi t2 đã sinh được 10 kí tự thì stop t2 + Sau khi 2 thread 1 và 2 kết thúc. Thực hiện in kết quả của các thread trên thread main. \ No newline at end of file diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java-advanced.txt b/Java-Concurrence/Java-Thread/src/com/goki/java-advanced.txt new file mode 100644 index 0000000..289b704 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java-advanced.txt @@ -0,0 +1,84 @@ +https://gokisoft.com/java-advanced.htm + ++ Tài liệu học + + ++ Exception & Collection + Overview Exception + Exception + ArrayIndexOutofBoundsException + + Debug sẽ kiểm soát mọi lỗi của chương trình này. + 11102002 + + Luồng, đa luồng thì dễ + Đồng bộ luồng và deal lock thì khá khó. + + StringBuilder và StringBuffer + StringBuiler -> bản chất -> nó sẽ tạo ra mảng và add phần tử vào. + -> append giá trị mới vào. + ??? Phân biệt String, StringBuiler, StringBuffer + + + Sử dụng Reguler Pattern + Pattern.compile + + + + ++ File + + ++ Thread + Phân tích quản lý ứng dụng trong HDH - Phân tích Game đa luồng Java + Phần 13: Phân tích quản lý ứng dụng HDH (Window, Mac, Linux) - Phân tích game đa luồng Java + + CPU 4x4 là gì? + Tại một thời điểm xử lý được 4 dòng lệnh. + 1s CPU thực hiện hàng triệu lệnh -> tốc độ quá nhanh -> tạo cảm giác nhanh -> đa luồng. + Giải thuật: Round Robin + + Xây dựng một dự án đa luồng. + + 3 cách tạo ra luồng -> bản chất sẽ có một luồng main class. + + Các hàm trong một Thread -> để biết cách làm việc rõ hơn. + Các trạng thái khác nhau của một luồng. + Tham khảo: + https://viblo.asia/p/vong-doi-va-trang-thai-cua-thread-bJzKmVWwZ9N + https://gokisoft.com/share-code-thread-trong-java--thread-sleep--join-trong-java.html + + Thread.sleep + getName -> lấy tên của luồng. + + Bài toán về sử lý đồng bộ + đặt logic trong khối synchronized + + + + + + Tìm hiểu Thread - Đồng bộ Thread - lập trình java nâng cao - Bổ sung thêm lớp mới + + Luồng nó hoàn toàn chạy độc lập -> không phụ thuộc vào luồng trước hay sau nó. + + Nếu có cả Thread1, Thread2 -> nó sẽ in cả kết quả của 1,2 song song với nhau. + + Vòng tròn RR -> in đến luồng nào thì in cái đó ra. + + Làm thế nào để nối các luồng với nhau + Thread1 -> sau khi chạy đến điểm nào đó -> nối vào Thread2 -> join + Nếu không nối thì chúng vẫn chạy với nhau một cách song song. + + + Đặt thread vào trong Thread khác. + Nối thread1 vào thread2 + Nếu không xử lý luồng thì có thể thực hiện các thao tác khác dẫn đến chương trình bị lỗi, treo. + + + wait, notify, notifyAll + + + Giải thích Synchronized + lập trình java nâng cao + Thread thực hiện in ngẫu nhiên các số nguyên và ký tự - phần 1 + Thread thực hiện in ngẫu nhiên các số nguyên và ký tự + Đồng bộ thread + wait notify + synchronized + Java nâng cao - phần 2 + Synchronized 2 Thread - Bài tập mảng tên + địa chỉ - Java nâng cao + Bài tập ôn luyện tổng hợp file, OOP, Thread trong Java + Sử dụng MultiThreading sinh ký tự a-zA-Z trong Java + + ++ CSDL + + ++ Ôn tập Tổng quát & Exmination + diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/Main.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/Main.java new file mode 100644 index 0000000..5bfad1c --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/Main.java @@ -0,0 +1,76 @@ +package com.goki.java2.thread.lession4; + +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * @author ManhKM on 6/30/2022 + * @project Java-Thread + * ----- + * Thực hiện khởi tạo Thread thông qua việc new trực tiếp một Thread + */ +public class Main { + /** + * Thread main => luồng chính => khởi tạo đầu tiên khi app chạy + */ + public static void main(String[] args) { + + Thread t1 = new Thread(new Runnable() { + @Override + public void run() { + for (int i = 0; i < 10; i++){ + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, e); + } + System.out.println("T1 >> " + i); + } + } + }); + + t1.start(); + /** + * Tại thời điểm này có 2 thread đang chạy: + * Thread t1 và Thread main + */ + + /** + * Tạo Thread theo cách 2: + * Sử dụng sự kế thừa của các class: ThreadTwo >> Thread + */ + Thread t2 = new ThreadTwo("T2"); + t2.start(); + + try { + t2.join(); + /** + * Tại thời điểm này có 3 thread >> T1, T2 và main thread + */ + } catch (InterruptedException e) { + Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, e); + } + + /** + * Tạo Thread theo cách 3: + * Tạo trực tiếp thông qua Object Thread3, sau đó đưa vào trong constructor của Thread. + * Runnable >> ThreadThree + */ + ThreadThree r = new ThreadThree("T3"); + Thread t3 = new Thread(r); + t3.start(); + + for (int i = 0; i < 15; i++){ + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, e); + } + System.out.println("T1 >> isAlive >> " + t1.isAlive()); + System.out.println("T2 >> isAlive >> " + t2.isAlive()); + System.out.println("T3 >> isAlive >> " + t3.isAlive()); + System.out.println("Main thread >> " + i); + } + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/MainBank.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/MainBank.java new file mode 100644 index 0000000..660f607 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/MainBank.java @@ -0,0 +1,22 @@ +package com.goki.java2.thread.lession4; + +/** + * @author ManhKM on 6/30/2022 + * @project Java-Thread + */ +public class MainBank { + public static MyBank tpBank = new MyBank(2000); + + public static void main(String[] args) { + + WithDrawThread t1 = new WithDrawThread(tpBank, "Rut lan 1"); + t1.start(); + + WithDrawThread t2 = new WithDrawThread(tpBank, "Rut lan 2"); + t2.start(); + + WithDrawThread t3 = new WithDrawThread(tpBank, "Rut lan 3"); + t3.start(); + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/MyBank.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/MyBank.java new file mode 100644 index 0000000..daf8787 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/MyBank.java @@ -0,0 +1,45 @@ +package com.goki.java2.thread.lession4; + +/** + * @author ManhKM on 6/30/2022 + * @project Java-Thread + * ----- + * Thực hiện khởi tạo đối tượng MyBank và phương thức withDraw (rút tiền) + * Với số tiền truyền vào + tên của tiến trình thực hiện rút tiền. + */ +public class MyBank { + private int money; + + public MyBank(int money) { + this.money = money; + } + + public MyBank() { + } + + public int getMoney() { + return money; + } + + public void setMoney(int money) { + this.money = money; + } + + @Override + public String toString() { + return "MyBank{" + + "money=" + money + + '}'; + } + + // synchronized + public synchronized void withDraw(int money, String threadName){ + if(money <= this.money){ + System.out.println("So tien rut: " + money + ", Thread: " + threadName); + this.money -= money; + } else { + System.out.println("So tien rut vuot qua so tien hien tai," + ", Thread: " + threadName); + } + System.out.println("So tien hien tai: " + this.money); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/SharedData.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/SharedData.java new file mode 100644 index 0000000..5b92c4a --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/SharedData.java @@ -0,0 +1,21 @@ +package com.goki.java2.thread.lession4; + +/** + * @author ManhKM on 7/3/2022 + * @project Java-Thread + * ----- + * Thực hiện việc lưu trữ dữ liệu chia sẻ giữa các luồng trong chương trình. + */ +public class SharedData { + int rad; + + public SharedData(){} + + public int getRad() { + return rad; + } + + public void setRad(int rad) { + this.rad = rad; + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/Test2.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/Test2.java new file mode 100644 index 0000000..ff967f6 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/Test2.java @@ -0,0 +1,31 @@ +package com.goki.java2.thread.lession4; + +/** + * @author ManhKM on 7/3/2022 + * @project Java-Thread + * ----- + * Thực hiện yêu cầu tạo một Thread sinh số ngẫu nhiên > hiển thị ra ngoài màn hình + * Thực hiện yêu cầu bình phương của số ngẫu nhiên đó lên và hiển thị ra ngoài màn hình + * Thực hiện khởi chạy 2 luồng này. + * + * ----- + * Tại sao khi chạy xong 10 lần mà chương trình vẫn chưa dừng lại, nó đang pending ở đâu + * + */ +public class Test2 { + public static void main(String[] args) { + SharedData sharedData = new SharedData(); + System.out.println("Thực hiện khởi tạo một vùng chia sẻ dữ liệu: " + sharedData); + + ThreadRandom threadRandom = new ThreadRandom(sharedData); + System.out.println("Thực hiện khởi tạo ThreadRandom: " + threadRandom); + + ThreadSquare threadSquare = new ThreadSquare(sharedData); + System.out.println("Thực hiện khởi tạo ThreadSquare: " + threadSquare); + + System.out.println("Thực hiện khởi chạy 2 threadRandom và threadSquare: "); + threadRandom.start(); + threadSquare.start(); + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadRandom.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadRandom.java new file mode 100644 index 0000000..1458a08 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadRandom.java @@ -0,0 +1,57 @@ +package com.goki.java2.thread.lession4; + + +import java.util.Random; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * @author ManhKM on 7/3/2022 + * @project Java-Thread + * ----- + * Thực hiện khai báo một luồng sinh ngẫu nhiên + */ +public class ThreadRandom extends Thread{ + SharedData sharedData; + + public ThreadRandom(SharedData sharedData){ + this.sharedData = sharedData; + } + + @Override + public void run() { + try { + Thread.sleep(200); + } catch (InterruptedException e) { + e.printStackTrace(); + } + Random random = new Random(); + /** + * Sinh dữ liệu sau 10 lần thì dừng lại + * Từ khóa: synchronized đặt cho biến chia sẻ. + * Đánh thức dựa vào biến chung + * Syncho trên chính Object đó + */ + for (int i = 0; i < 10; i++){ + System.out.println(">> T1: " + i); + synchronized (sharedData){ + int rad = random.nextInt(100) + 1; // random: 1 -> 99 + sharedData.setRad(rad); + System.out.println(" >> Random value: " + sharedData.getRad()); + /** + * Triển khai thêm, sau khi sinh xong thì đưa về trạng thái wait và đánh thức T2 để cho nó chạy + */ + sharedData.notifyAll(); // Đánh thức nó dậy + try { + sharedData.wait(); + } catch (InterruptedException e) { + Logger.getLogger(ThreadRandom.class.getName()).log(Level.SEVERE, null, e); + } + } + } + // stop: + synchronized (sharedData){ + sharedData.notifyAll(); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadSquare.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadSquare.java new file mode 100644 index 0000000..5583fd7 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadSquare.java @@ -0,0 +1,45 @@ +package com.goki.java2.thread.lession4; + +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * @author ManhKM on 7/3/2022 + * @project Java-Thread + * ----- + * Hàm sinh số bình phương + */ +public class ThreadSquare extends Thread{ + SharedData sharedData; + + public ThreadSquare(SharedData sharedData) { + this.sharedData = sharedData; + } + + @Override + public void run() { + /** + * Cũng phải loop 10 lần + * ---- Đồng bộ luồng với biến được chia sẻ + */ + for (int i = 0; i < 10; i++){ + System.out.println(">> T2: " + i); + synchronized (sharedData){ + try { + sharedData.notifyAll(); // Đánh thức các tiến trình khác + sharedData.wait(); // Đợi cho đến khi đánh thức + + } catch (InterruptedException e) { + Logger.getLogger(ThreadSquare.class.getName()).log(Level.SEVERE, null, e); + } + int rad = sharedData.getRad(); + rad *= rad; + System.out.println(" >> PT: " + rad); + } + } + // stop: + synchronized (sharedData){ + sharedData.notifyAll(); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadThree.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadThree.java new file mode 100644 index 0000000..cb4ce44 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadThree.java @@ -0,0 +1,34 @@ +package com.goki.java2.thread.lession4; + +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * @author ManhKM on 6/30/2022 + * @project Java-Thread + * ----- + * Thực hiện logic in ra màn hình giá trị từ 0 đến 9 + * Mỗi lần in cách nhau 1s + * + * Cách 1: khởi tạo Thread thông qua việc implement Interface Runnable + */ +public class ThreadThree implements Runnable{ + + private String name; + + @Override + public void run() { + for (int i = 0; i < 10; i++){ + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + Logger.getLogger(ThreadThree.class.getName()).log(Level.SEVERE, null, e); + } + System.out.println(this.name + " >> " + i); + } + } + + public ThreadThree(String name){ + this.name = name; + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadTwo.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadTwo.java new file mode 100644 index 0000000..a30d464 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/ThreadTwo.java @@ -0,0 +1,30 @@ +package com.goki.java2.thread.lession4; + +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * @author ManhKM on 6/30/2022 + * @project Java-Thread + * ----- + * + */ +public class ThreadTwo extends Thread{ + private String name; + + public ThreadTwo(String name){ + this.name = name; + } + + @Override + public void run() { + for (int i = 0; i < 10; i++){ + System.out.println(this.name + " >> " + i + " >> " + isAlive()); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + Logger.getLogger(ThreadTwo.class.getName()).log(Level.SEVERE, null, e); + } + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/WithDrawThread.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/WithDrawThread.java new file mode 100644 index 0000000..e8b38ae --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession4/WithDrawThread.java @@ -0,0 +1,21 @@ +package com.goki.java2.thread.lession4; + +/** + * @author ManhKM on 6/30/2022 + * @project Java-Thread + */ +public class WithDrawThread extends Thread{ + private String name; + + private MyBank myBank; + + public WithDrawThread(MyBank myBank, String name){ + this.myBank = myBank; + this.name = name; + } + + @Override + public void run() { + this.myBank.withDraw(800, this.name); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession5/CustomThread.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession5/CustomThread.java new file mode 100644 index 0000000..259bf2a --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession5/CustomThread.java @@ -0,0 +1,39 @@ +package com.goki.java2.thread.lession5; + +import java.util.Random; + +/** + * @author ManhKM on 7/2/2022 + * @project Java-Thread + */ +public class CustomThread extends Thread{ + SharedData data; + String nameThread; + + public CustomThread(SharedData sharedData, String nameThread){ + this.data = sharedData; + this.nameThread = nameThread; + } + + /** + * Thực hiện mỗi lần chạy sẽ tự động thêm vào dữ liêu của ShareData một giá trị nhất định. + * Giá trị này được sinh ngẫu nhiên theo hàm Random + */ + @Override + public void run() { + Random random = new Random(); + + for (int i = 0; i < 10; i++){ + int rad = random.nextInt(5) + 1; + data.add(rad); + } + } + + @Override + public String toString() { + return "CustomThread{" + + "data=" + data + + ", nameThread='" + nameThread + '\'' + + '}'; + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession5/Main.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession5/Main.java new file mode 100644 index 0000000..f19a4b4 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession5/Main.java @@ -0,0 +1,22 @@ +package com.goki.java2.thread.lession5; + +/** + * @author ManhKM on 7/2/2022 + * @project Java-Thread + */ +public class Main { + public static void main(String[] args) { + SharedData sharedData = new SharedData(); + CustomThread t1 = new CustomThread(sharedData, "Thread1"); + CustomThread t2 = new CustomThread(sharedData, "Thread2"); + CustomThread t3 = new CustomThread(sharedData, "Thread3"); + CustomThread t4 = new CustomThread(sharedData, "Thread4"); + CustomThread t5 = new CustomThread(sharedData, "Thread5"); + + t1.start(); + t2.start(); + t3.start(); + t4.start(); + t5.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession5/SharedData.java b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession5/SharedData.java new file mode 100644 index 0000000..f1005bc --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/lession5/SharedData.java @@ -0,0 +1,21 @@ +package com.goki.java2.thread.lession5; + +/** + * @author ManhKM on 7/2/2022 + * @project Java-Thread + */ +public class SharedData { + public int x = 0; + + /** + * Logic in ra toàn bộ các số từ giá trị 0 cho đến x. + * Dải số được in ra ngoài màn hình + */ + public synchronized void add(int data){ + x += data; + System.out.println("\nday so x: " + x); + for (int i = 0; i < x; i++){ + System.out.print(" " + i); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/readmd.md b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/readmd.md new file mode 100644 index 0000000..cf7f63a --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/java2/thread/readmd.md @@ -0,0 +1,40 @@ + +## Đa luồng + - Khái niệm đa luồng là gì + - Triển khai code đa luồng + - Đồng bộ Thread + - Tại sao chúng ta cần đồng bộ luồng + -> An toàn dữ liệu + - Synchronized + -> Đồng bộ lên chính một phương thức nào đó + + - wait/notify + + - Deadlock + +## Synchronized + - wait, notify, notifyAll + - Dùng kết hợp với 3 cái trên: + wait -> đưa luồng về trạng thái dừng + notify, notifyAll -> đánh thức chúng dậy và cho chúng chạy. + + Bài tập + - T1 >> sinh ngẫu nhiên 1 số tự nhiên từ 1 - 100 + - T2 >> hiển thị bình phương số đã được sinh từ T1 + 1. Tạo 2 thread thực hiện yêu cầu trên + 2. Đồng bộ luồng + T1 Thực hiện > rad > T1 đợi T2 > hiển thị bình phương số rad > in ra màn hình + > T2 wait > T1 chạy > vòng tròn như trên + 3. Sinh ngẫu nhiên 10 số > stop 2 luồng + + Phân tích: + T1 > sinh ra số và phải có nơi lưu trữ + T2 > lấy rad => thực hiện logic hiển thị. + + Nên tạo ra một phần data để quản lý dữ liệu của DataMrg của T1 và T2 + + +## Reference Document: +[Java Concurrency - Java 8](https://docs.oracle.com/javase/tutorial/essential/concurrency/index.html) + +[Java Advanced - Java 8](https://gokisoft.com/java-advanced.htm) \ No newline at end of file diff --git a/Java-Concurrence/Java-Thread/src/com/goki/mainthread/ChildThread.java b/Java-Concurrence/Java-Thread/src/com/goki/mainthread/ChildThread.java new file mode 100644 index 0000000..f16d688 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/mainthread/ChildThread.java @@ -0,0 +1,14 @@ +package com.goki.mainthread; + +/** + * @author ManhKM on 5/16/2022 + * @project Java-Thread + */ +public class ChildThread extends Thread{ + @Override + public void run() { + for (int i = 0; i < 5; i++) { + System.out.println("Child thread"); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/mainthread/MainThreadDemo.java b/Java-Concurrence/Java-Thread/src/com/goki/mainthread/MainThreadDemo.java new file mode 100644 index 0000000..eedd69c --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/mainthread/MainThreadDemo.java @@ -0,0 +1,33 @@ +package com.goki.mainthread; + +/** + * @author ManhKM on 5/16/2022 + * @project Java-Thread + */ +public class MainThreadDemo extends Thread{ + public static void main(String[] args) { + // getting reference to Main thread + Thread t = Thread.currentThread(); + // getting name of Main thread + System.out.println("Current thread: " + t.getName()); + // doi ten thread + t.setName("Shareprogramming.net"); + System.out.println("After name change: " + t.getName()); + // Kiem tra do uu tien cua main thread + System.out.println("Main thread priority: "+ t.getPriority()); + + // thay doi gia tri do uu tien cua main thread + t.setPriority(MAX_PRIORITY); + System.out.println("Main thread new priority: "+ t.getPriority()); + for (int i = 0; i < 5; i++) { + System.out.println("Main thread"); + } + + // Khoi tao childthread con cua main thread + ChildThread ct = new ChildThread(); + System.out.println("Child thread priority: "+ ct.getPriority()); + ct.setPriority(MIN_PRIORITY); + System.out.println("Child thread new priority: "+ ct.getPriority()); + ct.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ShareData.java b/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ShareData.java new file mode 100644 index 0000000..91d11ea --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ShareData.java @@ -0,0 +1,21 @@ +package com.goki.threadNumber; + +/** + * @author ManhKM on 4/11/2022 + * @project Java-Thread + */ +public class ShareData { + int rad; + + public ShareData(){ + + } + + public int getRan(){ + return this.rad; + } + + public void setRad(int rad){ + this.rad = rad; + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ThreadRandom.java b/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ThreadRandom.java new file mode 100644 index 0000000..5d0e49b --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ThreadRandom.java @@ -0,0 +1,48 @@ +package com.goki.threadNumber; + +import java.util.Random; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Hàm thực hiện sinh giá trị ngẫu nhiên trong khoảng nào đó. + * @author ManhKM on 4/11/2022 + * @project Java-Thread + */ +public class ThreadRandom extends Thread{ + ShareData shareData; + + public ThreadRandom(ShareData shareData){ + this.shareData = shareData; + } + + /** + * Hàm run() -> thực hiện sinh các số random. + */ + @Override + public void run() { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + Logger.getLogger(ThreadRandom.class.getName()).log(Level.SEVERE, null, e); + } + + Random random = new Random(); + for (int i = 0; i < 10; i++){ + synchronized (shareData){ + int rad = random.nextInt(100) + 1; + shareData.setRad(rad); + System.out.println("Rad : " + rad); + shareData.notifyAll(); + try { + shareData.wait(); + } catch (InterruptedException e) { + Logger.getLogger(ThreadRandom.class.getName()).log(Level.SEVERE, null, e); + } + } + } + + System.out.println("T1 Stop"); + shareData.notifyAll(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ThreadSquare.java b/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ThreadSquare.java new file mode 100644 index 0000000..bc43c0b --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ThreadSquare.java @@ -0,0 +1,46 @@ +package com.goki.threadNumber; + +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Thread thực hiện việc bình phương dữ liệu trả về từ Random. + * @author ManhKM on 4/11/2022 + * @project Java-Thread + */ +public class ThreadSquare extends Thread{ + ShareData shareData; + + public ThreadSquare(ShareData shareData){ + this.shareData = shareData; + } + + /** + * Thực hiện bình phương số đã trả về từ Random. + */ + @Override + public void run() { + for (int i = 0; i < 100; i++){ + synchronized (shareData){ + try { + shareData.notifyAll(); + shareData.wait(); + } catch (InterruptedException e) { + Logger.getLogger(ThreadSquare.class.getName()).log(Level.SEVERE, null, e); + } + int rad = shareData.getRan(); + rad *= rad; + System.out.println("PT: " + rad); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + Logger.getLogger(ThreadRandom.class.getName()).log(Level.SEVERE, null, e); + } + } + } + System.out.println("T2 Stop"); + synchronized (shareData){ + shareData.notifyAll(); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ThreadTest2.java b/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ThreadTest2.java new file mode 100644 index 0000000..82b33b2 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/ThreadTest2.java @@ -0,0 +1,17 @@ +package com.goki.threadNumber; + +/** + * @author ManhKM on 4/11/2022 + * @project Java-Thread + */ +public class ThreadTest2 { + public static void main(String[] args) { + ShareData shareData = new ShareData(); + + ThreadRandom threadRandom = new ThreadRandom(shareData); + ThreadSquare threadSquare = new ThreadSquare(shareData); + + threadSquare.start(); + threadRandom.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/readme.md b/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/readme.md new file mode 100644 index 0000000..653f0e6 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/goki/threadNumber/readme.md @@ -0,0 +1,16 @@ +##Bài tập + Thread1 -> sinh ngẫu nhiên 1 số tự nhiên từ 1-100 + Thread2 -> hiển thị bình phương số đã được sinh ra từ Thread1 + Yêu cầu: + 1. Tạo 2 thread thực hiện yêu cầu trên + 2. Đồng bộ luồng + Thread1 thực hiện -> random T1 đợi T2 -> hiển thị bình phương số random -> in ra màn hình -> T2 wait -> T1 chạy -> vòng tròn lặp lại như trên. + + 3. Sinh ngẫu nhiên 10 số -> stop 2 luồng. + +##Phân tích code + + + +##Giải thích + diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/ImplementRunable/RunnableSimple.java b/Java-Concurrence/Java-Thread/src/com/gpcode/ImplementRunable/RunnableSimple.java new file mode 100644 index 0000000..e4f2a07 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/ImplementRunable/RunnableSimple.java @@ -0,0 +1,12 @@ +package com.gpcode.ImplementRunable; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class RunnableSimple implements Runnable{ + @Override + public void run() { + System.out.println("Thread is running..... by ManhKM"); + } +} diff --git a/Java-ThreadPool/Java-Thread/test/RunnableSimpleMain.java b/Java-Concurrence/Java-Thread/src/com/gpcode/ImplementRunable/TestRunnableSimple.java similarity index 53% rename from Java-ThreadPool/Java-Thread/test/RunnableSimpleMain.java rename to Java-Concurrence/Java-Thread/src/com/gpcode/ImplementRunable/TestRunnableSimple.java index 5e97716..ed748d5 100644 --- a/Java-ThreadPool/Java-Thread/test/RunnableSimpleMain.java +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/ImplementRunable/TestRunnableSimple.java @@ -1,13 +1,16 @@ -import com.manhkm.simple.RunnableSimple; -import com.manhkm.simple.ThreadSimple; +package com.gpcode.ImplementRunable; /** - * @author ManhKM on 1/19/2022 + * @author ManhKM on 4/5/2022 * @project Java-Thread */ -public class RunnableSimpleMain { +public class TestRunnableSimple { public static void main(String[] args) { + + // Khởi tạo đối tượng RunnableSimple: RunnableSimple runnableSimple = new RunnableSimple(); + + // Khởi tạo thread: Thread t1 = new Thread(runnableSimple); t1.start(); } diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/completable_future/ConcurrencyWithCompletableFuture3.java b/Java-Concurrence/Java-Thread/src/com/gpcode/completable_future/ConcurrencyWithCompletableFuture3.java new file mode 100644 index 0000000..3c315c0 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/completable_future/ConcurrencyWithCompletableFuture3.java @@ -0,0 +1,81 @@ +package com.gpcode.completable_future; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Random; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +/** + * @author ManhKM on 4/9/2022 + * @project Java-Thread + */ +public class ConcurrencyWithCompletableFuture3 { + public static void main(String[] args) { + List works = new ArrayList<>(); + works.add("A"); + works.add("B"); + works.add("C"); + works.add("D"); + works.add("E"); + runMultipleAsync(works); + } + + private static void runMultipleAsync(List works) { + List>> allOfWork1Futures = new ArrayList<>(); + works.stream().forEach(work -> { + allOfWork1Futures.add(createWork1(work).thenCompose(work1Results -> { + List> allOfWork2Futures = work1Results.stream() + .map(work1Result -> createWork2(work1Result)).collect(Collectors.toList()); + CompletableFuture done = CompletableFuture + .allOf(allOfWork2Futures.toArray(new CompletableFuture[allOfWork2Futures.size()])); + return done.thenApplyAsync(v -> allOfWork2Futures.stream().map(CompletionStage::toCompletableFuture) + .map(CompletableFuture::join) // Returns the result value when complete + .collect(Collectors.toList())); + }).whenCompleteAsync((result, th) -> { + // Do something when complete + }).toCompletableFuture()); + }); + CompletableFuture done = CompletableFuture + .allOf(allOfWork1Futures.toArray(new CompletableFuture[allOfWork1Futures.size()])) + .whenComplete((result, th) -> { + // Do something when complete + }); + done.join(); // Returns the result value when complete + } + + private static CompletionStage> createWork1(String str) { + return CompletableFuture.completedFuture(str).thenApplyAsync(s -> executeWork1(s)); + } + + private static CompletionStage createWork2(String str) { + return CompletableFuture.completedFuture(str).thenAcceptAsync(s -> executeWork2(s)); + } + + private static List executeWork1(String _item) { + waitingForComplete(); + System.out.println("Work" + _item + " -> work1"); + return Arrays.asList(_item + "_item" + 1, _item + "_item" + 2); + } + + private static void executeWork2(String data) { + waitingForComplete(); + System.out.println("Work" + data + " -> work2"); + } + + private static void waitingForComplete() { + try { + TimeUnit.SECONDS.sleep(random(0, 3)); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + private static int random(int min, int max) { + Random r = new Random(); + return r.nextInt((max - min) + 1) + min; + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/daemonthread/DaemonThreadTest.java b/Java-Concurrence/Java-Thread/src/com/gpcode/daemonthread/DaemonThreadTest.java new file mode 100644 index 0000000..66842c5 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/daemonthread/DaemonThreadTest.java @@ -0,0 +1,21 @@ +package com.gpcode.daemonthread; + +/** + * Trong class: DaemonThreadTest -> MainThread + * -> Thread dt -> create MainThread. + * @author ManhKM on 4/7/2022 + * @project Java-Thread + */ +public class DaemonThreadTest { + public static void main(String[] args) throws InterruptedException { + Thread dt = new Thread(new WorkingThread(), "My Daemon Thread"); + dt.setDaemon(true); + dt.start(); + + /** + * Coding something + */ + Thread.sleep(3000); + System.out.println("-----> Finishing main program...."); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/daemonthread/NonDaemonThreadTest.java b/Java-Concurrence/Java-Thread/src/com/gpcode/daemonthread/NonDaemonThreadTest.java new file mode 100644 index 0000000..989a5a2 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/daemonthread/NonDaemonThreadTest.java @@ -0,0 +1,23 @@ +package com.gpcode.daemonthread; + +/** + * Object new WorkingThread() -> trong package daemonthread + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class NonDaemonThreadTest { + public static void main(String[] args) { + Thread dt = null; + try { + dt = new Thread(new WorkingThread(), "My Non-Daemon Thread"); + dt.start(); + + // continue program: + Thread.sleep(3000); + System.out.println("-----> Finishing main program"); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/daemonthread/WorkingThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/daemonthread/WorkingThread.java new file mode 100644 index 0000000..eab20e0 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/daemonthread/WorkingThread.java @@ -0,0 +1,28 @@ +package com.gpcode.daemonthread; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class WorkingThread implements Runnable{ + + @Override + public void run() { + while(true){ + processSomething(); + } + } + + /** + * Thực hiện logic trong khi chạy tiến trình + * Sleep() -> dùng cho việc tạm dừng thread trong một khoảng thời gian. + */ + private void processSomething() { + try { + System.out.println("Processing working thread"); + Thread.sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/demo/MainMonitor.java b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/MainMonitor.java new file mode 100644 index 0000000..f127bb7 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/MainMonitor.java @@ -0,0 +1,12 @@ +package com.gpcode.demo; + +/** + * @author ManhKM on 3/7/2022 + * @project Java-Thread + */ +public class MainMonitor { + public static void main(String[] args) { + MonitorConfig monitorConfig = new MonitorConfig(); + monitorConfig.run(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/demo/ManagedConfig.java b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/ManagedConfig.java new file mode 100644 index 0000000..7e8cf50 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/ManagedConfig.java @@ -0,0 +1,11 @@ +package com.gpcode.demo; + +import com.gpcode.demo.exception.ORMException; + +/** + * @author ManhKM on 3/7/2022 + * @project Java-Thread + */ +public interface ManagedConfig { + void init() throws ORMException; +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/demo/MonitorConfig.java b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/MonitorConfig.java new file mode 100644 index 0000000..0bb3eae --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/MonitorConfig.java @@ -0,0 +1,18 @@ +package com.gpcode.demo; + +/** + * @author ManhKM on 3/7/2022 + * @project Java-Thread + */ +public class MonitorConfig implements Runnable { + @Override + public void run() { + while (true) { + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + } + System.out.println("## Running..."); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/demo/MonitorConfigImpl.java b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/MonitorConfigImpl.java new file mode 100644 index 0000000..2b306d4 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/MonitorConfigImpl.java @@ -0,0 +1,18 @@ +package com.gpcode.demo; + +import com.gpcode.demo.exception.ORMException; + +/** + * @author ManhKM on 3/7/2022 + * @project Java-Thread + */ +public class MonitorConfigImpl implements ManagedConfig{ + + private MonitorConfig monitorConfig; + @Override + public void init() throws ORMException { + Thread thread = new Thread(monitorConfig); + thread.setName("Thread-MonitorConfig"); + thread.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/demo/StringMain.java b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/StringMain.java new file mode 100644 index 0000000..3b419cc --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/StringMain.java @@ -0,0 +1,16 @@ +package com.gpcode.demo; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + */ +public class StringMain { + public static void main(String[] args) { + showResult(9); + } + + private static void showResult(int i) { + System.out.println(Integer.toString((int) (Math.pow(10, i) - 1))); + } + +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/demo/exception/ORMException.java b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/exception/ORMException.java new file mode 100644 index 0000000..c2eb680 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/demo/exception/ORMException.java @@ -0,0 +1,26 @@ +package com.gpcode.demo.exception; + +/** + * @author ManhKM on 3/7/2022 + * @project Java-Thread + */ +public class ORMException extends Exception{ + private static final long serialVersionUID = 1L; + + public ORMException() { + super(); + } + + public ORMException(String message) { + super(message); + } + + public ORMException(String message, Throwable cause) { + super(message, cause); + } + + @Override + public String toString() { + return super.toString(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/exception/WorkingThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/exception/WorkingThread.java new file mode 100644 index 0000000..c9da5fb --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/exception/WorkingThread.java @@ -0,0 +1,33 @@ +package com.gpcode.exception; + +import java.util.Random; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class WorkingThread implements Runnable{ + + @Override + public void run() { + while (true){ + processSomething(); + } + } + + private void processSomething() { + try { + System.out.println("-----> Processing working thread"); + Thread.sleep(500); + + } catch (InterruptedException e) { + e.printStackTrace(); + } + + Random r = new Random(); + int i = r.nextInt(100); + if(i > 70){ + throw new RuntimeException("-----> Xử lý ngoại lệ trong thread"); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/exception/WorkingThreadTest.java b/Java-Concurrence/Java-Thread/src/com/gpcode/exception/WorkingThreadTest.java new file mode 100644 index 0000000..98cab9a --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/exception/WorkingThreadTest.java @@ -0,0 +1,22 @@ +package com.gpcode.exception; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class WorkingThreadTest { + public static void main(String[] args) { + System.out.println("-----> Main thread running..."); + Thread thread = new Thread(new WorkingThread()); + Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { + @Override + public void uncaughtException(Thread t, Throwable e) { + System.out.println("##Thread: " + t); + System.out.println("##Thread exception message: " + e.getMessage()); + } + }); + + thread.start(); + System.out.println("-----> Main thread end!!!"); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/executorservice/Run.java b/Java-Concurrence/Java-Thread/src/com/gpcode/executorservice/Run.java new file mode 100644 index 0000000..560ed5e --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/executorservice/Run.java @@ -0,0 +1,26 @@ +package com.gpcode.executorservice; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + */ +public class Run implements Runnable{ + int id; + + public Run(int id){ + this.id = id; + } + + @Override + public void run() { + System.out.println("Tiến trình đang thực thi: " + id); + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + System.out.println("Tiến trình đã được thực thi: " + id); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/executorservice/TestThreadPool.java b/Java-Concurrence/Java-Thread/src/com/gpcode/executorservice/TestThreadPool.java new file mode 100644 index 0000000..10a170a --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/executorservice/TestThreadPool.java @@ -0,0 +1,27 @@ +package com.gpcode.executorservice; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + */ +public class TestThreadPool { + public static void main(String[] args) { + ExecutorService pool = Executors.newFixedThreadPool(5); + for (int i = 0; i < 10; i++){ + pool.submit(new Run(i)); + } + + + try { + pool.awaitTermination(1, TimeUnit.DAYS); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + pool.shutdown(); + } +} diff --git a/Java-ThreadPool/Java-Thread/src/com/manhkm/simple/RunnableSimple.java b/Java-Concurrence/Java-Thread/src/com/gpcode/extendthread/RunnableSimple.java similarity index 86% rename from Java-ThreadPool/Java-Thread/src/com/manhkm/simple/RunnableSimple.java rename to Java-Concurrence/Java-Thread/src/com/gpcode/extendthread/RunnableSimple.java index c0e20a6..e947525 100644 --- a/Java-ThreadPool/Java-Thread/src/com/manhkm/simple/RunnableSimple.java +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/extendthread/RunnableSimple.java @@ -1,4 +1,4 @@ -package com.manhkm.simple; +package com.gpcode.extendthread; /** * @author ManhKM on 1/19/2022 diff --git a/Java-ThreadPool/Java-Thread/src/com/manhkm/simple/ThreadSimple.java b/Java-Concurrence/Java-Thread/src/com/gpcode/extendthread/ThreadSimple.java similarity index 86% rename from Java-ThreadPool/Java-Thread/src/com/manhkm/simple/ThreadSimple.java rename to Java-Concurrence/Java-Thread/src/com/gpcode/extendthread/ThreadSimple.java index 58ef622..f399be4 100644 --- a/Java-ThreadPool/Java-Thread/src/com/manhkm/simple/ThreadSimple.java +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/extendthread/ThreadSimple.java @@ -1,4 +1,4 @@ -package com.manhkm.simple; +package com.gpcode.extendthread; /** * @author ManhKM on 1/19/2022 diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/flow/RunnableDemo.java b/Java-Concurrence/Java-Thread/src/com/gpcode/flow/RunnableDemo.java new file mode 100644 index 0000000..d12a399 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/flow/RunnableDemo.java @@ -0,0 +1,45 @@ +package com.gpcode.flow; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + * ----- + * Flow của phần gọi qua Runnable cũng tương tự như với Thread thôi, không có gì cả + * Thay vì gọi qua lớp triển khai của Runnable -> thì gọi thẳng luôn vào Runnable + * Thread thì cũng từ Rannable mà ra + * Dùng Runnable -> dễ để đưa vào ThreadPool hơn nhiều -> core + */ +public class RunnableDemo implements Runnable{ + private Thread t; + private String threadName; + + RunnableDemo(String threadName){ + this.threadName = threadName; + System.out.println("Creating " + threadName); + } + + @Override + public void run() { + System.out.println("Running " + threadName); + try { + for(int i = 4; i > 0; i--){ + System.out.println("Thread: " + threadName + ", " + i); + t.sleep(50); + } + } catch (InterruptedException e) { + System.out.println("Thread " + threadName + " interrupted."); + } + System.out.println("Thread " + threadName + " exiting."); + } + + /** + * Hàm thực hiện call start(). + */ + public void start(){ + System.out.println("Starting " + threadName); + if(t == null){ + t = new Thread(this, threadName); + t.start(); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/flow/RunnableDemoTest.java b/Java-Concurrence/Java-Thread/src/com/gpcode/flow/RunnableDemoTest.java new file mode 100644 index 0000000..3d38a27 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/flow/RunnableDemoTest.java @@ -0,0 +1,20 @@ +package com.gpcode.flow; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class RunnableDemoTest { + public static void main(String[] args) { + System.out.println("Main thread running..."); + + RunnableDemo R1 = new RunnableDemo("Thread-1-HR-Database"); + R1.start(); + + RunnableDemo R2 = new RunnableDemo("Thread-2-Send-Email"); + R2.start(); + + System.out.println("Main thread stopped!!!"); + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/flow/ThreadDemo.java b/Java-Concurrence/Java-Thread/src/com/gpcode/flow/ThreadDemo.java new file mode 100644 index 0000000..58b3e03 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/flow/ThreadDemo.java @@ -0,0 +1,46 @@ +package com.gpcode.flow; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class ThreadDemo extends Thread{ + private Thread t; + private String threadName; + + public ThreadDemo(String threadName){ + this.threadName = threadName; + } + + /** + * Method run() + * Thực hiện chạy từ 4 -> 0 -> giữa mỗi lần nghỉ 50 milis giây. + */ + @Override + public void run() { + System.out.println("Running " + threadName); + try { + for (int i = 4; i > 0; i--){ + System.out.println("Thread: " + threadName + ", " + i); + t.sleep(50); + } + } catch (InterruptedException e) { + e.printStackTrace(); + System.out.println("Thread " + threadName + " interrupted"); + } + System.out.println("Thread " + threadName + " exiting."); + } + + /** + * Method start() + * Nếu thread -> chưa khởi tạo | null + * + */ + public void start(){ + System.out.println("Starting " + threadName); + if(t == null){ + t = new Thread(this, threadName); + t.start(); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/flow/ThreadDemoTest.java b/Java-Concurrence/Java-Thread/src/com/gpcode/flow/ThreadDemoTest.java new file mode 100644 index 0000000..6d0f377 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/flow/ThreadDemoTest.java @@ -0,0 +1,21 @@ +package com.gpcode.flow; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class ThreadDemoTest { + public static void main(String[] args) { + System.out.println("-----> Main thread running..."); + + ThreadDemo T1 = new ThreadDemo("Thread-1-HR-Database"); + T1.start(); + + ThreadDemo T2 = new ThreadDemo("Thread-2-Send-Email"); + T2.start(); + System.out.println("-----> Main thread stopped!!!"); + + + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/info/MainWorkingThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/info/MainWorkingThread.java new file mode 100644 index 0000000..4b43501 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/info/MainWorkingThread.java @@ -0,0 +1,12 @@ +package com.gpcode.info; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class MainWorkingThread { + public static void main(String[] args) { + WorkingThread workingThread = new WorkingThread("Alarm Sync File"); + workingThread.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/info/ThreadInfoExample.java b/Java-Concurrence/Java-Thread/src/com/gpcode/info/ThreadInfoExample.java new file mode 100644 index 0000000..6999307 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/info/ThreadInfoExample.java @@ -0,0 +1,36 @@ +package com.gpcode.info; + +/** + * ThreadInfoExample: + * + QH: Kế thừa + * + QH: Đa hình -> Thread -> WorkingThread. + * Tại sao không call luôn vào run() -> mà phải thông qua start(). + * + Nó không chỉ là call mà còn phải cấp phát vùng nhớ cho thread + nhiều thứ khác... + * Phương thức Sleep(mili-second) + * + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class ThreadInfoExample { + public static void main(String[] args) { + Thread t1 = new WorkingThread("Luồng 1"); + Thread t2 = new WorkingThread("Luồng 2"); + Thread t3 = new WorkingThread("Luồng 3"); + + System.out.println("ID luồng 1: " + t1.getId()); + System.out.println("ID luồng 2: " + t2.getId()); + System.out.println("ID luồng 3: " + t3.getId()); + + t1.setPriority(Thread.MIN_PRIORITY); + t2.setPriority(Thread.NORM_PRIORITY); + t3.setPriority(Thread.MAX_PRIORITY); + + System.out.println(t1.isDaemon()); + + t1.start(); + t2.start(); + t3.start(); + + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/info/WorkingThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/info/WorkingThread.java new file mode 100644 index 0000000..dd88c1e --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/info/WorkingThread.java @@ -0,0 +1,18 @@ +package com.gpcode.info; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class WorkingThread extends Thread{ + public WorkingThread(String name){ + super(name); + } + + @Override + public void run() { + for(int i = 0; i < 5; i++){ + System.out.printf("Luồng: %s có độ ưu tiên là %d \n", getName(), getPriority()); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/join/UsingJoinMethod.java b/Java-Concurrence/Java-Thread/src/com/gpcode/join/UsingJoinMethod.java new file mode 100644 index 0000000..0e89514 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/join/UsingJoinMethod.java @@ -0,0 +1,47 @@ +package com.gpcode.join; + +/** + * Cách sử dụng của join: + * + để thông báo rằng chờ thread này hoàn thành + * rồi thread cha mới được tiếp tục chạy + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class UsingJoinMethod extends Thread{ + + public UsingJoinMethod(String name){ + super(name); + } + + /** + * Thực hiện lặp thông tin trong một Thread + */ + @Override + public void run() { + System.out.println(getName()); + for (int i = 0; i < 10; i++){ + try { + System.out.print(i + " "); + Thread.sleep(300); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + System.out.println(); + } + + public static void main(String[] args) { + UsingJoinMethod t1 = new UsingJoinMethod("Thread 1"); + UsingJoinMethod t2 = new UsingJoinMethod("Thread 2"); + + t1.start(); + try { + t1.join(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + t2.start(); + System.out.println("-----> Main Thread Finished"); + } + +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/join/UsingJoinMethod2.java b/Java-Concurrence/Java-Thread/src/com/gpcode/join/UsingJoinMethod2.java new file mode 100644 index 0000000..0e78182 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/join/UsingJoinMethod2.java @@ -0,0 +1,42 @@ +package com.gpcode.join; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class UsingJoinMethod2 extends Thread{ + public UsingJoinMethod2(String name){ + super(name); + } + + @Override + public void run() { + System.out.println(getName()); + for (int i = 0; i < 5; i++){ + try { + System.out.print(i + " "); + Thread.sleep(300); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + System.out.println(); + } + + public static void main(String[] args) { + UsingJoinMethod2 t1 = null; + UsingJoinMethod2 t2 = null; + + try { + t1 = new UsingJoinMethod2("Thread 1"); + t2 = new UsingJoinMethod2("Thread 2"); + t1.start(); + t1.join(450); + + t2.start(); + System.out.println("Main Thread Finished"); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/random/MainRandom.java b/Java-Concurrence/Java-Thread/src/com/gpcode/random/MainRandom.java new file mode 100644 index 0000000..ced7917 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/random/MainRandom.java @@ -0,0 +1,14 @@ +package com.gpcode.random; + +import java.util.UUID; + +/** + * Kiểm tra hàm trả về ramdom .... + * @author ManhKM on 3/8/2022 + * @project Java-Thread + */ +public class MainRandom { + public static void main(String[] args) { + System.out.println(UUID.randomUUID()); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sleep/SleepMethodExample.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sleep/SleepMethodExample.java new file mode 100644 index 0000000..a58ec9a --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sleep/SleepMethodExample.java @@ -0,0 +1,24 @@ +package com.gpcode.sleep; + +/** + * @author ManhKM on 4/5/2022 + * @project Java-Thread + */ +public class SleepMethodExample extends Thread{ + @Override + public void run() { + for(int i = 0; i < 5; i++){ + System.out.println(i); + try { + Thread.sleep(500); + } catch (InterruptedException e){ + e.printStackTrace(); + } + } + } + + public static void main(String[] args) { + SleepMethodExample t1 = new SleepMethodExample(); + t1.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/ShareMemory.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/ShareMemory.java new file mode 100644 index 0000000..efab694 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/ShareMemory.java @@ -0,0 +1,13 @@ +package com.gpcode.sync; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class ShareMemory { + public synchronized void printData(String threadName){ + for (int i = 1; i <= 5; i++){ + System.out.println(threadName + ": " + i); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/SharedMemoryTest.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/SharedMemoryTest.java new file mode 100644 index 0000000..2c4b826 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/SharedMemoryTest.java @@ -0,0 +1,21 @@ +package com.gpcode.sync; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class SharedMemoryTest { + public static void main(String[] args) { + ShareMemory sm = new ShareMemory(); + + WorkingThread thread1 = new WorkingThread(sm, "Thread1"); + WorkingThread thread2 = new WorkingThread(sm, "Thread2"); + WorkingThread thread3 = new WorkingThread(sm, "Thread3"); + WorkingThread thread4 = new WorkingThread(sm, "Thread4"); + + thread1.start(); + thread2.start(); + thread3.start(); + thread4.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/SynchronizationExample.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/SynchronizationExample.java new file mode 100644 index 0000000..1348984 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/SynchronizationExample.java @@ -0,0 +1,37 @@ +package com.gpcode.sync; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class SynchronizationExample { + private static SynchronizationExample instance; + + /** + * Synchronized Method: None-static method + */ + public synchronized void lockedByThis(){ + System.out.println(" This synchronized method is locked by current, " + + "instance of object, i.e..this"); + } + + public static synchronized SynchronizationExample lockedByClassLock(){ + System.out.println("This static synchronized method is locked by class level lock"); + if(instance == null){ + instance = new SynchronizationExample(); + } + return instance; + } + + public static synchronized SynchronizationExample lockedBySynchronizedBlock(){ + System.out.println("This line is executed without locking"); + if (instance == null){ + synchronized (instance){ + if(instance == null){ + instance = new SynchronizationExample(); + } + } + } + return instance; + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/WorkingThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/WorkingThread.java new file mode 100644 index 0000000..888d1a6 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/WorkingThread.java @@ -0,0 +1,21 @@ +package com.gpcode.sync; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class WorkingThread extends Thread{ + private ShareMemory mShareMemory; + private String mThreadName; + + // Constructor: + public WorkingThread(ShareMemory sm, String threadName){ + this.mShareMemory = sm; + this.mThreadName = threadName; + } + + @Override + public void run() { + mShareMemory.printData(mThreadName); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/atm/Customer.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/atm/Customer.java new file mode 100644 index 0000000..63ce630 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/atm/Customer.java @@ -0,0 +1,46 @@ +package com.gpcode.sync.atm; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class Customer { + private int balance = 1000; + + public Customer(){ + System.out.println("Tài khoản của bạn là: " + balance); + } + + /** + * Phương thức thực hiện hành vi rút tiền. + * Nếu số tiền trong tài khoản không đủ thì sẽ không được rút. + * nó sẽ bị waiting -> cho đến khi thỏa mãn điều kiện rút. + * @param amount + */ + public synchronized void withdraw(int amount){ + System.out.println("Đang thực hiện giao dịch rút tiền" + amount + "..."); + while (balance < amount){ + System.out.println("Không đủ tiền rút!!!"); + try { + wait(); + } catch (InterruptedException e){ + System.out.println(e.toString()); + } + } + balance = balance - amount; + System.out.println("Rút tiền thành công. Tài khoản của bạn hiện tại là: " + balance); + } + + /** + * Thực hiện method nạp tiền vào trong tài khoản hiện tại. + * Khi đã nạp tiền -> nó sẽ thông báo đến cho toàn bộ các tiến trình + * Đang trong trường hợp đợi để thực hiên logic + * @param amount + */ + public synchronized void deposit(int amount){ + System.out.println("Đang thực hiện giao dịch nạp tiền: " + amount +"..."); + balance = balance + amount; + System.out.println("Nạp tiền thành công. Tài khoản của bạn hiện tại là: " + balance); + notify(); //Thông báo đã nạp tiền + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/atm/CustomerOperationExample.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/atm/CustomerOperationExample.java new file mode 100644 index 0000000..6e163c0 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/atm/CustomerOperationExample.java @@ -0,0 +1,40 @@ +package com.gpcode.sync.atm; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class CustomerOperationExample { + public static void main(String[] args) { + final Customer c = new Customer(); + + /** + * Tiến trình 1: Thực hiện thao tác rút tiền + * với số tiền > số tiền hiện tại trong tài khoản + */ + Thread t1 = new Thread(){ + public void run(){ + c.withdraw(2000); + } + }; + t1.start(); + + /** + * Tiến trình 2: Thực hiện thao tác nộp tiền vào trong tài khoản + * TH1 -> chưa đủ so với số tiền rút. + * TH2 -> số tiền >= số tiền hiện tại. + */ + Thread t2 = new Thread(){ + public void run(){ + c.deposit(500); + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + c.deposit(3000); + } + }; + t2.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/block/ShareMemory.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/block/ShareMemory.java new file mode 100644 index 0000000..edb4b27 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/block/ShareMemory.java @@ -0,0 +1,15 @@ +package com.gpcode.sync.block; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class ShareMemory { + public void printData(String threadName){ + synchronized (this){ + for(int i = 0; i <= 5; i++){ + System.out.println(threadName + ": " + i); + } + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/deadlock/DeadLockTest.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/deadlock/DeadLockTest.java new file mode 100644 index 0000000..aed13f2 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/deadlock/DeadLockTest.java @@ -0,0 +1,25 @@ +package com.gpcode.sync.deadlock; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class DeadLockTest { + public static void main(String[] args) throws InterruptedException { + Object obj1 = new String("obj1"); + Object obj2 = new String("obj2"); + Object obj3 = new String("obj3"); + + Thread t1 = new Thread(new DeadlockThread(obj1, obj2), "t1"); + Thread t2 = new Thread(new DeadlockThread(obj2, obj3), "t2"); + Thread t3 = new Thread(new DeadlockThread(obj3, obj1), "t3"); + + t1.start(); + Thread.sleep(1000); + + t2.start(); + Thread.sleep(1000); + + t3.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/deadlock/DeadlockThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/deadlock/DeadlockThread.java new file mode 100644 index 0000000..d20b744 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/deadlock/DeadlockThread.java @@ -0,0 +1,43 @@ +package com.gpcode.sync.deadlock; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class DeadlockThread implements Runnable{ + + private Object obj1; + private Object obj2; + + public DeadlockThread(Object o1, Object o2){ + this.obj1 = o1; + this.obj2 = o2; + } + @Override + public void run() { + String name = Thread.currentThread().getName(); + System.out.println(name + " acquiring lock on " + obj1); + + synchronized (obj1){ + System.out.println(name + " acquired lock on " + obj1); + work(); + + System.out.println(name + " acquiring lock on " + obj2); + synchronized (obj2){ + System.out.println(name + " released lock on " + obj2); + work(); + } + System.out.println(name + " released lock on " + obj2); + } + System.out.println(name + " released lock on " + obj1); + System.out.println(name + " finished execution."); + } + + private void work() { + try { + Thread.sleep(6000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/staticmethod/ShareMemory.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/staticmethod/ShareMemory.java new file mode 100644 index 0000000..2ba6769 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/staticmethod/ShareMemory.java @@ -0,0 +1,13 @@ +package com.gpcode.sync.staticmethod; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class ShareMemory { + public static synchronized void printData(String threadName){ + for (int i = 1; i <=5; i++){ + System.out.println(threadName + ": " + i); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/staticmethod/ShareMemoryTest.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/staticmethod/ShareMemoryTest.java new file mode 100644 index 0000000..d11d688 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/staticmethod/ShareMemoryTest.java @@ -0,0 +1,19 @@ +package com.gpcode.sync.staticmethod; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class ShareMemoryTest { + public static void main(String[] args) { + WorkingThread thread1 = new WorkingThread("Thread1"); + WorkingThread thread2 = new WorkingThread("Thread2"); + WorkingThread thread3 = new WorkingThread("Thread3"); + WorkingThread thread4 = new WorkingThread("Thread4"); + + thread1.start(); + thread2.start(); + thread3.start(); + thread4.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/sync/staticmethod/WorkingThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/staticmethod/WorkingThread.java new file mode 100644 index 0000000..2839c20 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/sync/staticmethod/WorkingThread.java @@ -0,0 +1,18 @@ +package com.gpcode.sync.staticmethod; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class WorkingThread extends Thread{ + private String mThreadName; + + public WorkingThread(String mThreadName){ + this.mThreadName = mThreadName; + } + + @Override + public void run() { + ShareMemory.printData(mThreadName); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo/Access.java b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo/Access.java new file mode 100644 index 0000000..f51bf36 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo/Access.java @@ -0,0 +1,25 @@ +package com.gpcode.syncdemo; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + */ +public class Access implements Runnable{ + String name; + Count c; + + // khởi tạo + public Access(String name, Count c){ + this.name = name; + this.c = c; + } + + @Override + public synchronized void run() { + for (int i = 0; i < 3; i++){ + System.out.println(name + " index " + i + " before " + c.value); + c.value--; + System.out.println(name + " index " + i + " after " + c.value); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo/Count.java b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo/Count.java new file mode 100644 index 0000000..3d16154 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo/Count.java @@ -0,0 +1,9 @@ +package com.gpcode.syncdemo; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + */ +public class Count { + int value = 10; +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo/TestThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo/TestThread.java new file mode 100644 index 0000000..5a9dc9d --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo/TestThread.java @@ -0,0 +1,18 @@ +package com.gpcode.syncdemo; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + * Tham khảo: https://codelearn.io/sharing/dong-bo-va-bat-dong-bo-trong-java + */ +public class TestThread { + public static void main(String[] args) { + Count c = new Count(); + + // tạo 2 thread try cập vào cùng tài nguyên trong một đối tượng. + Thread t1 = new Thread(new Access("Thread 1", c)); + Thread t2 = new Thread(new Access("Thread 2", c)); + t1.start(); + t2.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo2/MyThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo2/MyThread.java new file mode 100644 index 0000000..bd284f0 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo2/MyThread.java @@ -0,0 +1,19 @@ +package com.gpcode.syncdemo2; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + */ +public class MyThread extends Thread{ + private String name; + private int value; + + public MyThread(String name, int value){ + this.name = name; + this.value = value; + } + + public void run(){ + Table.print(name, value); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo2/Table.java b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo2/Table.java new file mode 100644 index 0000000..6429b82 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo2/Table.java @@ -0,0 +1,13 @@ +package com.gpcode.syncdemo2; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + */ +public class Table { + synchronized static void print(String name, int n){ + for (int i = 1; i <= 5; i++){ + System.out.println(name + ": " + i * n); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo2/TestThread2.java b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo2/TestThread2.java new file mode 100644 index 0000000..33c73f5 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/syncdemo2/TestThread2.java @@ -0,0 +1,19 @@ +package com.gpcode.syncdemo2; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + * Tham khảo: https://codelearn.io/sharing/dong-bo-va-bat-dong-bo-trong-java + * + */ +public class TestThread2 { + public static void main(String[] args) { + MyThread t1 = new MyThread("Thread 1_1", 1); + MyThread t2 = new MyThread("Thread 1_2", 10); + MyThread t3 = new MyThread("Thread 1_3", 100); + + t1.start(); + t2.start(); + t3.start(); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/CachedThreadPoolExample.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/CachedThreadPoolExample.java new file mode 100644 index 0000000..0c896a2 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/CachedThreadPoolExample.java @@ -0,0 +1,36 @@ +package com.gpcode.threadpool; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * Tạo ra ThreadPool có kích thước cố định là 2. + * Sau đó tạo 5 task vào ThreadPool. + * Vì kích thước ThreadPool là 2 -> nên nó sẽ bắt đầu thực thi với 5 task. + * và các task khác sẽ ở trạng thái waiting, ngay khi một task hoàn thành, + * một task khác từ hàng đợi sẽ được chọn và thực thi... + * + Runnable + * + initialDeplay + * + delay()... + * + TimeUnit()... + * + awaitTermination()... + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class CachedThreadPoolExample { + public static void main(String[] args) throws InterruptedException { + ExecutorService executor = Executors.newCachedThreadPool(); + + for(int i = 1; i <= 10; i++){ + Runnable worker = new WorkerThread(""+i); + executor.execute(worker); + Thread.sleep(400); + } + + executor.shutdown(); + while (!executor.isTerminated()){ + // Running... + } + System.out.println("Finished all threads"); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/FixedThreadPoolExample.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/FixedThreadPoolExample.java new file mode 100644 index 0000000..3c7a784 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/FixedThreadPoolExample.java @@ -0,0 +1,31 @@ +package com.gpcode.threadpool; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * Thực hiện khởi tạo NewFixedThread. + * Thực hiện tạo ThreadPool có kích thước 5 + * Trong đó tạo ra 10 task công việc vào ThreadPool. + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class FixedThreadPoolExample { + public static final int NUM_OF_THREAD = 5; + public static void main(String[] args){ + ExecutorService executor = Executors.newFixedThreadPool(NUM_OF_THREAD); + + for(int i = 1; i <= 10; i++){ + Runnable worker = new WorkerThread(""+i); + executor.execute(worker); + } + executor.shutdown(); + + while (!executor.isTerminated()){ + //Running something... + } + System.out.println("Finished all threads"); + + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/ScheduledThreadPoolExample.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/ScheduledThreadPoolExample.java new file mode 100644 index 0000000..c655972 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/ScheduledThreadPoolExample.java @@ -0,0 +1,27 @@ +package com.gpcode.threadpool; + +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class ScheduledThreadPoolExample { + public static final int NUM_OF_THREAD = 2; + public static final int INITIAL_DELAY = 1; //second + public static final int DELAY = 3; //second + + public static void main(String[] args) { + ScheduledExecutorService executor = Executors.newScheduledThreadPool(NUM_OF_THREAD); + + for (int i = 1; i <= 5; i++){ + Runnable worker = new WorkerThread("" + i); + executor.scheduleWithFixedDelay(worker, INITIAL_DELAY, DELAY, TimeUnit.SECONDS); + + // waits for + } + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/SingleThreadExecutorExample.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/SingleThreadExecutorExample.java new file mode 100644 index 0000000..90f17ed --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/SingleThreadExecutorExample.java @@ -0,0 +1,28 @@ +package com.gpcode.threadpool; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class SingleThreadExecutorExample { + public static void main(String[] args) { + /** + * Tạo ra ThreadPool + */ + ExecutorService executor = Executors.newSingleThreadExecutor(); + + for (int i = 1; i <= 10; i++){ + Runnable worker = new WorkerThread(i+""); + executor.execute(worker); + } + + executor.shutdown(); + while(!executor.isTerminated()){ +// System.out.println("Running..."); + } + System.out.println("Finished all threads"); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/WorkerThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/WorkerThread.java new file mode 100644 index 0000000..57d2f43 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/WorkerThread.java @@ -0,0 +1,32 @@ +package com.gpcode.threadpool; + +/** + * Class khởi tạo thread + * @author ManhKM on 4/8/2022 + * @project Java-Thread + */ +public class WorkerThread implements Runnable{ + + private String task; + public WorkerThread(String s){ + this.task = s; + } + + @Override + public void run() { + System.out.println(Thread.currentThread().getName() + " Stating. Task = " + task); + processCommand(); + System.out.println(Thread.currentThread().getName() + " Finished."); + } + + /** + * Thực hiện logic -> dừng khoảng 2s mỗi lần chạy + */ + private void processCommand() { + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/callable/CallableExample.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/callable/CallableExample.java new file mode 100644 index 0000000..ba57373 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/callable/CallableExample.java @@ -0,0 +1,48 @@ +package com.gpcode.threadpool.callable; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.*; + +/** + * @author ManhKM on 4/9/2022 + * @project Java-Thread + */ +public class CallableExample { + public static void main(String[] args) { + List> list = new ArrayList<>(); + + ExecutorService executor = Executors.newFixedThreadPool(5); + Callable callable; + Future future; + for (int i = 1; i <= 10; i++) { + callable = new CallableWorker(i); + + // submit Callable tasks to be executed by thread pool + future = executor.submit(callable); + + // add Future to the list, we can get return value using Future + list.add(future); + } + + // shut down the executor service now + executor.shutdown(); + + // Wait until all threads are finish + while (!executor.isTerminated()) { + // Running ... + } + + int sum = 0; + for (Future f : list) { + try { + sum += f.get(); + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + } + + System.out.println("Finished all threads: "); + System.out.println("Sum all = " + sum); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/callable/CallableExample2.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/callable/CallableExample2.java new file mode 100644 index 0000000..d5f5646 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/callable/CallableExample2.java @@ -0,0 +1,64 @@ +package com.gpcode.threadpool.callable; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.*; + +/** + * @author ManhKM on 4/9/2022 + * @project Java-Thread + */ +public class CallableExample2 { + public static final int GET_TIME_OUT = 5; + public static final int NUM_OF_TASK = 10; + + public static void main(String[] args) throws TimeoutException, InterruptedException { + // create a list to hold the Future object associated with Callable + List> list = new ArrayList<>(); + + // Get ExecutorService from Executors utility class, thread pool size is 5 + ExecutorService executor = Executors.newFixedThreadPool(5); + + Callable callable; + Future future; + for (int i = 1; i <= NUM_OF_TASK; i++) { + callable = new CallableWorker(i); + + // submit Callable tasks to be executed by thread pool + future = executor.submit(callable); + + // add Future to the list, we can get return value using Future + list.add(future); + } + + int sum = 0; + for (Future f : list) { + try { + // print the return value of Future, notice the output delay in console + // because Future.get() waits for task to get completed + int result = f.get(GET_TIME_OUT, TimeUnit.SECONDS); + // Throw TimeoutException if the task execute over 7s + sum += result; + System.out.println("Result: " + result); + System.out.println("Is completed? : " + f.isDone()); + System.out.println("Is canceled? : " + f.isCancelled()); + } catch (TimeoutException | CancellationException | InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + System.out.println("---"); + } + + // shut down the executor service now + executor.shutdownNow(); + + // Blocks until all tasks have completed execution after a shutdown request, or + // the timeout occurs, or the current thread is interrupted, whichever happens + // first. + while (!executor.awaitTermination(GET_TIME_OUT * NUM_OF_TASK * 1000, TimeUnit.SECONDS)) { + // Running ... + } + + System.out.println("Finished all threads: "); + System.out.println("Sum all = " + sum); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/callable/CallableWorker.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/callable/CallableWorker.java new file mode 100644 index 0000000..07570e6 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/callable/CallableWorker.java @@ -0,0 +1,26 @@ +package com.gpcode.threadpool.callable; + +import java.util.Random; +import java.util.concurrent.Callable; + +/** + * @author ManhKM on 4/9/2022 + * @project Java-Thread + */ +public class CallableWorker implements Callable { + + private int num; + private Random ran; + + public CallableWorker(int num){ + this.num = num; + this.ran = new Random(); + } + @Override + public Integer call() throws Exception { + Thread.sleep(ran.nextInt(10)*1000); + int result = num * num; + System.out.println("Complete " + num); + return result; + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/custom/MonitorThread.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/custom/MonitorThread.java new file mode 100644 index 0000000..5eb1fde --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/custom/MonitorThread.java @@ -0,0 +1,12 @@ +package com.gpcode.threadpool.custom; + +/** + * @author ManhKM on 4/9/2022 + * @project Java-Thread + */ +public class MonitorThread implements Runnable{ + @Override + public void run() { + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/custom/RejectedExecutionHandlerImpl.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/custom/RejectedExecutionHandlerImpl.java new file mode 100644 index 0000000..0e5f13e --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/custom/RejectedExecutionHandlerImpl.java @@ -0,0 +1,15 @@ +package com.gpcode.threadpool.custom; + +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * @author ManhKM on 4/9/2022 + * @project Java-Thread + */ +public class RejectedExecutionHandlerImpl implements RejectedExecutionHandler { + @Override + public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { + System.out.println(r.toString() + " is rejected"); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/custom/ThreadFactoryBuilder.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/custom/ThreadFactoryBuilder.java new file mode 100644 index 0000000..664214c --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool/custom/ThreadFactoryBuilder.java @@ -0,0 +1,77 @@ +package com.gpcode.threadpool.custom; + +import java.util.concurrent.Executors; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @author ManhKM on 4/9/2022 + * @project Java-Thread + */ +public class ThreadFactoryBuilder { + private String namePrefix = null; + private boolean daemon = false; + private int priority = Thread.NORM_PRIORITY; + private ThreadFactory backingThreadFactory = null; + private Thread.UncaughtExceptionHandler uncaughtExceptionHandler = null; + + public ThreadFactoryBuilder(){ + + } + + public ThreadFactoryBuilder setNamePrefix(String namePrefix){ + if(namePrefix == null){ + throw new NullPointerException(); + } + this.namePrefix = namePrefix; + return this; + } + + public ThreadFactoryBuilder setDaemon(boolean daemon){ + this.daemon = daemon; + return this; + } + + public ThreadFactoryBuilder setPriority(int priority){ + if(priority < Thread.MIN_PRIORITY){ + throw new IllegalArgumentException( String.format("Thread priority (%s) must be >= %s", priority, Thread.MIN_PRIORITY)); + } + this.backingThreadFactory = backingThreadFactory; + return this; + + } + + public ThreadFactory build(){ + return build(this); + } + + private static ThreadFactory build(ThreadFactoryBuilder builder){ + final String namePrefix = builder.namePrefix; + final Boolean daemon = builder.daemon; + final Integer priority = builder.priority; + final Thread.UncaughtExceptionHandler uncaughtExceptionHandler = builder.uncaughtExceptionHandler; + final ThreadFactory backingThreadFactory = (builder.backingThreadFactory != null) ? builder.backingThreadFactory + : Executors.defaultThreadFactory(); + final AtomicLong count = new AtomicLong(0); + return new ThreadFactory() { + @Override + public Thread newThread(Runnable runnable) { + Thread thread = backingThreadFactory.newThread(runnable); + if (namePrefix != null) { + thread.setName(namePrefix + "-" + count.getAndIncrement()); + } + if (daemon != null) { + thread.setDaemon(daemon); + } + if (priority != null) { + thread.setPriority(priority); + } + if (uncaughtExceptionHandler != null) { + thread.setUncaughtExceptionHandler(uncaughtExceptionHandler); + } + return thread; + } + }; + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool2/Run.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool2/Run.java new file mode 100644 index 0000000..b114d59 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool2/Run.java @@ -0,0 +1,24 @@ +package com.gpcode.threadpool2; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + */ +public class Run implements Runnable{ + + int id; + + public Run(int id){ + this.id = id; + } + @Override + public void run() { + System.out.println("Tiến trình đang được thực thi " + id); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + System.out.println("Tiến trình đã được thực thi " + id); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool2/TestThreadPool.java b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool2/TestThreadPool.java new file mode 100644 index 0000000..f170969 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/gpcode/threadpool2/TestThreadPool.java @@ -0,0 +1,60 @@ +package com.gpcode.threadpool2; + +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 3/8/2022 + * @project Java-Thread + */ +public class TestThreadPool { + public static void main(String[] args) { + + /** + * số lượng Thread tối thiểu trong ThreadPool + * Khi khởi tạo, số lượng Thread có thể là 0. + * Khi nhiệm vụ được thêm vào thì Thread mới được tạo ra và kể từ đây. + * Nếu số lượng Thread ít hơn corePoolSize thì những Thread mới sẽ được tạo ra đến khi số Thread bằng corePoolSize. + */ + int corePoolSize = 5; + + /** + * maximumPoolSize + * Là số lượng tối đa các Thread trong ThreadPool + */ + int maximumPoolSize = 10; + + /** + * Khi số Thread lớn hơn corePoolSize thì keepAliveTime là thời gian tối đa + * mà một Thread nhàn rỗi -> chờ nhiệm vụ. + * Khi hết thời gian chờ mà Thread chưa có task thì nó sẽ tự hủy. + */ + int keepAliveTime = 500; + + /** + * Đơn vị thời gian của keepAliveTime. + * Trong ví dụ: TimeUnit.SECONDS + */ + TimeUnit unit = TimeUnit.SECONDS; + + /** + * workQueue là hàng đợi dùng để chứa các nhiệm vụ mà các Thread + * sẽ lấy chúng ra và thực thi khi đến lượt -> ArrayBlockingQueue. + */ + ArrayBlockingQueue workQueue = new ArrayBlockingQueue<>(100); + + /** + * Handle -> hành động khi một request task bị từ chối -> rejected. + */ + RejectedExecutionHandler handler = new ThreadPoolExecutor.CallerRunsPolicy(); + + ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(corePoolSize, + maximumPoolSize, keepAliveTime, unit, workQueue, handler); + int maxLength = 10; + for (int i = 0; i < maxLength; i++){ + threadPoolExecutor.execute(new Run(i)); + } + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/o7p/HelloMain.java b/Java-Concurrence/Java-Thread/src/com/o7p/HelloMain.java new file mode 100644 index 0000000..c3f30aa --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/o7p/HelloMain.java @@ -0,0 +1,35 @@ +package com.o7p; + +/** + * @author ManhKM on 6/30/2022 + * @project Java-Thread + */ +public class HelloMain { + public static void main(String[] args) { + int idx = 1; + + for (int i = 0; i < 2; i++){ + System.out.println("Main thread running " + idx++); + try { + Thread.sleep(2101); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + HelloThread helloThread = new HelloThread(); + + helloThread.start(); + + for (int i = 0; i < 3; i++){ + System.out.println("Main thread running " + idx++); + try { + Thread.sleep(2101); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + System.out.println(" ---> Main Thread stopped!"); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/o7p/HelloThread.java b/Java-Concurrence/Java-Thread/src/com/o7p/HelloThread.java new file mode 100644 index 0000000..993aac1 --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/o7p/HelloThread.java @@ -0,0 +1,24 @@ +package com.o7p; + +/** + * @author ManhKM on 6/30/2022 + * @project Java-Thread + */ +public class HelloThread extends Thread{ + @Override + public void run() { + int index = 1; + + for (int i = 0; i < 10; i++){ + System.out.println(" - HelloThread running - " + index + " - "+ i); + } + + try { + Thread.sleep(1030); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + System.out.println(" ----> HelloThread stopped!"); + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/o7p/runnable/RunnableDemo.java b/Java-Concurrence/Java-Thread/src/com/o7p/runnable/RunnableDemo.java new file mode 100644 index 0000000..e5fa31c --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/o7p/runnable/RunnableDemo.java @@ -0,0 +1,25 @@ +package com.o7p.runnable; + +/** + * @author ManhKM on 6/30/2022 + * @project Java-Thread + */ +public class RunnableDemo implements Runnable{ + + @Override + public void run() { + int idx = 1; + for (int i = 0; i < 5; i++){ + System.out.println(" - Hello from RunnableDemo: - " + idx + " - " + i); + + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + System.out.println(" - RunnableDemo stopped!..."); + + } +} diff --git a/Java-Concurrence/Java-Thread/src/com/o7p/runnable/RunnableTest.java b/Java-Concurrence/Java-Thread/src/com/o7p/runnable/RunnableTest.java new file mode 100644 index 0000000..ca26f2b --- /dev/null +++ b/Java-Concurrence/Java-Thread/src/com/o7p/runnable/RunnableTest.java @@ -0,0 +1,22 @@ +package com.o7p.runnable; + +/** + * @author ManhKM on 6/30/2022 + * @project Java-Thread + */ +public class RunnableTest { + public static void main(String[] args) { + System.out.println("Main Thread running..."); + + Thread thread = new Thread(new RunnableDemo()); + + thread.start(); + + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + System.out.println("Main thread stopped..."); + } +} diff --git a/Java-Concurrence/docs/1-lap-trinh-da-luong-trong-java-multi-threading-v1.0.docx b/Java-Concurrence/docs/1-lap-trinh-da-luong-trong-java-multi-threading-v1.0.docx new file mode 100644 index 0000000..78cec9d Binary files /dev/null and b/Java-Concurrence/docs/1-lap-trinh-da-luong-trong-java-multi-threading-v1.0.docx differ diff --git a/Java-Concurrence/docs/10-thuc-thi-nhieu-tac-vu-cung-1-luc-java-v1.0.docx b/Java-Concurrence/docs/10-thuc-thi-nhieu-tac-vu-cung-1-luc-java-v1.0.docx new file mode 100644 index 0000000..e69de29 diff --git a/Java-Concurrence/docs/11-semaphore-trong-java-v1.0.docx b/Java-Concurrence/docs/11-semaphore-trong-java-v1.0.docx new file mode 100644 index 0000000..e69de29 diff --git a/Java-Concurrence/docs/12-producer-consumer-dong-bo-hoa-luong-trong-java-v1.0.docx b/Java-Concurrence/docs/12-producer-consumer-dong-bo-hoa-luong-trong-java-v1.0.docx new file mode 100644 index 0000000..e69de29 diff --git a/Java-Concurrence/docs/2-luong-daemon-thread-trong-java-1.0.docx b/Java-Concurrence/docs/2-luong-daemon-thread-trong-java-1.0.docx new file mode 100644 index 0000000..34491b5 Binary files /dev/null and b/Java-Concurrence/docs/2-luong-daemon-thread-trong-java-1.0.docx differ diff --git a/Java-Concurrence/docs/3-dong-bo-hoa-cac-luong-trong-java-v1.0.docx b/Java-Concurrence/docs/3-dong-bo-hoa-cac-luong-trong-java-v1.0.docx new file mode 100644 index 0000000..2e0b15d Binary files /dev/null and b/Java-Concurrence/docs/3-dong-bo-hoa-cac-luong-trong-java-v1.0.docx differ diff --git a/Java-Concurrence/docs/4-huong-dan-tao-va-su-dung-threadpool-trong-java-1.0.docx b/Java-Concurrence/docs/4-huong-dan-tao-va-su-dung-threadpool-trong-java-1.0.docx new file mode 100644 index 0000000..a3a9b1a Binary files /dev/null and b/Java-Concurrence/docs/4-huong-dan-tao-va-su-dung-threadpool-trong-java-1.0.docx differ diff --git a/Java-Concurrence/docs/5-da-luong-callable-future-trong-java-v1.0.docx b/Java-Concurrence/docs/5-da-luong-callable-future-trong-java-v1.0.docx new file mode 100644 index 0000000..7435d66 Binary files /dev/null and b/Java-Concurrence/docs/5-da-luong-callable-future-trong-java-v1.0.docx differ diff --git a/Java-Concurrence/docs/6-fork-join-frameowork-forkjoinpool-trong-java-v1.0.docx b/Java-Concurrence/docs/6-fork-join-frameowork-forkjoinpool-trong-java-v1.0.docx new file mode 100644 index 0000000..eda72ac Binary files /dev/null and b/Java-Concurrence/docs/6-fork-join-frameowork-forkjoinpool-trong-java-v1.0.docx differ diff --git a/Java-Concurrence/docs/7-countdownlatch-trong-java-v1.0.docx b/Java-Concurrence/docs/7-countdownlatch-trong-java-v1.0.docx new file mode 100644 index 0000000..a6e7a00 Binary files /dev/null and b/Java-Concurrence/docs/7-countdownlatch-trong-java-v1.0.docx differ diff --git a/Java-Concurrence/docs/8-su-dung-cyclicbarrier-trong-java-v1.0.docx b/Java-Concurrence/docs/8-su-dung-cyclicbarrier-trong-java-v1.0.docx new file mode 100644 index 0000000..e69de29 diff --git a/Java-Concurrence/docs/9-lap-trinh-da-luong-completablefuture-trong-java-8-v1.0.docx b/Java-Concurrence/docs/9-lap-trinh-da-luong-completablefuture-trong-java-8-v1.0.docx new file mode 100644 index 0000000..e69de29 diff --git a/Java-Concurrence/docs/readme.md b/Java-Concurrence/docs/readme.md new file mode 100644 index 0000000..446276c --- /dev/null +++ b/Java-Concurrence/docs/readme.md @@ -0,0 +1,3 @@ +Thời gian: + +10/03/2023: Tạo mới tài liệu về Thread \ No newline at end of file diff --git a/Java-Concurrence/java-concurrency-in-practice.pdf b/Java-Concurrence/java-concurrency-in-practice.pdf new file mode 100644 index 0000000..334771b Binary files /dev/null and b/Java-Concurrence/java-concurrency-in-practice.pdf differ diff --git a/Java-Concurrence/java-task-thread/.gitignore b/Java-Concurrence/java-task-thread/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/Java-Concurrence/java-task-thread/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/Java-Concurrence/java-task-thread/.mvn/wrapper/maven-wrapper.jar b/Java-Concurrence/java-task-thread/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000..c1dd12f Binary files /dev/null and b/Java-Concurrence/java-task-thread/.mvn/wrapper/maven-wrapper.jar differ diff --git a/Java-Concurrence/java-task-thread/.mvn/wrapper/maven-wrapper.properties b/Java-Concurrence/java-task-thread/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..b74bf7f --- /dev/null +++ b/Java-Concurrence/java-task-thread/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/Java-Concurrence/java-task-thread/config/application.yml b/Java-Concurrence/java-task-thread/config/application.yml new file mode 100644 index 0000000..54b155f --- /dev/null +++ b/Java-Concurrence/java-task-thread/config/application.yml @@ -0,0 +1,2 @@ +server: + port: 8081 \ No newline at end of file diff --git a/Java-Concurrence/java-task-thread/config/beans.xml b/Java-Concurrence/java-task-thread/config/beans.xml new file mode 100644 index 0000000..6b23699 --- /dev/null +++ b/Java-Concurrence/java-task-thread/config/beans.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/Java-Concurrence/java-task-thread/config/job.properties b/Java-Concurrence/java-task-thread/config/job.properties new file mode 100644 index 0000000..e69de29 diff --git a/Java-Concurrence/java-task-thread/config/log4j2.xml b/Java-Concurrence/java-task-thread/config/log4j2.xml new file mode 100644 index 0000000..e69de29 diff --git a/Java-Concurrence/java-task-thread/config/schedule-conf.xml b/Java-Concurrence/java-task-thread/config/schedule-conf.xml new file mode 100644 index 0000000..594fa0a --- /dev/null +++ b/Java-Concurrence/java-task-thread/config/schedule-conf.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/Java-Concurrence/java-task-thread/mvnw b/Java-Concurrence/java-task-thread/mvnw new file mode 100644 index 0000000..841f63a --- /dev/null +++ b/Java-Concurrence/java-task-thread/mvnw @@ -0,0 +1,331 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ]; then + + if [ -f /usr/local/etc/mavenrc ]; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ]; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ]; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false +darwin=false +mingw=false +case "$(uname)" in +CYGWIN*) cygwin=true ;; +MINGW*) mingw=true ;; +Darwin*) + darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="$(/usr/libexec/java_home)" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ]; then + if [ -r /etc/gentoo-release ]; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +if [ -z "$M2_HOME" ]; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ]; do + ls=$(ls -ld "$PRG") + link=$(expr "$ls" : '.*-> \(.*\)$') + if expr "$link" : '/.*' >/dev/null; then + PRG="$link" + else + PRG="$(dirname "$PRG")/$link" + fi + done + + saveddir=$(pwd) + + M2_HOME=$(dirname "$PRG")/.. + + # make it fully qualified + M2_HOME=$(cd "$M2_HOME" && pwd) + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --unix "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw; then + [ -n "$M2_HOME" ] && + M2_HOME="$( ( + cd "$M2_HOME" + pwd + ))" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="$( ( + cd "$JAVA_HOME" + pwd + ))" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then + if $darwin; then + javaHome="$(dirname \"$javaExecutable\")" + javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac" + else + javaExecutable="$(readlink -f \"$javaExecutable\")" + fi + javaHome="$(dirname \"$javaExecutable\")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ]; then + if [ -n "$JAVA_HOME" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$( + \unset -f command + \command -v java + )" + fi +fi + +if [ ! -x "$JAVACMD" ]; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ]; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ]; then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ]; do + if [ -d "$wdir"/.mvn ]; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$( + cd "$wdir/.." + pwd + ) + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' <"$1")" + fi +} + +BASE_DIR=$(find_maven_basedir "$(pwd)") +if [ -z "$BASE_DIR" ]; then + exit 1 +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in wrapperUrl) + jarUrl="$value" + break + ;; + esac + done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --path --windows "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/Java-Concurrence/java-task-thread/mvnw.cmd b/Java-Concurrence/java-task-thread/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/Java-Concurrence/java-task-thread/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/Java-Concurrence/java-task-thread/pom.xml b/Java-Concurrence/java-task-thread/pom.xml new file mode 100644 index 0000000..691bd0a --- /dev/null +++ b/Java-Concurrence/java-task-thread/pom.xml @@ -0,0 +1,46 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.7.3 + + + com.msoft + java-task-thread + 0.0.1-SNAPSHOT + java-task-thread + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-web + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/JavaTaskThreadApplication.java b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/JavaTaskThreadApplication.java new file mode 100644 index 0000000..24932ec --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/JavaTaskThreadApplication.java @@ -0,0 +1,20 @@ +package com.msoft.core; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; +import org.springframework.context.annotation.ImportResource; +import org.springframework.scheduling.annotation.EnableScheduling; + +@SpringBootApplication +@EnableScheduling +@ImportResource({ "file:config/beans.xml", "file:config/schedule-conf.xml" }) +@EnableAutoConfiguration(exclude = HibernateJpaAutoConfiguration.class) +public class JavaTaskThreadApplication { + + public static void main(String[] args) { + SpringApplication.run(JavaTaskThreadApplication.class, args); + } + +} diff --git a/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/controller/HomeController.java b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/controller/HomeController.java new file mode 100644 index 0000000..7b5ce42 --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/controller/HomeController.java @@ -0,0 +1,18 @@ +package com.msoft.core.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author ManhKM on 8/28/2022 + * @project java-task-thread + */ +@RestController +public class HomeController { + + @RequestMapping(value = "/", method = RequestMethod.GET) + public String sayHello(){ + return "Welcome to Java-Task-Thread"; + } +} diff --git a/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/obj/MyTask.java b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/obj/MyTask.java new file mode 100644 index 0000000..9863035 --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/obj/MyTask.java @@ -0,0 +1,47 @@ +package com.msoft.core.obj; + +import com.msoft.core.scheduler.AbsTask; +import java.util.Date; + +/** + * @author ManhKM on 8/28/2022 + * @project java-task-thread + */ +public class MyTask extends AbsTask { + + String taskName; + + public MyTask(String taskName){ + this.taskName = taskName; + } + + @Override + public void run() { + try { + execute(); + } catch (Exception e){ + e.printStackTrace(); + } + } + + private void execute() { + System.out.println("Running My Task" + this.taskName); + } + + /** + * Lấy ra ngày bắt đầu gia hạn + * @return + */ + @Override + public Date getStartDate() { + return null; + } + + /** + * Sau khi hết hạn + */ + @Override + public void afterExpire() { + + } +} diff --git a/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/AbsTask.java b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/AbsTask.java new file mode 100644 index 0000000..50933ae --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/AbsTask.java @@ -0,0 +1,31 @@ +package com.msoft.core.scheduler; + +import java.util.Date; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 8/28/2022 + * @project java-task-thread + */ +public abstract class AbsTask implements Task{ + + private Date d = null; + + public AbsTask(){ + + } + + @Override + public long getDelay() { + if(this.d == null){ + this.d = this.getStartDate(); + } + + return this.d != null ? this.getStartDate().getTime() - System.currentTimeMillis() : 0L; + } + + @Override + public TimeUnit getTimeUnit(){ + return TimeUnit.MILLISECONDS; + } +} diff --git a/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/ExecutionListTask.java b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/ExecutionListTask.java new file mode 100644 index 0000000..4709e2e --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/ExecutionListTask.java @@ -0,0 +1,18 @@ +package com.msoft.core.scheduler; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * @author ManhKM on 8/28/2022 + * @project java-task-thread + */ +@Component +public class ExecutionListTask { + private final Logger logger = LogManager.getLogger(ExecutionListTask.class); + + @Autowired + private TaskScheduleExecute taskSchedule; +} diff --git a/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/Task.java b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/Task.java new file mode 100644 index 0000000..a43efc6 --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/Task.java @@ -0,0 +1,19 @@ +package com.msoft.core.scheduler; + +import java.util.Date; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 8/28/2022 + * @project java-task-thread + */ +public interface Task extends Runnable{ + + long getDelay(); + + TimeUnit getTimeUnit(); + + Date getStartDate(); + + void afterExpire(); +} diff --git a/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/TaskExpireMng.java b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/TaskExpireMng.java new file mode 100644 index 0000000..9a5fd96 --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/TaskExpireMng.java @@ -0,0 +1,91 @@ +package com.msoft.core.scheduler; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author ManhKM on 8/28/2022 + * @project java-task-thread + * ----- + * Quản lý các Task hết hạn. + */ +public class TaskExpireMng { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + private List listTask = null; + private Object lock = new Object(); + private long delay = 1000L; + private Thread thread; + private long expireTime; + private ScheduledThreadPoolExecutor scheduledThreadPool; + + public TaskExpireMng(long timeKeepAlive, TimeUnit unit, ScheduledThreadPoolExecutor scheduledThreadPool) { + this.logger.debug("Init check task expire"); + this.listTask = new ArrayList(); + TimeUnit time = TimeUnit.MILLISECONDS; + this.expireTime = time.convert(timeKeepAlive, unit); + this.scheduledThreadPool = scheduledThreadPool; + this.init(); + } + + private void init() { + this.thread = new Thread(new TaskExpireMng.MonitoringTask()); + this.thread.start(); + } + + public void addTaskMonitor(ScheduledFuture t, Task task) { + addTaskMonitor(new TaskInfo(this.expireTime + System.currentTimeMillis(), t, task)); + } + + public void addTaskMonitor(TaskInfo taskInfo) { + this.listTask.add(taskInfo); + } + + private void removeTaskExpire(List listId) { + synchronized(this.lock) { + Iterator var3 = listId.iterator(); + + while(var3.hasNext()) { + TaskInfo task = (TaskInfo)var3.next(); + this.listTask.remove(task); + } + + } + } + + private class MonitoringTask implements Runnable { + private MonitoringTask() { + } + + public void run() { + while(!TaskExpireMng.this.scheduledThreadPool.isTerminated()) { + long currentTime = System.currentTimeMillis(); + List listTaskRemove = new ArrayList(); + + for(int i = 0; i < TaskExpireMng.this.listTask.size(); ++i) { + TaskInfo taskInfo = (TaskInfo)TaskExpireMng.this.listTask.get(i); + if (taskInfo.getExpireTime() < currentTime) { + listTaskRemove.add(taskInfo); + if (!taskInfo.getT().isDone()) { + taskInfo.getT().cancel(false); + taskInfo.getTask().afterExpire(); + } + } + } + + TaskExpireMng.this.removeTaskExpire(listTaskRemove); + + try { + Thread.sleep(TaskExpireMng.this.delay); + } catch (InterruptedException var6) { + } + } + + } + } +} diff --git a/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/TaskInfo.java b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/TaskInfo.java new file mode 100644 index 0000000..0bf840f --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/TaskInfo.java @@ -0,0 +1,43 @@ +package com.msoft.core.scheduler; + +import java.util.concurrent.ScheduledFuture; + +/** + * @author ManhKM on 8/28/2022 + * @project java-task-thread + */ +public class TaskInfo { + private long expireTime; + private ScheduledFuture t; + private Task task; + + public TaskInfo(long expireTime, ScheduledFuture t, Task task){ + this.expireTime = expireTime; + this.t = t; + this.task = task; + } + + public long getExpireTime() { + return expireTime; + } + + public void setExpireTime(long expireTime) { + this.expireTime = expireTime; + } + + public ScheduledFuture getT() { + return t; + } + + public void setT(ScheduledFuture t) { + this.t = t; + } + + public Task getTask() { + return task; + } + + public void setTask(Task task) { + this.task = task; + } +} diff --git a/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/TaskScheduleExecute.java b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/TaskScheduleExecute.java new file mode 100644 index 0000000..f5459f8 --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/main/java/com/msoft/core/scheduler/TaskScheduleExecute.java @@ -0,0 +1,45 @@ +package com.msoft.core.scheduler; + +import java.io.Closeable; +import java.io.IOException; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author ManhKM on 8/28/2022 + * @project java-task-thread + */ +public class TaskScheduleExecute implements Closeable { + + private final Logger logger; + private static final long TIME_KEEP_ALIVE_DEFAULT = 8L; + private static final TimeUnit TIME_UNIT_DEFAULT; + private ScheduledThreadPoolExecutor scheduledThreadPool; + + static { + TIME_UNIT_DEFAULT = TimeUnit.HOURS; + } + + public TaskScheduleExecute(int corePoolSize, int maximumPoolSize, boolean continueTaskAfterShutdown, long timeKeepAlive, TimeUnit unit, boolean removeOnCancelPolicy){ + this.logger = LoggerFactory.getLogger(this.getClass()); + this.scheduledThreadPool = new ScheduledThreadPoolExecutor(corePoolSize); + this.scheduledThreadPool.setMaximumPoolSize(maximumPoolSize); + this.scheduledThreadPool.setContinueExistingPeriodicTasksAfterShutdownPolicy(continueTaskAfterShutdown); + this.scheduledThreadPool.setKeepAliveTime(timeKeepAlive, unit); + this.scheduledThreadPool.setRemoveOnCancelPolicy(removeOnCancelPolicy); + this.scheduledThreadPool.setThreadFactory(new ThreadFactory() { + public Thread newThread(Runnable r) { + return new Thread(r, "TaskSchedule-"); + } + }); + this.taskExpire = new TaskExpireMng(timeKeepAlive, unit, this.scheduledThreadPool); + } + + @Override + public void close() throws IOException { + + } +} diff --git a/Java-Concurrence/java-task-thread/src/main/resources/application.properties b/Java-Concurrence/java-task-thread/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/Java-Concurrence/java-task-thread/src/test/java/com/msoft/core/JavaTaskThreadApplicationTests.java b/Java-Concurrence/java-task-thread/src/test/java/com/msoft/core/JavaTaskThreadApplicationTests.java new file mode 100644 index 0000000..eeba78c --- /dev/null +++ b/Java-Concurrence/java-task-thread/src/test/java/com/msoft/core/JavaTaskThreadApplicationTests.java @@ -0,0 +1,13 @@ +package com.msoft.core; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class JavaTaskThreadApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/Java-Concurrence/multi-thread-tutorial/draw/session1/sesssion1.drawio b/Java-Concurrence/multi-thread-tutorial/draw/session1/sesssion1.drawio new file mode 100644 index 0000000..2c489e5 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/draw/session1/sesssion1.drawio @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Java-Concurrence/multi-thread-tutorial/out/production/multi-thread-tutorial/com/jindo/core/session3/notification/readme.md b/Java-Concurrence/multi-thread-tutorial/out/production/multi-thread-tutorial/com/jindo/core/session3/notification/readme.md new file mode 100644 index 0000000..e112f66 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/out/production/multi-thread-tutorial/com/jindo/core/session3/notification/readme.md @@ -0,0 +1,10 @@ +## Sử dụng với bài toán Notification trong bài toán đa luồng. + +### Bài toán + +Nếu trong quá trình luồng 1 khóa đối tượng Resource b, sau khi thực hiện được 1 đoạn công việc, luồng 1 cần luồng 2 làm việc số việc gì đó trên resource B này. + +Sau khi đó mới có điều kiện để luồng 1 thực hiện tiếp logic -> lúc này mới có đủ dữ liệu để làm tiếp. + +wait(), notify(), notifyall() + diff --git a/Java-Concurrence/multi-thread-tutorial/out/production/multi-thread-tutorial/com/jindo/core/session3/readme.md b/Java-Concurrence/multi-thread-tutorial/out/production/multi-thread-tutorial/com/jindo/core/session3/readme.md new file mode 100644 index 0000000..2e1eccf --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/out/production/multi-thread-tutorial/com/jindo/core/session3/readme.md @@ -0,0 +1,6 @@ +## Đồng bộ luồng trong Java + +Đồng bộ hóa (synchronized) chính là việc xắp xếp thứ tự các luồng khi truy xuất vào cùng đối tượng sao cho nó không có sự xung đột dữ liệu. + +Đồng bộ hóa = thứ tự hóa + diff --git a/Java-Concurrence/multi-thread-tutorial/readme.md b/Java-Concurrence/multi-thread-tutorial/readme.md new file mode 100644 index 0000000..92abbfb --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/readme.md @@ -0,0 +1,14 @@ +## Tổ chức package trong dự án + +session1: Thực hiện tạo một Thread từ Runnable, khi đó sử dụng Thread này trong việc Random số liệu + + + + +## Multithreading + +[Multi-Thread](https://gpcoder.com/category/java-core/multi-thread/) + +## Reference Document + +[Viblo - Multithreading](https://viblo.asia/p/multithreading-race-conditions-critical-sections-va-thread-safety-OEqGj6LlG9bL) diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/Application.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/Application.java new file mode 100644 index 0000000..17d4a56 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/Application.java @@ -0,0 +1,12 @@ +package com.jindo.core; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class Application { + + public static void main(String[] args) { + System.out.println("Multi-thread Tutorial v1.0"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/MyInterface.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/MyInterface.java new file mode 100644 index 0000000..21684bd --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/MyInterface.java @@ -0,0 +1,16 @@ +package com.jindo.core.session1; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public interface MyInterface { + + void sayHello(); + + void run(); + + void go(); + + void speak(); +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/MyRunnable.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/MyRunnable.java new file mode 100644 index 0000000..ee8fbac --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/MyRunnable.java @@ -0,0 +1,34 @@ +package com.jindo.core.session1; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class MyRunnable implements Runnable, MyInterface{ + + @Override + public void sayHello() { + + } + + @Override + public void run() { + System.out.println("Method run() in MyRunnable"); + } + + @Override + public void go() { + + } + + @Override + public void speak() { + + } + + public static void main(String[] args) { + MyRunnable myRunnable = new MyRunnable(); + Thread thread = new Thread(myRunnable); + thread.start(); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/MyThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/MyThread.java new file mode 100644 index 0000000..0f80cdc --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/MyThread.java @@ -0,0 +1,34 @@ +package com.jindo.core.session1; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class MyThread extends Thread implements MyInterface{ + + @Override + public void sayHello() { + + } + + @Override + public void run() { + super.run(); + System.out.println("Method run() in MyThread"); + } + + @Override + public void go() { + + } + + @Override + public void speak() { + + } + + public static void main(String[] args) { + MyThread myThread = new MyThread(); + myThread.start(); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/basic/BasicThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/basic/BasicThread.java new file mode 100644 index 0000000..b4a5286 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/basic/BasicThread.java @@ -0,0 +1,30 @@ +package com.jindo.core.session1.basic; + +/** + * @author ManhKM as [ADMIN] + * @project multi-thread-tutorial on 7/26/2023-11:09 AM (>_<)/ + * @note + */ +public class BasicThread extends Thread { + + private String name; + + public BasicThread(String name) { + this.name = name; + } + + /** + * Định nghĩa sự kiện thực thi của Thread + */ + @Override + public void run() { + for (int i = 10; i > 0; i--) { + System.out.println(name + '-' + i); + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/basic/BasicThreadApp.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/basic/BasicThreadApp.java new file mode 100644 index 0000000..6379a66 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/basic/BasicThreadApp.java @@ -0,0 +1,20 @@ +package com.jindo.core.session1.basic; + +/** + * @author ManhKM as [ADMIN] + * @project multi-thread-tutorial on 7/26/2023-11:12 AM (>_<)/ + * @note + */ +public class BasicThreadApp { + public static void main(String[] args) { + + BasicThread basicThreadA = new BasicThread("thread-a"); + BasicThread basicThreadB = new BasicThread("thread-b"); + BasicThread basicThreadC = new BasicThread("thread-c"); + BasicThread basicThreadD = new BasicThread("thread-d"); + + basicThreadA.start(); + basicThreadB.start(); + + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/exception/ThreadExceptionDemo.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/exception/ThreadExceptionDemo.java new file mode 100644 index 0000000..fedffeb --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/exception/ThreadExceptionDemo.java @@ -0,0 +1,28 @@ +package com.jindo.core.session1.exception; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class ThreadExceptionDemo { + + public static void main(String[] args) { + System.out.println("Main Thread Running..."); + + Thread thread = new Thread(new WorkingThread()); + + thread.setDaemon(false); + + Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { + + @Override + public void uncaughtException(Thread t, Throwable e) { + System.out.println("#Thread: " + t); + System.out.println("#Thread exception message" + e.getMessage()); + } + }); + + thread.start(); + System.out.println("Main Thread End!!!"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/exception/WorkingThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/exception/WorkingThread.java new file mode 100644 index 0000000..388f24c --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/exception/WorkingThread.java @@ -0,0 +1,40 @@ +package com.jindo.core.session1.exception; + +import java.util.Random; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + * @note Thực hành tạo một Thread implement Runnable + */ +public class WorkingThread implements Runnable { + + @Override + public void run() { + while (true) { + processSomething(); + } + } + + /** + * Thực hiện nghiệm vụ chính trong hệ thống + * Thực hiện random một số trong khoảng + * Nếu nó rơi vào một case chỉ định thì dừng chương trình + * Nếu có exception sảy ra trong quá trình chạy thì quit + */ + private void processSomething() { + + Random random = new Random(); + int i = random.nextInt(9_000); + try { + System.out.println("[" + i + "] Processing working thread"); + Thread.sleep(10); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + if (i == 70) { + throw new RuntimeException("Giá trị này = 70, không xử lý trong Thread"); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/join/UsingJoinMethod.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/join/UsingJoinMethod.java new file mode 100644 index 0000000..cbb35b6 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/join/UsingJoinMethod.java @@ -0,0 +1,49 @@ +package com.jindo.core.session1.join; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class UsingJoinMethod extends Thread{ + + UsingJoinMethod(String name){ + super(name); + } + + @Override + public void run() { + System.out.println("RUNNING " + getName()); + for (int i = 1; i <= 10; i++){ + System.out.print(i + " "); + try { + Thread.sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + System.out.println(); + } + + public static void main(String[] args) throws InterruptedException { + UsingJoinMethod thread1 = new UsingJoinMethod("Thread-01"); + UsingJoinMethod thread2 = new UsingJoinMethod("Thread-02"); + UsingJoinMethod thread3 = new UsingJoinMethod("Thread-03"); + UsingJoinMethod thread4 = new UsingJoinMethod("Thread-04"); + + + + thread1.start(); + thread1.join(); + + thread2.start(); + thread2.join(); + + thread3.start(); + thread3.join(); + + thread4.start(); + thread4.join(); + + System.out.println("Main Thread Finished"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/join/UsingJoinThreadApplication.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/join/UsingJoinThreadApplication.java new file mode 100644 index 0000000..94534fc --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/join/UsingJoinThreadApplication.java @@ -0,0 +1,18 @@ +package com.jindo.core.session1.join; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class UsingJoinThreadApplication { + + public static void main(String[] args) throws InterruptedException { + UsingJoinThreadDemo threadDemo1 = new UsingJoinThreadDemo("Thread-01"); + UsingJoinThreadDemo threadDemo2 = new UsingJoinThreadDemo("Thread-02"); + + threadDemo1.start(); + threadDemo1.join(); + threadDemo2.start(); + System.out.println("Main Thread Finished"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/join/UsingJoinThreadDemo.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/join/UsingJoinThreadDemo.java new file mode 100644 index 0000000..364e0ca --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/join/UsingJoinThreadDemo.java @@ -0,0 +1,38 @@ +package com.jindo.core.session1.join; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class UsingJoinThreadDemo extends Thread { + + Thread t; + private String name; + + UsingJoinThreadDemo(String name) { + this.name = name; + System.out.println("CREATING " + name); + } + + @Override + public void run() { + System.out.println("RUNNING " + name); + for (int i = 1; i <= 10; i++) { + System.out.print(i + " "); + try { + Thread.sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + System.out.println(); + } + + public void start() { + System.out.println("STARTING " + name); + if (t == null) { + t = new Thread(this, name); + t.start(); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/joinlong/UsingJoinLongMethod.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/joinlong/UsingJoinLongMethod.java new file mode 100644 index 0000000..7d6b4db --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/joinlong/UsingJoinLongMethod.java @@ -0,0 +1,60 @@ +package com.jindo.core.session1.joinlong; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class UsingJoinLongMethod extends Thread { + + + UsingJoinLongMethod(String name) { + super(name); + } + + @Override + public void run() { + System.out.println("RUNNING " + getName()); + for (int i = 1; i <= 10; i++) { + try { + System.out.print(i + "[" + getId() + "]" + " "); + Thread.sleep(300); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + System.out.println(); + } + + public static void main(String[] args) throws InterruptedException { + System.out.println("Main Thread Running"); + + UsingJoinLongMethod thread1 = new UsingJoinLongMethod("Thread-01"); + UsingJoinLongMethod thread2 = new UsingJoinLongMethod("Thread-02"); + UsingJoinLongMethod thread3 = new UsingJoinLongMethod("Thread-03"); + UsingJoinLongMethod thread4 = new UsingJoinLongMethod("Thread-04"); + + thread1.start(); + + /** + * Main Thread phải chờ 450ms mới được chạy tiếp + * Không nhất thiết phải chờ Thread1 kết thúc + */ + thread1.join(450); + + thread2.start(); + + thread2.join(450); + + thread3.start(); + + thread3.join(450); + + thread4.start(); + + thread4.join(450); + + System.out.println("Main Thread Finished"); + + + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/priority/ThreadInfoPriorityExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/priority/ThreadInfoPriorityExample.java new file mode 100644 index 0000000..b81c4b5 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/priority/ThreadInfoPriorityExample.java @@ -0,0 +1,32 @@ +package com.jindo.core.session1.priority; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class ThreadInfoPriorityExample { + + public static void main(String[] args) { + System.out.println("Thread Main Running"); + + Thread thread1 = new WorkingThread("Luồng 1"); + Thread thread2 = new WorkingThread("Luồng 2"); + Thread thread3 = new WorkingThread("Luồng 3"); + + System.out.println("ID luồng 1" + thread1.getId()); + System.out.println("ID luồng 2" + thread2.getId()); + System.out.println("ID luồng 3" + thread3.getId()); + + // set Priority: + thread1.setPriority(1); + thread2.setPriority(5); + thread3.setPriority(10); + + thread1.start(); + thread2.start(); + thread3.start(); + + System.out.println("Thread Main Stopped"); + + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/priority/WorkingThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/priority/WorkingThread.java new file mode 100644 index 0000000..2190d6d --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/priority/WorkingThread.java @@ -0,0 +1,32 @@ +package com.jindo.core.session1.priority; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class WorkingThread extends Thread{ + + private Thread t; + private String name; + + WorkingThread(String name){ + super(name); + this.name = name; + } + + @Override + public void run() { + System.out.println("Running " + name); + for (int i = 0; i < 10; i++){ + System.out.printf("Luồng: %s có độ ưu tiên là %d \n", this.getName(), this.getPriority()); + } + } + + public void start(){ + System.out.println("Starting " + name); + if(t == null){ + t = new Thread(this, this.name); + t.start(); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/runnable/RunnableDemo.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/runnable/RunnableDemo.java new file mode 100644 index 0000000..7f95f2d --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/runnable/RunnableDemo.java @@ -0,0 +1,38 @@ +package com.jindo.core.session1.runnable; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class RunnableDemo implements Runnable { + + private Thread t; + private String threadName; + + RunnableDemo(String threadName) { + this.threadName = threadName; + System.out.println("Creating " + threadName); + } + + @Override + public void run() { + + System.out.println("Creating " + threadName + " ..."); + try { + for (int i = 1000; i > 0; i--) { + System.out.println("Thread: " + threadName + ", " + i); + Thread.sleep(100); + } + } catch (InterruptedException e) { + System.err.println("Thread " + threadName + " exiting."); + } + } + + public void start() { + System.out.println("Starting " + threadName); + if (t == null) { + t = new Thread(this, threadName); + t.start(); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/runnable/RunnableDemoTest.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/runnable/RunnableDemoTest.java new file mode 100644 index 0000000..4a5ee55 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/runnable/RunnableDemoTest.java @@ -0,0 +1,20 @@ +package com.jindo.core.session1.runnable; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class RunnableDemoTest { + + public static void main(String[] args) { + System.out.println("Main thread running..."); + + RunnableDemo runnableDemo1 = new RunnableDemo("Thread-1-HR-Database"); + runnableDemo1.start(); + + RunnableDemo runnableDemo2 = new RunnableDemo("Thread-2-Send-Email"); + runnableDemo2.start(); + + System.out.println("Main Thread stopped!"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/sleep/SleepMethodRunnableExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/sleep/SleepMethodRunnableExample.java new file mode 100644 index 0000000..777ebf1 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/sleep/SleepMethodRunnableExample.java @@ -0,0 +1,26 @@ +package com.jindo.core.session1.sleep; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class SleepMethodRunnableExample implements Runnable{ + + @Override + public void run() { + for (int i = 1; i <= 10; i++){ + System.out.println(i); + try { + Thread.sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + public static void main(String[] args) { + SleepMethodRunnableExample runnable1 = new SleepMethodRunnableExample(); + Thread thread = new Thread(runnable1); + thread.start(); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/sleep/SleepMethodThreadExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/sleep/SleepMethodThreadExample.java new file mode 100644 index 0000000..3a32e73 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/sleep/SleepMethodThreadExample.java @@ -0,0 +1,25 @@ +package com.jindo.core.session1.sleep; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class SleepMethodThreadExample extends Thread{ + + @Override + public void run() { + for (int i = 1; i <= 10; i++){ + System.out.println(i); + try { + Thread.sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + public static void main(String[] args) { + SleepMethodThreadExample thread1 = new SleepMethodThreadExample(); + thread1.start(); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/thread/ActionInThreadDemo.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/thread/ActionInThreadDemo.java new file mode 100644 index 0000000..23156e5 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/thread/ActionInThreadDemo.java @@ -0,0 +1,18 @@ +package com.jindo.core.session1.thread; + +/** + * @author ManhKM as [ADMIN] + * @project multi-thread-tutorial on 7/26/2023-11:04 AM (>_<)/ + * @note + */ +public class ActionInThreadDemo { + public static void main(String[] args) { + + // Khởi tạo một Thread: + ThreadDemo threadDemo1 = new ThreadDemo("new-thread-01"); // NEW +// threadDemo1.start(); // RUNNABLE + threadDemo1.stop(); + threadDemo1.interrupt(); + threadDemo1.resume(); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/thread/ThreadDemo.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/thread/ThreadDemo.java new file mode 100644 index 0000000..e34dc60 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/thread/ThreadDemo.java @@ -0,0 +1,64 @@ +package com.jindo.core.session1.thread; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + * @note: Tạo một Thread cơ bản từ việc kế thừa Thread + */ +public class ThreadDemo extends Thread { + + private Thread t; + private String threadName; + + /** + * Vừa setting tên và thực hiện gán cho nó một Thread + * @param t + * @param name + */ + ThreadDemo(Thread t, String name){ + this.t = t; + this.threadName = name; + System.out.println("Creating " + threadName + ", Thread " + t.getName()); + } + + /** + * Constructor thực hiện khởi tọa đối tượng ThreadDemo + * và setting giá trị name cho nó + * @param name + */ + ThreadDemo(String name) { + this.threadName = name; + System.out.println("Creating " + threadName); + } + + /** + * Nơi định nghĩa các kịch bản chạy của Thread này + * Thực hiện chạy thread với N lần quy định, mỗi lần chạy nghỉ M giây + */ + @Override + public void run() { + System.out.println("Running " + threadName); + try { + for (int i = 10; i > 0; i--) { + System.out.println("Thread " + threadName + ", " + i); + Thread.sleep(2000); + } + } catch (InterruptedException e) { + System.err.println("Thread: " + threadName + " interrupted."); + } + System.out.println("Thread " + threadName + " exiting..."); + } + + /** + * Hàm bắt đầu custom của chương trình + * Client sẽ gọi hàm này -> nó sẽ gọi hàm start của thread + * Từ đó cấp phát tài nguyên và bắt đầu -> run() của thread + */ + public void start() { + System.out.println("Starting " + threadName); + if (t == null) { + t = new Thread(this, threadName); // Not this.threadName + t.start(); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/thread/ThreadDemoTest.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/thread/ThreadDemoTest.java new file mode 100644 index 0000000..c9287db --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session1/thread/ThreadDemoTest.java @@ -0,0 +1,21 @@ +package com.jindo.core.session1.thread; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class ThreadDemoTest { + + public static void main(String[] args) { + + System.out.println("Main thread running..."); + + ThreadDemo threadDemo1 = new ThreadDemo("Thread-1-HR-Database"); + threadDemo1.start(); + + ThreadDemo threadDemo2 = new ThreadDemo("Thread-2-Send-Email"); + threadDemo2.start(); + + System.out.println("Main thread stopped!"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/DaemonThreadTest.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/DaemonThreadTest.java new file mode 100644 index 0000000..cfb0157 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/DaemonThreadTest.java @@ -0,0 +1,18 @@ +package com.jindo.core.session2; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class DaemonThreadTest { + + public static void main(String[] args) throws InterruptedException { + WorkingThread runnableWorkingThread = new WorkingThread("Thread-01"); + runnableWorkingThread.start(); + + // continue program: + Thread.sleep(3000); + System.out.println(Thread.currentThread().getName()); + System.out.println(">>><<< Finishing Main Program"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/NonDaemonThreadTest.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/NonDaemonThreadTest.java new file mode 100644 index 0000000..bf94059 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/NonDaemonThreadTest.java @@ -0,0 +1,19 @@ +package com.jindo.core.session2; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class NonDaemonThreadTest { + + public static void main(String[] args) throws InterruptedException { + WorkingThread runnableWorkingThread = new WorkingThread("Thread-01"); + Thread thread1 = new Thread(runnableWorkingThread); + + thread1.start(); + + // continue program: + Thread.sleep(3000); + System.out.println(">>><<< Finishing Main Program"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/NonDaemonThreadTest2.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/NonDaemonThreadTest2.java new file mode 100644 index 0000000..bbe7e8a --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/NonDaemonThreadTest2.java @@ -0,0 +1,34 @@ +package com.jindo.core.session2; + +/** + * @author ManhKM as [ADMIN] + * @project multi-thread-tutorial on 7/26/2023-11:36 AM (>_<)/ + * @note + */ +public class NonDaemonThreadTest2 { + public static void main(String[] args) { + Thread dt = new Thread(new WorkingThread2(), "My Non-Daemon Thread 2"); + + dt.setDaemon(false); + dt.start(); + + try { + Thread.sleep(3000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + Thread dt2 = new Thread(new WorkingThread2(), "My Daemon Thread 2"); + + dt2.setDaemon(true); + dt2.start(); + + try { + Thread.sleep(3000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + System.out.println(">><< Finishing main program"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/WorkingThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/WorkingThread.java new file mode 100644 index 0000000..866d742 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/WorkingThread.java @@ -0,0 +1,58 @@ +package com.jindo.core.session2; + +import java.util.Random; + +/** + * @author ManhKM on 3/8/2023 + * @project multi-thread-tutorial + */ +public class WorkingThread implements Runnable { + + private String name; + private Thread t; + + WorkingThread() { + System.out.println("CREATING..."); + } + + WorkingThread(String name) { + this.name = name; + System.out.println("CREATING..." + name); + } + + @Override + public void run() { + int count = 0; + while (true) { + count++; + processSomething(count); + } + } + + public void start(){ + System.out.println("STARTING..." + name); + if(t == null){ + t = new Thread(this, name); + t.setDaemon(true); + t.start(); + System.out.println(t.getName()); + } + } + + private void processSomething(int count) { + Random random = new Random(); + int i = random.nextInt(999999999); + + try { + System.out.println( + "[" + i + "]" + "Processing working thread " + this.name + "[" + count + "]"); + Thread.sleep(0); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + if (i == 45678) { + throw new RuntimeException("Giá trị này = 100, không xủ lý trong Thread"); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/WorkingThread2.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/WorkingThread2.java new file mode 100644 index 0000000..3d1f081 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session2/WorkingThread2.java @@ -0,0 +1,24 @@ +package com.jindo.core.session2; + +/** + * @author ManhKM as [ADMIN] + * @project multi-thread-tutorial on 7/26/2023-11:34 AM (>_<)/ + * @note Thực hiện một luồng cơ bản + */ +public class WorkingThread2 implements Runnable { + @Override + public void run() { + while (true) { + processSomething(); + } + } + + private void processSomething() { + try { + System.out.println("Processing working thread"); + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/block/ShareMemory.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/block/ShareMemory.java new file mode 100644 index 0000000..3bd89f5 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/block/ShareMemory.java @@ -0,0 +1,21 @@ +package com.jindo.core.session3.block; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class ShareMemory { + + //synchronized + public synchronized void printData(String threadName) { + synchronized (this) { + for (int i = 1; i <= 20; i++) { + System.out.println(threadName + ": " + i); + } + } + +// for (int i = 1; i <= 20; i++) { +// System.out.println(threadName + ": " + i); +// } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/block/ShareMemoryTest.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/block/ShareMemoryTest.java new file mode 100644 index 0000000..1c63fbf --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/block/ShareMemoryTest.java @@ -0,0 +1,24 @@ +package com.jindo.core.session3.block; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class ShareMemoryTest { + + public static void main(String[] args) { + System.out.println("Share Memory - Synchronized Block"); + + ShareMemory shareMemory = new ShareMemory(); + + WorkingThread thread1 = new WorkingThread(shareMemory, "Thread-01"); + WorkingThread thread2 = new WorkingThread(shareMemory, "Thread-02"); + WorkingThread thread3 = new WorkingThread(shareMemory, "Thread-03"); + WorkingThread thread4 = new WorkingThread(shareMemory, "Thread-04"); + + thread1.start(); + thread2.start(); + thread3.start(); + thread4.start(); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/block/WorkingThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/block/WorkingThread.java new file mode 100644 index 0000000..c61fa6d --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/block/WorkingThread.java @@ -0,0 +1,31 @@ +package com.jindo.core.session3.block; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class WorkingThread extends Thread { + + private ShareMemory shareMemory; + private String threadName; + + public WorkingThread(ShareMemory shareMemory, String threadName) { + this.shareMemory = shareMemory; + this.threadName = threadName; + System.out.println("CREATING...[" + this.threadName + "]" + " - " + shareMemory); + } + + @Override + public void run() { + System.out.println("RUNNING...[" + this.threadName + "]"); + this.shareMemory.printData(this.threadName); + } + +// public void start() { +// System.out.println("STARTING...[" + this.threadName + "]"); +// if (thread == null) { +// thread = new Thread(this, threadName); +// thread.start(); +// } +// } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/deadlock/DeadLockTest.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/deadlock/DeadLockTest.java new file mode 100644 index 0000000..f93e5be --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/deadlock/DeadLockTest.java @@ -0,0 +1,30 @@ +package com.jindo.core.session3.deadlock; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class DeadLockTest { + + public static void main(String[] args) throws InterruptedException { + + Object obj1 = new String("object1"); + Object obj2 = new String("object2"); + Object obj3 = new String("object3"); + + DeadlockThread thread1 = new DeadlockThread("Thread-01", obj1, obj2); + DeadlockThread thread2 = new DeadlockThread("Thread-02", obj2, obj3); + DeadlockThread thread3 = new DeadlockThread("Thread-03", obj3, obj1); + + thread1.start(); + Thread.sleep(1000); + + thread2.start(); + Thread.sleep(1000); + + thread3.start(); + Thread.sleep(1000); + + System.out.println("Ending Main Thread"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/deadlock/DeadlockThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/deadlock/DeadlockThread.java new file mode 100644 index 0000000..84e420c --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/deadlock/DeadlockThread.java @@ -0,0 +1,57 @@ +package com.jindo.core.session3.deadlock; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class DeadlockThread implements Runnable { + + private Thread thread; + private String threadName; + private Object object1; + private Object object2; + + public DeadlockThread(String threadName, Object object1, Object object2) { + this.threadName = threadName; + this.object1 = object1; + this.object2 = object2; + System.out.println("CREATING... " + threadName + " " + object1 + " " + object2); + } + + @Override + public void run() { + System.out.println("RUNNING... " + threadName); + System.out.println(threadName + " mở khóa " + object1); + + synchronized (object1){ + System.out.println(threadName + " được khóa trên " + object1); + work(); + + System.out.println(threadName + " mở khóa " + object2); + synchronized (object2){ + System.out.println(threadName + " được khóa trên " + object2); + work(); + } + System.out.println(threadName + " phát hành khóa trên " + object2); + } + System.out.println(threadName + " phát hành khóa trên " + object1); + System.out.println(threadName + " finished execution...."); + } + + private void work() { + try { + System.out.println("SLEEPING... " + threadName); + Thread.sleep(6000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + public void start(){ + System.out.println("STARTING... " + threadName); + if(thread == null){ + thread = new Thread(this, threadName); + thread.start(); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/method/ShareMemory.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/method/ShareMemory.java new file mode 100644 index 0000000..7a2d663 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/method/ShareMemory.java @@ -0,0 +1,24 @@ +package com.jindo.core.session3.method; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class ShareMemory { + + // Xác định index in ra ngoài màn hình + volatile int count = 0; + + /** + * synchronized + * Cơ chế: Phương thức này sẽ được cấp duy nhất 1 java monitor + * Chỉ có luồng nào nắm giữ monitor mới có quyền gọi phương thức này + * @param threadName + */ + public synchronized void printData(String threadName){ + for (int i = 1; i <= 20; i++){ + count++; + System.out.println(threadName + ": " + i + "\t - [count]: " + count); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/method/ShareMemoryTest.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/method/ShareMemoryTest.java new file mode 100644 index 0000000..fdbd2fc --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/method/ShareMemoryTest.java @@ -0,0 +1,35 @@ +package com.jindo.core.session3.method; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class ShareMemoryTest { + + public static void main(String[] args) { + + System.out.println("Synchronized methods: "); + + ShareMemory shareMemory = new ShareMemory(); + + WorkingThread thread1 = new WorkingThread(shareMemory, "Thread-01"); + WorkingThread thread2 = new WorkingThread(shareMemory, "Thread-02"); + WorkingThread thread3 = new WorkingThread(shareMemory, "Thread-03"); + WorkingThread thread4 = new WorkingThread(shareMemory, "Thread-04"); + WorkingThread thread5 = new WorkingThread(shareMemory, "Thread-05"); + WorkingThread thread6 = new WorkingThread(shareMemory, "Thread-06"); + WorkingThread thread7 = new WorkingThread(shareMemory, "Thread-07"); + WorkingThread thread8 = new WorkingThread(shareMemory, "Thread-08"); + + thread1.start(); + thread2.start(); + thread3.start(); + thread4.start(); + thread5.start(); + thread6.start(); + thread7.start(); + thread8.start(); + + System.out.println("THE END APPLICATION...."); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/method/WorkingThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/method/WorkingThread.java new file mode 100644 index 0000000..85c7578 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/method/WorkingThread.java @@ -0,0 +1,31 @@ +package com.jindo.core.session3.method; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class WorkingThread extends Thread { + + private ShareMemory shareMemory; + private String threadName; + + public WorkingThread(ShareMemory shareMemory, String threadName) { + this.shareMemory = shareMemory; + this.threadName = threadName; + System.out.println("CREATING...[" + this.threadName + "]" + " - " + shareMemory); + } + + @Override + public void run() { + System.out.println("RUNNING...[" + this.threadName + "]"); + this.shareMemory.printData(this.threadName); + } + +// public void start() { +// System.out.println("STARTING...[" + this.threadName + "]"); +// if (thread == null) { +// thread = new Thread(this, threadName); +// thread.start(); +// } +// } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/Customer.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/Customer.java new file mode 100644 index 0000000..03afd8b --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/Customer.java @@ -0,0 +1,41 @@ +package com.jindo.core.session3.notification; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class Customer { + + private int balance = 1000; + + public Customer() { + System.out.println("Tài khoản của bạn là: " + balance); + } + + /** + * Thực hiện giao dịch rút tiền + * + * @param amount + */ + public synchronized void withdraw(int amount) { + System.out.println("Đang thực hiện giao dịch rút tiền " + amount + " ..."); + while (balance < amount) { + System.out.println("Không đủ số tiền trong tài khoản để rút, số dư hiện tại là: " + this.balance); + try { + wait(); // Chờ đến khi nạp đủ tiền + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + balance -= amount; + System.out.println("Rút tiền thành công. Tài khoản hiện tại là: " + balance); + } + + public synchronized void deposit(int amount) { + System.out.println("Đang thực hiện giao dịch nạp tiền " + amount + " ..."); + balance += amount; + System.out.println("Nạp tiền thành công. Tài khoản hiện tại của bạn là: " + balance); + notify(); // Thông báo random thread khac + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/CustomerDepositThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/CustomerDepositThread.java new file mode 100644 index 0000000..d264b00 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/CustomerDepositThread.java @@ -0,0 +1,39 @@ +package com.jindo.core.session3.notification; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class CustomerDepositThread implements Runnable{ + + private Thread thread; + private String threadName; + private Customer customer; + private int money; + + CustomerDepositThread(String threadName, Customer customer, int money){ + this.threadName = threadName; + this.customer = customer; + this.money = money; + System.out.println("CREATING... " + threadName + " " + customer + " " + money); + } + + @Override + public void run() { + System.out.println("RUNNING... " + threadName); + try { + Thread.sleep(20000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + this.customer.deposit(this.money); + } + + public void start(){ + System.out.println("STARTING... " + threadName); + if(thread == null){ + thread = new Thread(this, threadName); + thread.start(); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/CustomerOperationExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/CustomerOperationExample.java new file mode 100644 index 0000000..2515c5f --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/CustomerOperationExample.java @@ -0,0 +1,29 @@ +package com.jindo.core.session3.notification; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class CustomerOperationExample { + + public static void main(String[] args) { + System.out.println("Starting Main Thread"); + + Customer customer = new Customer(); + + CustomerWithDrawThread thread1 = new CustomerWithDrawThread("Thread-01-WithDraw", customer, 2000); + thread1.start(); + + CustomerDepositThread thread2 = new CustomerDepositThread("Thread-02-Deposit", customer, 500); + thread2.start(); + + CustomerDepositThread thread3 = new CustomerDepositThread("Thread-03-Deposit", customer, 10000); + thread3.start(); + + CustomerWithDrawThread thread4 = new CustomerWithDrawThread("Thread-04-WithDraw", customer, 9000); + thread4.start(); + + System.out.println("End Main Thread"); + + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/CustomerWithDrawThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/CustomerWithDrawThread.java new file mode 100644 index 0000000..6bfbb7b --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/CustomerWithDrawThread.java @@ -0,0 +1,39 @@ +package com.jindo.core.session3.notification; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class CustomerWithDrawThread implements Runnable{ + + private Thread thread; + private String threadName; + private Customer customer; + private int money; + + CustomerWithDrawThread(String threadName, Customer customer, int money){ + this.threadName = threadName; + this.customer = customer; + this.money = money; + System.out.println("CREATING... " + threadName + " " + customer + " " + money); + } + + @Override + public void run() { + System.out.println("RUNNING... " + threadName); + try { + Thread.sleep(20000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + this.customer.withdraw(this.money); + } + + public void start(){ + System.out.println("STARTING... " + threadName); + if(thread == null){ + thread = new Thread(this, threadName); + thread.start(); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/readme.md b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/readme.md new file mode 100644 index 0000000..e112f66 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/notification/readme.md @@ -0,0 +1,10 @@ +## Sử dụng với bài toán Notification trong bài toán đa luồng. + +### Bài toán + +Nếu trong quá trình luồng 1 khóa đối tượng Resource b, sau khi thực hiện được 1 đoạn công việc, luồng 1 cần luồng 2 làm việc số việc gì đó trên resource B này. + +Sau khi đó mới có điều kiện để luồng 1 thực hiện tiếp logic -> lúc này mới có đủ dữ liệu để làm tiếp. + +wait(), notify(), notifyall() + diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/readme.md b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/readme.md new file mode 100644 index 0000000..2e1eccf --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/readme.md @@ -0,0 +1,6 @@ +## Đồng bộ luồng trong Java + +Đồng bộ hóa (synchronized) chính là việc xắp xếp thứ tự các luồng khi truy xuất vào cùng đối tượng sao cho nó không có sự xung đột dữ liệu. + +Đồng bộ hóa = thứ tự hóa + diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/staticmethod/ShareMemory.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/staticmethod/ShareMemory.java new file mode 100644 index 0000000..39b756f --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/staticmethod/ShareMemory.java @@ -0,0 +1,15 @@ +package com.jindo.core.session3.staticmethod; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class ShareMemory { + + //synchronized + public static synchronized void printData(String threadName){ + for (int i = 1; i <= 20; i++){ + System.out.println(threadName + ": " + i); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/staticmethod/ShareMemoryTest.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/staticmethod/ShareMemoryTest.java new file mode 100644 index 0000000..6d7024e --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/staticmethod/ShareMemoryTest.java @@ -0,0 +1,23 @@ +package com.jindo.core.session3.staticmethod; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class ShareMemoryTest { + + public static void main(String[] args) { + + ShareMemory shareMemory = new ShareMemory(); + + WorkingThread thread1 = new WorkingThread(shareMemory, "Thread-01"); + WorkingThread thread2 = new WorkingThread(shareMemory, "Thread-02"); + WorkingThread thread3 = new WorkingThread(shareMemory, "Thread-03"); + WorkingThread thread4 = new WorkingThread(shareMemory, "Thread-04"); + + thread1.start(); + thread2.start(); + thread3.start(); + thread4.start(); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/staticmethod/WorkingThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/staticmethod/WorkingThread.java new file mode 100644 index 0000000..0ef6204 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/staticmethod/WorkingThread.java @@ -0,0 +1,32 @@ +package com.jindo.core.session3.staticmethod; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class WorkingThread extends Thread { + + private Thread thread; + private ShareMemory shareMemory; + private String threadName; + + public WorkingThread(ShareMemory shareMemory, String threadName) { + this.shareMemory = shareMemory; + this.threadName = threadName; + System.out.println("CREATING...[" + this.threadName + "]" + " - " + shareMemory); + } + + @Override + public void run() { + System.out.println("RUNNING...[" + this.threadName + "]"); + this.shareMemory.printData(this.threadName); + } + +// public void start() { +// System.out.println("STARTING...[" + this.threadName + "]"); +// if (thread == null) { +// thread = new Thread(this, threadName); +// thread.start(); +// } +// } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/summary/SynchronizationExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/summary/SynchronizationExample.java new file mode 100644 index 0000000..8baf36b --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session3/summary/SynchronizationExample.java @@ -0,0 +1,38 @@ +package com.jindo.core.session3.summary; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class SynchronizationExample { + + private static SynchronizationExample instance; + + public synchronized void lockedByThis() { + System.out + .println("This synchronized method is locked by current instance of Object. This"); + } + + public static synchronized SynchronizationExample lockedByClassLock() { + System.out.println( + "This static synchronized method is locked by class level lock of this class"); + if (instance == null) { + instance = new SynchronizationExample(); + } + return instance; + } + + public static synchronized SynchronizationExample lockedBySynchronizedBlock() { + System.out.println("This line is executed without locking"); + if (instance == null) { + synchronized (instance) { // synchronized (SynchronizationExample.class) + // Thread Safe. Might be costly operation in some case + if (instance == null) { + instance = new SynchronizationExample(); + } + } + } + return instance; + } + +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/MonitorThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/MonitorThread.java new file mode 100644 index 0000000..95e46ed --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/MonitorThread.java @@ -0,0 +1,44 @@ +package com.jindo.core.session4.customthreadpool; + +import java.util.concurrent.ThreadPoolExecutor; + +/** + * @author ManhKM on 3/10/2023 + * @project multi-thread-tutorial + */ +public class MonitorThread implements Runnable { + + private ThreadPoolExecutor executor; + private int second; + private boolean run = true; + + public MonitorThread(ThreadPoolExecutor executor, int delay) { + this.executor = executor; + this.second = delay; + } + + public void shutdown() { + this.run = false; + } + + @Override + public void run() { + while (run) { + System.out.println(String.format( + "[monitor] [%d/%d] Active: %d, Completed: %d, Task: %d, isShutdown: %s, isTerminated: %s", + this.executor.getPoolSize(), + this.executor.getCorePoolSize(), + this.executor.getActiveCount(), + this.executor.getCompletedTaskCount(), + this.executor.getTaskCount(), + this.executor.isShutdown(), + this.executor.isTerminated())); + + try { + Thread.sleep(second * 1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/RejectedExecutionHandlerImpl.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/RejectedExecutionHandlerImpl.java new file mode 100644 index 0000000..3f4fe4e --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/RejectedExecutionHandlerImpl.java @@ -0,0 +1,17 @@ +package com.jindo.core.session4.customthreadpool; + +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * @author ManhKM on 3/10/2023 + * @project multi-thread-tutorial + */ +public class RejectedExecutionHandlerImpl implements RejectedExecutionHandler { + + @Override + public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { + + System.out.println(r.toString() + " is rejected"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/ThreadFactoryBuilder.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/ThreadFactoryBuilder.java new file mode 100644 index 0000000..786241d --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/ThreadFactoryBuilder.java @@ -0,0 +1,109 @@ +package com.jindo.core.session4.customthreadpool; + +import java.lang.Thread.UncaughtExceptionHandler; +import java.util.concurrent.Executors; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @author ManhKM on 3/10/2023 + * @project multi-thread-tutorial + */ +public class ThreadFactoryBuilder { + + private String namePrefix = null; + private boolean daemon = false; + private int priority = Thread.NORM_PRIORITY; + private ThreadFactory backingThreadFactory = null; + private UncaughtExceptionHandler uncaughtExceptionHandler = null; + + public ThreadFactoryBuilder() { + + } + + public ThreadFactoryBuilder setNamePrefix(String namePrefix) { + if (namePrefix == null) { + throw new NullPointerException(); + } + this.namePrefix = namePrefix; + return this; + } + + public ThreadFactoryBuilder setDaemon(boolean daemon) { + this.daemon = daemon; + return this; + } + + public ThreadFactoryBuilder setPriority(int priority) { + if (priority < Thread.MIN_PRIORITY) { + throw new IllegalArgumentException( + String.format("Thread priority (%s) must be >= %s", priority, + Thread.MIN_PRIORITY)); + } + + if (priority > Thread.MAX_PRIORITY) { + throw new IllegalArgumentException( + String.format("Thread priority (%s) must be <= %s", priority, + Thread.MAX_PRIORITY)); + } + + this.priority = priority; + return this; + + } + + public ThreadFactoryBuilder setUncaughtExceptionHandler( + UncaughtExceptionHandler uncaughtExceptionHandler) { + if (null == uncaughtExceptionHandler) { + throw new NullPointerException("UncaughtExceptionHandler cannot be null"); + } + this.uncaughtExceptionHandler = uncaughtExceptionHandler; + return this; + } + + public ThreadFactoryBuilder setThreadFactory(ThreadFactory backingThreadFactory) { + if (null == uncaughtExceptionHandler) { + throw new NullPointerException("BackingThreadFactory cannot be null"); + } + this.backingThreadFactory = backingThreadFactory; + return this; + } + + public ThreadFactory build() { + return build(this); + } + + private static ThreadFactory build(ThreadFactoryBuilder builder) { + final String namePrefix = builder.namePrefix; + final Boolean daemon = builder.daemon; + final Integer priority = builder.priority; + final UncaughtExceptionHandler uncaughtExceptionHandler = builder.uncaughtExceptionHandler; + final ThreadFactory backingThreadFactory = + (builder.backingThreadFactory != null) ? builder.backingThreadFactory + : Executors.defaultThreadFactory(); + + final AtomicLong count = new AtomicLong(0); + + return new ThreadFactory() { + @Override + public Thread newThread(Runnable runnable) { + Thread thread = backingThreadFactory.newThread(runnable); + if (namePrefix != null) { + thread.setName(namePrefix + "-" + count.getAndIncrement()); + } + if (daemon != null) { + thread.setDaemon(daemon); + } + if (priority != null) { + thread.setPriority(priority); + } + if (uncaughtExceptionHandler != null) { + thread.setUncaughtExceptionHandler(uncaughtExceptionHandler); + } + return thread; + } + }; + } + + +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/ThreadPoolExecutorExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/ThreadPoolExecutorExample.java new file mode 100644 index 0000000..503981e --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/ThreadPoolExecutorExample.java @@ -0,0 +1,61 @@ +package com.jindo.core.session4.customthreadpool; + +import java.lang.Thread.UncaughtExceptionHandler; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 3/10/2023 + * @project multi-thread-tutorial + */ +public class ThreadPoolExecutorExample { + + public static void main(String[] args) throws InterruptedException { + + final int CORE_POOL_SIZE = 2; + final int MAX_POOL_SIZE = 4; + final long KEEP_ALIVE_TIME = 10; + + BlockingQueue workQueue = new ArrayBlockingQueue(2); + + RejectedExecutionHandlerImpl rejectionHandler = new RejectedExecutionHandlerImpl(); + + ThreadFactory threadFactory = new ThreadFactoryBuilder() + .setNamePrefix("ManhKM-ThreadPool") + .setDaemon(false) + .setPriority(Thread.MAX_PRIORITY) + .setUncaughtExceptionHandler(new UncaughtExceptionHandler() { + @Override + public void uncaughtException(Thread t, Throwable e) { + System.err.println(String.format("Custom Exception: Thread %s threw exception - %s", + t.getName(), e.getMessage())); + } + }).build(); + + // Creating the ThreadPoolExecutor: + ThreadPoolExecutor executorPool = new ThreadPoolExecutor(CORE_POOL_SIZE, MAX_POOL_SIZE, KEEP_ALIVE_TIME, TimeUnit.SECONDS, workQueue, threadFactory, rejectionHandler); + + // start the monitoring thread + MonitorThread monitor = new MonitorThread(executorPool, 3); + Thread monitorThread = new Thread(monitor); + monitorThread.start(); + + // submit work to the thread pool + for (int i = 1; i <= 10; i++) { + executorPool.execute(new WorkerTempThread("cmd" + i)); + } + + Thread.sleep(30000); + + // shut down the pool + executorPool.shutdown(); + + // shut down the monitor thread + Thread.sleep(5000); + monitor.shutdown(); + + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/WorkerTempThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/WorkerTempThread.java new file mode 100644 index 0000000..577e6c8 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/customthreadpool/WorkerTempThread.java @@ -0,0 +1,38 @@ +package com.jindo.core.session4.customthreadpool; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class WorkerTempThread implements Runnable{ + + private String task; + + public WorkerTempThread(String task){ + this.task = task; + } + + @Override + public void run() { +// System.out.println("RUNNING... " + Thread.currentThread().getName()); + + System.out.println(Thread.currentThread().getName() + " Starting. Task = " + task); + processCommand(); + System.out.println(Thread.currentThread().getName() + " Finished."); + + } + + private void processCommand() { + try { +// System.out.println(" ... PROCESSING... " + Thread.currentThread().getName() + " Starting. Task = " + task); + Thread.sleep(50); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + @Override + public String toString() { + return "Task = " + task; + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/CachedThreadPoolExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/CachedThreadPoolExample.java new file mode 100644 index 0000000..025c64f --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/CachedThreadPoolExample.java @@ -0,0 +1,31 @@ +package com.jindo.core.session4.threadpool; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class CachedThreadPoolExample { + + public static void main(String[] args) throws InterruptedException { + ExecutorService executor = Executors.newCachedThreadPool(); + + for (int i = 0; i <= 100; i++){ + Runnable worker = new WorkerTempThread(String.valueOf(i)); + executor.execute(worker); + Thread.sleep(400); + } + + + executor.shutdown(); + + while (!executor.isTerminated()){ + // Running... + System.out.println("Executor is not Terminated"); + } + + System.out.println("Finished all threads"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/FixedThreadPoolExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/FixedThreadPoolExample.java new file mode 100644 index 0000000..7cfca43 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/FixedThreadPoolExample.java @@ -0,0 +1,29 @@ +package com.jindo.core.session4.threadpool; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class FixedThreadPoolExample { + + public static final int NUM_OF_THREAD = 10; + + public static void main(String[] args) { + ExecutorService executor = Executors.newFixedThreadPool(NUM_OF_THREAD); + for (int i = 1; i <= 100; i++) { + Runnable worker = new WorkerTempThread(String.valueOf(i)); + executor.execute(worker); + } + + executor.shutdown(); + + while (!executor.isTerminated()) { + // Running... + } + + System.out.println("Finished all threads"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/ScheduledThreadPoolExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/ScheduledThreadPoolExample.java new file mode 100644 index 0000000..385cac1 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/ScheduledThreadPoolExample.java @@ -0,0 +1,38 @@ +package com.jindo.core.session4.threadpool; + +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +/** + * @author ManhKM on 3/10/2023 + * @project multi-thread-tutorial + */ +public class ScheduledThreadPoolExample { + + public static final int NUM_OF_THREAD = 10; + public static final int INITIAL_DELAY = 1; // second + public static final int DELAY = 3; //second + + public static void main(String[] args) throws InterruptedException { + + ScheduledExecutorService executor = Executors.newScheduledThreadPool(NUM_OF_THREAD); + + for (int i = 1; i <= 500; i++){ + Runnable worker = new WorkerTempThread(String.valueOf(i)); + executor.scheduleWithFixedDelay(worker, INITIAL_DELAY, DELAY, TimeUnit.SECONDS); + } + + // wait for termination for 10 seconds only: + executor.awaitTermination(10, TimeUnit.SECONDS); + + executor.shutdown(); + + while (!executor.isTerminated()){ + // Running something + + } + + System.out.println("Finished all threads"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/SingleThreadExecutorExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/SingleThreadExecutorExample.java new file mode 100644 index 0000000..18faac6 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/SingleThreadExecutorExample.java @@ -0,0 +1,33 @@ +package com.jindo.core.session4.threadpool; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class SingleThreadExecutorExample { + + public static void main(String[] args) { + + /** + * Khi này nên hiểu rằng hệ thống tự động tạo một SingleThread thôi + * Còn Runnable ở đây coi như Task cần thực hiện + * Một Runnable tương đương với 1 task + */ + ExecutorService executor = Executors.newSingleThreadExecutor(); + + for (int i = 1; i <= 10; i++) { + Runnable worker = new WorkerTempThread(String.valueOf(i)); + executor.execute(worker); + } + + executor.shutdown(); + + while (!executor.isTerminated()) { + //Running... + } + System.out.println("Finished all threads"); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/WorkerTempThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/WorkerTempThread.java new file mode 100644 index 0000000..bdd0778 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/WorkerTempThread.java @@ -0,0 +1,33 @@ +package com.jindo.core.session4.threadpool; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class WorkerTempThread implements Runnable{ + + private String task; + + public WorkerTempThread(String task){ + this.task = task; + } + + @Override + public void run() { +// System.out.println("RUNNING... " + Thread.currentThread().getName()); + + System.out.println(Thread.currentThread().getName() + " Starting. Task = " + task); + processCommand(); + System.out.println(Thread.currentThread().getName() + " Finished."); + + } + + private void processCommand() { + try { +// System.out.println(" ... PROCESSING... " + Thread.currentThread().getName() + " Starting. Task = " + task); + Thread.sleep(50); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/WorkerThread.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/WorkerThread.java new file mode 100644 index 0000000..45c3ca5 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session4/threadpool/WorkerThread.java @@ -0,0 +1,45 @@ +package com.jindo.core.session4.threadpool; + +/** + * @author ManhKM on 3/9/2023 + * @project multi-thread-tutorial + */ +public class WorkerThread implements Runnable{ + + private String task; + private String threadName; + private Thread thread; + + public WorkerThread(String threadName, String task){ + this.task = task; + this.threadName = threadName; + System.out.println("CREATING... " + this.threadName + " " + this.task); + } + + @Override + public void run() { + System.out.println("RUNNING... " + this.threadName + " " + this.task); + processCommand(); + System.out.println("FINISHED... " + this.threadName + " " + this.task); + + } + + private void processCommand() { + try { + System.out.println(" ...PROCESSING... "); + Thread.sleep(10); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + public void start(){ + System.out.println("STARTING... " + this.threadName + " " + this.task); + if(thread == null){ + thread = new Thread(this, this.threadName); + thread.start(); + } + } + + +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session5/CallableExample.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session5/CallableExample.java new file mode 100644 index 0000000..dca8330 --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session5/CallableExample.java @@ -0,0 +1,54 @@ +package com.jindo.core.session5; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +/** + * @author ManhKM on 3/10/2023 + * @project multi-thread-tutorial + */ +public class CallableExample { + + public static void main(String[] args) { + + // create a list to hold the Future object associated with callable + List> list = new ArrayList<>(); + + ExecutorService executor = Executors.newFixedThreadPool(10); + + Callable callable; + + Future future; + + for (int i = 0; i <= 999999; i++) { + callable = new CallableWorker(i); + future = executor.submit(callable); + list.add(future); + } + + executor.shutdown(); + + while (!executor.isTerminated()){ + //Running something + } + + int sum = 0; + for (Future f : list){ + try { + sum += f.get(); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } + } + + System.out.println("Finished all threads: "); + System.out.println("Sum all = " + sum); + } +} diff --git a/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session5/CallableWorker.java b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session5/CallableWorker.java new file mode 100644 index 0000000..d6a2e2e --- /dev/null +++ b/Java-Concurrence/multi-thread-tutorial/src/com/jindo/core/session5/CallableWorker.java @@ -0,0 +1,27 @@ +package com.jindo.core.session5; + +import java.util.Random; +import java.util.concurrent.Callable; + +/** + * @author ManhKM on 3/10/2023 + * @project multi-thread-tutorial + */ +public class CallableWorker implements Callable { + + private int num; // Truyền vào 1 số cần tính + private Random ran; // Số bất kỳ để sleep + + public CallableWorker(int num){ + this.num = num; + this.ran = new Random(); + } + + @Override + public Integer call() throws Exception { + Thread.sleep(ran.nextInt(10)); + int result = num * num; + System.out.println("Complete " + num); + return result; + } +} diff --git a/Java-ThreadPool/readme.md b/Java-Concurrence/readme.md similarity index 89% rename from Java-ThreadPool/readme.md rename to Java-Concurrence/readme.md index 479dca5..5763de3 100644 --- a/Java-ThreadPool/readme.md +++ b/Java-Concurrence/readme.md @@ -100,4 +100,9 @@ https://gpcoder.com/category/java-core/multi-thread/ -2. \ No newline at end of file +2. Java Concurrency and Multithreading + https://www.youtube.com/playlist?list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4 + +3. Java ExecutorService + https://jenkov.com/tutorials/java-util-concurrent/executorservice.html#task-delegation + \ No newline at end of file diff --git a/Java-Concurrence/synch-unsynch-v1.0.drawio b/Java-Concurrence/synch-unsynch-v1.0.drawio new file mode 100644 index 0000000..c1a6228 --- /dev/null +++ b/Java-Concurrence/synch-unsynch-v1.0.drawio @@ -0,0 +1 @@ +5Vpbc+MmFP41muk+OKO7rEfLTrLbbraZcTrdPCIJSzSycBFK7P76AgJdguI4s7lo2zzEcDiA+M4HnHMkw1lu95cE7PIrnMLCsM10bzgrw7Yt37fZD5ccGsnckYKMoFQqdYI1+gdKoSmlNUphNVCkGBcU7YbCBJclTOhABgjBD0O1DS6Gs+5ABjXBOgGFLv0TpTSXUssPu4bPEGW5nHpuB03DFihluZIqByl+6Imcc8NZEoxpU9rul7Dg4Clcmn4XT7S2D0ZgSU/p8OX29/rXL1YSrVfh9+w8uXEugpkc5R4UtVywsXSN0DTOLSOKjNApM9YcqypbtF+w2aKYsFLGS7+sD2WSE1wy06Wf9PYMyc6LC26mHHOjImPpGAuLG5PI5nnEm5VuAERNaCVcTRRNxIplVh9EbVFyXvFiFIrHTPJa/N7lQugOnl2MXwE+QqFEQZJL29CDMjjBdZlCjpnJnv4hRxSudyDhrQ+M4kyW023BahYrblBRLHGBiejrXIg/Jtdto4CGhMJ9TyRtdQnxFlJyYCqydS5pcxhWHzoS2qaU5T3++VIGJO+zduCOGqwg2fECptgaUyIB48JYeJQ1CN5YL+DNH2V1nDlXcvwo4Ay4a40mLG0sfSMy+f+FJeZiROKkWJY5rwgGLFbcvszcgjtbTrxGp9NYDtonSgXHnhgXHI0LVzU7kmc0JxCkk8Xx8Z7yfB1Iy35PIF0NyK/1YAtpu+ZGQPxpshhPDmJPg7iBcHbN3IifBcZ2e38YjL4G42dQ5VcMkqlC6D9/g74vhIEG4RKXSU34GqcO5tydGJhzDcy+HzplKC3TnBiWoYblHTw8YML6LDiGPWD1G+m3xtl2QOtYM4/QQsd89iYI2DUeWMgsZfJIoBjefGalYoGVcPNlxWucvcFE29bNpI1nJ6sr1PqlKgiZO9wNnLGHB1tucrEEETKgZ6bcY/Gjd/2bLU0ObpWdI9z4p3IIJ2nCk1bT6XDANIfkB9mKS7qWfUfiwpfv9hOuH9t9T4qqdECPo+d7mNQUkzUk94gBM9X9Pr273NKj/sYn4i6RgnWyeLrTw1OPjTX0qhzseBFtRcIp4utFCSi+ghgW17hCFOGStceYUrxlCgVviEBylwnge2BuxF9vjEWBMt6XYm4FUO2aRNgG7bm5IjHlQklNJWHlnFKeRlvw5dsXQlqd3aO4wGegQuxEv7DTwIKBZ83MGMYzNwnN2dxyzVlswdhPNjBIN8nZjp2Mr+OyPfIy3BHTemOmtTz7rWyrx7r/GdvGMfBD1505m9SbuXCTzOa26c3seRCH1sZzPOi+nW39U21rh9Zb2VYPv7tz8AZUd5M/Cx/HOKNnofeuZ2H4DFiY0BxnuGTbA3NOC4j+gpQeZPIfMMSHAMI9ot959zNP1m57Lau9HFlUDqpSstX0OvHqbb+t6yZqqt+TRqlwTRJ4bOUy00ABySA9pigDQZgOXj3oRiawABTdD99EvL7F9AyJyOZRtgFGElDN+wHu7Zd561UH258mI9UmUz/OXdBzKTfjWH/rI8x7tCEJf9Z+QrwLeppseKICpKAUSPTiGpHujlbTNdj0LNa+wuvA4ptXhVwlLvm1/+Pn3PufWcGJZ5Y7rSNLT6VdE5zAqhrZRN0ecmqjfdujpQ2OvlKa7mZ5tFdc96P3iqVn5sR1snvSQN2NInWmi/b04LZPiE94lLE7ffXtxxQgViOYR1Gx1H5UqISuhoo/Bor/VqDoCQ5LQ4Utmg6JU1GC76CijjzV+2ySIiBjsoRBCclIsLZFacqnGWXqkMu6WY6b+XmqPgO682ZM1LMg3/43oCtXxT+J+G9nAz2iVQdubqkD9xIp59BBxvBbiUaVTd1pK2GK7tsPM2oVHYykwyv11cbKkF/wRM4wWLDq7qjvTdmbYGxOdVkHqN/7yAzqY4QTJ9Avpqe6vhqlK8ZRxPMrK6+r3Qhnkbuc40zGjI2bQnxIljPGw/IEdr88x+qe4IKHY4k4++XUZtXuKzjR1vuW0Dn/Fw== \ No newline at end of file diff --git a/Java-Core-Tutorial/10-java-core-best-practices/docs/10 Java Core Best Practice Every Java Programmer Should Know.docx b/Java-Core-Tutorial/10-java-core-best-practices/docs/10 Java Core Best Practice Every Java Programmer Should Know.docx new file mode 100644 index 0000000..4963f7e Binary files /dev/null and b/Java-Core-Tutorial/10-java-core-best-practices/docs/10 Java Core Best Practice Every Java Programmer Should Know.docx differ diff --git a/Java-Core-Tutorial/10-java-core-best-practices/pom.xml b/Java-Core-Tutorial/10-java-core-best-practices/pom.xml new file mode 100644 index 0000000..c2d87e6 --- /dev/null +++ b/Java-Core-Tutorial/10-java-core-best-practices/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + org.example + 10-java-core-best-practices + 1.0-SNAPSHOT + + + 8 + 8 + + + diff --git a/Java-CoreTutorial/documents/Java Core Tutorial v1.0.docx b/Java-Core-Tutorial/documents/Java Core Tutorial v1.0.docx similarity index 78% rename from Java-CoreTutorial/documents/Java Core Tutorial v1.0.docx rename to Java-Core-Tutorial/documents/Java Core Tutorial v1.0.docx index f510f81..d0f2c1b 100644 Binary files a/Java-CoreTutorial/documents/Java Core Tutorial v1.0.docx and b/Java-Core-Tutorial/documents/Java Core Tutorial v1.0.docx differ diff --git a/Java-CoreTutorial/documents/java-core-tutorial-v1.bk.docx b/Java-Core-Tutorial/documents/java-core-tutorial-v1.bk.docx similarity index 100% rename from Java-CoreTutorial/documents/java-core-tutorial-v1.bk.docx rename to Java-Core-Tutorial/documents/java-core-tutorial-v1.bk.docx diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/data/IMG_20210211_131445_452.jpg b/Java-Core-Tutorial/introduction-java-variable-function-main/data/IMG_20210211_131445_452.jpg similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/data/IMG_20210211_131445_452.jpg rename to Java-Core-Tutorial/introduction-java-variable-function-main/data/IMG_20210211_131445_452.jpg diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/data/IMG_20210211_131454_229.jpg b/Java-Core-Tutorial/introduction-java-variable-function-main/data/IMG_20210211_131454_229.jpg similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/data/IMG_20210211_131454_229.jpg rename to Java-Core-Tutorial/introduction-java-variable-function-main/data/IMG_20210211_131454_229.jpg diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/data/IMG_20210211_131459_098.jpg b/Java-Core-Tutorial/introduction-java-variable-function-main/data/IMG_20210211_131459_098.jpg similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/data/IMG_20210211_131459_098.jpg rename to Java-Core-Tutorial/introduction-java-variable-function-main/data/IMG_20210211_131459_098.jpg diff --git "a/Java-CoreTutorial/introduction-java-variable-function-main/data/Khong Minh M\341\272\241nhhhdhdhd.docx" "b/Java-Core-Tutorial/introduction-java-variable-function-main/data/Khong Minh M\341\272\241nhhhdhdhd.docx" similarity index 100% rename from "Java-CoreTutorial/introduction-java-variable-function-main/data/Khong Minh M\341\272\241nhhhdhdhd.docx" rename to "Java-Core-Tutorial/introduction-java-variable-function-main/data/Khong Minh M\341\272\241nhhhdhdhd.docx" diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/data/VID_20210211_181900_766.mp4 b/Java-Core-Tutorial/introduction-java-variable-function-main/data/VID_20210211_181900_766.mp4 similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/data/VID_20210211_181900_766.mp4 rename to Java-Core-Tutorial/introduction-java-variable-function-main/data/VID_20210211_181900_766.mp4 diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/data/Viettel Post-Hien Nguye.pdf b/Java-Core-Tutorial/introduction-java-variable-function-main/data/Viettel Post-Hien Nguye.pdf similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/data/Viettel Post-Hien Nguye.pdf rename to Java-Core-Tutorial/introduction-java-variable-function-main/data/Viettel Post-Hien Nguye.pdf diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/data/Viettel Post-Ho Thi Quy.pdf b/Java-Core-Tutorial/introduction-java-variable-function-main/data/Viettel Post-Ho Thi Quy.pdf similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/data/Viettel Post-Ho Thi Quy.pdf rename to Java-Core-Tutorial/introduction-java-variable-function-main/data/Viettel Post-Ho Thi Quy.pdf diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/data/dsdsdsdsdsdsdsdsdsdsdsd.pdf b/Java-Core-Tutorial/introduction-java-variable-function-main/data/dsdsdsdsdsdsdsdsdsdsdsd.pdf similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/data/dsdsdsdsdsdsdsdsdsdsdsd.pdf rename to Java-Core-Tutorial/introduction-java-variable-function-main/data/dsdsdsdsdsdsdsdsdsdsdsd.pdf diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/ExceptionExample.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/ExceptionExample.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/ExceptionExample.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/ExceptionExample.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/Person.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/Person.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/Person.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/Person.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/SwapDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/SwapDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/SwapDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/SwapDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/cash/Cash.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/cash/Cash.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/cash/Cash.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/cash/Cash.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/cash/CashDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/cash/CashDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/cash/CashDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit10/theory/cash/CashDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit11/readme.md b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit11/readme.md similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit11/readme.md rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit11/readme.md diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/HelloWorld.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/HelloWorld.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/HelloWorld.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/HelloWorld.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/JavaListSynchronized.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/JavaListSynchronized.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/JavaListSynchronized.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/JavaListSynchronized.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/JavaSynchronized.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/JavaSynchronized.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/JavaSynchronized.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/theory/JavaSynchronized.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Calculation.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Calculation.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Calculation.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Calculation.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/JavaSynchronized.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/JavaSynchronized.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/JavaSynchronized.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/JavaSynchronized.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Thread1.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Thread1.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Thread1.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Thread1.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Thread2.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Thread2.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Thread2.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/Thread2.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/ThreadDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/ThreadDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/ThreadDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadexample/ThreadDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadstring/StringBuilderStringBufferThread.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadstring/StringBuilderStringBufferThread.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadstring/StringBuilderStringBufferThread.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit12/threadstring/StringBuilderStringBufferThread.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/ForTest.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/ForTest.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/ForTest.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/ForTest.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/MainArray.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/MainArray.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/MainArray.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/MainArray.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/StringBuilderTest.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/StringBuilderTest.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/StringBuilderTest.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/StringBuilderTest.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/StringTest.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/StringTest.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/StringTest.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/StringTest.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/WhileTest.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/WhileTest.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/WhileTest.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/WhileTest.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit1.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit1.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit1.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit1.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit2.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit2.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit2.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit2.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit2ChuaBai.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit2ChuaBai.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit2ChuaBai.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit2ChuaBai.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit3.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit3.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit3.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit3.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit4.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit4.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit4.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit4.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit5.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit5.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit5.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit5.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit6.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit6.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit6.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit6.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit6_count_duplicate.JPG b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit6_count_duplicate.JPG similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit6_count_duplicate.JPG rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit2/exam/Unit6_count_duplicate.JPG diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/CollectionTest.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/CollectionTest.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/CollectionTest.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/CollectionTest.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/MapTest.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/MapTest.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/MapTest.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/MapTest.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/SetTest.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/SetTest.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/SetTest.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/SetTest.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit1.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit1.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit1.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit1.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit2.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit2.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit2.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit2.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit3.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit3.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit3.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit3.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit4.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit4.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit4.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit4.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit5.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit5.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit5.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit5.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit6.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit6.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit6.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit6.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit7.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit7.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit7.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit3/exam/Unit7.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/BaseFile.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/BaseFile.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/BaseFile.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/BaseFile.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileDoc.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileDoc.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileDoc.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileDoc.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileJPG.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileJPG.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileJPG.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileJPG.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileMain.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileMain.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileMain.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FileMain.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FilePDF.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FilePDF.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FilePDF.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/FilePDF.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/ShowInfo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/ShowInfo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/ShowInfo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/ShowInfo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/bai-tap-1.JPG b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/bai-tap-1.JPG similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/bai-tap-1.JPG rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/bai-tap-1.JPG diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/bai-tap-2.JPG b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/bai-tap-2.JPG similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/bai-tap-2.JPG rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/exam/bai-tap-2.JPG diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/Car.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/Car.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/Car.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/Car.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/CarMain.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/CarMain.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/CarMain.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/CarMain.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/ElectricCar.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/ElectricCar.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/ElectricCar.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/ElectricCar.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/CarMain.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/CarMain.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/CarMain.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/CarMain.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/UsingCar.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/UsingCar.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/UsingCar.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/UsingCar.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/sub/Car.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/sub/Car.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/sub/Car.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/modifierpackage/sub/Car.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book2.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book2.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book2.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book2.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book2Main.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book2Main.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book2Main.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/Book2Main.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/BookMain.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/BookMain.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/BookMain.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/singletonexample/BookMain.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/staticexample/Example1.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/staticexample/Example1.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/staticexample/Example1.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/staticexample/Example1.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/staticexample/Example2.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/staticexample/Example2.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/staticexample/Example2.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit5/theory/staticexample/Example2.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/BasicSort.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/BasicSort.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/BasicSort.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/BasicSort.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/Person.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/Person.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/Person.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/Person.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/SortObjectDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/SortObjectDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/SortObjectDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/SortObjectDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/SortObjectDemo2.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/SortObjectDemo2.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/SortObjectDemo2.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam/SortObjectDemo2.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/Order.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/Order.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/Order.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/Order.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/OrderManager.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/OrderManager.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/OrderManager.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/OrderManager.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/ParentOrder.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/ParentOrder.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/ParentOrder.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/ParentOrder.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/bai-tap-2.png b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/bai-tap-2.png similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/bai-tap-2.png rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/exam2/bai-tap-2.png diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/collectiondemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/collectiondemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/collectiondemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/collectiondemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/documents/Collection_architecture.txt b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/documents/Collection_architecture.txt similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/documents/Collection_architecture.txt rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/documents/Collection_architecture.txt diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/documents/Iterable_architecture.txt b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/documents/Iterable_architecture.txt similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/documents/Iterable_architecture.txt rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/documents/Iterable_architecture.txt diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/list/ListDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/list/ListDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/list/ListDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/list/ListDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/set/TreeSetDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/set/TreeSetDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/set/TreeSetDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/set/TreeSetDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/DistinctDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/DistinctDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/DistinctDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/DistinctDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/ElementSearch.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/ElementSearch.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/ElementSearch.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/ElementSearch.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/FilterDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/FilterDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/FilterDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/FilterDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/FlatMapDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/FlatMapDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/FlatMapDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/FlatMapDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/LambdaTest.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/LambdaTest.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/LambdaTest.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/LambdaTest.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/MaxMinDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/MaxMinDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/MaxMinDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/MaxMinDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/RemoveDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/RemoveDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/RemoveDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/RemoveDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/RemoveElementInList.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/RemoveElementInList.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/RemoveElementInList.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/RemoveElementInList.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/SortElementDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/SortElementDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/SortElementDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/SortElementDemo.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/SumDemo.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/SumDemo.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/SumDemo.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/SumDemo.class diff --git a/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/LambdaString.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/LambdaString.class new file mode 100644 index 0000000..4848273 Binary files /dev/null and b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/LambdaString.class differ diff --git a/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/ShowItem.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/ShowItem.class new file mode 100644 index 0000000..46f6e35 Binary files /dev/null and b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/ShowItem.class differ diff --git a/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/SoNguyenToLambda.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/SoNguyenToLambda.class new file mode 100644 index 0000000..e647e0c Binary files /dev/null and b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/SoNguyenToLambda.class differ diff --git a/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/StoreItem.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/StoreItem.class new file mode 100644 index 0000000..9d33b9f Binary files /dev/null and b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/StoreItem.class differ diff --git a/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/StringFunction.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/StringFunction.class new file mode 100644 index 0000000..f1c57ef Binary files /dev/null and b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/streamlambda/demolambda/StringFunction.class differ diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/threaddemo/ExecutorServiceMain.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/threaddemo/ExecutorServiceMain.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/threaddemo/ExecutorServiceMain.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/threaddemo/ExecutorServiceMain.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/threaddemo/ThreadMain.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/threaddemo/ThreadMain.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/threaddemo/ThreadMain.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/main/practice/unit9/theory/threaddemo/ThreadMain.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/test/HelloWorld.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/test/HelloWorld.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/test/HelloWorld.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/test/HelloWorld.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/test/ScanInput.class b/Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/test/ScanInput.class similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/test/ScanInput.class rename to Java-Core-Tutorial/introduction-java-variable-function-main/out/production/introduction-java-variable-function-main/test/ScanInput.class diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/ExceptionExample.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/ExceptionExample.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/ExceptionExample.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/ExceptionExample.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/SwapDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/SwapDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/SwapDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/SwapDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/cash/CashDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/cash/CashDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/cash/CashDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit10/theory/cash/CashDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit11/readme.md b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit11/readme.md similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit11/readme.md rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit11/readme.md diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/HelloWorld.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/HelloWorld.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/HelloWorld.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/HelloWorld.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/JavaListSynchronized.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/JavaListSynchronized.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/JavaListSynchronized.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/JavaListSynchronized.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/JavaSynchronized.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/JavaSynchronized.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/JavaSynchronized.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/theory/JavaSynchronized.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadexample/JavaSynchronized.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadexample/JavaSynchronized.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadexample/JavaSynchronized.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadexample/JavaSynchronized.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadexample/ThreadDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadexample/ThreadDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadexample/ThreadDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadexample/ThreadDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadstring/StringBuilderStringBufferThread.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadstring/StringBuilderStringBufferThread.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadstring/StringBuilderStringBufferThread.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit12/threadstring/StringBuilderStringBufferThread.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit13/theory/readme.md b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit13/theory/readme.md similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit13/theory/readme.md rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit13/theory/readme.md diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/ForTest.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/ForTest.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/ForTest.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/ForTest.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/MainArray.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/MainArray.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/MainArray.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/MainArray.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/StringBuilderTest.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/StringBuilderTest.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/StringBuilderTest.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/StringBuilderTest.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/StringTest.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/StringTest.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/StringTest.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/StringTest.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/WhileTest.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/WhileTest.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/WhileTest.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/WhileTest.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit1.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit1.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit1.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit1.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit2.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit2.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit2.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit2.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit2ChuaBai.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit2ChuaBai.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit2ChuaBai.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit2ChuaBai.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit3.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit3.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit3.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit3.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit4.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit4.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit4.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit4.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit5.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit5.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit5.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit5.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit6.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit6.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit6.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit6.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit6_count_duplicate.JPG b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit6_count_duplicate.JPG similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit6_count_duplicate.JPG rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit2/exam/Unit6_count_duplicate.JPG diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/CollectionTest.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/CollectionTest.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/CollectionTest.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/CollectionTest.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/MapTest.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/MapTest.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/MapTest.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/MapTest.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/SetTest.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/SetTest.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/SetTest.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/SetTest.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit1.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit1.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit1.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit1.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit2.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit2.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit2.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit2.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit3.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit3.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit3.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit3.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit4.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit4.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit4.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit4.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit5.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit5.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit5.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit5.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit6.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit6.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit6.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit6.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit7.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit7.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit7.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit3/exam/Unit7.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/BaseFile.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/BaseFile.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/BaseFile.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/BaseFile.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileDoc.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileDoc.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileDoc.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileDoc.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileJPG.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileJPG.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileJPG.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileJPG.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileMain.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileMain.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileMain.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FileMain.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FilePDF.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FilePDF.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FilePDF.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/FilePDF.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/ShowInfo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/ShowInfo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/ShowInfo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/ShowInfo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/bai-tap-1.JPG b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/bai-tap-1.JPG similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/bai-tap-1.JPG rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/bai-tap-1.JPG diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/bai-tap-2.JPG b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/bai-tap-2.JPG similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/bai-tap-2.JPG rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/exam/bai-tap-2.JPG diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/Car.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/Car.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/Car.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/Car.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/CarMain.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/CarMain.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/CarMain.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/CarMain.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/ElectricCar.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/ElectricCar.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/ElectricCar.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/ElectricCar.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/CarMain.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/CarMain.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/CarMain.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/CarMain.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/UsingCar.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/UsingCar.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/UsingCar.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/UsingCar.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/sub/Car.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/sub/Car.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/sub/Car.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/modifierpackage/sub/Car.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book2.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book2.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book2.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book2.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book2Main.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book2Main.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book2Main.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/Book2Main.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/BookMain.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/BookMain.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/BookMain.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/singletonexample/BookMain.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/staticexample/Example1.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/staticexample/Example1.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/staticexample/Example1.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/staticexample/Example1.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/staticexample/Example2.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/staticexample/Example2.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/staticexample/Example2.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit5/theory/staticexample/Example2.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/BasicSort.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/BasicSort.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/BasicSort.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/BasicSort.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/Person.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/Person.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/Person.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/Person.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/SortObjectDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/SortObjectDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/SortObjectDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/SortObjectDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/SortObjectDemo2.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/SortObjectDemo2.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/SortObjectDemo2.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam/SortObjectDemo2.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/Order.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/Order.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/Order.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/Order.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/OrderManager.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/OrderManager.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/OrderManager.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/OrderManager.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/ParentOrder.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/ParentOrder.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/ParentOrder.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/ParentOrder.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/bai-tap-2.png b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/bai-tap-2.png similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/bai-tap-2.png rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/exam2/bai-tap-2.png diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/collectiondemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/collectiondemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/collectiondemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/collectiondemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/documents/Collection_architecture.txt b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/documents/Collection_architecture.txt similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/documents/Collection_architecture.txt rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/documents/Collection_architecture.txt diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/documents/Iterable_architecture.txt b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/documents/Iterable_architecture.txt similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/documents/Iterable_architecture.txt rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/documents/Iterable_architecture.txt diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/list/ListDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/list/ListDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/list/ListDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/list/ListDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/set/TreeSetDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/set/TreeSetDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/set/TreeSetDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/set/TreeSetDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/DistinctDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/DistinctDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/DistinctDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/DistinctDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/ElementSearch.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/ElementSearch.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/ElementSearch.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/ElementSearch.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/FilterDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/FilterDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/FilterDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/FilterDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/FlatMapDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/FlatMapDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/FlatMapDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/FlatMapDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/LambdaTest.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/LambdaTest.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/LambdaTest.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/LambdaTest.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/MaxMinDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/MaxMinDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/MaxMinDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/MaxMinDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/RemoveDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/RemoveDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/RemoveDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/RemoveDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/RemoveElementInList.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/RemoveElementInList.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/RemoveElementInList.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/RemoveElementInList.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/SortElementDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/SortElementDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/SortElementDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/SortElementDemo.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/SumDemo.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/SumDemo.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/SumDemo.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/SumDemo.java diff --git a/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/LambdaString.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/LambdaString.java new file mode 100644 index 0000000..388ede7 --- /dev/null +++ b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/LambdaString.java @@ -0,0 +1,19 @@ +package main.practice.unit9.theory.streamlambda.demolambda; + +/** + * @author ManhKM on 2/24/2022 + * @project introduction-java-variable-function-main + */ +public class LambdaString { + public static void main(String[] args) { + StringFunction exclaim = (s) -> s + "!"; + StringFunction ask = (s) -> s + "?"; + printFormatted("Hello", exclaim); + printFormatted("Hello", ask); + } + + private static void printFormatted(String str, StringFunction format) { + String result = format.run(str); + System.out.println(result); + } +} diff --git a/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/ShowItem.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/ShowItem.java new file mode 100644 index 0000000..9350b81 --- /dev/null +++ b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/ShowItem.java @@ -0,0 +1,26 @@ +package main.practice.unit9.theory.streamlambda.demolambda; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ManhKM on 2/24/2022 + * @project introduction-java-variable-function-main + */ +public class ShowItem { + public static void main(String[] args) { + List numbers = new ArrayList(); + numbers.add(5); + numbers.add(3); + numbers.add(4); + numbers.add(9); + numbers.add(7); + numbers.add(8); + + // list all item in list: + System.out.println("Giá trị trong List: "); + numbers.forEach((n) -> { + System.out.print(n +", "); + }); + } +} diff --git a/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/SoNguyenToLambda.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/SoNguyenToLambda.java new file mode 100644 index 0000000..2a7fd71 --- /dev/null +++ b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/SoNguyenToLambda.java @@ -0,0 +1,20 @@ +package main.practice.unit9.theory.streamlambda.demolambda; + + +import java.util.stream.IntStream; + +/** + * @author ManhKM on 2/24/2022 + * @project introduction-java-variable-function-main + */ +public class SoNguyenToLambda { + public static void main(String[] args) { + System.out.println(isPrime(4)); + } + + private static boolean isPrime(int number){ + return number > 1 && IntStream.range(2, number).noneMatch( + index -> number % index == 0 + ); + } +} diff --git a/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/StoreItem.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/StoreItem.java new file mode 100644 index 0000000..7bb31f8 --- /dev/null +++ b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/StoreItem.java @@ -0,0 +1,27 @@ +package main.practice.unit9.theory.streamlambda.demolambda; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Consumer; + +/** + * @author ManhKM on 2/24/2022 + * @project introduction-java-variable-function-main + */ +public class StoreItem { + public static void main(String[] args) { + List numbers = new ArrayList(); + numbers.add(12); + numbers.add(14); + numbers.add(19); + numbers.add(11); + numbers.add(92); + numbers.add(1); + + Consumer consumer = (n) -> { + System.out.print(n + ", "); + }; + + numbers.forEach(consumer); + } +} diff --git a/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/StringFunction.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/StringFunction.java new file mode 100644 index 0000000..f33322d --- /dev/null +++ b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/streamlambda/demolambda/StringFunction.java @@ -0,0 +1,9 @@ +package main.practice.unit9.theory.streamlambda.demolambda; + +/** + * @author ManhKM on 2/24/2022 + * @project introduction-java-variable-function-main + */ +public interface StringFunction { + String run(String str); +} diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/threaddemo/ExecutorServiceMain.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/threaddemo/ExecutorServiceMain.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/threaddemo/ExecutorServiceMain.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/threaddemo/ExecutorServiceMain.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/threaddemo/ThreadMain.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/threaddemo/ThreadMain.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/threaddemo/ThreadMain.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/main/practice/unit9/theory/threaddemo/ThreadMain.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/test/HelloWorld.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/test/HelloWorld.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/test/HelloWorld.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/test/HelloWorld.java diff --git a/Java-CoreTutorial/introduction-java-variable-function-main/src/test/ScanInput.java b/Java-Core-Tutorial/introduction-java-variable-function-main/src/test/ScanInput.java similarity index 100% rename from Java-CoreTutorial/introduction-java-variable-function-main/src/test/ScanInput.java rename to Java-Core-Tutorial/introduction-java-variable-function-main/src/test/ScanInput.java diff --git a/Java-CoreTutorial/documents/~$va Core Tutorial v1.0.docx b/Java-CoreTutorial/documents/~$va Core Tutorial v1.0.docx deleted file mode 100644 index f5b891b..0000000 Binary files a/Java-CoreTutorial/documents/~$va Core Tutorial v1.0.docx and /dev/null differ diff --git a/Java-CoreTutorial/documents/~WRL3993.tmp b/Java-CoreTutorial/documents/~WRL3993.tmp deleted file mode 100644 index b7147dd..0000000 Binary files a/Java-CoreTutorial/documents/~WRL3993.tmp and /dev/null differ diff --git a/Java-DateTime/pom.xml b/Java-DateTime/pom.xml new file mode 100644 index 0000000..c0d4e51 --- /dev/null +++ b/Java-DateTime/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + com.core + Java-DateTime + 1.0-SNAPSHOT + + + 8 + 8 + + + \ No newline at end of file diff --git a/Java-DateTime/src/main/java/com/core/DateDemo.java b/Java-DateTime/src/main/java/com/core/DateDemo.java new file mode 100644 index 0000000..4295698 --- /dev/null +++ b/Java-DateTime/src/main/java/com/core/DateDemo.java @@ -0,0 +1,14 @@ +package com.core; + +import java.util.Date; + +public class DateDemo { + public static void main(String[] args) { + Date date1 = new Date(); + + long millis = System.currentTimeMillis(); + Date date2 = new Date(millis); + + + } +} diff --git a/Java-DateTime/src/main/java/com/core/DateVsCalendarDemo.java b/Java-DateTime/src/main/java/com/core/DateVsCalendarDemo.java new file mode 100644 index 0000000..473a240 --- /dev/null +++ b/Java-DateTime/src/main/java/com/core/DateVsCalendarDemo.java @@ -0,0 +1,2 @@ +package com.core;public class DateVsCalendarDemo { +} diff --git a/Java-DateTime/src/main/java/com/core/JobTimeDemo.java b/Java-DateTime/src/main/java/com/core/JobTimeDemo.java new file mode 100644 index 0000000..005de20 --- /dev/null +++ b/Java-DateTime/src/main/java/com/core/JobTimeDemo.java @@ -0,0 +1,32 @@ +package com.core; + +public class JobTimeDemo { + + private static int sum() { + int sum = 0; + for (int i = 0; i <= 10_000; i++) { + sum += i; + System.out.print(" >>> execute sum[" + i + "]"); + } + return sum; + } + + private static void doJob(int count) { + for (int i = 0; i < count; i++) { + System.out.println(">>> execute doJob[" + i + "]"); + sum(); + } + } + + public static void main(String[] args) { + long millis1 = System.currentTimeMillis(); + doJob(100_000_000); + + long millis2 = System.currentTimeMillis(); + + long distance = millis2 - millis1; + + System.out.println("Distance time in milli second: " + distance); + } + +} diff --git a/Java-DateTime/src/main/java/com/core/TimeUnitDemo.java b/Java-DateTime/src/main/java/com/core/TimeUnitDemo.java new file mode 100644 index 0000000..5f344c5 --- /dev/null +++ b/Java-DateTime/src/main/java/com/core/TimeUnitDemo.java @@ -0,0 +1,23 @@ +package com.core; + +import java.util.concurrent.TimeUnit; + +public class TimeUnitDemo { + public static void main(String[] args) { + int minute = 5; + int millisecond = minute * 60 * 1_000; + + // Sử dụng TimeUnit; + long millisecond2 = TimeUnit.MINUTES.toMillis(minute); + + System.out.println("Case 1: " + millisecond); + System.out.println("Case 2: " + millisecond2); + + // Chuyển đổi nano giây: + long nanos = TimeUnit.MINUTES.toNanos(minute); + System.out.println("Nanos: " + nanos); + + long hours = TimeUnit.MINUTES.toHours(minute); + System.out.println("Hours: " + hours); + } +} diff --git a/Java-Enum/readme.md b/Java-Enum/readme.md new file mode 100644 index 0000000..e252ced --- /dev/null +++ b/Java-Enum/readme.md @@ -0,0 +1 @@ +## Enum trong Java diff --git a/Java-Enum/src/com/core/baeldung/Element.java b/Java-Enum/src/com/core/baeldung/Element.java new file mode 100644 index 0000000..16f13a8 --- /dev/null +++ b/Java-Enum/src/com/core/baeldung/Element.java @@ -0,0 +1,40 @@ +package com.core.baeldung; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author ManhKM on 11/25/2022 + * @project Java-Enum + * ----- + * Element: Định nghĩa kiểu Enum chứa thông tin nhãn hóa học + * ??? Tại sao không có kiểu setter cho label này + * + * Tham khảo: https://www.baeldung.com/java-enum-values + */ +public enum Element { + H("Hydrogen"), HE("Helium"), LI("LI"), + BE("BE"), B("B"), C("C"); + + private static final Map BY_LABEL = new HashMap<>(); + + static { + for (Element e : values()){ + BY_LABEL.put(e.label, e); + } + } + + public final String label; + + Element(String label) { + this.label = label; + } + + public String getLabel() { + return label; + } + + public static Element valueOfLabel(String label){ + return BY_LABEL.get(label); + } +} diff --git a/Java-Enum/src/com/core/baeldung/MainEnumDemo.java b/Java-Enum/src/com/core/baeldung/MainEnumDemo.java new file mode 100644 index 0000000..6c35a7e --- /dev/null +++ b/Java-Enum/src/com/core/baeldung/MainEnumDemo.java @@ -0,0 +1,13 @@ +package com.core.baeldung; + +/** + * @author ManhKM on 11/25/2022 + * @project Java-Enum + */ +public class MainEnumDemo { + + public static void main(String[] args) { + System.out.println("Running Main EnumDemo: "); + System.out.println(Element.H.label); + } +} diff --git a/Java-Enum/src/com/core/demo/ApproveValueEnum.java b/Java-Enum/src/com/core/demo/ApproveValueEnum.java new file mode 100644 index 0000000..e6c5c10 --- /dev/null +++ b/Java-Enum/src/com/core/demo/ApproveValueEnum.java @@ -0,0 +1,13 @@ +package com.core.demo; + +/** + * @author ManhKM on 4/20/2022 + * @project Java-Enum + */ +public class ApproveValueEnum { + public static void main(String[] args) { + for (WeekDay d : WeekDay.values()) { + System.out.println(d); + } + } +} diff --git a/Java-Enum/src/com/core/demo/EnumExample.java b/Java-Enum/src/com/core/demo/EnumExample.java new file mode 100644 index 0000000..fe8804d --- /dev/null +++ b/Java-Enum/src/com/core/demo/EnumExample.java @@ -0,0 +1,16 @@ +package com.core.demo; + +/** + * @author ManhKM on 4/20/2022 + * @project Java-Enum + */ +public class EnumExample { + enum WeekDay { + MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; + } + + public static void main(String[] args) { + WeekDay d = WeekDay.MONDAY; + System.out.println("EnumExample: "+d); + } +} diff --git a/Java-Enum/src/com/core/demo/EnumExample3.java b/Java-Enum/src/com/core/demo/EnumExample3.java new file mode 100644 index 0000000..831ca58 --- /dev/null +++ b/Java-Enum/src/com/core/demo/EnumExample3.java @@ -0,0 +1,42 @@ +package com.core.demo; + +/** + * @author ManhKM on 4/20/2022 + * @project Java-Enum + */ +public class EnumExample3 { + enum WeekDay { + // Khởi tạo các phần tử từ construnctor + // Các phần tử này luôn là static final + MONDAY(2), TUESDAY(3), WEDNESDAY(4), THURSDAY(5), FRIDAY(7), SATURDAY(7), SUNDAY(1); + + private int value; + + // constructor này chỉ dùng trong nội bộ Enum + // Modifier của constructor enum luôn là private + // Nếu không khai báo private, java cũng sẽ hiểu là private. + WeekDay(int value) { + this.value = value; + } + + // Có thể viết một static method lấy ra WeekDay theo value. + public static WeekDay getWeekDayByValue(int value) { + for (WeekDay d : WeekDay.values()) { + if (d.value == value) { + return d; + } + } + return null; + } + } + + public static void main(String[] args) { + for (WeekDay d : WeekDay.values()) { + System.out.println(d + " = " + d.value); + } + + // Sử dụng static method của enum + WeekDay d = WeekDay.getWeekDayByValue(3); + System.out.println("value 3 is " + d); + } +} diff --git a/Java-Enum/src/com/core/demo/EnumExampleCallEnum.java b/Java-Enum/src/com/core/demo/EnumExampleCallEnum.java new file mode 100644 index 0000000..8c9d646 --- /dev/null +++ b/Java-Enum/src/com/core/demo/EnumExampleCallEnum.java @@ -0,0 +1,17 @@ +package com.core.demo; + +/** + * @author ManhKM on 4/20/2022 + * @project Java-Enum + * ----- + * WeekDay là một kiểu Enum lưu giá trị các ngày trong tuần + * Khi sử dụng lấy thông tin từ Enum ra ngoài: + * Enum_name.gia_tri + * + */ +public class EnumExampleCallEnum { + public static void main(String[] args) { + WeekDay d = WeekDay.MONDAY; + System.out.println("EnumExampleCallEnum: " + d); + } +} diff --git a/Java-Enum/src/com/core/demo/EnumExampleOuterClass.java b/Java-Enum/src/com/core/demo/EnumExampleOuterClass.java new file mode 100644 index 0000000..59ea863 --- /dev/null +++ b/Java-Enum/src/com/core/demo/EnumExampleOuterClass.java @@ -0,0 +1,13 @@ +///** +// * @author ManhKM on 4/20/2022 +// * @project Java-Enum +// */ +//enum WeekDay { // Không được khai báo access modifier (sử dụng default) +// MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; +//} +//public class EnumExampleOuterClass { +// public static void main(String[] args) { +// WeekDay d = WeekDay.MONDAY; +// System.out.println("EnumExampleOuterClass: "+d); +// } +//} diff --git a/Java-Enum/src/com/core/demo/WeekDay.java b/Java-Enum/src/com/core/demo/WeekDay.java new file mode 100644 index 0000000..4264e06 --- /dev/null +++ b/Java-Enum/src/com/core/demo/WeekDay.java @@ -0,0 +1,9 @@ +package com.core.demo; + +/** + * @author ManhKM on 4/20/2022 + * @project Java-Enum + */ +public enum WeekDay { + MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; +} diff --git a/Java-Exception/java-exception/out/production/java-exception/com/jindo/core/TestException.class b/Java-Exception/java-exception/out/production/java-exception/com/jindo/core/TestException.class new file mode 100644 index 0000000..ff10993 Binary files /dev/null and b/Java-Exception/java-exception/out/production/java-exception/com/jindo/core/TestException.class differ diff --git a/Java-Exception/java-exception/out/production/java-exception/com/jindo/core/customexception/IncorrectFileNameException.class b/Java-Exception/java-exception/out/production/java-exception/com/jindo/core/customexception/IncorrectFileNameException.class new file mode 100644 index 0000000..6984e30 Binary files /dev/null and b/Java-Exception/java-exception/out/production/java-exception/com/jindo/core/customexception/IncorrectFileNameException.class differ diff --git a/Java-Exception/java-exception/out/production/java-exception/com/jindo/core/customexception/TestCustomException.class b/Java-Exception/java-exception/out/production/java-exception/com/jindo/core/customexception/TestCustomException.class new file mode 100644 index 0000000..9f3c5ab Binary files /dev/null and b/Java-Exception/java-exception/out/production/java-exception/com/jindo/core/customexception/TestCustomException.class differ diff --git a/Java-Exception/java-exception/src/com/jindo/core/TestException.java b/Java-Exception/java-exception/src/com/jindo/core/TestException.java new file mode 100644 index 0000000..4ccea48 --- /dev/null +++ b/Java-Exception/java-exception/src/com/jindo/core/TestException.java @@ -0,0 +1,18 @@ +package com.jindo.core; + +/** + * @author ManhKM on 5/15/2022 + * @project java-exception + */ +public class TestException { + public static void main(String[] args) { + int x = 10; + int y = 0; + try { + System.out.println(x/y); + } catch (ArithmeticException e){ + System.out.println("Không thể thực hiện phép chia cho 0"); + } + System.out.println("-----> Exception in Java"); + } +} diff --git a/Java-Exception/java-exception/src/com/jindo/core/checked/ExceptionChildExample.java b/Java-Exception/java-exception/src/com/jindo/core/checked/ExceptionChildExample.java new file mode 100644 index 0000000..636e833 --- /dev/null +++ b/Java-Exception/java-exception/src/com/jindo/core/checked/ExceptionChildExample.java @@ -0,0 +1,7 @@ +package com.jindo.core.checked;/** + * Project: java-exception (>_<)/ + * Author: ManhKM as [ADMIN] + * Date-Time: 7/20/2023-6:31 AM + * Note: + */public class ExceptionChildExample { +} diff --git a/Java-Exception/java-exception/src/com/jindo/core/checked/Parent.java b/Java-Exception/java-exception/src/com/jindo/core/checked/Parent.java new file mode 100644 index 0000000..4a272fb --- /dev/null +++ b/Java-Exception/java-exception/src/com/jindo/core/checked/Parent.java @@ -0,0 +1,7 @@ +package com.jindo.core.checked;/** + * Project: java-exception (>_<)/ + * Author: ManhKM as [ADMIN] + * Date-Time: 7/20/2023-6:29 AM + * Note: + */public class Parent { +} diff --git a/Java-Exception/java-exception/src/com/jindo/core/checked/TestCheckedExceptionPropagation.java b/Java-Exception/java-exception/src/com/jindo/core/checked/TestCheckedExceptionPropagation.java new file mode 100644 index 0000000..d7a7673 --- /dev/null +++ b/Java-Exception/java-exception/src/com/jindo/core/checked/TestCheckedExceptionPropagation.java @@ -0,0 +1,35 @@ +package com.jindo.core.checked; + +import java.io.IOException; + +/** + * Project: java-exception (>_<)/ + * Author: ManhKM as [ADMIN] + * Date-Time: 7/19/2023-3:22 PM + * Note: Nếu cứ throws mãi mà không ai bắt thì sẽ gây lỗi chương trình + */ +public class TestCheckedExceptionPropagation { + + void m() throws IOException { + // Nếu không bắt Exception mà trả về throws thì n() phải bắt + throw new IOException("Device error/method m()"); + } + + void n() throws IOException { + m(); + } + + void p() { + try { + n(); + } catch (Exception e){ + System.out.println("Exception when execute method m(): " + e.getMessage()); + } + } + + public static void main(String[] args) { + TestCheckedExceptionPropagation obj = new TestCheckedExceptionPropagation(); + obj.p(); + System.out.println("normal flow"); + } +} diff --git a/Java-Exception/java-exception/src/com/jindo/core/customexception/CustomExceptionApplication.java b/Java-Exception/java-exception/src/com/jindo/core/customexception/CustomExceptionApplication.java new file mode 100644 index 0000000..b73137e --- /dev/null +++ b/Java-Exception/java-exception/src/com/jindo/core/customexception/CustomExceptionApplication.java @@ -0,0 +1,7 @@ +package com.jindo.core.customexception;/** + * Project: java-exception (>_<)/ + * Author: ManhKM as [ADMIN] + * Date-Time: 7/20/2023-6:19 AM + * Note: + */public class CustomExceptionApplication { +} diff --git a/Java-Exception/java-exception/src/com/jindo/core/customexception/IncorrectFileNameException.java b/Java-Exception/java-exception/src/com/jindo/core/customexception/IncorrectFileNameException.java new file mode 100644 index 0000000..40a3d77 --- /dev/null +++ b/Java-Exception/java-exception/src/com/jindo/core/customexception/IncorrectFileNameException.java @@ -0,0 +1,14 @@ +package com.jindo.core.customexception; + +/** + * @author ManhKM on 5/15/2022 + * @project java-exception + * ----- + * Khởi tạo một CustomException dùng cho mục đích xử lý các logic riêng + */ +public class IncorrectFileNameException extends Exception{ + + public IncorrectFileNameException(String errorMessage){ + super(errorMessage); + } +} diff --git a/Java-Exception/java-exception/src/com/jindo/core/customexception/InvalidAgeException.java b/Java-Exception/java-exception/src/com/jindo/core/customexception/InvalidAgeException.java new file mode 100644 index 0000000..16521b6 --- /dev/null +++ b/Java-Exception/java-exception/src/com/jindo/core/customexception/InvalidAgeException.java @@ -0,0 +1,7 @@ +package com.jindo.core.customexception;/** + * Project: java-exception (>_<)/ + * Author: ManhKM as [ADMIN] + * Date-Time: 7/20/2023-6:18 AM + * Note: + */public class InvalidAgeException { +} diff --git a/Java-Exception/java-exception/src/com/jindo/core/customexception/TestCustomException.java b/Java-Exception/java-exception/src/com/jindo/core/customexception/TestCustomException.java new file mode 100644 index 0000000..d7b2900 --- /dev/null +++ b/Java-Exception/java-exception/src/com/jindo/core/customexception/TestCustomException.java @@ -0,0 +1,19 @@ +package com.jindo.core.customexception; + +/** + * @author ManhKM on 5/15/2022 + * @project java-exception + */ +public class TestCustomException { + public static void main(String[] args) { + System.out.println("-----> Running TestCustomException...."); + String name = "abc1.txt"; + if(name != "abc.txt"){ + try { + throw new IncorrectFileNameException("Tên không chính xác: " + name); + } catch (IncorrectFileNameException e) { + e.printStackTrace(); + } + } + } +} diff --git a/Java-Exception/java-exception/src/com/jindo/core/unchecked/TestExceptionPropagation.java b/Java-Exception/java-exception/src/com/jindo/core/unchecked/TestExceptionPropagation.java new file mode 100644 index 0000000..0b39865 --- /dev/null +++ b/Java-Exception/java-exception/src/com/jindo/core/unchecked/TestExceptionPropagation.java @@ -0,0 +1,40 @@ +package com.jindo.core.unchecked; + +/** + * Project: java-exception (>_<)/ + * Author: ManhKM as [ADMIN] + * Date-Time: 7/19/2023-3:17 PM + * Note: Nếu ngoại lệ trong m() không được xử lý, nó sẽ lan truyền đến method n() -> nếu nó cũng không được xử lý nữa thì sẽ lan truyền đến method p() + */ +public class TestExceptionPropagation { + + void m() { + try { + int data = 50 / 0; + } catch (Exception e){ + System.out.println("Exception Handled in m() method"); + } + } + + void n() { + try { + m(); + } catch (Exception e) { + System.out.println("Exception Handled in n() method"); + } + } + + void p() { + try { + n(); + } catch (Exception e) { + System.out.println("Exception Handled in p() method"); + } + } + + public static void main(String[] args) { + TestExceptionPropagation obj = new TestExceptionPropagation(); + obj.p(); + System.out.println("normal flow..."); + } +} diff --git a/Java-Exception/java-exception/src/com/jindo/core/unchecked/ThrowsExceptionExample.java b/Java-Exception/java-exception/src/com/jindo/core/unchecked/ThrowsExceptionExample.java new file mode 100644 index 0000000..2fc8a0e --- /dev/null +++ b/Java-Exception/java-exception/src/com/jindo/core/unchecked/ThrowsExceptionExample.java @@ -0,0 +1,7 @@ +package com.jindo.core.unchecked;/** + * Project: java-exception (>_<)/ + * Author: ManhKM as [ADMIN] + * Date-Time: 7/19/2023-3:27 PM + * Note: + */public class ThrowsExceptionExample { +} diff --git a/Java-Exception/readme.md b/Java-Exception/readme.md new file mode 100644 index 0000000..39a03f4 --- /dev/null +++ b/Java-Exception/readme.md @@ -0,0 +1,8 @@ +## Java Exception + +* Tự custom Exception trong Java +* Các loại Exception thông dụng trong Java + + +## Reference Document + diff --git a/Java-Executor/java-executor-tutorial/.gitignore b/Java-Executor/java-executor-tutorial/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/Java-Executor/java-executor-tutorial/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/Java-Executor/java-executor-tutorial/.mvn/wrapper/maven-wrapper.jar b/Java-Executor/java-executor-tutorial/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000..bf82ff0 Binary files /dev/null and b/Java-Executor/java-executor-tutorial/.mvn/wrapper/maven-wrapper.jar differ diff --git a/Java-Executor/java-executor-tutorial/.mvn/wrapper/maven-wrapper.properties b/Java-Executor/java-executor-tutorial/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..ca5ab4b --- /dev/null +++ b/Java-Executor/java-executor-tutorial/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.7/apache-maven-3.8.7-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar diff --git a/Java-Executor/java-executor-tutorial/config/application.yml b/Java-Executor/java-executor-tutorial/config/application.yml new file mode 100644 index 0000000..c946730 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/config/application.yml @@ -0,0 +1,8 @@ +server: + port: 8081 +app: + executor: + core-pool-size: 10 + max-pool-size: 20 + queue-capacity: 100 + name-prefix: CustomerReader- diff --git a/Java-Executor/java-executor-tutorial/data/customer-data - Copy (2).txt b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (2).txt new file mode 100644 index 0000000..d36e8c7 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (2).txt @@ -0,0 +1,5000 @@ +1,omnis,adipisci,1 +2,ullam,ratione,2 +3,iusto,laborum,3 +4,animi,porro,4 +5,est,quod,5 +6,nemo,consequatur,6 +7,inventore,harum,7 +8,quidem,sed,8 +9,nostrum,distinctio,9 +10,est,sint,10 +11,fugiat,facilis,11 +12,architecto,molestiae,12 +13,qui,perspiciatis,13 +14,rerum,omnis,14 +15,rerum,quia,15 +16,non,sunt,16 +17,beatae,illo,17 +18,modi,quia,18 +19,aut,harum,19 +20,ratione,est,20 +21,molestias,aliquid,21 +22,autem,qui,22 +23,consectetur,eos,23 +24,omnis,dolorem,24 +25,consequatur,nam,25 +26,quis,suscipit,26 +27,nihil,et,27 +28,rerum,qui,28 +29,occaecati,eligendi,29 +30,exercitationem,voluptas,30 +31,suscipit,quibusdam,31 +32,blanditiis,qui,32 +33,quo,reiciendis,33 +34,quo,nesciunt,34 +35,aut,aut,35 +36,harum,est,36 +37,voluptas,est,37 +38,beatae,animi,38 +39,aut,a,39 +40,ut,sint,40 +41,voluptatem,non,41 +42,et,in,42 +43,officiis,rerum,43 +44,doloremque,in,44 +45,officiis,corporis,45 +46,sed,quia,46 +47,consequatur,qui,47 +48,quia,voluptates,48 +49,minima,omnis,49 +50,quasi,qui,50 +51,suscipit,incidunt,51 +52,ad,doloribus,52 +53,voluptate,accusantium,53 +54,praesentium,eveniet,54 +55,accusamus,at,55 +56,nihil,sed,56 +57,qui,iusto,57 +58,consequuntur,dolores,58 +59,occaecati,reprehenderit,59 +60,totam,quia,60 +61,qui,facilis,61 +62,quia,delectus,62 +63,sit,ab,63 +64,quo,iure,64 +65,rem,quis,65 +66,unde,sint,66 +67,nulla,eligendi,67 +68,in,itaque,68 +69,et,sed,69 +70,ullam,quia,70 +71,dolores,similique,71 +72,praesentium,reprehenderit,72 +73,officiis,occaecati,73 +74,eos,enim,74 +75,odit,aliquam,75 +76,modi,et,76 +77,architecto,non,77 +78,hic,dolor,78 +79,rerum,rerum,79 +80,nihil,laudantium,80 +81,quidem,beatae,81 +82,sint,repellendus,82 +83,nobis,aut,83 +84,ut,beatae,84 +85,molestiae,at,85 +86,dolor,voluptatem,86 +87,voluptates,aut,87 +88,fuga,laborum,88 +89,voluptas,dicta,89 +90,cum,temporibus,90 +91,nesciunt,rerum,91 +92,est,tempora,92 +93,ratione,ducimus,93 +94,eum,aut,94 +95,neque,quae,95 +96,dolore,sunt,96 +97,voluptas,quibusdam,97 +98,omnis,temporibus,98 +99,ipsa,delectus,99 +100,non,illum,100 +101,consequuntur,et,101 +102,non,eum,102 +103,enim,unde,103 +104,itaque,provident,104 +105,quod,nesciunt,105 +106,sed,non,106 +107,commodi,qui,107 +108,odio,soluta,108 +109,inventore,assumenda,109 +110,officia,in,110 +111,quis,dolorem,111 +112,harum,sed,112 +113,autem,reprehenderit,113 +114,consequatur,aut,114 +115,ab,sed,115 +116,porro,aut,116 +117,ut,ratione,117 +118,asperiores,dicta,118 +119,illum,enim,119 +120,possimus,quae,120 +121,quidem,repudiandae,121 +122,porro,quis,122 +123,molestiae,et,123 +124,cupiditate,pariatur,124 +125,nemo,quos,125 +126,praesentium,aut,126 +127,vel,illo,127 +128,molestias,cupiditate,128 +129,quis,sequi,129 +130,autem,nesciunt,130 +131,non,voluptas,131 +132,architecto,odit,132 +133,eum,pariatur,133 +134,necessitatibus,reprehenderit,134 +135,ea,eos,135 +136,omnis,sed,136 +137,nostrum,tempore,137 +138,doloremque,placeat,138 +139,alias,dolorem,139 +140,recusandae,et,140 +141,earum,perspiciatis,141 +142,est,magnam,142 +143,deleniti,magnam,143 +144,aut,numquam,144 +145,rerum,nemo,145 +146,delectus,mollitia,146 +147,alias,porro,147 +148,occaecati,mollitia,148 +149,recusandae,quisquam,149 +150,molestias,laborum,150 +151,tenetur,amet,151 +152,consequatur,ipsum,152 +153,minima,rerum,153 +154,natus,ullam,154 +155,ex,est,155 +156,dignissimos,voluptatem,156 +157,et,doloribus,157 +158,adipisci,dolor,158 +159,qui,optio,159 +160,veniam,soluta,160 +161,saepe,nobis,161 +162,facere,voluptas,162 +163,accusantium,ea,163 +164,reiciendis,porro,164 +165,quos,libero,165 +166,facere,debitis,166 +167,ab,accusamus,167 +168,beatae,suscipit,168 +169,atque,atque,169 +170,quod,ipsa,170 +171,hic,aut,171 +172,quas,delectus,172 +173,illum,vel,173 +174,odit,quia,174 +175,et,eum,175 +176,sunt,ipsa,176 +177,atque,voluptate,177 +178,autem,porro,178 +179,quis,nostrum,179 +180,natus,sint,180 +181,corrupti,sed,181 +182,exercitationem,dolorum,182 +183,et,dolores,183 +184,nisi,esse,184 +185,accusamus,ut,185 +186,quae,ratione,186 +187,tempora,ut,187 +188,et,magnam,188 +189,doloremque,et,189 +190,vel,sit,190 +191,tempora,dolore,191 +192,tempore,suscipit,192 +193,exercitationem,alias,193 +194,magnam,similique,194 +195,ipsum,velit,195 +196,eos,consequatur,196 +197,vel,esse,197 +198,sed,placeat,198 +199,at,omnis,199 +200,amet,veritatis,200 +201,quod,cupiditate,201 +202,non,quo,202 +203,corporis,dignissimos,203 +204,autem,quis,204 +205,repellat,aut,205 +206,rerum,aut,206 +207,reiciendis,quia,207 +208,et,eligendi,208 +209,id,quia,209 +210,repudiandae,dolores,210 +211,fugit,similique,211 +212,placeat,iste,212 +213,delectus,commodi,213 +214,et,illum,214 +215,totam,in,215 +216,iure,qui,216 +217,dicta,voluptas,217 +218,qui,expedita,218 +219,facilis,ut,219 +220,omnis,consequatur,220 +221,praesentium,ea,221 +222,repellendus,rerum,222 +223,odit,voluptatum,223 +224,maiores,voluptas,224 +225,quo,ut,225 +226,voluptas,impedit,226 +227,explicabo,dolorem,227 +228,tempora,quidem,228 +229,id,a,229 +230,qui,suscipit,230 +231,officiis,omnis,231 +232,ipsam,odit,232 +233,totam,omnis,233 +234,molestiae,in,234 +235,blanditiis,dolorem,235 +236,a,pariatur,236 +237,doloribus,impedit,237 +238,non,ullam,238 +239,quis,error,239 +240,sapiente,omnis,240 +241,molestias,sit,241 +242,dolores,natus,242 +243,recusandae,cumque,243 +244,odit,est,244 +245,sed,voluptas,245 +246,molestiae,et,246 +247,molestiae,vero,247 +248,quo,laudantium,248 +249,similique,cum,249 +250,dolor,modi,250 +251,voluptas,officia,251 +252,amet,eum,252 +253,impedit,est,253 +254,culpa,eveniet,254 +255,quia,occaecati,255 +256,perferendis,animi,256 +257,ut,et,257 +258,atque,et,258 +259,et,voluptatum,259 +260,reprehenderit,unde,260 +261,facilis,qui,261 +262,sequi,hic,262 +263,natus,molestias,263 +264,et,blanditiis,264 +265,sed,dolor,265 +266,et,sint,266 +267,illo,consequuntur,267 +268,totam,eos,268 +269,magnam,ea,269 +270,facere,ut,270 +271,accusantium,et,271 +272,temporibus,rem,272 +273,debitis,rerum,273 +274,et,facilis,274 +275,quia,quia,275 +276,voluptatem,eum,276 +277,exercitationem,alias,277 +278,ullam,quod,278 +279,iusto,quis,279 +280,quis,quo,280 +281,fuga,modi,281 +282,placeat,fugiat,282 +283,quidem,sunt,283 +284,ut,veritatis,284 +285,nihil,et,285 +286,qui,enim,286 +287,et,sint,287 +288,repellat,dolorem,288 +289,quia,aut,289 +290,magnam,doloremque,290 +291,accusamus,explicabo,291 +292,aut,dolor,292 +293,harum,exercitationem,293 +294,earum,sed,294 +295,repellat,vel,295 +296,laudantium,molestiae,296 +297,deserunt,omnis,297 +298,nesciunt,dolor,298 +299,repudiandae,corrupti,299 +300,nesciunt,est,300 +301,delectus,voluptas,301 +302,ut,cum,302 +303,et,rem,303 +304,doloremque,illo,304 +305,dignissimos,omnis,305 +306,nisi,in,306 +307,facilis,quo,307 +308,enim,est,308 +309,veritatis,veniam,309 +310,modi,dolore,310 +311,amet,quasi,311 +312,quibusdam,et,312 +313,nulla,occaecati,313 +314,eum,doloribus,314 +315,doloribus,labore,315 +316,numquam,repudiandae,316 +317,porro,nobis,317 +318,quia,rem,318 +319,sit,eum,319 +320,aliquid,consequatur,320 +321,officia,qui,321 +322,consequuntur,itaque,322 +323,et,vel,323 +324,ea,et,324 +325,omnis,voluptatum,325 +326,quia,id,326 +327,quos,et,327 +328,nobis,ut,328 +329,voluptas,unde,329 +330,et,voluptate,330 +331,ratione,dolor,331 +332,sed,ducimus,332 +333,dolorem,nostrum,333 +334,sint,laboriosam,334 +335,aspernatur,at,335 +336,officia,sed,336 +337,et,molestias,337 +338,facilis,ad,338 +339,et,neque,339 +340,quas,provident,340 +341,animi,quos,341 +342,tenetur,repellat,342 +343,dolores,esse,343 +344,porro,dolorem,344 +345,voluptatum,minima,345 +346,reprehenderit,voluptatem,346 +347,et,ut,347 +348,id,et,348 +349,aliquid,animi,349 +350,odio,minima,350 +351,cum,quae,351 +352,adipisci,eligendi,352 +353,qui,modi,353 +354,autem,vel,354 +355,temporibus,recusandae,355 +356,aut,assumenda,356 +357,et,consequuntur,357 +358,quas,molestias,358 +359,voluptates,dolores,359 +360,deserunt,ut,360 +361,est,incidunt,361 +362,accusamus,sed,362 +363,ut,commodi,363 +364,qui,vitae,364 +365,rerum,beatae,365 +366,perspiciatis,ipsa,366 +367,dolorem,esse,367 +368,asperiores,aut,368 +369,unde,saepe,369 +370,qui,labore,370 +371,natus,corporis,371 +372,ipsum,consequatur,372 +373,est,quos,373 +374,mollitia,aperiam,374 +375,non,dolorum,375 +376,tenetur,est,376 +377,aut,ut,377 +378,aut,neque,378 +379,accusantium,ex,379 +380,vel,impedit,380 +381,blanditiis,ea,381 +382,sint,debitis,382 +383,earum,velit,383 +384,et,tenetur,384 +385,omnis,ipsa,385 +386,magnam,ipsum,386 +387,sint,ipsam,387 +388,sit,aut,388 +389,aliquam,consequuntur,389 +390,ut,hic,390 +391,dolorem,nihil,391 +392,minima,sint,392 +393,soluta,rerum,393 +394,adipisci,perspiciatis,394 +395,et,qui,395 +396,in,voluptas,396 +397,est,nobis,397 +398,dolore,eum,398 +399,veniam,dolores,399 +400,et,eos,400 +401,earum,dolorem,401 +402,repellendus,id,402 +403,dolor,esse,403 +404,inventore,doloremque,404 +405,quas,soluta,405 +406,fuga,consectetur,406 +407,dignissimos,in,407 +408,consectetur,dolores,408 +409,non,autem,409 +410,modi,cumque,410 +411,cum,totam,411 +412,quam,ipsam,412 +413,ipsum,soluta,413 +414,expedita,consectetur,414 +415,quo,voluptatibus,415 +416,autem,quas,416 +417,et,cum,417 +418,unde,et,418 +419,alias,perferendis,419 +420,qui,praesentium,420 +421,vel,dolor,421 +422,provident,pariatur,422 +423,est,omnis,423 +424,quaerat,adipisci,424 +425,quo,beatae,425 +426,dolor,omnis,426 +427,aut,velit,427 +428,possimus,animi,428 +429,quis,maiores,429 +430,libero,et,430 +431,in,quis,431 +432,id,dignissimos,432 +433,officiis,similique,433 +434,asperiores,est,434 +435,et,nulla,435 +436,autem,veritatis,436 +437,et,eum,437 +438,et,at,438 +439,ipsam,sed,439 +440,quis,aut,440 +441,est,non,441 +442,exercitationem,corrupti,442 +443,repellendus,et,443 +444,deserunt,quibusdam,444 +445,est,sit,445 +446,veritatis,ab,446 +447,impedit,illum,447 +448,eos,aut,448 +449,atque,sequi,449 +450,eaque,cum,450 +451,aut,minima,451 +452,nostrum,animi,452 +453,quos,dignissimos,453 +454,perspiciatis,nostrum,454 +455,in,dolor,455 +456,aut,aperiam,456 +457,quia,autem,457 +458,non,reprehenderit,458 +459,nisi,minus,459 +460,libero,ratione,460 +461,dicta,sequi,461 +462,dolorum,enim,462 +463,dicta,quia,463 +464,non,itaque,464 +465,eum,accusantium,465 +466,ut,atque,466 +467,quibusdam,sit,467 +468,quidem,quo,468 +469,animi,et,469 +470,mollitia,commodi,470 +471,repudiandae,tempore,471 +472,non,exercitationem,472 +473,cum,quia,473 +474,sed,reprehenderit,474 +475,ducimus,sunt,475 +476,dignissimos,neque,476 +477,doloribus,eos,477 +478,perferendis,itaque,478 +479,sit,blanditiis,479 +480,earum,repellendus,480 +481,aut,et,481 +482,qui,assumenda,482 +483,ut,sunt,483 +484,aut,id,484 +485,ut,qui,485 +486,provident,quas,486 +487,blanditiis,laudantium,487 +488,sit,fugit,488 +489,quo,molestias,489 +490,modi,suscipit,490 +491,ut,et,491 +492,corrupti,cumque,492 +493,neque,dolorem,493 +494,quod,est,494 +495,aut,ut,495 +496,rerum,impedit,496 +497,saepe,odio,497 +498,nihil,enim,498 +499,molestias,provident,499 +500,neque,maxime,500 +501,quisquam,possimus,501 +502,at,ut,502 +503,sed,esse,503 +504,ullam,dolorem,504 +505,nobis,quia,505 +506,quidem,incidunt,506 +507,harum,non,507 +508,voluptate,qui,508 +509,quod,expedita,509 +510,dolorum,qui,510 +511,neque,optio,511 +512,et,eos,512 +513,voluptatem,dolorum,513 +514,blanditiis,totam,514 +515,et,amet,515 +516,assumenda,repudiandae,516 +517,sit,ex,517 +518,id,omnis,518 +519,a,est,519 +520,deleniti,optio,520 +521,nemo,rerum,521 +522,minima,quae,522 +523,quis,mollitia,523 +524,a,doloremque,524 +525,tempora,consectetur,525 +526,tempora,incidunt,526 +527,aspernatur,facilis,527 +528,consequatur,numquam,528 +529,ipsam,qui,529 +530,pariatur,aperiam,530 +531,laudantium,aliquam,531 +532,qui,voluptas,532 +533,et,optio,533 +534,officia,sapiente,534 +535,corporis,quae,535 +536,quia,nobis,536 +537,magni,cum,537 +538,eos,vel,538 +539,possimus,necessitatibus,539 +540,qui,modi,540 +541,in,necessitatibus,541 +542,velit,iusto,542 +543,ipsa,excepturi,543 +544,quisquam,rem,544 +545,sunt,voluptatem,545 +546,nesciunt,nulla,546 +547,aut,reprehenderit,547 +548,ut,modi,548 +549,natus,officiis,549 +550,ducimus,aut,550 +551,id,nihil,551 +552,error,ducimus,552 +553,vel,rerum,553 +554,dolorum,distinctio,554 +555,dolorum,officia,555 +556,voluptas,expedita,556 +557,non,et,557 +558,porro,voluptas,558 +559,omnis,sit,559 +560,hic,rerum,560 +561,rerum,voluptas,561 +562,vel,aliquam,562 +563,delectus,inventore,563 +564,consequatur,commodi,564 +565,est,ex,565 +566,et,sed,566 +567,qui,quo,567 +568,voluptas,aut,568 +569,enim,similique,569 +570,qui,eos,570 +571,ut,repudiandae,571 +572,sint,dignissimos,572 +573,ea,est,573 +574,asperiores,voluptatem,574 +575,dolores,ut,575 +576,excepturi,molestiae,576 +577,tempora,et,577 +578,expedita,nulla,578 +579,odio,at,579 +580,perferendis,enim,580 +581,nisi,at,581 +582,earum,ex,582 +583,omnis,voluptate,583 +584,molestiae,rerum,584 +585,consequuntur,odio,585 +586,odio,nulla,586 +587,dolorem,autem,587 +588,necessitatibus,et,588 +589,et,consequatur,589 +590,dignissimos,nemo,590 +591,culpa,quia,591 +592,voluptatem,aspernatur,592 +593,quo,saepe,593 +594,vel,quod,594 +595,temporibus,dolor,595 +596,eum,aliquid,596 +597,enim,omnis,597 +598,omnis,veritatis,598 +599,quo,quae,599 +600,ex,ullam,600 +601,sed,atque,601 +602,esse,sit,602 +603,eligendi,non,603 +604,inventore,esse,604 +605,non,omnis,605 +606,error,nostrum,606 +607,porro,modi,607 +608,omnis,quia,608 +609,omnis,unde,609 +610,minus,eveniet,610 +611,pariatur,a,611 +612,a,recusandae,612 +613,tempora,nulla,613 +614,corporis,velit,614 +615,et,molestiae,615 +616,in,temporibus,616 +617,qui,placeat,617 +618,est,quia,618 +619,consequatur,sequi,619 +620,non,et,620 +621,animi,a,621 +622,quidem,molestiae,622 +623,deleniti,harum,623 +624,nemo,nam,624 +625,et,quos,625 +626,blanditiis,alias,626 +627,rem,optio,627 +628,similique,unde,628 +629,iusto,odit,629 +630,architecto,rem,630 +631,veniam,pariatur,631 +632,debitis,quis,632 +633,odit,nobis,633 +634,consequatur,ipsum,634 +635,neque,ad,635 +636,doloribus,sint,636 +637,beatae,reiciendis,637 +638,quos,sit,638 +639,vero,eos,639 +640,excepturi,autem,640 +641,est,omnis,641 +642,nobis,voluptatibus,642 +643,consectetur,eum,643 +644,ab,sed,644 +645,ea,in,645 +646,corporis,sapiente,646 +647,tempora,recusandae,647 +648,expedita,itaque,648 +649,quis,exercitationem,649 +650,ut,est,650 +651,eum,quo,651 +652,qui,odit,652 +653,velit,et,653 +654,modi,minus,654 +655,quisquam,quos,655 +656,ut,molestiae,656 +657,consequatur,occaecati,657 +658,architecto,aut,658 +659,impedit,error,659 +660,voluptatem,aliquid,660 +661,perspiciatis,unde,661 +662,corrupti,aut,662 +663,voluptatem,eaque,663 +664,ut,facilis,664 +665,perspiciatis,similique,665 +666,aut,sed,666 +667,ea,ut,667 +668,magnam,quia,668 +669,eius,et,669 +670,ad,rerum,670 +671,sunt,ut,671 +672,ab,nemo,672 +673,voluptatem,dolores,673 +674,unde,saepe,674 +675,blanditiis,quibusdam,675 +676,alias,est,676 +677,eum,consequatur,677 +678,aut,velit,678 +679,repellendus,architecto,679 +680,voluptas,corrupti,680 +681,quod,maiores,681 +682,sit,et,682 +683,odit,harum,683 +684,molestiae,ex,684 +685,modi,ut,685 +686,non,asperiores,686 +687,officiis,odio,687 +688,repudiandae,iure,688 +689,aliquid,quaerat,689 +690,cumque,rerum,690 +691,facilis,sed,691 +692,ipsam,nobis,692 +693,dolor,mollitia,693 +694,soluta,necessitatibus,694 +695,voluptatibus,possimus,695 +696,non,doloremque,696 +697,sed,odio,697 +698,incidunt,fugiat,698 +699,ducimus,quis,699 +700,et,consequatur,700 +701,unde,non,701 +702,placeat,ratione,702 +703,vel,odio,703 +704,qui,tenetur,704 +705,id,similique,705 +706,voluptatem,facilis,706 +707,fuga,a,707 +708,ex,deserunt,708 +709,mollitia,laborum,709 +710,natus,quibusdam,710 +711,beatae,et,711 +712,voluptatem,non,712 +713,vel,laboriosam,713 +714,suscipit,distinctio,714 +715,et,rerum,715 +716,debitis,facere,716 +717,voluptatibus,id,717 +718,voluptatum,vitae,718 +719,velit,odio,719 +720,aspernatur,est,720 +721,laudantium,id,721 +722,esse,et,722 +723,saepe,debitis,723 +724,esse,explicabo,724 +725,ut,dolore,725 +726,excepturi,quia,726 +727,voluptas,ut,727 +728,voluptas,debitis,728 +729,dolor,consectetur,729 +730,sapiente,ut,730 +731,alias,in,731 +732,dolorem,at,732 +733,laborum,sed,733 +734,voluptatibus,non,734 +735,minus,soluta,735 +736,dolores,vero,736 +737,nihil,aut,737 +738,facilis,adipisci,738 +739,qui,voluptatem,739 +740,autem,aut,740 +741,voluptatem,atque,741 +742,voluptatibus,aspernatur,742 +743,repellendus,dolorem,743 +744,voluptatum,fugit,744 +745,quod,ut,745 +746,reprehenderit,quo,746 +747,totam,ut,747 +748,ex,quisquam,748 +749,reprehenderit,blanditiis,749 +750,sed,labore,750 +751,ut,est,751 +752,repellendus,nam,752 +753,quia,voluptas,753 +754,sit,a,754 +755,perferendis,nostrum,755 +756,nihil,fuga,756 +757,doloribus,et,757 +758,ipsam,velit,758 +759,rem,veniam,759 +760,fuga,possimus,760 +761,incidunt,sint,761 +762,vero,rerum,762 +763,ad,assumenda,763 +764,praesentium,exercitationem,764 +765,ut,reprehenderit,765 +766,id,quia,766 +767,doloribus,iure,767 +768,deleniti,quia,768 +769,pariatur,sit,769 +770,molestias,unde,770 +771,sint,enim,771 +772,amet,beatae,772 +773,commodi,dolores,773 +774,omnis,consectetur,774 +775,dignissimos,perspiciatis,775 +776,deserunt,aut,776 +777,doloremque,ipsam,777 +778,aut,et,778 +779,a,quibusdam,779 +780,vero,quasi,780 +781,et,officia,781 +782,accusamus,et,782 +783,explicabo,voluptas,783 +784,autem,fugit,784 +785,non,cumque,785 +786,et,est,786 +787,laborum,facere,787 +788,et,facilis,788 +789,consequatur,aut,789 +790,voluptas,quisquam,790 +791,tempore,veritatis,791 +792,quos,deserunt,792 +793,modi,accusantium,793 +794,pariatur,ea,794 +795,ducimus,voluptas,795 +796,sed,et,796 +797,nostrum,nemo,797 +798,enim,vel,798 +799,eum,cupiditate,799 +800,et,ab,800 +801,aut,amet,801 +802,et,non,802 +803,eaque,blanditiis,803 +804,veniam,dolorum,804 +805,dolorum,necessitatibus,805 +806,delectus,sit,806 +807,et,nisi,807 +808,quasi,architecto,808 +809,ut,nisi,809 +810,minima,a,810 +811,quam,soluta,811 +812,ratione,rerum,812 +813,fugit,iure,813 +814,temporibus,distinctio,814 +815,quas,ea,815 +816,mollitia,harum,816 +817,temporibus,quis,817 +818,consequatur,ea,818 +819,beatae,laudantium,819 +820,adipisci,vero,820 +821,eum,consequuntur,821 +822,voluptatibus,perspiciatis,822 +823,quisquam,excepturi,823 +824,sequi,quia,824 +825,et,sequi,825 +826,ab,iste,826 +827,fugit,explicabo,827 +828,voluptatem,rerum,828 +829,aut,illum,829 +830,voluptas,consectetur,830 +831,omnis,sed,831 +832,est,asperiores,832 +833,sapiente,ipsum,833 +834,quam,eum,834 +835,ex,provident,835 +836,temporibus,dolorem,836 +837,labore,explicabo,837 +838,quas,nobis,838 +839,doloremque,sed,839 +840,consequatur,et,840 +841,et,distinctio,841 +842,sit,consectetur,842 +843,dolores,fugiat,843 +844,et,delectus,844 +845,sint,voluptatem,845 +846,voluptates,quod,846 +847,eos,iure,847 +848,blanditiis,vitae,848 +849,a,aut,849 +850,molestiae,incidunt,850 +851,maiores,corporis,851 +852,numquam,maiores,852 +853,dicta,quis,853 +854,porro,non,854 +855,corrupti,ut,855 +856,non,ducimus,856 +857,aliquam,autem,857 +858,non,exercitationem,858 +859,praesentium,dolorem,859 +860,possimus,provident,860 +861,rem,fuga,861 +862,ut,cupiditate,862 +863,ut,est,863 +864,voluptas,eius,864 +865,quia,labore,865 +866,voluptatem,officia,866 +867,alias,enim,867 +868,qui,adipisci,868 +869,molestiae,recusandae,869 +870,unde,dolorem,870 +871,cumque,est,871 +872,consequuntur,expedita,872 +873,autem,commodi,873 +874,dolorum,doloremque,874 +875,quos,animi,875 +876,qui,quos,876 +877,sunt,expedita,877 +878,voluptas,voluptatum,878 +879,magni,aut,879 +880,aspernatur,assumenda,880 +881,est,et,881 +882,ab,eius,882 +883,iusto,saepe,883 +884,asperiores,beatae,884 +885,nulla,et,885 +886,perferendis,labore,886 +887,laboriosam,sunt,887 +888,architecto,beatae,888 +889,aliquid,cumque,889 +890,libero,doloremque,890 +891,esse,et,891 +892,dolore,ipsa,892 +893,sint,ab,893 +894,ut,eos,894 +895,cumque,optio,895 +896,voluptatem,non,896 +897,velit,delectus,897 +898,beatae,temporibus,898 +899,sit,labore,899 +900,aut,et,900 +901,ipsam,ut,901 +902,et,in,902 +903,dolorem,dolorem,903 +904,ipsa,quidem,904 +905,ex,fugiat,905 +906,suscipit,quibusdam,906 +907,magni,aliquid,907 +908,itaque,laborum,908 +909,molestiae,id,909 +910,molestias,tempore,910 +911,ipsum,sed,911 +912,aut,possimus,912 +913,error,architecto,913 +914,eos,excepturi,914 +915,sed,ad,915 +916,blanditiis,sit,916 +917,odio,ipsam,917 +918,repellendus,sit,918 +919,ut,amet,919 +920,asperiores,incidunt,920 +921,voluptatem,dolore,921 +922,aspernatur,sed,922 +923,facere,et,923 +924,rerum,provident,924 +925,quos,eius,925 +926,voluptates,nisi,926 +927,aut,aut,927 +928,dolorem,sit,928 +929,et,qui,929 +930,temporibus,qui,930 +931,unde,labore,931 +932,nulla,beatae,932 +933,totam,velit,933 +934,blanditiis,et,934 +935,fugiat,exercitationem,935 +936,tempore,inventore,936 +937,molestiae,sed,937 +938,ipsum,delectus,938 +939,officiis,consectetur,939 +940,iusto,omnis,940 +941,enim,iure,941 +942,a,atque,942 +943,doloribus,impedit,943 +944,aut,velit,944 +945,dolore,amet,945 +946,qui,tempora,946 +947,sed,asperiores,947 +948,vitae,a,948 +949,corporis,omnis,949 +950,quos,nobis,950 +951,qui,quia,951 +952,architecto,doloremque,952 +953,dicta,ut,953 +954,accusantium,deleniti,954 +955,numquam,consequuntur,955 +956,cum,repellat,956 +957,fuga,tempore,957 +958,est,ut,958 +959,ipsum,in,959 +960,veniam,accusamus,960 +961,iusto,necessitatibus,961 +962,placeat,dolore,962 +963,dicta,atque,963 +964,fuga,quibusdam,964 +965,et,aut,965 +966,minus,autem,966 +967,minus,est,967 +968,odit,perspiciatis,968 +969,nam,dolorem,969 +970,qui,magnam,970 +971,qui,eos,971 +972,voluptas,molestias,972 +973,sed,odit,973 +974,et,tempora,974 +975,quo,placeat,975 +976,accusamus,ipsum,976 +977,rerum,consequatur,977 +978,et,dolor,978 +979,debitis,commodi,979 +980,qui,architecto,980 +981,repudiandae,ullam,981 +982,temporibus,magnam,982 +983,illum,aliquam,983 +984,inventore,ex,984 +985,corrupti,porro,985 +986,odit,magni,986 +987,facere,quasi,987 +988,sapiente,dignissimos,988 +989,temporibus,eum,989 +990,maiores,quo,990 +991,voluptatem,et,991 +992,expedita,quo,992 +993,nostrum,eum,993 +994,in,ut,994 +995,libero,quam,995 +996,eos,deleniti,996 +997,molestiae,nesciunt,997 +998,quisquam,voluptas,998 +999,laudantium,tempora,999 +1000,similique,sequi,1000 +1001,eius,neque,1001 +1002,deleniti,iste,1002 +1003,velit,nisi,1003 +1004,repellendus,quia,1004 +1005,est,aut,1005 +1006,voluptatem,et,1006 +1007,laudantium,consequatur,1007 +1008,atque,doloribus,1008 +1009,saepe,ullam,1009 +1010,cumque,optio,1010 +1011,molestias,beatae,1011 +1012,nihil,facilis,1012 +1013,corporis,consequatur,1013 +1014,atque,reprehenderit,1014 +1015,vero,aliquam,1015 +1016,eos,cupiditate,1016 +1017,autem,adipisci,1017 +1018,qui,fugit,1018 +1019,dolore,unde,1019 +1020,tempore,rerum,1020 +1021,et,iste,1021 +1022,eum,et,1022 +1023,quasi,placeat,1023 +1024,ullam,ipsam,1024 +1025,saepe,tempora,1025 +1026,velit,ut,1026 +1027,qui,delectus,1027 +1028,deserunt,aperiam,1028 +1029,quam,tempora,1029 +1030,reiciendis,id,1030 +1031,nihil,repellendus,1031 +1032,vel,aut,1032 +1033,pariatur,eum,1033 +1034,quidem,quos,1034 +1035,omnis,consequatur,1035 +1036,qui,aut,1036 +1037,esse,id,1037 +1038,rerum,possimus,1038 +1039,ut,molestiae,1039 +1040,rem,occaecati,1040 +1041,odit,eligendi,1041 +1042,ut,nobis,1042 +1043,inventore,similique,1043 +1044,sed,cum,1044 +1045,eligendi,facilis,1045 +1046,id,quidem,1046 +1047,placeat,id,1047 +1048,voluptas,rem,1048 +1049,sit,sed,1049 +1050,aspernatur,at,1050 +1051,beatae,fugiat,1051 +1052,reprehenderit,omnis,1052 +1053,ipsam,aperiam,1053 +1054,veniam,iusto,1054 +1055,harum,et,1055 +1056,inventore,sequi,1056 +1057,nesciunt,atque,1057 +1058,facere,et,1058 +1059,dolores,et,1059 +1060,perferendis,amet,1060 +1061,consequatur,sunt,1061 +1062,non,tempore,1062 +1063,error,eum,1063 +1064,sit,omnis,1064 +1065,sit,sit,1065 +1066,maiores,possimus,1066 +1067,quasi,autem,1067 +1068,repudiandae,similique,1068 +1069,tempora,non,1069 +1070,neque,assumenda,1070 +1071,rerum,itaque,1071 +1072,sunt,error,1072 +1073,veritatis,officia,1073 +1074,culpa,cum,1074 +1075,soluta,fugit,1075 +1076,voluptates,culpa,1076 +1077,dolorum,doloremque,1077 +1078,explicabo,qui,1078 +1079,a,magni,1079 +1080,aut,molestiae,1080 +1081,fugit,quos,1081 +1082,voluptas,officia,1082 +1083,eos,qui,1083 +1084,libero,reprehenderit,1084 +1085,qui,ea,1085 +1086,doloremque,corrupti,1086 +1087,totam,saepe,1087 +1088,laboriosam,enim,1088 +1089,aut,et,1089 +1090,et,vero,1090 +1091,et,tempore,1091 +1092,sit,atque,1092 +1093,suscipit,et,1093 +1094,perspiciatis,et,1094 +1095,qui,non,1095 +1096,molestias,consequuntur,1096 +1097,dicta,rerum,1097 +1098,dolore,ea,1098 +1099,quo,vero,1099 +1100,dolor,rem,1100 +1101,pariatur,possimus,1101 +1102,et,quo,1102 +1103,culpa,consequuntur,1103 +1104,temporibus,earum,1104 +1105,est,vel,1105 +1106,est,rerum,1106 +1107,iure,nostrum,1107 +1108,soluta,culpa,1108 +1109,eum,quo,1109 +1110,dolorem,magnam,1110 +1111,eum,adipisci,1111 +1112,perspiciatis,eligendi,1112 +1113,molestias,praesentium,1113 +1114,optio,odit,1114 +1115,aliquam,dolores,1115 +1116,natus,perferendis,1116 +1117,animi,esse,1117 +1118,tenetur,consectetur,1118 +1119,sit,consequatur,1119 +1120,ut,qui,1120 +1121,aut,ad,1121 +1122,vel,a,1122 +1123,eaque,sit,1123 +1124,aut,dolores,1124 +1125,delectus,unde,1125 +1126,veniam,minima,1126 +1127,ipsam,adipisci,1127 +1128,asperiores,vel,1128 +1129,in,voluptatem,1129 +1130,ab,natus,1130 +1131,dolorum,minima,1131 +1132,dolorum,alias,1132 +1133,et,ipsam,1133 +1134,incidunt,veritatis,1134 +1135,aut,consequatur,1135 +1136,hic,quia,1136 +1137,quo,dolor,1137 +1138,ut,optio,1138 +1139,sit,recusandae,1139 +1140,temporibus,assumenda,1140 +1141,voluptas,sint,1141 +1142,reiciendis,fugiat,1142 +1143,sed,aut,1143 +1144,voluptatem,aut,1144 +1145,accusantium,maiores,1145 +1146,facere,et,1146 +1147,voluptatum,ut,1147 +1148,nam,asperiores,1148 +1149,in,doloremque,1149 +1150,quisquam,incidunt,1150 +1151,harum,hic,1151 +1152,distinctio,est,1152 +1153,laboriosam,deleniti,1153 +1154,consectetur,eius,1154 +1155,quis,architecto,1155 +1156,occaecati,et,1156 +1157,sint,et,1157 +1158,dolorum,fugit,1158 +1159,incidunt,in,1159 +1160,minima,quisquam,1160 +1161,quas,nam,1161 +1162,sed,ut,1162 +1163,reiciendis,et,1163 +1164,odio,commodi,1164 +1165,sunt,non,1165 +1166,animi,ut,1166 +1167,consectetur,laboriosam,1167 +1168,eos,tempore,1168 +1169,rem,occaecati,1169 +1170,facilis,hic,1170 +1171,nobis,libero,1171 +1172,quod,optio,1172 +1173,illo,aut,1173 +1174,nobis,consequatur,1174 +1175,earum,ut,1175 +1176,ipsam,vel,1176 +1177,suscipit,soluta,1177 +1178,a,dolorem,1178 +1179,dicta,sed,1179 +1180,aspernatur,quibusdam,1180 +1181,temporibus,necessitatibus,1181 +1182,unde,perferendis,1182 +1183,quibusdam,praesentium,1183 +1184,similique,optio,1184 +1185,exercitationem,et,1185 +1186,qui,officiis,1186 +1187,eum,et,1187 +1188,omnis,aperiam,1188 +1189,recusandae,enim,1189 +1190,perferendis,voluptatum,1190 +1191,ut,eum,1191 +1192,consectetur,sapiente,1192 +1193,autem,qui,1193 +1194,quis,assumenda,1194 +1195,ut,cupiditate,1195 +1196,quia,dolorem,1196 +1197,excepturi,in,1197 +1198,officiis,numquam,1198 +1199,possimus,delectus,1199 +1200,veniam,recusandae,1200 +1201,quos,id,1201 +1202,ratione,corporis,1202 +1203,alias,voluptates,1203 +1204,quia,quasi,1204 +1205,animi,soluta,1205 +1206,autem,laboriosam,1206 +1207,impedit,velit,1207 +1208,est,voluptatem,1208 +1209,ut,beatae,1209 +1210,quis,tempora,1210 +1211,placeat,assumenda,1211 +1212,libero,porro,1212 +1213,minima,veniam,1213 +1214,explicabo,sed,1214 +1215,illo,consequatur,1215 +1216,necessitatibus,in,1216 +1217,recusandae,aut,1217 +1218,dicta,eos,1218 +1219,maiores,qui,1219 +1220,eum,temporibus,1220 +1221,sit,libero,1221 +1222,aperiam,quia,1222 +1223,ut,est,1223 +1224,quo,qui,1224 +1225,velit,suscipit,1225 +1226,aut,qui,1226 +1227,culpa,omnis,1227 +1228,omnis,non,1228 +1229,dolore,non,1229 +1230,dolorem,quam,1230 +1231,voluptates,odio,1231 +1232,deserunt,non,1232 +1233,qui,deserunt,1233 +1234,debitis,ea,1234 +1235,accusamus,sed,1235 +1236,maiores,earum,1236 +1237,eum,vitae,1237 +1238,dolorem,maxime,1238 +1239,atque,officia,1239 +1240,rerum,sunt,1240 +1241,inventore,et,1241 +1242,sed,labore,1242 +1243,nulla,et,1243 +1244,neque,consectetur,1244 +1245,deleniti,assumenda,1245 +1246,assumenda,possimus,1246 +1247,deserunt,qui,1247 +1248,hic,et,1248 +1249,et,incidunt,1249 +1250,soluta,quos,1250 +1251,reprehenderit,natus,1251 +1252,omnis,in,1252 +1253,qui,libero,1253 +1254,occaecati,dolorem,1254 +1255,odio,rem,1255 +1256,tempora,temporibus,1256 +1257,quia,ut,1257 +1258,odit,et,1258 +1259,sapiente,optio,1259 +1260,aliquam,voluptatem,1260 +1261,dolorem,corrupti,1261 +1262,modi,necessitatibus,1262 +1263,sequi,doloremque,1263 +1264,voluptatum,dolorum,1264 +1265,sequi,quo,1265 +1266,reprehenderit,similique,1266 +1267,mollitia,molestias,1267 +1268,ut,vel,1268 +1269,quis,dolores,1269 +1270,nesciunt,consequatur,1270 +1271,praesentium,magni,1271 +1272,nemo,facilis,1272 +1273,molestiae,sint,1273 +1274,natus,est,1274 +1275,a,quibusdam,1275 +1276,sapiente,dignissimos,1276 +1277,sit,eaque,1277 +1278,possimus,illum,1278 +1279,ratione,assumenda,1279 +1280,fuga,quod,1280 +1281,quis,nam,1281 +1282,et,ut,1282 +1283,qui,accusantium,1283 +1284,molestias,aliquam,1284 +1285,ut,fugit,1285 +1286,nesciunt,dolor,1286 +1287,voluptatem,qui,1287 +1288,explicabo,iure,1288 +1289,ratione,itaque,1289 +1290,aut,non,1290 +1291,dolores,rerum,1291 +1292,nihil,dolore,1292 +1293,blanditiis,omnis,1293 +1294,in,dolor,1294 +1295,in,enim,1295 +1296,sed,repudiandae,1296 +1297,libero,delectus,1297 +1298,modi,voluptatum,1298 +1299,explicabo,impedit,1299 +1300,eum,accusantium,1300 +1301,dicta,expedita,1301 +1302,assumenda,eaque,1302 +1303,officia,necessitatibus,1303 +1304,doloremque,corrupti,1304 +1305,aut,minus,1305 +1306,aspernatur,ducimus,1306 +1307,voluptatem,deserunt,1307 +1308,quo,eum,1308 +1309,hic,ex,1309 +1310,perspiciatis,non,1310 +1311,dolore,exercitationem,1311 +1312,eligendi,itaque,1312 +1313,iure,enim,1313 +1314,nesciunt,molestias,1314 +1315,et,minima,1315 +1316,quae,et,1316 +1317,impedit,officiis,1317 +1318,dolor,at,1318 +1319,iste,ut,1319 +1320,qui,repudiandae,1320 +1321,veritatis,voluptatem,1321 +1322,ut,quis,1322 +1323,vitae,autem,1323 +1324,aliquid,quia,1324 +1325,voluptas,molestiae,1325 +1326,ratione,et,1326 +1327,architecto,et,1327 +1328,ut,occaecati,1328 +1329,nesciunt,omnis,1329 +1330,non,nihil,1330 +1331,repudiandae,consequuntur,1331 +1332,unde,animi,1332 +1333,dolorem,quis,1333 +1334,perspiciatis,culpa,1334 +1335,ratione,pariatur,1335 +1336,illo,porro,1336 +1337,veritatis,est,1337 +1338,eos,voluptates,1338 +1339,aut,reprehenderit,1339 +1340,est,corrupti,1340 +1341,doloremque,nulla,1341 +1342,sit,similique,1342 +1343,autem,ea,1343 +1344,ut,ex,1344 +1345,voluptas,qui,1345 +1346,ut,architecto,1346 +1347,aut,quisquam,1347 +1348,et,exercitationem,1348 +1349,quibusdam,ex,1349 +1350,dolores,ipsum,1350 +1351,recusandae,odit,1351 +1352,dignissimos,unde,1352 +1353,dolores,est,1353 +1354,ipsam,quibusdam,1354 +1355,repellat,eligendi,1355 +1356,atque,culpa,1356 +1357,hic,ipsum,1357 +1358,reprehenderit,aperiam,1358 +1359,fugiat,impedit,1359 +1360,quis,quasi,1360 +1361,officia,sequi,1361 +1362,architecto,recusandae,1362 +1363,labore,magnam,1363 +1364,reiciendis,qui,1364 +1365,non,ut,1365 +1366,omnis,et,1366 +1367,facere,ut,1367 +1368,est,odit,1368 +1369,ut,voluptatem,1369 +1370,excepturi,rerum,1370 +1371,amet,vitae,1371 +1372,sit,possimus,1372 +1373,debitis,ut,1373 +1374,eius,quas,1374 +1375,cum,fuga,1375 +1376,accusantium,impedit,1376 +1377,voluptate,totam,1377 +1378,molestias,aperiam,1378 +1379,aut,quasi,1379 +1380,nobis,laudantium,1380 +1381,quam,accusamus,1381 +1382,numquam,qui,1382 +1383,fugit,dolorem,1383 +1384,autem,est,1384 +1385,perferendis,harum,1385 +1386,quia,ea,1386 +1387,necessitatibus,explicabo,1387 +1388,voluptates,fuga,1388 +1389,consequatur,beatae,1389 +1390,aut,sed,1390 +1391,non,voluptatem,1391 +1392,culpa,dicta,1392 +1393,et,quasi,1393 +1394,ad,fuga,1394 +1395,quae,voluptates,1395 +1396,optio,est,1396 +1397,vel,perspiciatis,1397 +1398,enim,qui,1398 +1399,quae,ab,1399 +1400,aut,ut,1400 +1401,debitis,molestias,1401 +1402,sed,necessitatibus,1402 +1403,quo,labore,1403 +1404,minus,sunt,1404 +1405,rerum,assumenda,1405 +1406,voluptas,enim,1406 +1407,perferendis,minus,1407 +1408,sed,veritatis,1408 +1409,atque,ratione,1409 +1410,aut,voluptas,1410 +1411,qui,quod,1411 +1412,sit,voluptatem,1412 +1413,quam,ipsa,1413 +1414,excepturi,tenetur,1414 +1415,dolor,excepturi,1415 +1416,voluptate,repellendus,1416 +1417,et,ipsum,1417 +1418,ab,est,1418 +1419,accusantium,quia,1419 +1420,harum,asperiores,1420 +1421,praesentium,quaerat,1421 +1422,odit,veritatis,1422 +1423,qui,modi,1423 +1424,perferendis,quis,1424 +1425,iste,sunt,1425 +1426,omnis,explicabo,1426 +1427,ex,dolor,1427 +1428,maiores,veritatis,1428 +1429,optio,itaque,1429 +1430,beatae,praesentium,1430 +1431,ut,odio,1431 +1432,in,porro,1432 +1433,quos,exercitationem,1433 +1434,nihil,et,1434 +1435,quos,molestiae,1435 +1436,illum,quaerat,1436 +1437,dicta,tenetur,1437 +1438,ducimus,tenetur,1438 +1439,repudiandae,laudantium,1439 +1440,at,provident,1440 +1441,tempora,animi,1441 +1442,aut,voluptas,1442 +1443,ab,id,1443 +1444,rerum,ipsa,1444 +1445,quis,et,1445 +1446,odio,eum,1446 +1447,iure,sed,1447 +1448,rerum,dignissimos,1448 +1449,in,asperiores,1449 +1450,ratione,nobis,1450 +1451,distinctio,ipsa,1451 +1452,est,numquam,1452 +1453,ad,soluta,1453 +1454,quisquam,dolorem,1454 +1455,praesentium,quam,1455 +1456,sit,illum,1456 +1457,consequuntur,culpa,1457 +1458,inventore,accusantium,1458 +1459,id,aut,1459 +1460,rem,aliquid,1460 +1461,suscipit,esse,1461 +1462,exercitationem,praesentium,1462 +1463,maxime,sit,1463 +1464,culpa,repellendus,1464 +1465,quidem,voluptas,1465 +1466,repellendus,est,1466 +1467,fuga,occaecati,1467 +1468,magnam,iste,1468 +1469,aut,ad,1469 +1470,ea,iste,1470 +1471,aliquam,expedita,1471 +1472,expedita,id,1472 +1473,harum,itaque,1473 +1474,eum,iure,1474 +1475,mollitia,fuga,1475 +1476,earum,mollitia,1476 +1477,possimus,ad,1477 +1478,non,sint,1478 +1479,dolorem,nesciunt,1479 +1480,ut,minima,1480 +1481,nam,iure,1481 +1482,qui,rem,1482 +1483,sit,aliquam,1483 +1484,placeat,ipsa,1484 +1485,non,exercitationem,1485 +1486,doloribus,ullam,1486 +1487,fugit,blanditiis,1487 +1488,sed,quos,1488 +1489,sunt,qui,1489 +1490,a,assumenda,1490 +1491,doloribus,sint,1491 +1492,molestias,animi,1492 +1493,repellat,cum,1493 +1494,dicta,illo,1494 +1495,aut,laborum,1495 +1496,ex,quibusdam,1496 +1497,aut,quidem,1497 +1498,id,quos,1498 +1499,dolores,neque,1499 +1500,quam,aut,1500 +1501,aut,sit,1501 +1502,pariatur,ipsa,1502 +1503,excepturi,natus,1503 +1504,tenetur,minus,1504 +1505,ea,quam,1505 +1506,unde,in,1506 +1507,quasi,laudantium,1507 +1508,eum,nesciunt,1508 +1509,quis,sint,1509 +1510,id,aspernatur,1510 +1511,sapiente,ducimus,1511 +1512,saepe,pariatur,1512 +1513,amet,rerum,1513 +1514,numquam,nobis,1514 +1515,voluptatum,numquam,1515 +1516,in,quia,1516 +1517,quia,perferendis,1517 +1518,necessitatibus,qui,1518 +1519,asperiores,et,1519 +1520,eaque,est,1520 +1521,assumenda,pariatur,1521 +1522,ipsam,id,1522 +1523,et,quia,1523 +1524,possimus,asperiores,1524 +1525,quo,quia,1525 +1526,quia,omnis,1526 +1527,assumenda,recusandae,1527 +1528,quia,ut,1528 +1529,exercitationem,est,1529 +1530,velit,exercitationem,1530 +1531,illum,nihil,1531 +1532,a,aspernatur,1532 +1533,exercitationem,labore,1533 +1534,officiis,doloribus,1534 +1535,et,eaque,1535 +1536,ut,inventore,1536 +1537,aliquam,fuga,1537 +1538,voluptate,numquam,1538 +1539,quis,delectus,1539 +1540,sint,assumenda,1540 +1541,quae,veritatis,1541 +1542,soluta,consectetur,1542 +1543,qui,voluptatem,1543 +1544,enim,consequuntur,1544 +1545,id,id,1545 +1546,labore,provident,1546 +1547,placeat,quia,1547 +1548,nobis,odit,1548 +1549,consequatur,velit,1549 +1550,voluptates,ut,1550 +1551,ipsam,nihil,1551 +1552,eius,eum,1552 +1553,unde,suscipit,1553 +1554,sequi,ipsa,1554 +1555,eligendi,molestias,1555 +1556,reprehenderit,dolorum,1556 +1557,dolorem,maxime,1557 +1558,distinctio,maiores,1558 +1559,labore,dicta,1559 +1560,et,aut,1560 +1561,fugiat,officia,1561 +1562,itaque,blanditiis,1562 +1563,minus,qui,1563 +1564,illo,reiciendis,1564 +1565,velit,sunt,1565 +1566,mollitia,nobis,1566 +1567,ut,perspiciatis,1567 +1568,a,numquam,1568 +1569,unde,sed,1569 +1570,aut,et,1570 +1571,veniam,quis,1571 +1572,ratione,maxime,1572 +1573,adipisci,molestiae,1573 +1574,nesciunt,adipisci,1574 +1575,enim,molestiae,1575 +1576,ut,consequatur,1576 +1577,voluptates,possimus,1577 +1578,ad,excepturi,1578 +1579,repellendus,qui,1579 +1580,incidunt,minus,1580 +1581,enim,adipisci,1581 +1582,commodi,doloremque,1582 +1583,est,architecto,1583 +1584,est,est,1584 +1585,dignissimos,commodi,1585 +1586,debitis,earum,1586 +1587,ipsa,omnis,1587 +1588,quia,sunt,1588 +1589,et,quo,1589 +1590,ea,inventore,1590 +1591,distinctio,consectetur,1591 +1592,provident,voluptates,1592 +1593,et,et,1593 +1594,eaque,quos,1594 +1595,est,eum,1595 +1596,et,quaerat,1596 +1597,doloremque,voluptatem,1597 +1598,omnis,quo,1598 +1599,et,labore,1599 +1600,voluptatibus,nisi,1600 +1601,inventore,asperiores,1601 +1602,possimus,repudiandae,1602 +1603,vitae,dolore,1603 +1604,qui,occaecati,1604 +1605,et,aut,1605 +1606,quaerat,aut,1606 +1607,similique,ut,1607 +1608,aspernatur,expedita,1608 +1609,nobis,dignissimos,1609 +1610,repellat,accusantium,1610 +1611,totam,corrupti,1611 +1612,reiciendis,quod,1612 +1613,minima,quaerat,1613 +1614,harum,et,1614 +1615,repudiandae,ipsam,1615 +1616,velit,et,1616 +1617,sit,suscipit,1617 +1618,ducimus,eveniet,1618 +1619,eum,eos,1619 +1620,expedita,aspernatur,1620 +1621,qui,quas,1621 +1622,voluptates,et,1622 +1623,nisi,consequatur,1623 +1624,voluptates,dolores,1624 +1625,quam,ea,1625 +1626,commodi,similique,1626 +1627,adipisci,modi,1627 +1628,reprehenderit,autem,1628 +1629,veniam,quam,1629 +1630,doloremque,quis,1630 +1631,dignissimos,aut,1631 +1632,dolorum,enim,1632 +1633,repellat,facilis,1633 +1634,quisquam,vero,1634 +1635,iure,sed,1635 +1636,consequuntur,reiciendis,1636 +1637,dolorem,qui,1637 +1638,nisi,qui,1638 +1639,modi,qui,1639 +1640,illo,at,1640 +1641,eligendi,ea,1641 +1642,ea,sit,1642 +1643,rem,laborum,1643 +1644,ut,voluptas,1644 +1645,fugit,repellendus,1645 +1646,reprehenderit,est,1646 +1647,laudantium,id,1647 +1648,omnis,ut,1648 +1649,temporibus,officia,1649 +1650,neque,ut,1650 +1651,praesentium,delectus,1651 +1652,voluptates,rerum,1652 +1653,et,tempora,1653 +1654,fugiat,aut,1654 +1655,autem,quibusdam,1655 +1656,voluptates,doloremque,1656 +1657,ducimus,voluptas,1657 +1658,ut,dicta,1658 +1659,quibusdam,tempora,1659 +1660,vel,omnis,1660 +1661,est,aut,1661 +1662,odit,aut,1662 +1663,qui,numquam,1663 +1664,dicta,quas,1664 +1665,fugiat,rerum,1665 +1666,quia,accusamus,1666 +1667,voluptatem,perferendis,1667 +1668,quia,nobis,1668 +1669,dolore,ut,1669 +1670,esse,quidem,1670 +1671,hic,molestiae,1671 +1672,perspiciatis,ut,1672 +1673,rerum,eaque,1673 +1674,ullam,commodi,1674 +1675,qui,ducimus,1675 +1676,ut,qui,1676 +1677,eos,est,1677 +1678,sed,tenetur,1678 +1679,inventore,numquam,1679 +1680,ut,et,1680 +1681,et,et,1681 +1682,omnis,quidem,1682 +1683,dolorem,quia,1683 +1684,dignissimos,et,1684 +1685,quas,ut,1685 +1686,aperiam,qui,1686 +1687,corporis,praesentium,1687 +1688,reiciendis,eveniet,1688 +1689,laboriosam,tempore,1689 +1690,omnis,architecto,1690 +1691,quia,tempore,1691 +1692,illo,cumque,1692 +1693,blanditiis,sapiente,1693 +1694,alias,explicabo,1694 +1695,eius,voluptatum,1695 +1696,qui,cupiditate,1696 +1697,vero,numquam,1697 +1698,quidem,iure,1698 +1699,modi,aut,1699 +1700,at,quos,1700 +1701,animi,maxime,1701 +1702,cumque,vitae,1702 +1703,vel,fugit,1703 +1704,soluta,maiores,1704 +1705,asperiores,ullam,1705 +1706,et,asperiores,1706 +1707,aut,atque,1707 +1708,quasi,asperiores,1708 +1709,autem,nemo,1709 +1710,facere,laborum,1710 +1711,molestias,sint,1711 +1712,dolorem,magni,1712 +1713,amet,sit,1713 +1714,id,iure,1714 +1715,fuga,totam,1715 +1716,vitae,labore,1716 +1717,omnis,voluptatem,1717 +1718,voluptas,commodi,1718 +1719,ea,ipsam,1719 +1720,incidunt,quos,1720 +1721,ut,fugit,1721 +1722,accusamus,odio,1722 +1723,ullam,accusamus,1723 +1724,distinctio,adipisci,1724 +1725,voluptatem,alias,1725 +1726,quos,quod,1726 +1727,doloremque,ut,1727 +1728,animi,quo,1728 +1729,sunt,dicta,1729 +1730,repudiandae,voluptatem,1730 +1731,sit,ratione,1731 +1732,accusamus,minus,1732 +1733,aut,fugiat,1733 +1734,sequi,dolorem,1734 +1735,aliquid,eum,1735 +1736,et,ea,1736 +1737,commodi,iure,1737 +1738,quis,eius,1738 +1739,nulla,quaerat,1739 +1740,sequi,ut,1740 +1741,inventore,dolores,1741 +1742,incidunt,asperiores,1742 +1743,iusto,quam,1743 +1744,labore,numquam,1744 +1745,libero,ex,1745 +1746,praesentium,eos,1746 +1747,perferendis,officia,1747 +1748,et,et,1748 +1749,nesciunt,recusandae,1749 +1750,praesentium,dolor,1750 +1751,fugiat,et,1751 +1752,odio,omnis,1752 +1753,vel,voluptate,1753 +1754,aperiam,ipsum,1754 +1755,temporibus,laborum,1755 +1756,dolores,nobis,1756 +1757,nostrum,aut,1757 +1758,architecto,voluptatibus,1758 +1759,asperiores,quia,1759 +1760,suscipit,magni,1760 +1761,quia,autem,1761 +1762,illum,id,1762 +1763,voluptatem,aut,1763 +1764,quia,numquam,1764 +1765,molestiae,sed,1765 +1766,possimus,perspiciatis,1766 +1767,eius,et,1767 +1768,labore,quia,1768 +1769,dolorum,commodi,1769 +1770,alias,eos,1770 +1771,voluptatem,a,1771 +1772,labore,sed,1772 +1773,quia,quidem,1773 +1774,perferendis,recusandae,1774 +1775,dolor,voluptas,1775 +1776,doloribus,soluta,1776 +1777,pariatur,qui,1777 +1778,rerum,non,1778 +1779,rerum,fuga,1779 +1780,in,minus,1780 +1781,dolor,animi,1781 +1782,voluptates,aliquam,1782 +1783,et,nihil,1783 +1784,nulla,quo,1784 +1785,tempore,asperiores,1785 +1786,consequuntur,vitae,1786 +1787,quia,sed,1787 +1788,et,dolorum,1788 +1789,modi,doloribus,1789 +1790,officia,et,1790 +1791,sequi,maiores,1791 +1792,et,incidunt,1792 +1793,quasi,possimus,1793 +1794,enim,ipsum,1794 +1795,rem,eius,1795 +1796,debitis,illum,1796 +1797,ratione,quos,1797 +1798,nostrum,animi,1798 +1799,id,voluptatum,1799 +1800,sapiente,soluta,1800 +1801,tempore,magnam,1801 +1802,est,dolorem,1802 +1803,nam,corporis,1803 +1804,architecto,distinctio,1804 +1805,nihil,labore,1805 +1806,saepe,incidunt,1806 +1807,magnam,numquam,1807 +1808,est,voluptatem,1808 +1809,excepturi,eligendi,1809 +1810,et,veniam,1810 +1811,ipsum,hic,1811 +1812,non,dignissimos,1812 +1813,voluptas,nihil,1813 +1814,mollitia,delectus,1814 +1815,voluptatem,dolore,1815 +1816,voluptatem,modi,1816 +1817,recusandae,nihil,1817 +1818,et,commodi,1818 +1819,ad,dolor,1819 +1820,magni,esse,1820 +1821,repellat,distinctio,1821 +1822,illo,sapiente,1822 +1823,illum,sit,1823 +1824,sit,natus,1824 +1825,voluptatem,commodi,1825 +1826,dolorum,perspiciatis,1826 +1827,ipsum,recusandae,1827 +1828,cum,aut,1828 +1829,quo,sunt,1829 +1830,voluptatem,facilis,1830 +1831,non,numquam,1831 +1832,molestias,est,1832 +1833,omnis,repellat,1833 +1834,aut,illum,1834 +1835,eum,nulla,1835 +1836,earum,rem,1836 +1837,aperiam,aut,1837 +1838,ut,placeat,1838 +1839,repellat,impedit,1839 +1840,et,harum,1840 +1841,voluptatibus,et,1841 +1842,excepturi,perspiciatis,1842 +1843,culpa,nihil,1843 +1844,accusantium,ratione,1844 +1845,ut,culpa,1845 +1846,debitis,et,1846 +1847,omnis,aut,1847 +1848,debitis,voluptatibus,1848 +1849,libero,omnis,1849 +1850,corporis,quis,1850 +1851,impedit,vel,1851 +1852,amet,animi,1852 +1853,ab,incidunt,1853 +1854,quis,odit,1854 +1855,possimus,soluta,1855 +1856,ex,rerum,1856 +1857,est,voluptatem,1857 +1858,laborum,quis,1858 +1859,quia,error,1859 +1860,fugiat,ex,1860 +1861,laborum,aut,1861 +1862,possimus,eveniet,1862 +1863,impedit,a,1863 +1864,ducimus,nihil,1864 +1865,quae,quo,1865 +1866,aut,quibusdam,1866 +1867,et,minima,1867 +1868,aut,in,1868 +1869,aut,qui,1869 +1870,incidunt,atque,1870 +1871,eum,consequatur,1871 +1872,voluptatem,aut,1872 +1873,nobis,rerum,1873 +1874,dolorem,itaque,1874 +1875,sed,nam,1875 +1876,ab,rerum,1876 +1877,hic,ut,1877 +1878,error,ipsam,1878 +1879,fugiat,esse,1879 +1880,dolores,tenetur,1880 +1881,saepe,quisquam,1881 +1882,vel,est,1882 +1883,nisi,ratione,1883 +1884,nemo,facilis,1884 +1885,sed,reprehenderit,1885 +1886,asperiores,aut,1886 +1887,ut,mollitia,1887 +1888,harum,ratione,1888 +1889,repudiandae,sit,1889 +1890,aut,sequi,1890 +1891,voluptates,libero,1891 +1892,aut,dolore,1892 +1893,reiciendis,in,1893 +1894,temporibus,natus,1894 +1895,quam,voluptatem,1895 +1896,quaerat,aut,1896 +1897,minima,enim,1897 +1898,est,quia,1898 +1899,minus,non,1899 +1900,maiores,ab,1900 +1901,ea,sint,1901 +1902,incidunt,necessitatibus,1902 +1903,autem,rerum,1903 +1904,doloremque,eveniet,1904 +1905,voluptates,quo,1905 +1906,non,earum,1906 +1907,ullam,qui,1907 +1908,ut,doloribus,1908 +1909,beatae,aliquam,1909 +1910,aut,nemo,1910 +1911,eaque,et,1911 +1912,quia,voluptatibus,1912 +1913,quia,ut,1913 +1914,expedita,nesciunt,1914 +1915,et,doloribus,1915 +1916,laborum,impedit,1916 +1917,velit,dolorem,1917 +1918,officiis,repellat,1918 +1919,eum,quos,1919 +1920,iure,porro,1920 +1921,sunt,perspiciatis,1921 +1922,dolorem,dolores,1922 +1923,illo,perferendis,1923 +1924,dicta,qui,1924 +1925,vel,sit,1925 +1926,dicta,maiores,1926 +1927,eveniet,doloribus,1927 +1928,quaerat,quo,1928 +1929,unde,voluptas,1929 +1930,qui,qui,1930 +1931,sed,illum,1931 +1932,eos,sed,1932 +1933,quidem,odio,1933 +1934,sapiente,asperiores,1934 +1935,voluptatem,alias,1935 +1936,ad,ipsa,1936 +1937,quia,dolorem,1937 +1938,et,repellat,1938 +1939,quod,esse,1939 +1940,eligendi,eligendi,1940 +1941,ea,sit,1941 +1942,sunt,officia,1942 +1943,doloribus,totam,1943 +1944,possimus,quas,1944 +1945,ipsum,inventore,1945 +1946,quae,tempora,1946 +1947,cumque,sed,1947 +1948,illum,ea,1948 +1949,consequuntur,velit,1949 +1950,repudiandae,numquam,1950 +1951,impedit,aut,1951 +1952,vero,eveniet,1952 +1953,non,qui,1953 +1954,aut,et,1954 +1955,voluptates,impedit,1955 +1956,omnis,quas,1956 +1957,error,et,1957 +1958,possimus,nihil,1958 +1959,debitis,sunt,1959 +1960,aut,quas,1960 +1961,sit,sit,1961 +1962,nesciunt,aut,1962 +1963,architecto,quis,1963 +1964,vel,magni,1964 +1965,odit,odio,1965 +1966,repellendus,voluptatem,1966 +1967,soluta,explicabo,1967 +1968,repellendus,soluta,1968 +1969,omnis,aut,1969 +1970,et,molestiae,1970 +1971,architecto,in,1971 +1972,quia,dignissimos,1972 +1973,dolor,suscipit,1973 +1974,laborum,ut,1974 +1975,nulla,corporis,1975 +1976,deleniti,sit,1976 +1977,eveniet,aperiam,1977 +1978,qui,voluptatem,1978 +1979,possimus,mollitia,1979 +1980,consectetur,est,1980 +1981,molestias,facere,1981 +1982,dolorem,dolorem,1982 +1983,cumque,asperiores,1983 +1984,earum,molestiae,1984 +1985,ut,ea,1985 +1986,veniam,debitis,1986 +1987,ratione,ut,1987 +1988,et,nisi,1988 +1989,sit,sed,1989 +1990,quibusdam,quo,1990 +1991,perspiciatis,aut,1991 +1992,vel,ut,1992 +1993,ad,autem,1993 +1994,aspernatur,alias,1994 +1995,sed,quia,1995 +1996,est,et,1996 +1997,adipisci,voluptatem,1997 +1998,architecto,explicabo,1998 +1999,temporibus,sit,1999 +2000,explicabo,eveniet,2000 +2001,mollitia,perferendis,2001 +2002,qui,qui,2002 +2003,consequatur,et,2003 +2004,vel,quia,2004 +2005,fuga,nihil,2005 +2006,aspernatur,illum,2006 +2007,soluta,ducimus,2007 +2008,hic,cupiditate,2008 +2009,et,omnis,2009 +2010,deleniti,aliquam,2010 +2011,odio,commodi,2011 +2012,dolor,enim,2012 +2013,et,corrupti,2013 +2014,omnis,qui,2014 +2015,rerum,eum,2015 +2016,est,alias,2016 +2017,nesciunt,voluptatibus,2017 +2018,magni,repudiandae,2018 +2019,sunt,animi,2019 +2020,rerum,ut,2020 +2021,et,quo,2021 +2022,qui,voluptatem,2022 +2023,voluptas,sed,2023 +2024,quis,molestiae,2024 +2025,earum,qui,2025 +2026,quas,ut,2026 +2027,nihil,recusandae,2027 +2028,quis,magni,2028 +2029,harum,omnis,2029 +2030,sint,sapiente,2030 +2031,voluptatem,aperiam,2031 +2032,quos,rerum,2032 +2033,autem,repellat,2033 +2034,debitis,quibusdam,2034 +2035,porro,beatae,2035 +2036,facere,non,2036 +2037,ullam,maxime,2037 +2038,aperiam,et,2038 +2039,omnis,commodi,2039 +2040,assumenda,eos,2040 +2041,iste,est,2041 +2042,voluptatem,eius,2042 +2043,reprehenderit,eos,2043 +2044,ut,optio,2044 +2045,sequi,ipsum,2045 +2046,in,ab,2046 +2047,et,natus,2047 +2048,alias,nam,2048 +2049,perferendis,qui,2049 +2050,fugit,id,2050 +2051,illum,alias,2051 +2052,est,explicabo,2052 +2053,sed,qui,2053 +2054,nam,odio,2054 +2055,illum,vel,2055 +2056,repellendus,impedit,2056 +2057,minus,placeat,2057 +2058,quas,exercitationem,2058 +2059,deleniti,magni,2059 +2060,adipisci,quibusdam,2060 +2061,voluptatem,voluptatem,2061 +2062,est,iure,2062 +2063,repellat,ratione,2063 +2064,quis,asperiores,2064 +2065,dolore,dolor,2065 +2066,sed,vero,2066 +2067,in,aliquam,2067 +2068,est,quia,2068 +2069,quisquam,quam,2069 +2070,est,ut,2070 +2071,aut,magni,2071 +2072,consectetur,amet,2072 +2073,unde,dignissimos,2073 +2074,et,sint,2074 +2075,reiciendis,suscipit,2075 +2076,corrupti,natus,2076 +2077,ut,repellendus,2077 +2078,qui,tempore,2078 +2079,sit,voluptatem,2079 +2080,totam,reiciendis,2080 +2081,dicta,nihil,2081 +2082,aperiam,maxime,2082 +2083,voluptatum,est,2083 +2084,reprehenderit,laborum,2084 +2085,esse,tempore,2085 +2086,voluptatem,cupiditate,2086 +2087,officia,atque,2087 +2088,error,vitae,2088 +2089,facilis,omnis,2089 +2090,facere,quia,2090 +2091,est,nam,2091 +2092,unde,rem,2092 +2093,et,qui,2093 +2094,qui,neque,2094 +2095,velit,inventore,2095 +2096,cum,rem,2096 +2097,aut,hic,2097 +2098,autem,error,2098 +2099,nam,earum,2099 +2100,nemo,est,2100 +2101,sit,provident,2101 +2102,minus,dolores,2102 +2103,eligendi,totam,2103 +2104,et,consequuntur,2104 +2105,aut,harum,2105 +2106,delectus,laudantium,2106 +2107,fuga,ut,2107 +2108,aut,temporibus,2108 +2109,ut,velit,2109 +2110,recusandae,cumque,2110 +2111,laudantium,quibusdam,2111 +2112,ex,excepturi,2112 +2113,nihil,vitae,2113 +2114,commodi,rerum,2114 +2115,nam,nesciunt,2115 +2116,in,autem,2116 +2117,autem,natus,2117 +2118,fugit,fugiat,2118 +2119,nostrum,rerum,2119 +2120,non,sunt,2120 +2121,libero,quibusdam,2121 +2122,ad,optio,2122 +2123,magni,omnis,2123 +2124,sed,qui,2124 +2125,assumenda,similique,2125 +2126,et,placeat,2126 +2127,accusantium,tempora,2127 +2128,natus,eligendi,2128 +2129,sed,explicabo,2129 +2130,occaecati,corporis,2130 +2131,id,et,2131 +2132,repudiandae,sequi,2132 +2133,soluta,a,2133 +2134,deserunt,maxime,2134 +2135,quasi,mollitia,2135 +2136,eius,nihil,2136 +2137,fugit,a,2137 +2138,omnis,debitis,2138 +2139,illo,cumque,2139 +2140,necessitatibus,rem,2140 +2141,iste,ut,2141 +2142,aut,dolorum,2142 +2143,sit,beatae,2143 +2144,voluptatem,quod,2144 +2145,ea,laborum,2145 +2146,exercitationem,vel,2146 +2147,minima,qui,2147 +2148,illo,ut,2148 +2149,illum,et,2149 +2150,id,saepe,2150 +2151,molestiae,consectetur,2151 +2152,corrupti,dolorem,2152 +2153,natus,laboriosam,2153 +2154,dignissimos,consectetur,2154 +2155,sed,rerum,2155 +2156,aut,qui,2156 +2157,sed,aliquid,2157 +2158,in,et,2158 +2159,dolor,sunt,2159 +2160,repellat,illum,2160 +2161,quis,odio,2161 +2162,reiciendis,ut,2162 +2163,sapiente,voluptatem,2163 +2164,quis,tempore,2164 +2165,praesentium,quia,2165 +2166,dolor,sunt,2166 +2167,aliquam,temporibus,2167 +2168,magni,assumenda,2168 +2169,distinctio,sed,2169 +2170,nihil,quaerat,2170 +2171,commodi,ut,2171 +2172,libero,quia,2172 +2173,quis,tempore,2173 +2174,nihil,porro,2174 +2175,quam,omnis,2175 +2176,ut,voluptas,2176 +2177,nisi,possimus,2177 +2178,libero,rerum,2178 +2179,dolores,similique,2179 +2180,omnis,atque,2180 +2181,pariatur,ut,2181 +2182,inventore,mollitia,2182 +2183,voluptate,commodi,2183 +2184,rerum,impedit,2184 +2185,vitae,quam,2185 +2186,delectus,sed,2186 +2187,sed,quia,2187 +2188,consequatur,praesentium,2188 +2189,natus,officiis,2189 +2190,est,at,2190 +2191,cumque,ipsum,2191 +2192,est,iusto,2192 +2193,iusto,omnis,2193 +2194,et,corporis,2194 +2195,molestiae,totam,2195 +2196,unde,ducimus,2196 +2197,ex,quos,2197 +2198,soluta,est,2198 +2199,aut,rerum,2199 +2200,qui,voluptatem,2200 +2201,necessitatibus,fuga,2201 +2202,accusamus,natus,2202 +2203,et,qui,2203 +2204,in,aut,2204 +2205,porro,harum,2205 +2206,sequi,reiciendis,2206 +2207,sit,omnis,2207 +2208,qui,iste,2208 +2209,qui,temporibus,2209 +2210,nostrum,doloremque,2210 +2211,amet,dolor,2211 +2212,delectus,aut,2212 +2213,aspernatur,dignissimos,2213 +2214,tempore,reprehenderit,2214 +2215,explicabo,dolorem,2215 +2216,repellendus,et,2216 +2217,aut,dolorem,2217 +2218,blanditiis,nostrum,2218 +2219,aspernatur,perferendis,2219 +2220,tempore,et,2220 +2221,doloribus,et,2221 +2222,placeat,neque,2222 +2223,optio,velit,2223 +2224,nostrum,rerum,2224 +2225,est,quis,2225 +2226,illum,minus,2226 +2227,est,eum,2227 +2228,aut,et,2228 +2229,dolore,laborum,2229 +2230,praesentium,nostrum,2230 +2231,soluta,aperiam,2231 +2232,aspernatur,explicabo,2232 +2233,odio,nam,2233 +2234,porro,est,2234 +2235,quia,omnis,2235 +2236,dolores,est,2236 +2237,ipsam,quis,2237 +2238,nemo,quia,2238 +2239,rerum,et,2239 +2240,incidunt,asperiores,2240 +2241,atque,soluta,2241 +2242,ipsam,quia,2242 +2243,sed,voluptas,2243 +2244,ipsum,quae,2244 +2245,voluptas,dolor,2245 +2246,corrupti,odit,2246 +2247,nesciunt,error,2247 +2248,reprehenderit,consectetur,2248 +2249,temporibus,esse,2249 +2250,neque,aut,2250 +2251,illo,quibusdam,2251 +2252,veritatis,aut,2252 +2253,adipisci,temporibus,2253 +2254,vel,aut,2254 +2255,aut,qui,2255 +2256,sequi,atque,2256 +2257,asperiores,quo,2257 +2258,culpa,fuga,2258 +2259,sint,ipsam,2259 +2260,sit,deleniti,2260 +2261,quidem,consequuntur,2261 +2262,aliquid,corrupti,2262 +2263,ipsam,cum,2263 +2264,a,deleniti,2264 +2265,eius,veniam,2265 +2266,magnam,placeat,2266 +2267,atque,voluptatem,2267 +2268,eos,atque,2268 +2269,voluptatibus,modi,2269 +2270,omnis,culpa,2270 +2271,vitae,esse,2271 +2272,ut,occaecati,2272 +2273,mollitia,reprehenderit,2273 +2274,maxime,sunt,2274 +2275,quibusdam,placeat,2275 +2276,eos,sint,2276 +2277,dolore,quo,2277 +2278,architecto,rem,2278 +2279,quia,tempore,2279 +2280,voluptatem,est,2280 +2281,rerum,non,2281 +2282,minima,reiciendis,2282 +2283,sed,nihil,2283 +2284,sed,rerum,2284 +2285,rerum,quas,2285 +2286,aut,error,2286 +2287,quo,sit,2287 +2288,excepturi,facilis,2288 +2289,et,impedit,2289 +2290,in,qui,2290 +2291,quas,nemo,2291 +2292,sunt,et,2292 +2293,ipsum,maxime,2293 +2294,nobis,quia,2294 +2295,delectus,sint,2295 +2296,enim,omnis,2296 +2297,enim,eligendi,2297 +2298,minus,sapiente,2298 +2299,omnis,voluptatum,2299 +2300,unde,porro,2300 +2301,reiciendis,laudantium,2301 +2302,laboriosam,officia,2302 +2303,rerum,nobis,2303 +2304,qui,dolores,2304 +2305,est,eius,2305 +2306,velit,perspiciatis,2306 +2307,nam,mollitia,2307 +2308,autem,id,2308 +2309,beatae,iusto,2309 +2310,quia,rem,2310 +2311,quaerat,tempora,2311 +2312,ut,assumenda,2312 +2313,voluptas,aspernatur,2313 +2314,omnis,et,2314 +2315,aut,corrupti,2315 +2316,commodi,harum,2316 +2317,hic,at,2317 +2318,eum,facilis,2318 +2319,aut,ut,2319 +2320,quo,est,2320 +2321,voluptatibus,culpa,2321 +2322,unde,voluptatem,2322 +2323,sit,atque,2323 +2324,deserunt,voluptatem,2324 +2325,adipisci,minus,2325 +2326,dolores,velit,2326 +2327,et,beatae,2327 +2328,ipsa,voluptatem,2328 +2329,adipisci,soluta,2329 +2330,dolor,quas,2330 +2331,reiciendis,facere,2331 +2332,earum,reiciendis,2332 +2333,exercitationem,sint,2333 +2334,placeat,animi,2334 +2335,aut,eos,2335 +2336,accusamus,velit,2336 +2337,dolores,cumque,2337 +2338,eveniet,voluptatibus,2338 +2339,expedita,quia,2339 +2340,saepe,totam,2340 +2341,ipsam,quo,2341 +2342,mollitia,porro,2342 +2343,accusantium,odit,2343 +2344,facilis,nostrum,2344 +2345,id,iste,2345 +2346,in,odio,2346 +2347,aliquid,maiores,2347 +2348,quod,maxime,2348 +2349,ipsa,perspiciatis,2349 +2350,necessitatibus,eum,2350 +2351,eveniet,ut,2351 +2352,rem,dolor,2352 +2353,maxime,est,2353 +2354,at,blanditiis,2354 +2355,qui,nam,2355 +2356,eligendi,dolores,2356 +2357,nesciunt,molestias,2357 +2358,explicabo,soluta,2358 +2359,et,aut,2359 +2360,quis,sunt,2360 +2361,illum,similique,2361 +2362,et,aperiam,2362 +2363,et,fugiat,2363 +2364,dignissimos,beatae,2364 +2365,sed,praesentium,2365 +2366,amet,id,2366 +2367,accusantium,ad,2367 +2368,iure,rem,2368 +2369,sed,tenetur,2369 +2370,laudantium,placeat,2370 +2371,nobis,doloribus,2371 +2372,qui,in,2372 +2373,in,aliquid,2373 +2374,culpa,omnis,2374 +2375,pariatur,facilis,2375 +2376,quia,aspernatur,2376 +2377,nisi,et,2377 +2378,eos,aut,2378 +2379,quidem,iusto,2379 +2380,numquam,reiciendis,2380 +2381,debitis,consequatur,2381 +2382,ea,amet,2382 +2383,aut,dicta,2383 +2384,cumque,aspernatur,2384 +2385,quas,adipisci,2385 +2386,eligendi,ipsam,2386 +2387,esse,labore,2387 +2388,recusandae,et,2388 +2389,ea,et,2389 +2390,alias,est,2390 +2391,dolor,qui,2391 +2392,quibusdam,in,2392 +2393,minima,id,2393 +2394,iste,possimus,2394 +2395,ipsum,iure,2395 +2396,ullam,rerum,2396 +2397,qui,molestias,2397 +2398,sit,eos,2398 +2399,voluptatem,officia,2399 +2400,pariatur,voluptas,2400 +2401,quos,cumque,2401 +2402,repellat,rem,2402 +2403,distinctio,aut,2403 +2404,esse,consequatur,2404 +2405,cum,natus,2405 +2406,cum,libero,2406 +2407,laudantium,vero,2407 +2408,officia,est,2408 +2409,eos,quas,2409 +2410,aut,eaque,2410 +2411,accusantium,molestias,2411 +2412,dignissimos,rerum,2412 +2413,sed,voluptates,2413 +2414,dolore,rerum,2414 +2415,perferendis,aut,2415 +2416,ipsa,vero,2416 +2417,vel,eum,2417 +2418,soluta,iure,2418 +2419,quibusdam,exercitationem,2419 +2420,et,unde,2420 +2421,provident,sunt,2421 +2422,deleniti,sit,2422 +2423,omnis,est,2423 +2424,et,doloribus,2424 +2425,consectetur,cumque,2425 +2426,ea,magnam,2426 +2427,distinctio,autem,2427 +2428,molestiae,et,2428 +2429,reprehenderit,consequatur,2429 +2430,accusantium,magni,2430 +2431,ratione,quae,2431 +2432,mollitia,odit,2432 +2433,tempora,vero,2433 +2434,nostrum,rerum,2434 +2435,tenetur,molestiae,2435 +2436,dignissimos,cum,2436 +2437,ipsum,laboriosam,2437 +2438,quasi,inventore,2438 +2439,perferendis,et,2439 +2440,quasi,voluptas,2440 +2441,qui,esse,2441 +2442,suscipit,animi,2442 +2443,ullam,qui,2443 +2444,veniam,est,2444 +2445,facilis,sit,2445 +2446,incidunt,autem,2446 +2447,sint,est,2447 +2448,dolorem,eveniet,2448 +2449,facere,ut,2449 +2450,iste,earum,2450 +2451,et,esse,2451 +2452,perspiciatis,minima,2452 +2453,et,consequatur,2453 +2454,magni,voluptatum,2454 +2455,soluta,officia,2455 +2456,vitae,harum,2456 +2457,inventore,nisi,2457 +2458,pariatur,tempora,2458 +2459,accusantium,iste,2459 +2460,non,quam,2460 +2461,esse,aut,2461 +2462,nulla,cumque,2462 +2463,nobis,deleniti,2463 +2464,rerum,maxime,2464 +2465,doloremque,rem,2465 +2466,iusto,molestiae,2466 +2467,temporibus,itaque,2467 +2468,sit,hic,2468 +2469,sapiente,qui,2469 +2470,sed,corporis,2470 +2471,maxime,ratione,2471 +2472,voluptatem,voluptatem,2472 +2473,corporis,id,2473 +2474,natus,pariatur,2474 +2475,nemo,dolor,2475 +2476,ex,enim,2476 +2477,dolorem,quo,2477 +2478,voluptas,provident,2478 +2479,repellendus,sunt,2479 +2480,non,pariatur,2480 +2481,illum,est,2481 +2482,officiis,dolor,2482 +2483,dicta,dolor,2483 +2484,sed,earum,2484 +2485,placeat,ullam,2485 +2486,voluptatem,officia,2486 +2487,non,et,2487 +2488,modi,corporis,2488 +2489,cum,ipsum,2489 +2490,qui,reiciendis,2490 +2491,distinctio,eos,2491 +2492,eos,possimus,2492 +2493,vel,maiores,2493 +2494,assumenda,doloremque,2494 +2495,optio,ad,2495 +2496,fugiat,voluptatem,2496 +2497,facere,nobis,2497 +2498,eos,et,2498 +2499,asperiores,vero,2499 +2500,omnis,nisi,2500 +2501,sed,occaecati,2501 +2502,commodi,sit,2502 +2503,incidunt,ipsa,2503 +2504,non,aliquam,2504 +2505,omnis,voluptas,2505 +2506,est,magni,2506 +2507,tempore,sint,2507 +2508,aliquam,praesentium,2508 +2509,nulla,fugiat,2509 +2510,iste,et,2510 +2511,quia,odit,2511 +2512,blanditiis,a,2512 +2513,numquam,et,2513 +2514,veniam,enim,2514 +2515,ipsam,eligendi,2515 +2516,nam,et,2516 +2517,ut,fuga,2517 +2518,eos,rem,2518 +2519,cupiditate,nemo,2519 +2520,sint,fuga,2520 +2521,ab,minima,2521 +2522,doloribus,voluptatem,2522 +2523,amet,tempore,2523 +2524,veniam,quae,2524 +2525,magnam,nesciunt,2525 +2526,quidem,vitae,2526 +2527,perferendis,et,2527 +2528,earum,aut,2528 +2529,consequatur,aut,2529 +2530,eveniet,placeat,2530 +2531,amet,autem,2531 +2532,in,ipsa,2532 +2533,doloremque,non,2533 +2534,dolores,corporis,2534 +2535,rerum,fugiat,2535 +2536,aliquam,rerum,2536 +2537,aut,eos,2537 +2538,magnam,veniam,2538 +2539,aut,architecto,2539 +2540,ullam,est,2540 +2541,voluptate,qui,2541 +2542,blanditiis,delectus,2542 +2543,eum,repudiandae,2543 +2544,necessitatibus,blanditiis,2544 +2545,aut,ut,2545 +2546,nostrum,neque,2546 +2547,aut,dolores,2547 +2548,voluptates,sapiente,2548 +2549,unde,ut,2549 +2550,ut,autem,2550 +2551,harum,nemo,2551 +2552,quo,quibusdam,2552 +2553,eos,ut,2553 +2554,ut,aliquid,2554 +2555,nulla,sunt,2555 +2556,harum,quidem,2556 +2557,ratione,rem,2557 +2558,et,explicabo,2558 +2559,eum,voluptatum,2559 +2560,dolore,doloribus,2560 +2561,voluptas,hic,2561 +2562,incidunt,qui,2562 +2563,iste,et,2563 +2564,blanditiis,eum,2564 +2565,quidem,nesciunt,2565 +2566,error,ab,2566 +2567,illo,magnam,2567 +2568,ad,blanditiis,2568 +2569,voluptas,quas,2569 +2570,id,facere,2570 +2571,repellendus,consequatur,2571 +2572,sunt,quas,2572 +2573,aut,sit,2573 +2574,nobis,architecto,2574 +2575,ipsum,et,2575 +2576,et,rerum,2576 +2577,eos,voluptatibus,2577 +2578,quasi,saepe,2578 +2579,repellendus,porro,2579 +2580,assumenda,sit,2580 +2581,eveniet,enim,2581 +2582,voluptatum,debitis,2582 +2583,ullam,fugiat,2583 +2584,libero,placeat,2584 +2585,libero,accusantium,2585 +2586,aut,fugit,2586 +2587,et,enim,2587 +2588,velit,commodi,2588 +2589,culpa,harum,2589 +2590,explicabo,et,2590 +2591,optio,dolorem,2591 +2592,sed,aspernatur,2592 +2593,iusto,voluptas,2593 +2594,explicabo,voluptates,2594 +2595,nostrum,sint,2595 +2596,repellendus,pariatur,2596 +2597,quasi,iste,2597 +2598,et,odio,2598 +2599,fuga,sapiente,2599 +2600,dolorem,recusandae,2600 +2601,et,non,2601 +2602,natus,rem,2602 +2603,mollitia,veniam,2603 +2604,a,voluptatem,2604 +2605,vitae,aut,2605 +2606,voluptas,error,2606 +2607,et,sunt,2607 +2608,quis,sit,2608 +2609,et,earum,2609 +2610,modi,deserunt,2610 +2611,quod,aut,2611 +2612,dolores,vero,2612 +2613,autem,ullam,2613 +2614,illo,libero,2614 +2615,placeat,aperiam,2615 +2616,maiores,iste,2616 +2617,in,magnam,2617 +2618,accusantium,architecto,2618 +2619,nobis,velit,2619 +2620,delectus,ipsam,2620 +2621,ut,rem,2621 +2622,voluptates,ipsa,2622 +2623,inventore,nisi,2623 +2624,nostrum,deserunt,2624 +2625,sequi,at,2625 +2626,et,illo,2626 +2627,voluptatem,nam,2627 +2628,qui,incidunt,2628 +2629,adipisci,impedit,2629 +2630,voluptate,temporibus,2630 +2631,blanditiis,et,2631 +2632,quidem,quia,2632 +2633,harum,blanditiis,2633 +2634,et,inventore,2634 +2635,ea,iure,2635 +2636,error,sapiente,2636 +2637,tenetur,assumenda,2637 +2638,molestias,debitis,2638 +2639,deserunt,odio,2639 +2640,in,repellendus,2640 +2641,dolorem,labore,2641 +2642,perferendis,voluptates,2642 +2643,quaerat,aut,2643 +2644,corrupti,quia,2644 +2645,minus,eius,2645 +2646,molestiae,voluptatem,2646 +2647,reiciendis,error,2647 +2648,quia,est,2648 +2649,sunt,praesentium,2649 +2650,delectus,sapiente,2650 +2651,modi,dolores,2651 +2652,sit,natus,2652 +2653,non,voluptatem,2653 +2654,quis,reprehenderit,2654 +2655,nemo,animi,2655 +2656,eos,minus,2656 +2657,dolore,omnis,2657 +2658,deleniti,sit,2658 +2659,accusantium,nobis,2659 +2660,et,ducimus,2660 +2661,corrupti,expedita,2661 +2662,quaerat,nam,2662 +2663,magnam,rerum,2663 +2664,ipsa,aut,2664 +2665,nihil,dolores,2665 +2666,consequatur,iusto,2666 +2667,voluptatum,odit,2667 +2668,vero,quas,2668 +2669,ut,cumque,2669 +2670,aut,minima,2670 +2671,qui,dolores,2671 +2672,suscipit,ut,2672 +2673,quaerat,amet,2673 +2674,et,inventore,2674 +2675,iste,quos,2675 +2676,quae,voluptatum,2676 +2677,cum,neque,2677 +2678,id,aliquid,2678 +2679,eos,voluptatem,2679 +2680,itaque,qui,2680 +2681,sapiente,omnis,2681 +2682,quibusdam,at,2682 +2683,vitae,aperiam,2683 +2684,qui,perspiciatis,2684 +2685,dolorem,doloremque,2685 +2686,deserunt,esse,2686 +2687,suscipit,eos,2687 +2688,beatae,molestias,2688 +2689,magni,rerum,2689 +2690,et,quisquam,2690 +2691,voluptatem,aut,2691 +2692,rerum,dignissimos,2692 +2693,omnis,ad,2693 +2694,a,dignissimos,2694 +2695,dolore,aut,2695 +2696,tempore,tempora,2696 +2697,magni,autem,2697 +2698,dolor,accusamus,2698 +2699,perspiciatis,molestias,2699 +2700,quaerat,similique,2700 +2701,aut,quos,2701 +2702,facere,doloremque,2702 +2703,doloremque,delectus,2703 +2704,magni,exercitationem,2704 +2705,ea,culpa,2705 +2706,culpa,assumenda,2706 +2707,officiis,dicta,2707 +2708,qui,laboriosam,2708 +2709,modi,eos,2709 +2710,consequuntur,repudiandae,2710 +2711,dolor,mollitia,2711 +2712,quisquam,illum,2712 +2713,sunt,unde,2713 +2714,quo,voluptas,2714 +2715,fugit,deleniti,2715 +2716,culpa,provident,2716 +2717,labore,praesentium,2717 +2718,cupiditate,numquam,2718 +2719,quis,qui,2719 +2720,deserunt,vel,2720 +2721,expedita,cupiditate,2721 +2722,ut,voluptatibus,2722 +2723,sapiente,voluptatem,2723 +2724,sed,recusandae,2724 +2725,et,animi,2725 +2726,iure,est,2726 +2727,odio,est,2727 +2728,blanditiis,amet,2728 +2729,laborum,reiciendis,2729 +2730,maxime,officiis,2730 +2731,explicabo,iure,2731 +2732,modi,minus,2732 +2733,sed,animi,2733 +2734,est,facere,2734 +2735,cum,sed,2735 +2736,eius,molestias,2736 +2737,nihil,dolorem,2737 +2738,aut,unde,2738 +2739,commodi,omnis,2739 +2740,cum,quas,2740 +2741,iusto,nostrum,2741 +2742,voluptatem,et,2742 +2743,aut,et,2743 +2744,qui,eos,2744 +2745,non,in,2745 +2746,reiciendis,et,2746 +2747,inventore,perferendis,2747 +2748,modi,commodi,2748 +2749,aut,vel,2749 +2750,perspiciatis,optio,2750 +2751,quis,iusto,2751 +2752,ea,qui,2752 +2753,architecto,corporis,2753 +2754,in,recusandae,2754 +2755,fugiat,voluptatem,2755 +2756,libero,quia,2756 +2757,nihil,similique,2757 +2758,quis,quam,2758 +2759,deleniti,sed,2759 +2760,eius,fugiat,2760 +2761,nulla,iusto,2761 +2762,nihil,et,2762 +2763,quisquam,sint,2763 +2764,iste,iste,2764 +2765,et,nobis,2765 +2766,recusandae,quia,2766 +2767,consequatur,alias,2767 +2768,excepturi,molestiae,2768 +2769,sed,ipsum,2769 +2770,ut,labore,2770 +2771,qui,quos,2771 +2772,dolor,ut,2772 +2773,ullam,quas,2773 +2774,iusto,maxime,2774 +2775,dolor,est,2775 +2776,nobis,deleniti,2776 +2777,fugit,culpa,2777 +2778,est,velit,2778 +2779,dolores,molestiae,2779 +2780,sit,suscipit,2780 +2781,unde,in,2781 +2782,molestiae,voluptas,2782 +2783,repellat,eius,2783 +2784,non,ab,2784 +2785,sint,sint,2785 +2786,voluptatibus,earum,2786 +2787,dolore,in,2787 +2788,sapiente,eos,2788 +2789,quis,sequi,2789 +2790,voluptates,beatae,2790 +2791,sapiente,quia,2791 +2792,sit,dolorem,2792 +2793,omnis,doloremque,2793 +2794,adipisci,dignissimos,2794 +2795,beatae,necessitatibus,2795 +2796,vel,doloribus,2796 +2797,sit,nulla,2797 +2798,corrupti,et,2798 +2799,a,sapiente,2799 +2800,quaerat,optio,2800 +2801,dicta,animi,2801 +2802,numquam,et,2802 +2803,et,aliquid,2803 +2804,accusamus,dolores,2804 +2805,est,adipisci,2805 +2806,non,iure,2806 +2807,nihil,veniam,2807 +2808,et,autem,2808 +2809,nesciunt,ducimus,2809 +2810,minus,vel,2810 +2811,cum,sit,2811 +2812,maxime,ea,2812 +2813,officia,veniam,2813 +2814,qui,minus,2814 +2815,similique,perspiciatis,2815 +2816,est,ut,2816 +2817,in,fuga,2817 +2818,necessitatibus,incidunt,2818 +2819,voluptatibus,et,2819 +2820,dolore,minus,2820 +2821,velit,id,2821 +2822,laudantium,et,2822 +2823,vel,recusandae,2823 +2824,delectus,nulla,2824 +2825,mollitia,sint,2825 +2826,ut,aut,2826 +2827,dolorem,quod,2827 +2828,ut,dolores,2828 +2829,soluta,aut,2829 +2830,occaecati,et,2830 +2831,debitis,qui,2831 +2832,suscipit,adipisci,2832 +2833,facilis,at,2833 +2834,animi,aut,2834 +2835,veritatis,itaque,2835 +2836,dolore,aliquam,2836 +2837,aut,voluptatem,2837 +2838,vero,est,2838 +2839,aliquid,mollitia,2839 +2840,qui,voluptatum,2840 +2841,omnis,ea,2841 +2842,delectus,quam,2842 +2843,modi,doloribus,2843 +2844,necessitatibus,ducimus,2844 +2845,voluptas,nulla,2845 +2846,sit,rem,2846 +2847,possimus,sequi,2847 +2848,id,similique,2848 +2849,quis,dolorum,2849 +2850,sit,rerum,2850 +2851,ex,voluptas,2851 +2852,et,quis,2852 +2853,saepe,quia,2853 +2854,laboriosam,temporibus,2854 +2855,nihil,est,2855 +2856,est,inventore,2856 +2857,voluptate,sit,2857 +2858,nesciunt,ipsa,2858 +2859,excepturi,sequi,2859 +2860,quos,ad,2860 +2861,ut,laboriosam,2861 +2862,est,id,2862 +2863,sit,doloribus,2863 +2864,qui,veritatis,2864 +2865,soluta,est,2865 +2866,eligendi,consequatur,2866 +2867,saepe,voluptatem,2867 +2868,eos,iusto,2868 +2869,veniam,dicta,2869 +2870,suscipit,nulla,2870 +2871,neque,aperiam,2871 +2872,modi,maxime,2872 +2873,aliquam,aut,2873 +2874,a,inventore,2874 +2875,qui,alias,2875 +2876,voluptates,consequatur,2876 +2877,natus,dolores,2877 +2878,et,sunt,2878 +2879,eligendi,ab,2879 +2880,odio,eos,2880 +2881,quia,dolorem,2881 +2882,voluptas,neque,2882 +2883,autem,voluptas,2883 +2884,facilis,harum,2884 +2885,commodi,ut,2885 +2886,facere,necessitatibus,2886 +2887,nesciunt,omnis,2887 +2888,consequuntur,ab,2888 +2889,maiores,iure,2889 +2890,rem,ratione,2890 +2891,aspernatur,facere,2891 +2892,vel,deserunt,2892 +2893,nihil,esse,2893 +2894,inventore,aspernatur,2894 +2895,fugit,fugit,2895 +2896,error,neque,2896 +2897,quos,omnis,2897 +2898,laudantium,quia,2898 +2899,officiis,quia,2899 +2900,voluptas,suscipit,2900 +2901,id,id,2901 +2902,at,officiis,2902 +2903,natus,dolore,2903 +2904,repudiandae,qui,2904 +2905,voluptatibus,dolor,2905 +2906,sint,temporibus,2906 +2907,ut,explicabo,2907 +2908,et,et,2908 +2909,iste,et,2909 +2910,mollitia,facere,2910 +2911,adipisci,quod,2911 +2912,quia,nihil,2912 +2913,magni,eum,2913 +2914,et,voluptatem,2914 +2915,quae,recusandae,2915 +2916,harum,adipisci,2916 +2917,unde,dolorem,2917 +2918,qui,ut,2918 +2919,eaque,occaecati,2919 +2920,voluptas,amet,2920 +2921,doloremque,dolor,2921 +2922,dolorem,provident,2922 +2923,quas,omnis,2923 +2924,nulla,cumque,2924 +2925,consectetur,magni,2925 +2926,laudantium,recusandae,2926 +2927,vitae,quod,2927 +2928,numquam,quia,2928 +2929,mollitia,est,2929 +2930,explicabo,dolores,2930 +2931,velit,odio,2931 +2932,ut,dolor,2932 +2933,qui,nam,2933 +2934,eos,quaerat,2934 +2935,ullam,libero,2935 +2936,fuga,non,2936 +2937,cum,nisi,2937 +2938,accusantium,dolorum,2938 +2939,provident,non,2939 +2940,blanditiis,ipsum,2940 +2941,veniam,iste,2941 +2942,non,nihil,2942 +2943,iure,voluptatem,2943 +2944,necessitatibus,explicabo,2944 +2945,aut,inventore,2945 +2946,impedit,velit,2946 +2947,repellat,vel,2947 +2948,qui,omnis,2948 +2949,repudiandae,officia,2949 +2950,consequuntur,corrupti,2950 +2951,et,esse,2951 +2952,autem,rem,2952 +2953,mollitia,in,2953 +2954,perspiciatis,nesciunt,2954 +2955,doloribus,animi,2955 +2956,sunt,provident,2956 +2957,quis,consequatur,2957 +2958,nihil,accusamus,2958 +2959,libero,est,2959 +2960,eaque,et,2960 +2961,aut,porro,2961 +2962,distinctio,impedit,2962 +2963,amet,consequatur,2963 +2964,quod,sed,2964 +2965,in,suscipit,2965 +2966,ratione,et,2966 +2967,minus,eius,2967 +2968,culpa,sint,2968 +2969,tempore,quasi,2969 +2970,qui,voluptatem,2970 +2971,enim,laborum,2971 +2972,voluptates,sapiente,2972 +2973,numquam,autem,2973 +2974,alias,fugit,2974 +2975,accusantium,magni,2975 +2976,sit,voluptates,2976 +2977,aut,voluptas,2977 +2978,assumenda,ut,2978 +2979,qui,voluptatem,2979 +2980,minus,reprehenderit,2980 +2981,fugiat,temporibus,2981 +2982,doloribus,quis,2982 +2983,est,voluptatem,2983 +2984,et,consequatur,2984 +2985,nostrum,laudantium,2985 +2986,quasi,itaque,2986 +2987,enim,in,2987 +2988,et,magnam,2988 +2989,alias,aperiam,2989 +2990,dolor,ut,2990 +2991,non,aut,2991 +2992,et,quos,2992 +2993,nisi,nisi,2993 +2994,dolor,ut,2994 +2995,voluptate,quasi,2995 +2996,adipisci,blanditiis,2996 +2997,repellat,voluptas,2997 +2998,velit,dolores,2998 +2999,exercitationem,facere,2999 +3000,debitis,doloribus,3000 +3001,ducimus,nostrum,3001 +3002,quod,dolorem,3002 +3003,ducimus,aut,3003 +3004,quidem,perferendis,3004 +3005,sed,ducimus,3005 +3006,voluptate,voluptatem,3006 +3007,laboriosam,tempore,3007 +3008,nesciunt,odio,3008 +3009,asperiores,nam,3009 +3010,dolor,esse,3010 +3011,similique,sunt,3011 +3012,in,ipsam,3012 +3013,quo,sequi,3013 +3014,quidem,voluptas,3014 +3015,explicabo,iusto,3015 +3016,voluptatem,error,3016 +3017,asperiores,aut,3017 +3018,repellendus,nesciunt,3018 +3019,nesciunt,est,3019 +3020,in,vitae,3020 +3021,aliquid,quas,3021 +3022,quae,ipsum,3022 +3023,eveniet,quaerat,3023 +3024,quae,est,3024 +3025,voluptas,id,3025 +3026,soluta,explicabo,3026 +3027,sunt,in,3027 +3028,molestiae,et,3028 +3029,qui,enim,3029 +3030,voluptates,vel,3030 +3031,officia,facere,3031 +3032,nam,quidem,3032 +3033,iusto,et,3033 +3034,consequuntur,eveniet,3034 +3035,nulla,id,3035 +3036,tenetur,ut,3036 +3037,ea,quod,3037 +3038,explicabo,modi,3038 +3039,consequatur,necessitatibus,3039 +3040,iste,voluptas,3040 +3041,vel,praesentium,3041 +3042,et,earum,3042 +3043,et,assumenda,3043 +3044,inventore,deserunt,3044 +3045,sint,quis,3045 +3046,amet,ex,3046 +3047,explicabo,sed,3047 +3048,aut,consequuntur,3048 +3049,et,soluta,3049 +3050,dolores,occaecati,3050 +3051,quo,voluptatem,3051 +3052,molestiae,perspiciatis,3052 +3053,a,commodi,3053 +3054,sed,alias,3054 +3055,suscipit,numquam,3055 +3056,ea,veritatis,3056 +3057,corrupti,inventore,3057 +3058,temporibus,at,3058 +3059,rerum,et,3059 +3060,amet,et,3060 +3061,repellat,ex,3061 +3062,commodi,quia,3062 +3063,velit,eveniet,3063 +3064,quod,quasi,3064 +3065,eum,nesciunt,3065 +3066,eligendi,dolorum,3066 +3067,fuga,corporis,3067 +3068,voluptatem,praesentium,3068 +3069,eveniet,ut,3069 +3070,molestias,deserunt,3070 +3071,laborum,laborum,3071 +3072,voluptas,beatae,3072 +3073,tenetur,voluptatem,3073 +3074,eum,ut,3074 +3075,ipsa,fuga,3075 +3076,id,porro,3076 +3077,qui,iusto,3077 +3078,sit,consequatur,3078 +3079,eos,rerum,3079 +3080,harum,esse,3080 +3081,quia,quas,3081 +3082,nesciunt,repellendus,3082 +3083,autem,exercitationem,3083 +3084,qui,vel,3084 +3085,suscipit,consequatur,3085 +3086,dolorem,consectetur,3086 +3087,et,eaque,3087 +3088,repellendus,officia,3088 +3089,praesentium,nulla,3089 +3090,doloribus,minima,3090 +3091,ut,laborum,3091 +3092,ducimus,molestiae,3092 +3093,eum,placeat,3093 +3094,eligendi,vero,3094 +3095,accusamus,rerum,3095 +3096,est,quia,3096 +3097,aliquam,iste,3097 +3098,quia,consequatur,3098 +3099,labore,facilis,3099 +3100,quo,inventore,3100 +3101,quos,molestiae,3101 +3102,itaque,illo,3102 +3103,nam,qui,3103 +3104,minus,inventore,3104 +3105,eaque,aut,3105 +3106,iste,nobis,3106 +3107,vitae,assumenda,3107 +3108,temporibus,aliquid,3108 +3109,et,corrupti,3109 +3110,sunt,dolore,3110 +3111,quibusdam,cupiditate,3111 +3112,eaque,voluptate,3112 +3113,commodi,voluptates,3113 +3114,omnis,facilis,3114 +3115,at,perferendis,3115 +3116,amet,voluptatem,3116 +3117,qui,enim,3117 +3118,est,consequatur,3118 +3119,accusamus,alias,3119 +3120,ducimus,ut,3120 +3121,delectus,odit,3121 +3122,a,debitis,3122 +3123,voluptas,modi,3123 +3124,enim,et,3124 +3125,pariatur,omnis,3125 +3126,aut,deserunt,3126 +3127,cum,voluptas,3127 +3128,rerum,nihil,3128 +3129,beatae,quo,3129 +3130,et,voluptatem,3130 +3131,eum,voluptates,3131 +3132,est,commodi,3132 +3133,eveniet,quae,3133 +3134,enim,cupiditate,3134 +3135,unde,in,3135 +3136,molestias,molestiae,3136 +3137,asperiores,sed,3137 +3138,rerum,qui,3138 +3139,et,possimus,3139 +3140,quia,reprehenderit,3140 +3141,excepturi,tempora,3141 +3142,voluptatibus,voluptatibus,3142 +3143,eaque,rerum,3143 +3144,dignissimos,beatae,3144 +3145,dolores,et,3145 +3146,qui,dolor,3146 +3147,inventore,atque,3147 +3148,iusto,eum,3148 +3149,voluptates,temporibus,3149 +3150,debitis,et,3150 +3151,sint,perspiciatis,3151 +3152,hic,adipisci,3152 +3153,assumenda,ex,3153 +3154,repellat,magni,3154 +3155,delectus,consectetur,3155 +3156,quis,aut,3156 +3157,quo,quod,3157 +3158,ad,quo,3158 +3159,non,quia,3159 +3160,accusamus,enim,3160 +3161,nemo,dignissimos,3161 +3162,molestias,molestiae,3162 +3163,voluptatibus,et,3163 +3164,voluptatibus,est,3164 +3165,sequi,cumque,3165 +3166,cumque,id,3166 +3167,cum,iste,3167 +3168,est,nihil,3168 +3169,et,voluptatem,3169 +3170,sint,quia,3170 +3171,amet,odio,3171 +3172,omnis,et,3172 +3173,qui,explicabo,3173 +3174,et,sit,3174 +3175,nobis,sunt,3175 +3176,excepturi,eos,3176 +3177,quia,veniam,3177 +3178,temporibus,sint,3178 +3179,animi,totam,3179 +3180,optio,incidunt,3180 +3181,fugit,et,3181 +3182,nostrum,sint,3182 +3183,maiores,qui,3183 +3184,aspernatur,voluptatem,3184 +3185,quam,omnis,3185 +3186,quis,magnam,3186 +3187,sit,dolor,3187 +3188,eaque,voluptatibus,3188 +3189,enim,autem,3189 +3190,quia,totam,3190 +3191,eligendi,architecto,3191 +3192,sunt,et,3192 +3193,quia,et,3193 +3194,assumenda,perferendis,3194 +3195,ut,est,3195 +3196,et,architecto,3196 +3197,dolorum,fugit,3197 +3198,libero,possimus,3198 +3199,quasi,voluptatem,3199 +3200,magni,qui,3200 +3201,quia,dignissimos,3201 +3202,ipsa,molestiae,3202 +3203,sed,laborum,3203 +3204,dolore,animi,3204 +3205,minima,officia,3205 +3206,quod,maxime,3206 +3207,non,rem,3207 +3208,adipisci,rerum,3208 +3209,voluptate,accusamus,3209 +3210,deleniti,placeat,3210 +3211,officia,harum,3211 +3212,provident,id,3212 +3213,id,voluptatem,3213 +3214,minus,doloremque,3214 +3215,libero,temporibus,3215 +3216,sed,iusto,3216 +3217,dolores,ab,3217 +3218,quia,nihil,3218 +3219,est,sed,3219 +3220,sit,repellat,3220 +3221,quia,aliquam,3221 +3222,ut,rem,3222 +3223,dolorem,explicabo,3223 +3224,reprehenderit,sint,3224 +3225,est,molestiae,3225 +3226,quia,quis,3226 +3227,hic,enim,3227 +3228,provident,eum,3228 +3229,magnam,dolores,3229 +3230,illum,laboriosam,3230 +3231,maxime,aliquid,3231 +3232,dolores,officia,3232 +3233,aliquid,placeat,3233 +3234,et,dolor,3234 +3235,minima,rem,3235 +3236,ipsum,blanditiis,3236 +3237,impedit,quaerat,3237 +3238,aut,enim,3238 +3239,consequatur,tenetur,3239 +3240,placeat,maiores,3240 +3241,quia,cupiditate,3241 +3242,et,maiores,3242 +3243,natus,earum,3243 +3244,doloremque,aut,3244 +3245,neque,adipisci,3245 +3246,et,consectetur,3246 +3247,quia,odit,3247 +3248,aliquam,alias,3248 +3249,recusandae,omnis,3249 +3250,doloremque,est,3250 +3251,fuga,nulla,3251 +3252,ut,impedit,3252 +3253,quam,vel,3253 +3254,qui,illo,3254 +3255,voluptas,dicta,3255 +3256,veniam,rerum,3256 +3257,qui,reprehenderit,3257 +3258,officia,sed,3258 +3259,accusamus,temporibus,3259 +3260,recusandae,autem,3260 +3261,maxime,reprehenderit,3261 +3262,nostrum,labore,3262 +3263,laboriosam,iste,3263 +3264,porro,aut,3264 +3265,et,dolorum,3265 +3266,qui,labore,3266 +3267,laborum,numquam,3267 +3268,repudiandae,soluta,3268 +3269,et,quos,3269 +3270,ut,qui,3270 +3271,excepturi,doloremque,3271 +3272,dolor,reprehenderit,3272 +3273,quis,labore,3273 +3274,dolorem,est,3274 +3275,cupiditate,optio,3275 +3276,quo,consequatur,3276 +3277,sed,voluptate,3277 +3278,laboriosam,veritatis,3278 +3279,et,dolor,3279 +3280,odio,eum,3280 +3281,quo,iusto,3281 +3282,aspernatur,vitae,3282 +3283,hic,voluptatem,3283 +3284,mollitia,assumenda,3284 +3285,quo,occaecati,3285 +3286,enim,hic,3286 +3287,est,quo,3287 +3288,accusamus,accusamus,3288 +3289,molestiae,tenetur,3289 +3290,dolores,et,3290 +3291,qui,voluptate,3291 +3292,quis,velit,3292 +3293,architecto,modi,3293 +3294,est,illum,3294 +3295,est,a,3295 +3296,et,unde,3296 +3297,quasi,quia,3297 +3298,laudantium,voluptas,3298 +3299,veritatis,et,3299 +3300,at,voluptatem,3300 +3301,maxime,eius,3301 +3302,velit,rem,3302 +3303,voluptatem,nemo,3303 +3304,consequatur,in,3304 +3305,exercitationem,debitis,3305 +3306,error,repudiandae,3306 +3307,consequatur,eveniet,3307 +3308,aut,voluptatibus,3308 +3309,blanditiis,deserunt,3309 +3310,facilis,unde,3310 +3311,in,quam,3311 +3312,et,est,3312 +3313,maxime,praesentium,3313 +3314,dolores,sapiente,3314 +3315,quia,at,3315 +3316,numquam,corporis,3316 +3317,omnis,cumque,3317 +3318,occaecati,commodi,3318 +3319,molestiae,repellat,3319 +3320,voluptate,velit,3320 +3321,fuga,cumque,3321 +3322,minus,nesciunt,3322 +3323,voluptatem,a,3323 +3324,minima,dolores,3324 +3325,labore,cupiditate,3325 +3326,blanditiis,in,3326 +3327,iste,non,3327 +3328,ipsum,magni,3328 +3329,labore,debitis,3329 +3330,ad,veniam,3330 +3331,perferendis,ipsam,3331 +3332,similique,et,3332 +3333,qui,dolor,3333 +3334,dolorem,eius,3334 +3335,ut,a,3335 +3336,ea,consequatur,3336 +3337,aspernatur,nisi,3337 +3338,accusamus,aut,3338 +3339,quibusdam,sint,3339 +3340,unde,omnis,3340 +3341,dolorem,distinctio,3341 +3342,sapiente,dolorum,3342 +3343,vero,a,3343 +3344,voluptas,officiis,3344 +3345,quia,velit,3345 +3346,fugit,debitis,3346 +3347,voluptas,dolor,3347 +3348,dicta,quia,3348 +3349,minus,consequatur,3349 +3350,velit,et,3350 +3351,aut,et,3351 +3352,laudantium,non,3352 +3353,laborum,iste,3353 +3354,cum,dolor,3354 +3355,est,occaecati,3355 +3356,ducimus,officia,3356 +3357,distinctio,quasi,3357 +3358,tempora,soluta,3358 +3359,doloremque,quo,3359 +3360,ut,quia,3360 +3361,quasi,autem,3361 +3362,ullam,minus,3362 +3363,et,praesentium,3363 +3364,omnis,est,3364 +3365,nihil,hic,3365 +3366,qui,et,3366 +3367,consequatur,qui,3367 +3368,cumque,quis,3368 +3369,voluptas,vitae,3369 +3370,dolor,corporis,3370 +3371,et,magni,3371 +3372,unde,minus,3372 +3373,recusandae,rerum,3373 +3374,non,cumque,3374 +3375,dolore,voluptatum,3375 +3376,qui,aut,3376 +3377,qui,quis,3377 +3378,sint,omnis,3378 +3379,deserunt,id,3379 +3380,nemo,aliquam,3380 +3381,asperiores,a,3381 +3382,et,tempore,3382 +3383,eaque,et,3383 +3384,odio,et,3384 +3385,omnis,deserunt,3385 +3386,rem,dolorum,3386 +3387,asperiores,sed,3387 +3388,modi,sed,3388 +3389,aut,error,3389 +3390,cumque,quis,3390 +3391,omnis,praesentium,3391 +3392,praesentium,eveniet,3392 +3393,aut,quasi,3393 +3394,sint,commodi,3394 +3395,fugit,ut,3395 +3396,iusto,magnam,3396 +3397,debitis,quidem,3397 +3398,voluptatibus,aut,3398 +3399,ea,aspernatur,3399 +3400,in,odit,3400 +3401,nemo,est,3401 +3402,cum,ducimus,3402 +3403,consectetur,quae,3403 +3404,praesentium,hic,3404 +3405,recusandae,consectetur,3405 +3406,doloribus,amet,3406 +3407,et,sed,3407 +3408,et,ut,3408 +3409,nihil,vitae,3409 +3410,ullam,iusto,3410 +3411,qui,aut,3411 +3412,sapiente,officia,3412 +3413,rerum,adipisci,3413 +3414,omnis,rem,3414 +3415,unde,ut,3415 +3416,ut,illum,3416 +3417,et,et,3417 +3418,aliquid,rerum,3418 +3419,enim,facere,3419 +3420,esse,qui,3420 +3421,animi,eum,3421 +3422,modi,possimus,3422 +3423,reiciendis,incidunt,3423 +3424,soluta,dolor,3424 +3425,enim,id,3425 +3426,et,laboriosam,3426 +3427,aut,aliquid,3427 +3428,corporis,rerum,3428 +3429,officiis,et,3429 +3430,autem,qui,3430 +3431,et,expedita,3431 +3432,dolorem,suscipit,3432 +3433,quidem,voluptas,3433 +3434,dolore,est,3434 +3435,qui,porro,3435 +3436,omnis,et,3436 +3437,quos,dignissimos,3437 +3438,reiciendis,voluptatum,3438 +3439,omnis,quo,3439 +3440,id,saepe,3440 +3441,sint,illo,3441 +3442,voluptate,ab,3442 +3443,provident,iste,3443 +3444,numquam,eveniet,3444 +3445,fugiat,omnis,3445 +3446,nulla,nam,3446 +3447,ut,voluptatem,3447 +3448,omnis,dolores,3448 +3449,dolorem,id,3449 +3450,sit,non,3450 +3451,consequatur,minus,3451 +3452,recusandae,temporibus,3452 +3453,eveniet,vero,3453 +3454,nulla,blanditiis,3454 +3455,eius,dolorum,3455 +3456,voluptates,sit,3456 +3457,deserunt,nam,3457 +3458,consequatur,ducimus,3458 +3459,sed,aut,3459 +3460,tenetur,id,3460 +3461,recusandae,et,3461 +3462,ea,autem,3462 +3463,aut,eaque,3463 +3464,velit,enim,3464 +3465,unde,dolores,3465 +3466,architecto,repellendus,3466 +3467,reiciendis,qui,3467 +3468,pariatur,blanditiis,3468 +3469,eum,voluptatem,3469 +3470,consequatur,earum,3470 +3471,optio,soluta,3471 +3472,quibusdam,saepe,3472 +3473,sed,eos,3473 +3474,ipsum,eaque,3474 +3475,nobis,dolorem,3475 +3476,quo,rerum,3476 +3477,provident,vel,3477 +3478,corporis,laboriosam,3478 +3479,repudiandae,accusantium,3479 +3480,animi,illo,3480 +3481,aliquam,nisi,3481 +3482,officia,nisi,3482 +3483,atque,harum,3483 +3484,earum,sed,3484 +3485,ut,dicta,3485 +3486,ipsum,doloremque,3486 +3487,recusandae,doloribus,3487 +3488,laboriosam,dolorum,3488 +3489,aut,rem,3489 +3490,voluptatem,a,3490 +3491,quia,nisi,3491 +3492,ut,quis,3492 +3493,ut,dolores,3493 +3494,tempore,veritatis,3494 +3495,voluptatibus,iste,3495 +3496,necessitatibus,non,3496 +3497,quibusdam,aut,3497 +3498,delectus,molestiae,3498 +3499,reiciendis,id,3499 +3500,blanditiis,sed,3500 +3501,eaque,aut,3501 +3502,atque,doloremque,3502 +3503,aut,sed,3503 +3504,quam,quibusdam,3504 +3505,minus,consequatur,3505 +3506,odio,velit,3506 +3507,praesentium,et,3507 +3508,deserunt,nobis,3508 +3509,qui,laboriosam,3509 +3510,qui,quasi,3510 +3511,est,earum,3511 +3512,architecto,veniam,3512 +3513,sit,et,3513 +3514,possimus,blanditiis,3514 +3515,dolores,iusto,3515 +3516,molestiae,aut,3516 +3517,est,libero,3517 +3518,aliquid,officia,3518 +3519,tempora,impedit,3519 +3520,fuga,iure,3520 +3521,reprehenderit,aperiam,3521 +3522,voluptatem,tempore,3522 +3523,consequatur,iusto,3523 +3524,excepturi,quibusdam,3524 +3525,optio,enim,3525 +3526,quam,omnis,3526 +3527,possimus,consequatur,3527 +3528,praesentium,doloribus,3528 +3529,ea,quaerat,3529 +3530,pariatur,libero,3530 +3531,maxime,pariatur,3531 +3532,quae,hic,3532 +3533,minima,odit,3533 +3534,corrupti,hic,3534 +3535,suscipit,fugiat,3535 +3536,dolores,eos,3536 +3537,omnis,labore,3537 +3538,eligendi,nesciunt,3538 +3539,unde,sunt,3539 +3540,sed,perferendis,3540 +3541,qui,cumque,3541 +3542,occaecati,earum,3542 +3543,molestiae,aut,3543 +3544,nihil,excepturi,3544 +3545,dolor,esse,3545 +3546,ut,praesentium,3546 +3547,quia,deserunt,3547 +3548,quaerat,omnis,3548 +3549,quo,sunt,3549 +3550,repellendus,accusamus,3550 +3551,et,a,3551 +3552,perspiciatis,earum,3552 +3553,laboriosam,in,3553 +3554,tempore,molestiae,3554 +3555,unde,minima,3555 +3556,est,enim,3556 +3557,repudiandae,ut,3557 +3558,qui,eum,3558 +3559,vel,aut,3559 +3560,magni,animi,3560 +3561,libero,quo,3561 +3562,nulla,quibusdam,3562 +3563,ut,voluptatum,3563 +3564,voluptatem,et,3564 +3565,sit,qui,3565 +3566,et,architecto,3566 +3567,ipsum,et,3567 +3568,maiores,molestiae,3568 +3569,qui,dolor,3569 +3570,et,qui,3570 +3571,ex,aut,3571 +3572,expedita,asperiores,3572 +3573,autem,quisquam,3573 +3574,exercitationem,consequatur,3574 +3575,quae,omnis,3575 +3576,officiis,et,3576 +3577,vitae,praesentium,3577 +3578,explicabo,quasi,3578 +3579,quia,et,3579 +3580,repellendus,veniam,3580 +3581,necessitatibus,odio,3581 +3582,cumque,atque,3582 +3583,itaque,provident,3583 +3584,nulla,in,3584 +3585,rerum,facere,3585 +3586,ut,autem,3586 +3587,veritatis,occaecati,3587 +3588,voluptatibus,aliquam,3588 +3589,temporibus,autem,3589 +3590,voluptatem,ea,3590 +3591,dolore,est,3591 +3592,enim,est,3592 +3593,earum,nam,3593 +3594,vel,omnis,3594 +3595,et,deleniti,3595 +3596,dolorum,voluptatem,3596 +3597,nostrum,soluta,3597 +3598,dignissimos,quia,3598 +3599,cum,iure,3599 +3600,aspernatur,est,3600 +3601,dolorem,fugiat,3601 +3602,neque,laborum,3602 +3603,et,vel,3603 +3604,voluptatem,expedita,3604 +3605,sunt,rerum,3605 +3606,mollitia,et,3606 +3607,ad,quaerat,3607 +3608,illo,iusto,3608 +3609,sed,necessitatibus,3609 +3610,quidem,nihil,3610 +3611,quo,voluptatem,3611 +3612,vitae,autem,3612 +3613,et,aspernatur,3613 +3614,ea,inventore,3614 +3615,qui,voluptatem,3615 +3616,voluptates,consectetur,3616 +3617,illum,quibusdam,3617 +3618,nesciunt,ab,3618 +3619,repellat,illum,3619 +3620,optio,ut,3620 +3621,quisquam,voluptas,3621 +3622,ut,ipsa,3622 +3623,minus,voluptatem,3623 +3624,accusamus,sed,3624 +3625,eligendi,iste,3625 +3626,at,est,3626 +3627,culpa,et,3627 +3628,ex,dolores,3628 +3629,debitis,earum,3629 +3630,laborum,similique,3630 +3631,temporibus,consequatur,3631 +3632,qui,iste,3632 +3633,modi,non,3633 +3634,fugiat,et,3634 +3635,deserunt,odit,3635 +3636,dignissimos,quibusdam,3636 +3637,quia,dignissimos,3637 +3638,et,enim,3638 +3639,et,culpa,3639 +3640,voluptatem,nostrum,3640 +3641,doloribus,magni,3641 +3642,harum,sint,3642 +3643,similique,quis,3643 +3644,nihil,quia,3644 +3645,qui,sit,3645 +3646,rem,ratione,3646 +3647,molestias,dignissimos,3647 +3648,minima,aut,3648 +3649,molestias,sapiente,3649 +3650,qui,dolore,3650 +3651,ad,qui,3651 +3652,commodi,doloremque,3652 +3653,illum,atque,3653 +3654,dignissimos,rem,3654 +3655,ab,eaque,3655 +3656,qui,deserunt,3656 +3657,dolores,occaecati,3657 +3658,omnis,ut,3658 +3659,omnis,eum,3659 +3660,consequatur,pariatur,3660 +3661,sit,impedit,3661 +3662,itaque,labore,3662 +3663,quae,et,3663 +3664,sed,deleniti,3664 +3665,laudantium,autem,3665 +3666,voluptate,sed,3666 +3667,pariatur,officia,3667 +3668,labore,odit,3668 +3669,nisi,qui,3669 +3670,et,nihil,3670 +3671,occaecati,voluptas,3671 +3672,alias,magnam,3672 +3673,dolores,optio,3673 +3674,accusantium,rem,3674 +3675,qui,atque,3675 +3676,culpa,numquam,3676 +3677,veniam,sit,3677 +3678,sed,corporis,3678 +3679,amet,dolorem,3679 +3680,et,ut,3680 +3681,dolores,corrupti,3681 +3682,voluptates,dolor,3682 +3683,doloribus,unde,3683 +3684,perspiciatis,vitae,3684 +3685,odio,quo,3685 +3686,eaque,consequuntur,3686 +3687,mollitia,delectus,3687 +3688,odit,consequatur,3688 +3689,necessitatibus,eos,3689 +3690,perspiciatis,in,3690 +3691,officia,in,3691 +3692,a,error,3692 +3693,impedit,voluptas,3693 +3694,vitae,omnis,3694 +3695,quaerat,quis,3695 +3696,quo,asperiores,3696 +3697,quia,explicabo,3697 +3698,nulla,quam,3698 +3699,accusantium,expedita,3699 +3700,officiis,dolores,3700 +3701,nulla,quia,3701 +3702,doloribus,vel,3702 +3703,doloribus,beatae,3703 +3704,voluptatem,labore,3704 +3705,voluptate,rerum,3705 +3706,non,sint,3706 +3707,inventore,sit,3707 +3708,quisquam,quos,3708 +3709,aut,et,3709 +3710,blanditiis,repudiandae,3710 +3711,iusto,et,3711 +3712,eligendi,libero,3712 +3713,consequatur,consequatur,3713 +3714,maiores,ducimus,3714 +3715,eaque,nostrum,3715 +3716,nostrum,aut,3716 +3717,perspiciatis,nesciunt,3717 +3718,aut,quis,3718 +3719,veniam,quis,3719 +3720,veniam,maxime,3720 +3721,ullam,id,3721 +3722,sint,in,3722 +3723,modi,voluptas,3723 +3724,blanditiis,laudantium,3724 +3725,velit,voluptatibus,3725 +3726,aspernatur,rerum,3726 +3727,animi,et,3727 +3728,velit,aspernatur,3728 +3729,atque,quas,3729 +3730,minus,aut,3730 +3731,et,aspernatur,3731 +3732,delectus,modi,3732 +3733,repellendus,eius,3733 +3734,architecto,commodi,3734 +3735,sit,a,3735 +3736,molestiae,culpa,3736 +3737,corporis,maiores,3737 +3738,sapiente,dolor,3738 +3739,repellendus,dolores,3739 +3740,sit,mollitia,3740 +3741,cumque,sit,3741 +3742,excepturi,qui,3742 +3743,ipsa,voluptatibus,3743 +3744,totam,aut,3744 +3745,necessitatibus,molestias,3745 +3746,id,quia,3746 +3747,cum,voluptatem,3747 +3748,eum,earum,3748 +3749,rerum,vel,3749 +3750,est,ea,3750 +3751,enim,ut,3751 +3752,beatae,ipsam,3752 +3753,unde,in,3753 +3754,maiores,nihil,3754 +3755,magnam,et,3755 +3756,consequatur,perspiciatis,3756 +3757,voluptatem,odio,3757 +3758,qui,sunt,3758 +3759,sunt,et,3759 +3760,exercitationem,voluptas,3760 +3761,rerum,corporis,3761 +3762,aliquid,ratione,3762 +3763,minima,delectus,3763 +3764,est,quas,3764 +3765,placeat,consectetur,3765 +3766,expedita,iure,3766 +3767,reiciendis,doloremque,3767 +3768,molestias,tempora,3768 +3769,ullam,culpa,3769 +3770,dolorem,aliquid,3770 +3771,a,laudantium,3771 +3772,est,quo,3772 +3773,sit,qui,3773 +3774,et,minima,3774 +3775,tempora,cum,3775 +3776,quia,impedit,3776 +3777,occaecati,ducimus,3777 +3778,doloribus,facere,3778 +3779,et,porro,3779 +3780,et,consectetur,3780 +3781,incidunt,ab,3781 +3782,rerum,quod,3782 +3783,officia,aut,3783 +3784,dolorum,quod,3784 +3785,quidem,magni,3785 +3786,nemo,fugit,3786 +3787,aliquam,quaerat,3787 +3788,velit,soluta,3788 +3789,exercitationem,ut,3789 +3790,nesciunt,beatae,3790 +3791,dolores,tempora,3791 +3792,quaerat,autem,3792 +3793,delectus,exercitationem,3793 +3794,quia,et,3794 +3795,consequatur,architecto,3795 +3796,accusantium,possimus,3796 +3797,qui,rerum,3797 +3798,voluptatem,rem,3798 +3799,optio,rem,3799 +3800,earum,culpa,3800 +3801,et,eligendi,3801 +3802,ea,alias,3802 +3803,eum,dolores,3803 +3804,earum,similique,3804 +3805,rem,beatae,3805 +3806,voluptatem,animi,3806 +3807,veritatis,non,3807 +3808,accusamus,error,3808 +3809,aliquid,minus,3809 +3810,et,est,3810 +3811,et,error,3811 +3812,minima,quidem,3812 +3813,veniam,veritatis,3813 +3814,iste,asperiores,3814 +3815,enim,quaerat,3815 +3816,vero,consequatur,3816 +3817,laborum,itaque,3817 +3818,natus,neque,3818 +3819,eum,ut,3819 +3820,quae,officiis,3820 +3821,esse,accusantium,3821 +3822,consectetur,ut,3822 +3823,sunt,harum,3823 +3824,quos,rerum,3824 +3825,totam,consequatur,3825 +3826,similique,dolorem,3826 +3827,voluptas,quaerat,3827 +3828,maxime,minima,3828 +3829,velit,deserunt,3829 +3830,perspiciatis,placeat,3830 +3831,omnis,quaerat,3831 +3832,ipsa,repellat,3832 +3833,eius,aliquam,3833 +3834,maiores,et,3834 +3835,omnis,sint,3835 +3836,ut,soluta,3836 +3837,nobis,perferendis,3837 +3838,quaerat,et,3838 +3839,blanditiis,rerum,3839 +3840,quasi,repellendus,3840 +3841,commodi,deserunt,3841 +3842,veniam,officia,3842 +3843,voluptatem,qui,3843 +3844,cupiditate,aut,3844 +3845,quia,labore,3845 +3846,nobis,est,3846 +3847,labore,sint,3847 +3848,quis,officiis,3848 +3849,ullam,voluptatum,3849 +3850,enim,dignissimos,3850 +3851,officia,aliquid,3851 +3852,quis,et,3852 +3853,est,dolorum,3853 +3854,aliquam,rerum,3854 +3855,earum,aut,3855 +3856,voluptate,ad,3856 +3857,laborum,sit,3857 +3858,et,eius,3858 +3859,reprehenderit,qui,3859 +3860,est,ut,3860 +3861,facilis,modi,3861 +3862,beatae,qui,3862 +3863,architecto,tempora,3863 +3864,asperiores,sit,3864 +3865,id,et,3865 +3866,quis,delectus,3866 +3867,unde,et,3867 +3868,qui,quia,3868 +3869,ut,non,3869 +3870,sed,sit,3870 +3871,repudiandae,illum,3871 +3872,voluptas,quia,3872 +3873,ipsa,tempora,3873 +3874,cum,qui,3874 +3875,non,delectus,3875 +3876,sint,consequatur,3876 +3877,ratione,ratione,3877 +3878,est,est,3878 +3879,impedit,voluptate,3879 +3880,ab,iure,3880 +3881,et,asperiores,3881 +3882,id,vel,3882 +3883,ab,omnis,3883 +3884,sit,esse,3884 +3885,repellat,ab,3885 +3886,unde,et,3886 +3887,suscipit,doloribus,3887 +3888,dolore,doloribus,3888 +3889,non,natus,3889 +3890,molestias,molestiae,3890 +3891,occaecati,est,3891 +3892,quod,laborum,3892 +3893,sed,a,3893 +3894,quis,quos,3894 +3895,quo,earum,3895 +3896,delectus,et,3896 +3897,sit,et,3897 +3898,aut,deserunt,3898 +3899,et,ea,3899 +3900,numquam,sunt,3900 +3901,dolorem,et,3901 +3902,non,et,3902 +3903,a,eveniet,3903 +3904,magnam,voluptas,3904 +3905,laudantium,reprehenderit,3905 +3906,sed,unde,3906 +3907,sed,ea,3907 +3908,saepe,hic,3908 +3909,commodi,magnam,3909 +3910,suscipit,voluptate,3910 +3911,consequatur,incidunt,3911 +3912,laborum,cumque,3912 +3913,quo,velit,3913 +3914,inventore,est,3914 +3915,reiciendis,ut,3915 +3916,rem,dolor,3916 +3917,quia,eligendi,3917 +3918,debitis,et,3918 +3919,nemo,eos,3919 +3920,odit,rerum,3920 +3921,necessitatibus,dolorem,3921 +3922,consequatur,inventore,3922 +3923,repellendus,sed,3923 +3924,ratione,repellat,3924 +3925,qui,animi,3925 +3926,maxime,impedit,3926 +3927,quas,autem,3927 +3928,reprehenderit,unde,3928 +3929,neque,est,3929 +3930,et,excepturi,3930 +3931,ex,at,3931 +3932,voluptas,nihil,3932 +3933,maiores,ut,3933 +3934,molestiae,occaecati,3934 +3935,labore,fugit,3935 +3936,voluptatum,aliquid,3936 +3937,maxime,laborum,3937 +3938,quaerat,eos,3938 +3939,modi,animi,3939 +3940,accusantium,voluptatum,3940 +3941,alias,ducimus,3941 +3942,optio,sint,3942 +3943,nemo,et,3943 +3944,facilis,odio,3944 +3945,saepe,natus,3945 +3946,libero,et,3946 +3947,aliquid,illum,3947 +3948,reprehenderit,id,3948 +3949,at,et,3949 +3950,aut,ex,3950 +3951,facere,sequi,3951 +3952,natus,esse,3952 +3953,delectus,et,3953 +3954,qui,voluptas,3954 +3955,est,eaque,3955 +3956,consectetur,quos,3956 +3957,quas,commodi,3957 +3958,quis,hic,3958 +3959,commodi,asperiores,3959 +3960,consequuntur,qui,3960 +3961,perspiciatis,maxime,3961 +3962,et,velit,3962 +3963,incidunt,officiis,3963 +3964,architecto,consectetur,3964 +3965,nam,numquam,3965 +3966,in,sed,3966 +3967,harum,omnis,3967 +3968,eum,labore,3968 +3969,ullam,omnis,3969 +3970,praesentium,et,3970 +3971,ea,at,3971 +3972,culpa,voluptas,3972 +3973,aliquam,quae,3973 +3974,sint,quasi,3974 +3975,ut,doloremque,3975 +3976,in,est,3976 +3977,cumque,velit,3977 +3978,et,et,3978 +3979,explicabo,sint,3979 +3980,dolorum,aut,3980 +3981,odit,temporibus,3981 +3982,praesentium,voluptatem,3982 +3983,omnis,maiores,3983 +3984,dolores,accusantium,3984 +3985,autem,assumenda,3985 +3986,repudiandae,sequi,3986 +3987,eius,omnis,3987 +3988,magnam,accusantium,3988 +3989,ratione,tempore,3989 +3990,ut,aut,3990 +3991,est,ut,3991 +3992,cumque,dolore,3992 +3993,neque,id,3993 +3994,repellat,fugiat,3994 +3995,quod,aspernatur,3995 +3996,suscipit,facilis,3996 +3997,reprehenderit,debitis,3997 +3998,placeat,repudiandae,3998 +3999,velit,quia,3999 +4000,dolorem,nam,4000 +4001,voluptatem,non,4001 +4002,explicabo,in,4002 +4003,ullam,quas,4003 +4004,minima,sit,4004 +4005,omnis,accusamus,4005 +4006,ratione,magnam,4006 +4007,corporis,repudiandae,4007 +4008,eius,est,4008 +4009,commodi,aperiam,4009 +4010,ut,velit,4010 +4011,expedita,ea,4011 +4012,doloribus,dolorum,4012 +4013,ducimus,laborum,4013 +4014,possimus,sunt,4014 +4015,tenetur,et,4015 +4016,mollitia,distinctio,4016 +4017,qui,eum,4017 +4018,voluptas,architecto,4018 +4019,magni,quidem,4019 +4020,nostrum,labore,4020 +4021,maiores,quasi,4021 +4022,eos,id,4022 +4023,quia,consectetur,4023 +4024,doloribus,in,4024 +4025,maxime,reiciendis,4025 +4026,amet,aut,4026 +4027,sed,culpa,4027 +4028,sint,iusto,4028 +4029,quo,natus,4029 +4030,ea,et,4030 +4031,quo,omnis,4031 +4032,sint,nemo,4032 +4033,vitae,omnis,4033 +4034,quo,quod,4034 +4035,recusandae,animi,4035 +4036,qui,animi,4036 +4037,dolorem,nesciunt,4037 +4038,numquam,dolores,4038 +4039,sequi,id,4039 +4040,saepe,hic,4040 +4041,minus,est,4041 +4042,explicabo,mollitia,4042 +4043,perspiciatis,nihil,4043 +4044,eaque,et,4044 +4045,animi,sint,4045 +4046,mollitia,nisi,4046 +4047,ut,perspiciatis,4047 +4048,quo,consequatur,4048 +4049,est,quia,4049 +4050,rem,debitis,4050 +4051,fuga,et,4051 +4052,fugit,porro,4052 +4053,quam,iure,4053 +4054,cumque,eos,4054 +4055,ipsum,autem,4055 +4056,at,aspernatur,4056 +4057,unde,explicabo,4057 +4058,mollitia,rerum,4058 +4059,debitis,officia,4059 +4060,sunt,quo,4060 +4061,voluptas,ipsam,4061 +4062,asperiores,ut,4062 +4063,consequatur,iure,4063 +4064,sit,qui,4064 +4065,magni,aut,4065 +4066,asperiores,ipsum,4066 +4067,id,mollitia,4067 +4068,quam,a,4068 +4069,esse,sequi,4069 +4070,delectus,suscipit,4070 +4071,quas,exercitationem,4071 +4072,vero,necessitatibus,4072 +4073,est,culpa,4073 +4074,eius,non,4074 +4075,sed,quia,4075 +4076,quam,eum,4076 +4077,consequatur,praesentium,4077 +4078,eius,numquam,4078 +4079,et,id,4079 +4080,sint,quia,4080 +4081,perferendis,et,4081 +4082,perferendis,omnis,4082 +4083,praesentium,in,4083 +4084,quas,corrupti,4084 +4085,sunt,sed,4085 +4086,fuga,illo,4086 +4087,veritatis,vel,4087 +4088,laboriosam,harum,4088 +4089,beatae,commodi,4089 +4090,quisquam,nostrum,4090 +4091,et,placeat,4091 +4092,vitae,unde,4092 +4093,nesciunt,tenetur,4093 +4094,omnis,sint,4094 +4095,facilis,explicabo,4095 +4096,perferendis,magnam,4096 +4097,consectetur,eaque,4097 +4098,cumque,qui,4098 +4099,sit,ut,4099 +4100,non,ea,4100 +4101,est,saepe,4101 +4102,eos,qui,4102 +4103,et,et,4103 +4104,aut,voluptas,4104 +4105,quibusdam,sed,4105 +4106,enim,natus,4106 +4107,voluptate,dolores,4107 +4108,ducimus,omnis,4108 +4109,labore,et,4109 +4110,distinctio,eius,4110 +4111,optio,totam,4111 +4112,nisi,sed,4112 +4113,officiis,expedita,4113 +4114,mollitia,sit,4114 +4115,in,consequatur,4115 +4116,excepturi,nisi,4116 +4117,debitis,dolorem,4117 +4118,natus,doloremque,4118 +4119,assumenda,sit,4119 +4120,laudantium,expedita,4120 +4121,consequatur,voluptatem,4121 +4122,molestias,distinctio,4122 +4123,consequatur,eveniet,4123 +4124,enim,voluptates,4124 +4125,voluptas,quia,4125 +4126,provident,repellat,4126 +4127,id,commodi,4127 +4128,voluptatem,et,4128 +4129,reiciendis,sit,4129 +4130,incidunt,eos,4130 +4131,consequuntur,vero,4131 +4132,explicabo,corporis,4132 +4133,voluptate,voluptatem,4133 +4134,id,ab,4134 +4135,recusandae,nisi,4135 +4136,molestias,at,4136 +4137,fugiat,provident,4137 +4138,tenetur,accusantium,4138 +4139,quis,voluptatem,4139 +4140,hic,quaerat,4140 +4141,illum,earum,4141 +4142,rerum,et,4142 +4143,est,sit,4143 +4144,dolore,corrupti,4144 +4145,nihil,aut,4145 +4146,sint,illum,4146 +4147,sit,distinctio,4147 +4148,laudantium,quo,4148 +4149,et,pariatur,4149 +4150,impedit,quia,4150 +4151,at,debitis,4151 +4152,aut,quas,4152 +4153,nesciunt,soluta,4153 +4154,perspiciatis,et,4154 +4155,est,nostrum,4155 +4156,aliquid,expedita,4156 +4157,qui,tenetur,4157 +4158,distinctio,sint,4158 +4159,tempore,harum,4159 +4160,nulla,laborum,4160 +4161,voluptatem,iusto,4161 +4162,dicta,harum,4162 +4163,molestiae,a,4163 +4164,deserunt,minima,4164 +4165,dolore,animi,4165 +4166,sed,dolores,4166 +4167,aut,aliquid,4167 +4168,eligendi,nostrum,4168 +4169,quia,placeat,4169 +4170,modi,nesciunt,4170 +4171,aut,sed,4171 +4172,in,itaque,4172 +4173,et,amet,4173 +4174,dolores,ex,4174 +4175,modi,reiciendis,4175 +4176,ipsa,dolorem,4176 +4177,non,veritatis,4177 +4178,cum,sunt,4178 +4179,molestias,ut,4179 +4180,nostrum,et,4180 +4181,ab,aut,4181 +4182,nihil,voluptatem,4182 +4183,sequi,optio,4183 +4184,impedit,eum,4184 +4185,ut,aliquid,4185 +4186,ex,mollitia,4186 +4187,reiciendis,tenetur,4187 +4188,rerum,ipsam,4188 +4189,sit,dolor,4189 +4190,quas,aut,4190 +4191,sequi,sit,4191 +4192,consequatur,sequi,4192 +4193,et,minus,4193 +4194,reprehenderit,repellat,4194 +4195,doloremque,est,4195 +4196,qui,modi,4196 +4197,voluptatum,deleniti,4197 +4198,amet,et,4198 +4199,laborum,culpa,4199 +4200,accusamus,nisi,4200 +4201,suscipit,occaecati,4201 +4202,est,laboriosam,4202 +4203,eius,quia,4203 +4204,cupiditate,quasi,4204 +4205,quisquam,dolores,4205 +4206,et,id,4206 +4207,dolorem,et,4207 +4208,unde,ex,4208 +4209,quidem,et,4209 +4210,quibusdam,eligendi,4210 +4211,atque,eligendi,4211 +4212,sed,quam,4212 +4213,dolorem,laudantium,4213 +4214,sit,minima,4214 +4215,saepe,magni,4215 +4216,repudiandae,alias,4216 +4217,sed,qui,4217 +4218,quis,ex,4218 +4219,explicabo,error,4219 +4220,omnis,consectetur,4220 +4221,officiis,magnam,4221 +4222,id,officiis,4222 +4223,porro,enim,4223 +4224,cum,atque,4224 +4225,nobis,asperiores,4225 +4226,minus,repellendus,4226 +4227,et,sint,4227 +4228,id,sint,4228 +4229,ut,enim,4229 +4230,eveniet,tempora,4230 +4231,libero,aut,4231 +4232,assumenda,laudantium,4232 +4233,at,nesciunt,4233 +4234,et,rerum,4234 +4235,asperiores,consequuntur,4235 +4236,soluta,doloribus,4236 +4237,et,et,4237 +4238,natus,rerum,4238 +4239,fugit,occaecati,4239 +4240,dolores,debitis,4240 +4241,numquam,saepe,4241 +4242,et,tenetur,4242 +4243,quod,omnis,4243 +4244,aut,et,4244 +4245,ex,sint,4245 +4246,temporibus,autem,4246 +4247,et,provident,4247 +4248,doloribus,iusto,4248 +4249,ut,facilis,4249 +4250,eum,a,4250 +4251,placeat,et,4251 +4252,rerum,aliquid,4252 +4253,dicta,quibusdam,4253 +4254,explicabo,molestiae,4254 +4255,et,officia,4255 +4256,dolores,provident,4256 +4257,corrupti,aliquid,4257 +4258,consequatur,quia,4258 +4259,itaque,non,4259 +4260,quia,adipisci,4260 +4261,dolorem,dolore,4261 +4262,unde,autem,4262 +4263,vitae,voluptas,4263 +4264,sint,quos,4264 +4265,vel,non,4265 +4266,ullam,corporis,4266 +4267,quam,occaecati,4267 +4268,vel,harum,4268 +4269,sint,quos,4269 +4270,fugit,quia,4270 +4271,qui,illo,4271 +4272,ipsam,deleniti,4272 +4273,omnis,magnam,4273 +4274,delectus,atque,4274 +4275,qui,iste,4275 +4276,voluptates,dolores,4276 +4277,voluptatem,illo,4277 +4278,aspernatur,sapiente,4278 +4279,maiores,fugiat,4279 +4280,qui,molestiae,4280 +4281,consequuntur,ipsum,4281 +4282,quia,modi,4282 +4283,est,eum,4283 +4284,at,aperiam,4284 +4285,culpa,soluta,4285 +4286,nulla,nisi,4286 +4287,quas,accusamus,4287 +4288,provident,id,4288 +4289,rerum,culpa,4289 +4290,autem,odit,4290 +4291,laborum,aspernatur,4291 +4292,unde,tempore,4292 +4293,aut,minus,4293 +4294,quae,eius,4294 +4295,quo,quas,4295 +4296,minus,deserunt,4296 +4297,nisi,et,4297 +4298,consequatur,hic,4298 +4299,earum,et,4299 +4300,vero,consequatur,4300 +4301,libero,et,4301 +4302,est,quia,4302 +4303,suscipit,sed,4303 +4304,rem,qui,4304 +4305,quae,quam,4305 +4306,tempora,eos,4306 +4307,ipsum,iusto,4307 +4308,debitis,qui,4308 +4309,eum,non,4309 +4310,aut,necessitatibus,4310 +4311,occaecati,quo,4311 +4312,atque,quidem,4312 +4313,non,ea,4313 +4314,et,et,4314 +4315,quia,praesentium,4315 +4316,placeat,iusto,4316 +4317,quia,cumque,4317 +4318,laboriosam,nam,4318 +4319,porro,dolorem,4319 +4320,neque,accusantium,4320 +4321,natus,corporis,4321 +4322,non,itaque,4322 +4323,reiciendis,officiis,4323 +4324,ut,ut,4324 +4325,alias,accusamus,4325 +4326,et,nihil,4326 +4327,consectetur,illum,4327 +4328,expedita,ipsa,4328 +4329,repellendus,repellat,4329 +4330,non,maxime,4330 +4331,itaque,ut,4331 +4332,itaque,aut,4332 +4333,velit,at,4333 +4334,quod,harum,4334 +4335,et,aut,4335 +4336,suscipit,et,4336 +4337,omnis,repellat,4337 +4338,est,fugiat,4338 +4339,assumenda,consequatur,4339 +4340,sed,et,4340 +4341,exercitationem,unde,4341 +4342,enim,velit,4342 +4343,sit,iusto,4343 +4344,qui,laudantium,4344 +4345,dolor,voluptas,4345 +4346,cupiditate,et,4346 +4347,et,nisi,4347 +4348,labore,doloribus,4348 +4349,rerum,molestiae,4349 +4350,qui,qui,4350 +4351,ut,minima,4351 +4352,et,dolorem,4352 +4353,sit,ut,4353 +4354,fugiat,veritatis,4354 +4355,inventore,rem,4355 +4356,iure,voluptatem,4356 +4357,illo,sint,4357 +4358,magnam,recusandae,4358 +4359,qui,et,4359 +4360,fuga,a,4360 +4361,voluptates,aliquid,4361 +4362,nihil,similique,4362 +4363,ut,cumque,4363 +4364,corrupti,omnis,4364 +4365,harum,iure,4365 +4366,recusandae,saepe,4366 +4367,sint,magni,4367 +4368,nemo,voluptatem,4368 +4369,enim,necessitatibus,4369 +4370,et,aut,4370 +4371,sapiente,ducimus,4371 +4372,voluptas,cumque,4372 +4373,perspiciatis,neque,4373 +4374,quasi,nobis,4374 +4375,sit,debitis,4375 +4376,rerum,cupiditate,4376 +4377,quas,fuga,4377 +4378,iste,voluptatem,4378 +4379,rerum,voluptas,4379 +4380,temporibus,quis,4380 +4381,minima,ratione,4381 +4382,dolores,eveniet,4382 +4383,reiciendis,dolor,4383 +4384,repudiandae,quas,4384 +4385,beatae,odio,4385 +4386,ut,ad,4386 +4387,autem,doloribus,4387 +4388,dolor,ut,4388 +4389,rem,in,4389 +4390,natus,ut,4390 +4391,amet,enim,4391 +4392,sit,ut,4392 +4393,aut,quia,4393 +4394,id,enim,4394 +4395,tempore,optio,4395 +4396,ut,in,4396 +4397,sed,ratione,4397 +4398,quo,laborum,4398 +4399,suscipit,totam,4399 +4400,ad,dignissimos,4400 +4401,consequatur,et,4401 +4402,laudantium,non,4402 +4403,soluta,atque,4403 +4404,cum,esse,4404 +4405,ad,fuga,4405 +4406,dolor,sint,4406 +4407,et,sunt,4407 +4408,earum,atque,4408 +4409,fugit,exercitationem,4409 +4410,aut,praesentium,4410 +4411,neque,natus,4411 +4412,nemo,ea,4412 +4413,autem,fuga,4413 +4414,autem,fugit,4414 +4415,eaque,vel,4415 +4416,eum,optio,4416 +4417,sit,ut,4417 +4418,ea,earum,4418 +4419,voluptatum,facilis,4419 +4420,sit,ut,4420 +4421,vitae,assumenda,4421 +4422,voluptate,est,4422 +4423,at,sed,4423 +4424,eligendi,libero,4424 +4425,quia,natus,4425 +4426,laudantium,non,4426 +4427,minus,sequi,4427 +4428,facilis,ratione,4428 +4429,quis,quasi,4429 +4430,sunt,porro,4430 +4431,accusantium,magni,4431 +4432,quibusdam,sunt,4432 +4433,cupiditate,quo,4433 +4434,accusamus,nostrum,4434 +4435,praesentium,facilis,4435 +4436,debitis,tempora,4436 +4437,consectetur,ut,4437 +4438,temporibus,saepe,4438 +4439,minus,nobis,4439 +4440,qui,deserunt,4440 +4441,exercitationem,in,4441 +4442,quibusdam,maiores,4442 +4443,odit,ullam,4443 +4444,id,omnis,4444 +4445,suscipit,voluptatem,4445 +4446,perferendis,consequatur,4446 +4447,et,similique,4447 +4448,nemo,ipsum,4448 +4449,vel,occaecati,4449 +4450,ut,ratione,4450 +4451,modi,enim,4451 +4452,esse,placeat,4452 +4453,autem,soluta,4453 +4454,consequatur,perferendis,4454 +4455,qui,rerum,4455 +4456,soluta,quaerat,4456 +4457,sint,id,4457 +4458,aut,dignissimos,4458 +4459,ipsa,facilis,4459 +4460,nulla,numquam,4460 +4461,enim,et,4461 +4462,similique,laudantium,4462 +4463,voluptas,facere,4463 +4464,magni,sed,4464 +4465,temporibus,quia,4465 +4466,aut,esse,4466 +4467,possimus,molestiae,4467 +4468,assumenda,corporis,4468 +4469,minus,sunt,4469 +4470,dolores,dolores,4470 +4471,excepturi,consequuntur,4471 +4472,enim,consectetur,4472 +4473,incidunt,cum,4473 +4474,distinctio,aliquid,4474 +4475,mollitia,sed,4475 +4476,voluptas,et,4476 +4477,provident,ad,4477 +4478,eligendi,quia,4478 +4479,provident,aperiam,4479 +4480,quia,vitae,4480 +4481,nemo,et,4481 +4482,dolor,a,4482 +4483,labore,totam,4483 +4484,eveniet,quod,4484 +4485,id,omnis,4485 +4486,et,esse,4486 +4487,non,quo,4487 +4488,aliquam,accusamus,4488 +4489,qui,eveniet,4489 +4490,consequatur,temporibus,4490 +4491,distinctio,natus,4491 +4492,aliquam,non,4492 +4493,pariatur,minima,4493 +4494,magnam,nihil,4494 +4495,corrupti,voluptas,4495 +4496,eum,voluptas,4496 +4497,sed,dicta,4497 +4498,quis,sequi,4498 +4499,voluptas,exercitationem,4499 +4500,neque,qui,4500 +4501,eum,consequatur,4501 +4502,ut,perferendis,4502 +4503,quaerat,dolorum,4503 +4504,soluta,officiis,4504 +4505,porro,ea,4505 +4506,itaque,laboriosam,4506 +4507,autem,aliquid,4507 +4508,odio,aut,4508 +4509,blanditiis,illum,4509 +4510,non,tempore,4510 +4511,error,itaque,4511 +4512,maxime,et,4512 +4513,eaque,fugiat,4513 +4514,esse,debitis,4514 +4515,sed,aut,4515 +4516,velit,qui,4516 +4517,molestias,inventore,4517 +4518,ipsa,libero,4518 +4519,velit,tempora,4519 +4520,recusandae,error,4520 +4521,qui,eos,4521 +4522,amet,ipsa,4522 +4523,voluptas,neque,4523 +4524,rerum,voluptatem,4524 +4525,enim,laboriosam,4525 +4526,laboriosam,in,4526 +4527,rerum,rerum,4527 +4528,minima,nulla,4528 +4529,earum,labore,4529 +4530,molestiae,non,4530 +4531,et,ipsam,4531 +4532,molestias,eum,4532 +4533,nemo,voluptatem,4533 +4534,similique,consequatur,4534 +4535,omnis,ab,4535 +4536,nisi,aut,4536 +4537,molestias,ipsam,4537 +4538,eligendi,quo,4538 +4539,voluptatem,ut,4539 +4540,ut,sit,4540 +4541,et,possimus,4541 +4542,sint,delectus,4542 +4543,consequatur,aut,4543 +4544,nisi,optio,4544 +4545,nam,sit,4545 +4546,iusto,est,4546 +4547,earum,nostrum,4547 +4548,nihil,quam,4548 +4549,consectetur,dignissimos,4549 +4550,et,et,4550 +4551,quia,corporis,4551 +4552,molestiae,sequi,4552 +4553,voluptas,est,4553 +4554,impedit,dolor,4554 +4555,vel,commodi,4555 +4556,dolores,explicabo,4556 +4557,dolores,amet,4557 +4558,asperiores,culpa,4558 +4559,ullam,necessitatibus,4559 +4560,voluptatem,quam,4560 +4561,asperiores,exercitationem,4561 +4562,et,vel,4562 +4563,omnis,expedita,4563 +4564,doloremque,dignissimos,4564 +4565,recusandae,quia,4565 +4566,tempore,eum,4566 +4567,voluptas,officiis,4567 +4568,impedit,suscipit,4568 +4569,sed,facilis,4569 +4570,aut,aliquam,4570 +4571,eos,omnis,4571 +4572,possimus,rerum,4572 +4573,consequatur,mollitia,4573 +4574,voluptas,tempore,4574 +4575,pariatur,sapiente,4575 +4576,deleniti,veritatis,4576 +4577,sunt,id,4577 +4578,ad,et,4578 +4579,quod,quod,4579 +4580,minus,beatae,4580 +4581,est,aut,4581 +4582,maiores,et,4582 +4583,eius,laboriosam,4583 +4584,consectetur,temporibus,4584 +4585,unde,omnis,4585 +4586,possimus,aut,4586 +4587,quos,animi,4587 +4588,in,quae,4588 +4589,quia,qui,4589 +4590,tempore,possimus,4590 +4591,aliquam,praesentium,4591 +4592,est,non,4592 +4593,minus,fuga,4593 +4594,vel,fuga,4594 +4595,et,enim,4595 +4596,beatae,magni,4596 +4597,nisi,voluptatem,4597 +4598,et,nemo,4598 +4599,qui,minima,4599 +4600,facilis,non,4600 +4601,fugiat,non,4601 +4602,non,sint,4602 +4603,maxime,est,4603 +4604,porro,qui,4604 +4605,unde,modi,4605 +4606,inventore,consectetur,4606 +4607,est,qui,4607 +4608,illum,sit,4608 +4609,illo,ea,4609 +4610,corrupti,est,4610 +4611,et,est,4611 +4612,porro,distinctio,4612 +4613,qui,autem,4613 +4614,sunt,delectus,4614 +4615,similique,quos,4615 +4616,molestiae,nihil,4616 +4617,qui,maxime,4617 +4618,quas,libero,4618 +4619,voluptate,id,4619 +4620,libero,modi,4620 +4621,voluptas,qui,4621 +4622,architecto,minus,4622 +4623,itaque,reiciendis,4623 +4624,rerum,praesentium,4624 +4625,temporibus,est,4625 +4626,blanditiis,est,4626 +4627,accusamus,inventore,4627 +4628,aperiam,voluptatibus,4628 +4629,sunt,minima,4629 +4630,ipsam,id,4630 +4631,aut,pariatur,4631 +4632,at,itaque,4632 +4633,nihil,fugit,4633 +4634,vero,sed,4634 +4635,eaque,non,4635 +4636,assumenda,veritatis,4636 +4637,ipsam,eum,4637 +4638,dolorem,sed,4638 +4639,esse,tempora,4639 +4640,doloremque,odit,4640 +4641,sit,ipsam,4641 +4642,a,qui,4642 +4643,reprehenderit,dolore,4643 +4644,labore,necessitatibus,4644 +4645,velit,quia,4645 +4646,vitae,dignissimos,4646 +4647,incidunt,eaque,4647 +4648,ab,commodi,4648 +4649,perspiciatis,itaque,4649 +4650,ullam,voluptas,4650 +4651,qui,sit,4651 +4652,ducimus,rerum,4652 +4653,voluptas,voluptates,4653 +4654,eos,animi,4654 +4655,assumenda,deleniti,4655 +4656,repellat,sunt,4656 +4657,voluptate,illo,4657 +4658,est,similique,4658 +4659,vel,corporis,4659 +4660,pariatur,dicta,4660 +4661,sapiente,quisquam,4661 +4662,aut,quibusdam,4662 +4663,molestiae,in,4663 +4664,eligendi,ea,4664 +4665,tenetur,corrupti,4665 +4666,itaque,quia,4666 +4667,sed,facere,4667 +4668,occaecati,excepturi,4668 +4669,et,veritatis,4669 +4670,veniam,repudiandae,4670 +4671,itaque,nobis,4671 +4672,iusto,qui,4672 +4673,suscipit,voluptate,4673 +4674,sit,beatae,4674 +4675,commodi,nobis,4675 +4676,qui,voluptas,4676 +4677,enim,fugiat,4677 +4678,quod,dolor,4678 +4679,accusamus,et,4679 +4680,veniam,ut,4680 +4681,necessitatibus,consequatur,4681 +4682,vitae,magni,4682 +4683,velit,odit,4683 +4684,debitis,accusamus,4684 +4685,perferendis,eum,4685 +4686,ipsam,repellat,4686 +4687,hic,voluptatem,4687 +4688,est,rerum,4688 +4689,sequi,sit,4689 +4690,sit,qui,4690 +4691,ullam,animi,4691 +4692,voluptatibus,ipsum,4692 +4693,voluptatem,nam,4693 +4694,aliquam,iste,4694 +4695,ipsam,enim,4695 +4696,neque,reiciendis,4696 +4697,ut,et,4697 +4698,voluptatem,aut,4698 +4699,maiores,accusantium,4699 +4700,pariatur,dolor,4700 +4701,doloribus,voluptatum,4701 +4702,architecto,perspiciatis,4702 +4703,officia,ad,4703 +4704,voluptas,quod,4704 +4705,dolor,esse,4705 +4706,omnis,at,4706 +4707,esse,accusantium,4707 +4708,atque,tempora,4708 +4709,a,dicta,4709 +4710,maiores,et,4710 +4711,sed,rerum,4711 +4712,explicabo,dolorem,4712 +4713,vel,ipsum,4713 +4714,omnis,est,4714 +4715,dolorum,aut,4715 +4716,animi,repellat,4716 +4717,cumque,veniam,4717 +4718,cumque,dolorum,4718 +4719,animi,placeat,4719 +4720,cupiditate,vel,4720 +4721,eius,deleniti,4721 +4722,nostrum,est,4722 +4723,nemo,quam,4723 +4724,odio,doloribus,4724 +4725,odio,reiciendis,4725 +4726,nulla,non,4726 +4727,temporibus,vel,4727 +4728,veritatis,dicta,4728 +4729,maiores,error,4729 +4730,est,officia,4730 +4731,omnis,magnam,4731 +4732,laborum,repellendus,4732 +4733,expedita,est,4733 +4734,aut,quaerat,4734 +4735,ut,quia,4735 +4736,esse,sunt,4736 +4737,accusamus,consequatur,4737 +4738,magnam,eum,4738 +4739,qui,asperiores,4739 +4740,amet,temporibus,4740 +4741,veniam,illo,4741 +4742,culpa,delectus,4742 +4743,occaecati,maiores,4743 +4744,necessitatibus,consequatur,4744 +4745,inventore,ad,4745 +4746,qui,voluptatem,4746 +4747,earum,ipsam,4747 +4748,eveniet,rerum,4748 +4749,minima,error,4749 +4750,aliquam,dicta,4750 +4751,necessitatibus,et,4751 +4752,earum,sed,4752 +4753,veritatis,et,4753 +4754,tempora,rerum,4754 +4755,consequatur,nostrum,4755 +4756,fugiat,officiis,4756 +4757,explicabo,ea,4757 +4758,odio,alias,4758 +4759,nam,distinctio,4759 +4760,et,animi,4760 +4761,est,non,4761 +4762,quae,numquam,4762 +4763,et,velit,4763 +4764,deserunt,ut,4764 +4765,quia,minus,4765 +4766,nihil,voluptas,4766 +4767,nulla,voluptatem,4767 +4768,possimus,quis,4768 +4769,unde,nam,4769 +4770,sed,qui,4770 +4771,omnis,recusandae,4771 +4772,dolorem,id,4772 +4773,laborum,minima,4773 +4774,aut,rem,4774 +4775,dolores,pariatur,4775 +4776,officiis,atque,4776 +4777,quia,esse,4777 +4778,ex,asperiores,4778 +4779,et,magni,4779 +4780,omnis,aut,4780 +4781,sunt,et,4781 +4782,eveniet,minima,4782 +4783,tenetur,ea,4783 +4784,similique,debitis,4784 +4785,aut,sed,4785 +4786,occaecati,unde,4786 +4787,similique,officiis,4787 +4788,possimus,repudiandae,4788 +4789,consequuntur,ducimus,4789 +4790,impedit,consectetur,4790 +4791,sunt,eum,4791 +4792,similique,eaque,4792 +4793,distinctio,ea,4793 +4794,numquam,atque,4794 +4795,dolor,et,4795 +4796,molestias,eos,4796 +4797,distinctio,quidem,4797 +4798,et,similique,4798 +4799,officia,occaecati,4799 +4800,sit,qui,4800 +4801,nam,vero,4801 +4802,dolore,laborum,4802 +4803,dolorum,id,4803 +4804,id,et,4804 +4805,quos,non,4805 +4806,esse,nesciunt,4806 +4807,omnis,maxime,4807 +4808,est,ullam,4808 +4809,praesentium,repellendus,4809 +4810,et,reprehenderit,4810 +4811,hic,veniam,4811 +4812,non,voluptas,4812 +4813,omnis,adipisci,4813 +4814,totam,nihil,4814 +4815,sunt,ut,4815 +4816,numquam,est,4816 +4817,repellat,occaecati,4817 +4818,doloribus,natus,4818 +4819,delectus,sapiente,4819 +4820,minima,nostrum,4820 +4821,molestias,sequi,4821 +4822,eum,odio,4822 +4823,id,aut,4823 +4824,porro,non,4824 +4825,nihil,et,4825 +4826,quisquam,esse,4826 +4827,ea,facilis,4827 +4828,tempora,suscipit,4828 +4829,ut,aspernatur,4829 +4830,unde,quia,4830 +4831,quae,at,4831 +4832,error,voluptas,4832 +4833,aut,eum,4833 +4834,quia,aut,4834 +4835,incidunt,sed,4835 +4836,quasi,qui,4836 +4837,minima,beatae,4837 +4838,perferendis,veniam,4838 +4839,quaerat,cupiditate,4839 +4840,quisquam,quia,4840 +4841,nam,dicta,4841 +4842,et,nam,4842 +4843,perspiciatis,ullam,4843 +4844,aspernatur,dolores,4844 +4845,esse,autem,4845 +4846,sit,minima,4846 +4847,quasi,vitae,4847 +4848,et,non,4848 +4849,pariatur,doloribus,4849 +4850,eum,aperiam,4850 +4851,velit,a,4851 +4852,et,vitae,4852 +4853,aut,culpa,4853 +4854,quaerat,doloribus,4854 +4855,quia,eos,4855 +4856,eligendi,quam,4856 +4857,doloribus,ipsam,4857 +4858,quaerat,nisi,4858 +4859,laudantium,qui,4859 +4860,eum,quisquam,4860 +4861,voluptas,et,4861 +4862,animi,quis,4862 +4863,suscipit,nemo,4863 +4864,ab,cupiditate,4864 +4865,corporis,et,4865 +4866,odit,amet,4866 +4867,sed,qui,4867 +4868,voluptatibus,placeat,4868 +4869,cumque,temporibus,4869 +4870,dolor,quos,4870 +4871,eum,nemo,4871 +4872,inventore,architecto,4872 +4873,molestias,nemo,4873 +4874,incidunt,earum,4874 +4875,consequatur,aut,4875 +4876,ut,non,4876 +4877,facere,aut,4877 +4878,cumque,soluta,4878 +4879,nisi,fugiat,4879 +4880,corporis,perspiciatis,4880 +4881,ut,voluptatem,4881 +4882,reprehenderit,vitae,4882 +4883,et,qui,4883 +4884,fugiat,est,4884 +4885,laudantium,aliquid,4885 +4886,sunt,facilis,4886 +4887,voluptate,ut,4887 +4888,aut,omnis,4888 +4889,aliquam,eos,4889 +4890,maxime,quidem,4890 +4891,sapiente,qui,4891 +4892,inventore,porro,4892 +4893,rerum,labore,4893 +4894,odit,repudiandae,4894 +4895,aut,laudantium,4895 +4896,suscipit,inventore,4896 +4897,ad,ratione,4897 +4898,maiores,esse,4898 +4899,qui,a,4899 +4900,rem,accusantium,4900 +4901,id,est,4901 +4902,dolorem,aperiam,4902 +4903,tempora,vel,4903 +4904,aliquam,aperiam,4904 +4905,omnis,amet,4905 +4906,reiciendis,quam,4906 +4907,ex,eos,4907 +4908,autem,ad,4908 +4909,corrupti,magnam,4909 +4910,cupiditate,aspernatur,4910 +4911,cupiditate,consequatur,4911 +4912,sint,dicta,4912 +4913,fugiat,saepe,4913 +4914,perspiciatis,quia,4914 +4915,aut,expedita,4915 +4916,et,et,4916 +4917,vel,sunt,4917 +4918,iste,illum,4918 +4919,exercitationem,omnis,4919 +4920,quas,voluptatem,4920 +4921,perspiciatis,velit,4921 +4922,iure,quo,4922 +4923,unde,eum,4923 +4924,vero,maiores,4924 +4925,a,quis,4925 +4926,labore,sapiente,4926 +4927,vel,expedita,4927 +4928,qui,qui,4928 +4929,qui,eius,4929 +4930,exercitationem,non,4930 +4931,nam,ut,4931 +4932,qui,nihil,4932 +4933,et,esse,4933 +4934,incidunt,saepe,4934 +4935,et,nihil,4935 +4936,quos,culpa,4936 +4937,repudiandae,quo,4937 +4938,voluptatibus,autem,4938 +4939,dolores,voluptatem,4939 +4940,sed,labore,4940 +4941,quaerat,deserunt,4941 +4942,et,nostrum,4942 +4943,officiis,architecto,4943 +4944,laboriosam,nesciunt,4944 +4945,ducimus,distinctio,4945 +4946,repellendus,saepe,4946 +4947,aut,fugit,4947 +4948,architecto,iste,4948 +4949,porro,illum,4949 +4950,pariatur,qui,4950 +4951,ea,nam,4951 +4952,voluptas,est,4952 +4953,nostrum,error,4953 +4954,delectus,suscipit,4954 +4955,consectetur,error,4955 +4956,repellat,velit,4956 +4957,aliquid,ut,4957 +4958,pariatur,maxime,4958 +4959,ut,ea,4959 +4960,facilis,non,4960 +4961,in,iusto,4961 +4962,ipsa,est,4962 +4963,repellendus,distinctio,4963 +4964,nobis,eos,4964 +4965,laborum,voluptatibus,4965 +4966,tempore,ut,4966 +4967,ea,vel,4967 +4968,consequatur,doloribus,4968 +4969,aliquam,officiis,4969 +4970,ipsum,a,4970 +4971,iusto,soluta,4971 +4972,sunt,facilis,4972 +4973,nobis,veritatis,4973 +4974,qui,minima,4974 +4975,dolorem,sint,4975 +4976,mollitia,tenetur,4976 +4977,aut,atque,4977 +4978,ducimus,optio,4978 +4979,ipsa,voluptas,4979 +4980,blanditiis,voluptatem,4980 +4981,error,porro,4981 +4982,sequi,nam,4982 +4983,omnis,possimus,4983 +4984,sit,inventore,4984 +4985,quisquam,suscipit,4985 +4986,voluptatum,id,4986 +4987,voluptatibus,dolores,4987 +4988,nesciunt,et,4988 +4989,fuga,quos,4989 +4990,sed,veniam,4990 +4991,est,maiores,4991 +4992,ut,autem,4992 +4993,quia,voluptatem,4993 +4994,et,dolores,4994 +4995,nisi,voluptatibus,4995 +4996,quae,nostrum,4996 +4997,accusantium,animi,4997 +4998,animi,veniam,4998 +4999,velit,sed,4999 +5000,reprehenderit,eos,5000 diff --git a/Java-Executor/java-executor-tutorial/data/customer-data - Copy (3).txt b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (3).txt new file mode 100644 index 0000000..d36e8c7 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (3).txt @@ -0,0 +1,5000 @@ +1,omnis,adipisci,1 +2,ullam,ratione,2 +3,iusto,laborum,3 +4,animi,porro,4 +5,est,quod,5 +6,nemo,consequatur,6 +7,inventore,harum,7 +8,quidem,sed,8 +9,nostrum,distinctio,9 +10,est,sint,10 +11,fugiat,facilis,11 +12,architecto,molestiae,12 +13,qui,perspiciatis,13 +14,rerum,omnis,14 +15,rerum,quia,15 +16,non,sunt,16 +17,beatae,illo,17 +18,modi,quia,18 +19,aut,harum,19 +20,ratione,est,20 +21,molestias,aliquid,21 +22,autem,qui,22 +23,consectetur,eos,23 +24,omnis,dolorem,24 +25,consequatur,nam,25 +26,quis,suscipit,26 +27,nihil,et,27 +28,rerum,qui,28 +29,occaecati,eligendi,29 +30,exercitationem,voluptas,30 +31,suscipit,quibusdam,31 +32,blanditiis,qui,32 +33,quo,reiciendis,33 +34,quo,nesciunt,34 +35,aut,aut,35 +36,harum,est,36 +37,voluptas,est,37 +38,beatae,animi,38 +39,aut,a,39 +40,ut,sint,40 +41,voluptatem,non,41 +42,et,in,42 +43,officiis,rerum,43 +44,doloremque,in,44 +45,officiis,corporis,45 +46,sed,quia,46 +47,consequatur,qui,47 +48,quia,voluptates,48 +49,minima,omnis,49 +50,quasi,qui,50 +51,suscipit,incidunt,51 +52,ad,doloribus,52 +53,voluptate,accusantium,53 +54,praesentium,eveniet,54 +55,accusamus,at,55 +56,nihil,sed,56 +57,qui,iusto,57 +58,consequuntur,dolores,58 +59,occaecati,reprehenderit,59 +60,totam,quia,60 +61,qui,facilis,61 +62,quia,delectus,62 +63,sit,ab,63 +64,quo,iure,64 +65,rem,quis,65 +66,unde,sint,66 +67,nulla,eligendi,67 +68,in,itaque,68 +69,et,sed,69 +70,ullam,quia,70 +71,dolores,similique,71 +72,praesentium,reprehenderit,72 +73,officiis,occaecati,73 +74,eos,enim,74 +75,odit,aliquam,75 +76,modi,et,76 +77,architecto,non,77 +78,hic,dolor,78 +79,rerum,rerum,79 +80,nihil,laudantium,80 +81,quidem,beatae,81 +82,sint,repellendus,82 +83,nobis,aut,83 +84,ut,beatae,84 +85,molestiae,at,85 +86,dolor,voluptatem,86 +87,voluptates,aut,87 +88,fuga,laborum,88 +89,voluptas,dicta,89 +90,cum,temporibus,90 +91,nesciunt,rerum,91 +92,est,tempora,92 +93,ratione,ducimus,93 +94,eum,aut,94 +95,neque,quae,95 +96,dolore,sunt,96 +97,voluptas,quibusdam,97 +98,omnis,temporibus,98 +99,ipsa,delectus,99 +100,non,illum,100 +101,consequuntur,et,101 +102,non,eum,102 +103,enim,unde,103 +104,itaque,provident,104 +105,quod,nesciunt,105 +106,sed,non,106 +107,commodi,qui,107 +108,odio,soluta,108 +109,inventore,assumenda,109 +110,officia,in,110 +111,quis,dolorem,111 +112,harum,sed,112 +113,autem,reprehenderit,113 +114,consequatur,aut,114 +115,ab,sed,115 +116,porro,aut,116 +117,ut,ratione,117 +118,asperiores,dicta,118 +119,illum,enim,119 +120,possimus,quae,120 +121,quidem,repudiandae,121 +122,porro,quis,122 +123,molestiae,et,123 +124,cupiditate,pariatur,124 +125,nemo,quos,125 +126,praesentium,aut,126 +127,vel,illo,127 +128,molestias,cupiditate,128 +129,quis,sequi,129 +130,autem,nesciunt,130 +131,non,voluptas,131 +132,architecto,odit,132 +133,eum,pariatur,133 +134,necessitatibus,reprehenderit,134 +135,ea,eos,135 +136,omnis,sed,136 +137,nostrum,tempore,137 +138,doloremque,placeat,138 +139,alias,dolorem,139 +140,recusandae,et,140 +141,earum,perspiciatis,141 +142,est,magnam,142 +143,deleniti,magnam,143 +144,aut,numquam,144 +145,rerum,nemo,145 +146,delectus,mollitia,146 +147,alias,porro,147 +148,occaecati,mollitia,148 +149,recusandae,quisquam,149 +150,molestias,laborum,150 +151,tenetur,amet,151 +152,consequatur,ipsum,152 +153,minima,rerum,153 +154,natus,ullam,154 +155,ex,est,155 +156,dignissimos,voluptatem,156 +157,et,doloribus,157 +158,adipisci,dolor,158 +159,qui,optio,159 +160,veniam,soluta,160 +161,saepe,nobis,161 +162,facere,voluptas,162 +163,accusantium,ea,163 +164,reiciendis,porro,164 +165,quos,libero,165 +166,facere,debitis,166 +167,ab,accusamus,167 +168,beatae,suscipit,168 +169,atque,atque,169 +170,quod,ipsa,170 +171,hic,aut,171 +172,quas,delectus,172 +173,illum,vel,173 +174,odit,quia,174 +175,et,eum,175 +176,sunt,ipsa,176 +177,atque,voluptate,177 +178,autem,porro,178 +179,quis,nostrum,179 +180,natus,sint,180 +181,corrupti,sed,181 +182,exercitationem,dolorum,182 +183,et,dolores,183 +184,nisi,esse,184 +185,accusamus,ut,185 +186,quae,ratione,186 +187,tempora,ut,187 +188,et,magnam,188 +189,doloremque,et,189 +190,vel,sit,190 +191,tempora,dolore,191 +192,tempore,suscipit,192 +193,exercitationem,alias,193 +194,magnam,similique,194 +195,ipsum,velit,195 +196,eos,consequatur,196 +197,vel,esse,197 +198,sed,placeat,198 +199,at,omnis,199 +200,amet,veritatis,200 +201,quod,cupiditate,201 +202,non,quo,202 +203,corporis,dignissimos,203 +204,autem,quis,204 +205,repellat,aut,205 +206,rerum,aut,206 +207,reiciendis,quia,207 +208,et,eligendi,208 +209,id,quia,209 +210,repudiandae,dolores,210 +211,fugit,similique,211 +212,placeat,iste,212 +213,delectus,commodi,213 +214,et,illum,214 +215,totam,in,215 +216,iure,qui,216 +217,dicta,voluptas,217 +218,qui,expedita,218 +219,facilis,ut,219 +220,omnis,consequatur,220 +221,praesentium,ea,221 +222,repellendus,rerum,222 +223,odit,voluptatum,223 +224,maiores,voluptas,224 +225,quo,ut,225 +226,voluptas,impedit,226 +227,explicabo,dolorem,227 +228,tempora,quidem,228 +229,id,a,229 +230,qui,suscipit,230 +231,officiis,omnis,231 +232,ipsam,odit,232 +233,totam,omnis,233 +234,molestiae,in,234 +235,blanditiis,dolorem,235 +236,a,pariatur,236 +237,doloribus,impedit,237 +238,non,ullam,238 +239,quis,error,239 +240,sapiente,omnis,240 +241,molestias,sit,241 +242,dolores,natus,242 +243,recusandae,cumque,243 +244,odit,est,244 +245,sed,voluptas,245 +246,molestiae,et,246 +247,molestiae,vero,247 +248,quo,laudantium,248 +249,similique,cum,249 +250,dolor,modi,250 +251,voluptas,officia,251 +252,amet,eum,252 +253,impedit,est,253 +254,culpa,eveniet,254 +255,quia,occaecati,255 +256,perferendis,animi,256 +257,ut,et,257 +258,atque,et,258 +259,et,voluptatum,259 +260,reprehenderit,unde,260 +261,facilis,qui,261 +262,sequi,hic,262 +263,natus,molestias,263 +264,et,blanditiis,264 +265,sed,dolor,265 +266,et,sint,266 +267,illo,consequuntur,267 +268,totam,eos,268 +269,magnam,ea,269 +270,facere,ut,270 +271,accusantium,et,271 +272,temporibus,rem,272 +273,debitis,rerum,273 +274,et,facilis,274 +275,quia,quia,275 +276,voluptatem,eum,276 +277,exercitationem,alias,277 +278,ullam,quod,278 +279,iusto,quis,279 +280,quis,quo,280 +281,fuga,modi,281 +282,placeat,fugiat,282 +283,quidem,sunt,283 +284,ut,veritatis,284 +285,nihil,et,285 +286,qui,enim,286 +287,et,sint,287 +288,repellat,dolorem,288 +289,quia,aut,289 +290,magnam,doloremque,290 +291,accusamus,explicabo,291 +292,aut,dolor,292 +293,harum,exercitationem,293 +294,earum,sed,294 +295,repellat,vel,295 +296,laudantium,molestiae,296 +297,deserunt,omnis,297 +298,nesciunt,dolor,298 +299,repudiandae,corrupti,299 +300,nesciunt,est,300 +301,delectus,voluptas,301 +302,ut,cum,302 +303,et,rem,303 +304,doloremque,illo,304 +305,dignissimos,omnis,305 +306,nisi,in,306 +307,facilis,quo,307 +308,enim,est,308 +309,veritatis,veniam,309 +310,modi,dolore,310 +311,amet,quasi,311 +312,quibusdam,et,312 +313,nulla,occaecati,313 +314,eum,doloribus,314 +315,doloribus,labore,315 +316,numquam,repudiandae,316 +317,porro,nobis,317 +318,quia,rem,318 +319,sit,eum,319 +320,aliquid,consequatur,320 +321,officia,qui,321 +322,consequuntur,itaque,322 +323,et,vel,323 +324,ea,et,324 +325,omnis,voluptatum,325 +326,quia,id,326 +327,quos,et,327 +328,nobis,ut,328 +329,voluptas,unde,329 +330,et,voluptate,330 +331,ratione,dolor,331 +332,sed,ducimus,332 +333,dolorem,nostrum,333 +334,sint,laboriosam,334 +335,aspernatur,at,335 +336,officia,sed,336 +337,et,molestias,337 +338,facilis,ad,338 +339,et,neque,339 +340,quas,provident,340 +341,animi,quos,341 +342,tenetur,repellat,342 +343,dolores,esse,343 +344,porro,dolorem,344 +345,voluptatum,minima,345 +346,reprehenderit,voluptatem,346 +347,et,ut,347 +348,id,et,348 +349,aliquid,animi,349 +350,odio,minima,350 +351,cum,quae,351 +352,adipisci,eligendi,352 +353,qui,modi,353 +354,autem,vel,354 +355,temporibus,recusandae,355 +356,aut,assumenda,356 +357,et,consequuntur,357 +358,quas,molestias,358 +359,voluptates,dolores,359 +360,deserunt,ut,360 +361,est,incidunt,361 +362,accusamus,sed,362 +363,ut,commodi,363 +364,qui,vitae,364 +365,rerum,beatae,365 +366,perspiciatis,ipsa,366 +367,dolorem,esse,367 +368,asperiores,aut,368 +369,unde,saepe,369 +370,qui,labore,370 +371,natus,corporis,371 +372,ipsum,consequatur,372 +373,est,quos,373 +374,mollitia,aperiam,374 +375,non,dolorum,375 +376,tenetur,est,376 +377,aut,ut,377 +378,aut,neque,378 +379,accusantium,ex,379 +380,vel,impedit,380 +381,blanditiis,ea,381 +382,sint,debitis,382 +383,earum,velit,383 +384,et,tenetur,384 +385,omnis,ipsa,385 +386,magnam,ipsum,386 +387,sint,ipsam,387 +388,sit,aut,388 +389,aliquam,consequuntur,389 +390,ut,hic,390 +391,dolorem,nihil,391 +392,minima,sint,392 +393,soluta,rerum,393 +394,adipisci,perspiciatis,394 +395,et,qui,395 +396,in,voluptas,396 +397,est,nobis,397 +398,dolore,eum,398 +399,veniam,dolores,399 +400,et,eos,400 +401,earum,dolorem,401 +402,repellendus,id,402 +403,dolor,esse,403 +404,inventore,doloremque,404 +405,quas,soluta,405 +406,fuga,consectetur,406 +407,dignissimos,in,407 +408,consectetur,dolores,408 +409,non,autem,409 +410,modi,cumque,410 +411,cum,totam,411 +412,quam,ipsam,412 +413,ipsum,soluta,413 +414,expedita,consectetur,414 +415,quo,voluptatibus,415 +416,autem,quas,416 +417,et,cum,417 +418,unde,et,418 +419,alias,perferendis,419 +420,qui,praesentium,420 +421,vel,dolor,421 +422,provident,pariatur,422 +423,est,omnis,423 +424,quaerat,adipisci,424 +425,quo,beatae,425 +426,dolor,omnis,426 +427,aut,velit,427 +428,possimus,animi,428 +429,quis,maiores,429 +430,libero,et,430 +431,in,quis,431 +432,id,dignissimos,432 +433,officiis,similique,433 +434,asperiores,est,434 +435,et,nulla,435 +436,autem,veritatis,436 +437,et,eum,437 +438,et,at,438 +439,ipsam,sed,439 +440,quis,aut,440 +441,est,non,441 +442,exercitationem,corrupti,442 +443,repellendus,et,443 +444,deserunt,quibusdam,444 +445,est,sit,445 +446,veritatis,ab,446 +447,impedit,illum,447 +448,eos,aut,448 +449,atque,sequi,449 +450,eaque,cum,450 +451,aut,minima,451 +452,nostrum,animi,452 +453,quos,dignissimos,453 +454,perspiciatis,nostrum,454 +455,in,dolor,455 +456,aut,aperiam,456 +457,quia,autem,457 +458,non,reprehenderit,458 +459,nisi,minus,459 +460,libero,ratione,460 +461,dicta,sequi,461 +462,dolorum,enim,462 +463,dicta,quia,463 +464,non,itaque,464 +465,eum,accusantium,465 +466,ut,atque,466 +467,quibusdam,sit,467 +468,quidem,quo,468 +469,animi,et,469 +470,mollitia,commodi,470 +471,repudiandae,tempore,471 +472,non,exercitationem,472 +473,cum,quia,473 +474,sed,reprehenderit,474 +475,ducimus,sunt,475 +476,dignissimos,neque,476 +477,doloribus,eos,477 +478,perferendis,itaque,478 +479,sit,blanditiis,479 +480,earum,repellendus,480 +481,aut,et,481 +482,qui,assumenda,482 +483,ut,sunt,483 +484,aut,id,484 +485,ut,qui,485 +486,provident,quas,486 +487,blanditiis,laudantium,487 +488,sit,fugit,488 +489,quo,molestias,489 +490,modi,suscipit,490 +491,ut,et,491 +492,corrupti,cumque,492 +493,neque,dolorem,493 +494,quod,est,494 +495,aut,ut,495 +496,rerum,impedit,496 +497,saepe,odio,497 +498,nihil,enim,498 +499,molestias,provident,499 +500,neque,maxime,500 +501,quisquam,possimus,501 +502,at,ut,502 +503,sed,esse,503 +504,ullam,dolorem,504 +505,nobis,quia,505 +506,quidem,incidunt,506 +507,harum,non,507 +508,voluptate,qui,508 +509,quod,expedita,509 +510,dolorum,qui,510 +511,neque,optio,511 +512,et,eos,512 +513,voluptatem,dolorum,513 +514,blanditiis,totam,514 +515,et,amet,515 +516,assumenda,repudiandae,516 +517,sit,ex,517 +518,id,omnis,518 +519,a,est,519 +520,deleniti,optio,520 +521,nemo,rerum,521 +522,minima,quae,522 +523,quis,mollitia,523 +524,a,doloremque,524 +525,tempora,consectetur,525 +526,tempora,incidunt,526 +527,aspernatur,facilis,527 +528,consequatur,numquam,528 +529,ipsam,qui,529 +530,pariatur,aperiam,530 +531,laudantium,aliquam,531 +532,qui,voluptas,532 +533,et,optio,533 +534,officia,sapiente,534 +535,corporis,quae,535 +536,quia,nobis,536 +537,magni,cum,537 +538,eos,vel,538 +539,possimus,necessitatibus,539 +540,qui,modi,540 +541,in,necessitatibus,541 +542,velit,iusto,542 +543,ipsa,excepturi,543 +544,quisquam,rem,544 +545,sunt,voluptatem,545 +546,nesciunt,nulla,546 +547,aut,reprehenderit,547 +548,ut,modi,548 +549,natus,officiis,549 +550,ducimus,aut,550 +551,id,nihil,551 +552,error,ducimus,552 +553,vel,rerum,553 +554,dolorum,distinctio,554 +555,dolorum,officia,555 +556,voluptas,expedita,556 +557,non,et,557 +558,porro,voluptas,558 +559,omnis,sit,559 +560,hic,rerum,560 +561,rerum,voluptas,561 +562,vel,aliquam,562 +563,delectus,inventore,563 +564,consequatur,commodi,564 +565,est,ex,565 +566,et,sed,566 +567,qui,quo,567 +568,voluptas,aut,568 +569,enim,similique,569 +570,qui,eos,570 +571,ut,repudiandae,571 +572,sint,dignissimos,572 +573,ea,est,573 +574,asperiores,voluptatem,574 +575,dolores,ut,575 +576,excepturi,molestiae,576 +577,tempora,et,577 +578,expedita,nulla,578 +579,odio,at,579 +580,perferendis,enim,580 +581,nisi,at,581 +582,earum,ex,582 +583,omnis,voluptate,583 +584,molestiae,rerum,584 +585,consequuntur,odio,585 +586,odio,nulla,586 +587,dolorem,autem,587 +588,necessitatibus,et,588 +589,et,consequatur,589 +590,dignissimos,nemo,590 +591,culpa,quia,591 +592,voluptatem,aspernatur,592 +593,quo,saepe,593 +594,vel,quod,594 +595,temporibus,dolor,595 +596,eum,aliquid,596 +597,enim,omnis,597 +598,omnis,veritatis,598 +599,quo,quae,599 +600,ex,ullam,600 +601,sed,atque,601 +602,esse,sit,602 +603,eligendi,non,603 +604,inventore,esse,604 +605,non,omnis,605 +606,error,nostrum,606 +607,porro,modi,607 +608,omnis,quia,608 +609,omnis,unde,609 +610,minus,eveniet,610 +611,pariatur,a,611 +612,a,recusandae,612 +613,tempora,nulla,613 +614,corporis,velit,614 +615,et,molestiae,615 +616,in,temporibus,616 +617,qui,placeat,617 +618,est,quia,618 +619,consequatur,sequi,619 +620,non,et,620 +621,animi,a,621 +622,quidem,molestiae,622 +623,deleniti,harum,623 +624,nemo,nam,624 +625,et,quos,625 +626,blanditiis,alias,626 +627,rem,optio,627 +628,similique,unde,628 +629,iusto,odit,629 +630,architecto,rem,630 +631,veniam,pariatur,631 +632,debitis,quis,632 +633,odit,nobis,633 +634,consequatur,ipsum,634 +635,neque,ad,635 +636,doloribus,sint,636 +637,beatae,reiciendis,637 +638,quos,sit,638 +639,vero,eos,639 +640,excepturi,autem,640 +641,est,omnis,641 +642,nobis,voluptatibus,642 +643,consectetur,eum,643 +644,ab,sed,644 +645,ea,in,645 +646,corporis,sapiente,646 +647,tempora,recusandae,647 +648,expedita,itaque,648 +649,quis,exercitationem,649 +650,ut,est,650 +651,eum,quo,651 +652,qui,odit,652 +653,velit,et,653 +654,modi,minus,654 +655,quisquam,quos,655 +656,ut,molestiae,656 +657,consequatur,occaecati,657 +658,architecto,aut,658 +659,impedit,error,659 +660,voluptatem,aliquid,660 +661,perspiciatis,unde,661 +662,corrupti,aut,662 +663,voluptatem,eaque,663 +664,ut,facilis,664 +665,perspiciatis,similique,665 +666,aut,sed,666 +667,ea,ut,667 +668,magnam,quia,668 +669,eius,et,669 +670,ad,rerum,670 +671,sunt,ut,671 +672,ab,nemo,672 +673,voluptatem,dolores,673 +674,unde,saepe,674 +675,blanditiis,quibusdam,675 +676,alias,est,676 +677,eum,consequatur,677 +678,aut,velit,678 +679,repellendus,architecto,679 +680,voluptas,corrupti,680 +681,quod,maiores,681 +682,sit,et,682 +683,odit,harum,683 +684,molestiae,ex,684 +685,modi,ut,685 +686,non,asperiores,686 +687,officiis,odio,687 +688,repudiandae,iure,688 +689,aliquid,quaerat,689 +690,cumque,rerum,690 +691,facilis,sed,691 +692,ipsam,nobis,692 +693,dolor,mollitia,693 +694,soluta,necessitatibus,694 +695,voluptatibus,possimus,695 +696,non,doloremque,696 +697,sed,odio,697 +698,incidunt,fugiat,698 +699,ducimus,quis,699 +700,et,consequatur,700 +701,unde,non,701 +702,placeat,ratione,702 +703,vel,odio,703 +704,qui,tenetur,704 +705,id,similique,705 +706,voluptatem,facilis,706 +707,fuga,a,707 +708,ex,deserunt,708 +709,mollitia,laborum,709 +710,natus,quibusdam,710 +711,beatae,et,711 +712,voluptatem,non,712 +713,vel,laboriosam,713 +714,suscipit,distinctio,714 +715,et,rerum,715 +716,debitis,facere,716 +717,voluptatibus,id,717 +718,voluptatum,vitae,718 +719,velit,odio,719 +720,aspernatur,est,720 +721,laudantium,id,721 +722,esse,et,722 +723,saepe,debitis,723 +724,esse,explicabo,724 +725,ut,dolore,725 +726,excepturi,quia,726 +727,voluptas,ut,727 +728,voluptas,debitis,728 +729,dolor,consectetur,729 +730,sapiente,ut,730 +731,alias,in,731 +732,dolorem,at,732 +733,laborum,sed,733 +734,voluptatibus,non,734 +735,minus,soluta,735 +736,dolores,vero,736 +737,nihil,aut,737 +738,facilis,adipisci,738 +739,qui,voluptatem,739 +740,autem,aut,740 +741,voluptatem,atque,741 +742,voluptatibus,aspernatur,742 +743,repellendus,dolorem,743 +744,voluptatum,fugit,744 +745,quod,ut,745 +746,reprehenderit,quo,746 +747,totam,ut,747 +748,ex,quisquam,748 +749,reprehenderit,blanditiis,749 +750,sed,labore,750 +751,ut,est,751 +752,repellendus,nam,752 +753,quia,voluptas,753 +754,sit,a,754 +755,perferendis,nostrum,755 +756,nihil,fuga,756 +757,doloribus,et,757 +758,ipsam,velit,758 +759,rem,veniam,759 +760,fuga,possimus,760 +761,incidunt,sint,761 +762,vero,rerum,762 +763,ad,assumenda,763 +764,praesentium,exercitationem,764 +765,ut,reprehenderit,765 +766,id,quia,766 +767,doloribus,iure,767 +768,deleniti,quia,768 +769,pariatur,sit,769 +770,molestias,unde,770 +771,sint,enim,771 +772,amet,beatae,772 +773,commodi,dolores,773 +774,omnis,consectetur,774 +775,dignissimos,perspiciatis,775 +776,deserunt,aut,776 +777,doloremque,ipsam,777 +778,aut,et,778 +779,a,quibusdam,779 +780,vero,quasi,780 +781,et,officia,781 +782,accusamus,et,782 +783,explicabo,voluptas,783 +784,autem,fugit,784 +785,non,cumque,785 +786,et,est,786 +787,laborum,facere,787 +788,et,facilis,788 +789,consequatur,aut,789 +790,voluptas,quisquam,790 +791,tempore,veritatis,791 +792,quos,deserunt,792 +793,modi,accusantium,793 +794,pariatur,ea,794 +795,ducimus,voluptas,795 +796,sed,et,796 +797,nostrum,nemo,797 +798,enim,vel,798 +799,eum,cupiditate,799 +800,et,ab,800 +801,aut,amet,801 +802,et,non,802 +803,eaque,blanditiis,803 +804,veniam,dolorum,804 +805,dolorum,necessitatibus,805 +806,delectus,sit,806 +807,et,nisi,807 +808,quasi,architecto,808 +809,ut,nisi,809 +810,minima,a,810 +811,quam,soluta,811 +812,ratione,rerum,812 +813,fugit,iure,813 +814,temporibus,distinctio,814 +815,quas,ea,815 +816,mollitia,harum,816 +817,temporibus,quis,817 +818,consequatur,ea,818 +819,beatae,laudantium,819 +820,adipisci,vero,820 +821,eum,consequuntur,821 +822,voluptatibus,perspiciatis,822 +823,quisquam,excepturi,823 +824,sequi,quia,824 +825,et,sequi,825 +826,ab,iste,826 +827,fugit,explicabo,827 +828,voluptatem,rerum,828 +829,aut,illum,829 +830,voluptas,consectetur,830 +831,omnis,sed,831 +832,est,asperiores,832 +833,sapiente,ipsum,833 +834,quam,eum,834 +835,ex,provident,835 +836,temporibus,dolorem,836 +837,labore,explicabo,837 +838,quas,nobis,838 +839,doloremque,sed,839 +840,consequatur,et,840 +841,et,distinctio,841 +842,sit,consectetur,842 +843,dolores,fugiat,843 +844,et,delectus,844 +845,sint,voluptatem,845 +846,voluptates,quod,846 +847,eos,iure,847 +848,blanditiis,vitae,848 +849,a,aut,849 +850,molestiae,incidunt,850 +851,maiores,corporis,851 +852,numquam,maiores,852 +853,dicta,quis,853 +854,porro,non,854 +855,corrupti,ut,855 +856,non,ducimus,856 +857,aliquam,autem,857 +858,non,exercitationem,858 +859,praesentium,dolorem,859 +860,possimus,provident,860 +861,rem,fuga,861 +862,ut,cupiditate,862 +863,ut,est,863 +864,voluptas,eius,864 +865,quia,labore,865 +866,voluptatem,officia,866 +867,alias,enim,867 +868,qui,adipisci,868 +869,molestiae,recusandae,869 +870,unde,dolorem,870 +871,cumque,est,871 +872,consequuntur,expedita,872 +873,autem,commodi,873 +874,dolorum,doloremque,874 +875,quos,animi,875 +876,qui,quos,876 +877,sunt,expedita,877 +878,voluptas,voluptatum,878 +879,magni,aut,879 +880,aspernatur,assumenda,880 +881,est,et,881 +882,ab,eius,882 +883,iusto,saepe,883 +884,asperiores,beatae,884 +885,nulla,et,885 +886,perferendis,labore,886 +887,laboriosam,sunt,887 +888,architecto,beatae,888 +889,aliquid,cumque,889 +890,libero,doloremque,890 +891,esse,et,891 +892,dolore,ipsa,892 +893,sint,ab,893 +894,ut,eos,894 +895,cumque,optio,895 +896,voluptatem,non,896 +897,velit,delectus,897 +898,beatae,temporibus,898 +899,sit,labore,899 +900,aut,et,900 +901,ipsam,ut,901 +902,et,in,902 +903,dolorem,dolorem,903 +904,ipsa,quidem,904 +905,ex,fugiat,905 +906,suscipit,quibusdam,906 +907,magni,aliquid,907 +908,itaque,laborum,908 +909,molestiae,id,909 +910,molestias,tempore,910 +911,ipsum,sed,911 +912,aut,possimus,912 +913,error,architecto,913 +914,eos,excepturi,914 +915,sed,ad,915 +916,blanditiis,sit,916 +917,odio,ipsam,917 +918,repellendus,sit,918 +919,ut,amet,919 +920,asperiores,incidunt,920 +921,voluptatem,dolore,921 +922,aspernatur,sed,922 +923,facere,et,923 +924,rerum,provident,924 +925,quos,eius,925 +926,voluptates,nisi,926 +927,aut,aut,927 +928,dolorem,sit,928 +929,et,qui,929 +930,temporibus,qui,930 +931,unde,labore,931 +932,nulla,beatae,932 +933,totam,velit,933 +934,blanditiis,et,934 +935,fugiat,exercitationem,935 +936,tempore,inventore,936 +937,molestiae,sed,937 +938,ipsum,delectus,938 +939,officiis,consectetur,939 +940,iusto,omnis,940 +941,enim,iure,941 +942,a,atque,942 +943,doloribus,impedit,943 +944,aut,velit,944 +945,dolore,amet,945 +946,qui,tempora,946 +947,sed,asperiores,947 +948,vitae,a,948 +949,corporis,omnis,949 +950,quos,nobis,950 +951,qui,quia,951 +952,architecto,doloremque,952 +953,dicta,ut,953 +954,accusantium,deleniti,954 +955,numquam,consequuntur,955 +956,cum,repellat,956 +957,fuga,tempore,957 +958,est,ut,958 +959,ipsum,in,959 +960,veniam,accusamus,960 +961,iusto,necessitatibus,961 +962,placeat,dolore,962 +963,dicta,atque,963 +964,fuga,quibusdam,964 +965,et,aut,965 +966,minus,autem,966 +967,minus,est,967 +968,odit,perspiciatis,968 +969,nam,dolorem,969 +970,qui,magnam,970 +971,qui,eos,971 +972,voluptas,molestias,972 +973,sed,odit,973 +974,et,tempora,974 +975,quo,placeat,975 +976,accusamus,ipsum,976 +977,rerum,consequatur,977 +978,et,dolor,978 +979,debitis,commodi,979 +980,qui,architecto,980 +981,repudiandae,ullam,981 +982,temporibus,magnam,982 +983,illum,aliquam,983 +984,inventore,ex,984 +985,corrupti,porro,985 +986,odit,magni,986 +987,facere,quasi,987 +988,sapiente,dignissimos,988 +989,temporibus,eum,989 +990,maiores,quo,990 +991,voluptatem,et,991 +992,expedita,quo,992 +993,nostrum,eum,993 +994,in,ut,994 +995,libero,quam,995 +996,eos,deleniti,996 +997,molestiae,nesciunt,997 +998,quisquam,voluptas,998 +999,laudantium,tempora,999 +1000,similique,sequi,1000 +1001,eius,neque,1001 +1002,deleniti,iste,1002 +1003,velit,nisi,1003 +1004,repellendus,quia,1004 +1005,est,aut,1005 +1006,voluptatem,et,1006 +1007,laudantium,consequatur,1007 +1008,atque,doloribus,1008 +1009,saepe,ullam,1009 +1010,cumque,optio,1010 +1011,molestias,beatae,1011 +1012,nihil,facilis,1012 +1013,corporis,consequatur,1013 +1014,atque,reprehenderit,1014 +1015,vero,aliquam,1015 +1016,eos,cupiditate,1016 +1017,autem,adipisci,1017 +1018,qui,fugit,1018 +1019,dolore,unde,1019 +1020,tempore,rerum,1020 +1021,et,iste,1021 +1022,eum,et,1022 +1023,quasi,placeat,1023 +1024,ullam,ipsam,1024 +1025,saepe,tempora,1025 +1026,velit,ut,1026 +1027,qui,delectus,1027 +1028,deserunt,aperiam,1028 +1029,quam,tempora,1029 +1030,reiciendis,id,1030 +1031,nihil,repellendus,1031 +1032,vel,aut,1032 +1033,pariatur,eum,1033 +1034,quidem,quos,1034 +1035,omnis,consequatur,1035 +1036,qui,aut,1036 +1037,esse,id,1037 +1038,rerum,possimus,1038 +1039,ut,molestiae,1039 +1040,rem,occaecati,1040 +1041,odit,eligendi,1041 +1042,ut,nobis,1042 +1043,inventore,similique,1043 +1044,sed,cum,1044 +1045,eligendi,facilis,1045 +1046,id,quidem,1046 +1047,placeat,id,1047 +1048,voluptas,rem,1048 +1049,sit,sed,1049 +1050,aspernatur,at,1050 +1051,beatae,fugiat,1051 +1052,reprehenderit,omnis,1052 +1053,ipsam,aperiam,1053 +1054,veniam,iusto,1054 +1055,harum,et,1055 +1056,inventore,sequi,1056 +1057,nesciunt,atque,1057 +1058,facere,et,1058 +1059,dolores,et,1059 +1060,perferendis,amet,1060 +1061,consequatur,sunt,1061 +1062,non,tempore,1062 +1063,error,eum,1063 +1064,sit,omnis,1064 +1065,sit,sit,1065 +1066,maiores,possimus,1066 +1067,quasi,autem,1067 +1068,repudiandae,similique,1068 +1069,tempora,non,1069 +1070,neque,assumenda,1070 +1071,rerum,itaque,1071 +1072,sunt,error,1072 +1073,veritatis,officia,1073 +1074,culpa,cum,1074 +1075,soluta,fugit,1075 +1076,voluptates,culpa,1076 +1077,dolorum,doloremque,1077 +1078,explicabo,qui,1078 +1079,a,magni,1079 +1080,aut,molestiae,1080 +1081,fugit,quos,1081 +1082,voluptas,officia,1082 +1083,eos,qui,1083 +1084,libero,reprehenderit,1084 +1085,qui,ea,1085 +1086,doloremque,corrupti,1086 +1087,totam,saepe,1087 +1088,laboriosam,enim,1088 +1089,aut,et,1089 +1090,et,vero,1090 +1091,et,tempore,1091 +1092,sit,atque,1092 +1093,suscipit,et,1093 +1094,perspiciatis,et,1094 +1095,qui,non,1095 +1096,molestias,consequuntur,1096 +1097,dicta,rerum,1097 +1098,dolore,ea,1098 +1099,quo,vero,1099 +1100,dolor,rem,1100 +1101,pariatur,possimus,1101 +1102,et,quo,1102 +1103,culpa,consequuntur,1103 +1104,temporibus,earum,1104 +1105,est,vel,1105 +1106,est,rerum,1106 +1107,iure,nostrum,1107 +1108,soluta,culpa,1108 +1109,eum,quo,1109 +1110,dolorem,magnam,1110 +1111,eum,adipisci,1111 +1112,perspiciatis,eligendi,1112 +1113,molestias,praesentium,1113 +1114,optio,odit,1114 +1115,aliquam,dolores,1115 +1116,natus,perferendis,1116 +1117,animi,esse,1117 +1118,tenetur,consectetur,1118 +1119,sit,consequatur,1119 +1120,ut,qui,1120 +1121,aut,ad,1121 +1122,vel,a,1122 +1123,eaque,sit,1123 +1124,aut,dolores,1124 +1125,delectus,unde,1125 +1126,veniam,minima,1126 +1127,ipsam,adipisci,1127 +1128,asperiores,vel,1128 +1129,in,voluptatem,1129 +1130,ab,natus,1130 +1131,dolorum,minima,1131 +1132,dolorum,alias,1132 +1133,et,ipsam,1133 +1134,incidunt,veritatis,1134 +1135,aut,consequatur,1135 +1136,hic,quia,1136 +1137,quo,dolor,1137 +1138,ut,optio,1138 +1139,sit,recusandae,1139 +1140,temporibus,assumenda,1140 +1141,voluptas,sint,1141 +1142,reiciendis,fugiat,1142 +1143,sed,aut,1143 +1144,voluptatem,aut,1144 +1145,accusantium,maiores,1145 +1146,facere,et,1146 +1147,voluptatum,ut,1147 +1148,nam,asperiores,1148 +1149,in,doloremque,1149 +1150,quisquam,incidunt,1150 +1151,harum,hic,1151 +1152,distinctio,est,1152 +1153,laboriosam,deleniti,1153 +1154,consectetur,eius,1154 +1155,quis,architecto,1155 +1156,occaecati,et,1156 +1157,sint,et,1157 +1158,dolorum,fugit,1158 +1159,incidunt,in,1159 +1160,minima,quisquam,1160 +1161,quas,nam,1161 +1162,sed,ut,1162 +1163,reiciendis,et,1163 +1164,odio,commodi,1164 +1165,sunt,non,1165 +1166,animi,ut,1166 +1167,consectetur,laboriosam,1167 +1168,eos,tempore,1168 +1169,rem,occaecati,1169 +1170,facilis,hic,1170 +1171,nobis,libero,1171 +1172,quod,optio,1172 +1173,illo,aut,1173 +1174,nobis,consequatur,1174 +1175,earum,ut,1175 +1176,ipsam,vel,1176 +1177,suscipit,soluta,1177 +1178,a,dolorem,1178 +1179,dicta,sed,1179 +1180,aspernatur,quibusdam,1180 +1181,temporibus,necessitatibus,1181 +1182,unde,perferendis,1182 +1183,quibusdam,praesentium,1183 +1184,similique,optio,1184 +1185,exercitationem,et,1185 +1186,qui,officiis,1186 +1187,eum,et,1187 +1188,omnis,aperiam,1188 +1189,recusandae,enim,1189 +1190,perferendis,voluptatum,1190 +1191,ut,eum,1191 +1192,consectetur,sapiente,1192 +1193,autem,qui,1193 +1194,quis,assumenda,1194 +1195,ut,cupiditate,1195 +1196,quia,dolorem,1196 +1197,excepturi,in,1197 +1198,officiis,numquam,1198 +1199,possimus,delectus,1199 +1200,veniam,recusandae,1200 +1201,quos,id,1201 +1202,ratione,corporis,1202 +1203,alias,voluptates,1203 +1204,quia,quasi,1204 +1205,animi,soluta,1205 +1206,autem,laboriosam,1206 +1207,impedit,velit,1207 +1208,est,voluptatem,1208 +1209,ut,beatae,1209 +1210,quis,tempora,1210 +1211,placeat,assumenda,1211 +1212,libero,porro,1212 +1213,minima,veniam,1213 +1214,explicabo,sed,1214 +1215,illo,consequatur,1215 +1216,necessitatibus,in,1216 +1217,recusandae,aut,1217 +1218,dicta,eos,1218 +1219,maiores,qui,1219 +1220,eum,temporibus,1220 +1221,sit,libero,1221 +1222,aperiam,quia,1222 +1223,ut,est,1223 +1224,quo,qui,1224 +1225,velit,suscipit,1225 +1226,aut,qui,1226 +1227,culpa,omnis,1227 +1228,omnis,non,1228 +1229,dolore,non,1229 +1230,dolorem,quam,1230 +1231,voluptates,odio,1231 +1232,deserunt,non,1232 +1233,qui,deserunt,1233 +1234,debitis,ea,1234 +1235,accusamus,sed,1235 +1236,maiores,earum,1236 +1237,eum,vitae,1237 +1238,dolorem,maxime,1238 +1239,atque,officia,1239 +1240,rerum,sunt,1240 +1241,inventore,et,1241 +1242,sed,labore,1242 +1243,nulla,et,1243 +1244,neque,consectetur,1244 +1245,deleniti,assumenda,1245 +1246,assumenda,possimus,1246 +1247,deserunt,qui,1247 +1248,hic,et,1248 +1249,et,incidunt,1249 +1250,soluta,quos,1250 +1251,reprehenderit,natus,1251 +1252,omnis,in,1252 +1253,qui,libero,1253 +1254,occaecati,dolorem,1254 +1255,odio,rem,1255 +1256,tempora,temporibus,1256 +1257,quia,ut,1257 +1258,odit,et,1258 +1259,sapiente,optio,1259 +1260,aliquam,voluptatem,1260 +1261,dolorem,corrupti,1261 +1262,modi,necessitatibus,1262 +1263,sequi,doloremque,1263 +1264,voluptatum,dolorum,1264 +1265,sequi,quo,1265 +1266,reprehenderit,similique,1266 +1267,mollitia,molestias,1267 +1268,ut,vel,1268 +1269,quis,dolores,1269 +1270,nesciunt,consequatur,1270 +1271,praesentium,magni,1271 +1272,nemo,facilis,1272 +1273,molestiae,sint,1273 +1274,natus,est,1274 +1275,a,quibusdam,1275 +1276,sapiente,dignissimos,1276 +1277,sit,eaque,1277 +1278,possimus,illum,1278 +1279,ratione,assumenda,1279 +1280,fuga,quod,1280 +1281,quis,nam,1281 +1282,et,ut,1282 +1283,qui,accusantium,1283 +1284,molestias,aliquam,1284 +1285,ut,fugit,1285 +1286,nesciunt,dolor,1286 +1287,voluptatem,qui,1287 +1288,explicabo,iure,1288 +1289,ratione,itaque,1289 +1290,aut,non,1290 +1291,dolores,rerum,1291 +1292,nihil,dolore,1292 +1293,blanditiis,omnis,1293 +1294,in,dolor,1294 +1295,in,enim,1295 +1296,sed,repudiandae,1296 +1297,libero,delectus,1297 +1298,modi,voluptatum,1298 +1299,explicabo,impedit,1299 +1300,eum,accusantium,1300 +1301,dicta,expedita,1301 +1302,assumenda,eaque,1302 +1303,officia,necessitatibus,1303 +1304,doloremque,corrupti,1304 +1305,aut,minus,1305 +1306,aspernatur,ducimus,1306 +1307,voluptatem,deserunt,1307 +1308,quo,eum,1308 +1309,hic,ex,1309 +1310,perspiciatis,non,1310 +1311,dolore,exercitationem,1311 +1312,eligendi,itaque,1312 +1313,iure,enim,1313 +1314,nesciunt,molestias,1314 +1315,et,minima,1315 +1316,quae,et,1316 +1317,impedit,officiis,1317 +1318,dolor,at,1318 +1319,iste,ut,1319 +1320,qui,repudiandae,1320 +1321,veritatis,voluptatem,1321 +1322,ut,quis,1322 +1323,vitae,autem,1323 +1324,aliquid,quia,1324 +1325,voluptas,molestiae,1325 +1326,ratione,et,1326 +1327,architecto,et,1327 +1328,ut,occaecati,1328 +1329,nesciunt,omnis,1329 +1330,non,nihil,1330 +1331,repudiandae,consequuntur,1331 +1332,unde,animi,1332 +1333,dolorem,quis,1333 +1334,perspiciatis,culpa,1334 +1335,ratione,pariatur,1335 +1336,illo,porro,1336 +1337,veritatis,est,1337 +1338,eos,voluptates,1338 +1339,aut,reprehenderit,1339 +1340,est,corrupti,1340 +1341,doloremque,nulla,1341 +1342,sit,similique,1342 +1343,autem,ea,1343 +1344,ut,ex,1344 +1345,voluptas,qui,1345 +1346,ut,architecto,1346 +1347,aut,quisquam,1347 +1348,et,exercitationem,1348 +1349,quibusdam,ex,1349 +1350,dolores,ipsum,1350 +1351,recusandae,odit,1351 +1352,dignissimos,unde,1352 +1353,dolores,est,1353 +1354,ipsam,quibusdam,1354 +1355,repellat,eligendi,1355 +1356,atque,culpa,1356 +1357,hic,ipsum,1357 +1358,reprehenderit,aperiam,1358 +1359,fugiat,impedit,1359 +1360,quis,quasi,1360 +1361,officia,sequi,1361 +1362,architecto,recusandae,1362 +1363,labore,magnam,1363 +1364,reiciendis,qui,1364 +1365,non,ut,1365 +1366,omnis,et,1366 +1367,facere,ut,1367 +1368,est,odit,1368 +1369,ut,voluptatem,1369 +1370,excepturi,rerum,1370 +1371,amet,vitae,1371 +1372,sit,possimus,1372 +1373,debitis,ut,1373 +1374,eius,quas,1374 +1375,cum,fuga,1375 +1376,accusantium,impedit,1376 +1377,voluptate,totam,1377 +1378,molestias,aperiam,1378 +1379,aut,quasi,1379 +1380,nobis,laudantium,1380 +1381,quam,accusamus,1381 +1382,numquam,qui,1382 +1383,fugit,dolorem,1383 +1384,autem,est,1384 +1385,perferendis,harum,1385 +1386,quia,ea,1386 +1387,necessitatibus,explicabo,1387 +1388,voluptates,fuga,1388 +1389,consequatur,beatae,1389 +1390,aut,sed,1390 +1391,non,voluptatem,1391 +1392,culpa,dicta,1392 +1393,et,quasi,1393 +1394,ad,fuga,1394 +1395,quae,voluptates,1395 +1396,optio,est,1396 +1397,vel,perspiciatis,1397 +1398,enim,qui,1398 +1399,quae,ab,1399 +1400,aut,ut,1400 +1401,debitis,molestias,1401 +1402,sed,necessitatibus,1402 +1403,quo,labore,1403 +1404,minus,sunt,1404 +1405,rerum,assumenda,1405 +1406,voluptas,enim,1406 +1407,perferendis,minus,1407 +1408,sed,veritatis,1408 +1409,atque,ratione,1409 +1410,aut,voluptas,1410 +1411,qui,quod,1411 +1412,sit,voluptatem,1412 +1413,quam,ipsa,1413 +1414,excepturi,tenetur,1414 +1415,dolor,excepturi,1415 +1416,voluptate,repellendus,1416 +1417,et,ipsum,1417 +1418,ab,est,1418 +1419,accusantium,quia,1419 +1420,harum,asperiores,1420 +1421,praesentium,quaerat,1421 +1422,odit,veritatis,1422 +1423,qui,modi,1423 +1424,perferendis,quis,1424 +1425,iste,sunt,1425 +1426,omnis,explicabo,1426 +1427,ex,dolor,1427 +1428,maiores,veritatis,1428 +1429,optio,itaque,1429 +1430,beatae,praesentium,1430 +1431,ut,odio,1431 +1432,in,porro,1432 +1433,quos,exercitationem,1433 +1434,nihil,et,1434 +1435,quos,molestiae,1435 +1436,illum,quaerat,1436 +1437,dicta,tenetur,1437 +1438,ducimus,tenetur,1438 +1439,repudiandae,laudantium,1439 +1440,at,provident,1440 +1441,tempora,animi,1441 +1442,aut,voluptas,1442 +1443,ab,id,1443 +1444,rerum,ipsa,1444 +1445,quis,et,1445 +1446,odio,eum,1446 +1447,iure,sed,1447 +1448,rerum,dignissimos,1448 +1449,in,asperiores,1449 +1450,ratione,nobis,1450 +1451,distinctio,ipsa,1451 +1452,est,numquam,1452 +1453,ad,soluta,1453 +1454,quisquam,dolorem,1454 +1455,praesentium,quam,1455 +1456,sit,illum,1456 +1457,consequuntur,culpa,1457 +1458,inventore,accusantium,1458 +1459,id,aut,1459 +1460,rem,aliquid,1460 +1461,suscipit,esse,1461 +1462,exercitationem,praesentium,1462 +1463,maxime,sit,1463 +1464,culpa,repellendus,1464 +1465,quidem,voluptas,1465 +1466,repellendus,est,1466 +1467,fuga,occaecati,1467 +1468,magnam,iste,1468 +1469,aut,ad,1469 +1470,ea,iste,1470 +1471,aliquam,expedita,1471 +1472,expedita,id,1472 +1473,harum,itaque,1473 +1474,eum,iure,1474 +1475,mollitia,fuga,1475 +1476,earum,mollitia,1476 +1477,possimus,ad,1477 +1478,non,sint,1478 +1479,dolorem,nesciunt,1479 +1480,ut,minima,1480 +1481,nam,iure,1481 +1482,qui,rem,1482 +1483,sit,aliquam,1483 +1484,placeat,ipsa,1484 +1485,non,exercitationem,1485 +1486,doloribus,ullam,1486 +1487,fugit,blanditiis,1487 +1488,sed,quos,1488 +1489,sunt,qui,1489 +1490,a,assumenda,1490 +1491,doloribus,sint,1491 +1492,molestias,animi,1492 +1493,repellat,cum,1493 +1494,dicta,illo,1494 +1495,aut,laborum,1495 +1496,ex,quibusdam,1496 +1497,aut,quidem,1497 +1498,id,quos,1498 +1499,dolores,neque,1499 +1500,quam,aut,1500 +1501,aut,sit,1501 +1502,pariatur,ipsa,1502 +1503,excepturi,natus,1503 +1504,tenetur,minus,1504 +1505,ea,quam,1505 +1506,unde,in,1506 +1507,quasi,laudantium,1507 +1508,eum,nesciunt,1508 +1509,quis,sint,1509 +1510,id,aspernatur,1510 +1511,sapiente,ducimus,1511 +1512,saepe,pariatur,1512 +1513,amet,rerum,1513 +1514,numquam,nobis,1514 +1515,voluptatum,numquam,1515 +1516,in,quia,1516 +1517,quia,perferendis,1517 +1518,necessitatibus,qui,1518 +1519,asperiores,et,1519 +1520,eaque,est,1520 +1521,assumenda,pariatur,1521 +1522,ipsam,id,1522 +1523,et,quia,1523 +1524,possimus,asperiores,1524 +1525,quo,quia,1525 +1526,quia,omnis,1526 +1527,assumenda,recusandae,1527 +1528,quia,ut,1528 +1529,exercitationem,est,1529 +1530,velit,exercitationem,1530 +1531,illum,nihil,1531 +1532,a,aspernatur,1532 +1533,exercitationem,labore,1533 +1534,officiis,doloribus,1534 +1535,et,eaque,1535 +1536,ut,inventore,1536 +1537,aliquam,fuga,1537 +1538,voluptate,numquam,1538 +1539,quis,delectus,1539 +1540,sint,assumenda,1540 +1541,quae,veritatis,1541 +1542,soluta,consectetur,1542 +1543,qui,voluptatem,1543 +1544,enim,consequuntur,1544 +1545,id,id,1545 +1546,labore,provident,1546 +1547,placeat,quia,1547 +1548,nobis,odit,1548 +1549,consequatur,velit,1549 +1550,voluptates,ut,1550 +1551,ipsam,nihil,1551 +1552,eius,eum,1552 +1553,unde,suscipit,1553 +1554,sequi,ipsa,1554 +1555,eligendi,molestias,1555 +1556,reprehenderit,dolorum,1556 +1557,dolorem,maxime,1557 +1558,distinctio,maiores,1558 +1559,labore,dicta,1559 +1560,et,aut,1560 +1561,fugiat,officia,1561 +1562,itaque,blanditiis,1562 +1563,minus,qui,1563 +1564,illo,reiciendis,1564 +1565,velit,sunt,1565 +1566,mollitia,nobis,1566 +1567,ut,perspiciatis,1567 +1568,a,numquam,1568 +1569,unde,sed,1569 +1570,aut,et,1570 +1571,veniam,quis,1571 +1572,ratione,maxime,1572 +1573,adipisci,molestiae,1573 +1574,nesciunt,adipisci,1574 +1575,enim,molestiae,1575 +1576,ut,consequatur,1576 +1577,voluptates,possimus,1577 +1578,ad,excepturi,1578 +1579,repellendus,qui,1579 +1580,incidunt,minus,1580 +1581,enim,adipisci,1581 +1582,commodi,doloremque,1582 +1583,est,architecto,1583 +1584,est,est,1584 +1585,dignissimos,commodi,1585 +1586,debitis,earum,1586 +1587,ipsa,omnis,1587 +1588,quia,sunt,1588 +1589,et,quo,1589 +1590,ea,inventore,1590 +1591,distinctio,consectetur,1591 +1592,provident,voluptates,1592 +1593,et,et,1593 +1594,eaque,quos,1594 +1595,est,eum,1595 +1596,et,quaerat,1596 +1597,doloremque,voluptatem,1597 +1598,omnis,quo,1598 +1599,et,labore,1599 +1600,voluptatibus,nisi,1600 +1601,inventore,asperiores,1601 +1602,possimus,repudiandae,1602 +1603,vitae,dolore,1603 +1604,qui,occaecati,1604 +1605,et,aut,1605 +1606,quaerat,aut,1606 +1607,similique,ut,1607 +1608,aspernatur,expedita,1608 +1609,nobis,dignissimos,1609 +1610,repellat,accusantium,1610 +1611,totam,corrupti,1611 +1612,reiciendis,quod,1612 +1613,minima,quaerat,1613 +1614,harum,et,1614 +1615,repudiandae,ipsam,1615 +1616,velit,et,1616 +1617,sit,suscipit,1617 +1618,ducimus,eveniet,1618 +1619,eum,eos,1619 +1620,expedita,aspernatur,1620 +1621,qui,quas,1621 +1622,voluptates,et,1622 +1623,nisi,consequatur,1623 +1624,voluptates,dolores,1624 +1625,quam,ea,1625 +1626,commodi,similique,1626 +1627,adipisci,modi,1627 +1628,reprehenderit,autem,1628 +1629,veniam,quam,1629 +1630,doloremque,quis,1630 +1631,dignissimos,aut,1631 +1632,dolorum,enim,1632 +1633,repellat,facilis,1633 +1634,quisquam,vero,1634 +1635,iure,sed,1635 +1636,consequuntur,reiciendis,1636 +1637,dolorem,qui,1637 +1638,nisi,qui,1638 +1639,modi,qui,1639 +1640,illo,at,1640 +1641,eligendi,ea,1641 +1642,ea,sit,1642 +1643,rem,laborum,1643 +1644,ut,voluptas,1644 +1645,fugit,repellendus,1645 +1646,reprehenderit,est,1646 +1647,laudantium,id,1647 +1648,omnis,ut,1648 +1649,temporibus,officia,1649 +1650,neque,ut,1650 +1651,praesentium,delectus,1651 +1652,voluptates,rerum,1652 +1653,et,tempora,1653 +1654,fugiat,aut,1654 +1655,autem,quibusdam,1655 +1656,voluptates,doloremque,1656 +1657,ducimus,voluptas,1657 +1658,ut,dicta,1658 +1659,quibusdam,tempora,1659 +1660,vel,omnis,1660 +1661,est,aut,1661 +1662,odit,aut,1662 +1663,qui,numquam,1663 +1664,dicta,quas,1664 +1665,fugiat,rerum,1665 +1666,quia,accusamus,1666 +1667,voluptatem,perferendis,1667 +1668,quia,nobis,1668 +1669,dolore,ut,1669 +1670,esse,quidem,1670 +1671,hic,molestiae,1671 +1672,perspiciatis,ut,1672 +1673,rerum,eaque,1673 +1674,ullam,commodi,1674 +1675,qui,ducimus,1675 +1676,ut,qui,1676 +1677,eos,est,1677 +1678,sed,tenetur,1678 +1679,inventore,numquam,1679 +1680,ut,et,1680 +1681,et,et,1681 +1682,omnis,quidem,1682 +1683,dolorem,quia,1683 +1684,dignissimos,et,1684 +1685,quas,ut,1685 +1686,aperiam,qui,1686 +1687,corporis,praesentium,1687 +1688,reiciendis,eveniet,1688 +1689,laboriosam,tempore,1689 +1690,omnis,architecto,1690 +1691,quia,tempore,1691 +1692,illo,cumque,1692 +1693,blanditiis,sapiente,1693 +1694,alias,explicabo,1694 +1695,eius,voluptatum,1695 +1696,qui,cupiditate,1696 +1697,vero,numquam,1697 +1698,quidem,iure,1698 +1699,modi,aut,1699 +1700,at,quos,1700 +1701,animi,maxime,1701 +1702,cumque,vitae,1702 +1703,vel,fugit,1703 +1704,soluta,maiores,1704 +1705,asperiores,ullam,1705 +1706,et,asperiores,1706 +1707,aut,atque,1707 +1708,quasi,asperiores,1708 +1709,autem,nemo,1709 +1710,facere,laborum,1710 +1711,molestias,sint,1711 +1712,dolorem,magni,1712 +1713,amet,sit,1713 +1714,id,iure,1714 +1715,fuga,totam,1715 +1716,vitae,labore,1716 +1717,omnis,voluptatem,1717 +1718,voluptas,commodi,1718 +1719,ea,ipsam,1719 +1720,incidunt,quos,1720 +1721,ut,fugit,1721 +1722,accusamus,odio,1722 +1723,ullam,accusamus,1723 +1724,distinctio,adipisci,1724 +1725,voluptatem,alias,1725 +1726,quos,quod,1726 +1727,doloremque,ut,1727 +1728,animi,quo,1728 +1729,sunt,dicta,1729 +1730,repudiandae,voluptatem,1730 +1731,sit,ratione,1731 +1732,accusamus,minus,1732 +1733,aut,fugiat,1733 +1734,sequi,dolorem,1734 +1735,aliquid,eum,1735 +1736,et,ea,1736 +1737,commodi,iure,1737 +1738,quis,eius,1738 +1739,nulla,quaerat,1739 +1740,sequi,ut,1740 +1741,inventore,dolores,1741 +1742,incidunt,asperiores,1742 +1743,iusto,quam,1743 +1744,labore,numquam,1744 +1745,libero,ex,1745 +1746,praesentium,eos,1746 +1747,perferendis,officia,1747 +1748,et,et,1748 +1749,nesciunt,recusandae,1749 +1750,praesentium,dolor,1750 +1751,fugiat,et,1751 +1752,odio,omnis,1752 +1753,vel,voluptate,1753 +1754,aperiam,ipsum,1754 +1755,temporibus,laborum,1755 +1756,dolores,nobis,1756 +1757,nostrum,aut,1757 +1758,architecto,voluptatibus,1758 +1759,asperiores,quia,1759 +1760,suscipit,magni,1760 +1761,quia,autem,1761 +1762,illum,id,1762 +1763,voluptatem,aut,1763 +1764,quia,numquam,1764 +1765,molestiae,sed,1765 +1766,possimus,perspiciatis,1766 +1767,eius,et,1767 +1768,labore,quia,1768 +1769,dolorum,commodi,1769 +1770,alias,eos,1770 +1771,voluptatem,a,1771 +1772,labore,sed,1772 +1773,quia,quidem,1773 +1774,perferendis,recusandae,1774 +1775,dolor,voluptas,1775 +1776,doloribus,soluta,1776 +1777,pariatur,qui,1777 +1778,rerum,non,1778 +1779,rerum,fuga,1779 +1780,in,minus,1780 +1781,dolor,animi,1781 +1782,voluptates,aliquam,1782 +1783,et,nihil,1783 +1784,nulla,quo,1784 +1785,tempore,asperiores,1785 +1786,consequuntur,vitae,1786 +1787,quia,sed,1787 +1788,et,dolorum,1788 +1789,modi,doloribus,1789 +1790,officia,et,1790 +1791,sequi,maiores,1791 +1792,et,incidunt,1792 +1793,quasi,possimus,1793 +1794,enim,ipsum,1794 +1795,rem,eius,1795 +1796,debitis,illum,1796 +1797,ratione,quos,1797 +1798,nostrum,animi,1798 +1799,id,voluptatum,1799 +1800,sapiente,soluta,1800 +1801,tempore,magnam,1801 +1802,est,dolorem,1802 +1803,nam,corporis,1803 +1804,architecto,distinctio,1804 +1805,nihil,labore,1805 +1806,saepe,incidunt,1806 +1807,magnam,numquam,1807 +1808,est,voluptatem,1808 +1809,excepturi,eligendi,1809 +1810,et,veniam,1810 +1811,ipsum,hic,1811 +1812,non,dignissimos,1812 +1813,voluptas,nihil,1813 +1814,mollitia,delectus,1814 +1815,voluptatem,dolore,1815 +1816,voluptatem,modi,1816 +1817,recusandae,nihil,1817 +1818,et,commodi,1818 +1819,ad,dolor,1819 +1820,magni,esse,1820 +1821,repellat,distinctio,1821 +1822,illo,sapiente,1822 +1823,illum,sit,1823 +1824,sit,natus,1824 +1825,voluptatem,commodi,1825 +1826,dolorum,perspiciatis,1826 +1827,ipsum,recusandae,1827 +1828,cum,aut,1828 +1829,quo,sunt,1829 +1830,voluptatem,facilis,1830 +1831,non,numquam,1831 +1832,molestias,est,1832 +1833,omnis,repellat,1833 +1834,aut,illum,1834 +1835,eum,nulla,1835 +1836,earum,rem,1836 +1837,aperiam,aut,1837 +1838,ut,placeat,1838 +1839,repellat,impedit,1839 +1840,et,harum,1840 +1841,voluptatibus,et,1841 +1842,excepturi,perspiciatis,1842 +1843,culpa,nihil,1843 +1844,accusantium,ratione,1844 +1845,ut,culpa,1845 +1846,debitis,et,1846 +1847,omnis,aut,1847 +1848,debitis,voluptatibus,1848 +1849,libero,omnis,1849 +1850,corporis,quis,1850 +1851,impedit,vel,1851 +1852,amet,animi,1852 +1853,ab,incidunt,1853 +1854,quis,odit,1854 +1855,possimus,soluta,1855 +1856,ex,rerum,1856 +1857,est,voluptatem,1857 +1858,laborum,quis,1858 +1859,quia,error,1859 +1860,fugiat,ex,1860 +1861,laborum,aut,1861 +1862,possimus,eveniet,1862 +1863,impedit,a,1863 +1864,ducimus,nihil,1864 +1865,quae,quo,1865 +1866,aut,quibusdam,1866 +1867,et,minima,1867 +1868,aut,in,1868 +1869,aut,qui,1869 +1870,incidunt,atque,1870 +1871,eum,consequatur,1871 +1872,voluptatem,aut,1872 +1873,nobis,rerum,1873 +1874,dolorem,itaque,1874 +1875,sed,nam,1875 +1876,ab,rerum,1876 +1877,hic,ut,1877 +1878,error,ipsam,1878 +1879,fugiat,esse,1879 +1880,dolores,tenetur,1880 +1881,saepe,quisquam,1881 +1882,vel,est,1882 +1883,nisi,ratione,1883 +1884,nemo,facilis,1884 +1885,sed,reprehenderit,1885 +1886,asperiores,aut,1886 +1887,ut,mollitia,1887 +1888,harum,ratione,1888 +1889,repudiandae,sit,1889 +1890,aut,sequi,1890 +1891,voluptates,libero,1891 +1892,aut,dolore,1892 +1893,reiciendis,in,1893 +1894,temporibus,natus,1894 +1895,quam,voluptatem,1895 +1896,quaerat,aut,1896 +1897,minima,enim,1897 +1898,est,quia,1898 +1899,minus,non,1899 +1900,maiores,ab,1900 +1901,ea,sint,1901 +1902,incidunt,necessitatibus,1902 +1903,autem,rerum,1903 +1904,doloremque,eveniet,1904 +1905,voluptates,quo,1905 +1906,non,earum,1906 +1907,ullam,qui,1907 +1908,ut,doloribus,1908 +1909,beatae,aliquam,1909 +1910,aut,nemo,1910 +1911,eaque,et,1911 +1912,quia,voluptatibus,1912 +1913,quia,ut,1913 +1914,expedita,nesciunt,1914 +1915,et,doloribus,1915 +1916,laborum,impedit,1916 +1917,velit,dolorem,1917 +1918,officiis,repellat,1918 +1919,eum,quos,1919 +1920,iure,porro,1920 +1921,sunt,perspiciatis,1921 +1922,dolorem,dolores,1922 +1923,illo,perferendis,1923 +1924,dicta,qui,1924 +1925,vel,sit,1925 +1926,dicta,maiores,1926 +1927,eveniet,doloribus,1927 +1928,quaerat,quo,1928 +1929,unde,voluptas,1929 +1930,qui,qui,1930 +1931,sed,illum,1931 +1932,eos,sed,1932 +1933,quidem,odio,1933 +1934,sapiente,asperiores,1934 +1935,voluptatem,alias,1935 +1936,ad,ipsa,1936 +1937,quia,dolorem,1937 +1938,et,repellat,1938 +1939,quod,esse,1939 +1940,eligendi,eligendi,1940 +1941,ea,sit,1941 +1942,sunt,officia,1942 +1943,doloribus,totam,1943 +1944,possimus,quas,1944 +1945,ipsum,inventore,1945 +1946,quae,tempora,1946 +1947,cumque,sed,1947 +1948,illum,ea,1948 +1949,consequuntur,velit,1949 +1950,repudiandae,numquam,1950 +1951,impedit,aut,1951 +1952,vero,eveniet,1952 +1953,non,qui,1953 +1954,aut,et,1954 +1955,voluptates,impedit,1955 +1956,omnis,quas,1956 +1957,error,et,1957 +1958,possimus,nihil,1958 +1959,debitis,sunt,1959 +1960,aut,quas,1960 +1961,sit,sit,1961 +1962,nesciunt,aut,1962 +1963,architecto,quis,1963 +1964,vel,magni,1964 +1965,odit,odio,1965 +1966,repellendus,voluptatem,1966 +1967,soluta,explicabo,1967 +1968,repellendus,soluta,1968 +1969,omnis,aut,1969 +1970,et,molestiae,1970 +1971,architecto,in,1971 +1972,quia,dignissimos,1972 +1973,dolor,suscipit,1973 +1974,laborum,ut,1974 +1975,nulla,corporis,1975 +1976,deleniti,sit,1976 +1977,eveniet,aperiam,1977 +1978,qui,voluptatem,1978 +1979,possimus,mollitia,1979 +1980,consectetur,est,1980 +1981,molestias,facere,1981 +1982,dolorem,dolorem,1982 +1983,cumque,asperiores,1983 +1984,earum,molestiae,1984 +1985,ut,ea,1985 +1986,veniam,debitis,1986 +1987,ratione,ut,1987 +1988,et,nisi,1988 +1989,sit,sed,1989 +1990,quibusdam,quo,1990 +1991,perspiciatis,aut,1991 +1992,vel,ut,1992 +1993,ad,autem,1993 +1994,aspernatur,alias,1994 +1995,sed,quia,1995 +1996,est,et,1996 +1997,adipisci,voluptatem,1997 +1998,architecto,explicabo,1998 +1999,temporibus,sit,1999 +2000,explicabo,eveniet,2000 +2001,mollitia,perferendis,2001 +2002,qui,qui,2002 +2003,consequatur,et,2003 +2004,vel,quia,2004 +2005,fuga,nihil,2005 +2006,aspernatur,illum,2006 +2007,soluta,ducimus,2007 +2008,hic,cupiditate,2008 +2009,et,omnis,2009 +2010,deleniti,aliquam,2010 +2011,odio,commodi,2011 +2012,dolor,enim,2012 +2013,et,corrupti,2013 +2014,omnis,qui,2014 +2015,rerum,eum,2015 +2016,est,alias,2016 +2017,nesciunt,voluptatibus,2017 +2018,magni,repudiandae,2018 +2019,sunt,animi,2019 +2020,rerum,ut,2020 +2021,et,quo,2021 +2022,qui,voluptatem,2022 +2023,voluptas,sed,2023 +2024,quis,molestiae,2024 +2025,earum,qui,2025 +2026,quas,ut,2026 +2027,nihil,recusandae,2027 +2028,quis,magni,2028 +2029,harum,omnis,2029 +2030,sint,sapiente,2030 +2031,voluptatem,aperiam,2031 +2032,quos,rerum,2032 +2033,autem,repellat,2033 +2034,debitis,quibusdam,2034 +2035,porro,beatae,2035 +2036,facere,non,2036 +2037,ullam,maxime,2037 +2038,aperiam,et,2038 +2039,omnis,commodi,2039 +2040,assumenda,eos,2040 +2041,iste,est,2041 +2042,voluptatem,eius,2042 +2043,reprehenderit,eos,2043 +2044,ut,optio,2044 +2045,sequi,ipsum,2045 +2046,in,ab,2046 +2047,et,natus,2047 +2048,alias,nam,2048 +2049,perferendis,qui,2049 +2050,fugit,id,2050 +2051,illum,alias,2051 +2052,est,explicabo,2052 +2053,sed,qui,2053 +2054,nam,odio,2054 +2055,illum,vel,2055 +2056,repellendus,impedit,2056 +2057,minus,placeat,2057 +2058,quas,exercitationem,2058 +2059,deleniti,magni,2059 +2060,adipisci,quibusdam,2060 +2061,voluptatem,voluptatem,2061 +2062,est,iure,2062 +2063,repellat,ratione,2063 +2064,quis,asperiores,2064 +2065,dolore,dolor,2065 +2066,sed,vero,2066 +2067,in,aliquam,2067 +2068,est,quia,2068 +2069,quisquam,quam,2069 +2070,est,ut,2070 +2071,aut,magni,2071 +2072,consectetur,amet,2072 +2073,unde,dignissimos,2073 +2074,et,sint,2074 +2075,reiciendis,suscipit,2075 +2076,corrupti,natus,2076 +2077,ut,repellendus,2077 +2078,qui,tempore,2078 +2079,sit,voluptatem,2079 +2080,totam,reiciendis,2080 +2081,dicta,nihil,2081 +2082,aperiam,maxime,2082 +2083,voluptatum,est,2083 +2084,reprehenderit,laborum,2084 +2085,esse,tempore,2085 +2086,voluptatem,cupiditate,2086 +2087,officia,atque,2087 +2088,error,vitae,2088 +2089,facilis,omnis,2089 +2090,facere,quia,2090 +2091,est,nam,2091 +2092,unde,rem,2092 +2093,et,qui,2093 +2094,qui,neque,2094 +2095,velit,inventore,2095 +2096,cum,rem,2096 +2097,aut,hic,2097 +2098,autem,error,2098 +2099,nam,earum,2099 +2100,nemo,est,2100 +2101,sit,provident,2101 +2102,minus,dolores,2102 +2103,eligendi,totam,2103 +2104,et,consequuntur,2104 +2105,aut,harum,2105 +2106,delectus,laudantium,2106 +2107,fuga,ut,2107 +2108,aut,temporibus,2108 +2109,ut,velit,2109 +2110,recusandae,cumque,2110 +2111,laudantium,quibusdam,2111 +2112,ex,excepturi,2112 +2113,nihil,vitae,2113 +2114,commodi,rerum,2114 +2115,nam,nesciunt,2115 +2116,in,autem,2116 +2117,autem,natus,2117 +2118,fugit,fugiat,2118 +2119,nostrum,rerum,2119 +2120,non,sunt,2120 +2121,libero,quibusdam,2121 +2122,ad,optio,2122 +2123,magni,omnis,2123 +2124,sed,qui,2124 +2125,assumenda,similique,2125 +2126,et,placeat,2126 +2127,accusantium,tempora,2127 +2128,natus,eligendi,2128 +2129,sed,explicabo,2129 +2130,occaecati,corporis,2130 +2131,id,et,2131 +2132,repudiandae,sequi,2132 +2133,soluta,a,2133 +2134,deserunt,maxime,2134 +2135,quasi,mollitia,2135 +2136,eius,nihil,2136 +2137,fugit,a,2137 +2138,omnis,debitis,2138 +2139,illo,cumque,2139 +2140,necessitatibus,rem,2140 +2141,iste,ut,2141 +2142,aut,dolorum,2142 +2143,sit,beatae,2143 +2144,voluptatem,quod,2144 +2145,ea,laborum,2145 +2146,exercitationem,vel,2146 +2147,minima,qui,2147 +2148,illo,ut,2148 +2149,illum,et,2149 +2150,id,saepe,2150 +2151,molestiae,consectetur,2151 +2152,corrupti,dolorem,2152 +2153,natus,laboriosam,2153 +2154,dignissimos,consectetur,2154 +2155,sed,rerum,2155 +2156,aut,qui,2156 +2157,sed,aliquid,2157 +2158,in,et,2158 +2159,dolor,sunt,2159 +2160,repellat,illum,2160 +2161,quis,odio,2161 +2162,reiciendis,ut,2162 +2163,sapiente,voluptatem,2163 +2164,quis,tempore,2164 +2165,praesentium,quia,2165 +2166,dolor,sunt,2166 +2167,aliquam,temporibus,2167 +2168,magni,assumenda,2168 +2169,distinctio,sed,2169 +2170,nihil,quaerat,2170 +2171,commodi,ut,2171 +2172,libero,quia,2172 +2173,quis,tempore,2173 +2174,nihil,porro,2174 +2175,quam,omnis,2175 +2176,ut,voluptas,2176 +2177,nisi,possimus,2177 +2178,libero,rerum,2178 +2179,dolores,similique,2179 +2180,omnis,atque,2180 +2181,pariatur,ut,2181 +2182,inventore,mollitia,2182 +2183,voluptate,commodi,2183 +2184,rerum,impedit,2184 +2185,vitae,quam,2185 +2186,delectus,sed,2186 +2187,sed,quia,2187 +2188,consequatur,praesentium,2188 +2189,natus,officiis,2189 +2190,est,at,2190 +2191,cumque,ipsum,2191 +2192,est,iusto,2192 +2193,iusto,omnis,2193 +2194,et,corporis,2194 +2195,molestiae,totam,2195 +2196,unde,ducimus,2196 +2197,ex,quos,2197 +2198,soluta,est,2198 +2199,aut,rerum,2199 +2200,qui,voluptatem,2200 +2201,necessitatibus,fuga,2201 +2202,accusamus,natus,2202 +2203,et,qui,2203 +2204,in,aut,2204 +2205,porro,harum,2205 +2206,sequi,reiciendis,2206 +2207,sit,omnis,2207 +2208,qui,iste,2208 +2209,qui,temporibus,2209 +2210,nostrum,doloremque,2210 +2211,amet,dolor,2211 +2212,delectus,aut,2212 +2213,aspernatur,dignissimos,2213 +2214,tempore,reprehenderit,2214 +2215,explicabo,dolorem,2215 +2216,repellendus,et,2216 +2217,aut,dolorem,2217 +2218,blanditiis,nostrum,2218 +2219,aspernatur,perferendis,2219 +2220,tempore,et,2220 +2221,doloribus,et,2221 +2222,placeat,neque,2222 +2223,optio,velit,2223 +2224,nostrum,rerum,2224 +2225,est,quis,2225 +2226,illum,minus,2226 +2227,est,eum,2227 +2228,aut,et,2228 +2229,dolore,laborum,2229 +2230,praesentium,nostrum,2230 +2231,soluta,aperiam,2231 +2232,aspernatur,explicabo,2232 +2233,odio,nam,2233 +2234,porro,est,2234 +2235,quia,omnis,2235 +2236,dolores,est,2236 +2237,ipsam,quis,2237 +2238,nemo,quia,2238 +2239,rerum,et,2239 +2240,incidunt,asperiores,2240 +2241,atque,soluta,2241 +2242,ipsam,quia,2242 +2243,sed,voluptas,2243 +2244,ipsum,quae,2244 +2245,voluptas,dolor,2245 +2246,corrupti,odit,2246 +2247,nesciunt,error,2247 +2248,reprehenderit,consectetur,2248 +2249,temporibus,esse,2249 +2250,neque,aut,2250 +2251,illo,quibusdam,2251 +2252,veritatis,aut,2252 +2253,adipisci,temporibus,2253 +2254,vel,aut,2254 +2255,aut,qui,2255 +2256,sequi,atque,2256 +2257,asperiores,quo,2257 +2258,culpa,fuga,2258 +2259,sint,ipsam,2259 +2260,sit,deleniti,2260 +2261,quidem,consequuntur,2261 +2262,aliquid,corrupti,2262 +2263,ipsam,cum,2263 +2264,a,deleniti,2264 +2265,eius,veniam,2265 +2266,magnam,placeat,2266 +2267,atque,voluptatem,2267 +2268,eos,atque,2268 +2269,voluptatibus,modi,2269 +2270,omnis,culpa,2270 +2271,vitae,esse,2271 +2272,ut,occaecati,2272 +2273,mollitia,reprehenderit,2273 +2274,maxime,sunt,2274 +2275,quibusdam,placeat,2275 +2276,eos,sint,2276 +2277,dolore,quo,2277 +2278,architecto,rem,2278 +2279,quia,tempore,2279 +2280,voluptatem,est,2280 +2281,rerum,non,2281 +2282,minima,reiciendis,2282 +2283,sed,nihil,2283 +2284,sed,rerum,2284 +2285,rerum,quas,2285 +2286,aut,error,2286 +2287,quo,sit,2287 +2288,excepturi,facilis,2288 +2289,et,impedit,2289 +2290,in,qui,2290 +2291,quas,nemo,2291 +2292,sunt,et,2292 +2293,ipsum,maxime,2293 +2294,nobis,quia,2294 +2295,delectus,sint,2295 +2296,enim,omnis,2296 +2297,enim,eligendi,2297 +2298,minus,sapiente,2298 +2299,omnis,voluptatum,2299 +2300,unde,porro,2300 +2301,reiciendis,laudantium,2301 +2302,laboriosam,officia,2302 +2303,rerum,nobis,2303 +2304,qui,dolores,2304 +2305,est,eius,2305 +2306,velit,perspiciatis,2306 +2307,nam,mollitia,2307 +2308,autem,id,2308 +2309,beatae,iusto,2309 +2310,quia,rem,2310 +2311,quaerat,tempora,2311 +2312,ut,assumenda,2312 +2313,voluptas,aspernatur,2313 +2314,omnis,et,2314 +2315,aut,corrupti,2315 +2316,commodi,harum,2316 +2317,hic,at,2317 +2318,eum,facilis,2318 +2319,aut,ut,2319 +2320,quo,est,2320 +2321,voluptatibus,culpa,2321 +2322,unde,voluptatem,2322 +2323,sit,atque,2323 +2324,deserunt,voluptatem,2324 +2325,adipisci,minus,2325 +2326,dolores,velit,2326 +2327,et,beatae,2327 +2328,ipsa,voluptatem,2328 +2329,adipisci,soluta,2329 +2330,dolor,quas,2330 +2331,reiciendis,facere,2331 +2332,earum,reiciendis,2332 +2333,exercitationem,sint,2333 +2334,placeat,animi,2334 +2335,aut,eos,2335 +2336,accusamus,velit,2336 +2337,dolores,cumque,2337 +2338,eveniet,voluptatibus,2338 +2339,expedita,quia,2339 +2340,saepe,totam,2340 +2341,ipsam,quo,2341 +2342,mollitia,porro,2342 +2343,accusantium,odit,2343 +2344,facilis,nostrum,2344 +2345,id,iste,2345 +2346,in,odio,2346 +2347,aliquid,maiores,2347 +2348,quod,maxime,2348 +2349,ipsa,perspiciatis,2349 +2350,necessitatibus,eum,2350 +2351,eveniet,ut,2351 +2352,rem,dolor,2352 +2353,maxime,est,2353 +2354,at,blanditiis,2354 +2355,qui,nam,2355 +2356,eligendi,dolores,2356 +2357,nesciunt,molestias,2357 +2358,explicabo,soluta,2358 +2359,et,aut,2359 +2360,quis,sunt,2360 +2361,illum,similique,2361 +2362,et,aperiam,2362 +2363,et,fugiat,2363 +2364,dignissimos,beatae,2364 +2365,sed,praesentium,2365 +2366,amet,id,2366 +2367,accusantium,ad,2367 +2368,iure,rem,2368 +2369,sed,tenetur,2369 +2370,laudantium,placeat,2370 +2371,nobis,doloribus,2371 +2372,qui,in,2372 +2373,in,aliquid,2373 +2374,culpa,omnis,2374 +2375,pariatur,facilis,2375 +2376,quia,aspernatur,2376 +2377,nisi,et,2377 +2378,eos,aut,2378 +2379,quidem,iusto,2379 +2380,numquam,reiciendis,2380 +2381,debitis,consequatur,2381 +2382,ea,amet,2382 +2383,aut,dicta,2383 +2384,cumque,aspernatur,2384 +2385,quas,adipisci,2385 +2386,eligendi,ipsam,2386 +2387,esse,labore,2387 +2388,recusandae,et,2388 +2389,ea,et,2389 +2390,alias,est,2390 +2391,dolor,qui,2391 +2392,quibusdam,in,2392 +2393,minima,id,2393 +2394,iste,possimus,2394 +2395,ipsum,iure,2395 +2396,ullam,rerum,2396 +2397,qui,molestias,2397 +2398,sit,eos,2398 +2399,voluptatem,officia,2399 +2400,pariatur,voluptas,2400 +2401,quos,cumque,2401 +2402,repellat,rem,2402 +2403,distinctio,aut,2403 +2404,esse,consequatur,2404 +2405,cum,natus,2405 +2406,cum,libero,2406 +2407,laudantium,vero,2407 +2408,officia,est,2408 +2409,eos,quas,2409 +2410,aut,eaque,2410 +2411,accusantium,molestias,2411 +2412,dignissimos,rerum,2412 +2413,sed,voluptates,2413 +2414,dolore,rerum,2414 +2415,perferendis,aut,2415 +2416,ipsa,vero,2416 +2417,vel,eum,2417 +2418,soluta,iure,2418 +2419,quibusdam,exercitationem,2419 +2420,et,unde,2420 +2421,provident,sunt,2421 +2422,deleniti,sit,2422 +2423,omnis,est,2423 +2424,et,doloribus,2424 +2425,consectetur,cumque,2425 +2426,ea,magnam,2426 +2427,distinctio,autem,2427 +2428,molestiae,et,2428 +2429,reprehenderit,consequatur,2429 +2430,accusantium,magni,2430 +2431,ratione,quae,2431 +2432,mollitia,odit,2432 +2433,tempora,vero,2433 +2434,nostrum,rerum,2434 +2435,tenetur,molestiae,2435 +2436,dignissimos,cum,2436 +2437,ipsum,laboriosam,2437 +2438,quasi,inventore,2438 +2439,perferendis,et,2439 +2440,quasi,voluptas,2440 +2441,qui,esse,2441 +2442,suscipit,animi,2442 +2443,ullam,qui,2443 +2444,veniam,est,2444 +2445,facilis,sit,2445 +2446,incidunt,autem,2446 +2447,sint,est,2447 +2448,dolorem,eveniet,2448 +2449,facere,ut,2449 +2450,iste,earum,2450 +2451,et,esse,2451 +2452,perspiciatis,minima,2452 +2453,et,consequatur,2453 +2454,magni,voluptatum,2454 +2455,soluta,officia,2455 +2456,vitae,harum,2456 +2457,inventore,nisi,2457 +2458,pariatur,tempora,2458 +2459,accusantium,iste,2459 +2460,non,quam,2460 +2461,esse,aut,2461 +2462,nulla,cumque,2462 +2463,nobis,deleniti,2463 +2464,rerum,maxime,2464 +2465,doloremque,rem,2465 +2466,iusto,molestiae,2466 +2467,temporibus,itaque,2467 +2468,sit,hic,2468 +2469,sapiente,qui,2469 +2470,sed,corporis,2470 +2471,maxime,ratione,2471 +2472,voluptatem,voluptatem,2472 +2473,corporis,id,2473 +2474,natus,pariatur,2474 +2475,nemo,dolor,2475 +2476,ex,enim,2476 +2477,dolorem,quo,2477 +2478,voluptas,provident,2478 +2479,repellendus,sunt,2479 +2480,non,pariatur,2480 +2481,illum,est,2481 +2482,officiis,dolor,2482 +2483,dicta,dolor,2483 +2484,sed,earum,2484 +2485,placeat,ullam,2485 +2486,voluptatem,officia,2486 +2487,non,et,2487 +2488,modi,corporis,2488 +2489,cum,ipsum,2489 +2490,qui,reiciendis,2490 +2491,distinctio,eos,2491 +2492,eos,possimus,2492 +2493,vel,maiores,2493 +2494,assumenda,doloremque,2494 +2495,optio,ad,2495 +2496,fugiat,voluptatem,2496 +2497,facere,nobis,2497 +2498,eos,et,2498 +2499,asperiores,vero,2499 +2500,omnis,nisi,2500 +2501,sed,occaecati,2501 +2502,commodi,sit,2502 +2503,incidunt,ipsa,2503 +2504,non,aliquam,2504 +2505,omnis,voluptas,2505 +2506,est,magni,2506 +2507,tempore,sint,2507 +2508,aliquam,praesentium,2508 +2509,nulla,fugiat,2509 +2510,iste,et,2510 +2511,quia,odit,2511 +2512,blanditiis,a,2512 +2513,numquam,et,2513 +2514,veniam,enim,2514 +2515,ipsam,eligendi,2515 +2516,nam,et,2516 +2517,ut,fuga,2517 +2518,eos,rem,2518 +2519,cupiditate,nemo,2519 +2520,sint,fuga,2520 +2521,ab,minima,2521 +2522,doloribus,voluptatem,2522 +2523,amet,tempore,2523 +2524,veniam,quae,2524 +2525,magnam,nesciunt,2525 +2526,quidem,vitae,2526 +2527,perferendis,et,2527 +2528,earum,aut,2528 +2529,consequatur,aut,2529 +2530,eveniet,placeat,2530 +2531,amet,autem,2531 +2532,in,ipsa,2532 +2533,doloremque,non,2533 +2534,dolores,corporis,2534 +2535,rerum,fugiat,2535 +2536,aliquam,rerum,2536 +2537,aut,eos,2537 +2538,magnam,veniam,2538 +2539,aut,architecto,2539 +2540,ullam,est,2540 +2541,voluptate,qui,2541 +2542,blanditiis,delectus,2542 +2543,eum,repudiandae,2543 +2544,necessitatibus,blanditiis,2544 +2545,aut,ut,2545 +2546,nostrum,neque,2546 +2547,aut,dolores,2547 +2548,voluptates,sapiente,2548 +2549,unde,ut,2549 +2550,ut,autem,2550 +2551,harum,nemo,2551 +2552,quo,quibusdam,2552 +2553,eos,ut,2553 +2554,ut,aliquid,2554 +2555,nulla,sunt,2555 +2556,harum,quidem,2556 +2557,ratione,rem,2557 +2558,et,explicabo,2558 +2559,eum,voluptatum,2559 +2560,dolore,doloribus,2560 +2561,voluptas,hic,2561 +2562,incidunt,qui,2562 +2563,iste,et,2563 +2564,blanditiis,eum,2564 +2565,quidem,nesciunt,2565 +2566,error,ab,2566 +2567,illo,magnam,2567 +2568,ad,blanditiis,2568 +2569,voluptas,quas,2569 +2570,id,facere,2570 +2571,repellendus,consequatur,2571 +2572,sunt,quas,2572 +2573,aut,sit,2573 +2574,nobis,architecto,2574 +2575,ipsum,et,2575 +2576,et,rerum,2576 +2577,eos,voluptatibus,2577 +2578,quasi,saepe,2578 +2579,repellendus,porro,2579 +2580,assumenda,sit,2580 +2581,eveniet,enim,2581 +2582,voluptatum,debitis,2582 +2583,ullam,fugiat,2583 +2584,libero,placeat,2584 +2585,libero,accusantium,2585 +2586,aut,fugit,2586 +2587,et,enim,2587 +2588,velit,commodi,2588 +2589,culpa,harum,2589 +2590,explicabo,et,2590 +2591,optio,dolorem,2591 +2592,sed,aspernatur,2592 +2593,iusto,voluptas,2593 +2594,explicabo,voluptates,2594 +2595,nostrum,sint,2595 +2596,repellendus,pariatur,2596 +2597,quasi,iste,2597 +2598,et,odio,2598 +2599,fuga,sapiente,2599 +2600,dolorem,recusandae,2600 +2601,et,non,2601 +2602,natus,rem,2602 +2603,mollitia,veniam,2603 +2604,a,voluptatem,2604 +2605,vitae,aut,2605 +2606,voluptas,error,2606 +2607,et,sunt,2607 +2608,quis,sit,2608 +2609,et,earum,2609 +2610,modi,deserunt,2610 +2611,quod,aut,2611 +2612,dolores,vero,2612 +2613,autem,ullam,2613 +2614,illo,libero,2614 +2615,placeat,aperiam,2615 +2616,maiores,iste,2616 +2617,in,magnam,2617 +2618,accusantium,architecto,2618 +2619,nobis,velit,2619 +2620,delectus,ipsam,2620 +2621,ut,rem,2621 +2622,voluptates,ipsa,2622 +2623,inventore,nisi,2623 +2624,nostrum,deserunt,2624 +2625,sequi,at,2625 +2626,et,illo,2626 +2627,voluptatem,nam,2627 +2628,qui,incidunt,2628 +2629,adipisci,impedit,2629 +2630,voluptate,temporibus,2630 +2631,blanditiis,et,2631 +2632,quidem,quia,2632 +2633,harum,blanditiis,2633 +2634,et,inventore,2634 +2635,ea,iure,2635 +2636,error,sapiente,2636 +2637,tenetur,assumenda,2637 +2638,molestias,debitis,2638 +2639,deserunt,odio,2639 +2640,in,repellendus,2640 +2641,dolorem,labore,2641 +2642,perferendis,voluptates,2642 +2643,quaerat,aut,2643 +2644,corrupti,quia,2644 +2645,minus,eius,2645 +2646,molestiae,voluptatem,2646 +2647,reiciendis,error,2647 +2648,quia,est,2648 +2649,sunt,praesentium,2649 +2650,delectus,sapiente,2650 +2651,modi,dolores,2651 +2652,sit,natus,2652 +2653,non,voluptatem,2653 +2654,quis,reprehenderit,2654 +2655,nemo,animi,2655 +2656,eos,minus,2656 +2657,dolore,omnis,2657 +2658,deleniti,sit,2658 +2659,accusantium,nobis,2659 +2660,et,ducimus,2660 +2661,corrupti,expedita,2661 +2662,quaerat,nam,2662 +2663,magnam,rerum,2663 +2664,ipsa,aut,2664 +2665,nihil,dolores,2665 +2666,consequatur,iusto,2666 +2667,voluptatum,odit,2667 +2668,vero,quas,2668 +2669,ut,cumque,2669 +2670,aut,minima,2670 +2671,qui,dolores,2671 +2672,suscipit,ut,2672 +2673,quaerat,amet,2673 +2674,et,inventore,2674 +2675,iste,quos,2675 +2676,quae,voluptatum,2676 +2677,cum,neque,2677 +2678,id,aliquid,2678 +2679,eos,voluptatem,2679 +2680,itaque,qui,2680 +2681,sapiente,omnis,2681 +2682,quibusdam,at,2682 +2683,vitae,aperiam,2683 +2684,qui,perspiciatis,2684 +2685,dolorem,doloremque,2685 +2686,deserunt,esse,2686 +2687,suscipit,eos,2687 +2688,beatae,molestias,2688 +2689,magni,rerum,2689 +2690,et,quisquam,2690 +2691,voluptatem,aut,2691 +2692,rerum,dignissimos,2692 +2693,omnis,ad,2693 +2694,a,dignissimos,2694 +2695,dolore,aut,2695 +2696,tempore,tempora,2696 +2697,magni,autem,2697 +2698,dolor,accusamus,2698 +2699,perspiciatis,molestias,2699 +2700,quaerat,similique,2700 +2701,aut,quos,2701 +2702,facere,doloremque,2702 +2703,doloremque,delectus,2703 +2704,magni,exercitationem,2704 +2705,ea,culpa,2705 +2706,culpa,assumenda,2706 +2707,officiis,dicta,2707 +2708,qui,laboriosam,2708 +2709,modi,eos,2709 +2710,consequuntur,repudiandae,2710 +2711,dolor,mollitia,2711 +2712,quisquam,illum,2712 +2713,sunt,unde,2713 +2714,quo,voluptas,2714 +2715,fugit,deleniti,2715 +2716,culpa,provident,2716 +2717,labore,praesentium,2717 +2718,cupiditate,numquam,2718 +2719,quis,qui,2719 +2720,deserunt,vel,2720 +2721,expedita,cupiditate,2721 +2722,ut,voluptatibus,2722 +2723,sapiente,voluptatem,2723 +2724,sed,recusandae,2724 +2725,et,animi,2725 +2726,iure,est,2726 +2727,odio,est,2727 +2728,blanditiis,amet,2728 +2729,laborum,reiciendis,2729 +2730,maxime,officiis,2730 +2731,explicabo,iure,2731 +2732,modi,minus,2732 +2733,sed,animi,2733 +2734,est,facere,2734 +2735,cum,sed,2735 +2736,eius,molestias,2736 +2737,nihil,dolorem,2737 +2738,aut,unde,2738 +2739,commodi,omnis,2739 +2740,cum,quas,2740 +2741,iusto,nostrum,2741 +2742,voluptatem,et,2742 +2743,aut,et,2743 +2744,qui,eos,2744 +2745,non,in,2745 +2746,reiciendis,et,2746 +2747,inventore,perferendis,2747 +2748,modi,commodi,2748 +2749,aut,vel,2749 +2750,perspiciatis,optio,2750 +2751,quis,iusto,2751 +2752,ea,qui,2752 +2753,architecto,corporis,2753 +2754,in,recusandae,2754 +2755,fugiat,voluptatem,2755 +2756,libero,quia,2756 +2757,nihil,similique,2757 +2758,quis,quam,2758 +2759,deleniti,sed,2759 +2760,eius,fugiat,2760 +2761,nulla,iusto,2761 +2762,nihil,et,2762 +2763,quisquam,sint,2763 +2764,iste,iste,2764 +2765,et,nobis,2765 +2766,recusandae,quia,2766 +2767,consequatur,alias,2767 +2768,excepturi,molestiae,2768 +2769,sed,ipsum,2769 +2770,ut,labore,2770 +2771,qui,quos,2771 +2772,dolor,ut,2772 +2773,ullam,quas,2773 +2774,iusto,maxime,2774 +2775,dolor,est,2775 +2776,nobis,deleniti,2776 +2777,fugit,culpa,2777 +2778,est,velit,2778 +2779,dolores,molestiae,2779 +2780,sit,suscipit,2780 +2781,unde,in,2781 +2782,molestiae,voluptas,2782 +2783,repellat,eius,2783 +2784,non,ab,2784 +2785,sint,sint,2785 +2786,voluptatibus,earum,2786 +2787,dolore,in,2787 +2788,sapiente,eos,2788 +2789,quis,sequi,2789 +2790,voluptates,beatae,2790 +2791,sapiente,quia,2791 +2792,sit,dolorem,2792 +2793,omnis,doloremque,2793 +2794,adipisci,dignissimos,2794 +2795,beatae,necessitatibus,2795 +2796,vel,doloribus,2796 +2797,sit,nulla,2797 +2798,corrupti,et,2798 +2799,a,sapiente,2799 +2800,quaerat,optio,2800 +2801,dicta,animi,2801 +2802,numquam,et,2802 +2803,et,aliquid,2803 +2804,accusamus,dolores,2804 +2805,est,adipisci,2805 +2806,non,iure,2806 +2807,nihil,veniam,2807 +2808,et,autem,2808 +2809,nesciunt,ducimus,2809 +2810,minus,vel,2810 +2811,cum,sit,2811 +2812,maxime,ea,2812 +2813,officia,veniam,2813 +2814,qui,minus,2814 +2815,similique,perspiciatis,2815 +2816,est,ut,2816 +2817,in,fuga,2817 +2818,necessitatibus,incidunt,2818 +2819,voluptatibus,et,2819 +2820,dolore,minus,2820 +2821,velit,id,2821 +2822,laudantium,et,2822 +2823,vel,recusandae,2823 +2824,delectus,nulla,2824 +2825,mollitia,sint,2825 +2826,ut,aut,2826 +2827,dolorem,quod,2827 +2828,ut,dolores,2828 +2829,soluta,aut,2829 +2830,occaecati,et,2830 +2831,debitis,qui,2831 +2832,suscipit,adipisci,2832 +2833,facilis,at,2833 +2834,animi,aut,2834 +2835,veritatis,itaque,2835 +2836,dolore,aliquam,2836 +2837,aut,voluptatem,2837 +2838,vero,est,2838 +2839,aliquid,mollitia,2839 +2840,qui,voluptatum,2840 +2841,omnis,ea,2841 +2842,delectus,quam,2842 +2843,modi,doloribus,2843 +2844,necessitatibus,ducimus,2844 +2845,voluptas,nulla,2845 +2846,sit,rem,2846 +2847,possimus,sequi,2847 +2848,id,similique,2848 +2849,quis,dolorum,2849 +2850,sit,rerum,2850 +2851,ex,voluptas,2851 +2852,et,quis,2852 +2853,saepe,quia,2853 +2854,laboriosam,temporibus,2854 +2855,nihil,est,2855 +2856,est,inventore,2856 +2857,voluptate,sit,2857 +2858,nesciunt,ipsa,2858 +2859,excepturi,sequi,2859 +2860,quos,ad,2860 +2861,ut,laboriosam,2861 +2862,est,id,2862 +2863,sit,doloribus,2863 +2864,qui,veritatis,2864 +2865,soluta,est,2865 +2866,eligendi,consequatur,2866 +2867,saepe,voluptatem,2867 +2868,eos,iusto,2868 +2869,veniam,dicta,2869 +2870,suscipit,nulla,2870 +2871,neque,aperiam,2871 +2872,modi,maxime,2872 +2873,aliquam,aut,2873 +2874,a,inventore,2874 +2875,qui,alias,2875 +2876,voluptates,consequatur,2876 +2877,natus,dolores,2877 +2878,et,sunt,2878 +2879,eligendi,ab,2879 +2880,odio,eos,2880 +2881,quia,dolorem,2881 +2882,voluptas,neque,2882 +2883,autem,voluptas,2883 +2884,facilis,harum,2884 +2885,commodi,ut,2885 +2886,facere,necessitatibus,2886 +2887,nesciunt,omnis,2887 +2888,consequuntur,ab,2888 +2889,maiores,iure,2889 +2890,rem,ratione,2890 +2891,aspernatur,facere,2891 +2892,vel,deserunt,2892 +2893,nihil,esse,2893 +2894,inventore,aspernatur,2894 +2895,fugit,fugit,2895 +2896,error,neque,2896 +2897,quos,omnis,2897 +2898,laudantium,quia,2898 +2899,officiis,quia,2899 +2900,voluptas,suscipit,2900 +2901,id,id,2901 +2902,at,officiis,2902 +2903,natus,dolore,2903 +2904,repudiandae,qui,2904 +2905,voluptatibus,dolor,2905 +2906,sint,temporibus,2906 +2907,ut,explicabo,2907 +2908,et,et,2908 +2909,iste,et,2909 +2910,mollitia,facere,2910 +2911,adipisci,quod,2911 +2912,quia,nihil,2912 +2913,magni,eum,2913 +2914,et,voluptatem,2914 +2915,quae,recusandae,2915 +2916,harum,adipisci,2916 +2917,unde,dolorem,2917 +2918,qui,ut,2918 +2919,eaque,occaecati,2919 +2920,voluptas,amet,2920 +2921,doloremque,dolor,2921 +2922,dolorem,provident,2922 +2923,quas,omnis,2923 +2924,nulla,cumque,2924 +2925,consectetur,magni,2925 +2926,laudantium,recusandae,2926 +2927,vitae,quod,2927 +2928,numquam,quia,2928 +2929,mollitia,est,2929 +2930,explicabo,dolores,2930 +2931,velit,odio,2931 +2932,ut,dolor,2932 +2933,qui,nam,2933 +2934,eos,quaerat,2934 +2935,ullam,libero,2935 +2936,fuga,non,2936 +2937,cum,nisi,2937 +2938,accusantium,dolorum,2938 +2939,provident,non,2939 +2940,blanditiis,ipsum,2940 +2941,veniam,iste,2941 +2942,non,nihil,2942 +2943,iure,voluptatem,2943 +2944,necessitatibus,explicabo,2944 +2945,aut,inventore,2945 +2946,impedit,velit,2946 +2947,repellat,vel,2947 +2948,qui,omnis,2948 +2949,repudiandae,officia,2949 +2950,consequuntur,corrupti,2950 +2951,et,esse,2951 +2952,autem,rem,2952 +2953,mollitia,in,2953 +2954,perspiciatis,nesciunt,2954 +2955,doloribus,animi,2955 +2956,sunt,provident,2956 +2957,quis,consequatur,2957 +2958,nihil,accusamus,2958 +2959,libero,est,2959 +2960,eaque,et,2960 +2961,aut,porro,2961 +2962,distinctio,impedit,2962 +2963,amet,consequatur,2963 +2964,quod,sed,2964 +2965,in,suscipit,2965 +2966,ratione,et,2966 +2967,minus,eius,2967 +2968,culpa,sint,2968 +2969,tempore,quasi,2969 +2970,qui,voluptatem,2970 +2971,enim,laborum,2971 +2972,voluptates,sapiente,2972 +2973,numquam,autem,2973 +2974,alias,fugit,2974 +2975,accusantium,magni,2975 +2976,sit,voluptates,2976 +2977,aut,voluptas,2977 +2978,assumenda,ut,2978 +2979,qui,voluptatem,2979 +2980,minus,reprehenderit,2980 +2981,fugiat,temporibus,2981 +2982,doloribus,quis,2982 +2983,est,voluptatem,2983 +2984,et,consequatur,2984 +2985,nostrum,laudantium,2985 +2986,quasi,itaque,2986 +2987,enim,in,2987 +2988,et,magnam,2988 +2989,alias,aperiam,2989 +2990,dolor,ut,2990 +2991,non,aut,2991 +2992,et,quos,2992 +2993,nisi,nisi,2993 +2994,dolor,ut,2994 +2995,voluptate,quasi,2995 +2996,adipisci,blanditiis,2996 +2997,repellat,voluptas,2997 +2998,velit,dolores,2998 +2999,exercitationem,facere,2999 +3000,debitis,doloribus,3000 +3001,ducimus,nostrum,3001 +3002,quod,dolorem,3002 +3003,ducimus,aut,3003 +3004,quidem,perferendis,3004 +3005,sed,ducimus,3005 +3006,voluptate,voluptatem,3006 +3007,laboriosam,tempore,3007 +3008,nesciunt,odio,3008 +3009,asperiores,nam,3009 +3010,dolor,esse,3010 +3011,similique,sunt,3011 +3012,in,ipsam,3012 +3013,quo,sequi,3013 +3014,quidem,voluptas,3014 +3015,explicabo,iusto,3015 +3016,voluptatem,error,3016 +3017,asperiores,aut,3017 +3018,repellendus,nesciunt,3018 +3019,nesciunt,est,3019 +3020,in,vitae,3020 +3021,aliquid,quas,3021 +3022,quae,ipsum,3022 +3023,eveniet,quaerat,3023 +3024,quae,est,3024 +3025,voluptas,id,3025 +3026,soluta,explicabo,3026 +3027,sunt,in,3027 +3028,molestiae,et,3028 +3029,qui,enim,3029 +3030,voluptates,vel,3030 +3031,officia,facere,3031 +3032,nam,quidem,3032 +3033,iusto,et,3033 +3034,consequuntur,eveniet,3034 +3035,nulla,id,3035 +3036,tenetur,ut,3036 +3037,ea,quod,3037 +3038,explicabo,modi,3038 +3039,consequatur,necessitatibus,3039 +3040,iste,voluptas,3040 +3041,vel,praesentium,3041 +3042,et,earum,3042 +3043,et,assumenda,3043 +3044,inventore,deserunt,3044 +3045,sint,quis,3045 +3046,amet,ex,3046 +3047,explicabo,sed,3047 +3048,aut,consequuntur,3048 +3049,et,soluta,3049 +3050,dolores,occaecati,3050 +3051,quo,voluptatem,3051 +3052,molestiae,perspiciatis,3052 +3053,a,commodi,3053 +3054,sed,alias,3054 +3055,suscipit,numquam,3055 +3056,ea,veritatis,3056 +3057,corrupti,inventore,3057 +3058,temporibus,at,3058 +3059,rerum,et,3059 +3060,amet,et,3060 +3061,repellat,ex,3061 +3062,commodi,quia,3062 +3063,velit,eveniet,3063 +3064,quod,quasi,3064 +3065,eum,nesciunt,3065 +3066,eligendi,dolorum,3066 +3067,fuga,corporis,3067 +3068,voluptatem,praesentium,3068 +3069,eveniet,ut,3069 +3070,molestias,deserunt,3070 +3071,laborum,laborum,3071 +3072,voluptas,beatae,3072 +3073,tenetur,voluptatem,3073 +3074,eum,ut,3074 +3075,ipsa,fuga,3075 +3076,id,porro,3076 +3077,qui,iusto,3077 +3078,sit,consequatur,3078 +3079,eos,rerum,3079 +3080,harum,esse,3080 +3081,quia,quas,3081 +3082,nesciunt,repellendus,3082 +3083,autem,exercitationem,3083 +3084,qui,vel,3084 +3085,suscipit,consequatur,3085 +3086,dolorem,consectetur,3086 +3087,et,eaque,3087 +3088,repellendus,officia,3088 +3089,praesentium,nulla,3089 +3090,doloribus,minima,3090 +3091,ut,laborum,3091 +3092,ducimus,molestiae,3092 +3093,eum,placeat,3093 +3094,eligendi,vero,3094 +3095,accusamus,rerum,3095 +3096,est,quia,3096 +3097,aliquam,iste,3097 +3098,quia,consequatur,3098 +3099,labore,facilis,3099 +3100,quo,inventore,3100 +3101,quos,molestiae,3101 +3102,itaque,illo,3102 +3103,nam,qui,3103 +3104,minus,inventore,3104 +3105,eaque,aut,3105 +3106,iste,nobis,3106 +3107,vitae,assumenda,3107 +3108,temporibus,aliquid,3108 +3109,et,corrupti,3109 +3110,sunt,dolore,3110 +3111,quibusdam,cupiditate,3111 +3112,eaque,voluptate,3112 +3113,commodi,voluptates,3113 +3114,omnis,facilis,3114 +3115,at,perferendis,3115 +3116,amet,voluptatem,3116 +3117,qui,enim,3117 +3118,est,consequatur,3118 +3119,accusamus,alias,3119 +3120,ducimus,ut,3120 +3121,delectus,odit,3121 +3122,a,debitis,3122 +3123,voluptas,modi,3123 +3124,enim,et,3124 +3125,pariatur,omnis,3125 +3126,aut,deserunt,3126 +3127,cum,voluptas,3127 +3128,rerum,nihil,3128 +3129,beatae,quo,3129 +3130,et,voluptatem,3130 +3131,eum,voluptates,3131 +3132,est,commodi,3132 +3133,eveniet,quae,3133 +3134,enim,cupiditate,3134 +3135,unde,in,3135 +3136,molestias,molestiae,3136 +3137,asperiores,sed,3137 +3138,rerum,qui,3138 +3139,et,possimus,3139 +3140,quia,reprehenderit,3140 +3141,excepturi,tempora,3141 +3142,voluptatibus,voluptatibus,3142 +3143,eaque,rerum,3143 +3144,dignissimos,beatae,3144 +3145,dolores,et,3145 +3146,qui,dolor,3146 +3147,inventore,atque,3147 +3148,iusto,eum,3148 +3149,voluptates,temporibus,3149 +3150,debitis,et,3150 +3151,sint,perspiciatis,3151 +3152,hic,adipisci,3152 +3153,assumenda,ex,3153 +3154,repellat,magni,3154 +3155,delectus,consectetur,3155 +3156,quis,aut,3156 +3157,quo,quod,3157 +3158,ad,quo,3158 +3159,non,quia,3159 +3160,accusamus,enim,3160 +3161,nemo,dignissimos,3161 +3162,molestias,molestiae,3162 +3163,voluptatibus,et,3163 +3164,voluptatibus,est,3164 +3165,sequi,cumque,3165 +3166,cumque,id,3166 +3167,cum,iste,3167 +3168,est,nihil,3168 +3169,et,voluptatem,3169 +3170,sint,quia,3170 +3171,amet,odio,3171 +3172,omnis,et,3172 +3173,qui,explicabo,3173 +3174,et,sit,3174 +3175,nobis,sunt,3175 +3176,excepturi,eos,3176 +3177,quia,veniam,3177 +3178,temporibus,sint,3178 +3179,animi,totam,3179 +3180,optio,incidunt,3180 +3181,fugit,et,3181 +3182,nostrum,sint,3182 +3183,maiores,qui,3183 +3184,aspernatur,voluptatem,3184 +3185,quam,omnis,3185 +3186,quis,magnam,3186 +3187,sit,dolor,3187 +3188,eaque,voluptatibus,3188 +3189,enim,autem,3189 +3190,quia,totam,3190 +3191,eligendi,architecto,3191 +3192,sunt,et,3192 +3193,quia,et,3193 +3194,assumenda,perferendis,3194 +3195,ut,est,3195 +3196,et,architecto,3196 +3197,dolorum,fugit,3197 +3198,libero,possimus,3198 +3199,quasi,voluptatem,3199 +3200,magni,qui,3200 +3201,quia,dignissimos,3201 +3202,ipsa,molestiae,3202 +3203,sed,laborum,3203 +3204,dolore,animi,3204 +3205,minima,officia,3205 +3206,quod,maxime,3206 +3207,non,rem,3207 +3208,adipisci,rerum,3208 +3209,voluptate,accusamus,3209 +3210,deleniti,placeat,3210 +3211,officia,harum,3211 +3212,provident,id,3212 +3213,id,voluptatem,3213 +3214,minus,doloremque,3214 +3215,libero,temporibus,3215 +3216,sed,iusto,3216 +3217,dolores,ab,3217 +3218,quia,nihil,3218 +3219,est,sed,3219 +3220,sit,repellat,3220 +3221,quia,aliquam,3221 +3222,ut,rem,3222 +3223,dolorem,explicabo,3223 +3224,reprehenderit,sint,3224 +3225,est,molestiae,3225 +3226,quia,quis,3226 +3227,hic,enim,3227 +3228,provident,eum,3228 +3229,magnam,dolores,3229 +3230,illum,laboriosam,3230 +3231,maxime,aliquid,3231 +3232,dolores,officia,3232 +3233,aliquid,placeat,3233 +3234,et,dolor,3234 +3235,minima,rem,3235 +3236,ipsum,blanditiis,3236 +3237,impedit,quaerat,3237 +3238,aut,enim,3238 +3239,consequatur,tenetur,3239 +3240,placeat,maiores,3240 +3241,quia,cupiditate,3241 +3242,et,maiores,3242 +3243,natus,earum,3243 +3244,doloremque,aut,3244 +3245,neque,adipisci,3245 +3246,et,consectetur,3246 +3247,quia,odit,3247 +3248,aliquam,alias,3248 +3249,recusandae,omnis,3249 +3250,doloremque,est,3250 +3251,fuga,nulla,3251 +3252,ut,impedit,3252 +3253,quam,vel,3253 +3254,qui,illo,3254 +3255,voluptas,dicta,3255 +3256,veniam,rerum,3256 +3257,qui,reprehenderit,3257 +3258,officia,sed,3258 +3259,accusamus,temporibus,3259 +3260,recusandae,autem,3260 +3261,maxime,reprehenderit,3261 +3262,nostrum,labore,3262 +3263,laboriosam,iste,3263 +3264,porro,aut,3264 +3265,et,dolorum,3265 +3266,qui,labore,3266 +3267,laborum,numquam,3267 +3268,repudiandae,soluta,3268 +3269,et,quos,3269 +3270,ut,qui,3270 +3271,excepturi,doloremque,3271 +3272,dolor,reprehenderit,3272 +3273,quis,labore,3273 +3274,dolorem,est,3274 +3275,cupiditate,optio,3275 +3276,quo,consequatur,3276 +3277,sed,voluptate,3277 +3278,laboriosam,veritatis,3278 +3279,et,dolor,3279 +3280,odio,eum,3280 +3281,quo,iusto,3281 +3282,aspernatur,vitae,3282 +3283,hic,voluptatem,3283 +3284,mollitia,assumenda,3284 +3285,quo,occaecati,3285 +3286,enim,hic,3286 +3287,est,quo,3287 +3288,accusamus,accusamus,3288 +3289,molestiae,tenetur,3289 +3290,dolores,et,3290 +3291,qui,voluptate,3291 +3292,quis,velit,3292 +3293,architecto,modi,3293 +3294,est,illum,3294 +3295,est,a,3295 +3296,et,unde,3296 +3297,quasi,quia,3297 +3298,laudantium,voluptas,3298 +3299,veritatis,et,3299 +3300,at,voluptatem,3300 +3301,maxime,eius,3301 +3302,velit,rem,3302 +3303,voluptatem,nemo,3303 +3304,consequatur,in,3304 +3305,exercitationem,debitis,3305 +3306,error,repudiandae,3306 +3307,consequatur,eveniet,3307 +3308,aut,voluptatibus,3308 +3309,blanditiis,deserunt,3309 +3310,facilis,unde,3310 +3311,in,quam,3311 +3312,et,est,3312 +3313,maxime,praesentium,3313 +3314,dolores,sapiente,3314 +3315,quia,at,3315 +3316,numquam,corporis,3316 +3317,omnis,cumque,3317 +3318,occaecati,commodi,3318 +3319,molestiae,repellat,3319 +3320,voluptate,velit,3320 +3321,fuga,cumque,3321 +3322,minus,nesciunt,3322 +3323,voluptatem,a,3323 +3324,minima,dolores,3324 +3325,labore,cupiditate,3325 +3326,blanditiis,in,3326 +3327,iste,non,3327 +3328,ipsum,magni,3328 +3329,labore,debitis,3329 +3330,ad,veniam,3330 +3331,perferendis,ipsam,3331 +3332,similique,et,3332 +3333,qui,dolor,3333 +3334,dolorem,eius,3334 +3335,ut,a,3335 +3336,ea,consequatur,3336 +3337,aspernatur,nisi,3337 +3338,accusamus,aut,3338 +3339,quibusdam,sint,3339 +3340,unde,omnis,3340 +3341,dolorem,distinctio,3341 +3342,sapiente,dolorum,3342 +3343,vero,a,3343 +3344,voluptas,officiis,3344 +3345,quia,velit,3345 +3346,fugit,debitis,3346 +3347,voluptas,dolor,3347 +3348,dicta,quia,3348 +3349,minus,consequatur,3349 +3350,velit,et,3350 +3351,aut,et,3351 +3352,laudantium,non,3352 +3353,laborum,iste,3353 +3354,cum,dolor,3354 +3355,est,occaecati,3355 +3356,ducimus,officia,3356 +3357,distinctio,quasi,3357 +3358,tempora,soluta,3358 +3359,doloremque,quo,3359 +3360,ut,quia,3360 +3361,quasi,autem,3361 +3362,ullam,minus,3362 +3363,et,praesentium,3363 +3364,omnis,est,3364 +3365,nihil,hic,3365 +3366,qui,et,3366 +3367,consequatur,qui,3367 +3368,cumque,quis,3368 +3369,voluptas,vitae,3369 +3370,dolor,corporis,3370 +3371,et,magni,3371 +3372,unde,minus,3372 +3373,recusandae,rerum,3373 +3374,non,cumque,3374 +3375,dolore,voluptatum,3375 +3376,qui,aut,3376 +3377,qui,quis,3377 +3378,sint,omnis,3378 +3379,deserunt,id,3379 +3380,nemo,aliquam,3380 +3381,asperiores,a,3381 +3382,et,tempore,3382 +3383,eaque,et,3383 +3384,odio,et,3384 +3385,omnis,deserunt,3385 +3386,rem,dolorum,3386 +3387,asperiores,sed,3387 +3388,modi,sed,3388 +3389,aut,error,3389 +3390,cumque,quis,3390 +3391,omnis,praesentium,3391 +3392,praesentium,eveniet,3392 +3393,aut,quasi,3393 +3394,sint,commodi,3394 +3395,fugit,ut,3395 +3396,iusto,magnam,3396 +3397,debitis,quidem,3397 +3398,voluptatibus,aut,3398 +3399,ea,aspernatur,3399 +3400,in,odit,3400 +3401,nemo,est,3401 +3402,cum,ducimus,3402 +3403,consectetur,quae,3403 +3404,praesentium,hic,3404 +3405,recusandae,consectetur,3405 +3406,doloribus,amet,3406 +3407,et,sed,3407 +3408,et,ut,3408 +3409,nihil,vitae,3409 +3410,ullam,iusto,3410 +3411,qui,aut,3411 +3412,sapiente,officia,3412 +3413,rerum,adipisci,3413 +3414,omnis,rem,3414 +3415,unde,ut,3415 +3416,ut,illum,3416 +3417,et,et,3417 +3418,aliquid,rerum,3418 +3419,enim,facere,3419 +3420,esse,qui,3420 +3421,animi,eum,3421 +3422,modi,possimus,3422 +3423,reiciendis,incidunt,3423 +3424,soluta,dolor,3424 +3425,enim,id,3425 +3426,et,laboriosam,3426 +3427,aut,aliquid,3427 +3428,corporis,rerum,3428 +3429,officiis,et,3429 +3430,autem,qui,3430 +3431,et,expedita,3431 +3432,dolorem,suscipit,3432 +3433,quidem,voluptas,3433 +3434,dolore,est,3434 +3435,qui,porro,3435 +3436,omnis,et,3436 +3437,quos,dignissimos,3437 +3438,reiciendis,voluptatum,3438 +3439,omnis,quo,3439 +3440,id,saepe,3440 +3441,sint,illo,3441 +3442,voluptate,ab,3442 +3443,provident,iste,3443 +3444,numquam,eveniet,3444 +3445,fugiat,omnis,3445 +3446,nulla,nam,3446 +3447,ut,voluptatem,3447 +3448,omnis,dolores,3448 +3449,dolorem,id,3449 +3450,sit,non,3450 +3451,consequatur,minus,3451 +3452,recusandae,temporibus,3452 +3453,eveniet,vero,3453 +3454,nulla,blanditiis,3454 +3455,eius,dolorum,3455 +3456,voluptates,sit,3456 +3457,deserunt,nam,3457 +3458,consequatur,ducimus,3458 +3459,sed,aut,3459 +3460,tenetur,id,3460 +3461,recusandae,et,3461 +3462,ea,autem,3462 +3463,aut,eaque,3463 +3464,velit,enim,3464 +3465,unde,dolores,3465 +3466,architecto,repellendus,3466 +3467,reiciendis,qui,3467 +3468,pariatur,blanditiis,3468 +3469,eum,voluptatem,3469 +3470,consequatur,earum,3470 +3471,optio,soluta,3471 +3472,quibusdam,saepe,3472 +3473,sed,eos,3473 +3474,ipsum,eaque,3474 +3475,nobis,dolorem,3475 +3476,quo,rerum,3476 +3477,provident,vel,3477 +3478,corporis,laboriosam,3478 +3479,repudiandae,accusantium,3479 +3480,animi,illo,3480 +3481,aliquam,nisi,3481 +3482,officia,nisi,3482 +3483,atque,harum,3483 +3484,earum,sed,3484 +3485,ut,dicta,3485 +3486,ipsum,doloremque,3486 +3487,recusandae,doloribus,3487 +3488,laboriosam,dolorum,3488 +3489,aut,rem,3489 +3490,voluptatem,a,3490 +3491,quia,nisi,3491 +3492,ut,quis,3492 +3493,ut,dolores,3493 +3494,tempore,veritatis,3494 +3495,voluptatibus,iste,3495 +3496,necessitatibus,non,3496 +3497,quibusdam,aut,3497 +3498,delectus,molestiae,3498 +3499,reiciendis,id,3499 +3500,blanditiis,sed,3500 +3501,eaque,aut,3501 +3502,atque,doloremque,3502 +3503,aut,sed,3503 +3504,quam,quibusdam,3504 +3505,minus,consequatur,3505 +3506,odio,velit,3506 +3507,praesentium,et,3507 +3508,deserunt,nobis,3508 +3509,qui,laboriosam,3509 +3510,qui,quasi,3510 +3511,est,earum,3511 +3512,architecto,veniam,3512 +3513,sit,et,3513 +3514,possimus,blanditiis,3514 +3515,dolores,iusto,3515 +3516,molestiae,aut,3516 +3517,est,libero,3517 +3518,aliquid,officia,3518 +3519,tempora,impedit,3519 +3520,fuga,iure,3520 +3521,reprehenderit,aperiam,3521 +3522,voluptatem,tempore,3522 +3523,consequatur,iusto,3523 +3524,excepturi,quibusdam,3524 +3525,optio,enim,3525 +3526,quam,omnis,3526 +3527,possimus,consequatur,3527 +3528,praesentium,doloribus,3528 +3529,ea,quaerat,3529 +3530,pariatur,libero,3530 +3531,maxime,pariatur,3531 +3532,quae,hic,3532 +3533,minima,odit,3533 +3534,corrupti,hic,3534 +3535,suscipit,fugiat,3535 +3536,dolores,eos,3536 +3537,omnis,labore,3537 +3538,eligendi,nesciunt,3538 +3539,unde,sunt,3539 +3540,sed,perferendis,3540 +3541,qui,cumque,3541 +3542,occaecati,earum,3542 +3543,molestiae,aut,3543 +3544,nihil,excepturi,3544 +3545,dolor,esse,3545 +3546,ut,praesentium,3546 +3547,quia,deserunt,3547 +3548,quaerat,omnis,3548 +3549,quo,sunt,3549 +3550,repellendus,accusamus,3550 +3551,et,a,3551 +3552,perspiciatis,earum,3552 +3553,laboriosam,in,3553 +3554,tempore,molestiae,3554 +3555,unde,minima,3555 +3556,est,enim,3556 +3557,repudiandae,ut,3557 +3558,qui,eum,3558 +3559,vel,aut,3559 +3560,magni,animi,3560 +3561,libero,quo,3561 +3562,nulla,quibusdam,3562 +3563,ut,voluptatum,3563 +3564,voluptatem,et,3564 +3565,sit,qui,3565 +3566,et,architecto,3566 +3567,ipsum,et,3567 +3568,maiores,molestiae,3568 +3569,qui,dolor,3569 +3570,et,qui,3570 +3571,ex,aut,3571 +3572,expedita,asperiores,3572 +3573,autem,quisquam,3573 +3574,exercitationem,consequatur,3574 +3575,quae,omnis,3575 +3576,officiis,et,3576 +3577,vitae,praesentium,3577 +3578,explicabo,quasi,3578 +3579,quia,et,3579 +3580,repellendus,veniam,3580 +3581,necessitatibus,odio,3581 +3582,cumque,atque,3582 +3583,itaque,provident,3583 +3584,nulla,in,3584 +3585,rerum,facere,3585 +3586,ut,autem,3586 +3587,veritatis,occaecati,3587 +3588,voluptatibus,aliquam,3588 +3589,temporibus,autem,3589 +3590,voluptatem,ea,3590 +3591,dolore,est,3591 +3592,enim,est,3592 +3593,earum,nam,3593 +3594,vel,omnis,3594 +3595,et,deleniti,3595 +3596,dolorum,voluptatem,3596 +3597,nostrum,soluta,3597 +3598,dignissimos,quia,3598 +3599,cum,iure,3599 +3600,aspernatur,est,3600 +3601,dolorem,fugiat,3601 +3602,neque,laborum,3602 +3603,et,vel,3603 +3604,voluptatem,expedita,3604 +3605,sunt,rerum,3605 +3606,mollitia,et,3606 +3607,ad,quaerat,3607 +3608,illo,iusto,3608 +3609,sed,necessitatibus,3609 +3610,quidem,nihil,3610 +3611,quo,voluptatem,3611 +3612,vitae,autem,3612 +3613,et,aspernatur,3613 +3614,ea,inventore,3614 +3615,qui,voluptatem,3615 +3616,voluptates,consectetur,3616 +3617,illum,quibusdam,3617 +3618,nesciunt,ab,3618 +3619,repellat,illum,3619 +3620,optio,ut,3620 +3621,quisquam,voluptas,3621 +3622,ut,ipsa,3622 +3623,minus,voluptatem,3623 +3624,accusamus,sed,3624 +3625,eligendi,iste,3625 +3626,at,est,3626 +3627,culpa,et,3627 +3628,ex,dolores,3628 +3629,debitis,earum,3629 +3630,laborum,similique,3630 +3631,temporibus,consequatur,3631 +3632,qui,iste,3632 +3633,modi,non,3633 +3634,fugiat,et,3634 +3635,deserunt,odit,3635 +3636,dignissimos,quibusdam,3636 +3637,quia,dignissimos,3637 +3638,et,enim,3638 +3639,et,culpa,3639 +3640,voluptatem,nostrum,3640 +3641,doloribus,magni,3641 +3642,harum,sint,3642 +3643,similique,quis,3643 +3644,nihil,quia,3644 +3645,qui,sit,3645 +3646,rem,ratione,3646 +3647,molestias,dignissimos,3647 +3648,minima,aut,3648 +3649,molestias,sapiente,3649 +3650,qui,dolore,3650 +3651,ad,qui,3651 +3652,commodi,doloremque,3652 +3653,illum,atque,3653 +3654,dignissimos,rem,3654 +3655,ab,eaque,3655 +3656,qui,deserunt,3656 +3657,dolores,occaecati,3657 +3658,omnis,ut,3658 +3659,omnis,eum,3659 +3660,consequatur,pariatur,3660 +3661,sit,impedit,3661 +3662,itaque,labore,3662 +3663,quae,et,3663 +3664,sed,deleniti,3664 +3665,laudantium,autem,3665 +3666,voluptate,sed,3666 +3667,pariatur,officia,3667 +3668,labore,odit,3668 +3669,nisi,qui,3669 +3670,et,nihil,3670 +3671,occaecati,voluptas,3671 +3672,alias,magnam,3672 +3673,dolores,optio,3673 +3674,accusantium,rem,3674 +3675,qui,atque,3675 +3676,culpa,numquam,3676 +3677,veniam,sit,3677 +3678,sed,corporis,3678 +3679,amet,dolorem,3679 +3680,et,ut,3680 +3681,dolores,corrupti,3681 +3682,voluptates,dolor,3682 +3683,doloribus,unde,3683 +3684,perspiciatis,vitae,3684 +3685,odio,quo,3685 +3686,eaque,consequuntur,3686 +3687,mollitia,delectus,3687 +3688,odit,consequatur,3688 +3689,necessitatibus,eos,3689 +3690,perspiciatis,in,3690 +3691,officia,in,3691 +3692,a,error,3692 +3693,impedit,voluptas,3693 +3694,vitae,omnis,3694 +3695,quaerat,quis,3695 +3696,quo,asperiores,3696 +3697,quia,explicabo,3697 +3698,nulla,quam,3698 +3699,accusantium,expedita,3699 +3700,officiis,dolores,3700 +3701,nulla,quia,3701 +3702,doloribus,vel,3702 +3703,doloribus,beatae,3703 +3704,voluptatem,labore,3704 +3705,voluptate,rerum,3705 +3706,non,sint,3706 +3707,inventore,sit,3707 +3708,quisquam,quos,3708 +3709,aut,et,3709 +3710,blanditiis,repudiandae,3710 +3711,iusto,et,3711 +3712,eligendi,libero,3712 +3713,consequatur,consequatur,3713 +3714,maiores,ducimus,3714 +3715,eaque,nostrum,3715 +3716,nostrum,aut,3716 +3717,perspiciatis,nesciunt,3717 +3718,aut,quis,3718 +3719,veniam,quis,3719 +3720,veniam,maxime,3720 +3721,ullam,id,3721 +3722,sint,in,3722 +3723,modi,voluptas,3723 +3724,blanditiis,laudantium,3724 +3725,velit,voluptatibus,3725 +3726,aspernatur,rerum,3726 +3727,animi,et,3727 +3728,velit,aspernatur,3728 +3729,atque,quas,3729 +3730,minus,aut,3730 +3731,et,aspernatur,3731 +3732,delectus,modi,3732 +3733,repellendus,eius,3733 +3734,architecto,commodi,3734 +3735,sit,a,3735 +3736,molestiae,culpa,3736 +3737,corporis,maiores,3737 +3738,sapiente,dolor,3738 +3739,repellendus,dolores,3739 +3740,sit,mollitia,3740 +3741,cumque,sit,3741 +3742,excepturi,qui,3742 +3743,ipsa,voluptatibus,3743 +3744,totam,aut,3744 +3745,necessitatibus,molestias,3745 +3746,id,quia,3746 +3747,cum,voluptatem,3747 +3748,eum,earum,3748 +3749,rerum,vel,3749 +3750,est,ea,3750 +3751,enim,ut,3751 +3752,beatae,ipsam,3752 +3753,unde,in,3753 +3754,maiores,nihil,3754 +3755,magnam,et,3755 +3756,consequatur,perspiciatis,3756 +3757,voluptatem,odio,3757 +3758,qui,sunt,3758 +3759,sunt,et,3759 +3760,exercitationem,voluptas,3760 +3761,rerum,corporis,3761 +3762,aliquid,ratione,3762 +3763,minima,delectus,3763 +3764,est,quas,3764 +3765,placeat,consectetur,3765 +3766,expedita,iure,3766 +3767,reiciendis,doloremque,3767 +3768,molestias,tempora,3768 +3769,ullam,culpa,3769 +3770,dolorem,aliquid,3770 +3771,a,laudantium,3771 +3772,est,quo,3772 +3773,sit,qui,3773 +3774,et,minima,3774 +3775,tempora,cum,3775 +3776,quia,impedit,3776 +3777,occaecati,ducimus,3777 +3778,doloribus,facere,3778 +3779,et,porro,3779 +3780,et,consectetur,3780 +3781,incidunt,ab,3781 +3782,rerum,quod,3782 +3783,officia,aut,3783 +3784,dolorum,quod,3784 +3785,quidem,magni,3785 +3786,nemo,fugit,3786 +3787,aliquam,quaerat,3787 +3788,velit,soluta,3788 +3789,exercitationem,ut,3789 +3790,nesciunt,beatae,3790 +3791,dolores,tempora,3791 +3792,quaerat,autem,3792 +3793,delectus,exercitationem,3793 +3794,quia,et,3794 +3795,consequatur,architecto,3795 +3796,accusantium,possimus,3796 +3797,qui,rerum,3797 +3798,voluptatem,rem,3798 +3799,optio,rem,3799 +3800,earum,culpa,3800 +3801,et,eligendi,3801 +3802,ea,alias,3802 +3803,eum,dolores,3803 +3804,earum,similique,3804 +3805,rem,beatae,3805 +3806,voluptatem,animi,3806 +3807,veritatis,non,3807 +3808,accusamus,error,3808 +3809,aliquid,minus,3809 +3810,et,est,3810 +3811,et,error,3811 +3812,minima,quidem,3812 +3813,veniam,veritatis,3813 +3814,iste,asperiores,3814 +3815,enim,quaerat,3815 +3816,vero,consequatur,3816 +3817,laborum,itaque,3817 +3818,natus,neque,3818 +3819,eum,ut,3819 +3820,quae,officiis,3820 +3821,esse,accusantium,3821 +3822,consectetur,ut,3822 +3823,sunt,harum,3823 +3824,quos,rerum,3824 +3825,totam,consequatur,3825 +3826,similique,dolorem,3826 +3827,voluptas,quaerat,3827 +3828,maxime,minima,3828 +3829,velit,deserunt,3829 +3830,perspiciatis,placeat,3830 +3831,omnis,quaerat,3831 +3832,ipsa,repellat,3832 +3833,eius,aliquam,3833 +3834,maiores,et,3834 +3835,omnis,sint,3835 +3836,ut,soluta,3836 +3837,nobis,perferendis,3837 +3838,quaerat,et,3838 +3839,blanditiis,rerum,3839 +3840,quasi,repellendus,3840 +3841,commodi,deserunt,3841 +3842,veniam,officia,3842 +3843,voluptatem,qui,3843 +3844,cupiditate,aut,3844 +3845,quia,labore,3845 +3846,nobis,est,3846 +3847,labore,sint,3847 +3848,quis,officiis,3848 +3849,ullam,voluptatum,3849 +3850,enim,dignissimos,3850 +3851,officia,aliquid,3851 +3852,quis,et,3852 +3853,est,dolorum,3853 +3854,aliquam,rerum,3854 +3855,earum,aut,3855 +3856,voluptate,ad,3856 +3857,laborum,sit,3857 +3858,et,eius,3858 +3859,reprehenderit,qui,3859 +3860,est,ut,3860 +3861,facilis,modi,3861 +3862,beatae,qui,3862 +3863,architecto,tempora,3863 +3864,asperiores,sit,3864 +3865,id,et,3865 +3866,quis,delectus,3866 +3867,unde,et,3867 +3868,qui,quia,3868 +3869,ut,non,3869 +3870,sed,sit,3870 +3871,repudiandae,illum,3871 +3872,voluptas,quia,3872 +3873,ipsa,tempora,3873 +3874,cum,qui,3874 +3875,non,delectus,3875 +3876,sint,consequatur,3876 +3877,ratione,ratione,3877 +3878,est,est,3878 +3879,impedit,voluptate,3879 +3880,ab,iure,3880 +3881,et,asperiores,3881 +3882,id,vel,3882 +3883,ab,omnis,3883 +3884,sit,esse,3884 +3885,repellat,ab,3885 +3886,unde,et,3886 +3887,suscipit,doloribus,3887 +3888,dolore,doloribus,3888 +3889,non,natus,3889 +3890,molestias,molestiae,3890 +3891,occaecati,est,3891 +3892,quod,laborum,3892 +3893,sed,a,3893 +3894,quis,quos,3894 +3895,quo,earum,3895 +3896,delectus,et,3896 +3897,sit,et,3897 +3898,aut,deserunt,3898 +3899,et,ea,3899 +3900,numquam,sunt,3900 +3901,dolorem,et,3901 +3902,non,et,3902 +3903,a,eveniet,3903 +3904,magnam,voluptas,3904 +3905,laudantium,reprehenderit,3905 +3906,sed,unde,3906 +3907,sed,ea,3907 +3908,saepe,hic,3908 +3909,commodi,magnam,3909 +3910,suscipit,voluptate,3910 +3911,consequatur,incidunt,3911 +3912,laborum,cumque,3912 +3913,quo,velit,3913 +3914,inventore,est,3914 +3915,reiciendis,ut,3915 +3916,rem,dolor,3916 +3917,quia,eligendi,3917 +3918,debitis,et,3918 +3919,nemo,eos,3919 +3920,odit,rerum,3920 +3921,necessitatibus,dolorem,3921 +3922,consequatur,inventore,3922 +3923,repellendus,sed,3923 +3924,ratione,repellat,3924 +3925,qui,animi,3925 +3926,maxime,impedit,3926 +3927,quas,autem,3927 +3928,reprehenderit,unde,3928 +3929,neque,est,3929 +3930,et,excepturi,3930 +3931,ex,at,3931 +3932,voluptas,nihil,3932 +3933,maiores,ut,3933 +3934,molestiae,occaecati,3934 +3935,labore,fugit,3935 +3936,voluptatum,aliquid,3936 +3937,maxime,laborum,3937 +3938,quaerat,eos,3938 +3939,modi,animi,3939 +3940,accusantium,voluptatum,3940 +3941,alias,ducimus,3941 +3942,optio,sint,3942 +3943,nemo,et,3943 +3944,facilis,odio,3944 +3945,saepe,natus,3945 +3946,libero,et,3946 +3947,aliquid,illum,3947 +3948,reprehenderit,id,3948 +3949,at,et,3949 +3950,aut,ex,3950 +3951,facere,sequi,3951 +3952,natus,esse,3952 +3953,delectus,et,3953 +3954,qui,voluptas,3954 +3955,est,eaque,3955 +3956,consectetur,quos,3956 +3957,quas,commodi,3957 +3958,quis,hic,3958 +3959,commodi,asperiores,3959 +3960,consequuntur,qui,3960 +3961,perspiciatis,maxime,3961 +3962,et,velit,3962 +3963,incidunt,officiis,3963 +3964,architecto,consectetur,3964 +3965,nam,numquam,3965 +3966,in,sed,3966 +3967,harum,omnis,3967 +3968,eum,labore,3968 +3969,ullam,omnis,3969 +3970,praesentium,et,3970 +3971,ea,at,3971 +3972,culpa,voluptas,3972 +3973,aliquam,quae,3973 +3974,sint,quasi,3974 +3975,ut,doloremque,3975 +3976,in,est,3976 +3977,cumque,velit,3977 +3978,et,et,3978 +3979,explicabo,sint,3979 +3980,dolorum,aut,3980 +3981,odit,temporibus,3981 +3982,praesentium,voluptatem,3982 +3983,omnis,maiores,3983 +3984,dolores,accusantium,3984 +3985,autem,assumenda,3985 +3986,repudiandae,sequi,3986 +3987,eius,omnis,3987 +3988,magnam,accusantium,3988 +3989,ratione,tempore,3989 +3990,ut,aut,3990 +3991,est,ut,3991 +3992,cumque,dolore,3992 +3993,neque,id,3993 +3994,repellat,fugiat,3994 +3995,quod,aspernatur,3995 +3996,suscipit,facilis,3996 +3997,reprehenderit,debitis,3997 +3998,placeat,repudiandae,3998 +3999,velit,quia,3999 +4000,dolorem,nam,4000 +4001,voluptatem,non,4001 +4002,explicabo,in,4002 +4003,ullam,quas,4003 +4004,minima,sit,4004 +4005,omnis,accusamus,4005 +4006,ratione,magnam,4006 +4007,corporis,repudiandae,4007 +4008,eius,est,4008 +4009,commodi,aperiam,4009 +4010,ut,velit,4010 +4011,expedita,ea,4011 +4012,doloribus,dolorum,4012 +4013,ducimus,laborum,4013 +4014,possimus,sunt,4014 +4015,tenetur,et,4015 +4016,mollitia,distinctio,4016 +4017,qui,eum,4017 +4018,voluptas,architecto,4018 +4019,magni,quidem,4019 +4020,nostrum,labore,4020 +4021,maiores,quasi,4021 +4022,eos,id,4022 +4023,quia,consectetur,4023 +4024,doloribus,in,4024 +4025,maxime,reiciendis,4025 +4026,amet,aut,4026 +4027,sed,culpa,4027 +4028,sint,iusto,4028 +4029,quo,natus,4029 +4030,ea,et,4030 +4031,quo,omnis,4031 +4032,sint,nemo,4032 +4033,vitae,omnis,4033 +4034,quo,quod,4034 +4035,recusandae,animi,4035 +4036,qui,animi,4036 +4037,dolorem,nesciunt,4037 +4038,numquam,dolores,4038 +4039,sequi,id,4039 +4040,saepe,hic,4040 +4041,minus,est,4041 +4042,explicabo,mollitia,4042 +4043,perspiciatis,nihil,4043 +4044,eaque,et,4044 +4045,animi,sint,4045 +4046,mollitia,nisi,4046 +4047,ut,perspiciatis,4047 +4048,quo,consequatur,4048 +4049,est,quia,4049 +4050,rem,debitis,4050 +4051,fuga,et,4051 +4052,fugit,porro,4052 +4053,quam,iure,4053 +4054,cumque,eos,4054 +4055,ipsum,autem,4055 +4056,at,aspernatur,4056 +4057,unde,explicabo,4057 +4058,mollitia,rerum,4058 +4059,debitis,officia,4059 +4060,sunt,quo,4060 +4061,voluptas,ipsam,4061 +4062,asperiores,ut,4062 +4063,consequatur,iure,4063 +4064,sit,qui,4064 +4065,magni,aut,4065 +4066,asperiores,ipsum,4066 +4067,id,mollitia,4067 +4068,quam,a,4068 +4069,esse,sequi,4069 +4070,delectus,suscipit,4070 +4071,quas,exercitationem,4071 +4072,vero,necessitatibus,4072 +4073,est,culpa,4073 +4074,eius,non,4074 +4075,sed,quia,4075 +4076,quam,eum,4076 +4077,consequatur,praesentium,4077 +4078,eius,numquam,4078 +4079,et,id,4079 +4080,sint,quia,4080 +4081,perferendis,et,4081 +4082,perferendis,omnis,4082 +4083,praesentium,in,4083 +4084,quas,corrupti,4084 +4085,sunt,sed,4085 +4086,fuga,illo,4086 +4087,veritatis,vel,4087 +4088,laboriosam,harum,4088 +4089,beatae,commodi,4089 +4090,quisquam,nostrum,4090 +4091,et,placeat,4091 +4092,vitae,unde,4092 +4093,nesciunt,tenetur,4093 +4094,omnis,sint,4094 +4095,facilis,explicabo,4095 +4096,perferendis,magnam,4096 +4097,consectetur,eaque,4097 +4098,cumque,qui,4098 +4099,sit,ut,4099 +4100,non,ea,4100 +4101,est,saepe,4101 +4102,eos,qui,4102 +4103,et,et,4103 +4104,aut,voluptas,4104 +4105,quibusdam,sed,4105 +4106,enim,natus,4106 +4107,voluptate,dolores,4107 +4108,ducimus,omnis,4108 +4109,labore,et,4109 +4110,distinctio,eius,4110 +4111,optio,totam,4111 +4112,nisi,sed,4112 +4113,officiis,expedita,4113 +4114,mollitia,sit,4114 +4115,in,consequatur,4115 +4116,excepturi,nisi,4116 +4117,debitis,dolorem,4117 +4118,natus,doloremque,4118 +4119,assumenda,sit,4119 +4120,laudantium,expedita,4120 +4121,consequatur,voluptatem,4121 +4122,molestias,distinctio,4122 +4123,consequatur,eveniet,4123 +4124,enim,voluptates,4124 +4125,voluptas,quia,4125 +4126,provident,repellat,4126 +4127,id,commodi,4127 +4128,voluptatem,et,4128 +4129,reiciendis,sit,4129 +4130,incidunt,eos,4130 +4131,consequuntur,vero,4131 +4132,explicabo,corporis,4132 +4133,voluptate,voluptatem,4133 +4134,id,ab,4134 +4135,recusandae,nisi,4135 +4136,molestias,at,4136 +4137,fugiat,provident,4137 +4138,tenetur,accusantium,4138 +4139,quis,voluptatem,4139 +4140,hic,quaerat,4140 +4141,illum,earum,4141 +4142,rerum,et,4142 +4143,est,sit,4143 +4144,dolore,corrupti,4144 +4145,nihil,aut,4145 +4146,sint,illum,4146 +4147,sit,distinctio,4147 +4148,laudantium,quo,4148 +4149,et,pariatur,4149 +4150,impedit,quia,4150 +4151,at,debitis,4151 +4152,aut,quas,4152 +4153,nesciunt,soluta,4153 +4154,perspiciatis,et,4154 +4155,est,nostrum,4155 +4156,aliquid,expedita,4156 +4157,qui,tenetur,4157 +4158,distinctio,sint,4158 +4159,tempore,harum,4159 +4160,nulla,laborum,4160 +4161,voluptatem,iusto,4161 +4162,dicta,harum,4162 +4163,molestiae,a,4163 +4164,deserunt,minima,4164 +4165,dolore,animi,4165 +4166,sed,dolores,4166 +4167,aut,aliquid,4167 +4168,eligendi,nostrum,4168 +4169,quia,placeat,4169 +4170,modi,nesciunt,4170 +4171,aut,sed,4171 +4172,in,itaque,4172 +4173,et,amet,4173 +4174,dolores,ex,4174 +4175,modi,reiciendis,4175 +4176,ipsa,dolorem,4176 +4177,non,veritatis,4177 +4178,cum,sunt,4178 +4179,molestias,ut,4179 +4180,nostrum,et,4180 +4181,ab,aut,4181 +4182,nihil,voluptatem,4182 +4183,sequi,optio,4183 +4184,impedit,eum,4184 +4185,ut,aliquid,4185 +4186,ex,mollitia,4186 +4187,reiciendis,tenetur,4187 +4188,rerum,ipsam,4188 +4189,sit,dolor,4189 +4190,quas,aut,4190 +4191,sequi,sit,4191 +4192,consequatur,sequi,4192 +4193,et,minus,4193 +4194,reprehenderit,repellat,4194 +4195,doloremque,est,4195 +4196,qui,modi,4196 +4197,voluptatum,deleniti,4197 +4198,amet,et,4198 +4199,laborum,culpa,4199 +4200,accusamus,nisi,4200 +4201,suscipit,occaecati,4201 +4202,est,laboriosam,4202 +4203,eius,quia,4203 +4204,cupiditate,quasi,4204 +4205,quisquam,dolores,4205 +4206,et,id,4206 +4207,dolorem,et,4207 +4208,unde,ex,4208 +4209,quidem,et,4209 +4210,quibusdam,eligendi,4210 +4211,atque,eligendi,4211 +4212,sed,quam,4212 +4213,dolorem,laudantium,4213 +4214,sit,minima,4214 +4215,saepe,magni,4215 +4216,repudiandae,alias,4216 +4217,sed,qui,4217 +4218,quis,ex,4218 +4219,explicabo,error,4219 +4220,omnis,consectetur,4220 +4221,officiis,magnam,4221 +4222,id,officiis,4222 +4223,porro,enim,4223 +4224,cum,atque,4224 +4225,nobis,asperiores,4225 +4226,minus,repellendus,4226 +4227,et,sint,4227 +4228,id,sint,4228 +4229,ut,enim,4229 +4230,eveniet,tempora,4230 +4231,libero,aut,4231 +4232,assumenda,laudantium,4232 +4233,at,nesciunt,4233 +4234,et,rerum,4234 +4235,asperiores,consequuntur,4235 +4236,soluta,doloribus,4236 +4237,et,et,4237 +4238,natus,rerum,4238 +4239,fugit,occaecati,4239 +4240,dolores,debitis,4240 +4241,numquam,saepe,4241 +4242,et,tenetur,4242 +4243,quod,omnis,4243 +4244,aut,et,4244 +4245,ex,sint,4245 +4246,temporibus,autem,4246 +4247,et,provident,4247 +4248,doloribus,iusto,4248 +4249,ut,facilis,4249 +4250,eum,a,4250 +4251,placeat,et,4251 +4252,rerum,aliquid,4252 +4253,dicta,quibusdam,4253 +4254,explicabo,molestiae,4254 +4255,et,officia,4255 +4256,dolores,provident,4256 +4257,corrupti,aliquid,4257 +4258,consequatur,quia,4258 +4259,itaque,non,4259 +4260,quia,adipisci,4260 +4261,dolorem,dolore,4261 +4262,unde,autem,4262 +4263,vitae,voluptas,4263 +4264,sint,quos,4264 +4265,vel,non,4265 +4266,ullam,corporis,4266 +4267,quam,occaecati,4267 +4268,vel,harum,4268 +4269,sint,quos,4269 +4270,fugit,quia,4270 +4271,qui,illo,4271 +4272,ipsam,deleniti,4272 +4273,omnis,magnam,4273 +4274,delectus,atque,4274 +4275,qui,iste,4275 +4276,voluptates,dolores,4276 +4277,voluptatem,illo,4277 +4278,aspernatur,sapiente,4278 +4279,maiores,fugiat,4279 +4280,qui,molestiae,4280 +4281,consequuntur,ipsum,4281 +4282,quia,modi,4282 +4283,est,eum,4283 +4284,at,aperiam,4284 +4285,culpa,soluta,4285 +4286,nulla,nisi,4286 +4287,quas,accusamus,4287 +4288,provident,id,4288 +4289,rerum,culpa,4289 +4290,autem,odit,4290 +4291,laborum,aspernatur,4291 +4292,unde,tempore,4292 +4293,aut,minus,4293 +4294,quae,eius,4294 +4295,quo,quas,4295 +4296,minus,deserunt,4296 +4297,nisi,et,4297 +4298,consequatur,hic,4298 +4299,earum,et,4299 +4300,vero,consequatur,4300 +4301,libero,et,4301 +4302,est,quia,4302 +4303,suscipit,sed,4303 +4304,rem,qui,4304 +4305,quae,quam,4305 +4306,tempora,eos,4306 +4307,ipsum,iusto,4307 +4308,debitis,qui,4308 +4309,eum,non,4309 +4310,aut,necessitatibus,4310 +4311,occaecati,quo,4311 +4312,atque,quidem,4312 +4313,non,ea,4313 +4314,et,et,4314 +4315,quia,praesentium,4315 +4316,placeat,iusto,4316 +4317,quia,cumque,4317 +4318,laboriosam,nam,4318 +4319,porro,dolorem,4319 +4320,neque,accusantium,4320 +4321,natus,corporis,4321 +4322,non,itaque,4322 +4323,reiciendis,officiis,4323 +4324,ut,ut,4324 +4325,alias,accusamus,4325 +4326,et,nihil,4326 +4327,consectetur,illum,4327 +4328,expedita,ipsa,4328 +4329,repellendus,repellat,4329 +4330,non,maxime,4330 +4331,itaque,ut,4331 +4332,itaque,aut,4332 +4333,velit,at,4333 +4334,quod,harum,4334 +4335,et,aut,4335 +4336,suscipit,et,4336 +4337,omnis,repellat,4337 +4338,est,fugiat,4338 +4339,assumenda,consequatur,4339 +4340,sed,et,4340 +4341,exercitationem,unde,4341 +4342,enim,velit,4342 +4343,sit,iusto,4343 +4344,qui,laudantium,4344 +4345,dolor,voluptas,4345 +4346,cupiditate,et,4346 +4347,et,nisi,4347 +4348,labore,doloribus,4348 +4349,rerum,molestiae,4349 +4350,qui,qui,4350 +4351,ut,minima,4351 +4352,et,dolorem,4352 +4353,sit,ut,4353 +4354,fugiat,veritatis,4354 +4355,inventore,rem,4355 +4356,iure,voluptatem,4356 +4357,illo,sint,4357 +4358,magnam,recusandae,4358 +4359,qui,et,4359 +4360,fuga,a,4360 +4361,voluptates,aliquid,4361 +4362,nihil,similique,4362 +4363,ut,cumque,4363 +4364,corrupti,omnis,4364 +4365,harum,iure,4365 +4366,recusandae,saepe,4366 +4367,sint,magni,4367 +4368,nemo,voluptatem,4368 +4369,enim,necessitatibus,4369 +4370,et,aut,4370 +4371,sapiente,ducimus,4371 +4372,voluptas,cumque,4372 +4373,perspiciatis,neque,4373 +4374,quasi,nobis,4374 +4375,sit,debitis,4375 +4376,rerum,cupiditate,4376 +4377,quas,fuga,4377 +4378,iste,voluptatem,4378 +4379,rerum,voluptas,4379 +4380,temporibus,quis,4380 +4381,minima,ratione,4381 +4382,dolores,eveniet,4382 +4383,reiciendis,dolor,4383 +4384,repudiandae,quas,4384 +4385,beatae,odio,4385 +4386,ut,ad,4386 +4387,autem,doloribus,4387 +4388,dolor,ut,4388 +4389,rem,in,4389 +4390,natus,ut,4390 +4391,amet,enim,4391 +4392,sit,ut,4392 +4393,aut,quia,4393 +4394,id,enim,4394 +4395,tempore,optio,4395 +4396,ut,in,4396 +4397,sed,ratione,4397 +4398,quo,laborum,4398 +4399,suscipit,totam,4399 +4400,ad,dignissimos,4400 +4401,consequatur,et,4401 +4402,laudantium,non,4402 +4403,soluta,atque,4403 +4404,cum,esse,4404 +4405,ad,fuga,4405 +4406,dolor,sint,4406 +4407,et,sunt,4407 +4408,earum,atque,4408 +4409,fugit,exercitationem,4409 +4410,aut,praesentium,4410 +4411,neque,natus,4411 +4412,nemo,ea,4412 +4413,autem,fuga,4413 +4414,autem,fugit,4414 +4415,eaque,vel,4415 +4416,eum,optio,4416 +4417,sit,ut,4417 +4418,ea,earum,4418 +4419,voluptatum,facilis,4419 +4420,sit,ut,4420 +4421,vitae,assumenda,4421 +4422,voluptate,est,4422 +4423,at,sed,4423 +4424,eligendi,libero,4424 +4425,quia,natus,4425 +4426,laudantium,non,4426 +4427,minus,sequi,4427 +4428,facilis,ratione,4428 +4429,quis,quasi,4429 +4430,sunt,porro,4430 +4431,accusantium,magni,4431 +4432,quibusdam,sunt,4432 +4433,cupiditate,quo,4433 +4434,accusamus,nostrum,4434 +4435,praesentium,facilis,4435 +4436,debitis,tempora,4436 +4437,consectetur,ut,4437 +4438,temporibus,saepe,4438 +4439,minus,nobis,4439 +4440,qui,deserunt,4440 +4441,exercitationem,in,4441 +4442,quibusdam,maiores,4442 +4443,odit,ullam,4443 +4444,id,omnis,4444 +4445,suscipit,voluptatem,4445 +4446,perferendis,consequatur,4446 +4447,et,similique,4447 +4448,nemo,ipsum,4448 +4449,vel,occaecati,4449 +4450,ut,ratione,4450 +4451,modi,enim,4451 +4452,esse,placeat,4452 +4453,autem,soluta,4453 +4454,consequatur,perferendis,4454 +4455,qui,rerum,4455 +4456,soluta,quaerat,4456 +4457,sint,id,4457 +4458,aut,dignissimos,4458 +4459,ipsa,facilis,4459 +4460,nulla,numquam,4460 +4461,enim,et,4461 +4462,similique,laudantium,4462 +4463,voluptas,facere,4463 +4464,magni,sed,4464 +4465,temporibus,quia,4465 +4466,aut,esse,4466 +4467,possimus,molestiae,4467 +4468,assumenda,corporis,4468 +4469,minus,sunt,4469 +4470,dolores,dolores,4470 +4471,excepturi,consequuntur,4471 +4472,enim,consectetur,4472 +4473,incidunt,cum,4473 +4474,distinctio,aliquid,4474 +4475,mollitia,sed,4475 +4476,voluptas,et,4476 +4477,provident,ad,4477 +4478,eligendi,quia,4478 +4479,provident,aperiam,4479 +4480,quia,vitae,4480 +4481,nemo,et,4481 +4482,dolor,a,4482 +4483,labore,totam,4483 +4484,eveniet,quod,4484 +4485,id,omnis,4485 +4486,et,esse,4486 +4487,non,quo,4487 +4488,aliquam,accusamus,4488 +4489,qui,eveniet,4489 +4490,consequatur,temporibus,4490 +4491,distinctio,natus,4491 +4492,aliquam,non,4492 +4493,pariatur,minima,4493 +4494,magnam,nihil,4494 +4495,corrupti,voluptas,4495 +4496,eum,voluptas,4496 +4497,sed,dicta,4497 +4498,quis,sequi,4498 +4499,voluptas,exercitationem,4499 +4500,neque,qui,4500 +4501,eum,consequatur,4501 +4502,ut,perferendis,4502 +4503,quaerat,dolorum,4503 +4504,soluta,officiis,4504 +4505,porro,ea,4505 +4506,itaque,laboriosam,4506 +4507,autem,aliquid,4507 +4508,odio,aut,4508 +4509,blanditiis,illum,4509 +4510,non,tempore,4510 +4511,error,itaque,4511 +4512,maxime,et,4512 +4513,eaque,fugiat,4513 +4514,esse,debitis,4514 +4515,sed,aut,4515 +4516,velit,qui,4516 +4517,molestias,inventore,4517 +4518,ipsa,libero,4518 +4519,velit,tempora,4519 +4520,recusandae,error,4520 +4521,qui,eos,4521 +4522,amet,ipsa,4522 +4523,voluptas,neque,4523 +4524,rerum,voluptatem,4524 +4525,enim,laboriosam,4525 +4526,laboriosam,in,4526 +4527,rerum,rerum,4527 +4528,minima,nulla,4528 +4529,earum,labore,4529 +4530,molestiae,non,4530 +4531,et,ipsam,4531 +4532,molestias,eum,4532 +4533,nemo,voluptatem,4533 +4534,similique,consequatur,4534 +4535,omnis,ab,4535 +4536,nisi,aut,4536 +4537,molestias,ipsam,4537 +4538,eligendi,quo,4538 +4539,voluptatem,ut,4539 +4540,ut,sit,4540 +4541,et,possimus,4541 +4542,sint,delectus,4542 +4543,consequatur,aut,4543 +4544,nisi,optio,4544 +4545,nam,sit,4545 +4546,iusto,est,4546 +4547,earum,nostrum,4547 +4548,nihil,quam,4548 +4549,consectetur,dignissimos,4549 +4550,et,et,4550 +4551,quia,corporis,4551 +4552,molestiae,sequi,4552 +4553,voluptas,est,4553 +4554,impedit,dolor,4554 +4555,vel,commodi,4555 +4556,dolores,explicabo,4556 +4557,dolores,amet,4557 +4558,asperiores,culpa,4558 +4559,ullam,necessitatibus,4559 +4560,voluptatem,quam,4560 +4561,asperiores,exercitationem,4561 +4562,et,vel,4562 +4563,omnis,expedita,4563 +4564,doloremque,dignissimos,4564 +4565,recusandae,quia,4565 +4566,tempore,eum,4566 +4567,voluptas,officiis,4567 +4568,impedit,suscipit,4568 +4569,sed,facilis,4569 +4570,aut,aliquam,4570 +4571,eos,omnis,4571 +4572,possimus,rerum,4572 +4573,consequatur,mollitia,4573 +4574,voluptas,tempore,4574 +4575,pariatur,sapiente,4575 +4576,deleniti,veritatis,4576 +4577,sunt,id,4577 +4578,ad,et,4578 +4579,quod,quod,4579 +4580,minus,beatae,4580 +4581,est,aut,4581 +4582,maiores,et,4582 +4583,eius,laboriosam,4583 +4584,consectetur,temporibus,4584 +4585,unde,omnis,4585 +4586,possimus,aut,4586 +4587,quos,animi,4587 +4588,in,quae,4588 +4589,quia,qui,4589 +4590,tempore,possimus,4590 +4591,aliquam,praesentium,4591 +4592,est,non,4592 +4593,minus,fuga,4593 +4594,vel,fuga,4594 +4595,et,enim,4595 +4596,beatae,magni,4596 +4597,nisi,voluptatem,4597 +4598,et,nemo,4598 +4599,qui,minima,4599 +4600,facilis,non,4600 +4601,fugiat,non,4601 +4602,non,sint,4602 +4603,maxime,est,4603 +4604,porro,qui,4604 +4605,unde,modi,4605 +4606,inventore,consectetur,4606 +4607,est,qui,4607 +4608,illum,sit,4608 +4609,illo,ea,4609 +4610,corrupti,est,4610 +4611,et,est,4611 +4612,porro,distinctio,4612 +4613,qui,autem,4613 +4614,sunt,delectus,4614 +4615,similique,quos,4615 +4616,molestiae,nihil,4616 +4617,qui,maxime,4617 +4618,quas,libero,4618 +4619,voluptate,id,4619 +4620,libero,modi,4620 +4621,voluptas,qui,4621 +4622,architecto,minus,4622 +4623,itaque,reiciendis,4623 +4624,rerum,praesentium,4624 +4625,temporibus,est,4625 +4626,blanditiis,est,4626 +4627,accusamus,inventore,4627 +4628,aperiam,voluptatibus,4628 +4629,sunt,minima,4629 +4630,ipsam,id,4630 +4631,aut,pariatur,4631 +4632,at,itaque,4632 +4633,nihil,fugit,4633 +4634,vero,sed,4634 +4635,eaque,non,4635 +4636,assumenda,veritatis,4636 +4637,ipsam,eum,4637 +4638,dolorem,sed,4638 +4639,esse,tempora,4639 +4640,doloremque,odit,4640 +4641,sit,ipsam,4641 +4642,a,qui,4642 +4643,reprehenderit,dolore,4643 +4644,labore,necessitatibus,4644 +4645,velit,quia,4645 +4646,vitae,dignissimos,4646 +4647,incidunt,eaque,4647 +4648,ab,commodi,4648 +4649,perspiciatis,itaque,4649 +4650,ullam,voluptas,4650 +4651,qui,sit,4651 +4652,ducimus,rerum,4652 +4653,voluptas,voluptates,4653 +4654,eos,animi,4654 +4655,assumenda,deleniti,4655 +4656,repellat,sunt,4656 +4657,voluptate,illo,4657 +4658,est,similique,4658 +4659,vel,corporis,4659 +4660,pariatur,dicta,4660 +4661,sapiente,quisquam,4661 +4662,aut,quibusdam,4662 +4663,molestiae,in,4663 +4664,eligendi,ea,4664 +4665,tenetur,corrupti,4665 +4666,itaque,quia,4666 +4667,sed,facere,4667 +4668,occaecati,excepturi,4668 +4669,et,veritatis,4669 +4670,veniam,repudiandae,4670 +4671,itaque,nobis,4671 +4672,iusto,qui,4672 +4673,suscipit,voluptate,4673 +4674,sit,beatae,4674 +4675,commodi,nobis,4675 +4676,qui,voluptas,4676 +4677,enim,fugiat,4677 +4678,quod,dolor,4678 +4679,accusamus,et,4679 +4680,veniam,ut,4680 +4681,necessitatibus,consequatur,4681 +4682,vitae,magni,4682 +4683,velit,odit,4683 +4684,debitis,accusamus,4684 +4685,perferendis,eum,4685 +4686,ipsam,repellat,4686 +4687,hic,voluptatem,4687 +4688,est,rerum,4688 +4689,sequi,sit,4689 +4690,sit,qui,4690 +4691,ullam,animi,4691 +4692,voluptatibus,ipsum,4692 +4693,voluptatem,nam,4693 +4694,aliquam,iste,4694 +4695,ipsam,enim,4695 +4696,neque,reiciendis,4696 +4697,ut,et,4697 +4698,voluptatem,aut,4698 +4699,maiores,accusantium,4699 +4700,pariatur,dolor,4700 +4701,doloribus,voluptatum,4701 +4702,architecto,perspiciatis,4702 +4703,officia,ad,4703 +4704,voluptas,quod,4704 +4705,dolor,esse,4705 +4706,omnis,at,4706 +4707,esse,accusantium,4707 +4708,atque,tempora,4708 +4709,a,dicta,4709 +4710,maiores,et,4710 +4711,sed,rerum,4711 +4712,explicabo,dolorem,4712 +4713,vel,ipsum,4713 +4714,omnis,est,4714 +4715,dolorum,aut,4715 +4716,animi,repellat,4716 +4717,cumque,veniam,4717 +4718,cumque,dolorum,4718 +4719,animi,placeat,4719 +4720,cupiditate,vel,4720 +4721,eius,deleniti,4721 +4722,nostrum,est,4722 +4723,nemo,quam,4723 +4724,odio,doloribus,4724 +4725,odio,reiciendis,4725 +4726,nulla,non,4726 +4727,temporibus,vel,4727 +4728,veritatis,dicta,4728 +4729,maiores,error,4729 +4730,est,officia,4730 +4731,omnis,magnam,4731 +4732,laborum,repellendus,4732 +4733,expedita,est,4733 +4734,aut,quaerat,4734 +4735,ut,quia,4735 +4736,esse,sunt,4736 +4737,accusamus,consequatur,4737 +4738,magnam,eum,4738 +4739,qui,asperiores,4739 +4740,amet,temporibus,4740 +4741,veniam,illo,4741 +4742,culpa,delectus,4742 +4743,occaecati,maiores,4743 +4744,necessitatibus,consequatur,4744 +4745,inventore,ad,4745 +4746,qui,voluptatem,4746 +4747,earum,ipsam,4747 +4748,eveniet,rerum,4748 +4749,minima,error,4749 +4750,aliquam,dicta,4750 +4751,necessitatibus,et,4751 +4752,earum,sed,4752 +4753,veritatis,et,4753 +4754,tempora,rerum,4754 +4755,consequatur,nostrum,4755 +4756,fugiat,officiis,4756 +4757,explicabo,ea,4757 +4758,odio,alias,4758 +4759,nam,distinctio,4759 +4760,et,animi,4760 +4761,est,non,4761 +4762,quae,numquam,4762 +4763,et,velit,4763 +4764,deserunt,ut,4764 +4765,quia,minus,4765 +4766,nihil,voluptas,4766 +4767,nulla,voluptatem,4767 +4768,possimus,quis,4768 +4769,unde,nam,4769 +4770,sed,qui,4770 +4771,omnis,recusandae,4771 +4772,dolorem,id,4772 +4773,laborum,minima,4773 +4774,aut,rem,4774 +4775,dolores,pariatur,4775 +4776,officiis,atque,4776 +4777,quia,esse,4777 +4778,ex,asperiores,4778 +4779,et,magni,4779 +4780,omnis,aut,4780 +4781,sunt,et,4781 +4782,eveniet,minima,4782 +4783,tenetur,ea,4783 +4784,similique,debitis,4784 +4785,aut,sed,4785 +4786,occaecati,unde,4786 +4787,similique,officiis,4787 +4788,possimus,repudiandae,4788 +4789,consequuntur,ducimus,4789 +4790,impedit,consectetur,4790 +4791,sunt,eum,4791 +4792,similique,eaque,4792 +4793,distinctio,ea,4793 +4794,numquam,atque,4794 +4795,dolor,et,4795 +4796,molestias,eos,4796 +4797,distinctio,quidem,4797 +4798,et,similique,4798 +4799,officia,occaecati,4799 +4800,sit,qui,4800 +4801,nam,vero,4801 +4802,dolore,laborum,4802 +4803,dolorum,id,4803 +4804,id,et,4804 +4805,quos,non,4805 +4806,esse,nesciunt,4806 +4807,omnis,maxime,4807 +4808,est,ullam,4808 +4809,praesentium,repellendus,4809 +4810,et,reprehenderit,4810 +4811,hic,veniam,4811 +4812,non,voluptas,4812 +4813,omnis,adipisci,4813 +4814,totam,nihil,4814 +4815,sunt,ut,4815 +4816,numquam,est,4816 +4817,repellat,occaecati,4817 +4818,doloribus,natus,4818 +4819,delectus,sapiente,4819 +4820,minima,nostrum,4820 +4821,molestias,sequi,4821 +4822,eum,odio,4822 +4823,id,aut,4823 +4824,porro,non,4824 +4825,nihil,et,4825 +4826,quisquam,esse,4826 +4827,ea,facilis,4827 +4828,tempora,suscipit,4828 +4829,ut,aspernatur,4829 +4830,unde,quia,4830 +4831,quae,at,4831 +4832,error,voluptas,4832 +4833,aut,eum,4833 +4834,quia,aut,4834 +4835,incidunt,sed,4835 +4836,quasi,qui,4836 +4837,minima,beatae,4837 +4838,perferendis,veniam,4838 +4839,quaerat,cupiditate,4839 +4840,quisquam,quia,4840 +4841,nam,dicta,4841 +4842,et,nam,4842 +4843,perspiciatis,ullam,4843 +4844,aspernatur,dolores,4844 +4845,esse,autem,4845 +4846,sit,minima,4846 +4847,quasi,vitae,4847 +4848,et,non,4848 +4849,pariatur,doloribus,4849 +4850,eum,aperiam,4850 +4851,velit,a,4851 +4852,et,vitae,4852 +4853,aut,culpa,4853 +4854,quaerat,doloribus,4854 +4855,quia,eos,4855 +4856,eligendi,quam,4856 +4857,doloribus,ipsam,4857 +4858,quaerat,nisi,4858 +4859,laudantium,qui,4859 +4860,eum,quisquam,4860 +4861,voluptas,et,4861 +4862,animi,quis,4862 +4863,suscipit,nemo,4863 +4864,ab,cupiditate,4864 +4865,corporis,et,4865 +4866,odit,amet,4866 +4867,sed,qui,4867 +4868,voluptatibus,placeat,4868 +4869,cumque,temporibus,4869 +4870,dolor,quos,4870 +4871,eum,nemo,4871 +4872,inventore,architecto,4872 +4873,molestias,nemo,4873 +4874,incidunt,earum,4874 +4875,consequatur,aut,4875 +4876,ut,non,4876 +4877,facere,aut,4877 +4878,cumque,soluta,4878 +4879,nisi,fugiat,4879 +4880,corporis,perspiciatis,4880 +4881,ut,voluptatem,4881 +4882,reprehenderit,vitae,4882 +4883,et,qui,4883 +4884,fugiat,est,4884 +4885,laudantium,aliquid,4885 +4886,sunt,facilis,4886 +4887,voluptate,ut,4887 +4888,aut,omnis,4888 +4889,aliquam,eos,4889 +4890,maxime,quidem,4890 +4891,sapiente,qui,4891 +4892,inventore,porro,4892 +4893,rerum,labore,4893 +4894,odit,repudiandae,4894 +4895,aut,laudantium,4895 +4896,suscipit,inventore,4896 +4897,ad,ratione,4897 +4898,maiores,esse,4898 +4899,qui,a,4899 +4900,rem,accusantium,4900 +4901,id,est,4901 +4902,dolorem,aperiam,4902 +4903,tempora,vel,4903 +4904,aliquam,aperiam,4904 +4905,omnis,amet,4905 +4906,reiciendis,quam,4906 +4907,ex,eos,4907 +4908,autem,ad,4908 +4909,corrupti,magnam,4909 +4910,cupiditate,aspernatur,4910 +4911,cupiditate,consequatur,4911 +4912,sint,dicta,4912 +4913,fugiat,saepe,4913 +4914,perspiciatis,quia,4914 +4915,aut,expedita,4915 +4916,et,et,4916 +4917,vel,sunt,4917 +4918,iste,illum,4918 +4919,exercitationem,omnis,4919 +4920,quas,voluptatem,4920 +4921,perspiciatis,velit,4921 +4922,iure,quo,4922 +4923,unde,eum,4923 +4924,vero,maiores,4924 +4925,a,quis,4925 +4926,labore,sapiente,4926 +4927,vel,expedita,4927 +4928,qui,qui,4928 +4929,qui,eius,4929 +4930,exercitationem,non,4930 +4931,nam,ut,4931 +4932,qui,nihil,4932 +4933,et,esse,4933 +4934,incidunt,saepe,4934 +4935,et,nihil,4935 +4936,quos,culpa,4936 +4937,repudiandae,quo,4937 +4938,voluptatibus,autem,4938 +4939,dolores,voluptatem,4939 +4940,sed,labore,4940 +4941,quaerat,deserunt,4941 +4942,et,nostrum,4942 +4943,officiis,architecto,4943 +4944,laboriosam,nesciunt,4944 +4945,ducimus,distinctio,4945 +4946,repellendus,saepe,4946 +4947,aut,fugit,4947 +4948,architecto,iste,4948 +4949,porro,illum,4949 +4950,pariatur,qui,4950 +4951,ea,nam,4951 +4952,voluptas,est,4952 +4953,nostrum,error,4953 +4954,delectus,suscipit,4954 +4955,consectetur,error,4955 +4956,repellat,velit,4956 +4957,aliquid,ut,4957 +4958,pariatur,maxime,4958 +4959,ut,ea,4959 +4960,facilis,non,4960 +4961,in,iusto,4961 +4962,ipsa,est,4962 +4963,repellendus,distinctio,4963 +4964,nobis,eos,4964 +4965,laborum,voluptatibus,4965 +4966,tempore,ut,4966 +4967,ea,vel,4967 +4968,consequatur,doloribus,4968 +4969,aliquam,officiis,4969 +4970,ipsum,a,4970 +4971,iusto,soluta,4971 +4972,sunt,facilis,4972 +4973,nobis,veritatis,4973 +4974,qui,minima,4974 +4975,dolorem,sint,4975 +4976,mollitia,tenetur,4976 +4977,aut,atque,4977 +4978,ducimus,optio,4978 +4979,ipsa,voluptas,4979 +4980,blanditiis,voluptatem,4980 +4981,error,porro,4981 +4982,sequi,nam,4982 +4983,omnis,possimus,4983 +4984,sit,inventore,4984 +4985,quisquam,suscipit,4985 +4986,voluptatum,id,4986 +4987,voluptatibus,dolores,4987 +4988,nesciunt,et,4988 +4989,fuga,quos,4989 +4990,sed,veniam,4990 +4991,est,maiores,4991 +4992,ut,autem,4992 +4993,quia,voluptatem,4993 +4994,et,dolores,4994 +4995,nisi,voluptatibus,4995 +4996,quae,nostrum,4996 +4997,accusantium,animi,4997 +4998,animi,veniam,4998 +4999,velit,sed,4999 +5000,reprehenderit,eos,5000 diff --git a/Java-Executor/java-executor-tutorial/data/customer-data - Copy (4).txt b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (4).txt new file mode 100644 index 0000000..d36e8c7 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (4).txt @@ -0,0 +1,5000 @@ +1,omnis,adipisci,1 +2,ullam,ratione,2 +3,iusto,laborum,3 +4,animi,porro,4 +5,est,quod,5 +6,nemo,consequatur,6 +7,inventore,harum,7 +8,quidem,sed,8 +9,nostrum,distinctio,9 +10,est,sint,10 +11,fugiat,facilis,11 +12,architecto,molestiae,12 +13,qui,perspiciatis,13 +14,rerum,omnis,14 +15,rerum,quia,15 +16,non,sunt,16 +17,beatae,illo,17 +18,modi,quia,18 +19,aut,harum,19 +20,ratione,est,20 +21,molestias,aliquid,21 +22,autem,qui,22 +23,consectetur,eos,23 +24,omnis,dolorem,24 +25,consequatur,nam,25 +26,quis,suscipit,26 +27,nihil,et,27 +28,rerum,qui,28 +29,occaecati,eligendi,29 +30,exercitationem,voluptas,30 +31,suscipit,quibusdam,31 +32,blanditiis,qui,32 +33,quo,reiciendis,33 +34,quo,nesciunt,34 +35,aut,aut,35 +36,harum,est,36 +37,voluptas,est,37 +38,beatae,animi,38 +39,aut,a,39 +40,ut,sint,40 +41,voluptatem,non,41 +42,et,in,42 +43,officiis,rerum,43 +44,doloremque,in,44 +45,officiis,corporis,45 +46,sed,quia,46 +47,consequatur,qui,47 +48,quia,voluptates,48 +49,minima,omnis,49 +50,quasi,qui,50 +51,suscipit,incidunt,51 +52,ad,doloribus,52 +53,voluptate,accusantium,53 +54,praesentium,eveniet,54 +55,accusamus,at,55 +56,nihil,sed,56 +57,qui,iusto,57 +58,consequuntur,dolores,58 +59,occaecati,reprehenderit,59 +60,totam,quia,60 +61,qui,facilis,61 +62,quia,delectus,62 +63,sit,ab,63 +64,quo,iure,64 +65,rem,quis,65 +66,unde,sint,66 +67,nulla,eligendi,67 +68,in,itaque,68 +69,et,sed,69 +70,ullam,quia,70 +71,dolores,similique,71 +72,praesentium,reprehenderit,72 +73,officiis,occaecati,73 +74,eos,enim,74 +75,odit,aliquam,75 +76,modi,et,76 +77,architecto,non,77 +78,hic,dolor,78 +79,rerum,rerum,79 +80,nihil,laudantium,80 +81,quidem,beatae,81 +82,sint,repellendus,82 +83,nobis,aut,83 +84,ut,beatae,84 +85,molestiae,at,85 +86,dolor,voluptatem,86 +87,voluptates,aut,87 +88,fuga,laborum,88 +89,voluptas,dicta,89 +90,cum,temporibus,90 +91,nesciunt,rerum,91 +92,est,tempora,92 +93,ratione,ducimus,93 +94,eum,aut,94 +95,neque,quae,95 +96,dolore,sunt,96 +97,voluptas,quibusdam,97 +98,omnis,temporibus,98 +99,ipsa,delectus,99 +100,non,illum,100 +101,consequuntur,et,101 +102,non,eum,102 +103,enim,unde,103 +104,itaque,provident,104 +105,quod,nesciunt,105 +106,sed,non,106 +107,commodi,qui,107 +108,odio,soluta,108 +109,inventore,assumenda,109 +110,officia,in,110 +111,quis,dolorem,111 +112,harum,sed,112 +113,autem,reprehenderit,113 +114,consequatur,aut,114 +115,ab,sed,115 +116,porro,aut,116 +117,ut,ratione,117 +118,asperiores,dicta,118 +119,illum,enim,119 +120,possimus,quae,120 +121,quidem,repudiandae,121 +122,porro,quis,122 +123,molestiae,et,123 +124,cupiditate,pariatur,124 +125,nemo,quos,125 +126,praesentium,aut,126 +127,vel,illo,127 +128,molestias,cupiditate,128 +129,quis,sequi,129 +130,autem,nesciunt,130 +131,non,voluptas,131 +132,architecto,odit,132 +133,eum,pariatur,133 +134,necessitatibus,reprehenderit,134 +135,ea,eos,135 +136,omnis,sed,136 +137,nostrum,tempore,137 +138,doloremque,placeat,138 +139,alias,dolorem,139 +140,recusandae,et,140 +141,earum,perspiciatis,141 +142,est,magnam,142 +143,deleniti,magnam,143 +144,aut,numquam,144 +145,rerum,nemo,145 +146,delectus,mollitia,146 +147,alias,porro,147 +148,occaecati,mollitia,148 +149,recusandae,quisquam,149 +150,molestias,laborum,150 +151,tenetur,amet,151 +152,consequatur,ipsum,152 +153,minima,rerum,153 +154,natus,ullam,154 +155,ex,est,155 +156,dignissimos,voluptatem,156 +157,et,doloribus,157 +158,adipisci,dolor,158 +159,qui,optio,159 +160,veniam,soluta,160 +161,saepe,nobis,161 +162,facere,voluptas,162 +163,accusantium,ea,163 +164,reiciendis,porro,164 +165,quos,libero,165 +166,facere,debitis,166 +167,ab,accusamus,167 +168,beatae,suscipit,168 +169,atque,atque,169 +170,quod,ipsa,170 +171,hic,aut,171 +172,quas,delectus,172 +173,illum,vel,173 +174,odit,quia,174 +175,et,eum,175 +176,sunt,ipsa,176 +177,atque,voluptate,177 +178,autem,porro,178 +179,quis,nostrum,179 +180,natus,sint,180 +181,corrupti,sed,181 +182,exercitationem,dolorum,182 +183,et,dolores,183 +184,nisi,esse,184 +185,accusamus,ut,185 +186,quae,ratione,186 +187,tempora,ut,187 +188,et,magnam,188 +189,doloremque,et,189 +190,vel,sit,190 +191,tempora,dolore,191 +192,tempore,suscipit,192 +193,exercitationem,alias,193 +194,magnam,similique,194 +195,ipsum,velit,195 +196,eos,consequatur,196 +197,vel,esse,197 +198,sed,placeat,198 +199,at,omnis,199 +200,amet,veritatis,200 +201,quod,cupiditate,201 +202,non,quo,202 +203,corporis,dignissimos,203 +204,autem,quis,204 +205,repellat,aut,205 +206,rerum,aut,206 +207,reiciendis,quia,207 +208,et,eligendi,208 +209,id,quia,209 +210,repudiandae,dolores,210 +211,fugit,similique,211 +212,placeat,iste,212 +213,delectus,commodi,213 +214,et,illum,214 +215,totam,in,215 +216,iure,qui,216 +217,dicta,voluptas,217 +218,qui,expedita,218 +219,facilis,ut,219 +220,omnis,consequatur,220 +221,praesentium,ea,221 +222,repellendus,rerum,222 +223,odit,voluptatum,223 +224,maiores,voluptas,224 +225,quo,ut,225 +226,voluptas,impedit,226 +227,explicabo,dolorem,227 +228,tempora,quidem,228 +229,id,a,229 +230,qui,suscipit,230 +231,officiis,omnis,231 +232,ipsam,odit,232 +233,totam,omnis,233 +234,molestiae,in,234 +235,blanditiis,dolorem,235 +236,a,pariatur,236 +237,doloribus,impedit,237 +238,non,ullam,238 +239,quis,error,239 +240,sapiente,omnis,240 +241,molestias,sit,241 +242,dolores,natus,242 +243,recusandae,cumque,243 +244,odit,est,244 +245,sed,voluptas,245 +246,molestiae,et,246 +247,molestiae,vero,247 +248,quo,laudantium,248 +249,similique,cum,249 +250,dolor,modi,250 +251,voluptas,officia,251 +252,amet,eum,252 +253,impedit,est,253 +254,culpa,eveniet,254 +255,quia,occaecati,255 +256,perferendis,animi,256 +257,ut,et,257 +258,atque,et,258 +259,et,voluptatum,259 +260,reprehenderit,unde,260 +261,facilis,qui,261 +262,sequi,hic,262 +263,natus,molestias,263 +264,et,blanditiis,264 +265,sed,dolor,265 +266,et,sint,266 +267,illo,consequuntur,267 +268,totam,eos,268 +269,magnam,ea,269 +270,facere,ut,270 +271,accusantium,et,271 +272,temporibus,rem,272 +273,debitis,rerum,273 +274,et,facilis,274 +275,quia,quia,275 +276,voluptatem,eum,276 +277,exercitationem,alias,277 +278,ullam,quod,278 +279,iusto,quis,279 +280,quis,quo,280 +281,fuga,modi,281 +282,placeat,fugiat,282 +283,quidem,sunt,283 +284,ut,veritatis,284 +285,nihil,et,285 +286,qui,enim,286 +287,et,sint,287 +288,repellat,dolorem,288 +289,quia,aut,289 +290,magnam,doloremque,290 +291,accusamus,explicabo,291 +292,aut,dolor,292 +293,harum,exercitationem,293 +294,earum,sed,294 +295,repellat,vel,295 +296,laudantium,molestiae,296 +297,deserunt,omnis,297 +298,nesciunt,dolor,298 +299,repudiandae,corrupti,299 +300,nesciunt,est,300 +301,delectus,voluptas,301 +302,ut,cum,302 +303,et,rem,303 +304,doloremque,illo,304 +305,dignissimos,omnis,305 +306,nisi,in,306 +307,facilis,quo,307 +308,enim,est,308 +309,veritatis,veniam,309 +310,modi,dolore,310 +311,amet,quasi,311 +312,quibusdam,et,312 +313,nulla,occaecati,313 +314,eum,doloribus,314 +315,doloribus,labore,315 +316,numquam,repudiandae,316 +317,porro,nobis,317 +318,quia,rem,318 +319,sit,eum,319 +320,aliquid,consequatur,320 +321,officia,qui,321 +322,consequuntur,itaque,322 +323,et,vel,323 +324,ea,et,324 +325,omnis,voluptatum,325 +326,quia,id,326 +327,quos,et,327 +328,nobis,ut,328 +329,voluptas,unde,329 +330,et,voluptate,330 +331,ratione,dolor,331 +332,sed,ducimus,332 +333,dolorem,nostrum,333 +334,sint,laboriosam,334 +335,aspernatur,at,335 +336,officia,sed,336 +337,et,molestias,337 +338,facilis,ad,338 +339,et,neque,339 +340,quas,provident,340 +341,animi,quos,341 +342,tenetur,repellat,342 +343,dolores,esse,343 +344,porro,dolorem,344 +345,voluptatum,minima,345 +346,reprehenderit,voluptatem,346 +347,et,ut,347 +348,id,et,348 +349,aliquid,animi,349 +350,odio,minima,350 +351,cum,quae,351 +352,adipisci,eligendi,352 +353,qui,modi,353 +354,autem,vel,354 +355,temporibus,recusandae,355 +356,aut,assumenda,356 +357,et,consequuntur,357 +358,quas,molestias,358 +359,voluptates,dolores,359 +360,deserunt,ut,360 +361,est,incidunt,361 +362,accusamus,sed,362 +363,ut,commodi,363 +364,qui,vitae,364 +365,rerum,beatae,365 +366,perspiciatis,ipsa,366 +367,dolorem,esse,367 +368,asperiores,aut,368 +369,unde,saepe,369 +370,qui,labore,370 +371,natus,corporis,371 +372,ipsum,consequatur,372 +373,est,quos,373 +374,mollitia,aperiam,374 +375,non,dolorum,375 +376,tenetur,est,376 +377,aut,ut,377 +378,aut,neque,378 +379,accusantium,ex,379 +380,vel,impedit,380 +381,blanditiis,ea,381 +382,sint,debitis,382 +383,earum,velit,383 +384,et,tenetur,384 +385,omnis,ipsa,385 +386,magnam,ipsum,386 +387,sint,ipsam,387 +388,sit,aut,388 +389,aliquam,consequuntur,389 +390,ut,hic,390 +391,dolorem,nihil,391 +392,minima,sint,392 +393,soluta,rerum,393 +394,adipisci,perspiciatis,394 +395,et,qui,395 +396,in,voluptas,396 +397,est,nobis,397 +398,dolore,eum,398 +399,veniam,dolores,399 +400,et,eos,400 +401,earum,dolorem,401 +402,repellendus,id,402 +403,dolor,esse,403 +404,inventore,doloremque,404 +405,quas,soluta,405 +406,fuga,consectetur,406 +407,dignissimos,in,407 +408,consectetur,dolores,408 +409,non,autem,409 +410,modi,cumque,410 +411,cum,totam,411 +412,quam,ipsam,412 +413,ipsum,soluta,413 +414,expedita,consectetur,414 +415,quo,voluptatibus,415 +416,autem,quas,416 +417,et,cum,417 +418,unde,et,418 +419,alias,perferendis,419 +420,qui,praesentium,420 +421,vel,dolor,421 +422,provident,pariatur,422 +423,est,omnis,423 +424,quaerat,adipisci,424 +425,quo,beatae,425 +426,dolor,omnis,426 +427,aut,velit,427 +428,possimus,animi,428 +429,quis,maiores,429 +430,libero,et,430 +431,in,quis,431 +432,id,dignissimos,432 +433,officiis,similique,433 +434,asperiores,est,434 +435,et,nulla,435 +436,autem,veritatis,436 +437,et,eum,437 +438,et,at,438 +439,ipsam,sed,439 +440,quis,aut,440 +441,est,non,441 +442,exercitationem,corrupti,442 +443,repellendus,et,443 +444,deserunt,quibusdam,444 +445,est,sit,445 +446,veritatis,ab,446 +447,impedit,illum,447 +448,eos,aut,448 +449,atque,sequi,449 +450,eaque,cum,450 +451,aut,minima,451 +452,nostrum,animi,452 +453,quos,dignissimos,453 +454,perspiciatis,nostrum,454 +455,in,dolor,455 +456,aut,aperiam,456 +457,quia,autem,457 +458,non,reprehenderit,458 +459,nisi,minus,459 +460,libero,ratione,460 +461,dicta,sequi,461 +462,dolorum,enim,462 +463,dicta,quia,463 +464,non,itaque,464 +465,eum,accusantium,465 +466,ut,atque,466 +467,quibusdam,sit,467 +468,quidem,quo,468 +469,animi,et,469 +470,mollitia,commodi,470 +471,repudiandae,tempore,471 +472,non,exercitationem,472 +473,cum,quia,473 +474,sed,reprehenderit,474 +475,ducimus,sunt,475 +476,dignissimos,neque,476 +477,doloribus,eos,477 +478,perferendis,itaque,478 +479,sit,blanditiis,479 +480,earum,repellendus,480 +481,aut,et,481 +482,qui,assumenda,482 +483,ut,sunt,483 +484,aut,id,484 +485,ut,qui,485 +486,provident,quas,486 +487,blanditiis,laudantium,487 +488,sit,fugit,488 +489,quo,molestias,489 +490,modi,suscipit,490 +491,ut,et,491 +492,corrupti,cumque,492 +493,neque,dolorem,493 +494,quod,est,494 +495,aut,ut,495 +496,rerum,impedit,496 +497,saepe,odio,497 +498,nihil,enim,498 +499,molestias,provident,499 +500,neque,maxime,500 +501,quisquam,possimus,501 +502,at,ut,502 +503,sed,esse,503 +504,ullam,dolorem,504 +505,nobis,quia,505 +506,quidem,incidunt,506 +507,harum,non,507 +508,voluptate,qui,508 +509,quod,expedita,509 +510,dolorum,qui,510 +511,neque,optio,511 +512,et,eos,512 +513,voluptatem,dolorum,513 +514,blanditiis,totam,514 +515,et,amet,515 +516,assumenda,repudiandae,516 +517,sit,ex,517 +518,id,omnis,518 +519,a,est,519 +520,deleniti,optio,520 +521,nemo,rerum,521 +522,minima,quae,522 +523,quis,mollitia,523 +524,a,doloremque,524 +525,tempora,consectetur,525 +526,tempora,incidunt,526 +527,aspernatur,facilis,527 +528,consequatur,numquam,528 +529,ipsam,qui,529 +530,pariatur,aperiam,530 +531,laudantium,aliquam,531 +532,qui,voluptas,532 +533,et,optio,533 +534,officia,sapiente,534 +535,corporis,quae,535 +536,quia,nobis,536 +537,magni,cum,537 +538,eos,vel,538 +539,possimus,necessitatibus,539 +540,qui,modi,540 +541,in,necessitatibus,541 +542,velit,iusto,542 +543,ipsa,excepturi,543 +544,quisquam,rem,544 +545,sunt,voluptatem,545 +546,nesciunt,nulla,546 +547,aut,reprehenderit,547 +548,ut,modi,548 +549,natus,officiis,549 +550,ducimus,aut,550 +551,id,nihil,551 +552,error,ducimus,552 +553,vel,rerum,553 +554,dolorum,distinctio,554 +555,dolorum,officia,555 +556,voluptas,expedita,556 +557,non,et,557 +558,porro,voluptas,558 +559,omnis,sit,559 +560,hic,rerum,560 +561,rerum,voluptas,561 +562,vel,aliquam,562 +563,delectus,inventore,563 +564,consequatur,commodi,564 +565,est,ex,565 +566,et,sed,566 +567,qui,quo,567 +568,voluptas,aut,568 +569,enim,similique,569 +570,qui,eos,570 +571,ut,repudiandae,571 +572,sint,dignissimos,572 +573,ea,est,573 +574,asperiores,voluptatem,574 +575,dolores,ut,575 +576,excepturi,molestiae,576 +577,tempora,et,577 +578,expedita,nulla,578 +579,odio,at,579 +580,perferendis,enim,580 +581,nisi,at,581 +582,earum,ex,582 +583,omnis,voluptate,583 +584,molestiae,rerum,584 +585,consequuntur,odio,585 +586,odio,nulla,586 +587,dolorem,autem,587 +588,necessitatibus,et,588 +589,et,consequatur,589 +590,dignissimos,nemo,590 +591,culpa,quia,591 +592,voluptatem,aspernatur,592 +593,quo,saepe,593 +594,vel,quod,594 +595,temporibus,dolor,595 +596,eum,aliquid,596 +597,enim,omnis,597 +598,omnis,veritatis,598 +599,quo,quae,599 +600,ex,ullam,600 +601,sed,atque,601 +602,esse,sit,602 +603,eligendi,non,603 +604,inventore,esse,604 +605,non,omnis,605 +606,error,nostrum,606 +607,porro,modi,607 +608,omnis,quia,608 +609,omnis,unde,609 +610,minus,eveniet,610 +611,pariatur,a,611 +612,a,recusandae,612 +613,tempora,nulla,613 +614,corporis,velit,614 +615,et,molestiae,615 +616,in,temporibus,616 +617,qui,placeat,617 +618,est,quia,618 +619,consequatur,sequi,619 +620,non,et,620 +621,animi,a,621 +622,quidem,molestiae,622 +623,deleniti,harum,623 +624,nemo,nam,624 +625,et,quos,625 +626,blanditiis,alias,626 +627,rem,optio,627 +628,similique,unde,628 +629,iusto,odit,629 +630,architecto,rem,630 +631,veniam,pariatur,631 +632,debitis,quis,632 +633,odit,nobis,633 +634,consequatur,ipsum,634 +635,neque,ad,635 +636,doloribus,sint,636 +637,beatae,reiciendis,637 +638,quos,sit,638 +639,vero,eos,639 +640,excepturi,autem,640 +641,est,omnis,641 +642,nobis,voluptatibus,642 +643,consectetur,eum,643 +644,ab,sed,644 +645,ea,in,645 +646,corporis,sapiente,646 +647,tempora,recusandae,647 +648,expedita,itaque,648 +649,quis,exercitationem,649 +650,ut,est,650 +651,eum,quo,651 +652,qui,odit,652 +653,velit,et,653 +654,modi,minus,654 +655,quisquam,quos,655 +656,ut,molestiae,656 +657,consequatur,occaecati,657 +658,architecto,aut,658 +659,impedit,error,659 +660,voluptatem,aliquid,660 +661,perspiciatis,unde,661 +662,corrupti,aut,662 +663,voluptatem,eaque,663 +664,ut,facilis,664 +665,perspiciatis,similique,665 +666,aut,sed,666 +667,ea,ut,667 +668,magnam,quia,668 +669,eius,et,669 +670,ad,rerum,670 +671,sunt,ut,671 +672,ab,nemo,672 +673,voluptatem,dolores,673 +674,unde,saepe,674 +675,blanditiis,quibusdam,675 +676,alias,est,676 +677,eum,consequatur,677 +678,aut,velit,678 +679,repellendus,architecto,679 +680,voluptas,corrupti,680 +681,quod,maiores,681 +682,sit,et,682 +683,odit,harum,683 +684,molestiae,ex,684 +685,modi,ut,685 +686,non,asperiores,686 +687,officiis,odio,687 +688,repudiandae,iure,688 +689,aliquid,quaerat,689 +690,cumque,rerum,690 +691,facilis,sed,691 +692,ipsam,nobis,692 +693,dolor,mollitia,693 +694,soluta,necessitatibus,694 +695,voluptatibus,possimus,695 +696,non,doloremque,696 +697,sed,odio,697 +698,incidunt,fugiat,698 +699,ducimus,quis,699 +700,et,consequatur,700 +701,unde,non,701 +702,placeat,ratione,702 +703,vel,odio,703 +704,qui,tenetur,704 +705,id,similique,705 +706,voluptatem,facilis,706 +707,fuga,a,707 +708,ex,deserunt,708 +709,mollitia,laborum,709 +710,natus,quibusdam,710 +711,beatae,et,711 +712,voluptatem,non,712 +713,vel,laboriosam,713 +714,suscipit,distinctio,714 +715,et,rerum,715 +716,debitis,facere,716 +717,voluptatibus,id,717 +718,voluptatum,vitae,718 +719,velit,odio,719 +720,aspernatur,est,720 +721,laudantium,id,721 +722,esse,et,722 +723,saepe,debitis,723 +724,esse,explicabo,724 +725,ut,dolore,725 +726,excepturi,quia,726 +727,voluptas,ut,727 +728,voluptas,debitis,728 +729,dolor,consectetur,729 +730,sapiente,ut,730 +731,alias,in,731 +732,dolorem,at,732 +733,laborum,sed,733 +734,voluptatibus,non,734 +735,minus,soluta,735 +736,dolores,vero,736 +737,nihil,aut,737 +738,facilis,adipisci,738 +739,qui,voluptatem,739 +740,autem,aut,740 +741,voluptatem,atque,741 +742,voluptatibus,aspernatur,742 +743,repellendus,dolorem,743 +744,voluptatum,fugit,744 +745,quod,ut,745 +746,reprehenderit,quo,746 +747,totam,ut,747 +748,ex,quisquam,748 +749,reprehenderit,blanditiis,749 +750,sed,labore,750 +751,ut,est,751 +752,repellendus,nam,752 +753,quia,voluptas,753 +754,sit,a,754 +755,perferendis,nostrum,755 +756,nihil,fuga,756 +757,doloribus,et,757 +758,ipsam,velit,758 +759,rem,veniam,759 +760,fuga,possimus,760 +761,incidunt,sint,761 +762,vero,rerum,762 +763,ad,assumenda,763 +764,praesentium,exercitationem,764 +765,ut,reprehenderit,765 +766,id,quia,766 +767,doloribus,iure,767 +768,deleniti,quia,768 +769,pariatur,sit,769 +770,molestias,unde,770 +771,sint,enim,771 +772,amet,beatae,772 +773,commodi,dolores,773 +774,omnis,consectetur,774 +775,dignissimos,perspiciatis,775 +776,deserunt,aut,776 +777,doloremque,ipsam,777 +778,aut,et,778 +779,a,quibusdam,779 +780,vero,quasi,780 +781,et,officia,781 +782,accusamus,et,782 +783,explicabo,voluptas,783 +784,autem,fugit,784 +785,non,cumque,785 +786,et,est,786 +787,laborum,facere,787 +788,et,facilis,788 +789,consequatur,aut,789 +790,voluptas,quisquam,790 +791,tempore,veritatis,791 +792,quos,deserunt,792 +793,modi,accusantium,793 +794,pariatur,ea,794 +795,ducimus,voluptas,795 +796,sed,et,796 +797,nostrum,nemo,797 +798,enim,vel,798 +799,eum,cupiditate,799 +800,et,ab,800 +801,aut,amet,801 +802,et,non,802 +803,eaque,blanditiis,803 +804,veniam,dolorum,804 +805,dolorum,necessitatibus,805 +806,delectus,sit,806 +807,et,nisi,807 +808,quasi,architecto,808 +809,ut,nisi,809 +810,minima,a,810 +811,quam,soluta,811 +812,ratione,rerum,812 +813,fugit,iure,813 +814,temporibus,distinctio,814 +815,quas,ea,815 +816,mollitia,harum,816 +817,temporibus,quis,817 +818,consequatur,ea,818 +819,beatae,laudantium,819 +820,adipisci,vero,820 +821,eum,consequuntur,821 +822,voluptatibus,perspiciatis,822 +823,quisquam,excepturi,823 +824,sequi,quia,824 +825,et,sequi,825 +826,ab,iste,826 +827,fugit,explicabo,827 +828,voluptatem,rerum,828 +829,aut,illum,829 +830,voluptas,consectetur,830 +831,omnis,sed,831 +832,est,asperiores,832 +833,sapiente,ipsum,833 +834,quam,eum,834 +835,ex,provident,835 +836,temporibus,dolorem,836 +837,labore,explicabo,837 +838,quas,nobis,838 +839,doloremque,sed,839 +840,consequatur,et,840 +841,et,distinctio,841 +842,sit,consectetur,842 +843,dolores,fugiat,843 +844,et,delectus,844 +845,sint,voluptatem,845 +846,voluptates,quod,846 +847,eos,iure,847 +848,blanditiis,vitae,848 +849,a,aut,849 +850,molestiae,incidunt,850 +851,maiores,corporis,851 +852,numquam,maiores,852 +853,dicta,quis,853 +854,porro,non,854 +855,corrupti,ut,855 +856,non,ducimus,856 +857,aliquam,autem,857 +858,non,exercitationem,858 +859,praesentium,dolorem,859 +860,possimus,provident,860 +861,rem,fuga,861 +862,ut,cupiditate,862 +863,ut,est,863 +864,voluptas,eius,864 +865,quia,labore,865 +866,voluptatem,officia,866 +867,alias,enim,867 +868,qui,adipisci,868 +869,molestiae,recusandae,869 +870,unde,dolorem,870 +871,cumque,est,871 +872,consequuntur,expedita,872 +873,autem,commodi,873 +874,dolorum,doloremque,874 +875,quos,animi,875 +876,qui,quos,876 +877,sunt,expedita,877 +878,voluptas,voluptatum,878 +879,magni,aut,879 +880,aspernatur,assumenda,880 +881,est,et,881 +882,ab,eius,882 +883,iusto,saepe,883 +884,asperiores,beatae,884 +885,nulla,et,885 +886,perferendis,labore,886 +887,laboriosam,sunt,887 +888,architecto,beatae,888 +889,aliquid,cumque,889 +890,libero,doloremque,890 +891,esse,et,891 +892,dolore,ipsa,892 +893,sint,ab,893 +894,ut,eos,894 +895,cumque,optio,895 +896,voluptatem,non,896 +897,velit,delectus,897 +898,beatae,temporibus,898 +899,sit,labore,899 +900,aut,et,900 +901,ipsam,ut,901 +902,et,in,902 +903,dolorem,dolorem,903 +904,ipsa,quidem,904 +905,ex,fugiat,905 +906,suscipit,quibusdam,906 +907,magni,aliquid,907 +908,itaque,laborum,908 +909,molestiae,id,909 +910,molestias,tempore,910 +911,ipsum,sed,911 +912,aut,possimus,912 +913,error,architecto,913 +914,eos,excepturi,914 +915,sed,ad,915 +916,blanditiis,sit,916 +917,odio,ipsam,917 +918,repellendus,sit,918 +919,ut,amet,919 +920,asperiores,incidunt,920 +921,voluptatem,dolore,921 +922,aspernatur,sed,922 +923,facere,et,923 +924,rerum,provident,924 +925,quos,eius,925 +926,voluptates,nisi,926 +927,aut,aut,927 +928,dolorem,sit,928 +929,et,qui,929 +930,temporibus,qui,930 +931,unde,labore,931 +932,nulla,beatae,932 +933,totam,velit,933 +934,blanditiis,et,934 +935,fugiat,exercitationem,935 +936,tempore,inventore,936 +937,molestiae,sed,937 +938,ipsum,delectus,938 +939,officiis,consectetur,939 +940,iusto,omnis,940 +941,enim,iure,941 +942,a,atque,942 +943,doloribus,impedit,943 +944,aut,velit,944 +945,dolore,amet,945 +946,qui,tempora,946 +947,sed,asperiores,947 +948,vitae,a,948 +949,corporis,omnis,949 +950,quos,nobis,950 +951,qui,quia,951 +952,architecto,doloremque,952 +953,dicta,ut,953 +954,accusantium,deleniti,954 +955,numquam,consequuntur,955 +956,cum,repellat,956 +957,fuga,tempore,957 +958,est,ut,958 +959,ipsum,in,959 +960,veniam,accusamus,960 +961,iusto,necessitatibus,961 +962,placeat,dolore,962 +963,dicta,atque,963 +964,fuga,quibusdam,964 +965,et,aut,965 +966,minus,autem,966 +967,minus,est,967 +968,odit,perspiciatis,968 +969,nam,dolorem,969 +970,qui,magnam,970 +971,qui,eos,971 +972,voluptas,molestias,972 +973,sed,odit,973 +974,et,tempora,974 +975,quo,placeat,975 +976,accusamus,ipsum,976 +977,rerum,consequatur,977 +978,et,dolor,978 +979,debitis,commodi,979 +980,qui,architecto,980 +981,repudiandae,ullam,981 +982,temporibus,magnam,982 +983,illum,aliquam,983 +984,inventore,ex,984 +985,corrupti,porro,985 +986,odit,magni,986 +987,facere,quasi,987 +988,sapiente,dignissimos,988 +989,temporibus,eum,989 +990,maiores,quo,990 +991,voluptatem,et,991 +992,expedita,quo,992 +993,nostrum,eum,993 +994,in,ut,994 +995,libero,quam,995 +996,eos,deleniti,996 +997,molestiae,nesciunt,997 +998,quisquam,voluptas,998 +999,laudantium,tempora,999 +1000,similique,sequi,1000 +1001,eius,neque,1001 +1002,deleniti,iste,1002 +1003,velit,nisi,1003 +1004,repellendus,quia,1004 +1005,est,aut,1005 +1006,voluptatem,et,1006 +1007,laudantium,consequatur,1007 +1008,atque,doloribus,1008 +1009,saepe,ullam,1009 +1010,cumque,optio,1010 +1011,molestias,beatae,1011 +1012,nihil,facilis,1012 +1013,corporis,consequatur,1013 +1014,atque,reprehenderit,1014 +1015,vero,aliquam,1015 +1016,eos,cupiditate,1016 +1017,autem,adipisci,1017 +1018,qui,fugit,1018 +1019,dolore,unde,1019 +1020,tempore,rerum,1020 +1021,et,iste,1021 +1022,eum,et,1022 +1023,quasi,placeat,1023 +1024,ullam,ipsam,1024 +1025,saepe,tempora,1025 +1026,velit,ut,1026 +1027,qui,delectus,1027 +1028,deserunt,aperiam,1028 +1029,quam,tempora,1029 +1030,reiciendis,id,1030 +1031,nihil,repellendus,1031 +1032,vel,aut,1032 +1033,pariatur,eum,1033 +1034,quidem,quos,1034 +1035,omnis,consequatur,1035 +1036,qui,aut,1036 +1037,esse,id,1037 +1038,rerum,possimus,1038 +1039,ut,molestiae,1039 +1040,rem,occaecati,1040 +1041,odit,eligendi,1041 +1042,ut,nobis,1042 +1043,inventore,similique,1043 +1044,sed,cum,1044 +1045,eligendi,facilis,1045 +1046,id,quidem,1046 +1047,placeat,id,1047 +1048,voluptas,rem,1048 +1049,sit,sed,1049 +1050,aspernatur,at,1050 +1051,beatae,fugiat,1051 +1052,reprehenderit,omnis,1052 +1053,ipsam,aperiam,1053 +1054,veniam,iusto,1054 +1055,harum,et,1055 +1056,inventore,sequi,1056 +1057,nesciunt,atque,1057 +1058,facere,et,1058 +1059,dolores,et,1059 +1060,perferendis,amet,1060 +1061,consequatur,sunt,1061 +1062,non,tempore,1062 +1063,error,eum,1063 +1064,sit,omnis,1064 +1065,sit,sit,1065 +1066,maiores,possimus,1066 +1067,quasi,autem,1067 +1068,repudiandae,similique,1068 +1069,tempora,non,1069 +1070,neque,assumenda,1070 +1071,rerum,itaque,1071 +1072,sunt,error,1072 +1073,veritatis,officia,1073 +1074,culpa,cum,1074 +1075,soluta,fugit,1075 +1076,voluptates,culpa,1076 +1077,dolorum,doloremque,1077 +1078,explicabo,qui,1078 +1079,a,magni,1079 +1080,aut,molestiae,1080 +1081,fugit,quos,1081 +1082,voluptas,officia,1082 +1083,eos,qui,1083 +1084,libero,reprehenderit,1084 +1085,qui,ea,1085 +1086,doloremque,corrupti,1086 +1087,totam,saepe,1087 +1088,laboriosam,enim,1088 +1089,aut,et,1089 +1090,et,vero,1090 +1091,et,tempore,1091 +1092,sit,atque,1092 +1093,suscipit,et,1093 +1094,perspiciatis,et,1094 +1095,qui,non,1095 +1096,molestias,consequuntur,1096 +1097,dicta,rerum,1097 +1098,dolore,ea,1098 +1099,quo,vero,1099 +1100,dolor,rem,1100 +1101,pariatur,possimus,1101 +1102,et,quo,1102 +1103,culpa,consequuntur,1103 +1104,temporibus,earum,1104 +1105,est,vel,1105 +1106,est,rerum,1106 +1107,iure,nostrum,1107 +1108,soluta,culpa,1108 +1109,eum,quo,1109 +1110,dolorem,magnam,1110 +1111,eum,adipisci,1111 +1112,perspiciatis,eligendi,1112 +1113,molestias,praesentium,1113 +1114,optio,odit,1114 +1115,aliquam,dolores,1115 +1116,natus,perferendis,1116 +1117,animi,esse,1117 +1118,tenetur,consectetur,1118 +1119,sit,consequatur,1119 +1120,ut,qui,1120 +1121,aut,ad,1121 +1122,vel,a,1122 +1123,eaque,sit,1123 +1124,aut,dolores,1124 +1125,delectus,unde,1125 +1126,veniam,minima,1126 +1127,ipsam,adipisci,1127 +1128,asperiores,vel,1128 +1129,in,voluptatem,1129 +1130,ab,natus,1130 +1131,dolorum,minima,1131 +1132,dolorum,alias,1132 +1133,et,ipsam,1133 +1134,incidunt,veritatis,1134 +1135,aut,consequatur,1135 +1136,hic,quia,1136 +1137,quo,dolor,1137 +1138,ut,optio,1138 +1139,sit,recusandae,1139 +1140,temporibus,assumenda,1140 +1141,voluptas,sint,1141 +1142,reiciendis,fugiat,1142 +1143,sed,aut,1143 +1144,voluptatem,aut,1144 +1145,accusantium,maiores,1145 +1146,facere,et,1146 +1147,voluptatum,ut,1147 +1148,nam,asperiores,1148 +1149,in,doloremque,1149 +1150,quisquam,incidunt,1150 +1151,harum,hic,1151 +1152,distinctio,est,1152 +1153,laboriosam,deleniti,1153 +1154,consectetur,eius,1154 +1155,quis,architecto,1155 +1156,occaecati,et,1156 +1157,sint,et,1157 +1158,dolorum,fugit,1158 +1159,incidunt,in,1159 +1160,minima,quisquam,1160 +1161,quas,nam,1161 +1162,sed,ut,1162 +1163,reiciendis,et,1163 +1164,odio,commodi,1164 +1165,sunt,non,1165 +1166,animi,ut,1166 +1167,consectetur,laboriosam,1167 +1168,eos,tempore,1168 +1169,rem,occaecati,1169 +1170,facilis,hic,1170 +1171,nobis,libero,1171 +1172,quod,optio,1172 +1173,illo,aut,1173 +1174,nobis,consequatur,1174 +1175,earum,ut,1175 +1176,ipsam,vel,1176 +1177,suscipit,soluta,1177 +1178,a,dolorem,1178 +1179,dicta,sed,1179 +1180,aspernatur,quibusdam,1180 +1181,temporibus,necessitatibus,1181 +1182,unde,perferendis,1182 +1183,quibusdam,praesentium,1183 +1184,similique,optio,1184 +1185,exercitationem,et,1185 +1186,qui,officiis,1186 +1187,eum,et,1187 +1188,omnis,aperiam,1188 +1189,recusandae,enim,1189 +1190,perferendis,voluptatum,1190 +1191,ut,eum,1191 +1192,consectetur,sapiente,1192 +1193,autem,qui,1193 +1194,quis,assumenda,1194 +1195,ut,cupiditate,1195 +1196,quia,dolorem,1196 +1197,excepturi,in,1197 +1198,officiis,numquam,1198 +1199,possimus,delectus,1199 +1200,veniam,recusandae,1200 +1201,quos,id,1201 +1202,ratione,corporis,1202 +1203,alias,voluptates,1203 +1204,quia,quasi,1204 +1205,animi,soluta,1205 +1206,autem,laboriosam,1206 +1207,impedit,velit,1207 +1208,est,voluptatem,1208 +1209,ut,beatae,1209 +1210,quis,tempora,1210 +1211,placeat,assumenda,1211 +1212,libero,porro,1212 +1213,minima,veniam,1213 +1214,explicabo,sed,1214 +1215,illo,consequatur,1215 +1216,necessitatibus,in,1216 +1217,recusandae,aut,1217 +1218,dicta,eos,1218 +1219,maiores,qui,1219 +1220,eum,temporibus,1220 +1221,sit,libero,1221 +1222,aperiam,quia,1222 +1223,ut,est,1223 +1224,quo,qui,1224 +1225,velit,suscipit,1225 +1226,aut,qui,1226 +1227,culpa,omnis,1227 +1228,omnis,non,1228 +1229,dolore,non,1229 +1230,dolorem,quam,1230 +1231,voluptates,odio,1231 +1232,deserunt,non,1232 +1233,qui,deserunt,1233 +1234,debitis,ea,1234 +1235,accusamus,sed,1235 +1236,maiores,earum,1236 +1237,eum,vitae,1237 +1238,dolorem,maxime,1238 +1239,atque,officia,1239 +1240,rerum,sunt,1240 +1241,inventore,et,1241 +1242,sed,labore,1242 +1243,nulla,et,1243 +1244,neque,consectetur,1244 +1245,deleniti,assumenda,1245 +1246,assumenda,possimus,1246 +1247,deserunt,qui,1247 +1248,hic,et,1248 +1249,et,incidunt,1249 +1250,soluta,quos,1250 +1251,reprehenderit,natus,1251 +1252,omnis,in,1252 +1253,qui,libero,1253 +1254,occaecati,dolorem,1254 +1255,odio,rem,1255 +1256,tempora,temporibus,1256 +1257,quia,ut,1257 +1258,odit,et,1258 +1259,sapiente,optio,1259 +1260,aliquam,voluptatem,1260 +1261,dolorem,corrupti,1261 +1262,modi,necessitatibus,1262 +1263,sequi,doloremque,1263 +1264,voluptatum,dolorum,1264 +1265,sequi,quo,1265 +1266,reprehenderit,similique,1266 +1267,mollitia,molestias,1267 +1268,ut,vel,1268 +1269,quis,dolores,1269 +1270,nesciunt,consequatur,1270 +1271,praesentium,magni,1271 +1272,nemo,facilis,1272 +1273,molestiae,sint,1273 +1274,natus,est,1274 +1275,a,quibusdam,1275 +1276,sapiente,dignissimos,1276 +1277,sit,eaque,1277 +1278,possimus,illum,1278 +1279,ratione,assumenda,1279 +1280,fuga,quod,1280 +1281,quis,nam,1281 +1282,et,ut,1282 +1283,qui,accusantium,1283 +1284,molestias,aliquam,1284 +1285,ut,fugit,1285 +1286,nesciunt,dolor,1286 +1287,voluptatem,qui,1287 +1288,explicabo,iure,1288 +1289,ratione,itaque,1289 +1290,aut,non,1290 +1291,dolores,rerum,1291 +1292,nihil,dolore,1292 +1293,blanditiis,omnis,1293 +1294,in,dolor,1294 +1295,in,enim,1295 +1296,sed,repudiandae,1296 +1297,libero,delectus,1297 +1298,modi,voluptatum,1298 +1299,explicabo,impedit,1299 +1300,eum,accusantium,1300 +1301,dicta,expedita,1301 +1302,assumenda,eaque,1302 +1303,officia,necessitatibus,1303 +1304,doloremque,corrupti,1304 +1305,aut,minus,1305 +1306,aspernatur,ducimus,1306 +1307,voluptatem,deserunt,1307 +1308,quo,eum,1308 +1309,hic,ex,1309 +1310,perspiciatis,non,1310 +1311,dolore,exercitationem,1311 +1312,eligendi,itaque,1312 +1313,iure,enim,1313 +1314,nesciunt,molestias,1314 +1315,et,minima,1315 +1316,quae,et,1316 +1317,impedit,officiis,1317 +1318,dolor,at,1318 +1319,iste,ut,1319 +1320,qui,repudiandae,1320 +1321,veritatis,voluptatem,1321 +1322,ut,quis,1322 +1323,vitae,autem,1323 +1324,aliquid,quia,1324 +1325,voluptas,molestiae,1325 +1326,ratione,et,1326 +1327,architecto,et,1327 +1328,ut,occaecati,1328 +1329,nesciunt,omnis,1329 +1330,non,nihil,1330 +1331,repudiandae,consequuntur,1331 +1332,unde,animi,1332 +1333,dolorem,quis,1333 +1334,perspiciatis,culpa,1334 +1335,ratione,pariatur,1335 +1336,illo,porro,1336 +1337,veritatis,est,1337 +1338,eos,voluptates,1338 +1339,aut,reprehenderit,1339 +1340,est,corrupti,1340 +1341,doloremque,nulla,1341 +1342,sit,similique,1342 +1343,autem,ea,1343 +1344,ut,ex,1344 +1345,voluptas,qui,1345 +1346,ut,architecto,1346 +1347,aut,quisquam,1347 +1348,et,exercitationem,1348 +1349,quibusdam,ex,1349 +1350,dolores,ipsum,1350 +1351,recusandae,odit,1351 +1352,dignissimos,unde,1352 +1353,dolores,est,1353 +1354,ipsam,quibusdam,1354 +1355,repellat,eligendi,1355 +1356,atque,culpa,1356 +1357,hic,ipsum,1357 +1358,reprehenderit,aperiam,1358 +1359,fugiat,impedit,1359 +1360,quis,quasi,1360 +1361,officia,sequi,1361 +1362,architecto,recusandae,1362 +1363,labore,magnam,1363 +1364,reiciendis,qui,1364 +1365,non,ut,1365 +1366,omnis,et,1366 +1367,facere,ut,1367 +1368,est,odit,1368 +1369,ut,voluptatem,1369 +1370,excepturi,rerum,1370 +1371,amet,vitae,1371 +1372,sit,possimus,1372 +1373,debitis,ut,1373 +1374,eius,quas,1374 +1375,cum,fuga,1375 +1376,accusantium,impedit,1376 +1377,voluptate,totam,1377 +1378,molestias,aperiam,1378 +1379,aut,quasi,1379 +1380,nobis,laudantium,1380 +1381,quam,accusamus,1381 +1382,numquam,qui,1382 +1383,fugit,dolorem,1383 +1384,autem,est,1384 +1385,perferendis,harum,1385 +1386,quia,ea,1386 +1387,necessitatibus,explicabo,1387 +1388,voluptates,fuga,1388 +1389,consequatur,beatae,1389 +1390,aut,sed,1390 +1391,non,voluptatem,1391 +1392,culpa,dicta,1392 +1393,et,quasi,1393 +1394,ad,fuga,1394 +1395,quae,voluptates,1395 +1396,optio,est,1396 +1397,vel,perspiciatis,1397 +1398,enim,qui,1398 +1399,quae,ab,1399 +1400,aut,ut,1400 +1401,debitis,molestias,1401 +1402,sed,necessitatibus,1402 +1403,quo,labore,1403 +1404,minus,sunt,1404 +1405,rerum,assumenda,1405 +1406,voluptas,enim,1406 +1407,perferendis,minus,1407 +1408,sed,veritatis,1408 +1409,atque,ratione,1409 +1410,aut,voluptas,1410 +1411,qui,quod,1411 +1412,sit,voluptatem,1412 +1413,quam,ipsa,1413 +1414,excepturi,tenetur,1414 +1415,dolor,excepturi,1415 +1416,voluptate,repellendus,1416 +1417,et,ipsum,1417 +1418,ab,est,1418 +1419,accusantium,quia,1419 +1420,harum,asperiores,1420 +1421,praesentium,quaerat,1421 +1422,odit,veritatis,1422 +1423,qui,modi,1423 +1424,perferendis,quis,1424 +1425,iste,sunt,1425 +1426,omnis,explicabo,1426 +1427,ex,dolor,1427 +1428,maiores,veritatis,1428 +1429,optio,itaque,1429 +1430,beatae,praesentium,1430 +1431,ut,odio,1431 +1432,in,porro,1432 +1433,quos,exercitationem,1433 +1434,nihil,et,1434 +1435,quos,molestiae,1435 +1436,illum,quaerat,1436 +1437,dicta,tenetur,1437 +1438,ducimus,tenetur,1438 +1439,repudiandae,laudantium,1439 +1440,at,provident,1440 +1441,tempora,animi,1441 +1442,aut,voluptas,1442 +1443,ab,id,1443 +1444,rerum,ipsa,1444 +1445,quis,et,1445 +1446,odio,eum,1446 +1447,iure,sed,1447 +1448,rerum,dignissimos,1448 +1449,in,asperiores,1449 +1450,ratione,nobis,1450 +1451,distinctio,ipsa,1451 +1452,est,numquam,1452 +1453,ad,soluta,1453 +1454,quisquam,dolorem,1454 +1455,praesentium,quam,1455 +1456,sit,illum,1456 +1457,consequuntur,culpa,1457 +1458,inventore,accusantium,1458 +1459,id,aut,1459 +1460,rem,aliquid,1460 +1461,suscipit,esse,1461 +1462,exercitationem,praesentium,1462 +1463,maxime,sit,1463 +1464,culpa,repellendus,1464 +1465,quidem,voluptas,1465 +1466,repellendus,est,1466 +1467,fuga,occaecati,1467 +1468,magnam,iste,1468 +1469,aut,ad,1469 +1470,ea,iste,1470 +1471,aliquam,expedita,1471 +1472,expedita,id,1472 +1473,harum,itaque,1473 +1474,eum,iure,1474 +1475,mollitia,fuga,1475 +1476,earum,mollitia,1476 +1477,possimus,ad,1477 +1478,non,sint,1478 +1479,dolorem,nesciunt,1479 +1480,ut,minima,1480 +1481,nam,iure,1481 +1482,qui,rem,1482 +1483,sit,aliquam,1483 +1484,placeat,ipsa,1484 +1485,non,exercitationem,1485 +1486,doloribus,ullam,1486 +1487,fugit,blanditiis,1487 +1488,sed,quos,1488 +1489,sunt,qui,1489 +1490,a,assumenda,1490 +1491,doloribus,sint,1491 +1492,molestias,animi,1492 +1493,repellat,cum,1493 +1494,dicta,illo,1494 +1495,aut,laborum,1495 +1496,ex,quibusdam,1496 +1497,aut,quidem,1497 +1498,id,quos,1498 +1499,dolores,neque,1499 +1500,quam,aut,1500 +1501,aut,sit,1501 +1502,pariatur,ipsa,1502 +1503,excepturi,natus,1503 +1504,tenetur,minus,1504 +1505,ea,quam,1505 +1506,unde,in,1506 +1507,quasi,laudantium,1507 +1508,eum,nesciunt,1508 +1509,quis,sint,1509 +1510,id,aspernatur,1510 +1511,sapiente,ducimus,1511 +1512,saepe,pariatur,1512 +1513,amet,rerum,1513 +1514,numquam,nobis,1514 +1515,voluptatum,numquam,1515 +1516,in,quia,1516 +1517,quia,perferendis,1517 +1518,necessitatibus,qui,1518 +1519,asperiores,et,1519 +1520,eaque,est,1520 +1521,assumenda,pariatur,1521 +1522,ipsam,id,1522 +1523,et,quia,1523 +1524,possimus,asperiores,1524 +1525,quo,quia,1525 +1526,quia,omnis,1526 +1527,assumenda,recusandae,1527 +1528,quia,ut,1528 +1529,exercitationem,est,1529 +1530,velit,exercitationem,1530 +1531,illum,nihil,1531 +1532,a,aspernatur,1532 +1533,exercitationem,labore,1533 +1534,officiis,doloribus,1534 +1535,et,eaque,1535 +1536,ut,inventore,1536 +1537,aliquam,fuga,1537 +1538,voluptate,numquam,1538 +1539,quis,delectus,1539 +1540,sint,assumenda,1540 +1541,quae,veritatis,1541 +1542,soluta,consectetur,1542 +1543,qui,voluptatem,1543 +1544,enim,consequuntur,1544 +1545,id,id,1545 +1546,labore,provident,1546 +1547,placeat,quia,1547 +1548,nobis,odit,1548 +1549,consequatur,velit,1549 +1550,voluptates,ut,1550 +1551,ipsam,nihil,1551 +1552,eius,eum,1552 +1553,unde,suscipit,1553 +1554,sequi,ipsa,1554 +1555,eligendi,molestias,1555 +1556,reprehenderit,dolorum,1556 +1557,dolorem,maxime,1557 +1558,distinctio,maiores,1558 +1559,labore,dicta,1559 +1560,et,aut,1560 +1561,fugiat,officia,1561 +1562,itaque,blanditiis,1562 +1563,minus,qui,1563 +1564,illo,reiciendis,1564 +1565,velit,sunt,1565 +1566,mollitia,nobis,1566 +1567,ut,perspiciatis,1567 +1568,a,numquam,1568 +1569,unde,sed,1569 +1570,aut,et,1570 +1571,veniam,quis,1571 +1572,ratione,maxime,1572 +1573,adipisci,molestiae,1573 +1574,nesciunt,adipisci,1574 +1575,enim,molestiae,1575 +1576,ut,consequatur,1576 +1577,voluptates,possimus,1577 +1578,ad,excepturi,1578 +1579,repellendus,qui,1579 +1580,incidunt,minus,1580 +1581,enim,adipisci,1581 +1582,commodi,doloremque,1582 +1583,est,architecto,1583 +1584,est,est,1584 +1585,dignissimos,commodi,1585 +1586,debitis,earum,1586 +1587,ipsa,omnis,1587 +1588,quia,sunt,1588 +1589,et,quo,1589 +1590,ea,inventore,1590 +1591,distinctio,consectetur,1591 +1592,provident,voluptates,1592 +1593,et,et,1593 +1594,eaque,quos,1594 +1595,est,eum,1595 +1596,et,quaerat,1596 +1597,doloremque,voluptatem,1597 +1598,omnis,quo,1598 +1599,et,labore,1599 +1600,voluptatibus,nisi,1600 +1601,inventore,asperiores,1601 +1602,possimus,repudiandae,1602 +1603,vitae,dolore,1603 +1604,qui,occaecati,1604 +1605,et,aut,1605 +1606,quaerat,aut,1606 +1607,similique,ut,1607 +1608,aspernatur,expedita,1608 +1609,nobis,dignissimos,1609 +1610,repellat,accusantium,1610 +1611,totam,corrupti,1611 +1612,reiciendis,quod,1612 +1613,minima,quaerat,1613 +1614,harum,et,1614 +1615,repudiandae,ipsam,1615 +1616,velit,et,1616 +1617,sit,suscipit,1617 +1618,ducimus,eveniet,1618 +1619,eum,eos,1619 +1620,expedita,aspernatur,1620 +1621,qui,quas,1621 +1622,voluptates,et,1622 +1623,nisi,consequatur,1623 +1624,voluptates,dolores,1624 +1625,quam,ea,1625 +1626,commodi,similique,1626 +1627,adipisci,modi,1627 +1628,reprehenderit,autem,1628 +1629,veniam,quam,1629 +1630,doloremque,quis,1630 +1631,dignissimos,aut,1631 +1632,dolorum,enim,1632 +1633,repellat,facilis,1633 +1634,quisquam,vero,1634 +1635,iure,sed,1635 +1636,consequuntur,reiciendis,1636 +1637,dolorem,qui,1637 +1638,nisi,qui,1638 +1639,modi,qui,1639 +1640,illo,at,1640 +1641,eligendi,ea,1641 +1642,ea,sit,1642 +1643,rem,laborum,1643 +1644,ut,voluptas,1644 +1645,fugit,repellendus,1645 +1646,reprehenderit,est,1646 +1647,laudantium,id,1647 +1648,omnis,ut,1648 +1649,temporibus,officia,1649 +1650,neque,ut,1650 +1651,praesentium,delectus,1651 +1652,voluptates,rerum,1652 +1653,et,tempora,1653 +1654,fugiat,aut,1654 +1655,autem,quibusdam,1655 +1656,voluptates,doloremque,1656 +1657,ducimus,voluptas,1657 +1658,ut,dicta,1658 +1659,quibusdam,tempora,1659 +1660,vel,omnis,1660 +1661,est,aut,1661 +1662,odit,aut,1662 +1663,qui,numquam,1663 +1664,dicta,quas,1664 +1665,fugiat,rerum,1665 +1666,quia,accusamus,1666 +1667,voluptatem,perferendis,1667 +1668,quia,nobis,1668 +1669,dolore,ut,1669 +1670,esse,quidem,1670 +1671,hic,molestiae,1671 +1672,perspiciatis,ut,1672 +1673,rerum,eaque,1673 +1674,ullam,commodi,1674 +1675,qui,ducimus,1675 +1676,ut,qui,1676 +1677,eos,est,1677 +1678,sed,tenetur,1678 +1679,inventore,numquam,1679 +1680,ut,et,1680 +1681,et,et,1681 +1682,omnis,quidem,1682 +1683,dolorem,quia,1683 +1684,dignissimos,et,1684 +1685,quas,ut,1685 +1686,aperiam,qui,1686 +1687,corporis,praesentium,1687 +1688,reiciendis,eveniet,1688 +1689,laboriosam,tempore,1689 +1690,omnis,architecto,1690 +1691,quia,tempore,1691 +1692,illo,cumque,1692 +1693,blanditiis,sapiente,1693 +1694,alias,explicabo,1694 +1695,eius,voluptatum,1695 +1696,qui,cupiditate,1696 +1697,vero,numquam,1697 +1698,quidem,iure,1698 +1699,modi,aut,1699 +1700,at,quos,1700 +1701,animi,maxime,1701 +1702,cumque,vitae,1702 +1703,vel,fugit,1703 +1704,soluta,maiores,1704 +1705,asperiores,ullam,1705 +1706,et,asperiores,1706 +1707,aut,atque,1707 +1708,quasi,asperiores,1708 +1709,autem,nemo,1709 +1710,facere,laborum,1710 +1711,molestias,sint,1711 +1712,dolorem,magni,1712 +1713,amet,sit,1713 +1714,id,iure,1714 +1715,fuga,totam,1715 +1716,vitae,labore,1716 +1717,omnis,voluptatem,1717 +1718,voluptas,commodi,1718 +1719,ea,ipsam,1719 +1720,incidunt,quos,1720 +1721,ut,fugit,1721 +1722,accusamus,odio,1722 +1723,ullam,accusamus,1723 +1724,distinctio,adipisci,1724 +1725,voluptatem,alias,1725 +1726,quos,quod,1726 +1727,doloremque,ut,1727 +1728,animi,quo,1728 +1729,sunt,dicta,1729 +1730,repudiandae,voluptatem,1730 +1731,sit,ratione,1731 +1732,accusamus,minus,1732 +1733,aut,fugiat,1733 +1734,sequi,dolorem,1734 +1735,aliquid,eum,1735 +1736,et,ea,1736 +1737,commodi,iure,1737 +1738,quis,eius,1738 +1739,nulla,quaerat,1739 +1740,sequi,ut,1740 +1741,inventore,dolores,1741 +1742,incidunt,asperiores,1742 +1743,iusto,quam,1743 +1744,labore,numquam,1744 +1745,libero,ex,1745 +1746,praesentium,eos,1746 +1747,perferendis,officia,1747 +1748,et,et,1748 +1749,nesciunt,recusandae,1749 +1750,praesentium,dolor,1750 +1751,fugiat,et,1751 +1752,odio,omnis,1752 +1753,vel,voluptate,1753 +1754,aperiam,ipsum,1754 +1755,temporibus,laborum,1755 +1756,dolores,nobis,1756 +1757,nostrum,aut,1757 +1758,architecto,voluptatibus,1758 +1759,asperiores,quia,1759 +1760,suscipit,magni,1760 +1761,quia,autem,1761 +1762,illum,id,1762 +1763,voluptatem,aut,1763 +1764,quia,numquam,1764 +1765,molestiae,sed,1765 +1766,possimus,perspiciatis,1766 +1767,eius,et,1767 +1768,labore,quia,1768 +1769,dolorum,commodi,1769 +1770,alias,eos,1770 +1771,voluptatem,a,1771 +1772,labore,sed,1772 +1773,quia,quidem,1773 +1774,perferendis,recusandae,1774 +1775,dolor,voluptas,1775 +1776,doloribus,soluta,1776 +1777,pariatur,qui,1777 +1778,rerum,non,1778 +1779,rerum,fuga,1779 +1780,in,minus,1780 +1781,dolor,animi,1781 +1782,voluptates,aliquam,1782 +1783,et,nihil,1783 +1784,nulla,quo,1784 +1785,tempore,asperiores,1785 +1786,consequuntur,vitae,1786 +1787,quia,sed,1787 +1788,et,dolorum,1788 +1789,modi,doloribus,1789 +1790,officia,et,1790 +1791,sequi,maiores,1791 +1792,et,incidunt,1792 +1793,quasi,possimus,1793 +1794,enim,ipsum,1794 +1795,rem,eius,1795 +1796,debitis,illum,1796 +1797,ratione,quos,1797 +1798,nostrum,animi,1798 +1799,id,voluptatum,1799 +1800,sapiente,soluta,1800 +1801,tempore,magnam,1801 +1802,est,dolorem,1802 +1803,nam,corporis,1803 +1804,architecto,distinctio,1804 +1805,nihil,labore,1805 +1806,saepe,incidunt,1806 +1807,magnam,numquam,1807 +1808,est,voluptatem,1808 +1809,excepturi,eligendi,1809 +1810,et,veniam,1810 +1811,ipsum,hic,1811 +1812,non,dignissimos,1812 +1813,voluptas,nihil,1813 +1814,mollitia,delectus,1814 +1815,voluptatem,dolore,1815 +1816,voluptatem,modi,1816 +1817,recusandae,nihil,1817 +1818,et,commodi,1818 +1819,ad,dolor,1819 +1820,magni,esse,1820 +1821,repellat,distinctio,1821 +1822,illo,sapiente,1822 +1823,illum,sit,1823 +1824,sit,natus,1824 +1825,voluptatem,commodi,1825 +1826,dolorum,perspiciatis,1826 +1827,ipsum,recusandae,1827 +1828,cum,aut,1828 +1829,quo,sunt,1829 +1830,voluptatem,facilis,1830 +1831,non,numquam,1831 +1832,molestias,est,1832 +1833,omnis,repellat,1833 +1834,aut,illum,1834 +1835,eum,nulla,1835 +1836,earum,rem,1836 +1837,aperiam,aut,1837 +1838,ut,placeat,1838 +1839,repellat,impedit,1839 +1840,et,harum,1840 +1841,voluptatibus,et,1841 +1842,excepturi,perspiciatis,1842 +1843,culpa,nihil,1843 +1844,accusantium,ratione,1844 +1845,ut,culpa,1845 +1846,debitis,et,1846 +1847,omnis,aut,1847 +1848,debitis,voluptatibus,1848 +1849,libero,omnis,1849 +1850,corporis,quis,1850 +1851,impedit,vel,1851 +1852,amet,animi,1852 +1853,ab,incidunt,1853 +1854,quis,odit,1854 +1855,possimus,soluta,1855 +1856,ex,rerum,1856 +1857,est,voluptatem,1857 +1858,laborum,quis,1858 +1859,quia,error,1859 +1860,fugiat,ex,1860 +1861,laborum,aut,1861 +1862,possimus,eveniet,1862 +1863,impedit,a,1863 +1864,ducimus,nihil,1864 +1865,quae,quo,1865 +1866,aut,quibusdam,1866 +1867,et,minima,1867 +1868,aut,in,1868 +1869,aut,qui,1869 +1870,incidunt,atque,1870 +1871,eum,consequatur,1871 +1872,voluptatem,aut,1872 +1873,nobis,rerum,1873 +1874,dolorem,itaque,1874 +1875,sed,nam,1875 +1876,ab,rerum,1876 +1877,hic,ut,1877 +1878,error,ipsam,1878 +1879,fugiat,esse,1879 +1880,dolores,tenetur,1880 +1881,saepe,quisquam,1881 +1882,vel,est,1882 +1883,nisi,ratione,1883 +1884,nemo,facilis,1884 +1885,sed,reprehenderit,1885 +1886,asperiores,aut,1886 +1887,ut,mollitia,1887 +1888,harum,ratione,1888 +1889,repudiandae,sit,1889 +1890,aut,sequi,1890 +1891,voluptates,libero,1891 +1892,aut,dolore,1892 +1893,reiciendis,in,1893 +1894,temporibus,natus,1894 +1895,quam,voluptatem,1895 +1896,quaerat,aut,1896 +1897,minima,enim,1897 +1898,est,quia,1898 +1899,minus,non,1899 +1900,maiores,ab,1900 +1901,ea,sint,1901 +1902,incidunt,necessitatibus,1902 +1903,autem,rerum,1903 +1904,doloremque,eveniet,1904 +1905,voluptates,quo,1905 +1906,non,earum,1906 +1907,ullam,qui,1907 +1908,ut,doloribus,1908 +1909,beatae,aliquam,1909 +1910,aut,nemo,1910 +1911,eaque,et,1911 +1912,quia,voluptatibus,1912 +1913,quia,ut,1913 +1914,expedita,nesciunt,1914 +1915,et,doloribus,1915 +1916,laborum,impedit,1916 +1917,velit,dolorem,1917 +1918,officiis,repellat,1918 +1919,eum,quos,1919 +1920,iure,porro,1920 +1921,sunt,perspiciatis,1921 +1922,dolorem,dolores,1922 +1923,illo,perferendis,1923 +1924,dicta,qui,1924 +1925,vel,sit,1925 +1926,dicta,maiores,1926 +1927,eveniet,doloribus,1927 +1928,quaerat,quo,1928 +1929,unde,voluptas,1929 +1930,qui,qui,1930 +1931,sed,illum,1931 +1932,eos,sed,1932 +1933,quidem,odio,1933 +1934,sapiente,asperiores,1934 +1935,voluptatem,alias,1935 +1936,ad,ipsa,1936 +1937,quia,dolorem,1937 +1938,et,repellat,1938 +1939,quod,esse,1939 +1940,eligendi,eligendi,1940 +1941,ea,sit,1941 +1942,sunt,officia,1942 +1943,doloribus,totam,1943 +1944,possimus,quas,1944 +1945,ipsum,inventore,1945 +1946,quae,tempora,1946 +1947,cumque,sed,1947 +1948,illum,ea,1948 +1949,consequuntur,velit,1949 +1950,repudiandae,numquam,1950 +1951,impedit,aut,1951 +1952,vero,eveniet,1952 +1953,non,qui,1953 +1954,aut,et,1954 +1955,voluptates,impedit,1955 +1956,omnis,quas,1956 +1957,error,et,1957 +1958,possimus,nihil,1958 +1959,debitis,sunt,1959 +1960,aut,quas,1960 +1961,sit,sit,1961 +1962,nesciunt,aut,1962 +1963,architecto,quis,1963 +1964,vel,magni,1964 +1965,odit,odio,1965 +1966,repellendus,voluptatem,1966 +1967,soluta,explicabo,1967 +1968,repellendus,soluta,1968 +1969,omnis,aut,1969 +1970,et,molestiae,1970 +1971,architecto,in,1971 +1972,quia,dignissimos,1972 +1973,dolor,suscipit,1973 +1974,laborum,ut,1974 +1975,nulla,corporis,1975 +1976,deleniti,sit,1976 +1977,eveniet,aperiam,1977 +1978,qui,voluptatem,1978 +1979,possimus,mollitia,1979 +1980,consectetur,est,1980 +1981,molestias,facere,1981 +1982,dolorem,dolorem,1982 +1983,cumque,asperiores,1983 +1984,earum,molestiae,1984 +1985,ut,ea,1985 +1986,veniam,debitis,1986 +1987,ratione,ut,1987 +1988,et,nisi,1988 +1989,sit,sed,1989 +1990,quibusdam,quo,1990 +1991,perspiciatis,aut,1991 +1992,vel,ut,1992 +1993,ad,autem,1993 +1994,aspernatur,alias,1994 +1995,sed,quia,1995 +1996,est,et,1996 +1997,adipisci,voluptatem,1997 +1998,architecto,explicabo,1998 +1999,temporibus,sit,1999 +2000,explicabo,eveniet,2000 +2001,mollitia,perferendis,2001 +2002,qui,qui,2002 +2003,consequatur,et,2003 +2004,vel,quia,2004 +2005,fuga,nihil,2005 +2006,aspernatur,illum,2006 +2007,soluta,ducimus,2007 +2008,hic,cupiditate,2008 +2009,et,omnis,2009 +2010,deleniti,aliquam,2010 +2011,odio,commodi,2011 +2012,dolor,enim,2012 +2013,et,corrupti,2013 +2014,omnis,qui,2014 +2015,rerum,eum,2015 +2016,est,alias,2016 +2017,nesciunt,voluptatibus,2017 +2018,magni,repudiandae,2018 +2019,sunt,animi,2019 +2020,rerum,ut,2020 +2021,et,quo,2021 +2022,qui,voluptatem,2022 +2023,voluptas,sed,2023 +2024,quis,molestiae,2024 +2025,earum,qui,2025 +2026,quas,ut,2026 +2027,nihil,recusandae,2027 +2028,quis,magni,2028 +2029,harum,omnis,2029 +2030,sint,sapiente,2030 +2031,voluptatem,aperiam,2031 +2032,quos,rerum,2032 +2033,autem,repellat,2033 +2034,debitis,quibusdam,2034 +2035,porro,beatae,2035 +2036,facere,non,2036 +2037,ullam,maxime,2037 +2038,aperiam,et,2038 +2039,omnis,commodi,2039 +2040,assumenda,eos,2040 +2041,iste,est,2041 +2042,voluptatem,eius,2042 +2043,reprehenderit,eos,2043 +2044,ut,optio,2044 +2045,sequi,ipsum,2045 +2046,in,ab,2046 +2047,et,natus,2047 +2048,alias,nam,2048 +2049,perferendis,qui,2049 +2050,fugit,id,2050 +2051,illum,alias,2051 +2052,est,explicabo,2052 +2053,sed,qui,2053 +2054,nam,odio,2054 +2055,illum,vel,2055 +2056,repellendus,impedit,2056 +2057,minus,placeat,2057 +2058,quas,exercitationem,2058 +2059,deleniti,magni,2059 +2060,adipisci,quibusdam,2060 +2061,voluptatem,voluptatem,2061 +2062,est,iure,2062 +2063,repellat,ratione,2063 +2064,quis,asperiores,2064 +2065,dolore,dolor,2065 +2066,sed,vero,2066 +2067,in,aliquam,2067 +2068,est,quia,2068 +2069,quisquam,quam,2069 +2070,est,ut,2070 +2071,aut,magni,2071 +2072,consectetur,amet,2072 +2073,unde,dignissimos,2073 +2074,et,sint,2074 +2075,reiciendis,suscipit,2075 +2076,corrupti,natus,2076 +2077,ut,repellendus,2077 +2078,qui,tempore,2078 +2079,sit,voluptatem,2079 +2080,totam,reiciendis,2080 +2081,dicta,nihil,2081 +2082,aperiam,maxime,2082 +2083,voluptatum,est,2083 +2084,reprehenderit,laborum,2084 +2085,esse,tempore,2085 +2086,voluptatem,cupiditate,2086 +2087,officia,atque,2087 +2088,error,vitae,2088 +2089,facilis,omnis,2089 +2090,facere,quia,2090 +2091,est,nam,2091 +2092,unde,rem,2092 +2093,et,qui,2093 +2094,qui,neque,2094 +2095,velit,inventore,2095 +2096,cum,rem,2096 +2097,aut,hic,2097 +2098,autem,error,2098 +2099,nam,earum,2099 +2100,nemo,est,2100 +2101,sit,provident,2101 +2102,minus,dolores,2102 +2103,eligendi,totam,2103 +2104,et,consequuntur,2104 +2105,aut,harum,2105 +2106,delectus,laudantium,2106 +2107,fuga,ut,2107 +2108,aut,temporibus,2108 +2109,ut,velit,2109 +2110,recusandae,cumque,2110 +2111,laudantium,quibusdam,2111 +2112,ex,excepturi,2112 +2113,nihil,vitae,2113 +2114,commodi,rerum,2114 +2115,nam,nesciunt,2115 +2116,in,autem,2116 +2117,autem,natus,2117 +2118,fugit,fugiat,2118 +2119,nostrum,rerum,2119 +2120,non,sunt,2120 +2121,libero,quibusdam,2121 +2122,ad,optio,2122 +2123,magni,omnis,2123 +2124,sed,qui,2124 +2125,assumenda,similique,2125 +2126,et,placeat,2126 +2127,accusantium,tempora,2127 +2128,natus,eligendi,2128 +2129,sed,explicabo,2129 +2130,occaecati,corporis,2130 +2131,id,et,2131 +2132,repudiandae,sequi,2132 +2133,soluta,a,2133 +2134,deserunt,maxime,2134 +2135,quasi,mollitia,2135 +2136,eius,nihil,2136 +2137,fugit,a,2137 +2138,omnis,debitis,2138 +2139,illo,cumque,2139 +2140,necessitatibus,rem,2140 +2141,iste,ut,2141 +2142,aut,dolorum,2142 +2143,sit,beatae,2143 +2144,voluptatem,quod,2144 +2145,ea,laborum,2145 +2146,exercitationem,vel,2146 +2147,minima,qui,2147 +2148,illo,ut,2148 +2149,illum,et,2149 +2150,id,saepe,2150 +2151,molestiae,consectetur,2151 +2152,corrupti,dolorem,2152 +2153,natus,laboriosam,2153 +2154,dignissimos,consectetur,2154 +2155,sed,rerum,2155 +2156,aut,qui,2156 +2157,sed,aliquid,2157 +2158,in,et,2158 +2159,dolor,sunt,2159 +2160,repellat,illum,2160 +2161,quis,odio,2161 +2162,reiciendis,ut,2162 +2163,sapiente,voluptatem,2163 +2164,quis,tempore,2164 +2165,praesentium,quia,2165 +2166,dolor,sunt,2166 +2167,aliquam,temporibus,2167 +2168,magni,assumenda,2168 +2169,distinctio,sed,2169 +2170,nihil,quaerat,2170 +2171,commodi,ut,2171 +2172,libero,quia,2172 +2173,quis,tempore,2173 +2174,nihil,porro,2174 +2175,quam,omnis,2175 +2176,ut,voluptas,2176 +2177,nisi,possimus,2177 +2178,libero,rerum,2178 +2179,dolores,similique,2179 +2180,omnis,atque,2180 +2181,pariatur,ut,2181 +2182,inventore,mollitia,2182 +2183,voluptate,commodi,2183 +2184,rerum,impedit,2184 +2185,vitae,quam,2185 +2186,delectus,sed,2186 +2187,sed,quia,2187 +2188,consequatur,praesentium,2188 +2189,natus,officiis,2189 +2190,est,at,2190 +2191,cumque,ipsum,2191 +2192,est,iusto,2192 +2193,iusto,omnis,2193 +2194,et,corporis,2194 +2195,molestiae,totam,2195 +2196,unde,ducimus,2196 +2197,ex,quos,2197 +2198,soluta,est,2198 +2199,aut,rerum,2199 +2200,qui,voluptatem,2200 +2201,necessitatibus,fuga,2201 +2202,accusamus,natus,2202 +2203,et,qui,2203 +2204,in,aut,2204 +2205,porro,harum,2205 +2206,sequi,reiciendis,2206 +2207,sit,omnis,2207 +2208,qui,iste,2208 +2209,qui,temporibus,2209 +2210,nostrum,doloremque,2210 +2211,amet,dolor,2211 +2212,delectus,aut,2212 +2213,aspernatur,dignissimos,2213 +2214,tempore,reprehenderit,2214 +2215,explicabo,dolorem,2215 +2216,repellendus,et,2216 +2217,aut,dolorem,2217 +2218,blanditiis,nostrum,2218 +2219,aspernatur,perferendis,2219 +2220,tempore,et,2220 +2221,doloribus,et,2221 +2222,placeat,neque,2222 +2223,optio,velit,2223 +2224,nostrum,rerum,2224 +2225,est,quis,2225 +2226,illum,minus,2226 +2227,est,eum,2227 +2228,aut,et,2228 +2229,dolore,laborum,2229 +2230,praesentium,nostrum,2230 +2231,soluta,aperiam,2231 +2232,aspernatur,explicabo,2232 +2233,odio,nam,2233 +2234,porro,est,2234 +2235,quia,omnis,2235 +2236,dolores,est,2236 +2237,ipsam,quis,2237 +2238,nemo,quia,2238 +2239,rerum,et,2239 +2240,incidunt,asperiores,2240 +2241,atque,soluta,2241 +2242,ipsam,quia,2242 +2243,sed,voluptas,2243 +2244,ipsum,quae,2244 +2245,voluptas,dolor,2245 +2246,corrupti,odit,2246 +2247,nesciunt,error,2247 +2248,reprehenderit,consectetur,2248 +2249,temporibus,esse,2249 +2250,neque,aut,2250 +2251,illo,quibusdam,2251 +2252,veritatis,aut,2252 +2253,adipisci,temporibus,2253 +2254,vel,aut,2254 +2255,aut,qui,2255 +2256,sequi,atque,2256 +2257,asperiores,quo,2257 +2258,culpa,fuga,2258 +2259,sint,ipsam,2259 +2260,sit,deleniti,2260 +2261,quidem,consequuntur,2261 +2262,aliquid,corrupti,2262 +2263,ipsam,cum,2263 +2264,a,deleniti,2264 +2265,eius,veniam,2265 +2266,magnam,placeat,2266 +2267,atque,voluptatem,2267 +2268,eos,atque,2268 +2269,voluptatibus,modi,2269 +2270,omnis,culpa,2270 +2271,vitae,esse,2271 +2272,ut,occaecati,2272 +2273,mollitia,reprehenderit,2273 +2274,maxime,sunt,2274 +2275,quibusdam,placeat,2275 +2276,eos,sint,2276 +2277,dolore,quo,2277 +2278,architecto,rem,2278 +2279,quia,tempore,2279 +2280,voluptatem,est,2280 +2281,rerum,non,2281 +2282,minima,reiciendis,2282 +2283,sed,nihil,2283 +2284,sed,rerum,2284 +2285,rerum,quas,2285 +2286,aut,error,2286 +2287,quo,sit,2287 +2288,excepturi,facilis,2288 +2289,et,impedit,2289 +2290,in,qui,2290 +2291,quas,nemo,2291 +2292,sunt,et,2292 +2293,ipsum,maxime,2293 +2294,nobis,quia,2294 +2295,delectus,sint,2295 +2296,enim,omnis,2296 +2297,enim,eligendi,2297 +2298,minus,sapiente,2298 +2299,omnis,voluptatum,2299 +2300,unde,porro,2300 +2301,reiciendis,laudantium,2301 +2302,laboriosam,officia,2302 +2303,rerum,nobis,2303 +2304,qui,dolores,2304 +2305,est,eius,2305 +2306,velit,perspiciatis,2306 +2307,nam,mollitia,2307 +2308,autem,id,2308 +2309,beatae,iusto,2309 +2310,quia,rem,2310 +2311,quaerat,tempora,2311 +2312,ut,assumenda,2312 +2313,voluptas,aspernatur,2313 +2314,omnis,et,2314 +2315,aut,corrupti,2315 +2316,commodi,harum,2316 +2317,hic,at,2317 +2318,eum,facilis,2318 +2319,aut,ut,2319 +2320,quo,est,2320 +2321,voluptatibus,culpa,2321 +2322,unde,voluptatem,2322 +2323,sit,atque,2323 +2324,deserunt,voluptatem,2324 +2325,adipisci,minus,2325 +2326,dolores,velit,2326 +2327,et,beatae,2327 +2328,ipsa,voluptatem,2328 +2329,adipisci,soluta,2329 +2330,dolor,quas,2330 +2331,reiciendis,facere,2331 +2332,earum,reiciendis,2332 +2333,exercitationem,sint,2333 +2334,placeat,animi,2334 +2335,aut,eos,2335 +2336,accusamus,velit,2336 +2337,dolores,cumque,2337 +2338,eveniet,voluptatibus,2338 +2339,expedita,quia,2339 +2340,saepe,totam,2340 +2341,ipsam,quo,2341 +2342,mollitia,porro,2342 +2343,accusantium,odit,2343 +2344,facilis,nostrum,2344 +2345,id,iste,2345 +2346,in,odio,2346 +2347,aliquid,maiores,2347 +2348,quod,maxime,2348 +2349,ipsa,perspiciatis,2349 +2350,necessitatibus,eum,2350 +2351,eveniet,ut,2351 +2352,rem,dolor,2352 +2353,maxime,est,2353 +2354,at,blanditiis,2354 +2355,qui,nam,2355 +2356,eligendi,dolores,2356 +2357,nesciunt,molestias,2357 +2358,explicabo,soluta,2358 +2359,et,aut,2359 +2360,quis,sunt,2360 +2361,illum,similique,2361 +2362,et,aperiam,2362 +2363,et,fugiat,2363 +2364,dignissimos,beatae,2364 +2365,sed,praesentium,2365 +2366,amet,id,2366 +2367,accusantium,ad,2367 +2368,iure,rem,2368 +2369,sed,tenetur,2369 +2370,laudantium,placeat,2370 +2371,nobis,doloribus,2371 +2372,qui,in,2372 +2373,in,aliquid,2373 +2374,culpa,omnis,2374 +2375,pariatur,facilis,2375 +2376,quia,aspernatur,2376 +2377,nisi,et,2377 +2378,eos,aut,2378 +2379,quidem,iusto,2379 +2380,numquam,reiciendis,2380 +2381,debitis,consequatur,2381 +2382,ea,amet,2382 +2383,aut,dicta,2383 +2384,cumque,aspernatur,2384 +2385,quas,adipisci,2385 +2386,eligendi,ipsam,2386 +2387,esse,labore,2387 +2388,recusandae,et,2388 +2389,ea,et,2389 +2390,alias,est,2390 +2391,dolor,qui,2391 +2392,quibusdam,in,2392 +2393,minima,id,2393 +2394,iste,possimus,2394 +2395,ipsum,iure,2395 +2396,ullam,rerum,2396 +2397,qui,molestias,2397 +2398,sit,eos,2398 +2399,voluptatem,officia,2399 +2400,pariatur,voluptas,2400 +2401,quos,cumque,2401 +2402,repellat,rem,2402 +2403,distinctio,aut,2403 +2404,esse,consequatur,2404 +2405,cum,natus,2405 +2406,cum,libero,2406 +2407,laudantium,vero,2407 +2408,officia,est,2408 +2409,eos,quas,2409 +2410,aut,eaque,2410 +2411,accusantium,molestias,2411 +2412,dignissimos,rerum,2412 +2413,sed,voluptates,2413 +2414,dolore,rerum,2414 +2415,perferendis,aut,2415 +2416,ipsa,vero,2416 +2417,vel,eum,2417 +2418,soluta,iure,2418 +2419,quibusdam,exercitationem,2419 +2420,et,unde,2420 +2421,provident,sunt,2421 +2422,deleniti,sit,2422 +2423,omnis,est,2423 +2424,et,doloribus,2424 +2425,consectetur,cumque,2425 +2426,ea,magnam,2426 +2427,distinctio,autem,2427 +2428,molestiae,et,2428 +2429,reprehenderit,consequatur,2429 +2430,accusantium,magni,2430 +2431,ratione,quae,2431 +2432,mollitia,odit,2432 +2433,tempora,vero,2433 +2434,nostrum,rerum,2434 +2435,tenetur,molestiae,2435 +2436,dignissimos,cum,2436 +2437,ipsum,laboriosam,2437 +2438,quasi,inventore,2438 +2439,perferendis,et,2439 +2440,quasi,voluptas,2440 +2441,qui,esse,2441 +2442,suscipit,animi,2442 +2443,ullam,qui,2443 +2444,veniam,est,2444 +2445,facilis,sit,2445 +2446,incidunt,autem,2446 +2447,sint,est,2447 +2448,dolorem,eveniet,2448 +2449,facere,ut,2449 +2450,iste,earum,2450 +2451,et,esse,2451 +2452,perspiciatis,minima,2452 +2453,et,consequatur,2453 +2454,magni,voluptatum,2454 +2455,soluta,officia,2455 +2456,vitae,harum,2456 +2457,inventore,nisi,2457 +2458,pariatur,tempora,2458 +2459,accusantium,iste,2459 +2460,non,quam,2460 +2461,esse,aut,2461 +2462,nulla,cumque,2462 +2463,nobis,deleniti,2463 +2464,rerum,maxime,2464 +2465,doloremque,rem,2465 +2466,iusto,molestiae,2466 +2467,temporibus,itaque,2467 +2468,sit,hic,2468 +2469,sapiente,qui,2469 +2470,sed,corporis,2470 +2471,maxime,ratione,2471 +2472,voluptatem,voluptatem,2472 +2473,corporis,id,2473 +2474,natus,pariatur,2474 +2475,nemo,dolor,2475 +2476,ex,enim,2476 +2477,dolorem,quo,2477 +2478,voluptas,provident,2478 +2479,repellendus,sunt,2479 +2480,non,pariatur,2480 +2481,illum,est,2481 +2482,officiis,dolor,2482 +2483,dicta,dolor,2483 +2484,sed,earum,2484 +2485,placeat,ullam,2485 +2486,voluptatem,officia,2486 +2487,non,et,2487 +2488,modi,corporis,2488 +2489,cum,ipsum,2489 +2490,qui,reiciendis,2490 +2491,distinctio,eos,2491 +2492,eos,possimus,2492 +2493,vel,maiores,2493 +2494,assumenda,doloremque,2494 +2495,optio,ad,2495 +2496,fugiat,voluptatem,2496 +2497,facere,nobis,2497 +2498,eos,et,2498 +2499,asperiores,vero,2499 +2500,omnis,nisi,2500 +2501,sed,occaecati,2501 +2502,commodi,sit,2502 +2503,incidunt,ipsa,2503 +2504,non,aliquam,2504 +2505,omnis,voluptas,2505 +2506,est,magni,2506 +2507,tempore,sint,2507 +2508,aliquam,praesentium,2508 +2509,nulla,fugiat,2509 +2510,iste,et,2510 +2511,quia,odit,2511 +2512,blanditiis,a,2512 +2513,numquam,et,2513 +2514,veniam,enim,2514 +2515,ipsam,eligendi,2515 +2516,nam,et,2516 +2517,ut,fuga,2517 +2518,eos,rem,2518 +2519,cupiditate,nemo,2519 +2520,sint,fuga,2520 +2521,ab,minima,2521 +2522,doloribus,voluptatem,2522 +2523,amet,tempore,2523 +2524,veniam,quae,2524 +2525,magnam,nesciunt,2525 +2526,quidem,vitae,2526 +2527,perferendis,et,2527 +2528,earum,aut,2528 +2529,consequatur,aut,2529 +2530,eveniet,placeat,2530 +2531,amet,autem,2531 +2532,in,ipsa,2532 +2533,doloremque,non,2533 +2534,dolores,corporis,2534 +2535,rerum,fugiat,2535 +2536,aliquam,rerum,2536 +2537,aut,eos,2537 +2538,magnam,veniam,2538 +2539,aut,architecto,2539 +2540,ullam,est,2540 +2541,voluptate,qui,2541 +2542,blanditiis,delectus,2542 +2543,eum,repudiandae,2543 +2544,necessitatibus,blanditiis,2544 +2545,aut,ut,2545 +2546,nostrum,neque,2546 +2547,aut,dolores,2547 +2548,voluptates,sapiente,2548 +2549,unde,ut,2549 +2550,ut,autem,2550 +2551,harum,nemo,2551 +2552,quo,quibusdam,2552 +2553,eos,ut,2553 +2554,ut,aliquid,2554 +2555,nulla,sunt,2555 +2556,harum,quidem,2556 +2557,ratione,rem,2557 +2558,et,explicabo,2558 +2559,eum,voluptatum,2559 +2560,dolore,doloribus,2560 +2561,voluptas,hic,2561 +2562,incidunt,qui,2562 +2563,iste,et,2563 +2564,blanditiis,eum,2564 +2565,quidem,nesciunt,2565 +2566,error,ab,2566 +2567,illo,magnam,2567 +2568,ad,blanditiis,2568 +2569,voluptas,quas,2569 +2570,id,facere,2570 +2571,repellendus,consequatur,2571 +2572,sunt,quas,2572 +2573,aut,sit,2573 +2574,nobis,architecto,2574 +2575,ipsum,et,2575 +2576,et,rerum,2576 +2577,eos,voluptatibus,2577 +2578,quasi,saepe,2578 +2579,repellendus,porro,2579 +2580,assumenda,sit,2580 +2581,eveniet,enim,2581 +2582,voluptatum,debitis,2582 +2583,ullam,fugiat,2583 +2584,libero,placeat,2584 +2585,libero,accusantium,2585 +2586,aut,fugit,2586 +2587,et,enim,2587 +2588,velit,commodi,2588 +2589,culpa,harum,2589 +2590,explicabo,et,2590 +2591,optio,dolorem,2591 +2592,sed,aspernatur,2592 +2593,iusto,voluptas,2593 +2594,explicabo,voluptates,2594 +2595,nostrum,sint,2595 +2596,repellendus,pariatur,2596 +2597,quasi,iste,2597 +2598,et,odio,2598 +2599,fuga,sapiente,2599 +2600,dolorem,recusandae,2600 +2601,et,non,2601 +2602,natus,rem,2602 +2603,mollitia,veniam,2603 +2604,a,voluptatem,2604 +2605,vitae,aut,2605 +2606,voluptas,error,2606 +2607,et,sunt,2607 +2608,quis,sit,2608 +2609,et,earum,2609 +2610,modi,deserunt,2610 +2611,quod,aut,2611 +2612,dolores,vero,2612 +2613,autem,ullam,2613 +2614,illo,libero,2614 +2615,placeat,aperiam,2615 +2616,maiores,iste,2616 +2617,in,magnam,2617 +2618,accusantium,architecto,2618 +2619,nobis,velit,2619 +2620,delectus,ipsam,2620 +2621,ut,rem,2621 +2622,voluptates,ipsa,2622 +2623,inventore,nisi,2623 +2624,nostrum,deserunt,2624 +2625,sequi,at,2625 +2626,et,illo,2626 +2627,voluptatem,nam,2627 +2628,qui,incidunt,2628 +2629,adipisci,impedit,2629 +2630,voluptate,temporibus,2630 +2631,blanditiis,et,2631 +2632,quidem,quia,2632 +2633,harum,blanditiis,2633 +2634,et,inventore,2634 +2635,ea,iure,2635 +2636,error,sapiente,2636 +2637,tenetur,assumenda,2637 +2638,molestias,debitis,2638 +2639,deserunt,odio,2639 +2640,in,repellendus,2640 +2641,dolorem,labore,2641 +2642,perferendis,voluptates,2642 +2643,quaerat,aut,2643 +2644,corrupti,quia,2644 +2645,minus,eius,2645 +2646,molestiae,voluptatem,2646 +2647,reiciendis,error,2647 +2648,quia,est,2648 +2649,sunt,praesentium,2649 +2650,delectus,sapiente,2650 +2651,modi,dolores,2651 +2652,sit,natus,2652 +2653,non,voluptatem,2653 +2654,quis,reprehenderit,2654 +2655,nemo,animi,2655 +2656,eos,minus,2656 +2657,dolore,omnis,2657 +2658,deleniti,sit,2658 +2659,accusantium,nobis,2659 +2660,et,ducimus,2660 +2661,corrupti,expedita,2661 +2662,quaerat,nam,2662 +2663,magnam,rerum,2663 +2664,ipsa,aut,2664 +2665,nihil,dolores,2665 +2666,consequatur,iusto,2666 +2667,voluptatum,odit,2667 +2668,vero,quas,2668 +2669,ut,cumque,2669 +2670,aut,minima,2670 +2671,qui,dolores,2671 +2672,suscipit,ut,2672 +2673,quaerat,amet,2673 +2674,et,inventore,2674 +2675,iste,quos,2675 +2676,quae,voluptatum,2676 +2677,cum,neque,2677 +2678,id,aliquid,2678 +2679,eos,voluptatem,2679 +2680,itaque,qui,2680 +2681,sapiente,omnis,2681 +2682,quibusdam,at,2682 +2683,vitae,aperiam,2683 +2684,qui,perspiciatis,2684 +2685,dolorem,doloremque,2685 +2686,deserunt,esse,2686 +2687,suscipit,eos,2687 +2688,beatae,molestias,2688 +2689,magni,rerum,2689 +2690,et,quisquam,2690 +2691,voluptatem,aut,2691 +2692,rerum,dignissimos,2692 +2693,omnis,ad,2693 +2694,a,dignissimos,2694 +2695,dolore,aut,2695 +2696,tempore,tempora,2696 +2697,magni,autem,2697 +2698,dolor,accusamus,2698 +2699,perspiciatis,molestias,2699 +2700,quaerat,similique,2700 +2701,aut,quos,2701 +2702,facere,doloremque,2702 +2703,doloremque,delectus,2703 +2704,magni,exercitationem,2704 +2705,ea,culpa,2705 +2706,culpa,assumenda,2706 +2707,officiis,dicta,2707 +2708,qui,laboriosam,2708 +2709,modi,eos,2709 +2710,consequuntur,repudiandae,2710 +2711,dolor,mollitia,2711 +2712,quisquam,illum,2712 +2713,sunt,unde,2713 +2714,quo,voluptas,2714 +2715,fugit,deleniti,2715 +2716,culpa,provident,2716 +2717,labore,praesentium,2717 +2718,cupiditate,numquam,2718 +2719,quis,qui,2719 +2720,deserunt,vel,2720 +2721,expedita,cupiditate,2721 +2722,ut,voluptatibus,2722 +2723,sapiente,voluptatem,2723 +2724,sed,recusandae,2724 +2725,et,animi,2725 +2726,iure,est,2726 +2727,odio,est,2727 +2728,blanditiis,amet,2728 +2729,laborum,reiciendis,2729 +2730,maxime,officiis,2730 +2731,explicabo,iure,2731 +2732,modi,minus,2732 +2733,sed,animi,2733 +2734,est,facere,2734 +2735,cum,sed,2735 +2736,eius,molestias,2736 +2737,nihil,dolorem,2737 +2738,aut,unde,2738 +2739,commodi,omnis,2739 +2740,cum,quas,2740 +2741,iusto,nostrum,2741 +2742,voluptatem,et,2742 +2743,aut,et,2743 +2744,qui,eos,2744 +2745,non,in,2745 +2746,reiciendis,et,2746 +2747,inventore,perferendis,2747 +2748,modi,commodi,2748 +2749,aut,vel,2749 +2750,perspiciatis,optio,2750 +2751,quis,iusto,2751 +2752,ea,qui,2752 +2753,architecto,corporis,2753 +2754,in,recusandae,2754 +2755,fugiat,voluptatem,2755 +2756,libero,quia,2756 +2757,nihil,similique,2757 +2758,quis,quam,2758 +2759,deleniti,sed,2759 +2760,eius,fugiat,2760 +2761,nulla,iusto,2761 +2762,nihil,et,2762 +2763,quisquam,sint,2763 +2764,iste,iste,2764 +2765,et,nobis,2765 +2766,recusandae,quia,2766 +2767,consequatur,alias,2767 +2768,excepturi,molestiae,2768 +2769,sed,ipsum,2769 +2770,ut,labore,2770 +2771,qui,quos,2771 +2772,dolor,ut,2772 +2773,ullam,quas,2773 +2774,iusto,maxime,2774 +2775,dolor,est,2775 +2776,nobis,deleniti,2776 +2777,fugit,culpa,2777 +2778,est,velit,2778 +2779,dolores,molestiae,2779 +2780,sit,suscipit,2780 +2781,unde,in,2781 +2782,molestiae,voluptas,2782 +2783,repellat,eius,2783 +2784,non,ab,2784 +2785,sint,sint,2785 +2786,voluptatibus,earum,2786 +2787,dolore,in,2787 +2788,sapiente,eos,2788 +2789,quis,sequi,2789 +2790,voluptates,beatae,2790 +2791,sapiente,quia,2791 +2792,sit,dolorem,2792 +2793,omnis,doloremque,2793 +2794,adipisci,dignissimos,2794 +2795,beatae,necessitatibus,2795 +2796,vel,doloribus,2796 +2797,sit,nulla,2797 +2798,corrupti,et,2798 +2799,a,sapiente,2799 +2800,quaerat,optio,2800 +2801,dicta,animi,2801 +2802,numquam,et,2802 +2803,et,aliquid,2803 +2804,accusamus,dolores,2804 +2805,est,adipisci,2805 +2806,non,iure,2806 +2807,nihil,veniam,2807 +2808,et,autem,2808 +2809,nesciunt,ducimus,2809 +2810,minus,vel,2810 +2811,cum,sit,2811 +2812,maxime,ea,2812 +2813,officia,veniam,2813 +2814,qui,minus,2814 +2815,similique,perspiciatis,2815 +2816,est,ut,2816 +2817,in,fuga,2817 +2818,necessitatibus,incidunt,2818 +2819,voluptatibus,et,2819 +2820,dolore,minus,2820 +2821,velit,id,2821 +2822,laudantium,et,2822 +2823,vel,recusandae,2823 +2824,delectus,nulla,2824 +2825,mollitia,sint,2825 +2826,ut,aut,2826 +2827,dolorem,quod,2827 +2828,ut,dolores,2828 +2829,soluta,aut,2829 +2830,occaecati,et,2830 +2831,debitis,qui,2831 +2832,suscipit,adipisci,2832 +2833,facilis,at,2833 +2834,animi,aut,2834 +2835,veritatis,itaque,2835 +2836,dolore,aliquam,2836 +2837,aut,voluptatem,2837 +2838,vero,est,2838 +2839,aliquid,mollitia,2839 +2840,qui,voluptatum,2840 +2841,omnis,ea,2841 +2842,delectus,quam,2842 +2843,modi,doloribus,2843 +2844,necessitatibus,ducimus,2844 +2845,voluptas,nulla,2845 +2846,sit,rem,2846 +2847,possimus,sequi,2847 +2848,id,similique,2848 +2849,quis,dolorum,2849 +2850,sit,rerum,2850 +2851,ex,voluptas,2851 +2852,et,quis,2852 +2853,saepe,quia,2853 +2854,laboriosam,temporibus,2854 +2855,nihil,est,2855 +2856,est,inventore,2856 +2857,voluptate,sit,2857 +2858,nesciunt,ipsa,2858 +2859,excepturi,sequi,2859 +2860,quos,ad,2860 +2861,ut,laboriosam,2861 +2862,est,id,2862 +2863,sit,doloribus,2863 +2864,qui,veritatis,2864 +2865,soluta,est,2865 +2866,eligendi,consequatur,2866 +2867,saepe,voluptatem,2867 +2868,eos,iusto,2868 +2869,veniam,dicta,2869 +2870,suscipit,nulla,2870 +2871,neque,aperiam,2871 +2872,modi,maxime,2872 +2873,aliquam,aut,2873 +2874,a,inventore,2874 +2875,qui,alias,2875 +2876,voluptates,consequatur,2876 +2877,natus,dolores,2877 +2878,et,sunt,2878 +2879,eligendi,ab,2879 +2880,odio,eos,2880 +2881,quia,dolorem,2881 +2882,voluptas,neque,2882 +2883,autem,voluptas,2883 +2884,facilis,harum,2884 +2885,commodi,ut,2885 +2886,facere,necessitatibus,2886 +2887,nesciunt,omnis,2887 +2888,consequuntur,ab,2888 +2889,maiores,iure,2889 +2890,rem,ratione,2890 +2891,aspernatur,facere,2891 +2892,vel,deserunt,2892 +2893,nihil,esse,2893 +2894,inventore,aspernatur,2894 +2895,fugit,fugit,2895 +2896,error,neque,2896 +2897,quos,omnis,2897 +2898,laudantium,quia,2898 +2899,officiis,quia,2899 +2900,voluptas,suscipit,2900 +2901,id,id,2901 +2902,at,officiis,2902 +2903,natus,dolore,2903 +2904,repudiandae,qui,2904 +2905,voluptatibus,dolor,2905 +2906,sint,temporibus,2906 +2907,ut,explicabo,2907 +2908,et,et,2908 +2909,iste,et,2909 +2910,mollitia,facere,2910 +2911,adipisci,quod,2911 +2912,quia,nihil,2912 +2913,magni,eum,2913 +2914,et,voluptatem,2914 +2915,quae,recusandae,2915 +2916,harum,adipisci,2916 +2917,unde,dolorem,2917 +2918,qui,ut,2918 +2919,eaque,occaecati,2919 +2920,voluptas,amet,2920 +2921,doloremque,dolor,2921 +2922,dolorem,provident,2922 +2923,quas,omnis,2923 +2924,nulla,cumque,2924 +2925,consectetur,magni,2925 +2926,laudantium,recusandae,2926 +2927,vitae,quod,2927 +2928,numquam,quia,2928 +2929,mollitia,est,2929 +2930,explicabo,dolores,2930 +2931,velit,odio,2931 +2932,ut,dolor,2932 +2933,qui,nam,2933 +2934,eos,quaerat,2934 +2935,ullam,libero,2935 +2936,fuga,non,2936 +2937,cum,nisi,2937 +2938,accusantium,dolorum,2938 +2939,provident,non,2939 +2940,blanditiis,ipsum,2940 +2941,veniam,iste,2941 +2942,non,nihil,2942 +2943,iure,voluptatem,2943 +2944,necessitatibus,explicabo,2944 +2945,aut,inventore,2945 +2946,impedit,velit,2946 +2947,repellat,vel,2947 +2948,qui,omnis,2948 +2949,repudiandae,officia,2949 +2950,consequuntur,corrupti,2950 +2951,et,esse,2951 +2952,autem,rem,2952 +2953,mollitia,in,2953 +2954,perspiciatis,nesciunt,2954 +2955,doloribus,animi,2955 +2956,sunt,provident,2956 +2957,quis,consequatur,2957 +2958,nihil,accusamus,2958 +2959,libero,est,2959 +2960,eaque,et,2960 +2961,aut,porro,2961 +2962,distinctio,impedit,2962 +2963,amet,consequatur,2963 +2964,quod,sed,2964 +2965,in,suscipit,2965 +2966,ratione,et,2966 +2967,minus,eius,2967 +2968,culpa,sint,2968 +2969,tempore,quasi,2969 +2970,qui,voluptatem,2970 +2971,enim,laborum,2971 +2972,voluptates,sapiente,2972 +2973,numquam,autem,2973 +2974,alias,fugit,2974 +2975,accusantium,magni,2975 +2976,sit,voluptates,2976 +2977,aut,voluptas,2977 +2978,assumenda,ut,2978 +2979,qui,voluptatem,2979 +2980,minus,reprehenderit,2980 +2981,fugiat,temporibus,2981 +2982,doloribus,quis,2982 +2983,est,voluptatem,2983 +2984,et,consequatur,2984 +2985,nostrum,laudantium,2985 +2986,quasi,itaque,2986 +2987,enim,in,2987 +2988,et,magnam,2988 +2989,alias,aperiam,2989 +2990,dolor,ut,2990 +2991,non,aut,2991 +2992,et,quos,2992 +2993,nisi,nisi,2993 +2994,dolor,ut,2994 +2995,voluptate,quasi,2995 +2996,adipisci,blanditiis,2996 +2997,repellat,voluptas,2997 +2998,velit,dolores,2998 +2999,exercitationem,facere,2999 +3000,debitis,doloribus,3000 +3001,ducimus,nostrum,3001 +3002,quod,dolorem,3002 +3003,ducimus,aut,3003 +3004,quidem,perferendis,3004 +3005,sed,ducimus,3005 +3006,voluptate,voluptatem,3006 +3007,laboriosam,tempore,3007 +3008,nesciunt,odio,3008 +3009,asperiores,nam,3009 +3010,dolor,esse,3010 +3011,similique,sunt,3011 +3012,in,ipsam,3012 +3013,quo,sequi,3013 +3014,quidem,voluptas,3014 +3015,explicabo,iusto,3015 +3016,voluptatem,error,3016 +3017,asperiores,aut,3017 +3018,repellendus,nesciunt,3018 +3019,nesciunt,est,3019 +3020,in,vitae,3020 +3021,aliquid,quas,3021 +3022,quae,ipsum,3022 +3023,eveniet,quaerat,3023 +3024,quae,est,3024 +3025,voluptas,id,3025 +3026,soluta,explicabo,3026 +3027,sunt,in,3027 +3028,molestiae,et,3028 +3029,qui,enim,3029 +3030,voluptates,vel,3030 +3031,officia,facere,3031 +3032,nam,quidem,3032 +3033,iusto,et,3033 +3034,consequuntur,eveniet,3034 +3035,nulla,id,3035 +3036,tenetur,ut,3036 +3037,ea,quod,3037 +3038,explicabo,modi,3038 +3039,consequatur,necessitatibus,3039 +3040,iste,voluptas,3040 +3041,vel,praesentium,3041 +3042,et,earum,3042 +3043,et,assumenda,3043 +3044,inventore,deserunt,3044 +3045,sint,quis,3045 +3046,amet,ex,3046 +3047,explicabo,sed,3047 +3048,aut,consequuntur,3048 +3049,et,soluta,3049 +3050,dolores,occaecati,3050 +3051,quo,voluptatem,3051 +3052,molestiae,perspiciatis,3052 +3053,a,commodi,3053 +3054,sed,alias,3054 +3055,suscipit,numquam,3055 +3056,ea,veritatis,3056 +3057,corrupti,inventore,3057 +3058,temporibus,at,3058 +3059,rerum,et,3059 +3060,amet,et,3060 +3061,repellat,ex,3061 +3062,commodi,quia,3062 +3063,velit,eveniet,3063 +3064,quod,quasi,3064 +3065,eum,nesciunt,3065 +3066,eligendi,dolorum,3066 +3067,fuga,corporis,3067 +3068,voluptatem,praesentium,3068 +3069,eveniet,ut,3069 +3070,molestias,deserunt,3070 +3071,laborum,laborum,3071 +3072,voluptas,beatae,3072 +3073,tenetur,voluptatem,3073 +3074,eum,ut,3074 +3075,ipsa,fuga,3075 +3076,id,porro,3076 +3077,qui,iusto,3077 +3078,sit,consequatur,3078 +3079,eos,rerum,3079 +3080,harum,esse,3080 +3081,quia,quas,3081 +3082,nesciunt,repellendus,3082 +3083,autem,exercitationem,3083 +3084,qui,vel,3084 +3085,suscipit,consequatur,3085 +3086,dolorem,consectetur,3086 +3087,et,eaque,3087 +3088,repellendus,officia,3088 +3089,praesentium,nulla,3089 +3090,doloribus,minima,3090 +3091,ut,laborum,3091 +3092,ducimus,molestiae,3092 +3093,eum,placeat,3093 +3094,eligendi,vero,3094 +3095,accusamus,rerum,3095 +3096,est,quia,3096 +3097,aliquam,iste,3097 +3098,quia,consequatur,3098 +3099,labore,facilis,3099 +3100,quo,inventore,3100 +3101,quos,molestiae,3101 +3102,itaque,illo,3102 +3103,nam,qui,3103 +3104,minus,inventore,3104 +3105,eaque,aut,3105 +3106,iste,nobis,3106 +3107,vitae,assumenda,3107 +3108,temporibus,aliquid,3108 +3109,et,corrupti,3109 +3110,sunt,dolore,3110 +3111,quibusdam,cupiditate,3111 +3112,eaque,voluptate,3112 +3113,commodi,voluptates,3113 +3114,omnis,facilis,3114 +3115,at,perferendis,3115 +3116,amet,voluptatem,3116 +3117,qui,enim,3117 +3118,est,consequatur,3118 +3119,accusamus,alias,3119 +3120,ducimus,ut,3120 +3121,delectus,odit,3121 +3122,a,debitis,3122 +3123,voluptas,modi,3123 +3124,enim,et,3124 +3125,pariatur,omnis,3125 +3126,aut,deserunt,3126 +3127,cum,voluptas,3127 +3128,rerum,nihil,3128 +3129,beatae,quo,3129 +3130,et,voluptatem,3130 +3131,eum,voluptates,3131 +3132,est,commodi,3132 +3133,eveniet,quae,3133 +3134,enim,cupiditate,3134 +3135,unde,in,3135 +3136,molestias,molestiae,3136 +3137,asperiores,sed,3137 +3138,rerum,qui,3138 +3139,et,possimus,3139 +3140,quia,reprehenderit,3140 +3141,excepturi,tempora,3141 +3142,voluptatibus,voluptatibus,3142 +3143,eaque,rerum,3143 +3144,dignissimos,beatae,3144 +3145,dolores,et,3145 +3146,qui,dolor,3146 +3147,inventore,atque,3147 +3148,iusto,eum,3148 +3149,voluptates,temporibus,3149 +3150,debitis,et,3150 +3151,sint,perspiciatis,3151 +3152,hic,adipisci,3152 +3153,assumenda,ex,3153 +3154,repellat,magni,3154 +3155,delectus,consectetur,3155 +3156,quis,aut,3156 +3157,quo,quod,3157 +3158,ad,quo,3158 +3159,non,quia,3159 +3160,accusamus,enim,3160 +3161,nemo,dignissimos,3161 +3162,molestias,molestiae,3162 +3163,voluptatibus,et,3163 +3164,voluptatibus,est,3164 +3165,sequi,cumque,3165 +3166,cumque,id,3166 +3167,cum,iste,3167 +3168,est,nihil,3168 +3169,et,voluptatem,3169 +3170,sint,quia,3170 +3171,amet,odio,3171 +3172,omnis,et,3172 +3173,qui,explicabo,3173 +3174,et,sit,3174 +3175,nobis,sunt,3175 +3176,excepturi,eos,3176 +3177,quia,veniam,3177 +3178,temporibus,sint,3178 +3179,animi,totam,3179 +3180,optio,incidunt,3180 +3181,fugit,et,3181 +3182,nostrum,sint,3182 +3183,maiores,qui,3183 +3184,aspernatur,voluptatem,3184 +3185,quam,omnis,3185 +3186,quis,magnam,3186 +3187,sit,dolor,3187 +3188,eaque,voluptatibus,3188 +3189,enim,autem,3189 +3190,quia,totam,3190 +3191,eligendi,architecto,3191 +3192,sunt,et,3192 +3193,quia,et,3193 +3194,assumenda,perferendis,3194 +3195,ut,est,3195 +3196,et,architecto,3196 +3197,dolorum,fugit,3197 +3198,libero,possimus,3198 +3199,quasi,voluptatem,3199 +3200,magni,qui,3200 +3201,quia,dignissimos,3201 +3202,ipsa,molestiae,3202 +3203,sed,laborum,3203 +3204,dolore,animi,3204 +3205,minima,officia,3205 +3206,quod,maxime,3206 +3207,non,rem,3207 +3208,adipisci,rerum,3208 +3209,voluptate,accusamus,3209 +3210,deleniti,placeat,3210 +3211,officia,harum,3211 +3212,provident,id,3212 +3213,id,voluptatem,3213 +3214,minus,doloremque,3214 +3215,libero,temporibus,3215 +3216,sed,iusto,3216 +3217,dolores,ab,3217 +3218,quia,nihil,3218 +3219,est,sed,3219 +3220,sit,repellat,3220 +3221,quia,aliquam,3221 +3222,ut,rem,3222 +3223,dolorem,explicabo,3223 +3224,reprehenderit,sint,3224 +3225,est,molestiae,3225 +3226,quia,quis,3226 +3227,hic,enim,3227 +3228,provident,eum,3228 +3229,magnam,dolores,3229 +3230,illum,laboriosam,3230 +3231,maxime,aliquid,3231 +3232,dolores,officia,3232 +3233,aliquid,placeat,3233 +3234,et,dolor,3234 +3235,minima,rem,3235 +3236,ipsum,blanditiis,3236 +3237,impedit,quaerat,3237 +3238,aut,enim,3238 +3239,consequatur,tenetur,3239 +3240,placeat,maiores,3240 +3241,quia,cupiditate,3241 +3242,et,maiores,3242 +3243,natus,earum,3243 +3244,doloremque,aut,3244 +3245,neque,adipisci,3245 +3246,et,consectetur,3246 +3247,quia,odit,3247 +3248,aliquam,alias,3248 +3249,recusandae,omnis,3249 +3250,doloremque,est,3250 +3251,fuga,nulla,3251 +3252,ut,impedit,3252 +3253,quam,vel,3253 +3254,qui,illo,3254 +3255,voluptas,dicta,3255 +3256,veniam,rerum,3256 +3257,qui,reprehenderit,3257 +3258,officia,sed,3258 +3259,accusamus,temporibus,3259 +3260,recusandae,autem,3260 +3261,maxime,reprehenderit,3261 +3262,nostrum,labore,3262 +3263,laboriosam,iste,3263 +3264,porro,aut,3264 +3265,et,dolorum,3265 +3266,qui,labore,3266 +3267,laborum,numquam,3267 +3268,repudiandae,soluta,3268 +3269,et,quos,3269 +3270,ut,qui,3270 +3271,excepturi,doloremque,3271 +3272,dolor,reprehenderit,3272 +3273,quis,labore,3273 +3274,dolorem,est,3274 +3275,cupiditate,optio,3275 +3276,quo,consequatur,3276 +3277,sed,voluptate,3277 +3278,laboriosam,veritatis,3278 +3279,et,dolor,3279 +3280,odio,eum,3280 +3281,quo,iusto,3281 +3282,aspernatur,vitae,3282 +3283,hic,voluptatem,3283 +3284,mollitia,assumenda,3284 +3285,quo,occaecati,3285 +3286,enim,hic,3286 +3287,est,quo,3287 +3288,accusamus,accusamus,3288 +3289,molestiae,tenetur,3289 +3290,dolores,et,3290 +3291,qui,voluptate,3291 +3292,quis,velit,3292 +3293,architecto,modi,3293 +3294,est,illum,3294 +3295,est,a,3295 +3296,et,unde,3296 +3297,quasi,quia,3297 +3298,laudantium,voluptas,3298 +3299,veritatis,et,3299 +3300,at,voluptatem,3300 +3301,maxime,eius,3301 +3302,velit,rem,3302 +3303,voluptatem,nemo,3303 +3304,consequatur,in,3304 +3305,exercitationem,debitis,3305 +3306,error,repudiandae,3306 +3307,consequatur,eveniet,3307 +3308,aut,voluptatibus,3308 +3309,blanditiis,deserunt,3309 +3310,facilis,unde,3310 +3311,in,quam,3311 +3312,et,est,3312 +3313,maxime,praesentium,3313 +3314,dolores,sapiente,3314 +3315,quia,at,3315 +3316,numquam,corporis,3316 +3317,omnis,cumque,3317 +3318,occaecati,commodi,3318 +3319,molestiae,repellat,3319 +3320,voluptate,velit,3320 +3321,fuga,cumque,3321 +3322,minus,nesciunt,3322 +3323,voluptatem,a,3323 +3324,minima,dolores,3324 +3325,labore,cupiditate,3325 +3326,blanditiis,in,3326 +3327,iste,non,3327 +3328,ipsum,magni,3328 +3329,labore,debitis,3329 +3330,ad,veniam,3330 +3331,perferendis,ipsam,3331 +3332,similique,et,3332 +3333,qui,dolor,3333 +3334,dolorem,eius,3334 +3335,ut,a,3335 +3336,ea,consequatur,3336 +3337,aspernatur,nisi,3337 +3338,accusamus,aut,3338 +3339,quibusdam,sint,3339 +3340,unde,omnis,3340 +3341,dolorem,distinctio,3341 +3342,sapiente,dolorum,3342 +3343,vero,a,3343 +3344,voluptas,officiis,3344 +3345,quia,velit,3345 +3346,fugit,debitis,3346 +3347,voluptas,dolor,3347 +3348,dicta,quia,3348 +3349,minus,consequatur,3349 +3350,velit,et,3350 +3351,aut,et,3351 +3352,laudantium,non,3352 +3353,laborum,iste,3353 +3354,cum,dolor,3354 +3355,est,occaecati,3355 +3356,ducimus,officia,3356 +3357,distinctio,quasi,3357 +3358,tempora,soluta,3358 +3359,doloremque,quo,3359 +3360,ut,quia,3360 +3361,quasi,autem,3361 +3362,ullam,minus,3362 +3363,et,praesentium,3363 +3364,omnis,est,3364 +3365,nihil,hic,3365 +3366,qui,et,3366 +3367,consequatur,qui,3367 +3368,cumque,quis,3368 +3369,voluptas,vitae,3369 +3370,dolor,corporis,3370 +3371,et,magni,3371 +3372,unde,minus,3372 +3373,recusandae,rerum,3373 +3374,non,cumque,3374 +3375,dolore,voluptatum,3375 +3376,qui,aut,3376 +3377,qui,quis,3377 +3378,sint,omnis,3378 +3379,deserunt,id,3379 +3380,nemo,aliquam,3380 +3381,asperiores,a,3381 +3382,et,tempore,3382 +3383,eaque,et,3383 +3384,odio,et,3384 +3385,omnis,deserunt,3385 +3386,rem,dolorum,3386 +3387,asperiores,sed,3387 +3388,modi,sed,3388 +3389,aut,error,3389 +3390,cumque,quis,3390 +3391,omnis,praesentium,3391 +3392,praesentium,eveniet,3392 +3393,aut,quasi,3393 +3394,sint,commodi,3394 +3395,fugit,ut,3395 +3396,iusto,magnam,3396 +3397,debitis,quidem,3397 +3398,voluptatibus,aut,3398 +3399,ea,aspernatur,3399 +3400,in,odit,3400 +3401,nemo,est,3401 +3402,cum,ducimus,3402 +3403,consectetur,quae,3403 +3404,praesentium,hic,3404 +3405,recusandae,consectetur,3405 +3406,doloribus,amet,3406 +3407,et,sed,3407 +3408,et,ut,3408 +3409,nihil,vitae,3409 +3410,ullam,iusto,3410 +3411,qui,aut,3411 +3412,sapiente,officia,3412 +3413,rerum,adipisci,3413 +3414,omnis,rem,3414 +3415,unde,ut,3415 +3416,ut,illum,3416 +3417,et,et,3417 +3418,aliquid,rerum,3418 +3419,enim,facere,3419 +3420,esse,qui,3420 +3421,animi,eum,3421 +3422,modi,possimus,3422 +3423,reiciendis,incidunt,3423 +3424,soluta,dolor,3424 +3425,enim,id,3425 +3426,et,laboriosam,3426 +3427,aut,aliquid,3427 +3428,corporis,rerum,3428 +3429,officiis,et,3429 +3430,autem,qui,3430 +3431,et,expedita,3431 +3432,dolorem,suscipit,3432 +3433,quidem,voluptas,3433 +3434,dolore,est,3434 +3435,qui,porro,3435 +3436,omnis,et,3436 +3437,quos,dignissimos,3437 +3438,reiciendis,voluptatum,3438 +3439,omnis,quo,3439 +3440,id,saepe,3440 +3441,sint,illo,3441 +3442,voluptate,ab,3442 +3443,provident,iste,3443 +3444,numquam,eveniet,3444 +3445,fugiat,omnis,3445 +3446,nulla,nam,3446 +3447,ut,voluptatem,3447 +3448,omnis,dolores,3448 +3449,dolorem,id,3449 +3450,sit,non,3450 +3451,consequatur,minus,3451 +3452,recusandae,temporibus,3452 +3453,eveniet,vero,3453 +3454,nulla,blanditiis,3454 +3455,eius,dolorum,3455 +3456,voluptates,sit,3456 +3457,deserunt,nam,3457 +3458,consequatur,ducimus,3458 +3459,sed,aut,3459 +3460,tenetur,id,3460 +3461,recusandae,et,3461 +3462,ea,autem,3462 +3463,aut,eaque,3463 +3464,velit,enim,3464 +3465,unde,dolores,3465 +3466,architecto,repellendus,3466 +3467,reiciendis,qui,3467 +3468,pariatur,blanditiis,3468 +3469,eum,voluptatem,3469 +3470,consequatur,earum,3470 +3471,optio,soluta,3471 +3472,quibusdam,saepe,3472 +3473,sed,eos,3473 +3474,ipsum,eaque,3474 +3475,nobis,dolorem,3475 +3476,quo,rerum,3476 +3477,provident,vel,3477 +3478,corporis,laboriosam,3478 +3479,repudiandae,accusantium,3479 +3480,animi,illo,3480 +3481,aliquam,nisi,3481 +3482,officia,nisi,3482 +3483,atque,harum,3483 +3484,earum,sed,3484 +3485,ut,dicta,3485 +3486,ipsum,doloremque,3486 +3487,recusandae,doloribus,3487 +3488,laboriosam,dolorum,3488 +3489,aut,rem,3489 +3490,voluptatem,a,3490 +3491,quia,nisi,3491 +3492,ut,quis,3492 +3493,ut,dolores,3493 +3494,tempore,veritatis,3494 +3495,voluptatibus,iste,3495 +3496,necessitatibus,non,3496 +3497,quibusdam,aut,3497 +3498,delectus,molestiae,3498 +3499,reiciendis,id,3499 +3500,blanditiis,sed,3500 +3501,eaque,aut,3501 +3502,atque,doloremque,3502 +3503,aut,sed,3503 +3504,quam,quibusdam,3504 +3505,minus,consequatur,3505 +3506,odio,velit,3506 +3507,praesentium,et,3507 +3508,deserunt,nobis,3508 +3509,qui,laboriosam,3509 +3510,qui,quasi,3510 +3511,est,earum,3511 +3512,architecto,veniam,3512 +3513,sit,et,3513 +3514,possimus,blanditiis,3514 +3515,dolores,iusto,3515 +3516,molestiae,aut,3516 +3517,est,libero,3517 +3518,aliquid,officia,3518 +3519,tempora,impedit,3519 +3520,fuga,iure,3520 +3521,reprehenderit,aperiam,3521 +3522,voluptatem,tempore,3522 +3523,consequatur,iusto,3523 +3524,excepturi,quibusdam,3524 +3525,optio,enim,3525 +3526,quam,omnis,3526 +3527,possimus,consequatur,3527 +3528,praesentium,doloribus,3528 +3529,ea,quaerat,3529 +3530,pariatur,libero,3530 +3531,maxime,pariatur,3531 +3532,quae,hic,3532 +3533,minima,odit,3533 +3534,corrupti,hic,3534 +3535,suscipit,fugiat,3535 +3536,dolores,eos,3536 +3537,omnis,labore,3537 +3538,eligendi,nesciunt,3538 +3539,unde,sunt,3539 +3540,sed,perferendis,3540 +3541,qui,cumque,3541 +3542,occaecati,earum,3542 +3543,molestiae,aut,3543 +3544,nihil,excepturi,3544 +3545,dolor,esse,3545 +3546,ut,praesentium,3546 +3547,quia,deserunt,3547 +3548,quaerat,omnis,3548 +3549,quo,sunt,3549 +3550,repellendus,accusamus,3550 +3551,et,a,3551 +3552,perspiciatis,earum,3552 +3553,laboriosam,in,3553 +3554,tempore,molestiae,3554 +3555,unde,minima,3555 +3556,est,enim,3556 +3557,repudiandae,ut,3557 +3558,qui,eum,3558 +3559,vel,aut,3559 +3560,magni,animi,3560 +3561,libero,quo,3561 +3562,nulla,quibusdam,3562 +3563,ut,voluptatum,3563 +3564,voluptatem,et,3564 +3565,sit,qui,3565 +3566,et,architecto,3566 +3567,ipsum,et,3567 +3568,maiores,molestiae,3568 +3569,qui,dolor,3569 +3570,et,qui,3570 +3571,ex,aut,3571 +3572,expedita,asperiores,3572 +3573,autem,quisquam,3573 +3574,exercitationem,consequatur,3574 +3575,quae,omnis,3575 +3576,officiis,et,3576 +3577,vitae,praesentium,3577 +3578,explicabo,quasi,3578 +3579,quia,et,3579 +3580,repellendus,veniam,3580 +3581,necessitatibus,odio,3581 +3582,cumque,atque,3582 +3583,itaque,provident,3583 +3584,nulla,in,3584 +3585,rerum,facere,3585 +3586,ut,autem,3586 +3587,veritatis,occaecati,3587 +3588,voluptatibus,aliquam,3588 +3589,temporibus,autem,3589 +3590,voluptatem,ea,3590 +3591,dolore,est,3591 +3592,enim,est,3592 +3593,earum,nam,3593 +3594,vel,omnis,3594 +3595,et,deleniti,3595 +3596,dolorum,voluptatem,3596 +3597,nostrum,soluta,3597 +3598,dignissimos,quia,3598 +3599,cum,iure,3599 +3600,aspernatur,est,3600 +3601,dolorem,fugiat,3601 +3602,neque,laborum,3602 +3603,et,vel,3603 +3604,voluptatem,expedita,3604 +3605,sunt,rerum,3605 +3606,mollitia,et,3606 +3607,ad,quaerat,3607 +3608,illo,iusto,3608 +3609,sed,necessitatibus,3609 +3610,quidem,nihil,3610 +3611,quo,voluptatem,3611 +3612,vitae,autem,3612 +3613,et,aspernatur,3613 +3614,ea,inventore,3614 +3615,qui,voluptatem,3615 +3616,voluptates,consectetur,3616 +3617,illum,quibusdam,3617 +3618,nesciunt,ab,3618 +3619,repellat,illum,3619 +3620,optio,ut,3620 +3621,quisquam,voluptas,3621 +3622,ut,ipsa,3622 +3623,minus,voluptatem,3623 +3624,accusamus,sed,3624 +3625,eligendi,iste,3625 +3626,at,est,3626 +3627,culpa,et,3627 +3628,ex,dolores,3628 +3629,debitis,earum,3629 +3630,laborum,similique,3630 +3631,temporibus,consequatur,3631 +3632,qui,iste,3632 +3633,modi,non,3633 +3634,fugiat,et,3634 +3635,deserunt,odit,3635 +3636,dignissimos,quibusdam,3636 +3637,quia,dignissimos,3637 +3638,et,enim,3638 +3639,et,culpa,3639 +3640,voluptatem,nostrum,3640 +3641,doloribus,magni,3641 +3642,harum,sint,3642 +3643,similique,quis,3643 +3644,nihil,quia,3644 +3645,qui,sit,3645 +3646,rem,ratione,3646 +3647,molestias,dignissimos,3647 +3648,minima,aut,3648 +3649,molestias,sapiente,3649 +3650,qui,dolore,3650 +3651,ad,qui,3651 +3652,commodi,doloremque,3652 +3653,illum,atque,3653 +3654,dignissimos,rem,3654 +3655,ab,eaque,3655 +3656,qui,deserunt,3656 +3657,dolores,occaecati,3657 +3658,omnis,ut,3658 +3659,omnis,eum,3659 +3660,consequatur,pariatur,3660 +3661,sit,impedit,3661 +3662,itaque,labore,3662 +3663,quae,et,3663 +3664,sed,deleniti,3664 +3665,laudantium,autem,3665 +3666,voluptate,sed,3666 +3667,pariatur,officia,3667 +3668,labore,odit,3668 +3669,nisi,qui,3669 +3670,et,nihil,3670 +3671,occaecati,voluptas,3671 +3672,alias,magnam,3672 +3673,dolores,optio,3673 +3674,accusantium,rem,3674 +3675,qui,atque,3675 +3676,culpa,numquam,3676 +3677,veniam,sit,3677 +3678,sed,corporis,3678 +3679,amet,dolorem,3679 +3680,et,ut,3680 +3681,dolores,corrupti,3681 +3682,voluptates,dolor,3682 +3683,doloribus,unde,3683 +3684,perspiciatis,vitae,3684 +3685,odio,quo,3685 +3686,eaque,consequuntur,3686 +3687,mollitia,delectus,3687 +3688,odit,consequatur,3688 +3689,necessitatibus,eos,3689 +3690,perspiciatis,in,3690 +3691,officia,in,3691 +3692,a,error,3692 +3693,impedit,voluptas,3693 +3694,vitae,omnis,3694 +3695,quaerat,quis,3695 +3696,quo,asperiores,3696 +3697,quia,explicabo,3697 +3698,nulla,quam,3698 +3699,accusantium,expedita,3699 +3700,officiis,dolores,3700 +3701,nulla,quia,3701 +3702,doloribus,vel,3702 +3703,doloribus,beatae,3703 +3704,voluptatem,labore,3704 +3705,voluptate,rerum,3705 +3706,non,sint,3706 +3707,inventore,sit,3707 +3708,quisquam,quos,3708 +3709,aut,et,3709 +3710,blanditiis,repudiandae,3710 +3711,iusto,et,3711 +3712,eligendi,libero,3712 +3713,consequatur,consequatur,3713 +3714,maiores,ducimus,3714 +3715,eaque,nostrum,3715 +3716,nostrum,aut,3716 +3717,perspiciatis,nesciunt,3717 +3718,aut,quis,3718 +3719,veniam,quis,3719 +3720,veniam,maxime,3720 +3721,ullam,id,3721 +3722,sint,in,3722 +3723,modi,voluptas,3723 +3724,blanditiis,laudantium,3724 +3725,velit,voluptatibus,3725 +3726,aspernatur,rerum,3726 +3727,animi,et,3727 +3728,velit,aspernatur,3728 +3729,atque,quas,3729 +3730,minus,aut,3730 +3731,et,aspernatur,3731 +3732,delectus,modi,3732 +3733,repellendus,eius,3733 +3734,architecto,commodi,3734 +3735,sit,a,3735 +3736,molestiae,culpa,3736 +3737,corporis,maiores,3737 +3738,sapiente,dolor,3738 +3739,repellendus,dolores,3739 +3740,sit,mollitia,3740 +3741,cumque,sit,3741 +3742,excepturi,qui,3742 +3743,ipsa,voluptatibus,3743 +3744,totam,aut,3744 +3745,necessitatibus,molestias,3745 +3746,id,quia,3746 +3747,cum,voluptatem,3747 +3748,eum,earum,3748 +3749,rerum,vel,3749 +3750,est,ea,3750 +3751,enim,ut,3751 +3752,beatae,ipsam,3752 +3753,unde,in,3753 +3754,maiores,nihil,3754 +3755,magnam,et,3755 +3756,consequatur,perspiciatis,3756 +3757,voluptatem,odio,3757 +3758,qui,sunt,3758 +3759,sunt,et,3759 +3760,exercitationem,voluptas,3760 +3761,rerum,corporis,3761 +3762,aliquid,ratione,3762 +3763,minima,delectus,3763 +3764,est,quas,3764 +3765,placeat,consectetur,3765 +3766,expedita,iure,3766 +3767,reiciendis,doloremque,3767 +3768,molestias,tempora,3768 +3769,ullam,culpa,3769 +3770,dolorem,aliquid,3770 +3771,a,laudantium,3771 +3772,est,quo,3772 +3773,sit,qui,3773 +3774,et,minima,3774 +3775,tempora,cum,3775 +3776,quia,impedit,3776 +3777,occaecati,ducimus,3777 +3778,doloribus,facere,3778 +3779,et,porro,3779 +3780,et,consectetur,3780 +3781,incidunt,ab,3781 +3782,rerum,quod,3782 +3783,officia,aut,3783 +3784,dolorum,quod,3784 +3785,quidem,magni,3785 +3786,nemo,fugit,3786 +3787,aliquam,quaerat,3787 +3788,velit,soluta,3788 +3789,exercitationem,ut,3789 +3790,nesciunt,beatae,3790 +3791,dolores,tempora,3791 +3792,quaerat,autem,3792 +3793,delectus,exercitationem,3793 +3794,quia,et,3794 +3795,consequatur,architecto,3795 +3796,accusantium,possimus,3796 +3797,qui,rerum,3797 +3798,voluptatem,rem,3798 +3799,optio,rem,3799 +3800,earum,culpa,3800 +3801,et,eligendi,3801 +3802,ea,alias,3802 +3803,eum,dolores,3803 +3804,earum,similique,3804 +3805,rem,beatae,3805 +3806,voluptatem,animi,3806 +3807,veritatis,non,3807 +3808,accusamus,error,3808 +3809,aliquid,minus,3809 +3810,et,est,3810 +3811,et,error,3811 +3812,minima,quidem,3812 +3813,veniam,veritatis,3813 +3814,iste,asperiores,3814 +3815,enim,quaerat,3815 +3816,vero,consequatur,3816 +3817,laborum,itaque,3817 +3818,natus,neque,3818 +3819,eum,ut,3819 +3820,quae,officiis,3820 +3821,esse,accusantium,3821 +3822,consectetur,ut,3822 +3823,sunt,harum,3823 +3824,quos,rerum,3824 +3825,totam,consequatur,3825 +3826,similique,dolorem,3826 +3827,voluptas,quaerat,3827 +3828,maxime,minima,3828 +3829,velit,deserunt,3829 +3830,perspiciatis,placeat,3830 +3831,omnis,quaerat,3831 +3832,ipsa,repellat,3832 +3833,eius,aliquam,3833 +3834,maiores,et,3834 +3835,omnis,sint,3835 +3836,ut,soluta,3836 +3837,nobis,perferendis,3837 +3838,quaerat,et,3838 +3839,blanditiis,rerum,3839 +3840,quasi,repellendus,3840 +3841,commodi,deserunt,3841 +3842,veniam,officia,3842 +3843,voluptatem,qui,3843 +3844,cupiditate,aut,3844 +3845,quia,labore,3845 +3846,nobis,est,3846 +3847,labore,sint,3847 +3848,quis,officiis,3848 +3849,ullam,voluptatum,3849 +3850,enim,dignissimos,3850 +3851,officia,aliquid,3851 +3852,quis,et,3852 +3853,est,dolorum,3853 +3854,aliquam,rerum,3854 +3855,earum,aut,3855 +3856,voluptate,ad,3856 +3857,laborum,sit,3857 +3858,et,eius,3858 +3859,reprehenderit,qui,3859 +3860,est,ut,3860 +3861,facilis,modi,3861 +3862,beatae,qui,3862 +3863,architecto,tempora,3863 +3864,asperiores,sit,3864 +3865,id,et,3865 +3866,quis,delectus,3866 +3867,unde,et,3867 +3868,qui,quia,3868 +3869,ut,non,3869 +3870,sed,sit,3870 +3871,repudiandae,illum,3871 +3872,voluptas,quia,3872 +3873,ipsa,tempora,3873 +3874,cum,qui,3874 +3875,non,delectus,3875 +3876,sint,consequatur,3876 +3877,ratione,ratione,3877 +3878,est,est,3878 +3879,impedit,voluptate,3879 +3880,ab,iure,3880 +3881,et,asperiores,3881 +3882,id,vel,3882 +3883,ab,omnis,3883 +3884,sit,esse,3884 +3885,repellat,ab,3885 +3886,unde,et,3886 +3887,suscipit,doloribus,3887 +3888,dolore,doloribus,3888 +3889,non,natus,3889 +3890,molestias,molestiae,3890 +3891,occaecati,est,3891 +3892,quod,laborum,3892 +3893,sed,a,3893 +3894,quis,quos,3894 +3895,quo,earum,3895 +3896,delectus,et,3896 +3897,sit,et,3897 +3898,aut,deserunt,3898 +3899,et,ea,3899 +3900,numquam,sunt,3900 +3901,dolorem,et,3901 +3902,non,et,3902 +3903,a,eveniet,3903 +3904,magnam,voluptas,3904 +3905,laudantium,reprehenderit,3905 +3906,sed,unde,3906 +3907,sed,ea,3907 +3908,saepe,hic,3908 +3909,commodi,magnam,3909 +3910,suscipit,voluptate,3910 +3911,consequatur,incidunt,3911 +3912,laborum,cumque,3912 +3913,quo,velit,3913 +3914,inventore,est,3914 +3915,reiciendis,ut,3915 +3916,rem,dolor,3916 +3917,quia,eligendi,3917 +3918,debitis,et,3918 +3919,nemo,eos,3919 +3920,odit,rerum,3920 +3921,necessitatibus,dolorem,3921 +3922,consequatur,inventore,3922 +3923,repellendus,sed,3923 +3924,ratione,repellat,3924 +3925,qui,animi,3925 +3926,maxime,impedit,3926 +3927,quas,autem,3927 +3928,reprehenderit,unde,3928 +3929,neque,est,3929 +3930,et,excepturi,3930 +3931,ex,at,3931 +3932,voluptas,nihil,3932 +3933,maiores,ut,3933 +3934,molestiae,occaecati,3934 +3935,labore,fugit,3935 +3936,voluptatum,aliquid,3936 +3937,maxime,laborum,3937 +3938,quaerat,eos,3938 +3939,modi,animi,3939 +3940,accusantium,voluptatum,3940 +3941,alias,ducimus,3941 +3942,optio,sint,3942 +3943,nemo,et,3943 +3944,facilis,odio,3944 +3945,saepe,natus,3945 +3946,libero,et,3946 +3947,aliquid,illum,3947 +3948,reprehenderit,id,3948 +3949,at,et,3949 +3950,aut,ex,3950 +3951,facere,sequi,3951 +3952,natus,esse,3952 +3953,delectus,et,3953 +3954,qui,voluptas,3954 +3955,est,eaque,3955 +3956,consectetur,quos,3956 +3957,quas,commodi,3957 +3958,quis,hic,3958 +3959,commodi,asperiores,3959 +3960,consequuntur,qui,3960 +3961,perspiciatis,maxime,3961 +3962,et,velit,3962 +3963,incidunt,officiis,3963 +3964,architecto,consectetur,3964 +3965,nam,numquam,3965 +3966,in,sed,3966 +3967,harum,omnis,3967 +3968,eum,labore,3968 +3969,ullam,omnis,3969 +3970,praesentium,et,3970 +3971,ea,at,3971 +3972,culpa,voluptas,3972 +3973,aliquam,quae,3973 +3974,sint,quasi,3974 +3975,ut,doloremque,3975 +3976,in,est,3976 +3977,cumque,velit,3977 +3978,et,et,3978 +3979,explicabo,sint,3979 +3980,dolorum,aut,3980 +3981,odit,temporibus,3981 +3982,praesentium,voluptatem,3982 +3983,omnis,maiores,3983 +3984,dolores,accusantium,3984 +3985,autem,assumenda,3985 +3986,repudiandae,sequi,3986 +3987,eius,omnis,3987 +3988,magnam,accusantium,3988 +3989,ratione,tempore,3989 +3990,ut,aut,3990 +3991,est,ut,3991 +3992,cumque,dolore,3992 +3993,neque,id,3993 +3994,repellat,fugiat,3994 +3995,quod,aspernatur,3995 +3996,suscipit,facilis,3996 +3997,reprehenderit,debitis,3997 +3998,placeat,repudiandae,3998 +3999,velit,quia,3999 +4000,dolorem,nam,4000 +4001,voluptatem,non,4001 +4002,explicabo,in,4002 +4003,ullam,quas,4003 +4004,minima,sit,4004 +4005,omnis,accusamus,4005 +4006,ratione,magnam,4006 +4007,corporis,repudiandae,4007 +4008,eius,est,4008 +4009,commodi,aperiam,4009 +4010,ut,velit,4010 +4011,expedita,ea,4011 +4012,doloribus,dolorum,4012 +4013,ducimus,laborum,4013 +4014,possimus,sunt,4014 +4015,tenetur,et,4015 +4016,mollitia,distinctio,4016 +4017,qui,eum,4017 +4018,voluptas,architecto,4018 +4019,magni,quidem,4019 +4020,nostrum,labore,4020 +4021,maiores,quasi,4021 +4022,eos,id,4022 +4023,quia,consectetur,4023 +4024,doloribus,in,4024 +4025,maxime,reiciendis,4025 +4026,amet,aut,4026 +4027,sed,culpa,4027 +4028,sint,iusto,4028 +4029,quo,natus,4029 +4030,ea,et,4030 +4031,quo,omnis,4031 +4032,sint,nemo,4032 +4033,vitae,omnis,4033 +4034,quo,quod,4034 +4035,recusandae,animi,4035 +4036,qui,animi,4036 +4037,dolorem,nesciunt,4037 +4038,numquam,dolores,4038 +4039,sequi,id,4039 +4040,saepe,hic,4040 +4041,minus,est,4041 +4042,explicabo,mollitia,4042 +4043,perspiciatis,nihil,4043 +4044,eaque,et,4044 +4045,animi,sint,4045 +4046,mollitia,nisi,4046 +4047,ut,perspiciatis,4047 +4048,quo,consequatur,4048 +4049,est,quia,4049 +4050,rem,debitis,4050 +4051,fuga,et,4051 +4052,fugit,porro,4052 +4053,quam,iure,4053 +4054,cumque,eos,4054 +4055,ipsum,autem,4055 +4056,at,aspernatur,4056 +4057,unde,explicabo,4057 +4058,mollitia,rerum,4058 +4059,debitis,officia,4059 +4060,sunt,quo,4060 +4061,voluptas,ipsam,4061 +4062,asperiores,ut,4062 +4063,consequatur,iure,4063 +4064,sit,qui,4064 +4065,magni,aut,4065 +4066,asperiores,ipsum,4066 +4067,id,mollitia,4067 +4068,quam,a,4068 +4069,esse,sequi,4069 +4070,delectus,suscipit,4070 +4071,quas,exercitationem,4071 +4072,vero,necessitatibus,4072 +4073,est,culpa,4073 +4074,eius,non,4074 +4075,sed,quia,4075 +4076,quam,eum,4076 +4077,consequatur,praesentium,4077 +4078,eius,numquam,4078 +4079,et,id,4079 +4080,sint,quia,4080 +4081,perferendis,et,4081 +4082,perferendis,omnis,4082 +4083,praesentium,in,4083 +4084,quas,corrupti,4084 +4085,sunt,sed,4085 +4086,fuga,illo,4086 +4087,veritatis,vel,4087 +4088,laboriosam,harum,4088 +4089,beatae,commodi,4089 +4090,quisquam,nostrum,4090 +4091,et,placeat,4091 +4092,vitae,unde,4092 +4093,nesciunt,tenetur,4093 +4094,omnis,sint,4094 +4095,facilis,explicabo,4095 +4096,perferendis,magnam,4096 +4097,consectetur,eaque,4097 +4098,cumque,qui,4098 +4099,sit,ut,4099 +4100,non,ea,4100 +4101,est,saepe,4101 +4102,eos,qui,4102 +4103,et,et,4103 +4104,aut,voluptas,4104 +4105,quibusdam,sed,4105 +4106,enim,natus,4106 +4107,voluptate,dolores,4107 +4108,ducimus,omnis,4108 +4109,labore,et,4109 +4110,distinctio,eius,4110 +4111,optio,totam,4111 +4112,nisi,sed,4112 +4113,officiis,expedita,4113 +4114,mollitia,sit,4114 +4115,in,consequatur,4115 +4116,excepturi,nisi,4116 +4117,debitis,dolorem,4117 +4118,natus,doloremque,4118 +4119,assumenda,sit,4119 +4120,laudantium,expedita,4120 +4121,consequatur,voluptatem,4121 +4122,molestias,distinctio,4122 +4123,consequatur,eveniet,4123 +4124,enim,voluptates,4124 +4125,voluptas,quia,4125 +4126,provident,repellat,4126 +4127,id,commodi,4127 +4128,voluptatem,et,4128 +4129,reiciendis,sit,4129 +4130,incidunt,eos,4130 +4131,consequuntur,vero,4131 +4132,explicabo,corporis,4132 +4133,voluptate,voluptatem,4133 +4134,id,ab,4134 +4135,recusandae,nisi,4135 +4136,molestias,at,4136 +4137,fugiat,provident,4137 +4138,tenetur,accusantium,4138 +4139,quis,voluptatem,4139 +4140,hic,quaerat,4140 +4141,illum,earum,4141 +4142,rerum,et,4142 +4143,est,sit,4143 +4144,dolore,corrupti,4144 +4145,nihil,aut,4145 +4146,sint,illum,4146 +4147,sit,distinctio,4147 +4148,laudantium,quo,4148 +4149,et,pariatur,4149 +4150,impedit,quia,4150 +4151,at,debitis,4151 +4152,aut,quas,4152 +4153,nesciunt,soluta,4153 +4154,perspiciatis,et,4154 +4155,est,nostrum,4155 +4156,aliquid,expedita,4156 +4157,qui,tenetur,4157 +4158,distinctio,sint,4158 +4159,tempore,harum,4159 +4160,nulla,laborum,4160 +4161,voluptatem,iusto,4161 +4162,dicta,harum,4162 +4163,molestiae,a,4163 +4164,deserunt,minima,4164 +4165,dolore,animi,4165 +4166,sed,dolores,4166 +4167,aut,aliquid,4167 +4168,eligendi,nostrum,4168 +4169,quia,placeat,4169 +4170,modi,nesciunt,4170 +4171,aut,sed,4171 +4172,in,itaque,4172 +4173,et,amet,4173 +4174,dolores,ex,4174 +4175,modi,reiciendis,4175 +4176,ipsa,dolorem,4176 +4177,non,veritatis,4177 +4178,cum,sunt,4178 +4179,molestias,ut,4179 +4180,nostrum,et,4180 +4181,ab,aut,4181 +4182,nihil,voluptatem,4182 +4183,sequi,optio,4183 +4184,impedit,eum,4184 +4185,ut,aliquid,4185 +4186,ex,mollitia,4186 +4187,reiciendis,tenetur,4187 +4188,rerum,ipsam,4188 +4189,sit,dolor,4189 +4190,quas,aut,4190 +4191,sequi,sit,4191 +4192,consequatur,sequi,4192 +4193,et,minus,4193 +4194,reprehenderit,repellat,4194 +4195,doloremque,est,4195 +4196,qui,modi,4196 +4197,voluptatum,deleniti,4197 +4198,amet,et,4198 +4199,laborum,culpa,4199 +4200,accusamus,nisi,4200 +4201,suscipit,occaecati,4201 +4202,est,laboriosam,4202 +4203,eius,quia,4203 +4204,cupiditate,quasi,4204 +4205,quisquam,dolores,4205 +4206,et,id,4206 +4207,dolorem,et,4207 +4208,unde,ex,4208 +4209,quidem,et,4209 +4210,quibusdam,eligendi,4210 +4211,atque,eligendi,4211 +4212,sed,quam,4212 +4213,dolorem,laudantium,4213 +4214,sit,minima,4214 +4215,saepe,magni,4215 +4216,repudiandae,alias,4216 +4217,sed,qui,4217 +4218,quis,ex,4218 +4219,explicabo,error,4219 +4220,omnis,consectetur,4220 +4221,officiis,magnam,4221 +4222,id,officiis,4222 +4223,porro,enim,4223 +4224,cum,atque,4224 +4225,nobis,asperiores,4225 +4226,minus,repellendus,4226 +4227,et,sint,4227 +4228,id,sint,4228 +4229,ut,enim,4229 +4230,eveniet,tempora,4230 +4231,libero,aut,4231 +4232,assumenda,laudantium,4232 +4233,at,nesciunt,4233 +4234,et,rerum,4234 +4235,asperiores,consequuntur,4235 +4236,soluta,doloribus,4236 +4237,et,et,4237 +4238,natus,rerum,4238 +4239,fugit,occaecati,4239 +4240,dolores,debitis,4240 +4241,numquam,saepe,4241 +4242,et,tenetur,4242 +4243,quod,omnis,4243 +4244,aut,et,4244 +4245,ex,sint,4245 +4246,temporibus,autem,4246 +4247,et,provident,4247 +4248,doloribus,iusto,4248 +4249,ut,facilis,4249 +4250,eum,a,4250 +4251,placeat,et,4251 +4252,rerum,aliquid,4252 +4253,dicta,quibusdam,4253 +4254,explicabo,molestiae,4254 +4255,et,officia,4255 +4256,dolores,provident,4256 +4257,corrupti,aliquid,4257 +4258,consequatur,quia,4258 +4259,itaque,non,4259 +4260,quia,adipisci,4260 +4261,dolorem,dolore,4261 +4262,unde,autem,4262 +4263,vitae,voluptas,4263 +4264,sint,quos,4264 +4265,vel,non,4265 +4266,ullam,corporis,4266 +4267,quam,occaecati,4267 +4268,vel,harum,4268 +4269,sint,quos,4269 +4270,fugit,quia,4270 +4271,qui,illo,4271 +4272,ipsam,deleniti,4272 +4273,omnis,magnam,4273 +4274,delectus,atque,4274 +4275,qui,iste,4275 +4276,voluptates,dolores,4276 +4277,voluptatem,illo,4277 +4278,aspernatur,sapiente,4278 +4279,maiores,fugiat,4279 +4280,qui,molestiae,4280 +4281,consequuntur,ipsum,4281 +4282,quia,modi,4282 +4283,est,eum,4283 +4284,at,aperiam,4284 +4285,culpa,soluta,4285 +4286,nulla,nisi,4286 +4287,quas,accusamus,4287 +4288,provident,id,4288 +4289,rerum,culpa,4289 +4290,autem,odit,4290 +4291,laborum,aspernatur,4291 +4292,unde,tempore,4292 +4293,aut,minus,4293 +4294,quae,eius,4294 +4295,quo,quas,4295 +4296,minus,deserunt,4296 +4297,nisi,et,4297 +4298,consequatur,hic,4298 +4299,earum,et,4299 +4300,vero,consequatur,4300 +4301,libero,et,4301 +4302,est,quia,4302 +4303,suscipit,sed,4303 +4304,rem,qui,4304 +4305,quae,quam,4305 +4306,tempora,eos,4306 +4307,ipsum,iusto,4307 +4308,debitis,qui,4308 +4309,eum,non,4309 +4310,aut,necessitatibus,4310 +4311,occaecati,quo,4311 +4312,atque,quidem,4312 +4313,non,ea,4313 +4314,et,et,4314 +4315,quia,praesentium,4315 +4316,placeat,iusto,4316 +4317,quia,cumque,4317 +4318,laboriosam,nam,4318 +4319,porro,dolorem,4319 +4320,neque,accusantium,4320 +4321,natus,corporis,4321 +4322,non,itaque,4322 +4323,reiciendis,officiis,4323 +4324,ut,ut,4324 +4325,alias,accusamus,4325 +4326,et,nihil,4326 +4327,consectetur,illum,4327 +4328,expedita,ipsa,4328 +4329,repellendus,repellat,4329 +4330,non,maxime,4330 +4331,itaque,ut,4331 +4332,itaque,aut,4332 +4333,velit,at,4333 +4334,quod,harum,4334 +4335,et,aut,4335 +4336,suscipit,et,4336 +4337,omnis,repellat,4337 +4338,est,fugiat,4338 +4339,assumenda,consequatur,4339 +4340,sed,et,4340 +4341,exercitationem,unde,4341 +4342,enim,velit,4342 +4343,sit,iusto,4343 +4344,qui,laudantium,4344 +4345,dolor,voluptas,4345 +4346,cupiditate,et,4346 +4347,et,nisi,4347 +4348,labore,doloribus,4348 +4349,rerum,molestiae,4349 +4350,qui,qui,4350 +4351,ut,minima,4351 +4352,et,dolorem,4352 +4353,sit,ut,4353 +4354,fugiat,veritatis,4354 +4355,inventore,rem,4355 +4356,iure,voluptatem,4356 +4357,illo,sint,4357 +4358,magnam,recusandae,4358 +4359,qui,et,4359 +4360,fuga,a,4360 +4361,voluptates,aliquid,4361 +4362,nihil,similique,4362 +4363,ut,cumque,4363 +4364,corrupti,omnis,4364 +4365,harum,iure,4365 +4366,recusandae,saepe,4366 +4367,sint,magni,4367 +4368,nemo,voluptatem,4368 +4369,enim,necessitatibus,4369 +4370,et,aut,4370 +4371,sapiente,ducimus,4371 +4372,voluptas,cumque,4372 +4373,perspiciatis,neque,4373 +4374,quasi,nobis,4374 +4375,sit,debitis,4375 +4376,rerum,cupiditate,4376 +4377,quas,fuga,4377 +4378,iste,voluptatem,4378 +4379,rerum,voluptas,4379 +4380,temporibus,quis,4380 +4381,minima,ratione,4381 +4382,dolores,eveniet,4382 +4383,reiciendis,dolor,4383 +4384,repudiandae,quas,4384 +4385,beatae,odio,4385 +4386,ut,ad,4386 +4387,autem,doloribus,4387 +4388,dolor,ut,4388 +4389,rem,in,4389 +4390,natus,ut,4390 +4391,amet,enim,4391 +4392,sit,ut,4392 +4393,aut,quia,4393 +4394,id,enim,4394 +4395,tempore,optio,4395 +4396,ut,in,4396 +4397,sed,ratione,4397 +4398,quo,laborum,4398 +4399,suscipit,totam,4399 +4400,ad,dignissimos,4400 +4401,consequatur,et,4401 +4402,laudantium,non,4402 +4403,soluta,atque,4403 +4404,cum,esse,4404 +4405,ad,fuga,4405 +4406,dolor,sint,4406 +4407,et,sunt,4407 +4408,earum,atque,4408 +4409,fugit,exercitationem,4409 +4410,aut,praesentium,4410 +4411,neque,natus,4411 +4412,nemo,ea,4412 +4413,autem,fuga,4413 +4414,autem,fugit,4414 +4415,eaque,vel,4415 +4416,eum,optio,4416 +4417,sit,ut,4417 +4418,ea,earum,4418 +4419,voluptatum,facilis,4419 +4420,sit,ut,4420 +4421,vitae,assumenda,4421 +4422,voluptate,est,4422 +4423,at,sed,4423 +4424,eligendi,libero,4424 +4425,quia,natus,4425 +4426,laudantium,non,4426 +4427,minus,sequi,4427 +4428,facilis,ratione,4428 +4429,quis,quasi,4429 +4430,sunt,porro,4430 +4431,accusantium,magni,4431 +4432,quibusdam,sunt,4432 +4433,cupiditate,quo,4433 +4434,accusamus,nostrum,4434 +4435,praesentium,facilis,4435 +4436,debitis,tempora,4436 +4437,consectetur,ut,4437 +4438,temporibus,saepe,4438 +4439,minus,nobis,4439 +4440,qui,deserunt,4440 +4441,exercitationem,in,4441 +4442,quibusdam,maiores,4442 +4443,odit,ullam,4443 +4444,id,omnis,4444 +4445,suscipit,voluptatem,4445 +4446,perferendis,consequatur,4446 +4447,et,similique,4447 +4448,nemo,ipsum,4448 +4449,vel,occaecati,4449 +4450,ut,ratione,4450 +4451,modi,enim,4451 +4452,esse,placeat,4452 +4453,autem,soluta,4453 +4454,consequatur,perferendis,4454 +4455,qui,rerum,4455 +4456,soluta,quaerat,4456 +4457,sint,id,4457 +4458,aut,dignissimos,4458 +4459,ipsa,facilis,4459 +4460,nulla,numquam,4460 +4461,enim,et,4461 +4462,similique,laudantium,4462 +4463,voluptas,facere,4463 +4464,magni,sed,4464 +4465,temporibus,quia,4465 +4466,aut,esse,4466 +4467,possimus,molestiae,4467 +4468,assumenda,corporis,4468 +4469,minus,sunt,4469 +4470,dolores,dolores,4470 +4471,excepturi,consequuntur,4471 +4472,enim,consectetur,4472 +4473,incidunt,cum,4473 +4474,distinctio,aliquid,4474 +4475,mollitia,sed,4475 +4476,voluptas,et,4476 +4477,provident,ad,4477 +4478,eligendi,quia,4478 +4479,provident,aperiam,4479 +4480,quia,vitae,4480 +4481,nemo,et,4481 +4482,dolor,a,4482 +4483,labore,totam,4483 +4484,eveniet,quod,4484 +4485,id,omnis,4485 +4486,et,esse,4486 +4487,non,quo,4487 +4488,aliquam,accusamus,4488 +4489,qui,eveniet,4489 +4490,consequatur,temporibus,4490 +4491,distinctio,natus,4491 +4492,aliquam,non,4492 +4493,pariatur,minima,4493 +4494,magnam,nihil,4494 +4495,corrupti,voluptas,4495 +4496,eum,voluptas,4496 +4497,sed,dicta,4497 +4498,quis,sequi,4498 +4499,voluptas,exercitationem,4499 +4500,neque,qui,4500 +4501,eum,consequatur,4501 +4502,ut,perferendis,4502 +4503,quaerat,dolorum,4503 +4504,soluta,officiis,4504 +4505,porro,ea,4505 +4506,itaque,laboriosam,4506 +4507,autem,aliquid,4507 +4508,odio,aut,4508 +4509,blanditiis,illum,4509 +4510,non,tempore,4510 +4511,error,itaque,4511 +4512,maxime,et,4512 +4513,eaque,fugiat,4513 +4514,esse,debitis,4514 +4515,sed,aut,4515 +4516,velit,qui,4516 +4517,molestias,inventore,4517 +4518,ipsa,libero,4518 +4519,velit,tempora,4519 +4520,recusandae,error,4520 +4521,qui,eos,4521 +4522,amet,ipsa,4522 +4523,voluptas,neque,4523 +4524,rerum,voluptatem,4524 +4525,enim,laboriosam,4525 +4526,laboriosam,in,4526 +4527,rerum,rerum,4527 +4528,minima,nulla,4528 +4529,earum,labore,4529 +4530,molestiae,non,4530 +4531,et,ipsam,4531 +4532,molestias,eum,4532 +4533,nemo,voluptatem,4533 +4534,similique,consequatur,4534 +4535,omnis,ab,4535 +4536,nisi,aut,4536 +4537,molestias,ipsam,4537 +4538,eligendi,quo,4538 +4539,voluptatem,ut,4539 +4540,ut,sit,4540 +4541,et,possimus,4541 +4542,sint,delectus,4542 +4543,consequatur,aut,4543 +4544,nisi,optio,4544 +4545,nam,sit,4545 +4546,iusto,est,4546 +4547,earum,nostrum,4547 +4548,nihil,quam,4548 +4549,consectetur,dignissimos,4549 +4550,et,et,4550 +4551,quia,corporis,4551 +4552,molestiae,sequi,4552 +4553,voluptas,est,4553 +4554,impedit,dolor,4554 +4555,vel,commodi,4555 +4556,dolores,explicabo,4556 +4557,dolores,amet,4557 +4558,asperiores,culpa,4558 +4559,ullam,necessitatibus,4559 +4560,voluptatem,quam,4560 +4561,asperiores,exercitationem,4561 +4562,et,vel,4562 +4563,omnis,expedita,4563 +4564,doloremque,dignissimos,4564 +4565,recusandae,quia,4565 +4566,tempore,eum,4566 +4567,voluptas,officiis,4567 +4568,impedit,suscipit,4568 +4569,sed,facilis,4569 +4570,aut,aliquam,4570 +4571,eos,omnis,4571 +4572,possimus,rerum,4572 +4573,consequatur,mollitia,4573 +4574,voluptas,tempore,4574 +4575,pariatur,sapiente,4575 +4576,deleniti,veritatis,4576 +4577,sunt,id,4577 +4578,ad,et,4578 +4579,quod,quod,4579 +4580,minus,beatae,4580 +4581,est,aut,4581 +4582,maiores,et,4582 +4583,eius,laboriosam,4583 +4584,consectetur,temporibus,4584 +4585,unde,omnis,4585 +4586,possimus,aut,4586 +4587,quos,animi,4587 +4588,in,quae,4588 +4589,quia,qui,4589 +4590,tempore,possimus,4590 +4591,aliquam,praesentium,4591 +4592,est,non,4592 +4593,minus,fuga,4593 +4594,vel,fuga,4594 +4595,et,enim,4595 +4596,beatae,magni,4596 +4597,nisi,voluptatem,4597 +4598,et,nemo,4598 +4599,qui,minima,4599 +4600,facilis,non,4600 +4601,fugiat,non,4601 +4602,non,sint,4602 +4603,maxime,est,4603 +4604,porro,qui,4604 +4605,unde,modi,4605 +4606,inventore,consectetur,4606 +4607,est,qui,4607 +4608,illum,sit,4608 +4609,illo,ea,4609 +4610,corrupti,est,4610 +4611,et,est,4611 +4612,porro,distinctio,4612 +4613,qui,autem,4613 +4614,sunt,delectus,4614 +4615,similique,quos,4615 +4616,molestiae,nihil,4616 +4617,qui,maxime,4617 +4618,quas,libero,4618 +4619,voluptate,id,4619 +4620,libero,modi,4620 +4621,voluptas,qui,4621 +4622,architecto,minus,4622 +4623,itaque,reiciendis,4623 +4624,rerum,praesentium,4624 +4625,temporibus,est,4625 +4626,blanditiis,est,4626 +4627,accusamus,inventore,4627 +4628,aperiam,voluptatibus,4628 +4629,sunt,minima,4629 +4630,ipsam,id,4630 +4631,aut,pariatur,4631 +4632,at,itaque,4632 +4633,nihil,fugit,4633 +4634,vero,sed,4634 +4635,eaque,non,4635 +4636,assumenda,veritatis,4636 +4637,ipsam,eum,4637 +4638,dolorem,sed,4638 +4639,esse,tempora,4639 +4640,doloremque,odit,4640 +4641,sit,ipsam,4641 +4642,a,qui,4642 +4643,reprehenderit,dolore,4643 +4644,labore,necessitatibus,4644 +4645,velit,quia,4645 +4646,vitae,dignissimos,4646 +4647,incidunt,eaque,4647 +4648,ab,commodi,4648 +4649,perspiciatis,itaque,4649 +4650,ullam,voluptas,4650 +4651,qui,sit,4651 +4652,ducimus,rerum,4652 +4653,voluptas,voluptates,4653 +4654,eos,animi,4654 +4655,assumenda,deleniti,4655 +4656,repellat,sunt,4656 +4657,voluptate,illo,4657 +4658,est,similique,4658 +4659,vel,corporis,4659 +4660,pariatur,dicta,4660 +4661,sapiente,quisquam,4661 +4662,aut,quibusdam,4662 +4663,molestiae,in,4663 +4664,eligendi,ea,4664 +4665,tenetur,corrupti,4665 +4666,itaque,quia,4666 +4667,sed,facere,4667 +4668,occaecati,excepturi,4668 +4669,et,veritatis,4669 +4670,veniam,repudiandae,4670 +4671,itaque,nobis,4671 +4672,iusto,qui,4672 +4673,suscipit,voluptate,4673 +4674,sit,beatae,4674 +4675,commodi,nobis,4675 +4676,qui,voluptas,4676 +4677,enim,fugiat,4677 +4678,quod,dolor,4678 +4679,accusamus,et,4679 +4680,veniam,ut,4680 +4681,necessitatibus,consequatur,4681 +4682,vitae,magni,4682 +4683,velit,odit,4683 +4684,debitis,accusamus,4684 +4685,perferendis,eum,4685 +4686,ipsam,repellat,4686 +4687,hic,voluptatem,4687 +4688,est,rerum,4688 +4689,sequi,sit,4689 +4690,sit,qui,4690 +4691,ullam,animi,4691 +4692,voluptatibus,ipsum,4692 +4693,voluptatem,nam,4693 +4694,aliquam,iste,4694 +4695,ipsam,enim,4695 +4696,neque,reiciendis,4696 +4697,ut,et,4697 +4698,voluptatem,aut,4698 +4699,maiores,accusantium,4699 +4700,pariatur,dolor,4700 +4701,doloribus,voluptatum,4701 +4702,architecto,perspiciatis,4702 +4703,officia,ad,4703 +4704,voluptas,quod,4704 +4705,dolor,esse,4705 +4706,omnis,at,4706 +4707,esse,accusantium,4707 +4708,atque,tempora,4708 +4709,a,dicta,4709 +4710,maiores,et,4710 +4711,sed,rerum,4711 +4712,explicabo,dolorem,4712 +4713,vel,ipsum,4713 +4714,omnis,est,4714 +4715,dolorum,aut,4715 +4716,animi,repellat,4716 +4717,cumque,veniam,4717 +4718,cumque,dolorum,4718 +4719,animi,placeat,4719 +4720,cupiditate,vel,4720 +4721,eius,deleniti,4721 +4722,nostrum,est,4722 +4723,nemo,quam,4723 +4724,odio,doloribus,4724 +4725,odio,reiciendis,4725 +4726,nulla,non,4726 +4727,temporibus,vel,4727 +4728,veritatis,dicta,4728 +4729,maiores,error,4729 +4730,est,officia,4730 +4731,omnis,magnam,4731 +4732,laborum,repellendus,4732 +4733,expedita,est,4733 +4734,aut,quaerat,4734 +4735,ut,quia,4735 +4736,esse,sunt,4736 +4737,accusamus,consequatur,4737 +4738,magnam,eum,4738 +4739,qui,asperiores,4739 +4740,amet,temporibus,4740 +4741,veniam,illo,4741 +4742,culpa,delectus,4742 +4743,occaecati,maiores,4743 +4744,necessitatibus,consequatur,4744 +4745,inventore,ad,4745 +4746,qui,voluptatem,4746 +4747,earum,ipsam,4747 +4748,eveniet,rerum,4748 +4749,minima,error,4749 +4750,aliquam,dicta,4750 +4751,necessitatibus,et,4751 +4752,earum,sed,4752 +4753,veritatis,et,4753 +4754,tempora,rerum,4754 +4755,consequatur,nostrum,4755 +4756,fugiat,officiis,4756 +4757,explicabo,ea,4757 +4758,odio,alias,4758 +4759,nam,distinctio,4759 +4760,et,animi,4760 +4761,est,non,4761 +4762,quae,numquam,4762 +4763,et,velit,4763 +4764,deserunt,ut,4764 +4765,quia,minus,4765 +4766,nihil,voluptas,4766 +4767,nulla,voluptatem,4767 +4768,possimus,quis,4768 +4769,unde,nam,4769 +4770,sed,qui,4770 +4771,omnis,recusandae,4771 +4772,dolorem,id,4772 +4773,laborum,minima,4773 +4774,aut,rem,4774 +4775,dolores,pariatur,4775 +4776,officiis,atque,4776 +4777,quia,esse,4777 +4778,ex,asperiores,4778 +4779,et,magni,4779 +4780,omnis,aut,4780 +4781,sunt,et,4781 +4782,eveniet,minima,4782 +4783,tenetur,ea,4783 +4784,similique,debitis,4784 +4785,aut,sed,4785 +4786,occaecati,unde,4786 +4787,similique,officiis,4787 +4788,possimus,repudiandae,4788 +4789,consequuntur,ducimus,4789 +4790,impedit,consectetur,4790 +4791,sunt,eum,4791 +4792,similique,eaque,4792 +4793,distinctio,ea,4793 +4794,numquam,atque,4794 +4795,dolor,et,4795 +4796,molestias,eos,4796 +4797,distinctio,quidem,4797 +4798,et,similique,4798 +4799,officia,occaecati,4799 +4800,sit,qui,4800 +4801,nam,vero,4801 +4802,dolore,laborum,4802 +4803,dolorum,id,4803 +4804,id,et,4804 +4805,quos,non,4805 +4806,esse,nesciunt,4806 +4807,omnis,maxime,4807 +4808,est,ullam,4808 +4809,praesentium,repellendus,4809 +4810,et,reprehenderit,4810 +4811,hic,veniam,4811 +4812,non,voluptas,4812 +4813,omnis,adipisci,4813 +4814,totam,nihil,4814 +4815,sunt,ut,4815 +4816,numquam,est,4816 +4817,repellat,occaecati,4817 +4818,doloribus,natus,4818 +4819,delectus,sapiente,4819 +4820,minima,nostrum,4820 +4821,molestias,sequi,4821 +4822,eum,odio,4822 +4823,id,aut,4823 +4824,porro,non,4824 +4825,nihil,et,4825 +4826,quisquam,esse,4826 +4827,ea,facilis,4827 +4828,tempora,suscipit,4828 +4829,ut,aspernatur,4829 +4830,unde,quia,4830 +4831,quae,at,4831 +4832,error,voluptas,4832 +4833,aut,eum,4833 +4834,quia,aut,4834 +4835,incidunt,sed,4835 +4836,quasi,qui,4836 +4837,minima,beatae,4837 +4838,perferendis,veniam,4838 +4839,quaerat,cupiditate,4839 +4840,quisquam,quia,4840 +4841,nam,dicta,4841 +4842,et,nam,4842 +4843,perspiciatis,ullam,4843 +4844,aspernatur,dolores,4844 +4845,esse,autem,4845 +4846,sit,minima,4846 +4847,quasi,vitae,4847 +4848,et,non,4848 +4849,pariatur,doloribus,4849 +4850,eum,aperiam,4850 +4851,velit,a,4851 +4852,et,vitae,4852 +4853,aut,culpa,4853 +4854,quaerat,doloribus,4854 +4855,quia,eos,4855 +4856,eligendi,quam,4856 +4857,doloribus,ipsam,4857 +4858,quaerat,nisi,4858 +4859,laudantium,qui,4859 +4860,eum,quisquam,4860 +4861,voluptas,et,4861 +4862,animi,quis,4862 +4863,suscipit,nemo,4863 +4864,ab,cupiditate,4864 +4865,corporis,et,4865 +4866,odit,amet,4866 +4867,sed,qui,4867 +4868,voluptatibus,placeat,4868 +4869,cumque,temporibus,4869 +4870,dolor,quos,4870 +4871,eum,nemo,4871 +4872,inventore,architecto,4872 +4873,molestias,nemo,4873 +4874,incidunt,earum,4874 +4875,consequatur,aut,4875 +4876,ut,non,4876 +4877,facere,aut,4877 +4878,cumque,soluta,4878 +4879,nisi,fugiat,4879 +4880,corporis,perspiciatis,4880 +4881,ut,voluptatem,4881 +4882,reprehenderit,vitae,4882 +4883,et,qui,4883 +4884,fugiat,est,4884 +4885,laudantium,aliquid,4885 +4886,sunt,facilis,4886 +4887,voluptate,ut,4887 +4888,aut,omnis,4888 +4889,aliquam,eos,4889 +4890,maxime,quidem,4890 +4891,sapiente,qui,4891 +4892,inventore,porro,4892 +4893,rerum,labore,4893 +4894,odit,repudiandae,4894 +4895,aut,laudantium,4895 +4896,suscipit,inventore,4896 +4897,ad,ratione,4897 +4898,maiores,esse,4898 +4899,qui,a,4899 +4900,rem,accusantium,4900 +4901,id,est,4901 +4902,dolorem,aperiam,4902 +4903,tempora,vel,4903 +4904,aliquam,aperiam,4904 +4905,omnis,amet,4905 +4906,reiciendis,quam,4906 +4907,ex,eos,4907 +4908,autem,ad,4908 +4909,corrupti,magnam,4909 +4910,cupiditate,aspernatur,4910 +4911,cupiditate,consequatur,4911 +4912,sint,dicta,4912 +4913,fugiat,saepe,4913 +4914,perspiciatis,quia,4914 +4915,aut,expedita,4915 +4916,et,et,4916 +4917,vel,sunt,4917 +4918,iste,illum,4918 +4919,exercitationem,omnis,4919 +4920,quas,voluptatem,4920 +4921,perspiciatis,velit,4921 +4922,iure,quo,4922 +4923,unde,eum,4923 +4924,vero,maiores,4924 +4925,a,quis,4925 +4926,labore,sapiente,4926 +4927,vel,expedita,4927 +4928,qui,qui,4928 +4929,qui,eius,4929 +4930,exercitationem,non,4930 +4931,nam,ut,4931 +4932,qui,nihil,4932 +4933,et,esse,4933 +4934,incidunt,saepe,4934 +4935,et,nihil,4935 +4936,quos,culpa,4936 +4937,repudiandae,quo,4937 +4938,voluptatibus,autem,4938 +4939,dolores,voluptatem,4939 +4940,sed,labore,4940 +4941,quaerat,deserunt,4941 +4942,et,nostrum,4942 +4943,officiis,architecto,4943 +4944,laboriosam,nesciunt,4944 +4945,ducimus,distinctio,4945 +4946,repellendus,saepe,4946 +4947,aut,fugit,4947 +4948,architecto,iste,4948 +4949,porro,illum,4949 +4950,pariatur,qui,4950 +4951,ea,nam,4951 +4952,voluptas,est,4952 +4953,nostrum,error,4953 +4954,delectus,suscipit,4954 +4955,consectetur,error,4955 +4956,repellat,velit,4956 +4957,aliquid,ut,4957 +4958,pariatur,maxime,4958 +4959,ut,ea,4959 +4960,facilis,non,4960 +4961,in,iusto,4961 +4962,ipsa,est,4962 +4963,repellendus,distinctio,4963 +4964,nobis,eos,4964 +4965,laborum,voluptatibus,4965 +4966,tempore,ut,4966 +4967,ea,vel,4967 +4968,consequatur,doloribus,4968 +4969,aliquam,officiis,4969 +4970,ipsum,a,4970 +4971,iusto,soluta,4971 +4972,sunt,facilis,4972 +4973,nobis,veritatis,4973 +4974,qui,minima,4974 +4975,dolorem,sint,4975 +4976,mollitia,tenetur,4976 +4977,aut,atque,4977 +4978,ducimus,optio,4978 +4979,ipsa,voluptas,4979 +4980,blanditiis,voluptatem,4980 +4981,error,porro,4981 +4982,sequi,nam,4982 +4983,omnis,possimus,4983 +4984,sit,inventore,4984 +4985,quisquam,suscipit,4985 +4986,voluptatum,id,4986 +4987,voluptatibus,dolores,4987 +4988,nesciunt,et,4988 +4989,fuga,quos,4989 +4990,sed,veniam,4990 +4991,est,maiores,4991 +4992,ut,autem,4992 +4993,quia,voluptatem,4993 +4994,et,dolores,4994 +4995,nisi,voluptatibus,4995 +4996,quae,nostrum,4996 +4997,accusantium,animi,4997 +4998,animi,veniam,4998 +4999,velit,sed,4999 +5000,reprehenderit,eos,5000 diff --git a/Java-Executor/java-executor-tutorial/data/customer-data - Copy (5).txt b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (5).txt new file mode 100644 index 0000000..d36e8c7 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (5).txt @@ -0,0 +1,5000 @@ +1,omnis,adipisci,1 +2,ullam,ratione,2 +3,iusto,laborum,3 +4,animi,porro,4 +5,est,quod,5 +6,nemo,consequatur,6 +7,inventore,harum,7 +8,quidem,sed,8 +9,nostrum,distinctio,9 +10,est,sint,10 +11,fugiat,facilis,11 +12,architecto,molestiae,12 +13,qui,perspiciatis,13 +14,rerum,omnis,14 +15,rerum,quia,15 +16,non,sunt,16 +17,beatae,illo,17 +18,modi,quia,18 +19,aut,harum,19 +20,ratione,est,20 +21,molestias,aliquid,21 +22,autem,qui,22 +23,consectetur,eos,23 +24,omnis,dolorem,24 +25,consequatur,nam,25 +26,quis,suscipit,26 +27,nihil,et,27 +28,rerum,qui,28 +29,occaecati,eligendi,29 +30,exercitationem,voluptas,30 +31,suscipit,quibusdam,31 +32,blanditiis,qui,32 +33,quo,reiciendis,33 +34,quo,nesciunt,34 +35,aut,aut,35 +36,harum,est,36 +37,voluptas,est,37 +38,beatae,animi,38 +39,aut,a,39 +40,ut,sint,40 +41,voluptatem,non,41 +42,et,in,42 +43,officiis,rerum,43 +44,doloremque,in,44 +45,officiis,corporis,45 +46,sed,quia,46 +47,consequatur,qui,47 +48,quia,voluptates,48 +49,minima,omnis,49 +50,quasi,qui,50 +51,suscipit,incidunt,51 +52,ad,doloribus,52 +53,voluptate,accusantium,53 +54,praesentium,eveniet,54 +55,accusamus,at,55 +56,nihil,sed,56 +57,qui,iusto,57 +58,consequuntur,dolores,58 +59,occaecati,reprehenderit,59 +60,totam,quia,60 +61,qui,facilis,61 +62,quia,delectus,62 +63,sit,ab,63 +64,quo,iure,64 +65,rem,quis,65 +66,unde,sint,66 +67,nulla,eligendi,67 +68,in,itaque,68 +69,et,sed,69 +70,ullam,quia,70 +71,dolores,similique,71 +72,praesentium,reprehenderit,72 +73,officiis,occaecati,73 +74,eos,enim,74 +75,odit,aliquam,75 +76,modi,et,76 +77,architecto,non,77 +78,hic,dolor,78 +79,rerum,rerum,79 +80,nihil,laudantium,80 +81,quidem,beatae,81 +82,sint,repellendus,82 +83,nobis,aut,83 +84,ut,beatae,84 +85,molestiae,at,85 +86,dolor,voluptatem,86 +87,voluptates,aut,87 +88,fuga,laborum,88 +89,voluptas,dicta,89 +90,cum,temporibus,90 +91,nesciunt,rerum,91 +92,est,tempora,92 +93,ratione,ducimus,93 +94,eum,aut,94 +95,neque,quae,95 +96,dolore,sunt,96 +97,voluptas,quibusdam,97 +98,omnis,temporibus,98 +99,ipsa,delectus,99 +100,non,illum,100 +101,consequuntur,et,101 +102,non,eum,102 +103,enim,unde,103 +104,itaque,provident,104 +105,quod,nesciunt,105 +106,sed,non,106 +107,commodi,qui,107 +108,odio,soluta,108 +109,inventore,assumenda,109 +110,officia,in,110 +111,quis,dolorem,111 +112,harum,sed,112 +113,autem,reprehenderit,113 +114,consequatur,aut,114 +115,ab,sed,115 +116,porro,aut,116 +117,ut,ratione,117 +118,asperiores,dicta,118 +119,illum,enim,119 +120,possimus,quae,120 +121,quidem,repudiandae,121 +122,porro,quis,122 +123,molestiae,et,123 +124,cupiditate,pariatur,124 +125,nemo,quos,125 +126,praesentium,aut,126 +127,vel,illo,127 +128,molestias,cupiditate,128 +129,quis,sequi,129 +130,autem,nesciunt,130 +131,non,voluptas,131 +132,architecto,odit,132 +133,eum,pariatur,133 +134,necessitatibus,reprehenderit,134 +135,ea,eos,135 +136,omnis,sed,136 +137,nostrum,tempore,137 +138,doloremque,placeat,138 +139,alias,dolorem,139 +140,recusandae,et,140 +141,earum,perspiciatis,141 +142,est,magnam,142 +143,deleniti,magnam,143 +144,aut,numquam,144 +145,rerum,nemo,145 +146,delectus,mollitia,146 +147,alias,porro,147 +148,occaecati,mollitia,148 +149,recusandae,quisquam,149 +150,molestias,laborum,150 +151,tenetur,amet,151 +152,consequatur,ipsum,152 +153,minima,rerum,153 +154,natus,ullam,154 +155,ex,est,155 +156,dignissimos,voluptatem,156 +157,et,doloribus,157 +158,adipisci,dolor,158 +159,qui,optio,159 +160,veniam,soluta,160 +161,saepe,nobis,161 +162,facere,voluptas,162 +163,accusantium,ea,163 +164,reiciendis,porro,164 +165,quos,libero,165 +166,facere,debitis,166 +167,ab,accusamus,167 +168,beatae,suscipit,168 +169,atque,atque,169 +170,quod,ipsa,170 +171,hic,aut,171 +172,quas,delectus,172 +173,illum,vel,173 +174,odit,quia,174 +175,et,eum,175 +176,sunt,ipsa,176 +177,atque,voluptate,177 +178,autem,porro,178 +179,quis,nostrum,179 +180,natus,sint,180 +181,corrupti,sed,181 +182,exercitationem,dolorum,182 +183,et,dolores,183 +184,nisi,esse,184 +185,accusamus,ut,185 +186,quae,ratione,186 +187,tempora,ut,187 +188,et,magnam,188 +189,doloremque,et,189 +190,vel,sit,190 +191,tempora,dolore,191 +192,tempore,suscipit,192 +193,exercitationem,alias,193 +194,magnam,similique,194 +195,ipsum,velit,195 +196,eos,consequatur,196 +197,vel,esse,197 +198,sed,placeat,198 +199,at,omnis,199 +200,amet,veritatis,200 +201,quod,cupiditate,201 +202,non,quo,202 +203,corporis,dignissimos,203 +204,autem,quis,204 +205,repellat,aut,205 +206,rerum,aut,206 +207,reiciendis,quia,207 +208,et,eligendi,208 +209,id,quia,209 +210,repudiandae,dolores,210 +211,fugit,similique,211 +212,placeat,iste,212 +213,delectus,commodi,213 +214,et,illum,214 +215,totam,in,215 +216,iure,qui,216 +217,dicta,voluptas,217 +218,qui,expedita,218 +219,facilis,ut,219 +220,omnis,consequatur,220 +221,praesentium,ea,221 +222,repellendus,rerum,222 +223,odit,voluptatum,223 +224,maiores,voluptas,224 +225,quo,ut,225 +226,voluptas,impedit,226 +227,explicabo,dolorem,227 +228,tempora,quidem,228 +229,id,a,229 +230,qui,suscipit,230 +231,officiis,omnis,231 +232,ipsam,odit,232 +233,totam,omnis,233 +234,molestiae,in,234 +235,blanditiis,dolorem,235 +236,a,pariatur,236 +237,doloribus,impedit,237 +238,non,ullam,238 +239,quis,error,239 +240,sapiente,omnis,240 +241,molestias,sit,241 +242,dolores,natus,242 +243,recusandae,cumque,243 +244,odit,est,244 +245,sed,voluptas,245 +246,molestiae,et,246 +247,molestiae,vero,247 +248,quo,laudantium,248 +249,similique,cum,249 +250,dolor,modi,250 +251,voluptas,officia,251 +252,amet,eum,252 +253,impedit,est,253 +254,culpa,eveniet,254 +255,quia,occaecati,255 +256,perferendis,animi,256 +257,ut,et,257 +258,atque,et,258 +259,et,voluptatum,259 +260,reprehenderit,unde,260 +261,facilis,qui,261 +262,sequi,hic,262 +263,natus,molestias,263 +264,et,blanditiis,264 +265,sed,dolor,265 +266,et,sint,266 +267,illo,consequuntur,267 +268,totam,eos,268 +269,magnam,ea,269 +270,facere,ut,270 +271,accusantium,et,271 +272,temporibus,rem,272 +273,debitis,rerum,273 +274,et,facilis,274 +275,quia,quia,275 +276,voluptatem,eum,276 +277,exercitationem,alias,277 +278,ullam,quod,278 +279,iusto,quis,279 +280,quis,quo,280 +281,fuga,modi,281 +282,placeat,fugiat,282 +283,quidem,sunt,283 +284,ut,veritatis,284 +285,nihil,et,285 +286,qui,enim,286 +287,et,sint,287 +288,repellat,dolorem,288 +289,quia,aut,289 +290,magnam,doloremque,290 +291,accusamus,explicabo,291 +292,aut,dolor,292 +293,harum,exercitationem,293 +294,earum,sed,294 +295,repellat,vel,295 +296,laudantium,molestiae,296 +297,deserunt,omnis,297 +298,nesciunt,dolor,298 +299,repudiandae,corrupti,299 +300,nesciunt,est,300 +301,delectus,voluptas,301 +302,ut,cum,302 +303,et,rem,303 +304,doloremque,illo,304 +305,dignissimos,omnis,305 +306,nisi,in,306 +307,facilis,quo,307 +308,enim,est,308 +309,veritatis,veniam,309 +310,modi,dolore,310 +311,amet,quasi,311 +312,quibusdam,et,312 +313,nulla,occaecati,313 +314,eum,doloribus,314 +315,doloribus,labore,315 +316,numquam,repudiandae,316 +317,porro,nobis,317 +318,quia,rem,318 +319,sit,eum,319 +320,aliquid,consequatur,320 +321,officia,qui,321 +322,consequuntur,itaque,322 +323,et,vel,323 +324,ea,et,324 +325,omnis,voluptatum,325 +326,quia,id,326 +327,quos,et,327 +328,nobis,ut,328 +329,voluptas,unde,329 +330,et,voluptate,330 +331,ratione,dolor,331 +332,sed,ducimus,332 +333,dolorem,nostrum,333 +334,sint,laboriosam,334 +335,aspernatur,at,335 +336,officia,sed,336 +337,et,molestias,337 +338,facilis,ad,338 +339,et,neque,339 +340,quas,provident,340 +341,animi,quos,341 +342,tenetur,repellat,342 +343,dolores,esse,343 +344,porro,dolorem,344 +345,voluptatum,minima,345 +346,reprehenderit,voluptatem,346 +347,et,ut,347 +348,id,et,348 +349,aliquid,animi,349 +350,odio,minima,350 +351,cum,quae,351 +352,adipisci,eligendi,352 +353,qui,modi,353 +354,autem,vel,354 +355,temporibus,recusandae,355 +356,aut,assumenda,356 +357,et,consequuntur,357 +358,quas,molestias,358 +359,voluptates,dolores,359 +360,deserunt,ut,360 +361,est,incidunt,361 +362,accusamus,sed,362 +363,ut,commodi,363 +364,qui,vitae,364 +365,rerum,beatae,365 +366,perspiciatis,ipsa,366 +367,dolorem,esse,367 +368,asperiores,aut,368 +369,unde,saepe,369 +370,qui,labore,370 +371,natus,corporis,371 +372,ipsum,consequatur,372 +373,est,quos,373 +374,mollitia,aperiam,374 +375,non,dolorum,375 +376,tenetur,est,376 +377,aut,ut,377 +378,aut,neque,378 +379,accusantium,ex,379 +380,vel,impedit,380 +381,blanditiis,ea,381 +382,sint,debitis,382 +383,earum,velit,383 +384,et,tenetur,384 +385,omnis,ipsa,385 +386,magnam,ipsum,386 +387,sint,ipsam,387 +388,sit,aut,388 +389,aliquam,consequuntur,389 +390,ut,hic,390 +391,dolorem,nihil,391 +392,minima,sint,392 +393,soluta,rerum,393 +394,adipisci,perspiciatis,394 +395,et,qui,395 +396,in,voluptas,396 +397,est,nobis,397 +398,dolore,eum,398 +399,veniam,dolores,399 +400,et,eos,400 +401,earum,dolorem,401 +402,repellendus,id,402 +403,dolor,esse,403 +404,inventore,doloremque,404 +405,quas,soluta,405 +406,fuga,consectetur,406 +407,dignissimos,in,407 +408,consectetur,dolores,408 +409,non,autem,409 +410,modi,cumque,410 +411,cum,totam,411 +412,quam,ipsam,412 +413,ipsum,soluta,413 +414,expedita,consectetur,414 +415,quo,voluptatibus,415 +416,autem,quas,416 +417,et,cum,417 +418,unde,et,418 +419,alias,perferendis,419 +420,qui,praesentium,420 +421,vel,dolor,421 +422,provident,pariatur,422 +423,est,omnis,423 +424,quaerat,adipisci,424 +425,quo,beatae,425 +426,dolor,omnis,426 +427,aut,velit,427 +428,possimus,animi,428 +429,quis,maiores,429 +430,libero,et,430 +431,in,quis,431 +432,id,dignissimos,432 +433,officiis,similique,433 +434,asperiores,est,434 +435,et,nulla,435 +436,autem,veritatis,436 +437,et,eum,437 +438,et,at,438 +439,ipsam,sed,439 +440,quis,aut,440 +441,est,non,441 +442,exercitationem,corrupti,442 +443,repellendus,et,443 +444,deserunt,quibusdam,444 +445,est,sit,445 +446,veritatis,ab,446 +447,impedit,illum,447 +448,eos,aut,448 +449,atque,sequi,449 +450,eaque,cum,450 +451,aut,minima,451 +452,nostrum,animi,452 +453,quos,dignissimos,453 +454,perspiciatis,nostrum,454 +455,in,dolor,455 +456,aut,aperiam,456 +457,quia,autem,457 +458,non,reprehenderit,458 +459,nisi,minus,459 +460,libero,ratione,460 +461,dicta,sequi,461 +462,dolorum,enim,462 +463,dicta,quia,463 +464,non,itaque,464 +465,eum,accusantium,465 +466,ut,atque,466 +467,quibusdam,sit,467 +468,quidem,quo,468 +469,animi,et,469 +470,mollitia,commodi,470 +471,repudiandae,tempore,471 +472,non,exercitationem,472 +473,cum,quia,473 +474,sed,reprehenderit,474 +475,ducimus,sunt,475 +476,dignissimos,neque,476 +477,doloribus,eos,477 +478,perferendis,itaque,478 +479,sit,blanditiis,479 +480,earum,repellendus,480 +481,aut,et,481 +482,qui,assumenda,482 +483,ut,sunt,483 +484,aut,id,484 +485,ut,qui,485 +486,provident,quas,486 +487,blanditiis,laudantium,487 +488,sit,fugit,488 +489,quo,molestias,489 +490,modi,suscipit,490 +491,ut,et,491 +492,corrupti,cumque,492 +493,neque,dolorem,493 +494,quod,est,494 +495,aut,ut,495 +496,rerum,impedit,496 +497,saepe,odio,497 +498,nihil,enim,498 +499,molestias,provident,499 +500,neque,maxime,500 +501,quisquam,possimus,501 +502,at,ut,502 +503,sed,esse,503 +504,ullam,dolorem,504 +505,nobis,quia,505 +506,quidem,incidunt,506 +507,harum,non,507 +508,voluptate,qui,508 +509,quod,expedita,509 +510,dolorum,qui,510 +511,neque,optio,511 +512,et,eos,512 +513,voluptatem,dolorum,513 +514,blanditiis,totam,514 +515,et,amet,515 +516,assumenda,repudiandae,516 +517,sit,ex,517 +518,id,omnis,518 +519,a,est,519 +520,deleniti,optio,520 +521,nemo,rerum,521 +522,minima,quae,522 +523,quis,mollitia,523 +524,a,doloremque,524 +525,tempora,consectetur,525 +526,tempora,incidunt,526 +527,aspernatur,facilis,527 +528,consequatur,numquam,528 +529,ipsam,qui,529 +530,pariatur,aperiam,530 +531,laudantium,aliquam,531 +532,qui,voluptas,532 +533,et,optio,533 +534,officia,sapiente,534 +535,corporis,quae,535 +536,quia,nobis,536 +537,magni,cum,537 +538,eos,vel,538 +539,possimus,necessitatibus,539 +540,qui,modi,540 +541,in,necessitatibus,541 +542,velit,iusto,542 +543,ipsa,excepturi,543 +544,quisquam,rem,544 +545,sunt,voluptatem,545 +546,nesciunt,nulla,546 +547,aut,reprehenderit,547 +548,ut,modi,548 +549,natus,officiis,549 +550,ducimus,aut,550 +551,id,nihil,551 +552,error,ducimus,552 +553,vel,rerum,553 +554,dolorum,distinctio,554 +555,dolorum,officia,555 +556,voluptas,expedita,556 +557,non,et,557 +558,porro,voluptas,558 +559,omnis,sit,559 +560,hic,rerum,560 +561,rerum,voluptas,561 +562,vel,aliquam,562 +563,delectus,inventore,563 +564,consequatur,commodi,564 +565,est,ex,565 +566,et,sed,566 +567,qui,quo,567 +568,voluptas,aut,568 +569,enim,similique,569 +570,qui,eos,570 +571,ut,repudiandae,571 +572,sint,dignissimos,572 +573,ea,est,573 +574,asperiores,voluptatem,574 +575,dolores,ut,575 +576,excepturi,molestiae,576 +577,tempora,et,577 +578,expedita,nulla,578 +579,odio,at,579 +580,perferendis,enim,580 +581,nisi,at,581 +582,earum,ex,582 +583,omnis,voluptate,583 +584,molestiae,rerum,584 +585,consequuntur,odio,585 +586,odio,nulla,586 +587,dolorem,autem,587 +588,necessitatibus,et,588 +589,et,consequatur,589 +590,dignissimos,nemo,590 +591,culpa,quia,591 +592,voluptatem,aspernatur,592 +593,quo,saepe,593 +594,vel,quod,594 +595,temporibus,dolor,595 +596,eum,aliquid,596 +597,enim,omnis,597 +598,omnis,veritatis,598 +599,quo,quae,599 +600,ex,ullam,600 +601,sed,atque,601 +602,esse,sit,602 +603,eligendi,non,603 +604,inventore,esse,604 +605,non,omnis,605 +606,error,nostrum,606 +607,porro,modi,607 +608,omnis,quia,608 +609,omnis,unde,609 +610,minus,eveniet,610 +611,pariatur,a,611 +612,a,recusandae,612 +613,tempora,nulla,613 +614,corporis,velit,614 +615,et,molestiae,615 +616,in,temporibus,616 +617,qui,placeat,617 +618,est,quia,618 +619,consequatur,sequi,619 +620,non,et,620 +621,animi,a,621 +622,quidem,molestiae,622 +623,deleniti,harum,623 +624,nemo,nam,624 +625,et,quos,625 +626,blanditiis,alias,626 +627,rem,optio,627 +628,similique,unde,628 +629,iusto,odit,629 +630,architecto,rem,630 +631,veniam,pariatur,631 +632,debitis,quis,632 +633,odit,nobis,633 +634,consequatur,ipsum,634 +635,neque,ad,635 +636,doloribus,sint,636 +637,beatae,reiciendis,637 +638,quos,sit,638 +639,vero,eos,639 +640,excepturi,autem,640 +641,est,omnis,641 +642,nobis,voluptatibus,642 +643,consectetur,eum,643 +644,ab,sed,644 +645,ea,in,645 +646,corporis,sapiente,646 +647,tempora,recusandae,647 +648,expedita,itaque,648 +649,quis,exercitationem,649 +650,ut,est,650 +651,eum,quo,651 +652,qui,odit,652 +653,velit,et,653 +654,modi,minus,654 +655,quisquam,quos,655 +656,ut,molestiae,656 +657,consequatur,occaecati,657 +658,architecto,aut,658 +659,impedit,error,659 +660,voluptatem,aliquid,660 +661,perspiciatis,unde,661 +662,corrupti,aut,662 +663,voluptatem,eaque,663 +664,ut,facilis,664 +665,perspiciatis,similique,665 +666,aut,sed,666 +667,ea,ut,667 +668,magnam,quia,668 +669,eius,et,669 +670,ad,rerum,670 +671,sunt,ut,671 +672,ab,nemo,672 +673,voluptatem,dolores,673 +674,unde,saepe,674 +675,blanditiis,quibusdam,675 +676,alias,est,676 +677,eum,consequatur,677 +678,aut,velit,678 +679,repellendus,architecto,679 +680,voluptas,corrupti,680 +681,quod,maiores,681 +682,sit,et,682 +683,odit,harum,683 +684,molestiae,ex,684 +685,modi,ut,685 +686,non,asperiores,686 +687,officiis,odio,687 +688,repudiandae,iure,688 +689,aliquid,quaerat,689 +690,cumque,rerum,690 +691,facilis,sed,691 +692,ipsam,nobis,692 +693,dolor,mollitia,693 +694,soluta,necessitatibus,694 +695,voluptatibus,possimus,695 +696,non,doloremque,696 +697,sed,odio,697 +698,incidunt,fugiat,698 +699,ducimus,quis,699 +700,et,consequatur,700 +701,unde,non,701 +702,placeat,ratione,702 +703,vel,odio,703 +704,qui,tenetur,704 +705,id,similique,705 +706,voluptatem,facilis,706 +707,fuga,a,707 +708,ex,deserunt,708 +709,mollitia,laborum,709 +710,natus,quibusdam,710 +711,beatae,et,711 +712,voluptatem,non,712 +713,vel,laboriosam,713 +714,suscipit,distinctio,714 +715,et,rerum,715 +716,debitis,facere,716 +717,voluptatibus,id,717 +718,voluptatum,vitae,718 +719,velit,odio,719 +720,aspernatur,est,720 +721,laudantium,id,721 +722,esse,et,722 +723,saepe,debitis,723 +724,esse,explicabo,724 +725,ut,dolore,725 +726,excepturi,quia,726 +727,voluptas,ut,727 +728,voluptas,debitis,728 +729,dolor,consectetur,729 +730,sapiente,ut,730 +731,alias,in,731 +732,dolorem,at,732 +733,laborum,sed,733 +734,voluptatibus,non,734 +735,minus,soluta,735 +736,dolores,vero,736 +737,nihil,aut,737 +738,facilis,adipisci,738 +739,qui,voluptatem,739 +740,autem,aut,740 +741,voluptatem,atque,741 +742,voluptatibus,aspernatur,742 +743,repellendus,dolorem,743 +744,voluptatum,fugit,744 +745,quod,ut,745 +746,reprehenderit,quo,746 +747,totam,ut,747 +748,ex,quisquam,748 +749,reprehenderit,blanditiis,749 +750,sed,labore,750 +751,ut,est,751 +752,repellendus,nam,752 +753,quia,voluptas,753 +754,sit,a,754 +755,perferendis,nostrum,755 +756,nihil,fuga,756 +757,doloribus,et,757 +758,ipsam,velit,758 +759,rem,veniam,759 +760,fuga,possimus,760 +761,incidunt,sint,761 +762,vero,rerum,762 +763,ad,assumenda,763 +764,praesentium,exercitationem,764 +765,ut,reprehenderit,765 +766,id,quia,766 +767,doloribus,iure,767 +768,deleniti,quia,768 +769,pariatur,sit,769 +770,molestias,unde,770 +771,sint,enim,771 +772,amet,beatae,772 +773,commodi,dolores,773 +774,omnis,consectetur,774 +775,dignissimos,perspiciatis,775 +776,deserunt,aut,776 +777,doloremque,ipsam,777 +778,aut,et,778 +779,a,quibusdam,779 +780,vero,quasi,780 +781,et,officia,781 +782,accusamus,et,782 +783,explicabo,voluptas,783 +784,autem,fugit,784 +785,non,cumque,785 +786,et,est,786 +787,laborum,facere,787 +788,et,facilis,788 +789,consequatur,aut,789 +790,voluptas,quisquam,790 +791,tempore,veritatis,791 +792,quos,deserunt,792 +793,modi,accusantium,793 +794,pariatur,ea,794 +795,ducimus,voluptas,795 +796,sed,et,796 +797,nostrum,nemo,797 +798,enim,vel,798 +799,eum,cupiditate,799 +800,et,ab,800 +801,aut,amet,801 +802,et,non,802 +803,eaque,blanditiis,803 +804,veniam,dolorum,804 +805,dolorum,necessitatibus,805 +806,delectus,sit,806 +807,et,nisi,807 +808,quasi,architecto,808 +809,ut,nisi,809 +810,minima,a,810 +811,quam,soluta,811 +812,ratione,rerum,812 +813,fugit,iure,813 +814,temporibus,distinctio,814 +815,quas,ea,815 +816,mollitia,harum,816 +817,temporibus,quis,817 +818,consequatur,ea,818 +819,beatae,laudantium,819 +820,adipisci,vero,820 +821,eum,consequuntur,821 +822,voluptatibus,perspiciatis,822 +823,quisquam,excepturi,823 +824,sequi,quia,824 +825,et,sequi,825 +826,ab,iste,826 +827,fugit,explicabo,827 +828,voluptatem,rerum,828 +829,aut,illum,829 +830,voluptas,consectetur,830 +831,omnis,sed,831 +832,est,asperiores,832 +833,sapiente,ipsum,833 +834,quam,eum,834 +835,ex,provident,835 +836,temporibus,dolorem,836 +837,labore,explicabo,837 +838,quas,nobis,838 +839,doloremque,sed,839 +840,consequatur,et,840 +841,et,distinctio,841 +842,sit,consectetur,842 +843,dolores,fugiat,843 +844,et,delectus,844 +845,sint,voluptatem,845 +846,voluptates,quod,846 +847,eos,iure,847 +848,blanditiis,vitae,848 +849,a,aut,849 +850,molestiae,incidunt,850 +851,maiores,corporis,851 +852,numquam,maiores,852 +853,dicta,quis,853 +854,porro,non,854 +855,corrupti,ut,855 +856,non,ducimus,856 +857,aliquam,autem,857 +858,non,exercitationem,858 +859,praesentium,dolorem,859 +860,possimus,provident,860 +861,rem,fuga,861 +862,ut,cupiditate,862 +863,ut,est,863 +864,voluptas,eius,864 +865,quia,labore,865 +866,voluptatem,officia,866 +867,alias,enim,867 +868,qui,adipisci,868 +869,molestiae,recusandae,869 +870,unde,dolorem,870 +871,cumque,est,871 +872,consequuntur,expedita,872 +873,autem,commodi,873 +874,dolorum,doloremque,874 +875,quos,animi,875 +876,qui,quos,876 +877,sunt,expedita,877 +878,voluptas,voluptatum,878 +879,magni,aut,879 +880,aspernatur,assumenda,880 +881,est,et,881 +882,ab,eius,882 +883,iusto,saepe,883 +884,asperiores,beatae,884 +885,nulla,et,885 +886,perferendis,labore,886 +887,laboriosam,sunt,887 +888,architecto,beatae,888 +889,aliquid,cumque,889 +890,libero,doloremque,890 +891,esse,et,891 +892,dolore,ipsa,892 +893,sint,ab,893 +894,ut,eos,894 +895,cumque,optio,895 +896,voluptatem,non,896 +897,velit,delectus,897 +898,beatae,temporibus,898 +899,sit,labore,899 +900,aut,et,900 +901,ipsam,ut,901 +902,et,in,902 +903,dolorem,dolorem,903 +904,ipsa,quidem,904 +905,ex,fugiat,905 +906,suscipit,quibusdam,906 +907,magni,aliquid,907 +908,itaque,laborum,908 +909,molestiae,id,909 +910,molestias,tempore,910 +911,ipsum,sed,911 +912,aut,possimus,912 +913,error,architecto,913 +914,eos,excepturi,914 +915,sed,ad,915 +916,blanditiis,sit,916 +917,odio,ipsam,917 +918,repellendus,sit,918 +919,ut,amet,919 +920,asperiores,incidunt,920 +921,voluptatem,dolore,921 +922,aspernatur,sed,922 +923,facere,et,923 +924,rerum,provident,924 +925,quos,eius,925 +926,voluptates,nisi,926 +927,aut,aut,927 +928,dolorem,sit,928 +929,et,qui,929 +930,temporibus,qui,930 +931,unde,labore,931 +932,nulla,beatae,932 +933,totam,velit,933 +934,blanditiis,et,934 +935,fugiat,exercitationem,935 +936,tempore,inventore,936 +937,molestiae,sed,937 +938,ipsum,delectus,938 +939,officiis,consectetur,939 +940,iusto,omnis,940 +941,enim,iure,941 +942,a,atque,942 +943,doloribus,impedit,943 +944,aut,velit,944 +945,dolore,amet,945 +946,qui,tempora,946 +947,sed,asperiores,947 +948,vitae,a,948 +949,corporis,omnis,949 +950,quos,nobis,950 +951,qui,quia,951 +952,architecto,doloremque,952 +953,dicta,ut,953 +954,accusantium,deleniti,954 +955,numquam,consequuntur,955 +956,cum,repellat,956 +957,fuga,tempore,957 +958,est,ut,958 +959,ipsum,in,959 +960,veniam,accusamus,960 +961,iusto,necessitatibus,961 +962,placeat,dolore,962 +963,dicta,atque,963 +964,fuga,quibusdam,964 +965,et,aut,965 +966,minus,autem,966 +967,minus,est,967 +968,odit,perspiciatis,968 +969,nam,dolorem,969 +970,qui,magnam,970 +971,qui,eos,971 +972,voluptas,molestias,972 +973,sed,odit,973 +974,et,tempora,974 +975,quo,placeat,975 +976,accusamus,ipsum,976 +977,rerum,consequatur,977 +978,et,dolor,978 +979,debitis,commodi,979 +980,qui,architecto,980 +981,repudiandae,ullam,981 +982,temporibus,magnam,982 +983,illum,aliquam,983 +984,inventore,ex,984 +985,corrupti,porro,985 +986,odit,magni,986 +987,facere,quasi,987 +988,sapiente,dignissimos,988 +989,temporibus,eum,989 +990,maiores,quo,990 +991,voluptatem,et,991 +992,expedita,quo,992 +993,nostrum,eum,993 +994,in,ut,994 +995,libero,quam,995 +996,eos,deleniti,996 +997,molestiae,nesciunt,997 +998,quisquam,voluptas,998 +999,laudantium,tempora,999 +1000,similique,sequi,1000 +1001,eius,neque,1001 +1002,deleniti,iste,1002 +1003,velit,nisi,1003 +1004,repellendus,quia,1004 +1005,est,aut,1005 +1006,voluptatem,et,1006 +1007,laudantium,consequatur,1007 +1008,atque,doloribus,1008 +1009,saepe,ullam,1009 +1010,cumque,optio,1010 +1011,molestias,beatae,1011 +1012,nihil,facilis,1012 +1013,corporis,consequatur,1013 +1014,atque,reprehenderit,1014 +1015,vero,aliquam,1015 +1016,eos,cupiditate,1016 +1017,autem,adipisci,1017 +1018,qui,fugit,1018 +1019,dolore,unde,1019 +1020,tempore,rerum,1020 +1021,et,iste,1021 +1022,eum,et,1022 +1023,quasi,placeat,1023 +1024,ullam,ipsam,1024 +1025,saepe,tempora,1025 +1026,velit,ut,1026 +1027,qui,delectus,1027 +1028,deserunt,aperiam,1028 +1029,quam,tempora,1029 +1030,reiciendis,id,1030 +1031,nihil,repellendus,1031 +1032,vel,aut,1032 +1033,pariatur,eum,1033 +1034,quidem,quos,1034 +1035,omnis,consequatur,1035 +1036,qui,aut,1036 +1037,esse,id,1037 +1038,rerum,possimus,1038 +1039,ut,molestiae,1039 +1040,rem,occaecati,1040 +1041,odit,eligendi,1041 +1042,ut,nobis,1042 +1043,inventore,similique,1043 +1044,sed,cum,1044 +1045,eligendi,facilis,1045 +1046,id,quidem,1046 +1047,placeat,id,1047 +1048,voluptas,rem,1048 +1049,sit,sed,1049 +1050,aspernatur,at,1050 +1051,beatae,fugiat,1051 +1052,reprehenderit,omnis,1052 +1053,ipsam,aperiam,1053 +1054,veniam,iusto,1054 +1055,harum,et,1055 +1056,inventore,sequi,1056 +1057,nesciunt,atque,1057 +1058,facere,et,1058 +1059,dolores,et,1059 +1060,perferendis,amet,1060 +1061,consequatur,sunt,1061 +1062,non,tempore,1062 +1063,error,eum,1063 +1064,sit,omnis,1064 +1065,sit,sit,1065 +1066,maiores,possimus,1066 +1067,quasi,autem,1067 +1068,repudiandae,similique,1068 +1069,tempora,non,1069 +1070,neque,assumenda,1070 +1071,rerum,itaque,1071 +1072,sunt,error,1072 +1073,veritatis,officia,1073 +1074,culpa,cum,1074 +1075,soluta,fugit,1075 +1076,voluptates,culpa,1076 +1077,dolorum,doloremque,1077 +1078,explicabo,qui,1078 +1079,a,magni,1079 +1080,aut,molestiae,1080 +1081,fugit,quos,1081 +1082,voluptas,officia,1082 +1083,eos,qui,1083 +1084,libero,reprehenderit,1084 +1085,qui,ea,1085 +1086,doloremque,corrupti,1086 +1087,totam,saepe,1087 +1088,laboriosam,enim,1088 +1089,aut,et,1089 +1090,et,vero,1090 +1091,et,tempore,1091 +1092,sit,atque,1092 +1093,suscipit,et,1093 +1094,perspiciatis,et,1094 +1095,qui,non,1095 +1096,molestias,consequuntur,1096 +1097,dicta,rerum,1097 +1098,dolore,ea,1098 +1099,quo,vero,1099 +1100,dolor,rem,1100 +1101,pariatur,possimus,1101 +1102,et,quo,1102 +1103,culpa,consequuntur,1103 +1104,temporibus,earum,1104 +1105,est,vel,1105 +1106,est,rerum,1106 +1107,iure,nostrum,1107 +1108,soluta,culpa,1108 +1109,eum,quo,1109 +1110,dolorem,magnam,1110 +1111,eum,adipisci,1111 +1112,perspiciatis,eligendi,1112 +1113,molestias,praesentium,1113 +1114,optio,odit,1114 +1115,aliquam,dolores,1115 +1116,natus,perferendis,1116 +1117,animi,esse,1117 +1118,tenetur,consectetur,1118 +1119,sit,consequatur,1119 +1120,ut,qui,1120 +1121,aut,ad,1121 +1122,vel,a,1122 +1123,eaque,sit,1123 +1124,aut,dolores,1124 +1125,delectus,unde,1125 +1126,veniam,minima,1126 +1127,ipsam,adipisci,1127 +1128,asperiores,vel,1128 +1129,in,voluptatem,1129 +1130,ab,natus,1130 +1131,dolorum,minima,1131 +1132,dolorum,alias,1132 +1133,et,ipsam,1133 +1134,incidunt,veritatis,1134 +1135,aut,consequatur,1135 +1136,hic,quia,1136 +1137,quo,dolor,1137 +1138,ut,optio,1138 +1139,sit,recusandae,1139 +1140,temporibus,assumenda,1140 +1141,voluptas,sint,1141 +1142,reiciendis,fugiat,1142 +1143,sed,aut,1143 +1144,voluptatem,aut,1144 +1145,accusantium,maiores,1145 +1146,facere,et,1146 +1147,voluptatum,ut,1147 +1148,nam,asperiores,1148 +1149,in,doloremque,1149 +1150,quisquam,incidunt,1150 +1151,harum,hic,1151 +1152,distinctio,est,1152 +1153,laboriosam,deleniti,1153 +1154,consectetur,eius,1154 +1155,quis,architecto,1155 +1156,occaecati,et,1156 +1157,sint,et,1157 +1158,dolorum,fugit,1158 +1159,incidunt,in,1159 +1160,minima,quisquam,1160 +1161,quas,nam,1161 +1162,sed,ut,1162 +1163,reiciendis,et,1163 +1164,odio,commodi,1164 +1165,sunt,non,1165 +1166,animi,ut,1166 +1167,consectetur,laboriosam,1167 +1168,eos,tempore,1168 +1169,rem,occaecati,1169 +1170,facilis,hic,1170 +1171,nobis,libero,1171 +1172,quod,optio,1172 +1173,illo,aut,1173 +1174,nobis,consequatur,1174 +1175,earum,ut,1175 +1176,ipsam,vel,1176 +1177,suscipit,soluta,1177 +1178,a,dolorem,1178 +1179,dicta,sed,1179 +1180,aspernatur,quibusdam,1180 +1181,temporibus,necessitatibus,1181 +1182,unde,perferendis,1182 +1183,quibusdam,praesentium,1183 +1184,similique,optio,1184 +1185,exercitationem,et,1185 +1186,qui,officiis,1186 +1187,eum,et,1187 +1188,omnis,aperiam,1188 +1189,recusandae,enim,1189 +1190,perferendis,voluptatum,1190 +1191,ut,eum,1191 +1192,consectetur,sapiente,1192 +1193,autem,qui,1193 +1194,quis,assumenda,1194 +1195,ut,cupiditate,1195 +1196,quia,dolorem,1196 +1197,excepturi,in,1197 +1198,officiis,numquam,1198 +1199,possimus,delectus,1199 +1200,veniam,recusandae,1200 +1201,quos,id,1201 +1202,ratione,corporis,1202 +1203,alias,voluptates,1203 +1204,quia,quasi,1204 +1205,animi,soluta,1205 +1206,autem,laboriosam,1206 +1207,impedit,velit,1207 +1208,est,voluptatem,1208 +1209,ut,beatae,1209 +1210,quis,tempora,1210 +1211,placeat,assumenda,1211 +1212,libero,porro,1212 +1213,minima,veniam,1213 +1214,explicabo,sed,1214 +1215,illo,consequatur,1215 +1216,necessitatibus,in,1216 +1217,recusandae,aut,1217 +1218,dicta,eos,1218 +1219,maiores,qui,1219 +1220,eum,temporibus,1220 +1221,sit,libero,1221 +1222,aperiam,quia,1222 +1223,ut,est,1223 +1224,quo,qui,1224 +1225,velit,suscipit,1225 +1226,aut,qui,1226 +1227,culpa,omnis,1227 +1228,omnis,non,1228 +1229,dolore,non,1229 +1230,dolorem,quam,1230 +1231,voluptates,odio,1231 +1232,deserunt,non,1232 +1233,qui,deserunt,1233 +1234,debitis,ea,1234 +1235,accusamus,sed,1235 +1236,maiores,earum,1236 +1237,eum,vitae,1237 +1238,dolorem,maxime,1238 +1239,atque,officia,1239 +1240,rerum,sunt,1240 +1241,inventore,et,1241 +1242,sed,labore,1242 +1243,nulla,et,1243 +1244,neque,consectetur,1244 +1245,deleniti,assumenda,1245 +1246,assumenda,possimus,1246 +1247,deserunt,qui,1247 +1248,hic,et,1248 +1249,et,incidunt,1249 +1250,soluta,quos,1250 +1251,reprehenderit,natus,1251 +1252,omnis,in,1252 +1253,qui,libero,1253 +1254,occaecati,dolorem,1254 +1255,odio,rem,1255 +1256,tempora,temporibus,1256 +1257,quia,ut,1257 +1258,odit,et,1258 +1259,sapiente,optio,1259 +1260,aliquam,voluptatem,1260 +1261,dolorem,corrupti,1261 +1262,modi,necessitatibus,1262 +1263,sequi,doloremque,1263 +1264,voluptatum,dolorum,1264 +1265,sequi,quo,1265 +1266,reprehenderit,similique,1266 +1267,mollitia,molestias,1267 +1268,ut,vel,1268 +1269,quis,dolores,1269 +1270,nesciunt,consequatur,1270 +1271,praesentium,magni,1271 +1272,nemo,facilis,1272 +1273,molestiae,sint,1273 +1274,natus,est,1274 +1275,a,quibusdam,1275 +1276,sapiente,dignissimos,1276 +1277,sit,eaque,1277 +1278,possimus,illum,1278 +1279,ratione,assumenda,1279 +1280,fuga,quod,1280 +1281,quis,nam,1281 +1282,et,ut,1282 +1283,qui,accusantium,1283 +1284,molestias,aliquam,1284 +1285,ut,fugit,1285 +1286,nesciunt,dolor,1286 +1287,voluptatem,qui,1287 +1288,explicabo,iure,1288 +1289,ratione,itaque,1289 +1290,aut,non,1290 +1291,dolores,rerum,1291 +1292,nihil,dolore,1292 +1293,blanditiis,omnis,1293 +1294,in,dolor,1294 +1295,in,enim,1295 +1296,sed,repudiandae,1296 +1297,libero,delectus,1297 +1298,modi,voluptatum,1298 +1299,explicabo,impedit,1299 +1300,eum,accusantium,1300 +1301,dicta,expedita,1301 +1302,assumenda,eaque,1302 +1303,officia,necessitatibus,1303 +1304,doloremque,corrupti,1304 +1305,aut,minus,1305 +1306,aspernatur,ducimus,1306 +1307,voluptatem,deserunt,1307 +1308,quo,eum,1308 +1309,hic,ex,1309 +1310,perspiciatis,non,1310 +1311,dolore,exercitationem,1311 +1312,eligendi,itaque,1312 +1313,iure,enim,1313 +1314,nesciunt,molestias,1314 +1315,et,minima,1315 +1316,quae,et,1316 +1317,impedit,officiis,1317 +1318,dolor,at,1318 +1319,iste,ut,1319 +1320,qui,repudiandae,1320 +1321,veritatis,voluptatem,1321 +1322,ut,quis,1322 +1323,vitae,autem,1323 +1324,aliquid,quia,1324 +1325,voluptas,molestiae,1325 +1326,ratione,et,1326 +1327,architecto,et,1327 +1328,ut,occaecati,1328 +1329,nesciunt,omnis,1329 +1330,non,nihil,1330 +1331,repudiandae,consequuntur,1331 +1332,unde,animi,1332 +1333,dolorem,quis,1333 +1334,perspiciatis,culpa,1334 +1335,ratione,pariatur,1335 +1336,illo,porro,1336 +1337,veritatis,est,1337 +1338,eos,voluptates,1338 +1339,aut,reprehenderit,1339 +1340,est,corrupti,1340 +1341,doloremque,nulla,1341 +1342,sit,similique,1342 +1343,autem,ea,1343 +1344,ut,ex,1344 +1345,voluptas,qui,1345 +1346,ut,architecto,1346 +1347,aut,quisquam,1347 +1348,et,exercitationem,1348 +1349,quibusdam,ex,1349 +1350,dolores,ipsum,1350 +1351,recusandae,odit,1351 +1352,dignissimos,unde,1352 +1353,dolores,est,1353 +1354,ipsam,quibusdam,1354 +1355,repellat,eligendi,1355 +1356,atque,culpa,1356 +1357,hic,ipsum,1357 +1358,reprehenderit,aperiam,1358 +1359,fugiat,impedit,1359 +1360,quis,quasi,1360 +1361,officia,sequi,1361 +1362,architecto,recusandae,1362 +1363,labore,magnam,1363 +1364,reiciendis,qui,1364 +1365,non,ut,1365 +1366,omnis,et,1366 +1367,facere,ut,1367 +1368,est,odit,1368 +1369,ut,voluptatem,1369 +1370,excepturi,rerum,1370 +1371,amet,vitae,1371 +1372,sit,possimus,1372 +1373,debitis,ut,1373 +1374,eius,quas,1374 +1375,cum,fuga,1375 +1376,accusantium,impedit,1376 +1377,voluptate,totam,1377 +1378,molestias,aperiam,1378 +1379,aut,quasi,1379 +1380,nobis,laudantium,1380 +1381,quam,accusamus,1381 +1382,numquam,qui,1382 +1383,fugit,dolorem,1383 +1384,autem,est,1384 +1385,perferendis,harum,1385 +1386,quia,ea,1386 +1387,necessitatibus,explicabo,1387 +1388,voluptates,fuga,1388 +1389,consequatur,beatae,1389 +1390,aut,sed,1390 +1391,non,voluptatem,1391 +1392,culpa,dicta,1392 +1393,et,quasi,1393 +1394,ad,fuga,1394 +1395,quae,voluptates,1395 +1396,optio,est,1396 +1397,vel,perspiciatis,1397 +1398,enim,qui,1398 +1399,quae,ab,1399 +1400,aut,ut,1400 +1401,debitis,molestias,1401 +1402,sed,necessitatibus,1402 +1403,quo,labore,1403 +1404,minus,sunt,1404 +1405,rerum,assumenda,1405 +1406,voluptas,enim,1406 +1407,perferendis,minus,1407 +1408,sed,veritatis,1408 +1409,atque,ratione,1409 +1410,aut,voluptas,1410 +1411,qui,quod,1411 +1412,sit,voluptatem,1412 +1413,quam,ipsa,1413 +1414,excepturi,tenetur,1414 +1415,dolor,excepturi,1415 +1416,voluptate,repellendus,1416 +1417,et,ipsum,1417 +1418,ab,est,1418 +1419,accusantium,quia,1419 +1420,harum,asperiores,1420 +1421,praesentium,quaerat,1421 +1422,odit,veritatis,1422 +1423,qui,modi,1423 +1424,perferendis,quis,1424 +1425,iste,sunt,1425 +1426,omnis,explicabo,1426 +1427,ex,dolor,1427 +1428,maiores,veritatis,1428 +1429,optio,itaque,1429 +1430,beatae,praesentium,1430 +1431,ut,odio,1431 +1432,in,porro,1432 +1433,quos,exercitationem,1433 +1434,nihil,et,1434 +1435,quos,molestiae,1435 +1436,illum,quaerat,1436 +1437,dicta,tenetur,1437 +1438,ducimus,tenetur,1438 +1439,repudiandae,laudantium,1439 +1440,at,provident,1440 +1441,tempora,animi,1441 +1442,aut,voluptas,1442 +1443,ab,id,1443 +1444,rerum,ipsa,1444 +1445,quis,et,1445 +1446,odio,eum,1446 +1447,iure,sed,1447 +1448,rerum,dignissimos,1448 +1449,in,asperiores,1449 +1450,ratione,nobis,1450 +1451,distinctio,ipsa,1451 +1452,est,numquam,1452 +1453,ad,soluta,1453 +1454,quisquam,dolorem,1454 +1455,praesentium,quam,1455 +1456,sit,illum,1456 +1457,consequuntur,culpa,1457 +1458,inventore,accusantium,1458 +1459,id,aut,1459 +1460,rem,aliquid,1460 +1461,suscipit,esse,1461 +1462,exercitationem,praesentium,1462 +1463,maxime,sit,1463 +1464,culpa,repellendus,1464 +1465,quidem,voluptas,1465 +1466,repellendus,est,1466 +1467,fuga,occaecati,1467 +1468,magnam,iste,1468 +1469,aut,ad,1469 +1470,ea,iste,1470 +1471,aliquam,expedita,1471 +1472,expedita,id,1472 +1473,harum,itaque,1473 +1474,eum,iure,1474 +1475,mollitia,fuga,1475 +1476,earum,mollitia,1476 +1477,possimus,ad,1477 +1478,non,sint,1478 +1479,dolorem,nesciunt,1479 +1480,ut,minima,1480 +1481,nam,iure,1481 +1482,qui,rem,1482 +1483,sit,aliquam,1483 +1484,placeat,ipsa,1484 +1485,non,exercitationem,1485 +1486,doloribus,ullam,1486 +1487,fugit,blanditiis,1487 +1488,sed,quos,1488 +1489,sunt,qui,1489 +1490,a,assumenda,1490 +1491,doloribus,sint,1491 +1492,molestias,animi,1492 +1493,repellat,cum,1493 +1494,dicta,illo,1494 +1495,aut,laborum,1495 +1496,ex,quibusdam,1496 +1497,aut,quidem,1497 +1498,id,quos,1498 +1499,dolores,neque,1499 +1500,quam,aut,1500 +1501,aut,sit,1501 +1502,pariatur,ipsa,1502 +1503,excepturi,natus,1503 +1504,tenetur,minus,1504 +1505,ea,quam,1505 +1506,unde,in,1506 +1507,quasi,laudantium,1507 +1508,eum,nesciunt,1508 +1509,quis,sint,1509 +1510,id,aspernatur,1510 +1511,sapiente,ducimus,1511 +1512,saepe,pariatur,1512 +1513,amet,rerum,1513 +1514,numquam,nobis,1514 +1515,voluptatum,numquam,1515 +1516,in,quia,1516 +1517,quia,perferendis,1517 +1518,necessitatibus,qui,1518 +1519,asperiores,et,1519 +1520,eaque,est,1520 +1521,assumenda,pariatur,1521 +1522,ipsam,id,1522 +1523,et,quia,1523 +1524,possimus,asperiores,1524 +1525,quo,quia,1525 +1526,quia,omnis,1526 +1527,assumenda,recusandae,1527 +1528,quia,ut,1528 +1529,exercitationem,est,1529 +1530,velit,exercitationem,1530 +1531,illum,nihil,1531 +1532,a,aspernatur,1532 +1533,exercitationem,labore,1533 +1534,officiis,doloribus,1534 +1535,et,eaque,1535 +1536,ut,inventore,1536 +1537,aliquam,fuga,1537 +1538,voluptate,numquam,1538 +1539,quis,delectus,1539 +1540,sint,assumenda,1540 +1541,quae,veritatis,1541 +1542,soluta,consectetur,1542 +1543,qui,voluptatem,1543 +1544,enim,consequuntur,1544 +1545,id,id,1545 +1546,labore,provident,1546 +1547,placeat,quia,1547 +1548,nobis,odit,1548 +1549,consequatur,velit,1549 +1550,voluptates,ut,1550 +1551,ipsam,nihil,1551 +1552,eius,eum,1552 +1553,unde,suscipit,1553 +1554,sequi,ipsa,1554 +1555,eligendi,molestias,1555 +1556,reprehenderit,dolorum,1556 +1557,dolorem,maxime,1557 +1558,distinctio,maiores,1558 +1559,labore,dicta,1559 +1560,et,aut,1560 +1561,fugiat,officia,1561 +1562,itaque,blanditiis,1562 +1563,minus,qui,1563 +1564,illo,reiciendis,1564 +1565,velit,sunt,1565 +1566,mollitia,nobis,1566 +1567,ut,perspiciatis,1567 +1568,a,numquam,1568 +1569,unde,sed,1569 +1570,aut,et,1570 +1571,veniam,quis,1571 +1572,ratione,maxime,1572 +1573,adipisci,molestiae,1573 +1574,nesciunt,adipisci,1574 +1575,enim,molestiae,1575 +1576,ut,consequatur,1576 +1577,voluptates,possimus,1577 +1578,ad,excepturi,1578 +1579,repellendus,qui,1579 +1580,incidunt,minus,1580 +1581,enim,adipisci,1581 +1582,commodi,doloremque,1582 +1583,est,architecto,1583 +1584,est,est,1584 +1585,dignissimos,commodi,1585 +1586,debitis,earum,1586 +1587,ipsa,omnis,1587 +1588,quia,sunt,1588 +1589,et,quo,1589 +1590,ea,inventore,1590 +1591,distinctio,consectetur,1591 +1592,provident,voluptates,1592 +1593,et,et,1593 +1594,eaque,quos,1594 +1595,est,eum,1595 +1596,et,quaerat,1596 +1597,doloremque,voluptatem,1597 +1598,omnis,quo,1598 +1599,et,labore,1599 +1600,voluptatibus,nisi,1600 +1601,inventore,asperiores,1601 +1602,possimus,repudiandae,1602 +1603,vitae,dolore,1603 +1604,qui,occaecati,1604 +1605,et,aut,1605 +1606,quaerat,aut,1606 +1607,similique,ut,1607 +1608,aspernatur,expedita,1608 +1609,nobis,dignissimos,1609 +1610,repellat,accusantium,1610 +1611,totam,corrupti,1611 +1612,reiciendis,quod,1612 +1613,minima,quaerat,1613 +1614,harum,et,1614 +1615,repudiandae,ipsam,1615 +1616,velit,et,1616 +1617,sit,suscipit,1617 +1618,ducimus,eveniet,1618 +1619,eum,eos,1619 +1620,expedita,aspernatur,1620 +1621,qui,quas,1621 +1622,voluptates,et,1622 +1623,nisi,consequatur,1623 +1624,voluptates,dolores,1624 +1625,quam,ea,1625 +1626,commodi,similique,1626 +1627,adipisci,modi,1627 +1628,reprehenderit,autem,1628 +1629,veniam,quam,1629 +1630,doloremque,quis,1630 +1631,dignissimos,aut,1631 +1632,dolorum,enim,1632 +1633,repellat,facilis,1633 +1634,quisquam,vero,1634 +1635,iure,sed,1635 +1636,consequuntur,reiciendis,1636 +1637,dolorem,qui,1637 +1638,nisi,qui,1638 +1639,modi,qui,1639 +1640,illo,at,1640 +1641,eligendi,ea,1641 +1642,ea,sit,1642 +1643,rem,laborum,1643 +1644,ut,voluptas,1644 +1645,fugit,repellendus,1645 +1646,reprehenderit,est,1646 +1647,laudantium,id,1647 +1648,omnis,ut,1648 +1649,temporibus,officia,1649 +1650,neque,ut,1650 +1651,praesentium,delectus,1651 +1652,voluptates,rerum,1652 +1653,et,tempora,1653 +1654,fugiat,aut,1654 +1655,autem,quibusdam,1655 +1656,voluptates,doloremque,1656 +1657,ducimus,voluptas,1657 +1658,ut,dicta,1658 +1659,quibusdam,tempora,1659 +1660,vel,omnis,1660 +1661,est,aut,1661 +1662,odit,aut,1662 +1663,qui,numquam,1663 +1664,dicta,quas,1664 +1665,fugiat,rerum,1665 +1666,quia,accusamus,1666 +1667,voluptatem,perferendis,1667 +1668,quia,nobis,1668 +1669,dolore,ut,1669 +1670,esse,quidem,1670 +1671,hic,molestiae,1671 +1672,perspiciatis,ut,1672 +1673,rerum,eaque,1673 +1674,ullam,commodi,1674 +1675,qui,ducimus,1675 +1676,ut,qui,1676 +1677,eos,est,1677 +1678,sed,tenetur,1678 +1679,inventore,numquam,1679 +1680,ut,et,1680 +1681,et,et,1681 +1682,omnis,quidem,1682 +1683,dolorem,quia,1683 +1684,dignissimos,et,1684 +1685,quas,ut,1685 +1686,aperiam,qui,1686 +1687,corporis,praesentium,1687 +1688,reiciendis,eveniet,1688 +1689,laboriosam,tempore,1689 +1690,omnis,architecto,1690 +1691,quia,tempore,1691 +1692,illo,cumque,1692 +1693,blanditiis,sapiente,1693 +1694,alias,explicabo,1694 +1695,eius,voluptatum,1695 +1696,qui,cupiditate,1696 +1697,vero,numquam,1697 +1698,quidem,iure,1698 +1699,modi,aut,1699 +1700,at,quos,1700 +1701,animi,maxime,1701 +1702,cumque,vitae,1702 +1703,vel,fugit,1703 +1704,soluta,maiores,1704 +1705,asperiores,ullam,1705 +1706,et,asperiores,1706 +1707,aut,atque,1707 +1708,quasi,asperiores,1708 +1709,autem,nemo,1709 +1710,facere,laborum,1710 +1711,molestias,sint,1711 +1712,dolorem,magni,1712 +1713,amet,sit,1713 +1714,id,iure,1714 +1715,fuga,totam,1715 +1716,vitae,labore,1716 +1717,omnis,voluptatem,1717 +1718,voluptas,commodi,1718 +1719,ea,ipsam,1719 +1720,incidunt,quos,1720 +1721,ut,fugit,1721 +1722,accusamus,odio,1722 +1723,ullam,accusamus,1723 +1724,distinctio,adipisci,1724 +1725,voluptatem,alias,1725 +1726,quos,quod,1726 +1727,doloremque,ut,1727 +1728,animi,quo,1728 +1729,sunt,dicta,1729 +1730,repudiandae,voluptatem,1730 +1731,sit,ratione,1731 +1732,accusamus,minus,1732 +1733,aut,fugiat,1733 +1734,sequi,dolorem,1734 +1735,aliquid,eum,1735 +1736,et,ea,1736 +1737,commodi,iure,1737 +1738,quis,eius,1738 +1739,nulla,quaerat,1739 +1740,sequi,ut,1740 +1741,inventore,dolores,1741 +1742,incidunt,asperiores,1742 +1743,iusto,quam,1743 +1744,labore,numquam,1744 +1745,libero,ex,1745 +1746,praesentium,eos,1746 +1747,perferendis,officia,1747 +1748,et,et,1748 +1749,nesciunt,recusandae,1749 +1750,praesentium,dolor,1750 +1751,fugiat,et,1751 +1752,odio,omnis,1752 +1753,vel,voluptate,1753 +1754,aperiam,ipsum,1754 +1755,temporibus,laborum,1755 +1756,dolores,nobis,1756 +1757,nostrum,aut,1757 +1758,architecto,voluptatibus,1758 +1759,asperiores,quia,1759 +1760,suscipit,magni,1760 +1761,quia,autem,1761 +1762,illum,id,1762 +1763,voluptatem,aut,1763 +1764,quia,numquam,1764 +1765,molestiae,sed,1765 +1766,possimus,perspiciatis,1766 +1767,eius,et,1767 +1768,labore,quia,1768 +1769,dolorum,commodi,1769 +1770,alias,eos,1770 +1771,voluptatem,a,1771 +1772,labore,sed,1772 +1773,quia,quidem,1773 +1774,perferendis,recusandae,1774 +1775,dolor,voluptas,1775 +1776,doloribus,soluta,1776 +1777,pariatur,qui,1777 +1778,rerum,non,1778 +1779,rerum,fuga,1779 +1780,in,minus,1780 +1781,dolor,animi,1781 +1782,voluptates,aliquam,1782 +1783,et,nihil,1783 +1784,nulla,quo,1784 +1785,tempore,asperiores,1785 +1786,consequuntur,vitae,1786 +1787,quia,sed,1787 +1788,et,dolorum,1788 +1789,modi,doloribus,1789 +1790,officia,et,1790 +1791,sequi,maiores,1791 +1792,et,incidunt,1792 +1793,quasi,possimus,1793 +1794,enim,ipsum,1794 +1795,rem,eius,1795 +1796,debitis,illum,1796 +1797,ratione,quos,1797 +1798,nostrum,animi,1798 +1799,id,voluptatum,1799 +1800,sapiente,soluta,1800 +1801,tempore,magnam,1801 +1802,est,dolorem,1802 +1803,nam,corporis,1803 +1804,architecto,distinctio,1804 +1805,nihil,labore,1805 +1806,saepe,incidunt,1806 +1807,magnam,numquam,1807 +1808,est,voluptatem,1808 +1809,excepturi,eligendi,1809 +1810,et,veniam,1810 +1811,ipsum,hic,1811 +1812,non,dignissimos,1812 +1813,voluptas,nihil,1813 +1814,mollitia,delectus,1814 +1815,voluptatem,dolore,1815 +1816,voluptatem,modi,1816 +1817,recusandae,nihil,1817 +1818,et,commodi,1818 +1819,ad,dolor,1819 +1820,magni,esse,1820 +1821,repellat,distinctio,1821 +1822,illo,sapiente,1822 +1823,illum,sit,1823 +1824,sit,natus,1824 +1825,voluptatem,commodi,1825 +1826,dolorum,perspiciatis,1826 +1827,ipsum,recusandae,1827 +1828,cum,aut,1828 +1829,quo,sunt,1829 +1830,voluptatem,facilis,1830 +1831,non,numquam,1831 +1832,molestias,est,1832 +1833,omnis,repellat,1833 +1834,aut,illum,1834 +1835,eum,nulla,1835 +1836,earum,rem,1836 +1837,aperiam,aut,1837 +1838,ut,placeat,1838 +1839,repellat,impedit,1839 +1840,et,harum,1840 +1841,voluptatibus,et,1841 +1842,excepturi,perspiciatis,1842 +1843,culpa,nihil,1843 +1844,accusantium,ratione,1844 +1845,ut,culpa,1845 +1846,debitis,et,1846 +1847,omnis,aut,1847 +1848,debitis,voluptatibus,1848 +1849,libero,omnis,1849 +1850,corporis,quis,1850 +1851,impedit,vel,1851 +1852,amet,animi,1852 +1853,ab,incidunt,1853 +1854,quis,odit,1854 +1855,possimus,soluta,1855 +1856,ex,rerum,1856 +1857,est,voluptatem,1857 +1858,laborum,quis,1858 +1859,quia,error,1859 +1860,fugiat,ex,1860 +1861,laborum,aut,1861 +1862,possimus,eveniet,1862 +1863,impedit,a,1863 +1864,ducimus,nihil,1864 +1865,quae,quo,1865 +1866,aut,quibusdam,1866 +1867,et,minima,1867 +1868,aut,in,1868 +1869,aut,qui,1869 +1870,incidunt,atque,1870 +1871,eum,consequatur,1871 +1872,voluptatem,aut,1872 +1873,nobis,rerum,1873 +1874,dolorem,itaque,1874 +1875,sed,nam,1875 +1876,ab,rerum,1876 +1877,hic,ut,1877 +1878,error,ipsam,1878 +1879,fugiat,esse,1879 +1880,dolores,tenetur,1880 +1881,saepe,quisquam,1881 +1882,vel,est,1882 +1883,nisi,ratione,1883 +1884,nemo,facilis,1884 +1885,sed,reprehenderit,1885 +1886,asperiores,aut,1886 +1887,ut,mollitia,1887 +1888,harum,ratione,1888 +1889,repudiandae,sit,1889 +1890,aut,sequi,1890 +1891,voluptates,libero,1891 +1892,aut,dolore,1892 +1893,reiciendis,in,1893 +1894,temporibus,natus,1894 +1895,quam,voluptatem,1895 +1896,quaerat,aut,1896 +1897,minima,enim,1897 +1898,est,quia,1898 +1899,minus,non,1899 +1900,maiores,ab,1900 +1901,ea,sint,1901 +1902,incidunt,necessitatibus,1902 +1903,autem,rerum,1903 +1904,doloremque,eveniet,1904 +1905,voluptates,quo,1905 +1906,non,earum,1906 +1907,ullam,qui,1907 +1908,ut,doloribus,1908 +1909,beatae,aliquam,1909 +1910,aut,nemo,1910 +1911,eaque,et,1911 +1912,quia,voluptatibus,1912 +1913,quia,ut,1913 +1914,expedita,nesciunt,1914 +1915,et,doloribus,1915 +1916,laborum,impedit,1916 +1917,velit,dolorem,1917 +1918,officiis,repellat,1918 +1919,eum,quos,1919 +1920,iure,porro,1920 +1921,sunt,perspiciatis,1921 +1922,dolorem,dolores,1922 +1923,illo,perferendis,1923 +1924,dicta,qui,1924 +1925,vel,sit,1925 +1926,dicta,maiores,1926 +1927,eveniet,doloribus,1927 +1928,quaerat,quo,1928 +1929,unde,voluptas,1929 +1930,qui,qui,1930 +1931,sed,illum,1931 +1932,eos,sed,1932 +1933,quidem,odio,1933 +1934,sapiente,asperiores,1934 +1935,voluptatem,alias,1935 +1936,ad,ipsa,1936 +1937,quia,dolorem,1937 +1938,et,repellat,1938 +1939,quod,esse,1939 +1940,eligendi,eligendi,1940 +1941,ea,sit,1941 +1942,sunt,officia,1942 +1943,doloribus,totam,1943 +1944,possimus,quas,1944 +1945,ipsum,inventore,1945 +1946,quae,tempora,1946 +1947,cumque,sed,1947 +1948,illum,ea,1948 +1949,consequuntur,velit,1949 +1950,repudiandae,numquam,1950 +1951,impedit,aut,1951 +1952,vero,eveniet,1952 +1953,non,qui,1953 +1954,aut,et,1954 +1955,voluptates,impedit,1955 +1956,omnis,quas,1956 +1957,error,et,1957 +1958,possimus,nihil,1958 +1959,debitis,sunt,1959 +1960,aut,quas,1960 +1961,sit,sit,1961 +1962,nesciunt,aut,1962 +1963,architecto,quis,1963 +1964,vel,magni,1964 +1965,odit,odio,1965 +1966,repellendus,voluptatem,1966 +1967,soluta,explicabo,1967 +1968,repellendus,soluta,1968 +1969,omnis,aut,1969 +1970,et,molestiae,1970 +1971,architecto,in,1971 +1972,quia,dignissimos,1972 +1973,dolor,suscipit,1973 +1974,laborum,ut,1974 +1975,nulla,corporis,1975 +1976,deleniti,sit,1976 +1977,eveniet,aperiam,1977 +1978,qui,voluptatem,1978 +1979,possimus,mollitia,1979 +1980,consectetur,est,1980 +1981,molestias,facere,1981 +1982,dolorem,dolorem,1982 +1983,cumque,asperiores,1983 +1984,earum,molestiae,1984 +1985,ut,ea,1985 +1986,veniam,debitis,1986 +1987,ratione,ut,1987 +1988,et,nisi,1988 +1989,sit,sed,1989 +1990,quibusdam,quo,1990 +1991,perspiciatis,aut,1991 +1992,vel,ut,1992 +1993,ad,autem,1993 +1994,aspernatur,alias,1994 +1995,sed,quia,1995 +1996,est,et,1996 +1997,adipisci,voluptatem,1997 +1998,architecto,explicabo,1998 +1999,temporibus,sit,1999 +2000,explicabo,eveniet,2000 +2001,mollitia,perferendis,2001 +2002,qui,qui,2002 +2003,consequatur,et,2003 +2004,vel,quia,2004 +2005,fuga,nihil,2005 +2006,aspernatur,illum,2006 +2007,soluta,ducimus,2007 +2008,hic,cupiditate,2008 +2009,et,omnis,2009 +2010,deleniti,aliquam,2010 +2011,odio,commodi,2011 +2012,dolor,enim,2012 +2013,et,corrupti,2013 +2014,omnis,qui,2014 +2015,rerum,eum,2015 +2016,est,alias,2016 +2017,nesciunt,voluptatibus,2017 +2018,magni,repudiandae,2018 +2019,sunt,animi,2019 +2020,rerum,ut,2020 +2021,et,quo,2021 +2022,qui,voluptatem,2022 +2023,voluptas,sed,2023 +2024,quis,molestiae,2024 +2025,earum,qui,2025 +2026,quas,ut,2026 +2027,nihil,recusandae,2027 +2028,quis,magni,2028 +2029,harum,omnis,2029 +2030,sint,sapiente,2030 +2031,voluptatem,aperiam,2031 +2032,quos,rerum,2032 +2033,autem,repellat,2033 +2034,debitis,quibusdam,2034 +2035,porro,beatae,2035 +2036,facere,non,2036 +2037,ullam,maxime,2037 +2038,aperiam,et,2038 +2039,omnis,commodi,2039 +2040,assumenda,eos,2040 +2041,iste,est,2041 +2042,voluptatem,eius,2042 +2043,reprehenderit,eos,2043 +2044,ut,optio,2044 +2045,sequi,ipsum,2045 +2046,in,ab,2046 +2047,et,natus,2047 +2048,alias,nam,2048 +2049,perferendis,qui,2049 +2050,fugit,id,2050 +2051,illum,alias,2051 +2052,est,explicabo,2052 +2053,sed,qui,2053 +2054,nam,odio,2054 +2055,illum,vel,2055 +2056,repellendus,impedit,2056 +2057,minus,placeat,2057 +2058,quas,exercitationem,2058 +2059,deleniti,magni,2059 +2060,adipisci,quibusdam,2060 +2061,voluptatem,voluptatem,2061 +2062,est,iure,2062 +2063,repellat,ratione,2063 +2064,quis,asperiores,2064 +2065,dolore,dolor,2065 +2066,sed,vero,2066 +2067,in,aliquam,2067 +2068,est,quia,2068 +2069,quisquam,quam,2069 +2070,est,ut,2070 +2071,aut,magni,2071 +2072,consectetur,amet,2072 +2073,unde,dignissimos,2073 +2074,et,sint,2074 +2075,reiciendis,suscipit,2075 +2076,corrupti,natus,2076 +2077,ut,repellendus,2077 +2078,qui,tempore,2078 +2079,sit,voluptatem,2079 +2080,totam,reiciendis,2080 +2081,dicta,nihil,2081 +2082,aperiam,maxime,2082 +2083,voluptatum,est,2083 +2084,reprehenderit,laborum,2084 +2085,esse,tempore,2085 +2086,voluptatem,cupiditate,2086 +2087,officia,atque,2087 +2088,error,vitae,2088 +2089,facilis,omnis,2089 +2090,facere,quia,2090 +2091,est,nam,2091 +2092,unde,rem,2092 +2093,et,qui,2093 +2094,qui,neque,2094 +2095,velit,inventore,2095 +2096,cum,rem,2096 +2097,aut,hic,2097 +2098,autem,error,2098 +2099,nam,earum,2099 +2100,nemo,est,2100 +2101,sit,provident,2101 +2102,minus,dolores,2102 +2103,eligendi,totam,2103 +2104,et,consequuntur,2104 +2105,aut,harum,2105 +2106,delectus,laudantium,2106 +2107,fuga,ut,2107 +2108,aut,temporibus,2108 +2109,ut,velit,2109 +2110,recusandae,cumque,2110 +2111,laudantium,quibusdam,2111 +2112,ex,excepturi,2112 +2113,nihil,vitae,2113 +2114,commodi,rerum,2114 +2115,nam,nesciunt,2115 +2116,in,autem,2116 +2117,autem,natus,2117 +2118,fugit,fugiat,2118 +2119,nostrum,rerum,2119 +2120,non,sunt,2120 +2121,libero,quibusdam,2121 +2122,ad,optio,2122 +2123,magni,omnis,2123 +2124,sed,qui,2124 +2125,assumenda,similique,2125 +2126,et,placeat,2126 +2127,accusantium,tempora,2127 +2128,natus,eligendi,2128 +2129,sed,explicabo,2129 +2130,occaecati,corporis,2130 +2131,id,et,2131 +2132,repudiandae,sequi,2132 +2133,soluta,a,2133 +2134,deserunt,maxime,2134 +2135,quasi,mollitia,2135 +2136,eius,nihil,2136 +2137,fugit,a,2137 +2138,omnis,debitis,2138 +2139,illo,cumque,2139 +2140,necessitatibus,rem,2140 +2141,iste,ut,2141 +2142,aut,dolorum,2142 +2143,sit,beatae,2143 +2144,voluptatem,quod,2144 +2145,ea,laborum,2145 +2146,exercitationem,vel,2146 +2147,minima,qui,2147 +2148,illo,ut,2148 +2149,illum,et,2149 +2150,id,saepe,2150 +2151,molestiae,consectetur,2151 +2152,corrupti,dolorem,2152 +2153,natus,laboriosam,2153 +2154,dignissimos,consectetur,2154 +2155,sed,rerum,2155 +2156,aut,qui,2156 +2157,sed,aliquid,2157 +2158,in,et,2158 +2159,dolor,sunt,2159 +2160,repellat,illum,2160 +2161,quis,odio,2161 +2162,reiciendis,ut,2162 +2163,sapiente,voluptatem,2163 +2164,quis,tempore,2164 +2165,praesentium,quia,2165 +2166,dolor,sunt,2166 +2167,aliquam,temporibus,2167 +2168,magni,assumenda,2168 +2169,distinctio,sed,2169 +2170,nihil,quaerat,2170 +2171,commodi,ut,2171 +2172,libero,quia,2172 +2173,quis,tempore,2173 +2174,nihil,porro,2174 +2175,quam,omnis,2175 +2176,ut,voluptas,2176 +2177,nisi,possimus,2177 +2178,libero,rerum,2178 +2179,dolores,similique,2179 +2180,omnis,atque,2180 +2181,pariatur,ut,2181 +2182,inventore,mollitia,2182 +2183,voluptate,commodi,2183 +2184,rerum,impedit,2184 +2185,vitae,quam,2185 +2186,delectus,sed,2186 +2187,sed,quia,2187 +2188,consequatur,praesentium,2188 +2189,natus,officiis,2189 +2190,est,at,2190 +2191,cumque,ipsum,2191 +2192,est,iusto,2192 +2193,iusto,omnis,2193 +2194,et,corporis,2194 +2195,molestiae,totam,2195 +2196,unde,ducimus,2196 +2197,ex,quos,2197 +2198,soluta,est,2198 +2199,aut,rerum,2199 +2200,qui,voluptatem,2200 +2201,necessitatibus,fuga,2201 +2202,accusamus,natus,2202 +2203,et,qui,2203 +2204,in,aut,2204 +2205,porro,harum,2205 +2206,sequi,reiciendis,2206 +2207,sit,omnis,2207 +2208,qui,iste,2208 +2209,qui,temporibus,2209 +2210,nostrum,doloremque,2210 +2211,amet,dolor,2211 +2212,delectus,aut,2212 +2213,aspernatur,dignissimos,2213 +2214,tempore,reprehenderit,2214 +2215,explicabo,dolorem,2215 +2216,repellendus,et,2216 +2217,aut,dolorem,2217 +2218,blanditiis,nostrum,2218 +2219,aspernatur,perferendis,2219 +2220,tempore,et,2220 +2221,doloribus,et,2221 +2222,placeat,neque,2222 +2223,optio,velit,2223 +2224,nostrum,rerum,2224 +2225,est,quis,2225 +2226,illum,minus,2226 +2227,est,eum,2227 +2228,aut,et,2228 +2229,dolore,laborum,2229 +2230,praesentium,nostrum,2230 +2231,soluta,aperiam,2231 +2232,aspernatur,explicabo,2232 +2233,odio,nam,2233 +2234,porro,est,2234 +2235,quia,omnis,2235 +2236,dolores,est,2236 +2237,ipsam,quis,2237 +2238,nemo,quia,2238 +2239,rerum,et,2239 +2240,incidunt,asperiores,2240 +2241,atque,soluta,2241 +2242,ipsam,quia,2242 +2243,sed,voluptas,2243 +2244,ipsum,quae,2244 +2245,voluptas,dolor,2245 +2246,corrupti,odit,2246 +2247,nesciunt,error,2247 +2248,reprehenderit,consectetur,2248 +2249,temporibus,esse,2249 +2250,neque,aut,2250 +2251,illo,quibusdam,2251 +2252,veritatis,aut,2252 +2253,adipisci,temporibus,2253 +2254,vel,aut,2254 +2255,aut,qui,2255 +2256,sequi,atque,2256 +2257,asperiores,quo,2257 +2258,culpa,fuga,2258 +2259,sint,ipsam,2259 +2260,sit,deleniti,2260 +2261,quidem,consequuntur,2261 +2262,aliquid,corrupti,2262 +2263,ipsam,cum,2263 +2264,a,deleniti,2264 +2265,eius,veniam,2265 +2266,magnam,placeat,2266 +2267,atque,voluptatem,2267 +2268,eos,atque,2268 +2269,voluptatibus,modi,2269 +2270,omnis,culpa,2270 +2271,vitae,esse,2271 +2272,ut,occaecati,2272 +2273,mollitia,reprehenderit,2273 +2274,maxime,sunt,2274 +2275,quibusdam,placeat,2275 +2276,eos,sint,2276 +2277,dolore,quo,2277 +2278,architecto,rem,2278 +2279,quia,tempore,2279 +2280,voluptatem,est,2280 +2281,rerum,non,2281 +2282,minima,reiciendis,2282 +2283,sed,nihil,2283 +2284,sed,rerum,2284 +2285,rerum,quas,2285 +2286,aut,error,2286 +2287,quo,sit,2287 +2288,excepturi,facilis,2288 +2289,et,impedit,2289 +2290,in,qui,2290 +2291,quas,nemo,2291 +2292,sunt,et,2292 +2293,ipsum,maxime,2293 +2294,nobis,quia,2294 +2295,delectus,sint,2295 +2296,enim,omnis,2296 +2297,enim,eligendi,2297 +2298,minus,sapiente,2298 +2299,omnis,voluptatum,2299 +2300,unde,porro,2300 +2301,reiciendis,laudantium,2301 +2302,laboriosam,officia,2302 +2303,rerum,nobis,2303 +2304,qui,dolores,2304 +2305,est,eius,2305 +2306,velit,perspiciatis,2306 +2307,nam,mollitia,2307 +2308,autem,id,2308 +2309,beatae,iusto,2309 +2310,quia,rem,2310 +2311,quaerat,tempora,2311 +2312,ut,assumenda,2312 +2313,voluptas,aspernatur,2313 +2314,omnis,et,2314 +2315,aut,corrupti,2315 +2316,commodi,harum,2316 +2317,hic,at,2317 +2318,eum,facilis,2318 +2319,aut,ut,2319 +2320,quo,est,2320 +2321,voluptatibus,culpa,2321 +2322,unde,voluptatem,2322 +2323,sit,atque,2323 +2324,deserunt,voluptatem,2324 +2325,adipisci,minus,2325 +2326,dolores,velit,2326 +2327,et,beatae,2327 +2328,ipsa,voluptatem,2328 +2329,adipisci,soluta,2329 +2330,dolor,quas,2330 +2331,reiciendis,facere,2331 +2332,earum,reiciendis,2332 +2333,exercitationem,sint,2333 +2334,placeat,animi,2334 +2335,aut,eos,2335 +2336,accusamus,velit,2336 +2337,dolores,cumque,2337 +2338,eveniet,voluptatibus,2338 +2339,expedita,quia,2339 +2340,saepe,totam,2340 +2341,ipsam,quo,2341 +2342,mollitia,porro,2342 +2343,accusantium,odit,2343 +2344,facilis,nostrum,2344 +2345,id,iste,2345 +2346,in,odio,2346 +2347,aliquid,maiores,2347 +2348,quod,maxime,2348 +2349,ipsa,perspiciatis,2349 +2350,necessitatibus,eum,2350 +2351,eveniet,ut,2351 +2352,rem,dolor,2352 +2353,maxime,est,2353 +2354,at,blanditiis,2354 +2355,qui,nam,2355 +2356,eligendi,dolores,2356 +2357,nesciunt,molestias,2357 +2358,explicabo,soluta,2358 +2359,et,aut,2359 +2360,quis,sunt,2360 +2361,illum,similique,2361 +2362,et,aperiam,2362 +2363,et,fugiat,2363 +2364,dignissimos,beatae,2364 +2365,sed,praesentium,2365 +2366,amet,id,2366 +2367,accusantium,ad,2367 +2368,iure,rem,2368 +2369,sed,tenetur,2369 +2370,laudantium,placeat,2370 +2371,nobis,doloribus,2371 +2372,qui,in,2372 +2373,in,aliquid,2373 +2374,culpa,omnis,2374 +2375,pariatur,facilis,2375 +2376,quia,aspernatur,2376 +2377,nisi,et,2377 +2378,eos,aut,2378 +2379,quidem,iusto,2379 +2380,numquam,reiciendis,2380 +2381,debitis,consequatur,2381 +2382,ea,amet,2382 +2383,aut,dicta,2383 +2384,cumque,aspernatur,2384 +2385,quas,adipisci,2385 +2386,eligendi,ipsam,2386 +2387,esse,labore,2387 +2388,recusandae,et,2388 +2389,ea,et,2389 +2390,alias,est,2390 +2391,dolor,qui,2391 +2392,quibusdam,in,2392 +2393,minima,id,2393 +2394,iste,possimus,2394 +2395,ipsum,iure,2395 +2396,ullam,rerum,2396 +2397,qui,molestias,2397 +2398,sit,eos,2398 +2399,voluptatem,officia,2399 +2400,pariatur,voluptas,2400 +2401,quos,cumque,2401 +2402,repellat,rem,2402 +2403,distinctio,aut,2403 +2404,esse,consequatur,2404 +2405,cum,natus,2405 +2406,cum,libero,2406 +2407,laudantium,vero,2407 +2408,officia,est,2408 +2409,eos,quas,2409 +2410,aut,eaque,2410 +2411,accusantium,molestias,2411 +2412,dignissimos,rerum,2412 +2413,sed,voluptates,2413 +2414,dolore,rerum,2414 +2415,perferendis,aut,2415 +2416,ipsa,vero,2416 +2417,vel,eum,2417 +2418,soluta,iure,2418 +2419,quibusdam,exercitationem,2419 +2420,et,unde,2420 +2421,provident,sunt,2421 +2422,deleniti,sit,2422 +2423,omnis,est,2423 +2424,et,doloribus,2424 +2425,consectetur,cumque,2425 +2426,ea,magnam,2426 +2427,distinctio,autem,2427 +2428,molestiae,et,2428 +2429,reprehenderit,consequatur,2429 +2430,accusantium,magni,2430 +2431,ratione,quae,2431 +2432,mollitia,odit,2432 +2433,tempora,vero,2433 +2434,nostrum,rerum,2434 +2435,tenetur,molestiae,2435 +2436,dignissimos,cum,2436 +2437,ipsum,laboriosam,2437 +2438,quasi,inventore,2438 +2439,perferendis,et,2439 +2440,quasi,voluptas,2440 +2441,qui,esse,2441 +2442,suscipit,animi,2442 +2443,ullam,qui,2443 +2444,veniam,est,2444 +2445,facilis,sit,2445 +2446,incidunt,autem,2446 +2447,sint,est,2447 +2448,dolorem,eveniet,2448 +2449,facere,ut,2449 +2450,iste,earum,2450 +2451,et,esse,2451 +2452,perspiciatis,minima,2452 +2453,et,consequatur,2453 +2454,magni,voluptatum,2454 +2455,soluta,officia,2455 +2456,vitae,harum,2456 +2457,inventore,nisi,2457 +2458,pariatur,tempora,2458 +2459,accusantium,iste,2459 +2460,non,quam,2460 +2461,esse,aut,2461 +2462,nulla,cumque,2462 +2463,nobis,deleniti,2463 +2464,rerum,maxime,2464 +2465,doloremque,rem,2465 +2466,iusto,molestiae,2466 +2467,temporibus,itaque,2467 +2468,sit,hic,2468 +2469,sapiente,qui,2469 +2470,sed,corporis,2470 +2471,maxime,ratione,2471 +2472,voluptatem,voluptatem,2472 +2473,corporis,id,2473 +2474,natus,pariatur,2474 +2475,nemo,dolor,2475 +2476,ex,enim,2476 +2477,dolorem,quo,2477 +2478,voluptas,provident,2478 +2479,repellendus,sunt,2479 +2480,non,pariatur,2480 +2481,illum,est,2481 +2482,officiis,dolor,2482 +2483,dicta,dolor,2483 +2484,sed,earum,2484 +2485,placeat,ullam,2485 +2486,voluptatem,officia,2486 +2487,non,et,2487 +2488,modi,corporis,2488 +2489,cum,ipsum,2489 +2490,qui,reiciendis,2490 +2491,distinctio,eos,2491 +2492,eos,possimus,2492 +2493,vel,maiores,2493 +2494,assumenda,doloremque,2494 +2495,optio,ad,2495 +2496,fugiat,voluptatem,2496 +2497,facere,nobis,2497 +2498,eos,et,2498 +2499,asperiores,vero,2499 +2500,omnis,nisi,2500 +2501,sed,occaecati,2501 +2502,commodi,sit,2502 +2503,incidunt,ipsa,2503 +2504,non,aliquam,2504 +2505,omnis,voluptas,2505 +2506,est,magni,2506 +2507,tempore,sint,2507 +2508,aliquam,praesentium,2508 +2509,nulla,fugiat,2509 +2510,iste,et,2510 +2511,quia,odit,2511 +2512,blanditiis,a,2512 +2513,numquam,et,2513 +2514,veniam,enim,2514 +2515,ipsam,eligendi,2515 +2516,nam,et,2516 +2517,ut,fuga,2517 +2518,eos,rem,2518 +2519,cupiditate,nemo,2519 +2520,sint,fuga,2520 +2521,ab,minima,2521 +2522,doloribus,voluptatem,2522 +2523,amet,tempore,2523 +2524,veniam,quae,2524 +2525,magnam,nesciunt,2525 +2526,quidem,vitae,2526 +2527,perferendis,et,2527 +2528,earum,aut,2528 +2529,consequatur,aut,2529 +2530,eveniet,placeat,2530 +2531,amet,autem,2531 +2532,in,ipsa,2532 +2533,doloremque,non,2533 +2534,dolores,corporis,2534 +2535,rerum,fugiat,2535 +2536,aliquam,rerum,2536 +2537,aut,eos,2537 +2538,magnam,veniam,2538 +2539,aut,architecto,2539 +2540,ullam,est,2540 +2541,voluptate,qui,2541 +2542,blanditiis,delectus,2542 +2543,eum,repudiandae,2543 +2544,necessitatibus,blanditiis,2544 +2545,aut,ut,2545 +2546,nostrum,neque,2546 +2547,aut,dolores,2547 +2548,voluptates,sapiente,2548 +2549,unde,ut,2549 +2550,ut,autem,2550 +2551,harum,nemo,2551 +2552,quo,quibusdam,2552 +2553,eos,ut,2553 +2554,ut,aliquid,2554 +2555,nulla,sunt,2555 +2556,harum,quidem,2556 +2557,ratione,rem,2557 +2558,et,explicabo,2558 +2559,eum,voluptatum,2559 +2560,dolore,doloribus,2560 +2561,voluptas,hic,2561 +2562,incidunt,qui,2562 +2563,iste,et,2563 +2564,blanditiis,eum,2564 +2565,quidem,nesciunt,2565 +2566,error,ab,2566 +2567,illo,magnam,2567 +2568,ad,blanditiis,2568 +2569,voluptas,quas,2569 +2570,id,facere,2570 +2571,repellendus,consequatur,2571 +2572,sunt,quas,2572 +2573,aut,sit,2573 +2574,nobis,architecto,2574 +2575,ipsum,et,2575 +2576,et,rerum,2576 +2577,eos,voluptatibus,2577 +2578,quasi,saepe,2578 +2579,repellendus,porro,2579 +2580,assumenda,sit,2580 +2581,eveniet,enim,2581 +2582,voluptatum,debitis,2582 +2583,ullam,fugiat,2583 +2584,libero,placeat,2584 +2585,libero,accusantium,2585 +2586,aut,fugit,2586 +2587,et,enim,2587 +2588,velit,commodi,2588 +2589,culpa,harum,2589 +2590,explicabo,et,2590 +2591,optio,dolorem,2591 +2592,sed,aspernatur,2592 +2593,iusto,voluptas,2593 +2594,explicabo,voluptates,2594 +2595,nostrum,sint,2595 +2596,repellendus,pariatur,2596 +2597,quasi,iste,2597 +2598,et,odio,2598 +2599,fuga,sapiente,2599 +2600,dolorem,recusandae,2600 +2601,et,non,2601 +2602,natus,rem,2602 +2603,mollitia,veniam,2603 +2604,a,voluptatem,2604 +2605,vitae,aut,2605 +2606,voluptas,error,2606 +2607,et,sunt,2607 +2608,quis,sit,2608 +2609,et,earum,2609 +2610,modi,deserunt,2610 +2611,quod,aut,2611 +2612,dolores,vero,2612 +2613,autem,ullam,2613 +2614,illo,libero,2614 +2615,placeat,aperiam,2615 +2616,maiores,iste,2616 +2617,in,magnam,2617 +2618,accusantium,architecto,2618 +2619,nobis,velit,2619 +2620,delectus,ipsam,2620 +2621,ut,rem,2621 +2622,voluptates,ipsa,2622 +2623,inventore,nisi,2623 +2624,nostrum,deserunt,2624 +2625,sequi,at,2625 +2626,et,illo,2626 +2627,voluptatem,nam,2627 +2628,qui,incidunt,2628 +2629,adipisci,impedit,2629 +2630,voluptate,temporibus,2630 +2631,blanditiis,et,2631 +2632,quidem,quia,2632 +2633,harum,blanditiis,2633 +2634,et,inventore,2634 +2635,ea,iure,2635 +2636,error,sapiente,2636 +2637,tenetur,assumenda,2637 +2638,molestias,debitis,2638 +2639,deserunt,odio,2639 +2640,in,repellendus,2640 +2641,dolorem,labore,2641 +2642,perferendis,voluptates,2642 +2643,quaerat,aut,2643 +2644,corrupti,quia,2644 +2645,minus,eius,2645 +2646,molestiae,voluptatem,2646 +2647,reiciendis,error,2647 +2648,quia,est,2648 +2649,sunt,praesentium,2649 +2650,delectus,sapiente,2650 +2651,modi,dolores,2651 +2652,sit,natus,2652 +2653,non,voluptatem,2653 +2654,quis,reprehenderit,2654 +2655,nemo,animi,2655 +2656,eos,minus,2656 +2657,dolore,omnis,2657 +2658,deleniti,sit,2658 +2659,accusantium,nobis,2659 +2660,et,ducimus,2660 +2661,corrupti,expedita,2661 +2662,quaerat,nam,2662 +2663,magnam,rerum,2663 +2664,ipsa,aut,2664 +2665,nihil,dolores,2665 +2666,consequatur,iusto,2666 +2667,voluptatum,odit,2667 +2668,vero,quas,2668 +2669,ut,cumque,2669 +2670,aut,minima,2670 +2671,qui,dolores,2671 +2672,suscipit,ut,2672 +2673,quaerat,amet,2673 +2674,et,inventore,2674 +2675,iste,quos,2675 +2676,quae,voluptatum,2676 +2677,cum,neque,2677 +2678,id,aliquid,2678 +2679,eos,voluptatem,2679 +2680,itaque,qui,2680 +2681,sapiente,omnis,2681 +2682,quibusdam,at,2682 +2683,vitae,aperiam,2683 +2684,qui,perspiciatis,2684 +2685,dolorem,doloremque,2685 +2686,deserunt,esse,2686 +2687,suscipit,eos,2687 +2688,beatae,molestias,2688 +2689,magni,rerum,2689 +2690,et,quisquam,2690 +2691,voluptatem,aut,2691 +2692,rerum,dignissimos,2692 +2693,omnis,ad,2693 +2694,a,dignissimos,2694 +2695,dolore,aut,2695 +2696,tempore,tempora,2696 +2697,magni,autem,2697 +2698,dolor,accusamus,2698 +2699,perspiciatis,molestias,2699 +2700,quaerat,similique,2700 +2701,aut,quos,2701 +2702,facere,doloremque,2702 +2703,doloremque,delectus,2703 +2704,magni,exercitationem,2704 +2705,ea,culpa,2705 +2706,culpa,assumenda,2706 +2707,officiis,dicta,2707 +2708,qui,laboriosam,2708 +2709,modi,eos,2709 +2710,consequuntur,repudiandae,2710 +2711,dolor,mollitia,2711 +2712,quisquam,illum,2712 +2713,sunt,unde,2713 +2714,quo,voluptas,2714 +2715,fugit,deleniti,2715 +2716,culpa,provident,2716 +2717,labore,praesentium,2717 +2718,cupiditate,numquam,2718 +2719,quis,qui,2719 +2720,deserunt,vel,2720 +2721,expedita,cupiditate,2721 +2722,ut,voluptatibus,2722 +2723,sapiente,voluptatem,2723 +2724,sed,recusandae,2724 +2725,et,animi,2725 +2726,iure,est,2726 +2727,odio,est,2727 +2728,blanditiis,amet,2728 +2729,laborum,reiciendis,2729 +2730,maxime,officiis,2730 +2731,explicabo,iure,2731 +2732,modi,minus,2732 +2733,sed,animi,2733 +2734,est,facere,2734 +2735,cum,sed,2735 +2736,eius,molestias,2736 +2737,nihil,dolorem,2737 +2738,aut,unde,2738 +2739,commodi,omnis,2739 +2740,cum,quas,2740 +2741,iusto,nostrum,2741 +2742,voluptatem,et,2742 +2743,aut,et,2743 +2744,qui,eos,2744 +2745,non,in,2745 +2746,reiciendis,et,2746 +2747,inventore,perferendis,2747 +2748,modi,commodi,2748 +2749,aut,vel,2749 +2750,perspiciatis,optio,2750 +2751,quis,iusto,2751 +2752,ea,qui,2752 +2753,architecto,corporis,2753 +2754,in,recusandae,2754 +2755,fugiat,voluptatem,2755 +2756,libero,quia,2756 +2757,nihil,similique,2757 +2758,quis,quam,2758 +2759,deleniti,sed,2759 +2760,eius,fugiat,2760 +2761,nulla,iusto,2761 +2762,nihil,et,2762 +2763,quisquam,sint,2763 +2764,iste,iste,2764 +2765,et,nobis,2765 +2766,recusandae,quia,2766 +2767,consequatur,alias,2767 +2768,excepturi,molestiae,2768 +2769,sed,ipsum,2769 +2770,ut,labore,2770 +2771,qui,quos,2771 +2772,dolor,ut,2772 +2773,ullam,quas,2773 +2774,iusto,maxime,2774 +2775,dolor,est,2775 +2776,nobis,deleniti,2776 +2777,fugit,culpa,2777 +2778,est,velit,2778 +2779,dolores,molestiae,2779 +2780,sit,suscipit,2780 +2781,unde,in,2781 +2782,molestiae,voluptas,2782 +2783,repellat,eius,2783 +2784,non,ab,2784 +2785,sint,sint,2785 +2786,voluptatibus,earum,2786 +2787,dolore,in,2787 +2788,sapiente,eos,2788 +2789,quis,sequi,2789 +2790,voluptates,beatae,2790 +2791,sapiente,quia,2791 +2792,sit,dolorem,2792 +2793,omnis,doloremque,2793 +2794,adipisci,dignissimos,2794 +2795,beatae,necessitatibus,2795 +2796,vel,doloribus,2796 +2797,sit,nulla,2797 +2798,corrupti,et,2798 +2799,a,sapiente,2799 +2800,quaerat,optio,2800 +2801,dicta,animi,2801 +2802,numquam,et,2802 +2803,et,aliquid,2803 +2804,accusamus,dolores,2804 +2805,est,adipisci,2805 +2806,non,iure,2806 +2807,nihil,veniam,2807 +2808,et,autem,2808 +2809,nesciunt,ducimus,2809 +2810,minus,vel,2810 +2811,cum,sit,2811 +2812,maxime,ea,2812 +2813,officia,veniam,2813 +2814,qui,minus,2814 +2815,similique,perspiciatis,2815 +2816,est,ut,2816 +2817,in,fuga,2817 +2818,necessitatibus,incidunt,2818 +2819,voluptatibus,et,2819 +2820,dolore,minus,2820 +2821,velit,id,2821 +2822,laudantium,et,2822 +2823,vel,recusandae,2823 +2824,delectus,nulla,2824 +2825,mollitia,sint,2825 +2826,ut,aut,2826 +2827,dolorem,quod,2827 +2828,ut,dolores,2828 +2829,soluta,aut,2829 +2830,occaecati,et,2830 +2831,debitis,qui,2831 +2832,suscipit,adipisci,2832 +2833,facilis,at,2833 +2834,animi,aut,2834 +2835,veritatis,itaque,2835 +2836,dolore,aliquam,2836 +2837,aut,voluptatem,2837 +2838,vero,est,2838 +2839,aliquid,mollitia,2839 +2840,qui,voluptatum,2840 +2841,omnis,ea,2841 +2842,delectus,quam,2842 +2843,modi,doloribus,2843 +2844,necessitatibus,ducimus,2844 +2845,voluptas,nulla,2845 +2846,sit,rem,2846 +2847,possimus,sequi,2847 +2848,id,similique,2848 +2849,quis,dolorum,2849 +2850,sit,rerum,2850 +2851,ex,voluptas,2851 +2852,et,quis,2852 +2853,saepe,quia,2853 +2854,laboriosam,temporibus,2854 +2855,nihil,est,2855 +2856,est,inventore,2856 +2857,voluptate,sit,2857 +2858,nesciunt,ipsa,2858 +2859,excepturi,sequi,2859 +2860,quos,ad,2860 +2861,ut,laboriosam,2861 +2862,est,id,2862 +2863,sit,doloribus,2863 +2864,qui,veritatis,2864 +2865,soluta,est,2865 +2866,eligendi,consequatur,2866 +2867,saepe,voluptatem,2867 +2868,eos,iusto,2868 +2869,veniam,dicta,2869 +2870,suscipit,nulla,2870 +2871,neque,aperiam,2871 +2872,modi,maxime,2872 +2873,aliquam,aut,2873 +2874,a,inventore,2874 +2875,qui,alias,2875 +2876,voluptates,consequatur,2876 +2877,natus,dolores,2877 +2878,et,sunt,2878 +2879,eligendi,ab,2879 +2880,odio,eos,2880 +2881,quia,dolorem,2881 +2882,voluptas,neque,2882 +2883,autem,voluptas,2883 +2884,facilis,harum,2884 +2885,commodi,ut,2885 +2886,facere,necessitatibus,2886 +2887,nesciunt,omnis,2887 +2888,consequuntur,ab,2888 +2889,maiores,iure,2889 +2890,rem,ratione,2890 +2891,aspernatur,facere,2891 +2892,vel,deserunt,2892 +2893,nihil,esse,2893 +2894,inventore,aspernatur,2894 +2895,fugit,fugit,2895 +2896,error,neque,2896 +2897,quos,omnis,2897 +2898,laudantium,quia,2898 +2899,officiis,quia,2899 +2900,voluptas,suscipit,2900 +2901,id,id,2901 +2902,at,officiis,2902 +2903,natus,dolore,2903 +2904,repudiandae,qui,2904 +2905,voluptatibus,dolor,2905 +2906,sint,temporibus,2906 +2907,ut,explicabo,2907 +2908,et,et,2908 +2909,iste,et,2909 +2910,mollitia,facere,2910 +2911,adipisci,quod,2911 +2912,quia,nihil,2912 +2913,magni,eum,2913 +2914,et,voluptatem,2914 +2915,quae,recusandae,2915 +2916,harum,adipisci,2916 +2917,unde,dolorem,2917 +2918,qui,ut,2918 +2919,eaque,occaecati,2919 +2920,voluptas,amet,2920 +2921,doloremque,dolor,2921 +2922,dolorem,provident,2922 +2923,quas,omnis,2923 +2924,nulla,cumque,2924 +2925,consectetur,magni,2925 +2926,laudantium,recusandae,2926 +2927,vitae,quod,2927 +2928,numquam,quia,2928 +2929,mollitia,est,2929 +2930,explicabo,dolores,2930 +2931,velit,odio,2931 +2932,ut,dolor,2932 +2933,qui,nam,2933 +2934,eos,quaerat,2934 +2935,ullam,libero,2935 +2936,fuga,non,2936 +2937,cum,nisi,2937 +2938,accusantium,dolorum,2938 +2939,provident,non,2939 +2940,blanditiis,ipsum,2940 +2941,veniam,iste,2941 +2942,non,nihil,2942 +2943,iure,voluptatem,2943 +2944,necessitatibus,explicabo,2944 +2945,aut,inventore,2945 +2946,impedit,velit,2946 +2947,repellat,vel,2947 +2948,qui,omnis,2948 +2949,repudiandae,officia,2949 +2950,consequuntur,corrupti,2950 +2951,et,esse,2951 +2952,autem,rem,2952 +2953,mollitia,in,2953 +2954,perspiciatis,nesciunt,2954 +2955,doloribus,animi,2955 +2956,sunt,provident,2956 +2957,quis,consequatur,2957 +2958,nihil,accusamus,2958 +2959,libero,est,2959 +2960,eaque,et,2960 +2961,aut,porro,2961 +2962,distinctio,impedit,2962 +2963,amet,consequatur,2963 +2964,quod,sed,2964 +2965,in,suscipit,2965 +2966,ratione,et,2966 +2967,minus,eius,2967 +2968,culpa,sint,2968 +2969,tempore,quasi,2969 +2970,qui,voluptatem,2970 +2971,enim,laborum,2971 +2972,voluptates,sapiente,2972 +2973,numquam,autem,2973 +2974,alias,fugit,2974 +2975,accusantium,magni,2975 +2976,sit,voluptates,2976 +2977,aut,voluptas,2977 +2978,assumenda,ut,2978 +2979,qui,voluptatem,2979 +2980,minus,reprehenderit,2980 +2981,fugiat,temporibus,2981 +2982,doloribus,quis,2982 +2983,est,voluptatem,2983 +2984,et,consequatur,2984 +2985,nostrum,laudantium,2985 +2986,quasi,itaque,2986 +2987,enim,in,2987 +2988,et,magnam,2988 +2989,alias,aperiam,2989 +2990,dolor,ut,2990 +2991,non,aut,2991 +2992,et,quos,2992 +2993,nisi,nisi,2993 +2994,dolor,ut,2994 +2995,voluptate,quasi,2995 +2996,adipisci,blanditiis,2996 +2997,repellat,voluptas,2997 +2998,velit,dolores,2998 +2999,exercitationem,facere,2999 +3000,debitis,doloribus,3000 +3001,ducimus,nostrum,3001 +3002,quod,dolorem,3002 +3003,ducimus,aut,3003 +3004,quidem,perferendis,3004 +3005,sed,ducimus,3005 +3006,voluptate,voluptatem,3006 +3007,laboriosam,tempore,3007 +3008,nesciunt,odio,3008 +3009,asperiores,nam,3009 +3010,dolor,esse,3010 +3011,similique,sunt,3011 +3012,in,ipsam,3012 +3013,quo,sequi,3013 +3014,quidem,voluptas,3014 +3015,explicabo,iusto,3015 +3016,voluptatem,error,3016 +3017,asperiores,aut,3017 +3018,repellendus,nesciunt,3018 +3019,nesciunt,est,3019 +3020,in,vitae,3020 +3021,aliquid,quas,3021 +3022,quae,ipsum,3022 +3023,eveniet,quaerat,3023 +3024,quae,est,3024 +3025,voluptas,id,3025 +3026,soluta,explicabo,3026 +3027,sunt,in,3027 +3028,molestiae,et,3028 +3029,qui,enim,3029 +3030,voluptates,vel,3030 +3031,officia,facere,3031 +3032,nam,quidem,3032 +3033,iusto,et,3033 +3034,consequuntur,eveniet,3034 +3035,nulla,id,3035 +3036,tenetur,ut,3036 +3037,ea,quod,3037 +3038,explicabo,modi,3038 +3039,consequatur,necessitatibus,3039 +3040,iste,voluptas,3040 +3041,vel,praesentium,3041 +3042,et,earum,3042 +3043,et,assumenda,3043 +3044,inventore,deserunt,3044 +3045,sint,quis,3045 +3046,amet,ex,3046 +3047,explicabo,sed,3047 +3048,aut,consequuntur,3048 +3049,et,soluta,3049 +3050,dolores,occaecati,3050 +3051,quo,voluptatem,3051 +3052,molestiae,perspiciatis,3052 +3053,a,commodi,3053 +3054,sed,alias,3054 +3055,suscipit,numquam,3055 +3056,ea,veritatis,3056 +3057,corrupti,inventore,3057 +3058,temporibus,at,3058 +3059,rerum,et,3059 +3060,amet,et,3060 +3061,repellat,ex,3061 +3062,commodi,quia,3062 +3063,velit,eveniet,3063 +3064,quod,quasi,3064 +3065,eum,nesciunt,3065 +3066,eligendi,dolorum,3066 +3067,fuga,corporis,3067 +3068,voluptatem,praesentium,3068 +3069,eveniet,ut,3069 +3070,molestias,deserunt,3070 +3071,laborum,laborum,3071 +3072,voluptas,beatae,3072 +3073,tenetur,voluptatem,3073 +3074,eum,ut,3074 +3075,ipsa,fuga,3075 +3076,id,porro,3076 +3077,qui,iusto,3077 +3078,sit,consequatur,3078 +3079,eos,rerum,3079 +3080,harum,esse,3080 +3081,quia,quas,3081 +3082,nesciunt,repellendus,3082 +3083,autem,exercitationem,3083 +3084,qui,vel,3084 +3085,suscipit,consequatur,3085 +3086,dolorem,consectetur,3086 +3087,et,eaque,3087 +3088,repellendus,officia,3088 +3089,praesentium,nulla,3089 +3090,doloribus,minima,3090 +3091,ut,laborum,3091 +3092,ducimus,molestiae,3092 +3093,eum,placeat,3093 +3094,eligendi,vero,3094 +3095,accusamus,rerum,3095 +3096,est,quia,3096 +3097,aliquam,iste,3097 +3098,quia,consequatur,3098 +3099,labore,facilis,3099 +3100,quo,inventore,3100 +3101,quos,molestiae,3101 +3102,itaque,illo,3102 +3103,nam,qui,3103 +3104,minus,inventore,3104 +3105,eaque,aut,3105 +3106,iste,nobis,3106 +3107,vitae,assumenda,3107 +3108,temporibus,aliquid,3108 +3109,et,corrupti,3109 +3110,sunt,dolore,3110 +3111,quibusdam,cupiditate,3111 +3112,eaque,voluptate,3112 +3113,commodi,voluptates,3113 +3114,omnis,facilis,3114 +3115,at,perferendis,3115 +3116,amet,voluptatem,3116 +3117,qui,enim,3117 +3118,est,consequatur,3118 +3119,accusamus,alias,3119 +3120,ducimus,ut,3120 +3121,delectus,odit,3121 +3122,a,debitis,3122 +3123,voluptas,modi,3123 +3124,enim,et,3124 +3125,pariatur,omnis,3125 +3126,aut,deserunt,3126 +3127,cum,voluptas,3127 +3128,rerum,nihil,3128 +3129,beatae,quo,3129 +3130,et,voluptatem,3130 +3131,eum,voluptates,3131 +3132,est,commodi,3132 +3133,eveniet,quae,3133 +3134,enim,cupiditate,3134 +3135,unde,in,3135 +3136,molestias,molestiae,3136 +3137,asperiores,sed,3137 +3138,rerum,qui,3138 +3139,et,possimus,3139 +3140,quia,reprehenderit,3140 +3141,excepturi,tempora,3141 +3142,voluptatibus,voluptatibus,3142 +3143,eaque,rerum,3143 +3144,dignissimos,beatae,3144 +3145,dolores,et,3145 +3146,qui,dolor,3146 +3147,inventore,atque,3147 +3148,iusto,eum,3148 +3149,voluptates,temporibus,3149 +3150,debitis,et,3150 +3151,sint,perspiciatis,3151 +3152,hic,adipisci,3152 +3153,assumenda,ex,3153 +3154,repellat,magni,3154 +3155,delectus,consectetur,3155 +3156,quis,aut,3156 +3157,quo,quod,3157 +3158,ad,quo,3158 +3159,non,quia,3159 +3160,accusamus,enim,3160 +3161,nemo,dignissimos,3161 +3162,molestias,molestiae,3162 +3163,voluptatibus,et,3163 +3164,voluptatibus,est,3164 +3165,sequi,cumque,3165 +3166,cumque,id,3166 +3167,cum,iste,3167 +3168,est,nihil,3168 +3169,et,voluptatem,3169 +3170,sint,quia,3170 +3171,amet,odio,3171 +3172,omnis,et,3172 +3173,qui,explicabo,3173 +3174,et,sit,3174 +3175,nobis,sunt,3175 +3176,excepturi,eos,3176 +3177,quia,veniam,3177 +3178,temporibus,sint,3178 +3179,animi,totam,3179 +3180,optio,incidunt,3180 +3181,fugit,et,3181 +3182,nostrum,sint,3182 +3183,maiores,qui,3183 +3184,aspernatur,voluptatem,3184 +3185,quam,omnis,3185 +3186,quis,magnam,3186 +3187,sit,dolor,3187 +3188,eaque,voluptatibus,3188 +3189,enim,autem,3189 +3190,quia,totam,3190 +3191,eligendi,architecto,3191 +3192,sunt,et,3192 +3193,quia,et,3193 +3194,assumenda,perferendis,3194 +3195,ut,est,3195 +3196,et,architecto,3196 +3197,dolorum,fugit,3197 +3198,libero,possimus,3198 +3199,quasi,voluptatem,3199 +3200,magni,qui,3200 +3201,quia,dignissimos,3201 +3202,ipsa,molestiae,3202 +3203,sed,laborum,3203 +3204,dolore,animi,3204 +3205,minima,officia,3205 +3206,quod,maxime,3206 +3207,non,rem,3207 +3208,adipisci,rerum,3208 +3209,voluptate,accusamus,3209 +3210,deleniti,placeat,3210 +3211,officia,harum,3211 +3212,provident,id,3212 +3213,id,voluptatem,3213 +3214,minus,doloremque,3214 +3215,libero,temporibus,3215 +3216,sed,iusto,3216 +3217,dolores,ab,3217 +3218,quia,nihil,3218 +3219,est,sed,3219 +3220,sit,repellat,3220 +3221,quia,aliquam,3221 +3222,ut,rem,3222 +3223,dolorem,explicabo,3223 +3224,reprehenderit,sint,3224 +3225,est,molestiae,3225 +3226,quia,quis,3226 +3227,hic,enim,3227 +3228,provident,eum,3228 +3229,magnam,dolores,3229 +3230,illum,laboriosam,3230 +3231,maxime,aliquid,3231 +3232,dolores,officia,3232 +3233,aliquid,placeat,3233 +3234,et,dolor,3234 +3235,minima,rem,3235 +3236,ipsum,blanditiis,3236 +3237,impedit,quaerat,3237 +3238,aut,enim,3238 +3239,consequatur,tenetur,3239 +3240,placeat,maiores,3240 +3241,quia,cupiditate,3241 +3242,et,maiores,3242 +3243,natus,earum,3243 +3244,doloremque,aut,3244 +3245,neque,adipisci,3245 +3246,et,consectetur,3246 +3247,quia,odit,3247 +3248,aliquam,alias,3248 +3249,recusandae,omnis,3249 +3250,doloremque,est,3250 +3251,fuga,nulla,3251 +3252,ut,impedit,3252 +3253,quam,vel,3253 +3254,qui,illo,3254 +3255,voluptas,dicta,3255 +3256,veniam,rerum,3256 +3257,qui,reprehenderit,3257 +3258,officia,sed,3258 +3259,accusamus,temporibus,3259 +3260,recusandae,autem,3260 +3261,maxime,reprehenderit,3261 +3262,nostrum,labore,3262 +3263,laboriosam,iste,3263 +3264,porro,aut,3264 +3265,et,dolorum,3265 +3266,qui,labore,3266 +3267,laborum,numquam,3267 +3268,repudiandae,soluta,3268 +3269,et,quos,3269 +3270,ut,qui,3270 +3271,excepturi,doloremque,3271 +3272,dolor,reprehenderit,3272 +3273,quis,labore,3273 +3274,dolorem,est,3274 +3275,cupiditate,optio,3275 +3276,quo,consequatur,3276 +3277,sed,voluptate,3277 +3278,laboriosam,veritatis,3278 +3279,et,dolor,3279 +3280,odio,eum,3280 +3281,quo,iusto,3281 +3282,aspernatur,vitae,3282 +3283,hic,voluptatem,3283 +3284,mollitia,assumenda,3284 +3285,quo,occaecati,3285 +3286,enim,hic,3286 +3287,est,quo,3287 +3288,accusamus,accusamus,3288 +3289,molestiae,tenetur,3289 +3290,dolores,et,3290 +3291,qui,voluptate,3291 +3292,quis,velit,3292 +3293,architecto,modi,3293 +3294,est,illum,3294 +3295,est,a,3295 +3296,et,unde,3296 +3297,quasi,quia,3297 +3298,laudantium,voluptas,3298 +3299,veritatis,et,3299 +3300,at,voluptatem,3300 +3301,maxime,eius,3301 +3302,velit,rem,3302 +3303,voluptatem,nemo,3303 +3304,consequatur,in,3304 +3305,exercitationem,debitis,3305 +3306,error,repudiandae,3306 +3307,consequatur,eveniet,3307 +3308,aut,voluptatibus,3308 +3309,blanditiis,deserunt,3309 +3310,facilis,unde,3310 +3311,in,quam,3311 +3312,et,est,3312 +3313,maxime,praesentium,3313 +3314,dolores,sapiente,3314 +3315,quia,at,3315 +3316,numquam,corporis,3316 +3317,omnis,cumque,3317 +3318,occaecati,commodi,3318 +3319,molestiae,repellat,3319 +3320,voluptate,velit,3320 +3321,fuga,cumque,3321 +3322,minus,nesciunt,3322 +3323,voluptatem,a,3323 +3324,minima,dolores,3324 +3325,labore,cupiditate,3325 +3326,blanditiis,in,3326 +3327,iste,non,3327 +3328,ipsum,magni,3328 +3329,labore,debitis,3329 +3330,ad,veniam,3330 +3331,perferendis,ipsam,3331 +3332,similique,et,3332 +3333,qui,dolor,3333 +3334,dolorem,eius,3334 +3335,ut,a,3335 +3336,ea,consequatur,3336 +3337,aspernatur,nisi,3337 +3338,accusamus,aut,3338 +3339,quibusdam,sint,3339 +3340,unde,omnis,3340 +3341,dolorem,distinctio,3341 +3342,sapiente,dolorum,3342 +3343,vero,a,3343 +3344,voluptas,officiis,3344 +3345,quia,velit,3345 +3346,fugit,debitis,3346 +3347,voluptas,dolor,3347 +3348,dicta,quia,3348 +3349,minus,consequatur,3349 +3350,velit,et,3350 +3351,aut,et,3351 +3352,laudantium,non,3352 +3353,laborum,iste,3353 +3354,cum,dolor,3354 +3355,est,occaecati,3355 +3356,ducimus,officia,3356 +3357,distinctio,quasi,3357 +3358,tempora,soluta,3358 +3359,doloremque,quo,3359 +3360,ut,quia,3360 +3361,quasi,autem,3361 +3362,ullam,minus,3362 +3363,et,praesentium,3363 +3364,omnis,est,3364 +3365,nihil,hic,3365 +3366,qui,et,3366 +3367,consequatur,qui,3367 +3368,cumque,quis,3368 +3369,voluptas,vitae,3369 +3370,dolor,corporis,3370 +3371,et,magni,3371 +3372,unde,minus,3372 +3373,recusandae,rerum,3373 +3374,non,cumque,3374 +3375,dolore,voluptatum,3375 +3376,qui,aut,3376 +3377,qui,quis,3377 +3378,sint,omnis,3378 +3379,deserunt,id,3379 +3380,nemo,aliquam,3380 +3381,asperiores,a,3381 +3382,et,tempore,3382 +3383,eaque,et,3383 +3384,odio,et,3384 +3385,omnis,deserunt,3385 +3386,rem,dolorum,3386 +3387,asperiores,sed,3387 +3388,modi,sed,3388 +3389,aut,error,3389 +3390,cumque,quis,3390 +3391,omnis,praesentium,3391 +3392,praesentium,eveniet,3392 +3393,aut,quasi,3393 +3394,sint,commodi,3394 +3395,fugit,ut,3395 +3396,iusto,magnam,3396 +3397,debitis,quidem,3397 +3398,voluptatibus,aut,3398 +3399,ea,aspernatur,3399 +3400,in,odit,3400 +3401,nemo,est,3401 +3402,cum,ducimus,3402 +3403,consectetur,quae,3403 +3404,praesentium,hic,3404 +3405,recusandae,consectetur,3405 +3406,doloribus,amet,3406 +3407,et,sed,3407 +3408,et,ut,3408 +3409,nihil,vitae,3409 +3410,ullam,iusto,3410 +3411,qui,aut,3411 +3412,sapiente,officia,3412 +3413,rerum,adipisci,3413 +3414,omnis,rem,3414 +3415,unde,ut,3415 +3416,ut,illum,3416 +3417,et,et,3417 +3418,aliquid,rerum,3418 +3419,enim,facere,3419 +3420,esse,qui,3420 +3421,animi,eum,3421 +3422,modi,possimus,3422 +3423,reiciendis,incidunt,3423 +3424,soluta,dolor,3424 +3425,enim,id,3425 +3426,et,laboriosam,3426 +3427,aut,aliquid,3427 +3428,corporis,rerum,3428 +3429,officiis,et,3429 +3430,autem,qui,3430 +3431,et,expedita,3431 +3432,dolorem,suscipit,3432 +3433,quidem,voluptas,3433 +3434,dolore,est,3434 +3435,qui,porro,3435 +3436,omnis,et,3436 +3437,quos,dignissimos,3437 +3438,reiciendis,voluptatum,3438 +3439,omnis,quo,3439 +3440,id,saepe,3440 +3441,sint,illo,3441 +3442,voluptate,ab,3442 +3443,provident,iste,3443 +3444,numquam,eveniet,3444 +3445,fugiat,omnis,3445 +3446,nulla,nam,3446 +3447,ut,voluptatem,3447 +3448,omnis,dolores,3448 +3449,dolorem,id,3449 +3450,sit,non,3450 +3451,consequatur,minus,3451 +3452,recusandae,temporibus,3452 +3453,eveniet,vero,3453 +3454,nulla,blanditiis,3454 +3455,eius,dolorum,3455 +3456,voluptates,sit,3456 +3457,deserunt,nam,3457 +3458,consequatur,ducimus,3458 +3459,sed,aut,3459 +3460,tenetur,id,3460 +3461,recusandae,et,3461 +3462,ea,autem,3462 +3463,aut,eaque,3463 +3464,velit,enim,3464 +3465,unde,dolores,3465 +3466,architecto,repellendus,3466 +3467,reiciendis,qui,3467 +3468,pariatur,blanditiis,3468 +3469,eum,voluptatem,3469 +3470,consequatur,earum,3470 +3471,optio,soluta,3471 +3472,quibusdam,saepe,3472 +3473,sed,eos,3473 +3474,ipsum,eaque,3474 +3475,nobis,dolorem,3475 +3476,quo,rerum,3476 +3477,provident,vel,3477 +3478,corporis,laboriosam,3478 +3479,repudiandae,accusantium,3479 +3480,animi,illo,3480 +3481,aliquam,nisi,3481 +3482,officia,nisi,3482 +3483,atque,harum,3483 +3484,earum,sed,3484 +3485,ut,dicta,3485 +3486,ipsum,doloremque,3486 +3487,recusandae,doloribus,3487 +3488,laboriosam,dolorum,3488 +3489,aut,rem,3489 +3490,voluptatem,a,3490 +3491,quia,nisi,3491 +3492,ut,quis,3492 +3493,ut,dolores,3493 +3494,tempore,veritatis,3494 +3495,voluptatibus,iste,3495 +3496,necessitatibus,non,3496 +3497,quibusdam,aut,3497 +3498,delectus,molestiae,3498 +3499,reiciendis,id,3499 +3500,blanditiis,sed,3500 +3501,eaque,aut,3501 +3502,atque,doloremque,3502 +3503,aut,sed,3503 +3504,quam,quibusdam,3504 +3505,minus,consequatur,3505 +3506,odio,velit,3506 +3507,praesentium,et,3507 +3508,deserunt,nobis,3508 +3509,qui,laboriosam,3509 +3510,qui,quasi,3510 +3511,est,earum,3511 +3512,architecto,veniam,3512 +3513,sit,et,3513 +3514,possimus,blanditiis,3514 +3515,dolores,iusto,3515 +3516,molestiae,aut,3516 +3517,est,libero,3517 +3518,aliquid,officia,3518 +3519,tempora,impedit,3519 +3520,fuga,iure,3520 +3521,reprehenderit,aperiam,3521 +3522,voluptatem,tempore,3522 +3523,consequatur,iusto,3523 +3524,excepturi,quibusdam,3524 +3525,optio,enim,3525 +3526,quam,omnis,3526 +3527,possimus,consequatur,3527 +3528,praesentium,doloribus,3528 +3529,ea,quaerat,3529 +3530,pariatur,libero,3530 +3531,maxime,pariatur,3531 +3532,quae,hic,3532 +3533,minima,odit,3533 +3534,corrupti,hic,3534 +3535,suscipit,fugiat,3535 +3536,dolores,eos,3536 +3537,omnis,labore,3537 +3538,eligendi,nesciunt,3538 +3539,unde,sunt,3539 +3540,sed,perferendis,3540 +3541,qui,cumque,3541 +3542,occaecati,earum,3542 +3543,molestiae,aut,3543 +3544,nihil,excepturi,3544 +3545,dolor,esse,3545 +3546,ut,praesentium,3546 +3547,quia,deserunt,3547 +3548,quaerat,omnis,3548 +3549,quo,sunt,3549 +3550,repellendus,accusamus,3550 +3551,et,a,3551 +3552,perspiciatis,earum,3552 +3553,laboriosam,in,3553 +3554,tempore,molestiae,3554 +3555,unde,minima,3555 +3556,est,enim,3556 +3557,repudiandae,ut,3557 +3558,qui,eum,3558 +3559,vel,aut,3559 +3560,magni,animi,3560 +3561,libero,quo,3561 +3562,nulla,quibusdam,3562 +3563,ut,voluptatum,3563 +3564,voluptatem,et,3564 +3565,sit,qui,3565 +3566,et,architecto,3566 +3567,ipsum,et,3567 +3568,maiores,molestiae,3568 +3569,qui,dolor,3569 +3570,et,qui,3570 +3571,ex,aut,3571 +3572,expedita,asperiores,3572 +3573,autem,quisquam,3573 +3574,exercitationem,consequatur,3574 +3575,quae,omnis,3575 +3576,officiis,et,3576 +3577,vitae,praesentium,3577 +3578,explicabo,quasi,3578 +3579,quia,et,3579 +3580,repellendus,veniam,3580 +3581,necessitatibus,odio,3581 +3582,cumque,atque,3582 +3583,itaque,provident,3583 +3584,nulla,in,3584 +3585,rerum,facere,3585 +3586,ut,autem,3586 +3587,veritatis,occaecati,3587 +3588,voluptatibus,aliquam,3588 +3589,temporibus,autem,3589 +3590,voluptatem,ea,3590 +3591,dolore,est,3591 +3592,enim,est,3592 +3593,earum,nam,3593 +3594,vel,omnis,3594 +3595,et,deleniti,3595 +3596,dolorum,voluptatem,3596 +3597,nostrum,soluta,3597 +3598,dignissimos,quia,3598 +3599,cum,iure,3599 +3600,aspernatur,est,3600 +3601,dolorem,fugiat,3601 +3602,neque,laborum,3602 +3603,et,vel,3603 +3604,voluptatem,expedita,3604 +3605,sunt,rerum,3605 +3606,mollitia,et,3606 +3607,ad,quaerat,3607 +3608,illo,iusto,3608 +3609,sed,necessitatibus,3609 +3610,quidem,nihil,3610 +3611,quo,voluptatem,3611 +3612,vitae,autem,3612 +3613,et,aspernatur,3613 +3614,ea,inventore,3614 +3615,qui,voluptatem,3615 +3616,voluptates,consectetur,3616 +3617,illum,quibusdam,3617 +3618,nesciunt,ab,3618 +3619,repellat,illum,3619 +3620,optio,ut,3620 +3621,quisquam,voluptas,3621 +3622,ut,ipsa,3622 +3623,minus,voluptatem,3623 +3624,accusamus,sed,3624 +3625,eligendi,iste,3625 +3626,at,est,3626 +3627,culpa,et,3627 +3628,ex,dolores,3628 +3629,debitis,earum,3629 +3630,laborum,similique,3630 +3631,temporibus,consequatur,3631 +3632,qui,iste,3632 +3633,modi,non,3633 +3634,fugiat,et,3634 +3635,deserunt,odit,3635 +3636,dignissimos,quibusdam,3636 +3637,quia,dignissimos,3637 +3638,et,enim,3638 +3639,et,culpa,3639 +3640,voluptatem,nostrum,3640 +3641,doloribus,magni,3641 +3642,harum,sint,3642 +3643,similique,quis,3643 +3644,nihil,quia,3644 +3645,qui,sit,3645 +3646,rem,ratione,3646 +3647,molestias,dignissimos,3647 +3648,minima,aut,3648 +3649,molestias,sapiente,3649 +3650,qui,dolore,3650 +3651,ad,qui,3651 +3652,commodi,doloremque,3652 +3653,illum,atque,3653 +3654,dignissimos,rem,3654 +3655,ab,eaque,3655 +3656,qui,deserunt,3656 +3657,dolores,occaecati,3657 +3658,omnis,ut,3658 +3659,omnis,eum,3659 +3660,consequatur,pariatur,3660 +3661,sit,impedit,3661 +3662,itaque,labore,3662 +3663,quae,et,3663 +3664,sed,deleniti,3664 +3665,laudantium,autem,3665 +3666,voluptate,sed,3666 +3667,pariatur,officia,3667 +3668,labore,odit,3668 +3669,nisi,qui,3669 +3670,et,nihil,3670 +3671,occaecati,voluptas,3671 +3672,alias,magnam,3672 +3673,dolores,optio,3673 +3674,accusantium,rem,3674 +3675,qui,atque,3675 +3676,culpa,numquam,3676 +3677,veniam,sit,3677 +3678,sed,corporis,3678 +3679,amet,dolorem,3679 +3680,et,ut,3680 +3681,dolores,corrupti,3681 +3682,voluptates,dolor,3682 +3683,doloribus,unde,3683 +3684,perspiciatis,vitae,3684 +3685,odio,quo,3685 +3686,eaque,consequuntur,3686 +3687,mollitia,delectus,3687 +3688,odit,consequatur,3688 +3689,necessitatibus,eos,3689 +3690,perspiciatis,in,3690 +3691,officia,in,3691 +3692,a,error,3692 +3693,impedit,voluptas,3693 +3694,vitae,omnis,3694 +3695,quaerat,quis,3695 +3696,quo,asperiores,3696 +3697,quia,explicabo,3697 +3698,nulla,quam,3698 +3699,accusantium,expedita,3699 +3700,officiis,dolores,3700 +3701,nulla,quia,3701 +3702,doloribus,vel,3702 +3703,doloribus,beatae,3703 +3704,voluptatem,labore,3704 +3705,voluptate,rerum,3705 +3706,non,sint,3706 +3707,inventore,sit,3707 +3708,quisquam,quos,3708 +3709,aut,et,3709 +3710,blanditiis,repudiandae,3710 +3711,iusto,et,3711 +3712,eligendi,libero,3712 +3713,consequatur,consequatur,3713 +3714,maiores,ducimus,3714 +3715,eaque,nostrum,3715 +3716,nostrum,aut,3716 +3717,perspiciatis,nesciunt,3717 +3718,aut,quis,3718 +3719,veniam,quis,3719 +3720,veniam,maxime,3720 +3721,ullam,id,3721 +3722,sint,in,3722 +3723,modi,voluptas,3723 +3724,blanditiis,laudantium,3724 +3725,velit,voluptatibus,3725 +3726,aspernatur,rerum,3726 +3727,animi,et,3727 +3728,velit,aspernatur,3728 +3729,atque,quas,3729 +3730,minus,aut,3730 +3731,et,aspernatur,3731 +3732,delectus,modi,3732 +3733,repellendus,eius,3733 +3734,architecto,commodi,3734 +3735,sit,a,3735 +3736,molestiae,culpa,3736 +3737,corporis,maiores,3737 +3738,sapiente,dolor,3738 +3739,repellendus,dolores,3739 +3740,sit,mollitia,3740 +3741,cumque,sit,3741 +3742,excepturi,qui,3742 +3743,ipsa,voluptatibus,3743 +3744,totam,aut,3744 +3745,necessitatibus,molestias,3745 +3746,id,quia,3746 +3747,cum,voluptatem,3747 +3748,eum,earum,3748 +3749,rerum,vel,3749 +3750,est,ea,3750 +3751,enim,ut,3751 +3752,beatae,ipsam,3752 +3753,unde,in,3753 +3754,maiores,nihil,3754 +3755,magnam,et,3755 +3756,consequatur,perspiciatis,3756 +3757,voluptatem,odio,3757 +3758,qui,sunt,3758 +3759,sunt,et,3759 +3760,exercitationem,voluptas,3760 +3761,rerum,corporis,3761 +3762,aliquid,ratione,3762 +3763,minima,delectus,3763 +3764,est,quas,3764 +3765,placeat,consectetur,3765 +3766,expedita,iure,3766 +3767,reiciendis,doloremque,3767 +3768,molestias,tempora,3768 +3769,ullam,culpa,3769 +3770,dolorem,aliquid,3770 +3771,a,laudantium,3771 +3772,est,quo,3772 +3773,sit,qui,3773 +3774,et,minima,3774 +3775,tempora,cum,3775 +3776,quia,impedit,3776 +3777,occaecati,ducimus,3777 +3778,doloribus,facere,3778 +3779,et,porro,3779 +3780,et,consectetur,3780 +3781,incidunt,ab,3781 +3782,rerum,quod,3782 +3783,officia,aut,3783 +3784,dolorum,quod,3784 +3785,quidem,magni,3785 +3786,nemo,fugit,3786 +3787,aliquam,quaerat,3787 +3788,velit,soluta,3788 +3789,exercitationem,ut,3789 +3790,nesciunt,beatae,3790 +3791,dolores,tempora,3791 +3792,quaerat,autem,3792 +3793,delectus,exercitationem,3793 +3794,quia,et,3794 +3795,consequatur,architecto,3795 +3796,accusantium,possimus,3796 +3797,qui,rerum,3797 +3798,voluptatem,rem,3798 +3799,optio,rem,3799 +3800,earum,culpa,3800 +3801,et,eligendi,3801 +3802,ea,alias,3802 +3803,eum,dolores,3803 +3804,earum,similique,3804 +3805,rem,beatae,3805 +3806,voluptatem,animi,3806 +3807,veritatis,non,3807 +3808,accusamus,error,3808 +3809,aliquid,minus,3809 +3810,et,est,3810 +3811,et,error,3811 +3812,minima,quidem,3812 +3813,veniam,veritatis,3813 +3814,iste,asperiores,3814 +3815,enim,quaerat,3815 +3816,vero,consequatur,3816 +3817,laborum,itaque,3817 +3818,natus,neque,3818 +3819,eum,ut,3819 +3820,quae,officiis,3820 +3821,esse,accusantium,3821 +3822,consectetur,ut,3822 +3823,sunt,harum,3823 +3824,quos,rerum,3824 +3825,totam,consequatur,3825 +3826,similique,dolorem,3826 +3827,voluptas,quaerat,3827 +3828,maxime,minima,3828 +3829,velit,deserunt,3829 +3830,perspiciatis,placeat,3830 +3831,omnis,quaerat,3831 +3832,ipsa,repellat,3832 +3833,eius,aliquam,3833 +3834,maiores,et,3834 +3835,omnis,sint,3835 +3836,ut,soluta,3836 +3837,nobis,perferendis,3837 +3838,quaerat,et,3838 +3839,blanditiis,rerum,3839 +3840,quasi,repellendus,3840 +3841,commodi,deserunt,3841 +3842,veniam,officia,3842 +3843,voluptatem,qui,3843 +3844,cupiditate,aut,3844 +3845,quia,labore,3845 +3846,nobis,est,3846 +3847,labore,sint,3847 +3848,quis,officiis,3848 +3849,ullam,voluptatum,3849 +3850,enim,dignissimos,3850 +3851,officia,aliquid,3851 +3852,quis,et,3852 +3853,est,dolorum,3853 +3854,aliquam,rerum,3854 +3855,earum,aut,3855 +3856,voluptate,ad,3856 +3857,laborum,sit,3857 +3858,et,eius,3858 +3859,reprehenderit,qui,3859 +3860,est,ut,3860 +3861,facilis,modi,3861 +3862,beatae,qui,3862 +3863,architecto,tempora,3863 +3864,asperiores,sit,3864 +3865,id,et,3865 +3866,quis,delectus,3866 +3867,unde,et,3867 +3868,qui,quia,3868 +3869,ut,non,3869 +3870,sed,sit,3870 +3871,repudiandae,illum,3871 +3872,voluptas,quia,3872 +3873,ipsa,tempora,3873 +3874,cum,qui,3874 +3875,non,delectus,3875 +3876,sint,consequatur,3876 +3877,ratione,ratione,3877 +3878,est,est,3878 +3879,impedit,voluptate,3879 +3880,ab,iure,3880 +3881,et,asperiores,3881 +3882,id,vel,3882 +3883,ab,omnis,3883 +3884,sit,esse,3884 +3885,repellat,ab,3885 +3886,unde,et,3886 +3887,suscipit,doloribus,3887 +3888,dolore,doloribus,3888 +3889,non,natus,3889 +3890,molestias,molestiae,3890 +3891,occaecati,est,3891 +3892,quod,laborum,3892 +3893,sed,a,3893 +3894,quis,quos,3894 +3895,quo,earum,3895 +3896,delectus,et,3896 +3897,sit,et,3897 +3898,aut,deserunt,3898 +3899,et,ea,3899 +3900,numquam,sunt,3900 +3901,dolorem,et,3901 +3902,non,et,3902 +3903,a,eveniet,3903 +3904,magnam,voluptas,3904 +3905,laudantium,reprehenderit,3905 +3906,sed,unde,3906 +3907,sed,ea,3907 +3908,saepe,hic,3908 +3909,commodi,magnam,3909 +3910,suscipit,voluptate,3910 +3911,consequatur,incidunt,3911 +3912,laborum,cumque,3912 +3913,quo,velit,3913 +3914,inventore,est,3914 +3915,reiciendis,ut,3915 +3916,rem,dolor,3916 +3917,quia,eligendi,3917 +3918,debitis,et,3918 +3919,nemo,eos,3919 +3920,odit,rerum,3920 +3921,necessitatibus,dolorem,3921 +3922,consequatur,inventore,3922 +3923,repellendus,sed,3923 +3924,ratione,repellat,3924 +3925,qui,animi,3925 +3926,maxime,impedit,3926 +3927,quas,autem,3927 +3928,reprehenderit,unde,3928 +3929,neque,est,3929 +3930,et,excepturi,3930 +3931,ex,at,3931 +3932,voluptas,nihil,3932 +3933,maiores,ut,3933 +3934,molestiae,occaecati,3934 +3935,labore,fugit,3935 +3936,voluptatum,aliquid,3936 +3937,maxime,laborum,3937 +3938,quaerat,eos,3938 +3939,modi,animi,3939 +3940,accusantium,voluptatum,3940 +3941,alias,ducimus,3941 +3942,optio,sint,3942 +3943,nemo,et,3943 +3944,facilis,odio,3944 +3945,saepe,natus,3945 +3946,libero,et,3946 +3947,aliquid,illum,3947 +3948,reprehenderit,id,3948 +3949,at,et,3949 +3950,aut,ex,3950 +3951,facere,sequi,3951 +3952,natus,esse,3952 +3953,delectus,et,3953 +3954,qui,voluptas,3954 +3955,est,eaque,3955 +3956,consectetur,quos,3956 +3957,quas,commodi,3957 +3958,quis,hic,3958 +3959,commodi,asperiores,3959 +3960,consequuntur,qui,3960 +3961,perspiciatis,maxime,3961 +3962,et,velit,3962 +3963,incidunt,officiis,3963 +3964,architecto,consectetur,3964 +3965,nam,numquam,3965 +3966,in,sed,3966 +3967,harum,omnis,3967 +3968,eum,labore,3968 +3969,ullam,omnis,3969 +3970,praesentium,et,3970 +3971,ea,at,3971 +3972,culpa,voluptas,3972 +3973,aliquam,quae,3973 +3974,sint,quasi,3974 +3975,ut,doloremque,3975 +3976,in,est,3976 +3977,cumque,velit,3977 +3978,et,et,3978 +3979,explicabo,sint,3979 +3980,dolorum,aut,3980 +3981,odit,temporibus,3981 +3982,praesentium,voluptatem,3982 +3983,omnis,maiores,3983 +3984,dolores,accusantium,3984 +3985,autem,assumenda,3985 +3986,repudiandae,sequi,3986 +3987,eius,omnis,3987 +3988,magnam,accusantium,3988 +3989,ratione,tempore,3989 +3990,ut,aut,3990 +3991,est,ut,3991 +3992,cumque,dolore,3992 +3993,neque,id,3993 +3994,repellat,fugiat,3994 +3995,quod,aspernatur,3995 +3996,suscipit,facilis,3996 +3997,reprehenderit,debitis,3997 +3998,placeat,repudiandae,3998 +3999,velit,quia,3999 +4000,dolorem,nam,4000 +4001,voluptatem,non,4001 +4002,explicabo,in,4002 +4003,ullam,quas,4003 +4004,minima,sit,4004 +4005,omnis,accusamus,4005 +4006,ratione,magnam,4006 +4007,corporis,repudiandae,4007 +4008,eius,est,4008 +4009,commodi,aperiam,4009 +4010,ut,velit,4010 +4011,expedita,ea,4011 +4012,doloribus,dolorum,4012 +4013,ducimus,laborum,4013 +4014,possimus,sunt,4014 +4015,tenetur,et,4015 +4016,mollitia,distinctio,4016 +4017,qui,eum,4017 +4018,voluptas,architecto,4018 +4019,magni,quidem,4019 +4020,nostrum,labore,4020 +4021,maiores,quasi,4021 +4022,eos,id,4022 +4023,quia,consectetur,4023 +4024,doloribus,in,4024 +4025,maxime,reiciendis,4025 +4026,amet,aut,4026 +4027,sed,culpa,4027 +4028,sint,iusto,4028 +4029,quo,natus,4029 +4030,ea,et,4030 +4031,quo,omnis,4031 +4032,sint,nemo,4032 +4033,vitae,omnis,4033 +4034,quo,quod,4034 +4035,recusandae,animi,4035 +4036,qui,animi,4036 +4037,dolorem,nesciunt,4037 +4038,numquam,dolores,4038 +4039,sequi,id,4039 +4040,saepe,hic,4040 +4041,minus,est,4041 +4042,explicabo,mollitia,4042 +4043,perspiciatis,nihil,4043 +4044,eaque,et,4044 +4045,animi,sint,4045 +4046,mollitia,nisi,4046 +4047,ut,perspiciatis,4047 +4048,quo,consequatur,4048 +4049,est,quia,4049 +4050,rem,debitis,4050 +4051,fuga,et,4051 +4052,fugit,porro,4052 +4053,quam,iure,4053 +4054,cumque,eos,4054 +4055,ipsum,autem,4055 +4056,at,aspernatur,4056 +4057,unde,explicabo,4057 +4058,mollitia,rerum,4058 +4059,debitis,officia,4059 +4060,sunt,quo,4060 +4061,voluptas,ipsam,4061 +4062,asperiores,ut,4062 +4063,consequatur,iure,4063 +4064,sit,qui,4064 +4065,magni,aut,4065 +4066,asperiores,ipsum,4066 +4067,id,mollitia,4067 +4068,quam,a,4068 +4069,esse,sequi,4069 +4070,delectus,suscipit,4070 +4071,quas,exercitationem,4071 +4072,vero,necessitatibus,4072 +4073,est,culpa,4073 +4074,eius,non,4074 +4075,sed,quia,4075 +4076,quam,eum,4076 +4077,consequatur,praesentium,4077 +4078,eius,numquam,4078 +4079,et,id,4079 +4080,sint,quia,4080 +4081,perferendis,et,4081 +4082,perferendis,omnis,4082 +4083,praesentium,in,4083 +4084,quas,corrupti,4084 +4085,sunt,sed,4085 +4086,fuga,illo,4086 +4087,veritatis,vel,4087 +4088,laboriosam,harum,4088 +4089,beatae,commodi,4089 +4090,quisquam,nostrum,4090 +4091,et,placeat,4091 +4092,vitae,unde,4092 +4093,nesciunt,tenetur,4093 +4094,omnis,sint,4094 +4095,facilis,explicabo,4095 +4096,perferendis,magnam,4096 +4097,consectetur,eaque,4097 +4098,cumque,qui,4098 +4099,sit,ut,4099 +4100,non,ea,4100 +4101,est,saepe,4101 +4102,eos,qui,4102 +4103,et,et,4103 +4104,aut,voluptas,4104 +4105,quibusdam,sed,4105 +4106,enim,natus,4106 +4107,voluptate,dolores,4107 +4108,ducimus,omnis,4108 +4109,labore,et,4109 +4110,distinctio,eius,4110 +4111,optio,totam,4111 +4112,nisi,sed,4112 +4113,officiis,expedita,4113 +4114,mollitia,sit,4114 +4115,in,consequatur,4115 +4116,excepturi,nisi,4116 +4117,debitis,dolorem,4117 +4118,natus,doloremque,4118 +4119,assumenda,sit,4119 +4120,laudantium,expedita,4120 +4121,consequatur,voluptatem,4121 +4122,molestias,distinctio,4122 +4123,consequatur,eveniet,4123 +4124,enim,voluptates,4124 +4125,voluptas,quia,4125 +4126,provident,repellat,4126 +4127,id,commodi,4127 +4128,voluptatem,et,4128 +4129,reiciendis,sit,4129 +4130,incidunt,eos,4130 +4131,consequuntur,vero,4131 +4132,explicabo,corporis,4132 +4133,voluptate,voluptatem,4133 +4134,id,ab,4134 +4135,recusandae,nisi,4135 +4136,molestias,at,4136 +4137,fugiat,provident,4137 +4138,tenetur,accusantium,4138 +4139,quis,voluptatem,4139 +4140,hic,quaerat,4140 +4141,illum,earum,4141 +4142,rerum,et,4142 +4143,est,sit,4143 +4144,dolore,corrupti,4144 +4145,nihil,aut,4145 +4146,sint,illum,4146 +4147,sit,distinctio,4147 +4148,laudantium,quo,4148 +4149,et,pariatur,4149 +4150,impedit,quia,4150 +4151,at,debitis,4151 +4152,aut,quas,4152 +4153,nesciunt,soluta,4153 +4154,perspiciatis,et,4154 +4155,est,nostrum,4155 +4156,aliquid,expedita,4156 +4157,qui,tenetur,4157 +4158,distinctio,sint,4158 +4159,tempore,harum,4159 +4160,nulla,laborum,4160 +4161,voluptatem,iusto,4161 +4162,dicta,harum,4162 +4163,molestiae,a,4163 +4164,deserunt,minima,4164 +4165,dolore,animi,4165 +4166,sed,dolores,4166 +4167,aut,aliquid,4167 +4168,eligendi,nostrum,4168 +4169,quia,placeat,4169 +4170,modi,nesciunt,4170 +4171,aut,sed,4171 +4172,in,itaque,4172 +4173,et,amet,4173 +4174,dolores,ex,4174 +4175,modi,reiciendis,4175 +4176,ipsa,dolorem,4176 +4177,non,veritatis,4177 +4178,cum,sunt,4178 +4179,molestias,ut,4179 +4180,nostrum,et,4180 +4181,ab,aut,4181 +4182,nihil,voluptatem,4182 +4183,sequi,optio,4183 +4184,impedit,eum,4184 +4185,ut,aliquid,4185 +4186,ex,mollitia,4186 +4187,reiciendis,tenetur,4187 +4188,rerum,ipsam,4188 +4189,sit,dolor,4189 +4190,quas,aut,4190 +4191,sequi,sit,4191 +4192,consequatur,sequi,4192 +4193,et,minus,4193 +4194,reprehenderit,repellat,4194 +4195,doloremque,est,4195 +4196,qui,modi,4196 +4197,voluptatum,deleniti,4197 +4198,amet,et,4198 +4199,laborum,culpa,4199 +4200,accusamus,nisi,4200 +4201,suscipit,occaecati,4201 +4202,est,laboriosam,4202 +4203,eius,quia,4203 +4204,cupiditate,quasi,4204 +4205,quisquam,dolores,4205 +4206,et,id,4206 +4207,dolorem,et,4207 +4208,unde,ex,4208 +4209,quidem,et,4209 +4210,quibusdam,eligendi,4210 +4211,atque,eligendi,4211 +4212,sed,quam,4212 +4213,dolorem,laudantium,4213 +4214,sit,minima,4214 +4215,saepe,magni,4215 +4216,repudiandae,alias,4216 +4217,sed,qui,4217 +4218,quis,ex,4218 +4219,explicabo,error,4219 +4220,omnis,consectetur,4220 +4221,officiis,magnam,4221 +4222,id,officiis,4222 +4223,porro,enim,4223 +4224,cum,atque,4224 +4225,nobis,asperiores,4225 +4226,minus,repellendus,4226 +4227,et,sint,4227 +4228,id,sint,4228 +4229,ut,enim,4229 +4230,eveniet,tempora,4230 +4231,libero,aut,4231 +4232,assumenda,laudantium,4232 +4233,at,nesciunt,4233 +4234,et,rerum,4234 +4235,asperiores,consequuntur,4235 +4236,soluta,doloribus,4236 +4237,et,et,4237 +4238,natus,rerum,4238 +4239,fugit,occaecati,4239 +4240,dolores,debitis,4240 +4241,numquam,saepe,4241 +4242,et,tenetur,4242 +4243,quod,omnis,4243 +4244,aut,et,4244 +4245,ex,sint,4245 +4246,temporibus,autem,4246 +4247,et,provident,4247 +4248,doloribus,iusto,4248 +4249,ut,facilis,4249 +4250,eum,a,4250 +4251,placeat,et,4251 +4252,rerum,aliquid,4252 +4253,dicta,quibusdam,4253 +4254,explicabo,molestiae,4254 +4255,et,officia,4255 +4256,dolores,provident,4256 +4257,corrupti,aliquid,4257 +4258,consequatur,quia,4258 +4259,itaque,non,4259 +4260,quia,adipisci,4260 +4261,dolorem,dolore,4261 +4262,unde,autem,4262 +4263,vitae,voluptas,4263 +4264,sint,quos,4264 +4265,vel,non,4265 +4266,ullam,corporis,4266 +4267,quam,occaecati,4267 +4268,vel,harum,4268 +4269,sint,quos,4269 +4270,fugit,quia,4270 +4271,qui,illo,4271 +4272,ipsam,deleniti,4272 +4273,omnis,magnam,4273 +4274,delectus,atque,4274 +4275,qui,iste,4275 +4276,voluptates,dolores,4276 +4277,voluptatem,illo,4277 +4278,aspernatur,sapiente,4278 +4279,maiores,fugiat,4279 +4280,qui,molestiae,4280 +4281,consequuntur,ipsum,4281 +4282,quia,modi,4282 +4283,est,eum,4283 +4284,at,aperiam,4284 +4285,culpa,soluta,4285 +4286,nulla,nisi,4286 +4287,quas,accusamus,4287 +4288,provident,id,4288 +4289,rerum,culpa,4289 +4290,autem,odit,4290 +4291,laborum,aspernatur,4291 +4292,unde,tempore,4292 +4293,aut,minus,4293 +4294,quae,eius,4294 +4295,quo,quas,4295 +4296,minus,deserunt,4296 +4297,nisi,et,4297 +4298,consequatur,hic,4298 +4299,earum,et,4299 +4300,vero,consequatur,4300 +4301,libero,et,4301 +4302,est,quia,4302 +4303,suscipit,sed,4303 +4304,rem,qui,4304 +4305,quae,quam,4305 +4306,tempora,eos,4306 +4307,ipsum,iusto,4307 +4308,debitis,qui,4308 +4309,eum,non,4309 +4310,aut,necessitatibus,4310 +4311,occaecati,quo,4311 +4312,atque,quidem,4312 +4313,non,ea,4313 +4314,et,et,4314 +4315,quia,praesentium,4315 +4316,placeat,iusto,4316 +4317,quia,cumque,4317 +4318,laboriosam,nam,4318 +4319,porro,dolorem,4319 +4320,neque,accusantium,4320 +4321,natus,corporis,4321 +4322,non,itaque,4322 +4323,reiciendis,officiis,4323 +4324,ut,ut,4324 +4325,alias,accusamus,4325 +4326,et,nihil,4326 +4327,consectetur,illum,4327 +4328,expedita,ipsa,4328 +4329,repellendus,repellat,4329 +4330,non,maxime,4330 +4331,itaque,ut,4331 +4332,itaque,aut,4332 +4333,velit,at,4333 +4334,quod,harum,4334 +4335,et,aut,4335 +4336,suscipit,et,4336 +4337,omnis,repellat,4337 +4338,est,fugiat,4338 +4339,assumenda,consequatur,4339 +4340,sed,et,4340 +4341,exercitationem,unde,4341 +4342,enim,velit,4342 +4343,sit,iusto,4343 +4344,qui,laudantium,4344 +4345,dolor,voluptas,4345 +4346,cupiditate,et,4346 +4347,et,nisi,4347 +4348,labore,doloribus,4348 +4349,rerum,molestiae,4349 +4350,qui,qui,4350 +4351,ut,minima,4351 +4352,et,dolorem,4352 +4353,sit,ut,4353 +4354,fugiat,veritatis,4354 +4355,inventore,rem,4355 +4356,iure,voluptatem,4356 +4357,illo,sint,4357 +4358,magnam,recusandae,4358 +4359,qui,et,4359 +4360,fuga,a,4360 +4361,voluptates,aliquid,4361 +4362,nihil,similique,4362 +4363,ut,cumque,4363 +4364,corrupti,omnis,4364 +4365,harum,iure,4365 +4366,recusandae,saepe,4366 +4367,sint,magni,4367 +4368,nemo,voluptatem,4368 +4369,enim,necessitatibus,4369 +4370,et,aut,4370 +4371,sapiente,ducimus,4371 +4372,voluptas,cumque,4372 +4373,perspiciatis,neque,4373 +4374,quasi,nobis,4374 +4375,sit,debitis,4375 +4376,rerum,cupiditate,4376 +4377,quas,fuga,4377 +4378,iste,voluptatem,4378 +4379,rerum,voluptas,4379 +4380,temporibus,quis,4380 +4381,minima,ratione,4381 +4382,dolores,eveniet,4382 +4383,reiciendis,dolor,4383 +4384,repudiandae,quas,4384 +4385,beatae,odio,4385 +4386,ut,ad,4386 +4387,autem,doloribus,4387 +4388,dolor,ut,4388 +4389,rem,in,4389 +4390,natus,ut,4390 +4391,amet,enim,4391 +4392,sit,ut,4392 +4393,aut,quia,4393 +4394,id,enim,4394 +4395,tempore,optio,4395 +4396,ut,in,4396 +4397,sed,ratione,4397 +4398,quo,laborum,4398 +4399,suscipit,totam,4399 +4400,ad,dignissimos,4400 +4401,consequatur,et,4401 +4402,laudantium,non,4402 +4403,soluta,atque,4403 +4404,cum,esse,4404 +4405,ad,fuga,4405 +4406,dolor,sint,4406 +4407,et,sunt,4407 +4408,earum,atque,4408 +4409,fugit,exercitationem,4409 +4410,aut,praesentium,4410 +4411,neque,natus,4411 +4412,nemo,ea,4412 +4413,autem,fuga,4413 +4414,autem,fugit,4414 +4415,eaque,vel,4415 +4416,eum,optio,4416 +4417,sit,ut,4417 +4418,ea,earum,4418 +4419,voluptatum,facilis,4419 +4420,sit,ut,4420 +4421,vitae,assumenda,4421 +4422,voluptate,est,4422 +4423,at,sed,4423 +4424,eligendi,libero,4424 +4425,quia,natus,4425 +4426,laudantium,non,4426 +4427,minus,sequi,4427 +4428,facilis,ratione,4428 +4429,quis,quasi,4429 +4430,sunt,porro,4430 +4431,accusantium,magni,4431 +4432,quibusdam,sunt,4432 +4433,cupiditate,quo,4433 +4434,accusamus,nostrum,4434 +4435,praesentium,facilis,4435 +4436,debitis,tempora,4436 +4437,consectetur,ut,4437 +4438,temporibus,saepe,4438 +4439,minus,nobis,4439 +4440,qui,deserunt,4440 +4441,exercitationem,in,4441 +4442,quibusdam,maiores,4442 +4443,odit,ullam,4443 +4444,id,omnis,4444 +4445,suscipit,voluptatem,4445 +4446,perferendis,consequatur,4446 +4447,et,similique,4447 +4448,nemo,ipsum,4448 +4449,vel,occaecati,4449 +4450,ut,ratione,4450 +4451,modi,enim,4451 +4452,esse,placeat,4452 +4453,autem,soluta,4453 +4454,consequatur,perferendis,4454 +4455,qui,rerum,4455 +4456,soluta,quaerat,4456 +4457,sint,id,4457 +4458,aut,dignissimos,4458 +4459,ipsa,facilis,4459 +4460,nulla,numquam,4460 +4461,enim,et,4461 +4462,similique,laudantium,4462 +4463,voluptas,facere,4463 +4464,magni,sed,4464 +4465,temporibus,quia,4465 +4466,aut,esse,4466 +4467,possimus,molestiae,4467 +4468,assumenda,corporis,4468 +4469,minus,sunt,4469 +4470,dolores,dolores,4470 +4471,excepturi,consequuntur,4471 +4472,enim,consectetur,4472 +4473,incidunt,cum,4473 +4474,distinctio,aliquid,4474 +4475,mollitia,sed,4475 +4476,voluptas,et,4476 +4477,provident,ad,4477 +4478,eligendi,quia,4478 +4479,provident,aperiam,4479 +4480,quia,vitae,4480 +4481,nemo,et,4481 +4482,dolor,a,4482 +4483,labore,totam,4483 +4484,eveniet,quod,4484 +4485,id,omnis,4485 +4486,et,esse,4486 +4487,non,quo,4487 +4488,aliquam,accusamus,4488 +4489,qui,eveniet,4489 +4490,consequatur,temporibus,4490 +4491,distinctio,natus,4491 +4492,aliquam,non,4492 +4493,pariatur,minima,4493 +4494,magnam,nihil,4494 +4495,corrupti,voluptas,4495 +4496,eum,voluptas,4496 +4497,sed,dicta,4497 +4498,quis,sequi,4498 +4499,voluptas,exercitationem,4499 +4500,neque,qui,4500 +4501,eum,consequatur,4501 +4502,ut,perferendis,4502 +4503,quaerat,dolorum,4503 +4504,soluta,officiis,4504 +4505,porro,ea,4505 +4506,itaque,laboriosam,4506 +4507,autem,aliquid,4507 +4508,odio,aut,4508 +4509,blanditiis,illum,4509 +4510,non,tempore,4510 +4511,error,itaque,4511 +4512,maxime,et,4512 +4513,eaque,fugiat,4513 +4514,esse,debitis,4514 +4515,sed,aut,4515 +4516,velit,qui,4516 +4517,molestias,inventore,4517 +4518,ipsa,libero,4518 +4519,velit,tempora,4519 +4520,recusandae,error,4520 +4521,qui,eos,4521 +4522,amet,ipsa,4522 +4523,voluptas,neque,4523 +4524,rerum,voluptatem,4524 +4525,enim,laboriosam,4525 +4526,laboriosam,in,4526 +4527,rerum,rerum,4527 +4528,minima,nulla,4528 +4529,earum,labore,4529 +4530,molestiae,non,4530 +4531,et,ipsam,4531 +4532,molestias,eum,4532 +4533,nemo,voluptatem,4533 +4534,similique,consequatur,4534 +4535,omnis,ab,4535 +4536,nisi,aut,4536 +4537,molestias,ipsam,4537 +4538,eligendi,quo,4538 +4539,voluptatem,ut,4539 +4540,ut,sit,4540 +4541,et,possimus,4541 +4542,sint,delectus,4542 +4543,consequatur,aut,4543 +4544,nisi,optio,4544 +4545,nam,sit,4545 +4546,iusto,est,4546 +4547,earum,nostrum,4547 +4548,nihil,quam,4548 +4549,consectetur,dignissimos,4549 +4550,et,et,4550 +4551,quia,corporis,4551 +4552,molestiae,sequi,4552 +4553,voluptas,est,4553 +4554,impedit,dolor,4554 +4555,vel,commodi,4555 +4556,dolores,explicabo,4556 +4557,dolores,amet,4557 +4558,asperiores,culpa,4558 +4559,ullam,necessitatibus,4559 +4560,voluptatem,quam,4560 +4561,asperiores,exercitationem,4561 +4562,et,vel,4562 +4563,omnis,expedita,4563 +4564,doloremque,dignissimos,4564 +4565,recusandae,quia,4565 +4566,tempore,eum,4566 +4567,voluptas,officiis,4567 +4568,impedit,suscipit,4568 +4569,sed,facilis,4569 +4570,aut,aliquam,4570 +4571,eos,omnis,4571 +4572,possimus,rerum,4572 +4573,consequatur,mollitia,4573 +4574,voluptas,tempore,4574 +4575,pariatur,sapiente,4575 +4576,deleniti,veritatis,4576 +4577,sunt,id,4577 +4578,ad,et,4578 +4579,quod,quod,4579 +4580,minus,beatae,4580 +4581,est,aut,4581 +4582,maiores,et,4582 +4583,eius,laboriosam,4583 +4584,consectetur,temporibus,4584 +4585,unde,omnis,4585 +4586,possimus,aut,4586 +4587,quos,animi,4587 +4588,in,quae,4588 +4589,quia,qui,4589 +4590,tempore,possimus,4590 +4591,aliquam,praesentium,4591 +4592,est,non,4592 +4593,minus,fuga,4593 +4594,vel,fuga,4594 +4595,et,enim,4595 +4596,beatae,magni,4596 +4597,nisi,voluptatem,4597 +4598,et,nemo,4598 +4599,qui,minima,4599 +4600,facilis,non,4600 +4601,fugiat,non,4601 +4602,non,sint,4602 +4603,maxime,est,4603 +4604,porro,qui,4604 +4605,unde,modi,4605 +4606,inventore,consectetur,4606 +4607,est,qui,4607 +4608,illum,sit,4608 +4609,illo,ea,4609 +4610,corrupti,est,4610 +4611,et,est,4611 +4612,porro,distinctio,4612 +4613,qui,autem,4613 +4614,sunt,delectus,4614 +4615,similique,quos,4615 +4616,molestiae,nihil,4616 +4617,qui,maxime,4617 +4618,quas,libero,4618 +4619,voluptate,id,4619 +4620,libero,modi,4620 +4621,voluptas,qui,4621 +4622,architecto,minus,4622 +4623,itaque,reiciendis,4623 +4624,rerum,praesentium,4624 +4625,temporibus,est,4625 +4626,blanditiis,est,4626 +4627,accusamus,inventore,4627 +4628,aperiam,voluptatibus,4628 +4629,sunt,minima,4629 +4630,ipsam,id,4630 +4631,aut,pariatur,4631 +4632,at,itaque,4632 +4633,nihil,fugit,4633 +4634,vero,sed,4634 +4635,eaque,non,4635 +4636,assumenda,veritatis,4636 +4637,ipsam,eum,4637 +4638,dolorem,sed,4638 +4639,esse,tempora,4639 +4640,doloremque,odit,4640 +4641,sit,ipsam,4641 +4642,a,qui,4642 +4643,reprehenderit,dolore,4643 +4644,labore,necessitatibus,4644 +4645,velit,quia,4645 +4646,vitae,dignissimos,4646 +4647,incidunt,eaque,4647 +4648,ab,commodi,4648 +4649,perspiciatis,itaque,4649 +4650,ullam,voluptas,4650 +4651,qui,sit,4651 +4652,ducimus,rerum,4652 +4653,voluptas,voluptates,4653 +4654,eos,animi,4654 +4655,assumenda,deleniti,4655 +4656,repellat,sunt,4656 +4657,voluptate,illo,4657 +4658,est,similique,4658 +4659,vel,corporis,4659 +4660,pariatur,dicta,4660 +4661,sapiente,quisquam,4661 +4662,aut,quibusdam,4662 +4663,molestiae,in,4663 +4664,eligendi,ea,4664 +4665,tenetur,corrupti,4665 +4666,itaque,quia,4666 +4667,sed,facere,4667 +4668,occaecati,excepturi,4668 +4669,et,veritatis,4669 +4670,veniam,repudiandae,4670 +4671,itaque,nobis,4671 +4672,iusto,qui,4672 +4673,suscipit,voluptate,4673 +4674,sit,beatae,4674 +4675,commodi,nobis,4675 +4676,qui,voluptas,4676 +4677,enim,fugiat,4677 +4678,quod,dolor,4678 +4679,accusamus,et,4679 +4680,veniam,ut,4680 +4681,necessitatibus,consequatur,4681 +4682,vitae,magni,4682 +4683,velit,odit,4683 +4684,debitis,accusamus,4684 +4685,perferendis,eum,4685 +4686,ipsam,repellat,4686 +4687,hic,voluptatem,4687 +4688,est,rerum,4688 +4689,sequi,sit,4689 +4690,sit,qui,4690 +4691,ullam,animi,4691 +4692,voluptatibus,ipsum,4692 +4693,voluptatem,nam,4693 +4694,aliquam,iste,4694 +4695,ipsam,enim,4695 +4696,neque,reiciendis,4696 +4697,ut,et,4697 +4698,voluptatem,aut,4698 +4699,maiores,accusantium,4699 +4700,pariatur,dolor,4700 +4701,doloribus,voluptatum,4701 +4702,architecto,perspiciatis,4702 +4703,officia,ad,4703 +4704,voluptas,quod,4704 +4705,dolor,esse,4705 +4706,omnis,at,4706 +4707,esse,accusantium,4707 +4708,atque,tempora,4708 +4709,a,dicta,4709 +4710,maiores,et,4710 +4711,sed,rerum,4711 +4712,explicabo,dolorem,4712 +4713,vel,ipsum,4713 +4714,omnis,est,4714 +4715,dolorum,aut,4715 +4716,animi,repellat,4716 +4717,cumque,veniam,4717 +4718,cumque,dolorum,4718 +4719,animi,placeat,4719 +4720,cupiditate,vel,4720 +4721,eius,deleniti,4721 +4722,nostrum,est,4722 +4723,nemo,quam,4723 +4724,odio,doloribus,4724 +4725,odio,reiciendis,4725 +4726,nulla,non,4726 +4727,temporibus,vel,4727 +4728,veritatis,dicta,4728 +4729,maiores,error,4729 +4730,est,officia,4730 +4731,omnis,magnam,4731 +4732,laborum,repellendus,4732 +4733,expedita,est,4733 +4734,aut,quaerat,4734 +4735,ut,quia,4735 +4736,esse,sunt,4736 +4737,accusamus,consequatur,4737 +4738,magnam,eum,4738 +4739,qui,asperiores,4739 +4740,amet,temporibus,4740 +4741,veniam,illo,4741 +4742,culpa,delectus,4742 +4743,occaecati,maiores,4743 +4744,necessitatibus,consequatur,4744 +4745,inventore,ad,4745 +4746,qui,voluptatem,4746 +4747,earum,ipsam,4747 +4748,eveniet,rerum,4748 +4749,minima,error,4749 +4750,aliquam,dicta,4750 +4751,necessitatibus,et,4751 +4752,earum,sed,4752 +4753,veritatis,et,4753 +4754,tempora,rerum,4754 +4755,consequatur,nostrum,4755 +4756,fugiat,officiis,4756 +4757,explicabo,ea,4757 +4758,odio,alias,4758 +4759,nam,distinctio,4759 +4760,et,animi,4760 +4761,est,non,4761 +4762,quae,numquam,4762 +4763,et,velit,4763 +4764,deserunt,ut,4764 +4765,quia,minus,4765 +4766,nihil,voluptas,4766 +4767,nulla,voluptatem,4767 +4768,possimus,quis,4768 +4769,unde,nam,4769 +4770,sed,qui,4770 +4771,omnis,recusandae,4771 +4772,dolorem,id,4772 +4773,laborum,minima,4773 +4774,aut,rem,4774 +4775,dolores,pariatur,4775 +4776,officiis,atque,4776 +4777,quia,esse,4777 +4778,ex,asperiores,4778 +4779,et,magni,4779 +4780,omnis,aut,4780 +4781,sunt,et,4781 +4782,eveniet,minima,4782 +4783,tenetur,ea,4783 +4784,similique,debitis,4784 +4785,aut,sed,4785 +4786,occaecati,unde,4786 +4787,similique,officiis,4787 +4788,possimus,repudiandae,4788 +4789,consequuntur,ducimus,4789 +4790,impedit,consectetur,4790 +4791,sunt,eum,4791 +4792,similique,eaque,4792 +4793,distinctio,ea,4793 +4794,numquam,atque,4794 +4795,dolor,et,4795 +4796,molestias,eos,4796 +4797,distinctio,quidem,4797 +4798,et,similique,4798 +4799,officia,occaecati,4799 +4800,sit,qui,4800 +4801,nam,vero,4801 +4802,dolore,laborum,4802 +4803,dolorum,id,4803 +4804,id,et,4804 +4805,quos,non,4805 +4806,esse,nesciunt,4806 +4807,omnis,maxime,4807 +4808,est,ullam,4808 +4809,praesentium,repellendus,4809 +4810,et,reprehenderit,4810 +4811,hic,veniam,4811 +4812,non,voluptas,4812 +4813,omnis,adipisci,4813 +4814,totam,nihil,4814 +4815,sunt,ut,4815 +4816,numquam,est,4816 +4817,repellat,occaecati,4817 +4818,doloribus,natus,4818 +4819,delectus,sapiente,4819 +4820,minima,nostrum,4820 +4821,molestias,sequi,4821 +4822,eum,odio,4822 +4823,id,aut,4823 +4824,porro,non,4824 +4825,nihil,et,4825 +4826,quisquam,esse,4826 +4827,ea,facilis,4827 +4828,tempora,suscipit,4828 +4829,ut,aspernatur,4829 +4830,unde,quia,4830 +4831,quae,at,4831 +4832,error,voluptas,4832 +4833,aut,eum,4833 +4834,quia,aut,4834 +4835,incidunt,sed,4835 +4836,quasi,qui,4836 +4837,minima,beatae,4837 +4838,perferendis,veniam,4838 +4839,quaerat,cupiditate,4839 +4840,quisquam,quia,4840 +4841,nam,dicta,4841 +4842,et,nam,4842 +4843,perspiciatis,ullam,4843 +4844,aspernatur,dolores,4844 +4845,esse,autem,4845 +4846,sit,minima,4846 +4847,quasi,vitae,4847 +4848,et,non,4848 +4849,pariatur,doloribus,4849 +4850,eum,aperiam,4850 +4851,velit,a,4851 +4852,et,vitae,4852 +4853,aut,culpa,4853 +4854,quaerat,doloribus,4854 +4855,quia,eos,4855 +4856,eligendi,quam,4856 +4857,doloribus,ipsam,4857 +4858,quaerat,nisi,4858 +4859,laudantium,qui,4859 +4860,eum,quisquam,4860 +4861,voluptas,et,4861 +4862,animi,quis,4862 +4863,suscipit,nemo,4863 +4864,ab,cupiditate,4864 +4865,corporis,et,4865 +4866,odit,amet,4866 +4867,sed,qui,4867 +4868,voluptatibus,placeat,4868 +4869,cumque,temporibus,4869 +4870,dolor,quos,4870 +4871,eum,nemo,4871 +4872,inventore,architecto,4872 +4873,molestias,nemo,4873 +4874,incidunt,earum,4874 +4875,consequatur,aut,4875 +4876,ut,non,4876 +4877,facere,aut,4877 +4878,cumque,soluta,4878 +4879,nisi,fugiat,4879 +4880,corporis,perspiciatis,4880 +4881,ut,voluptatem,4881 +4882,reprehenderit,vitae,4882 +4883,et,qui,4883 +4884,fugiat,est,4884 +4885,laudantium,aliquid,4885 +4886,sunt,facilis,4886 +4887,voluptate,ut,4887 +4888,aut,omnis,4888 +4889,aliquam,eos,4889 +4890,maxime,quidem,4890 +4891,sapiente,qui,4891 +4892,inventore,porro,4892 +4893,rerum,labore,4893 +4894,odit,repudiandae,4894 +4895,aut,laudantium,4895 +4896,suscipit,inventore,4896 +4897,ad,ratione,4897 +4898,maiores,esse,4898 +4899,qui,a,4899 +4900,rem,accusantium,4900 +4901,id,est,4901 +4902,dolorem,aperiam,4902 +4903,tempora,vel,4903 +4904,aliquam,aperiam,4904 +4905,omnis,amet,4905 +4906,reiciendis,quam,4906 +4907,ex,eos,4907 +4908,autem,ad,4908 +4909,corrupti,magnam,4909 +4910,cupiditate,aspernatur,4910 +4911,cupiditate,consequatur,4911 +4912,sint,dicta,4912 +4913,fugiat,saepe,4913 +4914,perspiciatis,quia,4914 +4915,aut,expedita,4915 +4916,et,et,4916 +4917,vel,sunt,4917 +4918,iste,illum,4918 +4919,exercitationem,omnis,4919 +4920,quas,voluptatem,4920 +4921,perspiciatis,velit,4921 +4922,iure,quo,4922 +4923,unde,eum,4923 +4924,vero,maiores,4924 +4925,a,quis,4925 +4926,labore,sapiente,4926 +4927,vel,expedita,4927 +4928,qui,qui,4928 +4929,qui,eius,4929 +4930,exercitationem,non,4930 +4931,nam,ut,4931 +4932,qui,nihil,4932 +4933,et,esse,4933 +4934,incidunt,saepe,4934 +4935,et,nihil,4935 +4936,quos,culpa,4936 +4937,repudiandae,quo,4937 +4938,voluptatibus,autem,4938 +4939,dolores,voluptatem,4939 +4940,sed,labore,4940 +4941,quaerat,deserunt,4941 +4942,et,nostrum,4942 +4943,officiis,architecto,4943 +4944,laboriosam,nesciunt,4944 +4945,ducimus,distinctio,4945 +4946,repellendus,saepe,4946 +4947,aut,fugit,4947 +4948,architecto,iste,4948 +4949,porro,illum,4949 +4950,pariatur,qui,4950 +4951,ea,nam,4951 +4952,voluptas,est,4952 +4953,nostrum,error,4953 +4954,delectus,suscipit,4954 +4955,consectetur,error,4955 +4956,repellat,velit,4956 +4957,aliquid,ut,4957 +4958,pariatur,maxime,4958 +4959,ut,ea,4959 +4960,facilis,non,4960 +4961,in,iusto,4961 +4962,ipsa,est,4962 +4963,repellendus,distinctio,4963 +4964,nobis,eos,4964 +4965,laborum,voluptatibus,4965 +4966,tempore,ut,4966 +4967,ea,vel,4967 +4968,consequatur,doloribus,4968 +4969,aliquam,officiis,4969 +4970,ipsum,a,4970 +4971,iusto,soluta,4971 +4972,sunt,facilis,4972 +4973,nobis,veritatis,4973 +4974,qui,minima,4974 +4975,dolorem,sint,4975 +4976,mollitia,tenetur,4976 +4977,aut,atque,4977 +4978,ducimus,optio,4978 +4979,ipsa,voluptas,4979 +4980,blanditiis,voluptatem,4980 +4981,error,porro,4981 +4982,sequi,nam,4982 +4983,omnis,possimus,4983 +4984,sit,inventore,4984 +4985,quisquam,suscipit,4985 +4986,voluptatum,id,4986 +4987,voluptatibus,dolores,4987 +4988,nesciunt,et,4988 +4989,fuga,quos,4989 +4990,sed,veniam,4990 +4991,est,maiores,4991 +4992,ut,autem,4992 +4993,quia,voluptatem,4993 +4994,et,dolores,4994 +4995,nisi,voluptatibus,4995 +4996,quae,nostrum,4996 +4997,accusantium,animi,4997 +4998,animi,veniam,4998 +4999,velit,sed,4999 +5000,reprehenderit,eos,5000 diff --git a/Java-Executor/java-executor-tutorial/data/customer-data - Copy (6).txt b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (6).txt new file mode 100644 index 0000000..d36e8c7 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (6).txt @@ -0,0 +1,5000 @@ +1,omnis,adipisci,1 +2,ullam,ratione,2 +3,iusto,laborum,3 +4,animi,porro,4 +5,est,quod,5 +6,nemo,consequatur,6 +7,inventore,harum,7 +8,quidem,sed,8 +9,nostrum,distinctio,9 +10,est,sint,10 +11,fugiat,facilis,11 +12,architecto,molestiae,12 +13,qui,perspiciatis,13 +14,rerum,omnis,14 +15,rerum,quia,15 +16,non,sunt,16 +17,beatae,illo,17 +18,modi,quia,18 +19,aut,harum,19 +20,ratione,est,20 +21,molestias,aliquid,21 +22,autem,qui,22 +23,consectetur,eos,23 +24,omnis,dolorem,24 +25,consequatur,nam,25 +26,quis,suscipit,26 +27,nihil,et,27 +28,rerum,qui,28 +29,occaecati,eligendi,29 +30,exercitationem,voluptas,30 +31,suscipit,quibusdam,31 +32,blanditiis,qui,32 +33,quo,reiciendis,33 +34,quo,nesciunt,34 +35,aut,aut,35 +36,harum,est,36 +37,voluptas,est,37 +38,beatae,animi,38 +39,aut,a,39 +40,ut,sint,40 +41,voluptatem,non,41 +42,et,in,42 +43,officiis,rerum,43 +44,doloremque,in,44 +45,officiis,corporis,45 +46,sed,quia,46 +47,consequatur,qui,47 +48,quia,voluptates,48 +49,minima,omnis,49 +50,quasi,qui,50 +51,suscipit,incidunt,51 +52,ad,doloribus,52 +53,voluptate,accusantium,53 +54,praesentium,eveniet,54 +55,accusamus,at,55 +56,nihil,sed,56 +57,qui,iusto,57 +58,consequuntur,dolores,58 +59,occaecati,reprehenderit,59 +60,totam,quia,60 +61,qui,facilis,61 +62,quia,delectus,62 +63,sit,ab,63 +64,quo,iure,64 +65,rem,quis,65 +66,unde,sint,66 +67,nulla,eligendi,67 +68,in,itaque,68 +69,et,sed,69 +70,ullam,quia,70 +71,dolores,similique,71 +72,praesentium,reprehenderit,72 +73,officiis,occaecati,73 +74,eos,enim,74 +75,odit,aliquam,75 +76,modi,et,76 +77,architecto,non,77 +78,hic,dolor,78 +79,rerum,rerum,79 +80,nihil,laudantium,80 +81,quidem,beatae,81 +82,sint,repellendus,82 +83,nobis,aut,83 +84,ut,beatae,84 +85,molestiae,at,85 +86,dolor,voluptatem,86 +87,voluptates,aut,87 +88,fuga,laborum,88 +89,voluptas,dicta,89 +90,cum,temporibus,90 +91,nesciunt,rerum,91 +92,est,tempora,92 +93,ratione,ducimus,93 +94,eum,aut,94 +95,neque,quae,95 +96,dolore,sunt,96 +97,voluptas,quibusdam,97 +98,omnis,temporibus,98 +99,ipsa,delectus,99 +100,non,illum,100 +101,consequuntur,et,101 +102,non,eum,102 +103,enim,unde,103 +104,itaque,provident,104 +105,quod,nesciunt,105 +106,sed,non,106 +107,commodi,qui,107 +108,odio,soluta,108 +109,inventore,assumenda,109 +110,officia,in,110 +111,quis,dolorem,111 +112,harum,sed,112 +113,autem,reprehenderit,113 +114,consequatur,aut,114 +115,ab,sed,115 +116,porro,aut,116 +117,ut,ratione,117 +118,asperiores,dicta,118 +119,illum,enim,119 +120,possimus,quae,120 +121,quidem,repudiandae,121 +122,porro,quis,122 +123,molestiae,et,123 +124,cupiditate,pariatur,124 +125,nemo,quos,125 +126,praesentium,aut,126 +127,vel,illo,127 +128,molestias,cupiditate,128 +129,quis,sequi,129 +130,autem,nesciunt,130 +131,non,voluptas,131 +132,architecto,odit,132 +133,eum,pariatur,133 +134,necessitatibus,reprehenderit,134 +135,ea,eos,135 +136,omnis,sed,136 +137,nostrum,tempore,137 +138,doloremque,placeat,138 +139,alias,dolorem,139 +140,recusandae,et,140 +141,earum,perspiciatis,141 +142,est,magnam,142 +143,deleniti,magnam,143 +144,aut,numquam,144 +145,rerum,nemo,145 +146,delectus,mollitia,146 +147,alias,porro,147 +148,occaecati,mollitia,148 +149,recusandae,quisquam,149 +150,molestias,laborum,150 +151,tenetur,amet,151 +152,consequatur,ipsum,152 +153,minima,rerum,153 +154,natus,ullam,154 +155,ex,est,155 +156,dignissimos,voluptatem,156 +157,et,doloribus,157 +158,adipisci,dolor,158 +159,qui,optio,159 +160,veniam,soluta,160 +161,saepe,nobis,161 +162,facere,voluptas,162 +163,accusantium,ea,163 +164,reiciendis,porro,164 +165,quos,libero,165 +166,facere,debitis,166 +167,ab,accusamus,167 +168,beatae,suscipit,168 +169,atque,atque,169 +170,quod,ipsa,170 +171,hic,aut,171 +172,quas,delectus,172 +173,illum,vel,173 +174,odit,quia,174 +175,et,eum,175 +176,sunt,ipsa,176 +177,atque,voluptate,177 +178,autem,porro,178 +179,quis,nostrum,179 +180,natus,sint,180 +181,corrupti,sed,181 +182,exercitationem,dolorum,182 +183,et,dolores,183 +184,nisi,esse,184 +185,accusamus,ut,185 +186,quae,ratione,186 +187,tempora,ut,187 +188,et,magnam,188 +189,doloremque,et,189 +190,vel,sit,190 +191,tempora,dolore,191 +192,tempore,suscipit,192 +193,exercitationem,alias,193 +194,magnam,similique,194 +195,ipsum,velit,195 +196,eos,consequatur,196 +197,vel,esse,197 +198,sed,placeat,198 +199,at,omnis,199 +200,amet,veritatis,200 +201,quod,cupiditate,201 +202,non,quo,202 +203,corporis,dignissimos,203 +204,autem,quis,204 +205,repellat,aut,205 +206,rerum,aut,206 +207,reiciendis,quia,207 +208,et,eligendi,208 +209,id,quia,209 +210,repudiandae,dolores,210 +211,fugit,similique,211 +212,placeat,iste,212 +213,delectus,commodi,213 +214,et,illum,214 +215,totam,in,215 +216,iure,qui,216 +217,dicta,voluptas,217 +218,qui,expedita,218 +219,facilis,ut,219 +220,omnis,consequatur,220 +221,praesentium,ea,221 +222,repellendus,rerum,222 +223,odit,voluptatum,223 +224,maiores,voluptas,224 +225,quo,ut,225 +226,voluptas,impedit,226 +227,explicabo,dolorem,227 +228,tempora,quidem,228 +229,id,a,229 +230,qui,suscipit,230 +231,officiis,omnis,231 +232,ipsam,odit,232 +233,totam,omnis,233 +234,molestiae,in,234 +235,blanditiis,dolorem,235 +236,a,pariatur,236 +237,doloribus,impedit,237 +238,non,ullam,238 +239,quis,error,239 +240,sapiente,omnis,240 +241,molestias,sit,241 +242,dolores,natus,242 +243,recusandae,cumque,243 +244,odit,est,244 +245,sed,voluptas,245 +246,molestiae,et,246 +247,molestiae,vero,247 +248,quo,laudantium,248 +249,similique,cum,249 +250,dolor,modi,250 +251,voluptas,officia,251 +252,amet,eum,252 +253,impedit,est,253 +254,culpa,eveniet,254 +255,quia,occaecati,255 +256,perferendis,animi,256 +257,ut,et,257 +258,atque,et,258 +259,et,voluptatum,259 +260,reprehenderit,unde,260 +261,facilis,qui,261 +262,sequi,hic,262 +263,natus,molestias,263 +264,et,blanditiis,264 +265,sed,dolor,265 +266,et,sint,266 +267,illo,consequuntur,267 +268,totam,eos,268 +269,magnam,ea,269 +270,facere,ut,270 +271,accusantium,et,271 +272,temporibus,rem,272 +273,debitis,rerum,273 +274,et,facilis,274 +275,quia,quia,275 +276,voluptatem,eum,276 +277,exercitationem,alias,277 +278,ullam,quod,278 +279,iusto,quis,279 +280,quis,quo,280 +281,fuga,modi,281 +282,placeat,fugiat,282 +283,quidem,sunt,283 +284,ut,veritatis,284 +285,nihil,et,285 +286,qui,enim,286 +287,et,sint,287 +288,repellat,dolorem,288 +289,quia,aut,289 +290,magnam,doloremque,290 +291,accusamus,explicabo,291 +292,aut,dolor,292 +293,harum,exercitationem,293 +294,earum,sed,294 +295,repellat,vel,295 +296,laudantium,molestiae,296 +297,deserunt,omnis,297 +298,nesciunt,dolor,298 +299,repudiandae,corrupti,299 +300,nesciunt,est,300 +301,delectus,voluptas,301 +302,ut,cum,302 +303,et,rem,303 +304,doloremque,illo,304 +305,dignissimos,omnis,305 +306,nisi,in,306 +307,facilis,quo,307 +308,enim,est,308 +309,veritatis,veniam,309 +310,modi,dolore,310 +311,amet,quasi,311 +312,quibusdam,et,312 +313,nulla,occaecati,313 +314,eum,doloribus,314 +315,doloribus,labore,315 +316,numquam,repudiandae,316 +317,porro,nobis,317 +318,quia,rem,318 +319,sit,eum,319 +320,aliquid,consequatur,320 +321,officia,qui,321 +322,consequuntur,itaque,322 +323,et,vel,323 +324,ea,et,324 +325,omnis,voluptatum,325 +326,quia,id,326 +327,quos,et,327 +328,nobis,ut,328 +329,voluptas,unde,329 +330,et,voluptate,330 +331,ratione,dolor,331 +332,sed,ducimus,332 +333,dolorem,nostrum,333 +334,sint,laboriosam,334 +335,aspernatur,at,335 +336,officia,sed,336 +337,et,molestias,337 +338,facilis,ad,338 +339,et,neque,339 +340,quas,provident,340 +341,animi,quos,341 +342,tenetur,repellat,342 +343,dolores,esse,343 +344,porro,dolorem,344 +345,voluptatum,minima,345 +346,reprehenderit,voluptatem,346 +347,et,ut,347 +348,id,et,348 +349,aliquid,animi,349 +350,odio,minima,350 +351,cum,quae,351 +352,adipisci,eligendi,352 +353,qui,modi,353 +354,autem,vel,354 +355,temporibus,recusandae,355 +356,aut,assumenda,356 +357,et,consequuntur,357 +358,quas,molestias,358 +359,voluptates,dolores,359 +360,deserunt,ut,360 +361,est,incidunt,361 +362,accusamus,sed,362 +363,ut,commodi,363 +364,qui,vitae,364 +365,rerum,beatae,365 +366,perspiciatis,ipsa,366 +367,dolorem,esse,367 +368,asperiores,aut,368 +369,unde,saepe,369 +370,qui,labore,370 +371,natus,corporis,371 +372,ipsum,consequatur,372 +373,est,quos,373 +374,mollitia,aperiam,374 +375,non,dolorum,375 +376,tenetur,est,376 +377,aut,ut,377 +378,aut,neque,378 +379,accusantium,ex,379 +380,vel,impedit,380 +381,blanditiis,ea,381 +382,sint,debitis,382 +383,earum,velit,383 +384,et,tenetur,384 +385,omnis,ipsa,385 +386,magnam,ipsum,386 +387,sint,ipsam,387 +388,sit,aut,388 +389,aliquam,consequuntur,389 +390,ut,hic,390 +391,dolorem,nihil,391 +392,minima,sint,392 +393,soluta,rerum,393 +394,adipisci,perspiciatis,394 +395,et,qui,395 +396,in,voluptas,396 +397,est,nobis,397 +398,dolore,eum,398 +399,veniam,dolores,399 +400,et,eos,400 +401,earum,dolorem,401 +402,repellendus,id,402 +403,dolor,esse,403 +404,inventore,doloremque,404 +405,quas,soluta,405 +406,fuga,consectetur,406 +407,dignissimos,in,407 +408,consectetur,dolores,408 +409,non,autem,409 +410,modi,cumque,410 +411,cum,totam,411 +412,quam,ipsam,412 +413,ipsum,soluta,413 +414,expedita,consectetur,414 +415,quo,voluptatibus,415 +416,autem,quas,416 +417,et,cum,417 +418,unde,et,418 +419,alias,perferendis,419 +420,qui,praesentium,420 +421,vel,dolor,421 +422,provident,pariatur,422 +423,est,omnis,423 +424,quaerat,adipisci,424 +425,quo,beatae,425 +426,dolor,omnis,426 +427,aut,velit,427 +428,possimus,animi,428 +429,quis,maiores,429 +430,libero,et,430 +431,in,quis,431 +432,id,dignissimos,432 +433,officiis,similique,433 +434,asperiores,est,434 +435,et,nulla,435 +436,autem,veritatis,436 +437,et,eum,437 +438,et,at,438 +439,ipsam,sed,439 +440,quis,aut,440 +441,est,non,441 +442,exercitationem,corrupti,442 +443,repellendus,et,443 +444,deserunt,quibusdam,444 +445,est,sit,445 +446,veritatis,ab,446 +447,impedit,illum,447 +448,eos,aut,448 +449,atque,sequi,449 +450,eaque,cum,450 +451,aut,minima,451 +452,nostrum,animi,452 +453,quos,dignissimos,453 +454,perspiciatis,nostrum,454 +455,in,dolor,455 +456,aut,aperiam,456 +457,quia,autem,457 +458,non,reprehenderit,458 +459,nisi,minus,459 +460,libero,ratione,460 +461,dicta,sequi,461 +462,dolorum,enim,462 +463,dicta,quia,463 +464,non,itaque,464 +465,eum,accusantium,465 +466,ut,atque,466 +467,quibusdam,sit,467 +468,quidem,quo,468 +469,animi,et,469 +470,mollitia,commodi,470 +471,repudiandae,tempore,471 +472,non,exercitationem,472 +473,cum,quia,473 +474,sed,reprehenderit,474 +475,ducimus,sunt,475 +476,dignissimos,neque,476 +477,doloribus,eos,477 +478,perferendis,itaque,478 +479,sit,blanditiis,479 +480,earum,repellendus,480 +481,aut,et,481 +482,qui,assumenda,482 +483,ut,sunt,483 +484,aut,id,484 +485,ut,qui,485 +486,provident,quas,486 +487,blanditiis,laudantium,487 +488,sit,fugit,488 +489,quo,molestias,489 +490,modi,suscipit,490 +491,ut,et,491 +492,corrupti,cumque,492 +493,neque,dolorem,493 +494,quod,est,494 +495,aut,ut,495 +496,rerum,impedit,496 +497,saepe,odio,497 +498,nihil,enim,498 +499,molestias,provident,499 +500,neque,maxime,500 +501,quisquam,possimus,501 +502,at,ut,502 +503,sed,esse,503 +504,ullam,dolorem,504 +505,nobis,quia,505 +506,quidem,incidunt,506 +507,harum,non,507 +508,voluptate,qui,508 +509,quod,expedita,509 +510,dolorum,qui,510 +511,neque,optio,511 +512,et,eos,512 +513,voluptatem,dolorum,513 +514,blanditiis,totam,514 +515,et,amet,515 +516,assumenda,repudiandae,516 +517,sit,ex,517 +518,id,omnis,518 +519,a,est,519 +520,deleniti,optio,520 +521,nemo,rerum,521 +522,minima,quae,522 +523,quis,mollitia,523 +524,a,doloremque,524 +525,tempora,consectetur,525 +526,tempora,incidunt,526 +527,aspernatur,facilis,527 +528,consequatur,numquam,528 +529,ipsam,qui,529 +530,pariatur,aperiam,530 +531,laudantium,aliquam,531 +532,qui,voluptas,532 +533,et,optio,533 +534,officia,sapiente,534 +535,corporis,quae,535 +536,quia,nobis,536 +537,magni,cum,537 +538,eos,vel,538 +539,possimus,necessitatibus,539 +540,qui,modi,540 +541,in,necessitatibus,541 +542,velit,iusto,542 +543,ipsa,excepturi,543 +544,quisquam,rem,544 +545,sunt,voluptatem,545 +546,nesciunt,nulla,546 +547,aut,reprehenderit,547 +548,ut,modi,548 +549,natus,officiis,549 +550,ducimus,aut,550 +551,id,nihil,551 +552,error,ducimus,552 +553,vel,rerum,553 +554,dolorum,distinctio,554 +555,dolorum,officia,555 +556,voluptas,expedita,556 +557,non,et,557 +558,porro,voluptas,558 +559,omnis,sit,559 +560,hic,rerum,560 +561,rerum,voluptas,561 +562,vel,aliquam,562 +563,delectus,inventore,563 +564,consequatur,commodi,564 +565,est,ex,565 +566,et,sed,566 +567,qui,quo,567 +568,voluptas,aut,568 +569,enim,similique,569 +570,qui,eos,570 +571,ut,repudiandae,571 +572,sint,dignissimos,572 +573,ea,est,573 +574,asperiores,voluptatem,574 +575,dolores,ut,575 +576,excepturi,molestiae,576 +577,tempora,et,577 +578,expedita,nulla,578 +579,odio,at,579 +580,perferendis,enim,580 +581,nisi,at,581 +582,earum,ex,582 +583,omnis,voluptate,583 +584,molestiae,rerum,584 +585,consequuntur,odio,585 +586,odio,nulla,586 +587,dolorem,autem,587 +588,necessitatibus,et,588 +589,et,consequatur,589 +590,dignissimos,nemo,590 +591,culpa,quia,591 +592,voluptatem,aspernatur,592 +593,quo,saepe,593 +594,vel,quod,594 +595,temporibus,dolor,595 +596,eum,aliquid,596 +597,enim,omnis,597 +598,omnis,veritatis,598 +599,quo,quae,599 +600,ex,ullam,600 +601,sed,atque,601 +602,esse,sit,602 +603,eligendi,non,603 +604,inventore,esse,604 +605,non,omnis,605 +606,error,nostrum,606 +607,porro,modi,607 +608,omnis,quia,608 +609,omnis,unde,609 +610,minus,eveniet,610 +611,pariatur,a,611 +612,a,recusandae,612 +613,tempora,nulla,613 +614,corporis,velit,614 +615,et,molestiae,615 +616,in,temporibus,616 +617,qui,placeat,617 +618,est,quia,618 +619,consequatur,sequi,619 +620,non,et,620 +621,animi,a,621 +622,quidem,molestiae,622 +623,deleniti,harum,623 +624,nemo,nam,624 +625,et,quos,625 +626,blanditiis,alias,626 +627,rem,optio,627 +628,similique,unde,628 +629,iusto,odit,629 +630,architecto,rem,630 +631,veniam,pariatur,631 +632,debitis,quis,632 +633,odit,nobis,633 +634,consequatur,ipsum,634 +635,neque,ad,635 +636,doloribus,sint,636 +637,beatae,reiciendis,637 +638,quos,sit,638 +639,vero,eos,639 +640,excepturi,autem,640 +641,est,omnis,641 +642,nobis,voluptatibus,642 +643,consectetur,eum,643 +644,ab,sed,644 +645,ea,in,645 +646,corporis,sapiente,646 +647,tempora,recusandae,647 +648,expedita,itaque,648 +649,quis,exercitationem,649 +650,ut,est,650 +651,eum,quo,651 +652,qui,odit,652 +653,velit,et,653 +654,modi,minus,654 +655,quisquam,quos,655 +656,ut,molestiae,656 +657,consequatur,occaecati,657 +658,architecto,aut,658 +659,impedit,error,659 +660,voluptatem,aliquid,660 +661,perspiciatis,unde,661 +662,corrupti,aut,662 +663,voluptatem,eaque,663 +664,ut,facilis,664 +665,perspiciatis,similique,665 +666,aut,sed,666 +667,ea,ut,667 +668,magnam,quia,668 +669,eius,et,669 +670,ad,rerum,670 +671,sunt,ut,671 +672,ab,nemo,672 +673,voluptatem,dolores,673 +674,unde,saepe,674 +675,blanditiis,quibusdam,675 +676,alias,est,676 +677,eum,consequatur,677 +678,aut,velit,678 +679,repellendus,architecto,679 +680,voluptas,corrupti,680 +681,quod,maiores,681 +682,sit,et,682 +683,odit,harum,683 +684,molestiae,ex,684 +685,modi,ut,685 +686,non,asperiores,686 +687,officiis,odio,687 +688,repudiandae,iure,688 +689,aliquid,quaerat,689 +690,cumque,rerum,690 +691,facilis,sed,691 +692,ipsam,nobis,692 +693,dolor,mollitia,693 +694,soluta,necessitatibus,694 +695,voluptatibus,possimus,695 +696,non,doloremque,696 +697,sed,odio,697 +698,incidunt,fugiat,698 +699,ducimus,quis,699 +700,et,consequatur,700 +701,unde,non,701 +702,placeat,ratione,702 +703,vel,odio,703 +704,qui,tenetur,704 +705,id,similique,705 +706,voluptatem,facilis,706 +707,fuga,a,707 +708,ex,deserunt,708 +709,mollitia,laborum,709 +710,natus,quibusdam,710 +711,beatae,et,711 +712,voluptatem,non,712 +713,vel,laboriosam,713 +714,suscipit,distinctio,714 +715,et,rerum,715 +716,debitis,facere,716 +717,voluptatibus,id,717 +718,voluptatum,vitae,718 +719,velit,odio,719 +720,aspernatur,est,720 +721,laudantium,id,721 +722,esse,et,722 +723,saepe,debitis,723 +724,esse,explicabo,724 +725,ut,dolore,725 +726,excepturi,quia,726 +727,voluptas,ut,727 +728,voluptas,debitis,728 +729,dolor,consectetur,729 +730,sapiente,ut,730 +731,alias,in,731 +732,dolorem,at,732 +733,laborum,sed,733 +734,voluptatibus,non,734 +735,minus,soluta,735 +736,dolores,vero,736 +737,nihil,aut,737 +738,facilis,adipisci,738 +739,qui,voluptatem,739 +740,autem,aut,740 +741,voluptatem,atque,741 +742,voluptatibus,aspernatur,742 +743,repellendus,dolorem,743 +744,voluptatum,fugit,744 +745,quod,ut,745 +746,reprehenderit,quo,746 +747,totam,ut,747 +748,ex,quisquam,748 +749,reprehenderit,blanditiis,749 +750,sed,labore,750 +751,ut,est,751 +752,repellendus,nam,752 +753,quia,voluptas,753 +754,sit,a,754 +755,perferendis,nostrum,755 +756,nihil,fuga,756 +757,doloribus,et,757 +758,ipsam,velit,758 +759,rem,veniam,759 +760,fuga,possimus,760 +761,incidunt,sint,761 +762,vero,rerum,762 +763,ad,assumenda,763 +764,praesentium,exercitationem,764 +765,ut,reprehenderit,765 +766,id,quia,766 +767,doloribus,iure,767 +768,deleniti,quia,768 +769,pariatur,sit,769 +770,molestias,unde,770 +771,sint,enim,771 +772,amet,beatae,772 +773,commodi,dolores,773 +774,omnis,consectetur,774 +775,dignissimos,perspiciatis,775 +776,deserunt,aut,776 +777,doloremque,ipsam,777 +778,aut,et,778 +779,a,quibusdam,779 +780,vero,quasi,780 +781,et,officia,781 +782,accusamus,et,782 +783,explicabo,voluptas,783 +784,autem,fugit,784 +785,non,cumque,785 +786,et,est,786 +787,laborum,facere,787 +788,et,facilis,788 +789,consequatur,aut,789 +790,voluptas,quisquam,790 +791,tempore,veritatis,791 +792,quos,deserunt,792 +793,modi,accusantium,793 +794,pariatur,ea,794 +795,ducimus,voluptas,795 +796,sed,et,796 +797,nostrum,nemo,797 +798,enim,vel,798 +799,eum,cupiditate,799 +800,et,ab,800 +801,aut,amet,801 +802,et,non,802 +803,eaque,blanditiis,803 +804,veniam,dolorum,804 +805,dolorum,necessitatibus,805 +806,delectus,sit,806 +807,et,nisi,807 +808,quasi,architecto,808 +809,ut,nisi,809 +810,minima,a,810 +811,quam,soluta,811 +812,ratione,rerum,812 +813,fugit,iure,813 +814,temporibus,distinctio,814 +815,quas,ea,815 +816,mollitia,harum,816 +817,temporibus,quis,817 +818,consequatur,ea,818 +819,beatae,laudantium,819 +820,adipisci,vero,820 +821,eum,consequuntur,821 +822,voluptatibus,perspiciatis,822 +823,quisquam,excepturi,823 +824,sequi,quia,824 +825,et,sequi,825 +826,ab,iste,826 +827,fugit,explicabo,827 +828,voluptatem,rerum,828 +829,aut,illum,829 +830,voluptas,consectetur,830 +831,omnis,sed,831 +832,est,asperiores,832 +833,sapiente,ipsum,833 +834,quam,eum,834 +835,ex,provident,835 +836,temporibus,dolorem,836 +837,labore,explicabo,837 +838,quas,nobis,838 +839,doloremque,sed,839 +840,consequatur,et,840 +841,et,distinctio,841 +842,sit,consectetur,842 +843,dolores,fugiat,843 +844,et,delectus,844 +845,sint,voluptatem,845 +846,voluptates,quod,846 +847,eos,iure,847 +848,blanditiis,vitae,848 +849,a,aut,849 +850,molestiae,incidunt,850 +851,maiores,corporis,851 +852,numquam,maiores,852 +853,dicta,quis,853 +854,porro,non,854 +855,corrupti,ut,855 +856,non,ducimus,856 +857,aliquam,autem,857 +858,non,exercitationem,858 +859,praesentium,dolorem,859 +860,possimus,provident,860 +861,rem,fuga,861 +862,ut,cupiditate,862 +863,ut,est,863 +864,voluptas,eius,864 +865,quia,labore,865 +866,voluptatem,officia,866 +867,alias,enim,867 +868,qui,adipisci,868 +869,molestiae,recusandae,869 +870,unde,dolorem,870 +871,cumque,est,871 +872,consequuntur,expedita,872 +873,autem,commodi,873 +874,dolorum,doloremque,874 +875,quos,animi,875 +876,qui,quos,876 +877,sunt,expedita,877 +878,voluptas,voluptatum,878 +879,magni,aut,879 +880,aspernatur,assumenda,880 +881,est,et,881 +882,ab,eius,882 +883,iusto,saepe,883 +884,asperiores,beatae,884 +885,nulla,et,885 +886,perferendis,labore,886 +887,laboriosam,sunt,887 +888,architecto,beatae,888 +889,aliquid,cumque,889 +890,libero,doloremque,890 +891,esse,et,891 +892,dolore,ipsa,892 +893,sint,ab,893 +894,ut,eos,894 +895,cumque,optio,895 +896,voluptatem,non,896 +897,velit,delectus,897 +898,beatae,temporibus,898 +899,sit,labore,899 +900,aut,et,900 +901,ipsam,ut,901 +902,et,in,902 +903,dolorem,dolorem,903 +904,ipsa,quidem,904 +905,ex,fugiat,905 +906,suscipit,quibusdam,906 +907,magni,aliquid,907 +908,itaque,laborum,908 +909,molestiae,id,909 +910,molestias,tempore,910 +911,ipsum,sed,911 +912,aut,possimus,912 +913,error,architecto,913 +914,eos,excepturi,914 +915,sed,ad,915 +916,blanditiis,sit,916 +917,odio,ipsam,917 +918,repellendus,sit,918 +919,ut,amet,919 +920,asperiores,incidunt,920 +921,voluptatem,dolore,921 +922,aspernatur,sed,922 +923,facere,et,923 +924,rerum,provident,924 +925,quos,eius,925 +926,voluptates,nisi,926 +927,aut,aut,927 +928,dolorem,sit,928 +929,et,qui,929 +930,temporibus,qui,930 +931,unde,labore,931 +932,nulla,beatae,932 +933,totam,velit,933 +934,blanditiis,et,934 +935,fugiat,exercitationem,935 +936,tempore,inventore,936 +937,molestiae,sed,937 +938,ipsum,delectus,938 +939,officiis,consectetur,939 +940,iusto,omnis,940 +941,enim,iure,941 +942,a,atque,942 +943,doloribus,impedit,943 +944,aut,velit,944 +945,dolore,amet,945 +946,qui,tempora,946 +947,sed,asperiores,947 +948,vitae,a,948 +949,corporis,omnis,949 +950,quos,nobis,950 +951,qui,quia,951 +952,architecto,doloremque,952 +953,dicta,ut,953 +954,accusantium,deleniti,954 +955,numquam,consequuntur,955 +956,cum,repellat,956 +957,fuga,tempore,957 +958,est,ut,958 +959,ipsum,in,959 +960,veniam,accusamus,960 +961,iusto,necessitatibus,961 +962,placeat,dolore,962 +963,dicta,atque,963 +964,fuga,quibusdam,964 +965,et,aut,965 +966,minus,autem,966 +967,minus,est,967 +968,odit,perspiciatis,968 +969,nam,dolorem,969 +970,qui,magnam,970 +971,qui,eos,971 +972,voluptas,molestias,972 +973,sed,odit,973 +974,et,tempora,974 +975,quo,placeat,975 +976,accusamus,ipsum,976 +977,rerum,consequatur,977 +978,et,dolor,978 +979,debitis,commodi,979 +980,qui,architecto,980 +981,repudiandae,ullam,981 +982,temporibus,magnam,982 +983,illum,aliquam,983 +984,inventore,ex,984 +985,corrupti,porro,985 +986,odit,magni,986 +987,facere,quasi,987 +988,sapiente,dignissimos,988 +989,temporibus,eum,989 +990,maiores,quo,990 +991,voluptatem,et,991 +992,expedita,quo,992 +993,nostrum,eum,993 +994,in,ut,994 +995,libero,quam,995 +996,eos,deleniti,996 +997,molestiae,nesciunt,997 +998,quisquam,voluptas,998 +999,laudantium,tempora,999 +1000,similique,sequi,1000 +1001,eius,neque,1001 +1002,deleniti,iste,1002 +1003,velit,nisi,1003 +1004,repellendus,quia,1004 +1005,est,aut,1005 +1006,voluptatem,et,1006 +1007,laudantium,consequatur,1007 +1008,atque,doloribus,1008 +1009,saepe,ullam,1009 +1010,cumque,optio,1010 +1011,molestias,beatae,1011 +1012,nihil,facilis,1012 +1013,corporis,consequatur,1013 +1014,atque,reprehenderit,1014 +1015,vero,aliquam,1015 +1016,eos,cupiditate,1016 +1017,autem,adipisci,1017 +1018,qui,fugit,1018 +1019,dolore,unde,1019 +1020,tempore,rerum,1020 +1021,et,iste,1021 +1022,eum,et,1022 +1023,quasi,placeat,1023 +1024,ullam,ipsam,1024 +1025,saepe,tempora,1025 +1026,velit,ut,1026 +1027,qui,delectus,1027 +1028,deserunt,aperiam,1028 +1029,quam,tempora,1029 +1030,reiciendis,id,1030 +1031,nihil,repellendus,1031 +1032,vel,aut,1032 +1033,pariatur,eum,1033 +1034,quidem,quos,1034 +1035,omnis,consequatur,1035 +1036,qui,aut,1036 +1037,esse,id,1037 +1038,rerum,possimus,1038 +1039,ut,molestiae,1039 +1040,rem,occaecati,1040 +1041,odit,eligendi,1041 +1042,ut,nobis,1042 +1043,inventore,similique,1043 +1044,sed,cum,1044 +1045,eligendi,facilis,1045 +1046,id,quidem,1046 +1047,placeat,id,1047 +1048,voluptas,rem,1048 +1049,sit,sed,1049 +1050,aspernatur,at,1050 +1051,beatae,fugiat,1051 +1052,reprehenderit,omnis,1052 +1053,ipsam,aperiam,1053 +1054,veniam,iusto,1054 +1055,harum,et,1055 +1056,inventore,sequi,1056 +1057,nesciunt,atque,1057 +1058,facere,et,1058 +1059,dolores,et,1059 +1060,perferendis,amet,1060 +1061,consequatur,sunt,1061 +1062,non,tempore,1062 +1063,error,eum,1063 +1064,sit,omnis,1064 +1065,sit,sit,1065 +1066,maiores,possimus,1066 +1067,quasi,autem,1067 +1068,repudiandae,similique,1068 +1069,tempora,non,1069 +1070,neque,assumenda,1070 +1071,rerum,itaque,1071 +1072,sunt,error,1072 +1073,veritatis,officia,1073 +1074,culpa,cum,1074 +1075,soluta,fugit,1075 +1076,voluptates,culpa,1076 +1077,dolorum,doloremque,1077 +1078,explicabo,qui,1078 +1079,a,magni,1079 +1080,aut,molestiae,1080 +1081,fugit,quos,1081 +1082,voluptas,officia,1082 +1083,eos,qui,1083 +1084,libero,reprehenderit,1084 +1085,qui,ea,1085 +1086,doloremque,corrupti,1086 +1087,totam,saepe,1087 +1088,laboriosam,enim,1088 +1089,aut,et,1089 +1090,et,vero,1090 +1091,et,tempore,1091 +1092,sit,atque,1092 +1093,suscipit,et,1093 +1094,perspiciatis,et,1094 +1095,qui,non,1095 +1096,molestias,consequuntur,1096 +1097,dicta,rerum,1097 +1098,dolore,ea,1098 +1099,quo,vero,1099 +1100,dolor,rem,1100 +1101,pariatur,possimus,1101 +1102,et,quo,1102 +1103,culpa,consequuntur,1103 +1104,temporibus,earum,1104 +1105,est,vel,1105 +1106,est,rerum,1106 +1107,iure,nostrum,1107 +1108,soluta,culpa,1108 +1109,eum,quo,1109 +1110,dolorem,magnam,1110 +1111,eum,adipisci,1111 +1112,perspiciatis,eligendi,1112 +1113,molestias,praesentium,1113 +1114,optio,odit,1114 +1115,aliquam,dolores,1115 +1116,natus,perferendis,1116 +1117,animi,esse,1117 +1118,tenetur,consectetur,1118 +1119,sit,consequatur,1119 +1120,ut,qui,1120 +1121,aut,ad,1121 +1122,vel,a,1122 +1123,eaque,sit,1123 +1124,aut,dolores,1124 +1125,delectus,unde,1125 +1126,veniam,minima,1126 +1127,ipsam,adipisci,1127 +1128,asperiores,vel,1128 +1129,in,voluptatem,1129 +1130,ab,natus,1130 +1131,dolorum,minima,1131 +1132,dolorum,alias,1132 +1133,et,ipsam,1133 +1134,incidunt,veritatis,1134 +1135,aut,consequatur,1135 +1136,hic,quia,1136 +1137,quo,dolor,1137 +1138,ut,optio,1138 +1139,sit,recusandae,1139 +1140,temporibus,assumenda,1140 +1141,voluptas,sint,1141 +1142,reiciendis,fugiat,1142 +1143,sed,aut,1143 +1144,voluptatem,aut,1144 +1145,accusantium,maiores,1145 +1146,facere,et,1146 +1147,voluptatum,ut,1147 +1148,nam,asperiores,1148 +1149,in,doloremque,1149 +1150,quisquam,incidunt,1150 +1151,harum,hic,1151 +1152,distinctio,est,1152 +1153,laboriosam,deleniti,1153 +1154,consectetur,eius,1154 +1155,quis,architecto,1155 +1156,occaecati,et,1156 +1157,sint,et,1157 +1158,dolorum,fugit,1158 +1159,incidunt,in,1159 +1160,minima,quisquam,1160 +1161,quas,nam,1161 +1162,sed,ut,1162 +1163,reiciendis,et,1163 +1164,odio,commodi,1164 +1165,sunt,non,1165 +1166,animi,ut,1166 +1167,consectetur,laboriosam,1167 +1168,eos,tempore,1168 +1169,rem,occaecati,1169 +1170,facilis,hic,1170 +1171,nobis,libero,1171 +1172,quod,optio,1172 +1173,illo,aut,1173 +1174,nobis,consequatur,1174 +1175,earum,ut,1175 +1176,ipsam,vel,1176 +1177,suscipit,soluta,1177 +1178,a,dolorem,1178 +1179,dicta,sed,1179 +1180,aspernatur,quibusdam,1180 +1181,temporibus,necessitatibus,1181 +1182,unde,perferendis,1182 +1183,quibusdam,praesentium,1183 +1184,similique,optio,1184 +1185,exercitationem,et,1185 +1186,qui,officiis,1186 +1187,eum,et,1187 +1188,omnis,aperiam,1188 +1189,recusandae,enim,1189 +1190,perferendis,voluptatum,1190 +1191,ut,eum,1191 +1192,consectetur,sapiente,1192 +1193,autem,qui,1193 +1194,quis,assumenda,1194 +1195,ut,cupiditate,1195 +1196,quia,dolorem,1196 +1197,excepturi,in,1197 +1198,officiis,numquam,1198 +1199,possimus,delectus,1199 +1200,veniam,recusandae,1200 +1201,quos,id,1201 +1202,ratione,corporis,1202 +1203,alias,voluptates,1203 +1204,quia,quasi,1204 +1205,animi,soluta,1205 +1206,autem,laboriosam,1206 +1207,impedit,velit,1207 +1208,est,voluptatem,1208 +1209,ut,beatae,1209 +1210,quis,tempora,1210 +1211,placeat,assumenda,1211 +1212,libero,porro,1212 +1213,minima,veniam,1213 +1214,explicabo,sed,1214 +1215,illo,consequatur,1215 +1216,necessitatibus,in,1216 +1217,recusandae,aut,1217 +1218,dicta,eos,1218 +1219,maiores,qui,1219 +1220,eum,temporibus,1220 +1221,sit,libero,1221 +1222,aperiam,quia,1222 +1223,ut,est,1223 +1224,quo,qui,1224 +1225,velit,suscipit,1225 +1226,aut,qui,1226 +1227,culpa,omnis,1227 +1228,omnis,non,1228 +1229,dolore,non,1229 +1230,dolorem,quam,1230 +1231,voluptates,odio,1231 +1232,deserunt,non,1232 +1233,qui,deserunt,1233 +1234,debitis,ea,1234 +1235,accusamus,sed,1235 +1236,maiores,earum,1236 +1237,eum,vitae,1237 +1238,dolorem,maxime,1238 +1239,atque,officia,1239 +1240,rerum,sunt,1240 +1241,inventore,et,1241 +1242,sed,labore,1242 +1243,nulla,et,1243 +1244,neque,consectetur,1244 +1245,deleniti,assumenda,1245 +1246,assumenda,possimus,1246 +1247,deserunt,qui,1247 +1248,hic,et,1248 +1249,et,incidunt,1249 +1250,soluta,quos,1250 +1251,reprehenderit,natus,1251 +1252,omnis,in,1252 +1253,qui,libero,1253 +1254,occaecati,dolorem,1254 +1255,odio,rem,1255 +1256,tempora,temporibus,1256 +1257,quia,ut,1257 +1258,odit,et,1258 +1259,sapiente,optio,1259 +1260,aliquam,voluptatem,1260 +1261,dolorem,corrupti,1261 +1262,modi,necessitatibus,1262 +1263,sequi,doloremque,1263 +1264,voluptatum,dolorum,1264 +1265,sequi,quo,1265 +1266,reprehenderit,similique,1266 +1267,mollitia,molestias,1267 +1268,ut,vel,1268 +1269,quis,dolores,1269 +1270,nesciunt,consequatur,1270 +1271,praesentium,magni,1271 +1272,nemo,facilis,1272 +1273,molestiae,sint,1273 +1274,natus,est,1274 +1275,a,quibusdam,1275 +1276,sapiente,dignissimos,1276 +1277,sit,eaque,1277 +1278,possimus,illum,1278 +1279,ratione,assumenda,1279 +1280,fuga,quod,1280 +1281,quis,nam,1281 +1282,et,ut,1282 +1283,qui,accusantium,1283 +1284,molestias,aliquam,1284 +1285,ut,fugit,1285 +1286,nesciunt,dolor,1286 +1287,voluptatem,qui,1287 +1288,explicabo,iure,1288 +1289,ratione,itaque,1289 +1290,aut,non,1290 +1291,dolores,rerum,1291 +1292,nihil,dolore,1292 +1293,blanditiis,omnis,1293 +1294,in,dolor,1294 +1295,in,enim,1295 +1296,sed,repudiandae,1296 +1297,libero,delectus,1297 +1298,modi,voluptatum,1298 +1299,explicabo,impedit,1299 +1300,eum,accusantium,1300 +1301,dicta,expedita,1301 +1302,assumenda,eaque,1302 +1303,officia,necessitatibus,1303 +1304,doloremque,corrupti,1304 +1305,aut,minus,1305 +1306,aspernatur,ducimus,1306 +1307,voluptatem,deserunt,1307 +1308,quo,eum,1308 +1309,hic,ex,1309 +1310,perspiciatis,non,1310 +1311,dolore,exercitationem,1311 +1312,eligendi,itaque,1312 +1313,iure,enim,1313 +1314,nesciunt,molestias,1314 +1315,et,minima,1315 +1316,quae,et,1316 +1317,impedit,officiis,1317 +1318,dolor,at,1318 +1319,iste,ut,1319 +1320,qui,repudiandae,1320 +1321,veritatis,voluptatem,1321 +1322,ut,quis,1322 +1323,vitae,autem,1323 +1324,aliquid,quia,1324 +1325,voluptas,molestiae,1325 +1326,ratione,et,1326 +1327,architecto,et,1327 +1328,ut,occaecati,1328 +1329,nesciunt,omnis,1329 +1330,non,nihil,1330 +1331,repudiandae,consequuntur,1331 +1332,unde,animi,1332 +1333,dolorem,quis,1333 +1334,perspiciatis,culpa,1334 +1335,ratione,pariatur,1335 +1336,illo,porro,1336 +1337,veritatis,est,1337 +1338,eos,voluptates,1338 +1339,aut,reprehenderit,1339 +1340,est,corrupti,1340 +1341,doloremque,nulla,1341 +1342,sit,similique,1342 +1343,autem,ea,1343 +1344,ut,ex,1344 +1345,voluptas,qui,1345 +1346,ut,architecto,1346 +1347,aut,quisquam,1347 +1348,et,exercitationem,1348 +1349,quibusdam,ex,1349 +1350,dolores,ipsum,1350 +1351,recusandae,odit,1351 +1352,dignissimos,unde,1352 +1353,dolores,est,1353 +1354,ipsam,quibusdam,1354 +1355,repellat,eligendi,1355 +1356,atque,culpa,1356 +1357,hic,ipsum,1357 +1358,reprehenderit,aperiam,1358 +1359,fugiat,impedit,1359 +1360,quis,quasi,1360 +1361,officia,sequi,1361 +1362,architecto,recusandae,1362 +1363,labore,magnam,1363 +1364,reiciendis,qui,1364 +1365,non,ut,1365 +1366,omnis,et,1366 +1367,facere,ut,1367 +1368,est,odit,1368 +1369,ut,voluptatem,1369 +1370,excepturi,rerum,1370 +1371,amet,vitae,1371 +1372,sit,possimus,1372 +1373,debitis,ut,1373 +1374,eius,quas,1374 +1375,cum,fuga,1375 +1376,accusantium,impedit,1376 +1377,voluptate,totam,1377 +1378,molestias,aperiam,1378 +1379,aut,quasi,1379 +1380,nobis,laudantium,1380 +1381,quam,accusamus,1381 +1382,numquam,qui,1382 +1383,fugit,dolorem,1383 +1384,autem,est,1384 +1385,perferendis,harum,1385 +1386,quia,ea,1386 +1387,necessitatibus,explicabo,1387 +1388,voluptates,fuga,1388 +1389,consequatur,beatae,1389 +1390,aut,sed,1390 +1391,non,voluptatem,1391 +1392,culpa,dicta,1392 +1393,et,quasi,1393 +1394,ad,fuga,1394 +1395,quae,voluptates,1395 +1396,optio,est,1396 +1397,vel,perspiciatis,1397 +1398,enim,qui,1398 +1399,quae,ab,1399 +1400,aut,ut,1400 +1401,debitis,molestias,1401 +1402,sed,necessitatibus,1402 +1403,quo,labore,1403 +1404,minus,sunt,1404 +1405,rerum,assumenda,1405 +1406,voluptas,enim,1406 +1407,perferendis,minus,1407 +1408,sed,veritatis,1408 +1409,atque,ratione,1409 +1410,aut,voluptas,1410 +1411,qui,quod,1411 +1412,sit,voluptatem,1412 +1413,quam,ipsa,1413 +1414,excepturi,tenetur,1414 +1415,dolor,excepturi,1415 +1416,voluptate,repellendus,1416 +1417,et,ipsum,1417 +1418,ab,est,1418 +1419,accusantium,quia,1419 +1420,harum,asperiores,1420 +1421,praesentium,quaerat,1421 +1422,odit,veritatis,1422 +1423,qui,modi,1423 +1424,perferendis,quis,1424 +1425,iste,sunt,1425 +1426,omnis,explicabo,1426 +1427,ex,dolor,1427 +1428,maiores,veritatis,1428 +1429,optio,itaque,1429 +1430,beatae,praesentium,1430 +1431,ut,odio,1431 +1432,in,porro,1432 +1433,quos,exercitationem,1433 +1434,nihil,et,1434 +1435,quos,molestiae,1435 +1436,illum,quaerat,1436 +1437,dicta,tenetur,1437 +1438,ducimus,tenetur,1438 +1439,repudiandae,laudantium,1439 +1440,at,provident,1440 +1441,tempora,animi,1441 +1442,aut,voluptas,1442 +1443,ab,id,1443 +1444,rerum,ipsa,1444 +1445,quis,et,1445 +1446,odio,eum,1446 +1447,iure,sed,1447 +1448,rerum,dignissimos,1448 +1449,in,asperiores,1449 +1450,ratione,nobis,1450 +1451,distinctio,ipsa,1451 +1452,est,numquam,1452 +1453,ad,soluta,1453 +1454,quisquam,dolorem,1454 +1455,praesentium,quam,1455 +1456,sit,illum,1456 +1457,consequuntur,culpa,1457 +1458,inventore,accusantium,1458 +1459,id,aut,1459 +1460,rem,aliquid,1460 +1461,suscipit,esse,1461 +1462,exercitationem,praesentium,1462 +1463,maxime,sit,1463 +1464,culpa,repellendus,1464 +1465,quidem,voluptas,1465 +1466,repellendus,est,1466 +1467,fuga,occaecati,1467 +1468,magnam,iste,1468 +1469,aut,ad,1469 +1470,ea,iste,1470 +1471,aliquam,expedita,1471 +1472,expedita,id,1472 +1473,harum,itaque,1473 +1474,eum,iure,1474 +1475,mollitia,fuga,1475 +1476,earum,mollitia,1476 +1477,possimus,ad,1477 +1478,non,sint,1478 +1479,dolorem,nesciunt,1479 +1480,ut,minima,1480 +1481,nam,iure,1481 +1482,qui,rem,1482 +1483,sit,aliquam,1483 +1484,placeat,ipsa,1484 +1485,non,exercitationem,1485 +1486,doloribus,ullam,1486 +1487,fugit,blanditiis,1487 +1488,sed,quos,1488 +1489,sunt,qui,1489 +1490,a,assumenda,1490 +1491,doloribus,sint,1491 +1492,molestias,animi,1492 +1493,repellat,cum,1493 +1494,dicta,illo,1494 +1495,aut,laborum,1495 +1496,ex,quibusdam,1496 +1497,aut,quidem,1497 +1498,id,quos,1498 +1499,dolores,neque,1499 +1500,quam,aut,1500 +1501,aut,sit,1501 +1502,pariatur,ipsa,1502 +1503,excepturi,natus,1503 +1504,tenetur,minus,1504 +1505,ea,quam,1505 +1506,unde,in,1506 +1507,quasi,laudantium,1507 +1508,eum,nesciunt,1508 +1509,quis,sint,1509 +1510,id,aspernatur,1510 +1511,sapiente,ducimus,1511 +1512,saepe,pariatur,1512 +1513,amet,rerum,1513 +1514,numquam,nobis,1514 +1515,voluptatum,numquam,1515 +1516,in,quia,1516 +1517,quia,perferendis,1517 +1518,necessitatibus,qui,1518 +1519,asperiores,et,1519 +1520,eaque,est,1520 +1521,assumenda,pariatur,1521 +1522,ipsam,id,1522 +1523,et,quia,1523 +1524,possimus,asperiores,1524 +1525,quo,quia,1525 +1526,quia,omnis,1526 +1527,assumenda,recusandae,1527 +1528,quia,ut,1528 +1529,exercitationem,est,1529 +1530,velit,exercitationem,1530 +1531,illum,nihil,1531 +1532,a,aspernatur,1532 +1533,exercitationem,labore,1533 +1534,officiis,doloribus,1534 +1535,et,eaque,1535 +1536,ut,inventore,1536 +1537,aliquam,fuga,1537 +1538,voluptate,numquam,1538 +1539,quis,delectus,1539 +1540,sint,assumenda,1540 +1541,quae,veritatis,1541 +1542,soluta,consectetur,1542 +1543,qui,voluptatem,1543 +1544,enim,consequuntur,1544 +1545,id,id,1545 +1546,labore,provident,1546 +1547,placeat,quia,1547 +1548,nobis,odit,1548 +1549,consequatur,velit,1549 +1550,voluptates,ut,1550 +1551,ipsam,nihil,1551 +1552,eius,eum,1552 +1553,unde,suscipit,1553 +1554,sequi,ipsa,1554 +1555,eligendi,molestias,1555 +1556,reprehenderit,dolorum,1556 +1557,dolorem,maxime,1557 +1558,distinctio,maiores,1558 +1559,labore,dicta,1559 +1560,et,aut,1560 +1561,fugiat,officia,1561 +1562,itaque,blanditiis,1562 +1563,minus,qui,1563 +1564,illo,reiciendis,1564 +1565,velit,sunt,1565 +1566,mollitia,nobis,1566 +1567,ut,perspiciatis,1567 +1568,a,numquam,1568 +1569,unde,sed,1569 +1570,aut,et,1570 +1571,veniam,quis,1571 +1572,ratione,maxime,1572 +1573,adipisci,molestiae,1573 +1574,nesciunt,adipisci,1574 +1575,enim,molestiae,1575 +1576,ut,consequatur,1576 +1577,voluptates,possimus,1577 +1578,ad,excepturi,1578 +1579,repellendus,qui,1579 +1580,incidunt,minus,1580 +1581,enim,adipisci,1581 +1582,commodi,doloremque,1582 +1583,est,architecto,1583 +1584,est,est,1584 +1585,dignissimos,commodi,1585 +1586,debitis,earum,1586 +1587,ipsa,omnis,1587 +1588,quia,sunt,1588 +1589,et,quo,1589 +1590,ea,inventore,1590 +1591,distinctio,consectetur,1591 +1592,provident,voluptates,1592 +1593,et,et,1593 +1594,eaque,quos,1594 +1595,est,eum,1595 +1596,et,quaerat,1596 +1597,doloremque,voluptatem,1597 +1598,omnis,quo,1598 +1599,et,labore,1599 +1600,voluptatibus,nisi,1600 +1601,inventore,asperiores,1601 +1602,possimus,repudiandae,1602 +1603,vitae,dolore,1603 +1604,qui,occaecati,1604 +1605,et,aut,1605 +1606,quaerat,aut,1606 +1607,similique,ut,1607 +1608,aspernatur,expedita,1608 +1609,nobis,dignissimos,1609 +1610,repellat,accusantium,1610 +1611,totam,corrupti,1611 +1612,reiciendis,quod,1612 +1613,minima,quaerat,1613 +1614,harum,et,1614 +1615,repudiandae,ipsam,1615 +1616,velit,et,1616 +1617,sit,suscipit,1617 +1618,ducimus,eveniet,1618 +1619,eum,eos,1619 +1620,expedita,aspernatur,1620 +1621,qui,quas,1621 +1622,voluptates,et,1622 +1623,nisi,consequatur,1623 +1624,voluptates,dolores,1624 +1625,quam,ea,1625 +1626,commodi,similique,1626 +1627,adipisci,modi,1627 +1628,reprehenderit,autem,1628 +1629,veniam,quam,1629 +1630,doloremque,quis,1630 +1631,dignissimos,aut,1631 +1632,dolorum,enim,1632 +1633,repellat,facilis,1633 +1634,quisquam,vero,1634 +1635,iure,sed,1635 +1636,consequuntur,reiciendis,1636 +1637,dolorem,qui,1637 +1638,nisi,qui,1638 +1639,modi,qui,1639 +1640,illo,at,1640 +1641,eligendi,ea,1641 +1642,ea,sit,1642 +1643,rem,laborum,1643 +1644,ut,voluptas,1644 +1645,fugit,repellendus,1645 +1646,reprehenderit,est,1646 +1647,laudantium,id,1647 +1648,omnis,ut,1648 +1649,temporibus,officia,1649 +1650,neque,ut,1650 +1651,praesentium,delectus,1651 +1652,voluptates,rerum,1652 +1653,et,tempora,1653 +1654,fugiat,aut,1654 +1655,autem,quibusdam,1655 +1656,voluptates,doloremque,1656 +1657,ducimus,voluptas,1657 +1658,ut,dicta,1658 +1659,quibusdam,tempora,1659 +1660,vel,omnis,1660 +1661,est,aut,1661 +1662,odit,aut,1662 +1663,qui,numquam,1663 +1664,dicta,quas,1664 +1665,fugiat,rerum,1665 +1666,quia,accusamus,1666 +1667,voluptatem,perferendis,1667 +1668,quia,nobis,1668 +1669,dolore,ut,1669 +1670,esse,quidem,1670 +1671,hic,molestiae,1671 +1672,perspiciatis,ut,1672 +1673,rerum,eaque,1673 +1674,ullam,commodi,1674 +1675,qui,ducimus,1675 +1676,ut,qui,1676 +1677,eos,est,1677 +1678,sed,tenetur,1678 +1679,inventore,numquam,1679 +1680,ut,et,1680 +1681,et,et,1681 +1682,omnis,quidem,1682 +1683,dolorem,quia,1683 +1684,dignissimos,et,1684 +1685,quas,ut,1685 +1686,aperiam,qui,1686 +1687,corporis,praesentium,1687 +1688,reiciendis,eveniet,1688 +1689,laboriosam,tempore,1689 +1690,omnis,architecto,1690 +1691,quia,tempore,1691 +1692,illo,cumque,1692 +1693,blanditiis,sapiente,1693 +1694,alias,explicabo,1694 +1695,eius,voluptatum,1695 +1696,qui,cupiditate,1696 +1697,vero,numquam,1697 +1698,quidem,iure,1698 +1699,modi,aut,1699 +1700,at,quos,1700 +1701,animi,maxime,1701 +1702,cumque,vitae,1702 +1703,vel,fugit,1703 +1704,soluta,maiores,1704 +1705,asperiores,ullam,1705 +1706,et,asperiores,1706 +1707,aut,atque,1707 +1708,quasi,asperiores,1708 +1709,autem,nemo,1709 +1710,facere,laborum,1710 +1711,molestias,sint,1711 +1712,dolorem,magni,1712 +1713,amet,sit,1713 +1714,id,iure,1714 +1715,fuga,totam,1715 +1716,vitae,labore,1716 +1717,omnis,voluptatem,1717 +1718,voluptas,commodi,1718 +1719,ea,ipsam,1719 +1720,incidunt,quos,1720 +1721,ut,fugit,1721 +1722,accusamus,odio,1722 +1723,ullam,accusamus,1723 +1724,distinctio,adipisci,1724 +1725,voluptatem,alias,1725 +1726,quos,quod,1726 +1727,doloremque,ut,1727 +1728,animi,quo,1728 +1729,sunt,dicta,1729 +1730,repudiandae,voluptatem,1730 +1731,sit,ratione,1731 +1732,accusamus,minus,1732 +1733,aut,fugiat,1733 +1734,sequi,dolorem,1734 +1735,aliquid,eum,1735 +1736,et,ea,1736 +1737,commodi,iure,1737 +1738,quis,eius,1738 +1739,nulla,quaerat,1739 +1740,sequi,ut,1740 +1741,inventore,dolores,1741 +1742,incidunt,asperiores,1742 +1743,iusto,quam,1743 +1744,labore,numquam,1744 +1745,libero,ex,1745 +1746,praesentium,eos,1746 +1747,perferendis,officia,1747 +1748,et,et,1748 +1749,nesciunt,recusandae,1749 +1750,praesentium,dolor,1750 +1751,fugiat,et,1751 +1752,odio,omnis,1752 +1753,vel,voluptate,1753 +1754,aperiam,ipsum,1754 +1755,temporibus,laborum,1755 +1756,dolores,nobis,1756 +1757,nostrum,aut,1757 +1758,architecto,voluptatibus,1758 +1759,asperiores,quia,1759 +1760,suscipit,magni,1760 +1761,quia,autem,1761 +1762,illum,id,1762 +1763,voluptatem,aut,1763 +1764,quia,numquam,1764 +1765,molestiae,sed,1765 +1766,possimus,perspiciatis,1766 +1767,eius,et,1767 +1768,labore,quia,1768 +1769,dolorum,commodi,1769 +1770,alias,eos,1770 +1771,voluptatem,a,1771 +1772,labore,sed,1772 +1773,quia,quidem,1773 +1774,perferendis,recusandae,1774 +1775,dolor,voluptas,1775 +1776,doloribus,soluta,1776 +1777,pariatur,qui,1777 +1778,rerum,non,1778 +1779,rerum,fuga,1779 +1780,in,minus,1780 +1781,dolor,animi,1781 +1782,voluptates,aliquam,1782 +1783,et,nihil,1783 +1784,nulla,quo,1784 +1785,tempore,asperiores,1785 +1786,consequuntur,vitae,1786 +1787,quia,sed,1787 +1788,et,dolorum,1788 +1789,modi,doloribus,1789 +1790,officia,et,1790 +1791,sequi,maiores,1791 +1792,et,incidunt,1792 +1793,quasi,possimus,1793 +1794,enim,ipsum,1794 +1795,rem,eius,1795 +1796,debitis,illum,1796 +1797,ratione,quos,1797 +1798,nostrum,animi,1798 +1799,id,voluptatum,1799 +1800,sapiente,soluta,1800 +1801,tempore,magnam,1801 +1802,est,dolorem,1802 +1803,nam,corporis,1803 +1804,architecto,distinctio,1804 +1805,nihil,labore,1805 +1806,saepe,incidunt,1806 +1807,magnam,numquam,1807 +1808,est,voluptatem,1808 +1809,excepturi,eligendi,1809 +1810,et,veniam,1810 +1811,ipsum,hic,1811 +1812,non,dignissimos,1812 +1813,voluptas,nihil,1813 +1814,mollitia,delectus,1814 +1815,voluptatem,dolore,1815 +1816,voluptatem,modi,1816 +1817,recusandae,nihil,1817 +1818,et,commodi,1818 +1819,ad,dolor,1819 +1820,magni,esse,1820 +1821,repellat,distinctio,1821 +1822,illo,sapiente,1822 +1823,illum,sit,1823 +1824,sit,natus,1824 +1825,voluptatem,commodi,1825 +1826,dolorum,perspiciatis,1826 +1827,ipsum,recusandae,1827 +1828,cum,aut,1828 +1829,quo,sunt,1829 +1830,voluptatem,facilis,1830 +1831,non,numquam,1831 +1832,molestias,est,1832 +1833,omnis,repellat,1833 +1834,aut,illum,1834 +1835,eum,nulla,1835 +1836,earum,rem,1836 +1837,aperiam,aut,1837 +1838,ut,placeat,1838 +1839,repellat,impedit,1839 +1840,et,harum,1840 +1841,voluptatibus,et,1841 +1842,excepturi,perspiciatis,1842 +1843,culpa,nihil,1843 +1844,accusantium,ratione,1844 +1845,ut,culpa,1845 +1846,debitis,et,1846 +1847,omnis,aut,1847 +1848,debitis,voluptatibus,1848 +1849,libero,omnis,1849 +1850,corporis,quis,1850 +1851,impedit,vel,1851 +1852,amet,animi,1852 +1853,ab,incidunt,1853 +1854,quis,odit,1854 +1855,possimus,soluta,1855 +1856,ex,rerum,1856 +1857,est,voluptatem,1857 +1858,laborum,quis,1858 +1859,quia,error,1859 +1860,fugiat,ex,1860 +1861,laborum,aut,1861 +1862,possimus,eveniet,1862 +1863,impedit,a,1863 +1864,ducimus,nihil,1864 +1865,quae,quo,1865 +1866,aut,quibusdam,1866 +1867,et,minima,1867 +1868,aut,in,1868 +1869,aut,qui,1869 +1870,incidunt,atque,1870 +1871,eum,consequatur,1871 +1872,voluptatem,aut,1872 +1873,nobis,rerum,1873 +1874,dolorem,itaque,1874 +1875,sed,nam,1875 +1876,ab,rerum,1876 +1877,hic,ut,1877 +1878,error,ipsam,1878 +1879,fugiat,esse,1879 +1880,dolores,tenetur,1880 +1881,saepe,quisquam,1881 +1882,vel,est,1882 +1883,nisi,ratione,1883 +1884,nemo,facilis,1884 +1885,sed,reprehenderit,1885 +1886,asperiores,aut,1886 +1887,ut,mollitia,1887 +1888,harum,ratione,1888 +1889,repudiandae,sit,1889 +1890,aut,sequi,1890 +1891,voluptates,libero,1891 +1892,aut,dolore,1892 +1893,reiciendis,in,1893 +1894,temporibus,natus,1894 +1895,quam,voluptatem,1895 +1896,quaerat,aut,1896 +1897,minima,enim,1897 +1898,est,quia,1898 +1899,minus,non,1899 +1900,maiores,ab,1900 +1901,ea,sint,1901 +1902,incidunt,necessitatibus,1902 +1903,autem,rerum,1903 +1904,doloremque,eveniet,1904 +1905,voluptates,quo,1905 +1906,non,earum,1906 +1907,ullam,qui,1907 +1908,ut,doloribus,1908 +1909,beatae,aliquam,1909 +1910,aut,nemo,1910 +1911,eaque,et,1911 +1912,quia,voluptatibus,1912 +1913,quia,ut,1913 +1914,expedita,nesciunt,1914 +1915,et,doloribus,1915 +1916,laborum,impedit,1916 +1917,velit,dolorem,1917 +1918,officiis,repellat,1918 +1919,eum,quos,1919 +1920,iure,porro,1920 +1921,sunt,perspiciatis,1921 +1922,dolorem,dolores,1922 +1923,illo,perferendis,1923 +1924,dicta,qui,1924 +1925,vel,sit,1925 +1926,dicta,maiores,1926 +1927,eveniet,doloribus,1927 +1928,quaerat,quo,1928 +1929,unde,voluptas,1929 +1930,qui,qui,1930 +1931,sed,illum,1931 +1932,eos,sed,1932 +1933,quidem,odio,1933 +1934,sapiente,asperiores,1934 +1935,voluptatem,alias,1935 +1936,ad,ipsa,1936 +1937,quia,dolorem,1937 +1938,et,repellat,1938 +1939,quod,esse,1939 +1940,eligendi,eligendi,1940 +1941,ea,sit,1941 +1942,sunt,officia,1942 +1943,doloribus,totam,1943 +1944,possimus,quas,1944 +1945,ipsum,inventore,1945 +1946,quae,tempora,1946 +1947,cumque,sed,1947 +1948,illum,ea,1948 +1949,consequuntur,velit,1949 +1950,repudiandae,numquam,1950 +1951,impedit,aut,1951 +1952,vero,eveniet,1952 +1953,non,qui,1953 +1954,aut,et,1954 +1955,voluptates,impedit,1955 +1956,omnis,quas,1956 +1957,error,et,1957 +1958,possimus,nihil,1958 +1959,debitis,sunt,1959 +1960,aut,quas,1960 +1961,sit,sit,1961 +1962,nesciunt,aut,1962 +1963,architecto,quis,1963 +1964,vel,magni,1964 +1965,odit,odio,1965 +1966,repellendus,voluptatem,1966 +1967,soluta,explicabo,1967 +1968,repellendus,soluta,1968 +1969,omnis,aut,1969 +1970,et,molestiae,1970 +1971,architecto,in,1971 +1972,quia,dignissimos,1972 +1973,dolor,suscipit,1973 +1974,laborum,ut,1974 +1975,nulla,corporis,1975 +1976,deleniti,sit,1976 +1977,eveniet,aperiam,1977 +1978,qui,voluptatem,1978 +1979,possimus,mollitia,1979 +1980,consectetur,est,1980 +1981,molestias,facere,1981 +1982,dolorem,dolorem,1982 +1983,cumque,asperiores,1983 +1984,earum,molestiae,1984 +1985,ut,ea,1985 +1986,veniam,debitis,1986 +1987,ratione,ut,1987 +1988,et,nisi,1988 +1989,sit,sed,1989 +1990,quibusdam,quo,1990 +1991,perspiciatis,aut,1991 +1992,vel,ut,1992 +1993,ad,autem,1993 +1994,aspernatur,alias,1994 +1995,sed,quia,1995 +1996,est,et,1996 +1997,adipisci,voluptatem,1997 +1998,architecto,explicabo,1998 +1999,temporibus,sit,1999 +2000,explicabo,eveniet,2000 +2001,mollitia,perferendis,2001 +2002,qui,qui,2002 +2003,consequatur,et,2003 +2004,vel,quia,2004 +2005,fuga,nihil,2005 +2006,aspernatur,illum,2006 +2007,soluta,ducimus,2007 +2008,hic,cupiditate,2008 +2009,et,omnis,2009 +2010,deleniti,aliquam,2010 +2011,odio,commodi,2011 +2012,dolor,enim,2012 +2013,et,corrupti,2013 +2014,omnis,qui,2014 +2015,rerum,eum,2015 +2016,est,alias,2016 +2017,nesciunt,voluptatibus,2017 +2018,magni,repudiandae,2018 +2019,sunt,animi,2019 +2020,rerum,ut,2020 +2021,et,quo,2021 +2022,qui,voluptatem,2022 +2023,voluptas,sed,2023 +2024,quis,molestiae,2024 +2025,earum,qui,2025 +2026,quas,ut,2026 +2027,nihil,recusandae,2027 +2028,quis,magni,2028 +2029,harum,omnis,2029 +2030,sint,sapiente,2030 +2031,voluptatem,aperiam,2031 +2032,quos,rerum,2032 +2033,autem,repellat,2033 +2034,debitis,quibusdam,2034 +2035,porro,beatae,2035 +2036,facere,non,2036 +2037,ullam,maxime,2037 +2038,aperiam,et,2038 +2039,omnis,commodi,2039 +2040,assumenda,eos,2040 +2041,iste,est,2041 +2042,voluptatem,eius,2042 +2043,reprehenderit,eos,2043 +2044,ut,optio,2044 +2045,sequi,ipsum,2045 +2046,in,ab,2046 +2047,et,natus,2047 +2048,alias,nam,2048 +2049,perferendis,qui,2049 +2050,fugit,id,2050 +2051,illum,alias,2051 +2052,est,explicabo,2052 +2053,sed,qui,2053 +2054,nam,odio,2054 +2055,illum,vel,2055 +2056,repellendus,impedit,2056 +2057,minus,placeat,2057 +2058,quas,exercitationem,2058 +2059,deleniti,magni,2059 +2060,adipisci,quibusdam,2060 +2061,voluptatem,voluptatem,2061 +2062,est,iure,2062 +2063,repellat,ratione,2063 +2064,quis,asperiores,2064 +2065,dolore,dolor,2065 +2066,sed,vero,2066 +2067,in,aliquam,2067 +2068,est,quia,2068 +2069,quisquam,quam,2069 +2070,est,ut,2070 +2071,aut,magni,2071 +2072,consectetur,amet,2072 +2073,unde,dignissimos,2073 +2074,et,sint,2074 +2075,reiciendis,suscipit,2075 +2076,corrupti,natus,2076 +2077,ut,repellendus,2077 +2078,qui,tempore,2078 +2079,sit,voluptatem,2079 +2080,totam,reiciendis,2080 +2081,dicta,nihil,2081 +2082,aperiam,maxime,2082 +2083,voluptatum,est,2083 +2084,reprehenderit,laborum,2084 +2085,esse,tempore,2085 +2086,voluptatem,cupiditate,2086 +2087,officia,atque,2087 +2088,error,vitae,2088 +2089,facilis,omnis,2089 +2090,facere,quia,2090 +2091,est,nam,2091 +2092,unde,rem,2092 +2093,et,qui,2093 +2094,qui,neque,2094 +2095,velit,inventore,2095 +2096,cum,rem,2096 +2097,aut,hic,2097 +2098,autem,error,2098 +2099,nam,earum,2099 +2100,nemo,est,2100 +2101,sit,provident,2101 +2102,minus,dolores,2102 +2103,eligendi,totam,2103 +2104,et,consequuntur,2104 +2105,aut,harum,2105 +2106,delectus,laudantium,2106 +2107,fuga,ut,2107 +2108,aut,temporibus,2108 +2109,ut,velit,2109 +2110,recusandae,cumque,2110 +2111,laudantium,quibusdam,2111 +2112,ex,excepturi,2112 +2113,nihil,vitae,2113 +2114,commodi,rerum,2114 +2115,nam,nesciunt,2115 +2116,in,autem,2116 +2117,autem,natus,2117 +2118,fugit,fugiat,2118 +2119,nostrum,rerum,2119 +2120,non,sunt,2120 +2121,libero,quibusdam,2121 +2122,ad,optio,2122 +2123,magni,omnis,2123 +2124,sed,qui,2124 +2125,assumenda,similique,2125 +2126,et,placeat,2126 +2127,accusantium,tempora,2127 +2128,natus,eligendi,2128 +2129,sed,explicabo,2129 +2130,occaecati,corporis,2130 +2131,id,et,2131 +2132,repudiandae,sequi,2132 +2133,soluta,a,2133 +2134,deserunt,maxime,2134 +2135,quasi,mollitia,2135 +2136,eius,nihil,2136 +2137,fugit,a,2137 +2138,omnis,debitis,2138 +2139,illo,cumque,2139 +2140,necessitatibus,rem,2140 +2141,iste,ut,2141 +2142,aut,dolorum,2142 +2143,sit,beatae,2143 +2144,voluptatem,quod,2144 +2145,ea,laborum,2145 +2146,exercitationem,vel,2146 +2147,minima,qui,2147 +2148,illo,ut,2148 +2149,illum,et,2149 +2150,id,saepe,2150 +2151,molestiae,consectetur,2151 +2152,corrupti,dolorem,2152 +2153,natus,laboriosam,2153 +2154,dignissimos,consectetur,2154 +2155,sed,rerum,2155 +2156,aut,qui,2156 +2157,sed,aliquid,2157 +2158,in,et,2158 +2159,dolor,sunt,2159 +2160,repellat,illum,2160 +2161,quis,odio,2161 +2162,reiciendis,ut,2162 +2163,sapiente,voluptatem,2163 +2164,quis,tempore,2164 +2165,praesentium,quia,2165 +2166,dolor,sunt,2166 +2167,aliquam,temporibus,2167 +2168,magni,assumenda,2168 +2169,distinctio,sed,2169 +2170,nihil,quaerat,2170 +2171,commodi,ut,2171 +2172,libero,quia,2172 +2173,quis,tempore,2173 +2174,nihil,porro,2174 +2175,quam,omnis,2175 +2176,ut,voluptas,2176 +2177,nisi,possimus,2177 +2178,libero,rerum,2178 +2179,dolores,similique,2179 +2180,omnis,atque,2180 +2181,pariatur,ut,2181 +2182,inventore,mollitia,2182 +2183,voluptate,commodi,2183 +2184,rerum,impedit,2184 +2185,vitae,quam,2185 +2186,delectus,sed,2186 +2187,sed,quia,2187 +2188,consequatur,praesentium,2188 +2189,natus,officiis,2189 +2190,est,at,2190 +2191,cumque,ipsum,2191 +2192,est,iusto,2192 +2193,iusto,omnis,2193 +2194,et,corporis,2194 +2195,molestiae,totam,2195 +2196,unde,ducimus,2196 +2197,ex,quos,2197 +2198,soluta,est,2198 +2199,aut,rerum,2199 +2200,qui,voluptatem,2200 +2201,necessitatibus,fuga,2201 +2202,accusamus,natus,2202 +2203,et,qui,2203 +2204,in,aut,2204 +2205,porro,harum,2205 +2206,sequi,reiciendis,2206 +2207,sit,omnis,2207 +2208,qui,iste,2208 +2209,qui,temporibus,2209 +2210,nostrum,doloremque,2210 +2211,amet,dolor,2211 +2212,delectus,aut,2212 +2213,aspernatur,dignissimos,2213 +2214,tempore,reprehenderit,2214 +2215,explicabo,dolorem,2215 +2216,repellendus,et,2216 +2217,aut,dolorem,2217 +2218,blanditiis,nostrum,2218 +2219,aspernatur,perferendis,2219 +2220,tempore,et,2220 +2221,doloribus,et,2221 +2222,placeat,neque,2222 +2223,optio,velit,2223 +2224,nostrum,rerum,2224 +2225,est,quis,2225 +2226,illum,minus,2226 +2227,est,eum,2227 +2228,aut,et,2228 +2229,dolore,laborum,2229 +2230,praesentium,nostrum,2230 +2231,soluta,aperiam,2231 +2232,aspernatur,explicabo,2232 +2233,odio,nam,2233 +2234,porro,est,2234 +2235,quia,omnis,2235 +2236,dolores,est,2236 +2237,ipsam,quis,2237 +2238,nemo,quia,2238 +2239,rerum,et,2239 +2240,incidunt,asperiores,2240 +2241,atque,soluta,2241 +2242,ipsam,quia,2242 +2243,sed,voluptas,2243 +2244,ipsum,quae,2244 +2245,voluptas,dolor,2245 +2246,corrupti,odit,2246 +2247,nesciunt,error,2247 +2248,reprehenderit,consectetur,2248 +2249,temporibus,esse,2249 +2250,neque,aut,2250 +2251,illo,quibusdam,2251 +2252,veritatis,aut,2252 +2253,adipisci,temporibus,2253 +2254,vel,aut,2254 +2255,aut,qui,2255 +2256,sequi,atque,2256 +2257,asperiores,quo,2257 +2258,culpa,fuga,2258 +2259,sint,ipsam,2259 +2260,sit,deleniti,2260 +2261,quidem,consequuntur,2261 +2262,aliquid,corrupti,2262 +2263,ipsam,cum,2263 +2264,a,deleniti,2264 +2265,eius,veniam,2265 +2266,magnam,placeat,2266 +2267,atque,voluptatem,2267 +2268,eos,atque,2268 +2269,voluptatibus,modi,2269 +2270,omnis,culpa,2270 +2271,vitae,esse,2271 +2272,ut,occaecati,2272 +2273,mollitia,reprehenderit,2273 +2274,maxime,sunt,2274 +2275,quibusdam,placeat,2275 +2276,eos,sint,2276 +2277,dolore,quo,2277 +2278,architecto,rem,2278 +2279,quia,tempore,2279 +2280,voluptatem,est,2280 +2281,rerum,non,2281 +2282,minima,reiciendis,2282 +2283,sed,nihil,2283 +2284,sed,rerum,2284 +2285,rerum,quas,2285 +2286,aut,error,2286 +2287,quo,sit,2287 +2288,excepturi,facilis,2288 +2289,et,impedit,2289 +2290,in,qui,2290 +2291,quas,nemo,2291 +2292,sunt,et,2292 +2293,ipsum,maxime,2293 +2294,nobis,quia,2294 +2295,delectus,sint,2295 +2296,enim,omnis,2296 +2297,enim,eligendi,2297 +2298,minus,sapiente,2298 +2299,omnis,voluptatum,2299 +2300,unde,porro,2300 +2301,reiciendis,laudantium,2301 +2302,laboriosam,officia,2302 +2303,rerum,nobis,2303 +2304,qui,dolores,2304 +2305,est,eius,2305 +2306,velit,perspiciatis,2306 +2307,nam,mollitia,2307 +2308,autem,id,2308 +2309,beatae,iusto,2309 +2310,quia,rem,2310 +2311,quaerat,tempora,2311 +2312,ut,assumenda,2312 +2313,voluptas,aspernatur,2313 +2314,omnis,et,2314 +2315,aut,corrupti,2315 +2316,commodi,harum,2316 +2317,hic,at,2317 +2318,eum,facilis,2318 +2319,aut,ut,2319 +2320,quo,est,2320 +2321,voluptatibus,culpa,2321 +2322,unde,voluptatem,2322 +2323,sit,atque,2323 +2324,deserunt,voluptatem,2324 +2325,adipisci,minus,2325 +2326,dolores,velit,2326 +2327,et,beatae,2327 +2328,ipsa,voluptatem,2328 +2329,adipisci,soluta,2329 +2330,dolor,quas,2330 +2331,reiciendis,facere,2331 +2332,earum,reiciendis,2332 +2333,exercitationem,sint,2333 +2334,placeat,animi,2334 +2335,aut,eos,2335 +2336,accusamus,velit,2336 +2337,dolores,cumque,2337 +2338,eveniet,voluptatibus,2338 +2339,expedita,quia,2339 +2340,saepe,totam,2340 +2341,ipsam,quo,2341 +2342,mollitia,porro,2342 +2343,accusantium,odit,2343 +2344,facilis,nostrum,2344 +2345,id,iste,2345 +2346,in,odio,2346 +2347,aliquid,maiores,2347 +2348,quod,maxime,2348 +2349,ipsa,perspiciatis,2349 +2350,necessitatibus,eum,2350 +2351,eveniet,ut,2351 +2352,rem,dolor,2352 +2353,maxime,est,2353 +2354,at,blanditiis,2354 +2355,qui,nam,2355 +2356,eligendi,dolores,2356 +2357,nesciunt,molestias,2357 +2358,explicabo,soluta,2358 +2359,et,aut,2359 +2360,quis,sunt,2360 +2361,illum,similique,2361 +2362,et,aperiam,2362 +2363,et,fugiat,2363 +2364,dignissimos,beatae,2364 +2365,sed,praesentium,2365 +2366,amet,id,2366 +2367,accusantium,ad,2367 +2368,iure,rem,2368 +2369,sed,tenetur,2369 +2370,laudantium,placeat,2370 +2371,nobis,doloribus,2371 +2372,qui,in,2372 +2373,in,aliquid,2373 +2374,culpa,omnis,2374 +2375,pariatur,facilis,2375 +2376,quia,aspernatur,2376 +2377,nisi,et,2377 +2378,eos,aut,2378 +2379,quidem,iusto,2379 +2380,numquam,reiciendis,2380 +2381,debitis,consequatur,2381 +2382,ea,amet,2382 +2383,aut,dicta,2383 +2384,cumque,aspernatur,2384 +2385,quas,adipisci,2385 +2386,eligendi,ipsam,2386 +2387,esse,labore,2387 +2388,recusandae,et,2388 +2389,ea,et,2389 +2390,alias,est,2390 +2391,dolor,qui,2391 +2392,quibusdam,in,2392 +2393,minima,id,2393 +2394,iste,possimus,2394 +2395,ipsum,iure,2395 +2396,ullam,rerum,2396 +2397,qui,molestias,2397 +2398,sit,eos,2398 +2399,voluptatem,officia,2399 +2400,pariatur,voluptas,2400 +2401,quos,cumque,2401 +2402,repellat,rem,2402 +2403,distinctio,aut,2403 +2404,esse,consequatur,2404 +2405,cum,natus,2405 +2406,cum,libero,2406 +2407,laudantium,vero,2407 +2408,officia,est,2408 +2409,eos,quas,2409 +2410,aut,eaque,2410 +2411,accusantium,molestias,2411 +2412,dignissimos,rerum,2412 +2413,sed,voluptates,2413 +2414,dolore,rerum,2414 +2415,perferendis,aut,2415 +2416,ipsa,vero,2416 +2417,vel,eum,2417 +2418,soluta,iure,2418 +2419,quibusdam,exercitationem,2419 +2420,et,unde,2420 +2421,provident,sunt,2421 +2422,deleniti,sit,2422 +2423,omnis,est,2423 +2424,et,doloribus,2424 +2425,consectetur,cumque,2425 +2426,ea,magnam,2426 +2427,distinctio,autem,2427 +2428,molestiae,et,2428 +2429,reprehenderit,consequatur,2429 +2430,accusantium,magni,2430 +2431,ratione,quae,2431 +2432,mollitia,odit,2432 +2433,tempora,vero,2433 +2434,nostrum,rerum,2434 +2435,tenetur,molestiae,2435 +2436,dignissimos,cum,2436 +2437,ipsum,laboriosam,2437 +2438,quasi,inventore,2438 +2439,perferendis,et,2439 +2440,quasi,voluptas,2440 +2441,qui,esse,2441 +2442,suscipit,animi,2442 +2443,ullam,qui,2443 +2444,veniam,est,2444 +2445,facilis,sit,2445 +2446,incidunt,autem,2446 +2447,sint,est,2447 +2448,dolorem,eveniet,2448 +2449,facere,ut,2449 +2450,iste,earum,2450 +2451,et,esse,2451 +2452,perspiciatis,minima,2452 +2453,et,consequatur,2453 +2454,magni,voluptatum,2454 +2455,soluta,officia,2455 +2456,vitae,harum,2456 +2457,inventore,nisi,2457 +2458,pariatur,tempora,2458 +2459,accusantium,iste,2459 +2460,non,quam,2460 +2461,esse,aut,2461 +2462,nulla,cumque,2462 +2463,nobis,deleniti,2463 +2464,rerum,maxime,2464 +2465,doloremque,rem,2465 +2466,iusto,molestiae,2466 +2467,temporibus,itaque,2467 +2468,sit,hic,2468 +2469,sapiente,qui,2469 +2470,sed,corporis,2470 +2471,maxime,ratione,2471 +2472,voluptatem,voluptatem,2472 +2473,corporis,id,2473 +2474,natus,pariatur,2474 +2475,nemo,dolor,2475 +2476,ex,enim,2476 +2477,dolorem,quo,2477 +2478,voluptas,provident,2478 +2479,repellendus,sunt,2479 +2480,non,pariatur,2480 +2481,illum,est,2481 +2482,officiis,dolor,2482 +2483,dicta,dolor,2483 +2484,sed,earum,2484 +2485,placeat,ullam,2485 +2486,voluptatem,officia,2486 +2487,non,et,2487 +2488,modi,corporis,2488 +2489,cum,ipsum,2489 +2490,qui,reiciendis,2490 +2491,distinctio,eos,2491 +2492,eos,possimus,2492 +2493,vel,maiores,2493 +2494,assumenda,doloremque,2494 +2495,optio,ad,2495 +2496,fugiat,voluptatem,2496 +2497,facere,nobis,2497 +2498,eos,et,2498 +2499,asperiores,vero,2499 +2500,omnis,nisi,2500 +2501,sed,occaecati,2501 +2502,commodi,sit,2502 +2503,incidunt,ipsa,2503 +2504,non,aliquam,2504 +2505,omnis,voluptas,2505 +2506,est,magni,2506 +2507,tempore,sint,2507 +2508,aliquam,praesentium,2508 +2509,nulla,fugiat,2509 +2510,iste,et,2510 +2511,quia,odit,2511 +2512,blanditiis,a,2512 +2513,numquam,et,2513 +2514,veniam,enim,2514 +2515,ipsam,eligendi,2515 +2516,nam,et,2516 +2517,ut,fuga,2517 +2518,eos,rem,2518 +2519,cupiditate,nemo,2519 +2520,sint,fuga,2520 +2521,ab,minima,2521 +2522,doloribus,voluptatem,2522 +2523,amet,tempore,2523 +2524,veniam,quae,2524 +2525,magnam,nesciunt,2525 +2526,quidem,vitae,2526 +2527,perferendis,et,2527 +2528,earum,aut,2528 +2529,consequatur,aut,2529 +2530,eveniet,placeat,2530 +2531,amet,autem,2531 +2532,in,ipsa,2532 +2533,doloremque,non,2533 +2534,dolores,corporis,2534 +2535,rerum,fugiat,2535 +2536,aliquam,rerum,2536 +2537,aut,eos,2537 +2538,magnam,veniam,2538 +2539,aut,architecto,2539 +2540,ullam,est,2540 +2541,voluptate,qui,2541 +2542,blanditiis,delectus,2542 +2543,eum,repudiandae,2543 +2544,necessitatibus,blanditiis,2544 +2545,aut,ut,2545 +2546,nostrum,neque,2546 +2547,aut,dolores,2547 +2548,voluptates,sapiente,2548 +2549,unde,ut,2549 +2550,ut,autem,2550 +2551,harum,nemo,2551 +2552,quo,quibusdam,2552 +2553,eos,ut,2553 +2554,ut,aliquid,2554 +2555,nulla,sunt,2555 +2556,harum,quidem,2556 +2557,ratione,rem,2557 +2558,et,explicabo,2558 +2559,eum,voluptatum,2559 +2560,dolore,doloribus,2560 +2561,voluptas,hic,2561 +2562,incidunt,qui,2562 +2563,iste,et,2563 +2564,blanditiis,eum,2564 +2565,quidem,nesciunt,2565 +2566,error,ab,2566 +2567,illo,magnam,2567 +2568,ad,blanditiis,2568 +2569,voluptas,quas,2569 +2570,id,facere,2570 +2571,repellendus,consequatur,2571 +2572,sunt,quas,2572 +2573,aut,sit,2573 +2574,nobis,architecto,2574 +2575,ipsum,et,2575 +2576,et,rerum,2576 +2577,eos,voluptatibus,2577 +2578,quasi,saepe,2578 +2579,repellendus,porro,2579 +2580,assumenda,sit,2580 +2581,eveniet,enim,2581 +2582,voluptatum,debitis,2582 +2583,ullam,fugiat,2583 +2584,libero,placeat,2584 +2585,libero,accusantium,2585 +2586,aut,fugit,2586 +2587,et,enim,2587 +2588,velit,commodi,2588 +2589,culpa,harum,2589 +2590,explicabo,et,2590 +2591,optio,dolorem,2591 +2592,sed,aspernatur,2592 +2593,iusto,voluptas,2593 +2594,explicabo,voluptates,2594 +2595,nostrum,sint,2595 +2596,repellendus,pariatur,2596 +2597,quasi,iste,2597 +2598,et,odio,2598 +2599,fuga,sapiente,2599 +2600,dolorem,recusandae,2600 +2601,et,non,2601 +2602,natus,rem,2602 +2603,mollitia,veniam,2603 +2604,a,voluptatem,2604 +2605,vitae,aut,2605 +2606,voluptas,error,2606 +2607,et,sunt,2607 +2608,quis,sit,2608 +2609,et,earum,2609 +2610,modi,deserunt,2610 +2611,quod,aut,2611 +2612,dolores,vero,2612 +2613,autem,ullam,2613 +2614,illo,libero,2614 +2615,placeat,aperiam,2615 +2616,maiores,iste,2616 +2617,in,magnam,2617 +2618,accusantium,architecto,2618 +2619,nobis,velit,2619 +2620,delectus,ipsam,2620 +2621,ut,rem,2621 +2622,voluptates,ipsa,2622 +2623,inventore,nisi,2623 +2624,nostrum,deserunt,2624 +2625,sequi,at,2625 +2626,et,illo,2626 +2627,voluptatem,nam,2627 +2628,qui,incidunt,2628 +2629,adipisci,impedit,2629 +2630,voluptate,temporibus,2630 +2631,blanditiis,et,2631 +2632,quidem,quia,2632 +2633,harum,blanditiis,2633 +2634,et,inventore,2634 +2635,ea,iure,2635 +2636,error,sapiente,2636 +2637,tenetur,assumenda,2637 +2638,molestias,debitis,2638 +2639,deserunt,odio,2639 +2640,in,repellendus,2640 +2641,dolorem,labore,2641 +2642,perferendis,voluptates,2642 +2643,quaerat,aut,2643 +2644,corrupti,quia,2644 +2645,minus,eius,2645 +2646,molestiae,voluptatem,2646 +2647,reiciendis,error,2647 +2648,quia,est,2648 +2649,sunt,praesentium,2649 +2650,delectus,sapiente,2650 +2651,modi,dolores,2651 +2652,sit,natus,2652 +2653,non,voluptatem,2653 +2654,quis,reprehenderit,2654 +2655,nemo,animi,2655 +2656,eos,minus,2656 +2657,dolore,omnis,2657 +2658,deleniti,sit,2658 +2659,accusantium,nobis,2659 +2660,et,ducimus,2660 +2661,corrupti,expedita,2661 +2662,quaerat,nam,2662 +2663,magnam,rerum,2663 +2664,ipsa,aut,2664 +2665,nihil,dolores,2665 +2666,consequatur,iusto,2666 +2667,voluptatum,odit,2667 +2668,vero,quas,2668 +2669,ut,cumque,2669 +2670,aut,minima,2670 +2671,qui,dolores,2671 +2672,suscipit,ut,2672 +2673,quaerat,amet,2673 +2674,et,inventore,2674 +2675,iste,quos,2675 +2676,quae,voluptatum,2676 +2677,cum,neque,2677 +2678,id,aliquid,2678 +2679,eos,voluptatem,2679 +2680,itaque,qui,2680 +2681,sapiente,omnis,2681 +2682,quibusdam,at,2682 +2683,vitae,aperiam,2683 +2684,qui,perspiciatis,2684 +2685,dolorem,doloremque,2685 +2686,deserunt,esse,2686 +2687,suscipit,eos,2687 +2688,beatae,molestias,2688 +2689,magni,rerum,2689 +2690,et,quisquam,2690 +2691,voluptatem,aut,2691 +2692,rerum,dignissimos,2692 +2693,omnis,ad,2693 +2694,a,dignissimos,2694 +2695,dolore,aut,2695 +2696,tempore,tempora,2696 +2697,magni,autem,2697 +2698,dolor,accusamus,2698 +2699,perspiciatis,molestias,2699 +2700,quaerat,similique,2700 +2701,aut,quos,2701 +2702,facere,doloremque,2702 +2703,doloremque,delectus,2703 +2704,magni,exercitationem,2704 +2705,ea,culpa,2705 +2706,culpa,assumenda,2706 +2707,officiis,dicta,2707 +2708,qui,laboriosam,2708 +2709,modi,eos,2709 +2710,consequuntur,repudiandae,2710 +2711,dolor,mollitia,2711 +2712,quisquam,illum,2712 +2713,sunt,unde,2713 +2714,quo,voluptas,2714 +2715,fugit,deleniti,2715 +2716,culpa,provident,2716 +2717,labore,praesentium,2717 +2718,cupiditate,numquam,2718 +2719,quis,qui,2719 +2720,deserunt,vel,2720 +2721,expedita,cupiditate,2721 +2722,ut,voluptatibus,2722 +2723,sapiente,voluptatem,2723 +2724,sed,recusandae,2724 +2725,et,animi,2725 +2726,iure,est,2726 +2727,odio,est,2727 +2728,blanditiis,amet,2728 +2729,laborum,reiciendis,2729 +2730,maxime,officiis,2730 +2731,explicabo,iure,2731 +2732,modi,minus,2732 +2733,sed,animi,2733 +2734,est,facere,2734 +2735,cum,sed,2735 +2736,eius,molestias,2736 +2737,nihil,dolorem,2737 +2738,aut,unde,2738 +2739,commodi,omnis,2739 +2740,cum,quas,2740 +2741,iusto,nostrum,2741 +2742,voluptatem,et,2742 +2743,aut,et,2743 +2744,qui,eos,2744 +2745,non,in,2745 +2746,reiciendis,et,2746 +2747,inventore,perferendis,2747 +2748,modi,commodi,2748 +2749,aut,vel,2749 +2750,perspiciatis,optio,2750 +2751,quis,iusto,2751 +2752,ea,qui,2752 +2753,architecto,corporis,2753 +2754,in,recusandae,2754 +2755,fugiat,voluptatem,2755 +2756,libero,quia,2756 +2757,nihil,similique,2757 +2758,quis,quam,2758 +2759,deleniti,sed,2759 +2760,eius,fugiat,2760 +2761,nulla,iusto,2761 +2762,nihil,et,2762 +2763,quisquam,sint,2763 +2764,iste,iste,2764 +2765,et,nobis,2765 +2766,recusandae,quia,2766 +2767,consequatur,alias,2767 +2768,excepturi,molestiae,2768 +2769,sed,ipsum,2769 +2770,ut,labore,2770 +2771,qui,quos,2771 +2772,dolor,ut,2772 +2773,ullam,quas,2773 +2774,iusto,maxime,2774 +2775,dolor,est,2775 +2776,nobis,deleniti,2776 +2777,fugit,culpa,2777 +2778,est,velit,2778 +2779,dolores,molestiae,2779 +2780,sit,suscipit,2780 +2781,unde,in,2781 +2782,molestiae,voluptas,2782 +2783,repellat,eius,2783 +2784,non,ab,2784 +2785,sint,sint,2785 +2786,voluptatibus,earum,2786 +2787,dolore,in,2787 +2788,sapiente,eos,2788 +2789,quis,sequi,2789 +2790,voluptates,beatae,2790 +2791,sapiente,quia,2791 +2792,sit,dolorem,2792 +2793,omnis,doloremque,2793 +2794,adipisci,dignissimos,2794 +2795,beatae,necessitatibus,2795 +2796,vel,doloribus,2796 +2797,sit,nulla,2797 +2798,corrupti,et,2798 +2799,a,sapiente,2799 +2800,quaerat,optio,2800 +2801,dicta,animi,2801 +2802,numquam,et,2802 +2803,et,aliquid,2803 +2804,accusamus,dolores,2804 +2805,est,adipisci,2805 +2806,non,iure,2806 +2807,nihil,veniam,2807 +2808,et,autem,2808 +2809,nesciunt,ducimus,2809 +2810,minus,vel,2810 +2811,cum,sit,2811 +2812,maxime,ea,2812 +2813,officia,veniam,2813 +2814,qui,minus,2814 +2815,similique,perspiciatis,2815 +2816,est,ut,2816 +2817,in,fuga,2817 +2818,necessitatibus,incidunt,2818 +2819,voluptatibus,et,2819 +2820,dolore,minus,2820 +2821,velit,id,2821 +2822,laudantium,et,2822 +2823,vel,recusandae,2823 +2824,delectus,nulla,2824 +2825,mollitia,sint,2825 +2826,ut,aut,2826 +2827,dolorem,quod,2827 +2828,ut,dolores,2828 +2829,soluta,aut,2829 +2830,occaecati,et,2830 +2831,debitis,qui,2831 +2832,suscipit,adipisci,2832 +2833,facilis,at,2833 +2834,animi,aut,2834 +2835,veritatis,itaque,2835 +2836,dolore,aliquam,2836 +2837,aut,voluptatem,2837 +2838,vero,est,2838 +2839,aliquid,mollitia,2839 +2840,qui,voluptatum,2840 +2841,omnis,ea,2841 +2842,delectus,quam,2842 +2843,modi,doloribus,2843 +2844,necessitatibus,ducimus,2844 +2845,voluptas,nulla,2845 +2846,sit,rem,2846 +2847,possimus,sequi,2847 +2848,id,similique,2848 +2849,quis,dolorum,2849 +2850,sit,rerum,2850 +2851,ex,voluptas,2851 +2852,et,quis,2852 +2853,saepe,quia,2853 +2854,laboriosam,temporibus,2854 +2855,nihil,est,2855 +2856,est,inventore,2856 +2857,voluptate,sit,2857 +2858,nesciunt,ipsa,2858 +2859,excepturi,sequi,2859 +2860,quos,ad,2860 +2861,ut,laboriosam,2861 +2862,est,id,2862 +2863,sit,doloribus,2863 +2864,qui,veritatis,2864 +2865,soluta,est,2865 +2866,eligendi,consequatur,2866 +2867,saepe,voluptatem,2867 +2868,eos,iusto,2868 +2869,veniam,dicta,2869 +2870,suscipit,nulla,2870 +2871,neque,aperiam,2871 +2872,modi,maxime,2872 +2873,aliquam,aut,2873 +2874,a,inventore,2874 +2875,qui,alias,2875 +2876,voluptates,consequatur,2876 +2877,natus,dolores,2877 +2878,et,sunt,2878 +2879,eligendi,ab,2879 +2880,odio,eos,2880 +2881,quia,dolorem,2881 +2882,voluptas,neque,2882 +2883,autem,voluptas,2883 +2884,facilis,harum,2884 +2885,commodi,ut,2885 +2886,facere,necessitatibus,2886 +2887,nesciunt,omnis,2887 +2888,consequuntur,ab,2888 +2889,maiores,iure,2889 +2890,rem,ratione,2890 +2891,aspernatur,facere,2891 +2892,vel,deserunt,2892 +2893,nihil,esse,2893 +2894,inventore,aspernatur,2894 +2895,fugit,fugit,2895 +2896,error,neque,2896 +2897,quos,omnis,2897 +2898,laudantium,quia,2898 +2899,officiis,quia,2899 +2900,voluptas,suscipit,2900 +2901,id,id,2901 +2902,at,officiis,2902 +2903,natus,dolore,2903 +2904,repudiandae,qui,2904 +2905,voluptatibus,dolor,2905 +2906,sint,temporibus,2906 +2907,ut,explicabo,2907 +2908,et,et,2908 +2909,iste,et,2909 +2910,mollitia,facere,2910 +2911,adipisci,quod,2911 +2912,quia,nihil,2912 +2913,magni,eum,2913 +2914,et,voluptatem,2914 +2915,quae,recusandae,2915 +2916,harum,adipisci,2916 +2917,unde,dolorem,2917 +2918,qui,ut,2918 +2919,eaque,occaecati,2919 +2920,voluptas,amet,2920 +2921,doloremque,dolor,2921 +2922,dolorem,provident,2922 +2923,quas,omnis,2923 +2924,nulla,cumque,2924 +2925,consectetur,magni,2925 +2926,laudantium,recusandae,2926 +2927,vitae,quod,2927 +2928,numquam,quia,2928 +2929,mollitia,est,2929 +2930,explicabo,dolores,2930 +2931,velit,odio,2931 +2932,ut,dolor,2932 +2933,qui,nam,2933 +2934,eos,quaerat,2934 +2935,ullam,libero,2935 +2936,fuga,non,2936 +2937,cum,nisi,2937 +2938,accusantium,dolorum,2938 +2939,provident,non,2939 +2940,blanditiis,ipsum,2940 +2941,veniam,iste,2941 +2942,non,nihil,2942 +2943,iure,voluptatem,2943 +2944,necessitatibus,explicabo,2944 +2945,aut,inventore,2945 +2946,impedit,velit,2946 +2947,repellat,vel,2947 +2948,qui,omnis,2948 +2949,repudiandae,officia,2949 +2950,consequuntur,corrupti,2950 +2951,et,esse,2951 +2952,autem,rem,2952 +2953,mollitia,in,2953 +2954,perspiciatis,nesciunt,2954 +2955,doloribus,animi,2955 +2956,sunt,provident,2956 +2957,quis,consequatur,2957 +2958,nihil,accusamus,2958 +2959,libero,est,2959 +2960,eaque,et,2960 +2961,aut,porro,2961 +2962,distinctio,impedit,2962 +2963,amet,consequatur,2963 +2964,quod,sed,2964 +2965,in,suscipit,2965 +2966,ratione,et,2966 +2967,minus,eius,2967 +2968,culpa,sint,2968 +2969,tempore,quasi,2969 +2970,qui,voluptatem,2970 +2971,enim,laborum,2971 +2972,voluptates,sapiente,2972 +2973,numquam,autem,2973 +2974,alias,fugit,2974 +2975,accusantium,magni,2975 +2976,sit,voluptates,2976 +2977,aut,voluptas,2977 +2978,assumenda,ut,2978 +2979,qui,voluptatem,2979 +2980,minus,reprehenderit,2980 +2981,fugiat,temporibus,2981 +2982,doloribus,quis,2982 +2983,est,voluptatem,2983 +2984,et,consequatur,2984 +2985,nostrum,laudantium,2985 +2986,quasi,itaque,2986 +2987,enim,in,2987 +2988,et,magnam,2988 +2989,alias,aperiam,2989 +2990,dolor,ut,2990 +2991,non,aut,2991 +2992,et,quos,2992 +2993,nisi,nisi,2993 +2994,dolor,ut,2994 +2995,voluptate,quasi,2995 +2996,adipisci,blanditiis,2996 +2997,repellat,voluptas,2997 +2998,velit,dolores,2998 +2999,exercitationem,facere,2999 +3000,debitis,doloribus,3000 +3001,ducimus,nostrum,3001 +3002,quod,dolorem,3002 +3003,ducimus,aut,3003 +3004,quidem,perferendis,3004 +3005,sed,ducimus,3005 +3006,voluptate,voluptatem,3006 +3007,laboriosam,tempore,3007 +3008,nesciunt,odio,3008 +3009,asperiores,nam,3009 +3010,dolor,esse,3010 +3011,similique,sunt,3011 +3012,in,ipsam,3012 +3013,quo,sequi,3013 +3014,quidem,voluptas,3014 +3015,explicabo,iusto,3015 +3016,voluptatem,error,3016 +3017,asperiores,aut,3017 +3018,repellendus,nesciunt,3018 +3019,nesciunt,est,3019 +3020,in,vitae,3020 +3021,aliquid,quas,3021 +3022,quae,ipsum,3022 +3023,eveniet,quaerat,3023 +3024,quae,est,3024 +3025,voluptas,id,3025 +3026,soluta,explicabo,3026 +3027,sunt,in,3027 +3028,molestiae,et,3028 +3029,qui,enim,3029 +3030,voluptates,vel,3030 +3031,officia,facere,3031 +3032,nam,quidem,3032 +3033,iusto,et,3033 +3034,consequuntur,eveniet,3034 +3035,nulla,id,3035 +3036,tenetur,ut,3036 +3037,ea,quod,3037 +3038,explicabo,modi,3038 +3039,consequatur,necessitatibus,3039 +3040,iste,voluptas,3040 +3041,vel,praesentium,3041 +3042,et,earum,3042 +3043,et,assumenda,3043 +3044,inventore,deserunt,3044 +3045,sint,quis,3045 +3046,amet,ex,3046 +3047,explicabo,sed,3047 +3048,aut,consequuntur,3048 +3049,et,soluta,3049 +3050,dolores,occaecati,3050 +3051,quo,voluptatem,3051 +3052,molestiae,perspiciatis,3052 +3053,a,commodi,3053 +3054,sed,alias,3054 +3055,suscipit,numquam,3055 +3056,ea,veritatis,3056 +3057,corrupti,inventore,3057 +3058,temporibus,at,3058 +3059,rerum,et,3059 +3060,amet,et,3060 +3061,repellat,ex,3061 +3062,commodi,quia,3062 +3063,velit,eveniet,3063 +3064,quod,quasi,3064 +3065,eum,nesciunt,3065 +3066,eligendi,dolorum,3066 +3067,fuga,corporis,3067 +3068,voluptatem,praesentium,3068 +3069,eveniet,ut,3069 +3070,molestias,deserunt,3070 +3071,laborum,laborum,3071 +3072,voluptas,beatae,3072 +3073,tenetur,voluptatem,3073 +3074,eum,ut,3074 +3075,ipsa,fuga,3075 +3076,id,porro,3076 +3077,qui,iusto,3077 +3078,sit,consequatur,3078 +3079,eos,rerum,3079 +3080,harum,esse,3080 +3081,quia,quas,3081 +3082,nesciunt,repellendus,3082 +3083,autem,exercitationem,3083 +3084,qui,vel,3084 +3085,suscipit,consequatur,3085 +3086,dolorem,consectetur,3086 +3087,et,eaque,3087 +3088,repellendus,officia,3088 +3089,praesentium,nulla,3089 +3090,doloribus,minima,3090 +3091,ut,laborum,3091 +3092,ducimus,molestiae,3092 +3093,eum,placeat,3093 +3094,eligendi,vero,3094 +3095,accusamus,rerum,3095 +3096,est,quia,3096 +3097,aliquam,iste,3097 +3098,quia,consequatur,3098 +3099,labore,facilis,3099 +3100,quo,inventore,3100 +3101,quos,molestiae,3101 +3102,itaque,illo,3102 +3103,nam,qui,3103 +3104,minus,inventore,3104 +3105,eaque,aut,3105 +3106,iste,nobis,3106 +3107,vitae,assumenda,3107 +3108,temporibus,aliquid,3108 +3109,et,corrupti,3109 +3110,sunt,dolore,3110 +3111,quibusdam,cupiditate,3111 +3112,eaque,voluptate,3112 +3113,commodi,voluptates,3113 +3114,omnis,facilis,3114 +3115,at,perferendis,3115 +3116,amet,voluptatem,3116 +3117,qui,enim,3117 +3118,est,consequatur,3118 +3119,accusamus,alias,3119 +3120,ducimus,ut,3120 +3121,delectus,odit,3121 +3122,a,debitis,3122 +3123,voluptas,modi,3123 +3124,enim,et,3124 +3125,pariatur,omnis,3125 +3126,aut,deserunt,3126 +3127,cum,voluptas,3127 +3128,rerum,nihil,3128 +3129,beatae,quo,3129 +3130,et,voluptatem,3130 +3131,eum,voluptates,3131 +3132,est,commodi,3132 +3133,eveniet,quae,3133 +3134,enim,cupiditate,3134 +3135,unde,in,3135 +3136,molestias,molestiae,3136 +3137,asperiores,sed,3137 +3138,rerum,qui,3138 +3139,et,possimus,3139 +3140,quia,reprehenderit,3140 +3141,excepturi,tempora,3141 +3142,voluptatibus,voluptatibus,3142 +3143,eaque,rerum,3143 +3144,dignissimos,beatae,3144 +3145,dolores,et,3145 +3146,qui,dolor,3146 +3147,inventore,atque,3147 +3148,iusto,eum,3148 +3149,voluptates,temporibus,3149 +3150,debitis,et,3150 +3151,sint,perspiciatis,3151 +3152,hic,adipisci,3152 +3153,assumenda,ex,3153 +3154,repellat,magni,3154 +3155,delectus,consectetur,3155 +3156,quis,aut,3156 +3157,quo,quod,3157 +3158,ad,quo,3158 +3159,non,quia,3159 +3160,accusamus,enim,3160 +3161,nemo,dignissimos,3161 +3162,molestias,molestiae,3162 +3163,voluptatibus,et,3163 +3164,voluptatibus,est,3164 +3165,sequi,cumque,3165 +3166,cumque,id,3166 +3167,cum,iste,3167 +3168,est,nihil,3168 +3169,et,voluptatem,3169 +3170,sint,quia,3170 +3171,amet,odio,3171 +3172,omnis,et,3172 +3173,qui,explicabo,3173 +3174,et,sit,3174 +3175,nobis,sunt,3175 +3176,excepturi,eos,3176 +3177,quia,veniam,3177 +3178,temporibus,sint,3178 +3179,animi,totam,3179 +3180,optio,incidunt,3180 +3181,fugit,et,3181 +3182,nostrum,sint,3182 +3183,maiores,qui,3183 +3184,aspernatur,voluptatem,3184 +3185,quam,omnis,3185 +3186,quis,magnam,3186 +3187,sit,dolor,3187 +3188,eaque,voluptatibus,3188 +3189,enim,autem,3189 +3190,quia,totam,3190 +3191,eligendi,architecto,3191 +3192,sunt,et,3192 +3193,quia,et,3193 +3194,assumenda,perferendis,3194 +3195,ut,est,3195 +3196,et,architecto,3196 +3197,dolorum,fugit,3197 +3198,libero,possimus,3198 +3199,quasi,voluptatem,3199 +3200,magni,qui,3200 +3201,quia,dignissimos,3201 +3202,ipsa,molestiae,3202 +3203,sed,laborum,3203 +3204,dolore,animi,3204 +3205,minima,officia,3205 +3206,quod,maxime,3206 +3207,non,rem,3207 +3208,adipisci,rerum,3208 +3209,voluptate,accusamus,3209 +3210,deleniti,placeat,3210 +3211,officia,harum,3211 +3212,provident,id,3212 +3213,id,voluptatem,3213 +3214,minus,doloremque,3214 +3215,libero,temporibus,3215 +3216,sed,iusto,3216 +3217,dolores,ab,3217 +3218,quia,nihil,3218 +3219,est,sed,3219 +3220,sit,repellat,3220 +3221,quia,aliquam,3221 +3222,ut,rem,3222 +3223,dolorem,explicabo,3223 +3224,reprehenderit,sint,3224 +3225,est,molestiae,3225 +3226,quia,quis,3226 +3227,hic,enim,3227 +3228,provident,eum,3228 +3229,magnam,dolores,3229 +3230,illum,laboriosam,3230 +3231,maxime,aliquid,3231 +3232,dolores,officia,3232 +3233,aliquid,placeat,3233 +3234,et,dolor,3234 +3235,minima,rem,3235 +3236,ipsum,blanditiis,3236 +3237,impedit,quaerat,3237 +3238,aut,enim,3238 +3239,consequatur,tenetur,3239 +3240,placeat,maiores,3240 +3241,quia,cupiditate,3241 +3242,et,maiores,3242 +3243,natus,earum,3243 +3244,doloremque,aut,3244 +3245,neque,adipisci,3245 +3246,et,consectetur,3246 +3247,quia,odit,3247 +3248,aliquam,alias,3248 +3249,recusandae,omnis,3249 +3250,doloremque,est,3250 +3251,fuga,nulla,3251 +3252,ut,impedit,3252 +3253,quam,vel,3253 +3254,qui,illo,3254 +3255,voluptas,dicta,3255 +3256,veniam,rerum,3256 +3257,qui,reprehenderit,3257 +3258,officia,sed,3258 +3259,accusamus,temporibus,3259 +3260,recusandae,autem,3260 +3261,maxime,reprehenderit,3261 +3262,nostrum,labore,3262 +3263,laboriosam,iste,3263 +3264,porro,aut,3264 +3265,et,dolorum,3265 +3266,qui,labore,3266 +3267,laborum,numquam,3267 +3268,repudiandae,soluta,3268 +3269,et,quos,3269 +3270,ut,qui,3270 +3271,excepturi,doloremque,3271 +3272,dolor,reprehenderit,3272 +3273,quis,labore,3273 +3274,dolorem,est,3274 +3275,cupiditate,optio,3275 +3276,quo,consequatur,3276 +3277,sed,voluptate,3277 +3278,laboriosam,veritatis,3278 +3279,et,dolor,3279 +3280,odio,eum,3280 +3281,quo,iusto,3281 +3282,aspernatur,vitae,3282 +3283,hic,voluptatem,3283 +3284,mollitia,assumenda,3284 +3285,quo,occaecati,3285 +3286,enim,hic,3286 +3287,est,quo,3287 +3288,accusamus,accusamus,3288 +3289,molestiae,tenetur,3289 +3290,dolores,et,3290 +3291,qui,voluptate,3291 +3292,quis,velit,3292 +3293,architecto,modi,3293 +3294,est,illum,3294 +3295,est,a,3295 +3296,et,unde,3296 +3297,quasi,quia,3297 +3298,laudantium,voluptas,3298 +3299,veritatis,et,3299 +3300,at,voluptatem,3300 +3301,maxime,eius,3301 +3302,velit,rem,3302 +3303,voluptatem,nemo,3303 +3304,consequatur,in,3304 +3305,exercitationem,debitis,3305 +3306,error,repudiandae,3306 +3307,consequatur,eveniet,3307 +3308,aut,voluptatibus,3308 +3309,blanditiis,deserunt,3309 +3310,facilis,unde,3310 +3311,in,quam,3311 +3312,et,est,3312 +3313,maxime,praesentium,3313 +3314,dolores,sapiente,3314 +3315,quia,at,3315 +3316,numquam,corporis,3316 +3317,omnis,cumque,3317 +3318,occaecati,commodi,3318 +3319,molestiae,repellat,3319 +3320,voluptate,velit,3320 +3321,fuga,cumque,3321 +3322,minus,nesciunt,3322 +3323,voluptatem,a,3323 +3324,minima,dolores,3324 +3325,labore,cupiditate,3325 +3326,blanditiis,in,3326 +3327,iste,non,3327 +3328,ipsum,magni,3328 +3329,labore,debitis,3329 +3330,ad,veniam,3330 +3331,perferendis,ipsam,3331 +3332,similique,et,3332 +3333,qui,dolor,3333 +3334,dolorem,eius,3334 +3335,ut,a,3335 +3336,ea,consequatur,3336 +3337,aspernatur,nisi,3337 +3338,accusamus,aut,3338 +3339,quibusdam,sint,3339 +3340,unde,omnis,3340 +3341,dolorem,distinctio,3341 +3342,sapiente,dolorum,3342 +3343,vero,a,3343 +3344,voluptas,officiis,3344 +3345,quia,velit,3345 +3346,fugit,debitis,3346 +3347,voluptas,dolor,3347 +3348,dicta,quia,3348 +3349,minus,consequatur,3349 +3350,velit,et,3350 +3351,aut,et,3351 +3352,laudantium,non,3352 +3353,laborum,iste,3353 +3354,cum,dolor,3354 +3355,est,occaecati,3355 +3356,ducimus,officia,3356 +3357,distinctio,quasi,3357 +3358,tempora,soluta,3358 +3359,doloremque,quo,3359 +3360,ut,quia,3360 +3361,quasi,autem,3361 +3362,ullam,minus,3362 +3363,et,praesentium,3363 +3364,omnis,est,3364 +3365,nihil,hic,3365 +3366,qui,et,3366 +3367,consequatur,qui,3367 +3368,cumque,quis,3368 +3369,voluptas,vitae,3369 +3370,dolor,corporis,3370 +3371,et,magni,3371 +3372,unde,minus,3372 +3373,recusandae,rerum,3373 +3374,non,cumque,3374 +3375,dolore,voluptatum,3375 +3376,qui,aut,3376 +3377,qui,quis,3377 +3378,sint,omnis,3378 +3379,deserunt,id,3379 +3380,nemo,aliquam,3380 +3381,asperiores,a,3381 +3382,et,tempore,3382 +3383,eaque,et,3383 +3384,odio,et,3384 +3385,omnis,deserunt,3385 +3386,rem,dolorum,3386 +3387,asperiores,sed,3387 +3388,modi,sed,3388 +3389,aut,error,3389 +3390,cumque,quis,3390 +3391,omnis,praesentium,3391 +3392,praesentium,eveniet,3392 +3393,aut,quasi,3393 +3394,sint,commodi,3394 +3395,fugit,ut,3395 +3396,iusto,magnam,3396 +3397,debitis,quidem,3397 +3398,voluptatibus,aut,3398 +3399,ea,aspernatur,3399 +3400,in,odit,3400 +3401,nemo,est,3401 +3402,cum,ducimus,3402 +3403,consectetur,quae,3403 +3404,praesentium,hic,3404 +3405,recusandae,consectetur,3405 +3406,doloribus,amet,3406 +3407,et,sed,3407 +3408,et,ut,3408 +3409,nihil,vitae,3409 +3410,ullam,iusto,3410 +3411,qui,aut,3411 +3412,sapiente,officia,3412 +3413,rerum,adipisci,3413 +3414,omnis,rem,3414 +3415,unde,ut,3415 +3416,ut,illum,3416 +3417,et,et,3417 +3418,aliquid,rerum,3418 +3419,enim,facere,3419 +3420,esse,qui,3420 +3421,animi,eum,3421 +3422,modi,possimus,3422 +3423,reiciendis,incidunt,3423 +3424,soluta,dolor,3424 +3425,enim,id,3425 +3426,et,laboriosam,3426 +3427,aut,aliquid,3427 +3428,corporis,rerum,3428 +3429,officiis,et,3429 +3430,autem,qui,3430 +3431,et,expedita,3431 +3432,dolorem,suscipit,3432 +3433,quidem,voluptas,3433 +3434,dolore,est,3434 +3435,qui,porro,3435 +3436,omnis,et,3436 +3437,quos,dignissimos,3437 +3438,reiciendis,voluptatum,3438 +3439,omnis,quo,3439 +3440,id,saepe,3440 +3441,sint,illo,3441 +3442,voluptate,ab,3442 +3443,provident,iste,3443 +3444,numquam,eveniet,3444 +3445,fugiat,omnis,3445 +3446,nulla,nam,3446 +3447,ut,voluptatem,3447 +3448,omnis,dolores,3448 +3449,dolorem,id,3449 +3450,sit,non,3450 +3451,consequatur,minus,3451 +3452,recusandae,temporibus,3452 +3453,eveniet,vero,3453 +3454,nulla,blanditiis,3454 +3455,eius,dolorum,3455 +3456,voluptates,sit,3456 +3457,deserunt,nam,3457 +3458,consequatur,ducimus,3458 +3459,sed,aut,3459 +3460,tenetur,id,3460 +3461,recusandae,et,3461 +3462,ea,autem,3462 +3463,aut,eaque,3463 +3464,velit,enim,3464 +3465,unde,dolores,3465 +3466,architecto,repellendus,3466 +3467,reiciendis,qui,3467 +3468,pariatur,blanditiis,3468 +3469,eum,voluptatem,3469 +3470,consequatur,earum,3470 +3471,optio,soluta,3471 +3472,quibusdam,saepe,3472 +3473,sed,eos,3473 +3474,ipsum,eaque,3474 +3475,nobis,dolorem,3475 +3476,quo,rerum,3476 +3477,provident,vel,3477 +3478,corporis,laboriosam,3478 +3479,repudiandae,accusantium,3479 +3480,animi,illo,3480 +3481,aliquam,nisi,3481 +3482,officia,nisi,3482 +3483,atque,harum,3483 +3484,earum,sed,3484 +3485,ut,dicta,3485 +3486,ipsum,doloremque,3486 +3487,recusandae,doloribus,3487 +3488,laboriosam,dolorum,3488 +3489,aut,rem,3489 +3490,voluptatem,a,3490 +3491,quia,nisi,3491 +3492,ut,quis,3492 +3493,ut,dolores,3493 +3494,tempore,veritatis,3494 +3495,voluptatibus,iste,3495 +3496,necessitatibus,non,3496 +3497,quibusdam,aut,3497 +3498,delectus,molestiae,3498 +3499,reiciendis,id,3499 +3500,blanditiis,sed,3500 +3501,eaque,aut,3501 +3502,atque,doloremque,3502 +3503,aut,sed,3503 +3504,quam,quibusdam,3504 +3505,minus,consequatur,3505 +3506,odio,velit,3506 +3507,praesentium,et,3507 +3508,deserunt,nobis,3508 +3509,qui,laboriosam,3509 +3510,qui,quasi,3510 +3511,est,earum,3511 +3512,architecto,veniam,3512 +3513,sit,et,3513 +3514,possimus,blanditiis,3514 +3515,dolores,iusto,3515 +3516,molestiae,aut,3516 +3517,est,libero,3517 +3518,aliquid,officia,3518 +3519,tempora,impedit,3519 +3520,fuga,iure,3520 +3521,reprehenderit,aperiam,3521 +3522,voluptatem,tempore,3522 +3523,consequatur,iusto,3523 +3524,excepturi,quibusdam,3524 +3525,optio,enim,3525 +3526,quam,omnis,3526 +3527,possimus,consequatur,3527 +3528,praesentium,doloribus,3528 +3529,ea,quaerat,3529 +3530,pariatur,libero,3530 +3531,maxime,pariatur,3531 +3532,quae,hic,3532 +3533,minima,odit,3533 +3534,corrupti,hic,3534 +3535,suscipit,fugiat,3535 +3536,dolores,eos,3536 +3537,omnis,labore,3537 +3538,eligendi,nesciunt,3538 +3539,unde,sunt,3539 +3540,sed,perferendis,3540 +3541,qui,cumque,3541 +3542,occaecati,earum,3542 +3543,molestiae,aut,3543 +3544,nihil,excepturi,3544 +3545,dolor,esse,3545 +3546,ut,praesentium,3546 +3547,quia,deserunt,3547 +3548,quaerat,omnis,3548 +3549,quo,sunt,3549 +3550,repellendus,accusamus,3550 +3551,et,a,3551 +3552,perspiciatis,earum,3552 +3553,laboriosam,in,3553 +3554,tempore,molestiae,3554 +3555,unde,minima,3555 +3556,est,enim,3556 +3557,repudiandae,ut,3557 +3558,qui,eum,3558 +3559,vel,aut,3559 +3560,magni,animi,3560 +3561,libero,quo,3561 +3562,nulla,quibusdam,3562 +3563,ut,voluptatum,3563 +3564,voluptatem,et,3564 +3565,sit,qui,3565 +3566,et,architecto,3566 +3567,ipsum,et,3567 +3568,maiores,molestiae,3568 +3569,qui,dolor,3569 +3570,et,qui,3570 +3571,ex,aut,3571 +3572,expedita,asperiores,3572 +3573,autem,quisquam,3573 +3574,exercitationem,consequatur,3574 +3575,quae,omnis,3575 +3576,officiis,et,3576 +3577,vitae,praesentium,3577 +3578,explicabo,quasi,3578 +3579,quia,et,3579 +3580,repellendus,veniam,3580 +3581,necessitatibus,odio,3581 +3582,cumque,atque,3582 +3583,itaque,provident,3583 +3584,nulla,in,3584 +3585,rerum,facere,3585 +3586,ut,autem,3586 +3587,veritatis,occaecati,3587 +3588,voluptatibus,aliquam,3588 +3589,temporibus,autem,3589 +3590,voluptatem,ea,3590 +3591,dolore,est,3591 +3592,enim,est,3592 +3593,earum,nam,3593 +3594,vel,omnis,3594 +3595,et,deleniti,3595 +3596,dolorum,voluptatem,3596 +3597,nostrum,soluta,3597 +3598,dignissimos,quia,3598 +3599,cum,iure,3599 +3600,aspernatur,est,3600 +3601,dolorem,fugiat,3601 +3602,neque,laborum,3602 +3603,et,vel,3603 +3604,voluptatem,expedita,3604 +3605,sunt,rerum,3605 +3606,mollitia,et,3606 +3607,ad,quaerat,3607 +3608,illo,iusto,3608 +3609,sed,necessitatibus,3609 +3610,quidem,nihil,3610 +3611,quo,voluptatem,3611 +3612,vitae,autem,3612 +3613,et,aspernatur,3613 +3614,ea,inventore,3614 +3615,qui,voluptatem,3615 +3616,voluptates,consectetur,3616 +3617,illum,quibusdam,3617 +3618,nesciunt,ab,3618 +3619,repellat,illum,3619 +3620,optio,ut,3620 +3621,quisquam,voluptas,3621 +3622,ut,ipsa,3622 +3623,minus,voluptatem,3623 +3624,accusamus,sed,3624 +3625,eligendi,iste,3625 +3626,at,est,3626 +3627,culpa,et,3627 +3628,ex,dolores,3628 +3629,debitis,earum,3629 +3630,laborum,similique,3630 +3631,temporibus,consequatur,3631 +3632,qui,iste,3632 +3633,modi,non,3633 +3634,fugiat,et,3634 +3635,deserunt,odit,3635 +3636,dignissimos,quibusdam,3636 +3637,quia,dignissimos,3637 +3638,et,enim,3638 +3639,et,culpa,3639 +3640,voluptatem,nostrum,3640 +3641,doloribus,magni,3641 +3642,harum,sint,3642 +3643,similique,quis,3643 +3644,nihil,quia,3644 +3645,qui,sit,3645 +3646,rem,ratione,3646 +3647,molestias,dignissimos,3647 +3648,minima,aut,3648 +3649,molestias,sapiente,3649 +3650,qui,dolore,3650 +3651,ad,qui,3651 +3652,commodi,doloremque,3652 +3653,illum,atque,3653 +3654,dignissimos,rem,3654 +3655,ab,eaque,3655 +3656,qui,deserunt,3656 +3657,dolores,occaecati,3657 +3658,omnis,ut,3658 +3659,omnis,eum,3659 +3660,consequatur,pariatur,3660 +3661,sit,impedit,3661 +3662,itaque,labore,3662 +3663,quae,et,3663 +3664,sed,deleniti,3664 +3665,laudantium,autem,3665 +3666,voluptate,sed,3666 +3667,pariatur,officia,3667 +3668,labore,odit,3668 +3669,nisi,qui,3669 +3670,et,nihil,3670 +3671,occaecati,voluptas,3671 +3672,alias,magnam,3672 +3673,dolores,optio,3673 +3674,accusantium,rem,3674 +3675,qui,atque,3675 +3676,culpa,numquam,3676 +3677,veniam,sit,3677 +3678,sed,corporis,3678 +3679,amet,dolorem,3679 +3680,et,ut,3680 +3681,dolores,corrupti,3681 +3682,voluptates,dolor,3682 +3683,doloribus,unde,3683 +3684,perspiciatis,vitae,3684 +3685,odio,quo,3685 +3686,eaque,consequuntur,3686 +3687,mollitia,delectus,3687 +3688,odit,consequatur,3688 +3689,necessitatibus,eos,3689 +3690,perspiciatis,in,3690 +3691,officia,in,3691 +3692,a,error,3692 +3693,impedit,voluptas,3693 +3694,vitae,omnis,3694 +3695,quaerat,quis,3695 +3696,quo,asperiores,3696 +3697,quia,explicabo,3697 +3698,nulla,quam,3698 +3699,accusantium,expedita,3699 +3700,officiis,dolores,3700 +3701,nulla,quia,3701 +3702,doloribus,vel,3702 +3703,doloribus,beatae,3703 +3704,voluptatem,labore,3704 +3705,voluptate,rerum,3705 +3706,non,sint,3706 +3707,inventore,sit,3707 +3708,quisquam,quos,3708 +3709,aut,et,3709 +3710,blanditiis,repudiandae,3710 +3711,iusto,et,3711 +3712,eligendi,libero,3712 +3713,consequatur,consequatur,3713 +3714,maiores,ducimus,3714 +3715,eaque,nostrum,3715 +3716,nostrum,aut,3716 +3717,perspiciatis,nesciunt,3717 +3718,aut,quis,3718 +3719,veniam,quis,3719 +3720,veniam,maxime,3720 +3721,ullam,id,3721 +3722,sint,in,3722 +3723,modi,voluptas,3723 +3724,blanditiis,laudantium,3724 +3725,velit,voluptatibus,3725 +3726,aspernatur,rerum,3726 +3727,animi,et,3727 +3728,velit,aspernatur,3728 +3729,atque,quas,3729 +3730,minus,aut,3730 +3731,et,aspernatur,3731 +3732,delectus,modi,3732 +3733,repellendus,eius,3733 +3734,architecto,commodi,3734 +3735,sit,a,3735 +3736,molestiae,culpa,3736 +3737,corporis,maiores,3737 +3738,sapiente,dolor,3738 +3739,repellendus,dolores,3739 +3740,sit,mollitia,3740 +3741,cumque,sit,3741 +3742,excepturi,qui,3742 +3743,ipsa,voluptatibus,3743 +3744,totam,aut,3744 +3745,necessitatibus,molestias,3745 +3746,id,quia,3746 +3747,cum,voluptatem,3747 +3748,eum,earum,3748 +3749,rerum,vel,3749 +3750,est,ea,3750 +3751,enim,ut,3751 +3752,beatae,ipsam,3752 +3753,unde,in,3753 +3754,maiores,nihil,3754 +3755,magnam,et,3755 +3756,consequatur,perspiciatis,3756 +3757,voluptatem,odio,3757 +3758,qui,sunt,3758 +3759,sunt,et,3759 +3760,exercitationem,voluptas,3760 +3761,rerum,corporis,3761 +3762,aliquid,ratione,3762 +3763,minima,delectus,3763 +3764,est,quas,3764 +3765,placeat,consectetur,3765 +3766,expedita,iure,3766 +3767,reiciendis,doloremque,3767 +3768,molestias,tempora,3768 +3769,ullam,culpa,3769 +3770,dolorem,aliquid,3770 +3771,a,laudantium,3771 +3772,est,quo,3772 +3773,sit,qui,3773 +3774,et,minima,3774 +3775,tempora,cum,3775 +3776,quia,impedit,3776 +3777,occaecati,ducimus,3777 +3778,doloribus,facere,3778 +3779,et,porro,3779 +3780,et,consectetur,3780 +3781,incidunt,ab,3781 +3782,rerum,quod,3782 +3783,officia,aut,3783 +3784,dolorum,quod,3784 +3785,quidem,magni,3785 +3786,nemo,fugit,3786 +3787,aliquam,quaerat,3787 +3788,velit,soluta,3788 +3789,exercitationem,ut,3789 +3790,nesciunt,beatae,3790 +3791,dolores,tempora,3791 +3792,quaerat,autem,3792 +3793,delectus,exercitationem,3793 +3794,quia,et,3794 +3795,consequatur,architecto,3795 +3796,accusantium,possimus,3796 +3797,qui,rerum,3797 +3798,voluptatem,rem,3798 +3799,optio,rem,3799 +3800,earum,culpa,3800 +3801,et,eligendi,3801 +3802,ea,alias,3802 +3803,eum,dolores,3803 +3804,earum,similique,3804 +3805,rem,beatae,3805 +3806,voluptatem,animi,3806 +3807,veritatis,non,3807 +3808,accusamus,error,3808 +3809,aliquid,minus,3809 +3810,et,est,3810 +3811,et,error,3811 +3812,minima,quidem,3812 +3813,veniam,veritatis,3813 +3814,iste,asperiores,3814 +3815,enim,quaerat,3815 +3816,vero,consequatur,3816 +3817,laborum,itaque,3817 +3818,natus,neque,3818 +3819,eum,ut,3819 +3820,quae,officiis,3820 +3821,esse,accusantium,3821 +3822,consectetur,ut,3822 +3823,sunt,harum,3823 +3824,quos,rerum,3824 +3825,totam,consequatur,3825 +3826,similique,dolorem,3826 +3827,voluptas,quaerat,3827 +3828,maxime,minima,3828 +3829,velit,deserunt,3829 +3830,perspiciatis,placeat,3830 +3831,omnis,quaerat,3831 +3832,ipsa,repellat,3832 +3833,eius,aliquam,3833 +3834,maiores,et,3834 +3835,omnis,sint,3835 +3836,ut,soluta,3836 +3837,nobis,perferendis,3837 +3838,quaerat,et,3838 +3839,blanditiis,rerum,3839 +3840,quasi,repellendus,3840 +3841,commodi,deserunt,3841 +3842,veniam,officia,3842 +3843,voluptatem,qui,3843 +3844,cupiditate,aut,3844 +3845,quia,labore,3845 +3846,nobis,est,3846 +3847,labore,sint,3847 +3848,quis,officiis,3848 +3849,ullam,voluptatum,3849 +3850,enim,dignissimos,3850 +3851,officia,aliquid,3851 +3852,quis,et,3852 +3853,est,dolorum,3853 +3854,aliquam,rerum,3854 +3855,earum,aut,3855 +3856,voluptate,ad,3856 +3857,laborum,sit,3857 +3858,et,eius,3858 +3859,reprehenderit,qui,3859 +3860,est,ut,3860 +3861,facilis,modi,3861 +3862,beatae,qui,3862 +3863,architecto,tempora,3863 +3864,asperiores,sit,3864 +3865,id,et,3865 +3866,quis,delectus,3866 +3867,unde,et,3867 +3868,qui,quia,3868 +3869,ut,non,3869 +3870,sed,sit,3870 +3871,repudiandae,illum,3871 +3872,voluptas,quia,3872 +3873,ipsa,tempora,3873 +3874,cum,qui,3874 +3875,non,delectus,3875 +3876,sint,consequatur,3876 +3877,ratione,ratione,3877 +3878,est,est,3878 +3879,impedit,voluptate,3879 +3880,ab,iure,3880 +3881,et,asperiores,3881 +3882,id,vel,3882 +3883,ab,omnis,3883 +3884,sit,esse,3884 +3885,repellat,ab,3885 +3886,unde,et,3886 +3887,suscipit,doloribus,3887 +3888,dolore,doloribus,3888 +3889,non,natus,3889 +3890,molestias,molestiae,3890 +3891,occaecati,est,3891 +3892,quod,laborum,3892 +3893,sed,a,3893 +3894,quis,quos,3894 +3895,quo,earum,3895 +3896,delectus,et,3896 +3897,sit,et,3897 +3898,aut,deserunt,3898 +3899,et,ea,3899 +3900,numquam,sunt,3900 +3901,dolorem,et,3901 +3902,non,et,3902 +3903,a,eveniet,3903 +3904,magnam,voluptas,3904 +3905,laudantium,reprehenderit,3905 +3906,sed,unde,3906 +3907,sed,ea,3907 +3908,saepe,hic,3908 +3909,commodi,magnam,3909 +3910,suscipit,voluptate,3910 +3911,consequatur,incidunt,3911 +3912,laborum,cumque,3912 +3913,quo,velit,3913 +3914,inventore,est,3914 +3915,reiciendis,ut,3915 +3916,rem,dolor,3916 +3917,quia,eligendi,3917 +3918,debitis,et,3918 +3919,nemo,eos,3919 +3920,odit,rerum,3920 +3921,necessitatibus,dolorem,3921 +3922,consequatur,inventore,3922 +3923,repellendus,sed,3923 +3924,ratione,repellat,3924 +3925,qui,animi,3925 +3926,maxime,impedit,3926 +3927,quas,autem,3927 +3928,reprehenderit,unde,3928 +3929,neque,est,3929 +3930,et,excepturi,3930 +3931,ex,at,3931 +3932,voluptas,nihil,3932 +3933,maiores,ut,3933 +3934,molestiae,occaecati,3934 +3935,labore,fugit,3935 +3936,voluptatum,aliquid,3936 +3937,maxime,laborum,3937 +3938,quaerat,eos,3938 +3939,modi,animi,3939 +3940,accusantium,voluptatum,3940 +3941,alias,ducimus,3941 +3942,optio,sint,3942 +3943,nemo,et,3943 +3944,facilis,odio,3944 +3945,saepe,natus,3945 +3946,libero,et,3946 +3947,aliquid,illum,3947 +3948,reprehenderit,id,3948 +3949,at,et,3949 +3950,aut,ex,3950 +3951,facere,sequi,3951 +3952,natus,esse,3952 +3953,delectus,et,3953 +3954,qui,voluptas,3954 +3955,est,eaque,3955 +3956,consectetur,quos,3956 +3957,quas,commodi,3957 +3958,quis,hic,3958 +3959,commodi,asperiores,3959 +3960,consequuntur,qui,3960 +3961,perspiciatis,maxime,3961 +3962,et,velit,3962 +3963,incidunt,officiis,3963 +3964,architecto,consectetur,3964 +3965,nam,numquam,3965 +3966,in,sed,3966 +3967,harum,omnis,3967 +3968,eum,labore,3968 +3969,ullam,omnis,3969 +3970,praesentium,et,3970 +3971,ea,at,3971 +3972,culpa,voluptas,3972 +3973,aliquam,quae,3973 +3974,sint,quasi,3974 +3975,ut,doloremque,3975 +3976,in,est,3976 +3977,cumque,velit,3977 +3978,et,et,3978 +3979,explicabo,sint,3979 +3980,dolorum,aut,3980 +3981,odit,temporibus,3981 +3982,praesentium,voluptatem,3982 +3983,omnis,maiores,3983 +3984,dolores,accusantium,3984 +3985,autem,assumenda,3985 +3986,repudiandae,sequi,3986 +3987,eius,omnis,3987 +3988,magnam,accusantium,3988 +3989,ratione,tempore,3989 +3990,ut,aut,3990 +3991,est,ut,3991 +3992,cumque,dolore,3992 +3993,neque,id,3993 +3994,repellat,fugiat,3994 +3995,quod,aspernatur,3995 +3996,suscipit,facilis,3996 +3997,reprehenderit,debitis,3997 +3998,placeat,repudiandae,3998 +3999,velit,quia,3999 +4000,dolorem,nam,4000 +4001,voluptatem,non,4001 +4002,explicabo,in,4002 +4003,ullam,quas,4003 +4004,minima,sit,4004 +4005,omnis,accusamus,4005 +4006,ratione,magnam,4006 +4007,corporis,repudiandae,4007 +4008,eius,est,4008 +4009,commodi,aperiam,4009 +4010,ut,velit,4010 +4011,expedita,ea,4011 +4012,doloribus,dolorum,4012 +4013,ducimus,laborum,4013 +4014,possimus,sunt,4014 +4015,tenetur,et,4015 +4016,mollitia,distinctio,4016 +4017,qui,eum,4017 +4018,voluptas,architecto,4018 +4019,magni,quidem,4019 +4020,nostrum,labore,4020 +4021,maiores,quasi,4021 +4022,eos,id,4022 +4023,quia,consectetur,4023 +4024,doloribus,in,4024 +4025,maxime,reiciendis,4025 +4026,amet,aut,4026 +4027,sed,culpa,4027 +4028,sint,iusto,4028 +4029,quo,natus,4029 +4030,ea,et,4030 +4031,quo,omnis,4031 +4032,sint,nemo,4032 +4033,vitae,omnis,4033 +4034,quo,quod,4034 +4035,recusandae,animi,4035 +4036,qui,animi,4036 +4037,dolorem,nesciunt,4037 +4038,numquam,dolores,4038 +4039,sequi,id,4039 +4040,saepe,hic,4040 +4041,minus,est,4041 +4042,explicabo,mollitia,4042 +4043,perspiciatis,nihil,4043 +4044,eaque,et,4044 +4045,animi,sint,4045 +4046,mollitia,nisi,4046 +4047,ut,perspiciatis,4047 +4048,quo,consequatur,4048 +4049,est,quia,4049 +4050,rem,debitis,4050 +4051,fuga,et,4051 +4052,fugit,porro,4052 +4053,quam,iure,4053 +4054,cumque,eos,4054 +4055,ipsum,autem,4055 +4056,at,aspernatur,4056 +4057,unde,explicabo,4057 +4058,mollitia,rerum,4058 +4059,debitis,officia,4059 +4060,sunt,quo,4060 +4061,voluptas,ipsam,4061 +4062,asperiores,ut,4062 +4063,consequatur,iure,4063 +4064,sit,qui,4064 +4065,magni,aut,4065 +4066,asperiores,ipsum,4066 +4067,id,mollitia,4067 +4068,quam,a,4068 +4069,esse,sequi,4069 +4070,delectus,suscipit,4070 +4071,quas,exercitationem,4071 +4072,vero,necessitatibus,4072 +4073,est,culpa,4073 +4074,eius,non,4074 +4075,sed,quia,4075 +4076,quam,eum,4076 +4077,consequatur,praesentium,4077 +4078,eius,numquam,4078 +4079,et,id,4079 +4080,sint,quia,4080 +4081,perferendis,et,4081 +4082,perferendis,omnis,4082 +4083,praesentium,in,4083 +4084,quas,corrupti,4084 +4085,sunt,sed,4085 +4086,fuga,illo,4086 +4087,veritatis,vel,4087 +4088,laboriosam,harum,4088 +4089,beatae,commodi,4089 +4090,quisquam,nostrum,4090 +4091,et,placeat,4091 +4092,vitae,unde,4092 +4093,nesciunt,tenetur,4093 +4094,omnis,sint,4094 +4095,facilis,explicabo,4095 +4096,perferendis,magnam,4096 +4097,consectetur,eaque,4097 +4098,cumque,qui,4098 +4099,sit,ut,4099 +4100,non,ea,4100 +4101,est,saepe,4101 +4102,eos,qui,4102 +4103,et,et,4103 +4104,aut,voluptas,4104 +4105,quibusdam,sed,4105 +4106,enim,natus,4106 +4107,voluptate,dolores,4107 +4108,ducimus,omnis,4108 +4109,labore,et,4109 +4110,distinctio,eius,4110 +4111,optio,totam,4111 +4112,nisi,sed,4112 +4113,officiis,expedita,4113 +4114,mollitia,sit,4114 +4115,in,consequatur,4115 +4116,excepturi,nisi,4116 +4117,debitis,dolorem,4117 +4118,natus,doloremque,4118 +4119,assumenda,sit,4119 +4120,laudantium,expedita,4120 +4121,consequatur,voluptatem,4121 +4122,molestias,distinctio,4122 +4123,consequatur,eveniet,4123 +4124,enim,voluptates,4124 +4125,voluptas,quia,4125 +4126,provident,repellat,4126 +4127,id,commodi,4127 +4128,voluptatem,et,4128 +4129,reiciendis,sit,4129 +4130,incidunt,eos,4130 +4131,consequuntur,vero,4131 +4132,explicabo,corporis,4132 +4133,voluptate,voluptatem,4133 +4134,id,ab,4134 +4135,recusandae,nisi,4135 +4136,molestias,at,4136 +4137,fugiat,provident,4137 +4138,tenetur,accusantium,4138 +4139,quis,voluptatem,4139 +4140,hic,quaerat,4140 +4141,illum,earum,4141 +4142,rerum,et,4142 +4143,est,sit,4143 +4144,dolore,corrupti,4144 +4145,nihil,aut,4145 +4146,sint,illum,4146 +4147,sit,distinctio,4147 +4148,laudantium,quo,4148 +4149,et,pariatur,4149 +4150,impedit,quia,4150 +4151,at,debitis,4151 +4152,aut,quas,4152 +4153,nesciunt,soluta,4153 +4154,perspiciatis,et,4154 +4155,est,nostrum,4155 +4156,aliquid,expedita,4156 +4157,qui,tenetur,4157 +4158,distinctio,sint,4158 +4159,tempore,harum,4159 +4160,nulla,laborum,4160 +4161,voluptatem,iusto,4161 +4162,dicta,harum,4162 +4163,molestiae,a,4163 +4164,deserunt,minima,4164 +4165,dolore,animi,4165 +4166,sed,dolores,4166 +4167,aut,aliquid,4167 +4168,eligendi,nostrum,4168 +4169,quia,placeat,4169 +4170,modi,nesciunt,4170 +4171,aut,sed,4171 +4172,in,itaque,4172 +4173,et,amet,4173 +4174,dolores,ex,4174 +4175,modi,reiciendis,4175 +4176,ipsa,dolorem,4176 +4177,non,veritatis,4177 +4178,cum,sunt,4178 +4179,molestias,ut,4179 +4180,nostrum,et,4180 +4181,ab,aut,4181 +4182,nihil,voluptatem,4182 +4183,sequi,optio,4183 +4184,impedit,eum,4184 +4185,ut,aliquid,4185 +4186,ex,mollitia,4186 +4187,reiciendis,tenetur,4187 +4188,rerum,ipsam,4188 +4189,sit,dolor,4189 +4190,quas,aut,4190 +4191,sequi,sit,4191 +4192,consequatur,sequi,4192 +4193,et,minus,4193 +4194,reprehenderit,repellat,4194 +4195,doloremque,est,4195 +4196,qui,modi,4196 +4197,voluptatum,deleniti,4197 +4198,amet,et,4198 +4199,laborum,culpa,4199 +4200,accusamus,nisi,4200 +4201,suscipit,occaecati,4201 +4202,est,laboriosam,4202 +4203,eius,quia,4203 +4204,cupiditate,quasi,4204 +4205,quisquam,dolores,4205 +4206,et,id,4206 +4207,dolorem,et,4207 +4208,unde,ex,4208 +4209,quidem,et,4209 +4210,quibusdam,eligendi,4210 +4211,atque,eligendi,4211 +4212,sed,quam,4212 +4213,dolorem,laudantium,4213 +4214,sit,minima,4214 +4215,saepe,magni,4215 +4216,repudiandae,alias,4216 +4217,sed,qui,4217 +4218,quis,ex,4218 +4219,explicabo,error,4219 +4220,omnis,consectetur,4220 +4221,officiis,magnam,4221 +4222,id,officiis,4222 +4223,porro,enim,4223 +4224,cum,atque,4224 +4225,nobis,asperiores,4225 +4226,minus,repellendus,4226 +4227,et,sint,4227 +4228,id,sint,4228 +4229,ut,enim,4229 +4230,eveniet,tempora,4230 +4231,libero,aut,4231 +4232,assumenda,laudantium,4232 +4233,at,nesciunt,4233 +4234,et,rerum,4234 +4235,asperiores,consequuntur,4235 +4236,soluta,doloribus,4236 +4237,et,et,4237 +4238,natus,rerum,4238 +4239,fugit,occaecati,4239 +4240,dolores,debitis,4240 +4241,numquam,saepe,4241 +4242,et,tenetur,4242 +4243,quod,omnis,4243 +4244,aut,et,4244 +4245,ex,sint,4245 +4246,temporibus,autem,4246 +4247,et,provident,4247 +4248,doloribus,iusto,4248 +4249,ut,facilis,4249 +4250,eum,a,4250 +4251,placeat,et,4251 +4252,rerum,aliquid,4252 +4253,dicta,quibusdam,4253 +4254,explicabo,molestiae,4254 +4255,et,officia,4255 +4256,dolores,provident,4256 +4257,corrupti,aliquid,4257 +4258,consequatur,quia,4258 +4259,itaque,non,4259 +4260,quia,adipisci,4260 +4261,dolorem,dolore,4261 +4262,unde,autem,4262 +4263,vitae,voluptas,4263 +4264,sint,quos,4264 +4265,vel,non,4265 +4266,ullam,corporis,4266 +4267,quam,occaecati,4267 +4268,vel,harum,4268 +4269,sint,quos,4269 +4270,fugit,quia,4270 +4271,qui,illo,4271 +4272,ipsam,deleniti,4272 +4273,omnis,magnam,4273 +4274,delectus,atque,4274 +4275,qui,iste,4275 +4276,voluptates,dolores,4276 +4277,voluptatem,illo,4277 +4278,aspernatur,sapiente,4278 +4279,maiores,fugiat,4279 +4280,qui,molestiae,4280 +4281,consequuntur,ipsum,4281 +4282,quia,modi,4282 +4283,est,eum,4283 +4284,at,aperiam,4284 +4285,culpa,soluta,4285 +4286,nulla,nisi,4286 +4287,quas,accusamus,4287 +4288,provident,id,4288 +4289,rerum,culpa,4289 +4290,autem,odit,4290 +4291,laborum,aspernatur,4291 +4292,unde,tempore,4292 +4293,aut,minus,4293 +4294,quae,eius,4294 +4295,quo,quas,4295 +4296,minus,deserunt,4296 +4297,nisi,et,4297 +4298,consequatur,hic,4298 +4299,earum,et,4299 +4300,vero,consequatur,4300 +4301,libero,et,4301 +4302,est,quia,4302 +4303,suscipit,sed,4303 +4304,rem,qui,4304 +4305,quae,quam,4305 +4306,tempora,eos,4306 +4307,ipsum,iusto,4307 +4308,debitis,qui,4308 +4309,eum,non,4309 +4310,aut,necessitatibus,4310 +4311,occaecati,quo,4311 +4312,atque,quidem,4312 +4313,non,ea,4313 +4314,et,et,4314 +4315,quia,praesentium,4315 +4316,placeat,iusto,4316 +4317,quia,cumque,4317 +4318,laboriosam,nam,4318 +4319,porro,dolorem,4319 +4320,neque,accusantium,4320 +4321,natus,corporis,4321 +4322,non,itaque,4322 +4323,reiciendis,officiis,4323 +4324,ut,ut,4324 +4325,alias,accusamus,4325 +4326,et,nihil,4326 +4327,consectetur,illum,4327 +4328,expedita,ipsa,4328 +4329,repellendus,repellat,4329 +4330,non,maxime,4330 +4331,itaque,ut,4331 +4332,itaque,aut,4332 +4333,velit,at,4333 +4334,quod,harum,4334 +4335,et,aut,4335 +4336,suscipit,et,4336 +4337,omnis,repellat,4337 +4338,est,fugiat,4338 +4339,assumenda,consequatur,4339 +4340,sed,et,4340 +4341,exercitationem,unde,4341 +4342,enim,velit,4342 +4343,sit,iusto,4343 +4344,qui,laudantium,4344 +4345,dolor,voluptas,4345 +4346,cupiditate,et,4346 +4347,et,nisi,4347 +4348,labore,doloribus,4348 +4349,rerum,molestiae,4349 +4350,qui,qui,4350 +4351,ut,minima,4351 +4352,et,dolorem,4352 +4353,sit,ut,4353 +4354,fugiat,veritatis,4354 +4355,inventore,rem,4355 +4356,iure,voluptatem,4356 +4357,illo,sint,4357 +4358,magnam,recusandae,4358 +4359,qui,et,4359 +4360,fuga,a,4360 +4361,voluptates,aliquid,4361 +4362,nihil,similique,4362 +4363,ut,cumque,4363 +4364,corrupti,omnis,4364 +4365,harum,iure,4365 +4366,recusandae,saepe,4366 +4367,sint,magni,4367 +4368,nemo,voluptatem,4368 +4369,enim,necessitatibus,4369 +4370,et,aut,4370 +4371,sapiente,ducimus,4371 +4372,voluptas,cumque,4372 +4373,perspiciatis,neque,4373 +4374,quasi,nobis,4374 +4375,sit,debitis,4375 +4376,rerum,cupiditate,4376 +4377,quas,fuga,4377 +4378,iste,voluptatem,4378 +4379,rerum,voluptas,4379 +4380,temporibus,quis,4380 +4381,minima,ratione,4381 +4382,dolores,eveniet,4382 +4383,reiciendis,dolor,4383 +4384,repudiandae,quas,4384 +4385,beatae,odio,4385 +4386,ut,ad,4386 +4387,autem,doloribus,4387 +4388,dolor,ut,4388 +4389,rem,in,4389 +4390,natus,ut,4390 +4391,amet,enim,4391 +4392,sit,ut,4392 +4393,aut,quia,4393 +4394,id,enim,4394 +4395,tempore,optio,4395 +4396,ut,in,4396 +4397,sed,ratione,4397 +4398,quo,laborum,4398 +4399,suscipit,totam,4399 +4400,ad,dignissimos,4400 +4401,consequatur,et,4401 +4402,laudantium,non,4402 +4403,soluta,atque,4403 +4404,cum,esse,4404 +4405,ad,fuga,4405 +4406,dolor,sint,4406 +4407,et,sunt,4407 +4408,earum,atque,4408 +4409,fugit,exercitationem,4409 +4410,aut,praesentium,4410 +4411,neque,natus,4411 +4412,nemo,ea,4412 +4413,autem,fuga,4413 +4414,autem,fugit,4414 +4415,eaque,vel,4415 +4416,eum,optio,4416 +4417,sit,ut,4417 +4418,ea,earum,4418 +4419,voluptatum,facilis,4419 +4420,sit,ut,4420 +4421,vitae,assumenda,4421 +4422,voluptate,est,4422 +4423,at,sed,4423 +4424,eligendi,libero,4424 +4425,quia,natus,4425 +4426,laudantium,non,4426 +4427,minus,sequi,4427 +4428,facilis,ratione,4428 +4429,quis,quasi,4429 +4430,sunt,porro,4430 +4431,accusantium,magni,4431 +4432,quibusdam,sunt,4432 +4433,cupiditate,quo,4433 +4434,accusamus,nostrum,4434 +4435,praesentium,facilis,4435 +4436,debitis,tempora,4436 +4437,consectetur,ut,4437 +4438,temporibus,saepe,4438 +4439,minus,nobis,4439 +4440,qui,deserunt,4440 +4441,exercitationem,in,4441 +4442,quibusdam,maiores,4442 +4443,odit,ullam,4443 +4444,id,omnis,4444 +4445,suscipit,voluptatem,4445 +4446,perferendis,consequatur,4446 +4447,et,similique,4447 +4448,nemo,ipsum,4448 +4449,vel,occaecati,4449 +4450,ut,ratione,4450 +4451,modi,enim,4451 +4452,esse,placeat,4452 +4453,autem,soluta,4453 +4454,consequatur,perferendis,4454 +4455,qui,rerum,4455 +4456,soluta,quaerat,4456 +4457,sint,id,4457 +4458,aut,dignissimos,4458 +4459,ipsa,facilis,4459 +4460,nulla,numquam,4460 +4461,enim,et,4461 +4462,similique,laudantium,4462 +4463,voluptas,facere,4463 +4464,magni,sed,4464 +4465,temporibus,quia,4465 +4466,aut,esse,4466 +4467,possimus,molestiae,4467 +4468,assumenda,corporis,4468 +4469,minus,sunt,4469 +4470,dolores,dolores,4470 +4471,excepturi,consequuntur,4471 +4472,enim,consectetur,4472 +4473,incidunt,cum,4473 +4474,distinctio,aliquid,4474 +4475,mollitia,sed,4475 +4476,voluptas,et,4476 +4477,provident,ad,4477 +4478,eligendi,quia,4478 +4479,provident,aperiam,4479 +4480,quia,vitae,4480 +4481,nemo,et,4481 +4482,dolor,a,4482 +4483,labore,totam,4483 +4484,eveniet,quod,4484 +4485,id,omnis,4485 +4486,et,esse,4486 +4487,non,quo,4487 +4488,aliquam,accusamus,4488 +4489,qui,eveniet,4489 +4490,consequatur,temporibus,4490 +4491,distinctio,natus,4491 +4492,aliquam,non,4492 +4493,pariatur,minima,4493 +4494,magnam,nihil,4494 +4495,corrupti,voluptas,4495 +4496,eum,voluptas,4496 +4497,sed,dicta,4497 +4498,quis,sequi,4498 +4499,voluptas,exercitationem,4499 +4500,neque,qui,4500 +4501,eum,consequatur,4501 +4502,ut,perferendis,4502 +4503,quaerat,dolorum,4503 +4504,soluta,officiis,4504 +4505,porro,ea,4505 +4506,itaque,laboriosam,4506 +4507,autem,aliquid,4507 +4508,odio,aut,4508 +4509,blanditiis,illum,4509 +4510,non,tempore,4510 +4511,error,itaque,4511 +4512,maxime,et,4512 +4513,eaque,fugiat,4513 +4514,esse,debitis,4514 +4515,sed,aut,4515 +4516,velit,qui,4516 +4517,molestias,inventore,4517 +4518,ipsa,libero,4518 +4519,velit,tempora,4519 +4520,recusandae,error,4520 +4521,qui,eos,4521 +4522,amet,ipsa,4522 +4523,voluptas,neque,4523 +4524,rerum,voluptatem,4524 +4525,enim,laboriosam,4525 +4526,laboriosam,in,4526 +4527,rerum,rerum,4527 +4528,minima,nulla,4528 +4529,earum,labore,4529 +4530,molestiae,non,4530 +4531,et,ipsam,4531 +4532,molestias,eum,4532 +4533,nemo,voluptatem,4533 +4534,similique,consequatur,4534 +4535,omnis,ab,4535 +4536,nisi,aut,4536 +4537,molestias,ipsam,4537 +4538,eligendi,quo,4538 +4539,voluptatem,ut,4539 +4540,ut,sit,4540 +4541,et,possimus,4541 +4542,sint,delectus,4542 +4543,consequatur,aut,4543 +4544,nisi,optio,4544 +4545,nam,sit,4545 +4546,iusto,est,4546 +4547,earum,nostrum,4547 +4548,nihil,quam,4548 +4549,consectetur,dignissimos,4549 +4550,et,et,4550 +4551,quia,corporis,4551 +4552,molestiae,sequi,4552 +4553,voluptas,est,4553 +4554,impedit,dolor,4554 +4555,vel,commodi,4555 +4556,dolores,explicabo,4556 +4557,dolores,amet,4557 +4558,asperiores,culpa,4558 +4559,ullam,necessitatibus,4559 +4560,voluptatem,quam,4560 +4561,asperiores,exercitationem,4561 +4562,et,vel,4562 +4563,omnis,expedita,4563 +4564,doloremque,dignissimos,4564 +4565,recusandae,quia,4565 +4566,tempore,eum,4566 +4567,voluptas,officiis,4567 +4568,impedit,suscipit,4568 +4569,sed,facilis,4569 +4570,aut,aliquam,4570 +4571,eos,omnis,4571 +4572,possimus,rerum,4572 +4573,consequatur,mollitia,4573 +4574,voluptas,tempore,4574 +4575,pariatur,sapiente,4575 +4576,deleniti,veritatis,4576 +4577,sunt,id,4577 +4578,ad,et,4578 +4579,quod,quod,4579 +4580,minus,beatae,4580 +4581,est,aut,4581 +4582,maiores,et,4582 +4583,eius,laboriosam,4583 +4584,consectetur,temporibus,4584 +4585,unde,omnis,4585 +4586,possimus,aut,4586 +4587,quos,animi,4587 +4588,in,quae,4588 +4589,quia,qui,4589 +4590,tempore,possimus,4590 +4591,aliquam,praesentium,4591 +4592,est,non,4592 +4593,minus,fuga,4593 +4594,vel,fuga,4594 +4595,et,enim,4595 +4596,beatae,magni,4596 +4597,nisi,voluptatem,4597 +4598,et,nemo,4598 +4599,qui,minima,4599 +4600,facilis,non,4600 +4601,fugiat,non,4601 +4602,non,sint,4602 +4603,maxime,est,4603 +4604,porro,qui,4604 +4605,unde,modi,4605 +4606,inventore,consectetur,4606 +4607,est,qui,4607 +4608,illum,sit,4608 +4609,illo,ea,4609 +4610,corrupti,est,4610 +4611,et,est,4611 +4612,porro,distinctio,4612 +4613,qui,autem,4613 +4614,sunt,delectus,4614 +4615,similique,quos,4615 +4616,molestiae,nihil,4616 +4617,qui,maxime,4617 +4618,quas,libero,4618 +4619,voluptate,id,4619 +4620,libero,modi,4620 +4621,voluptas,qui,4621 +4622,architecto,minus,4622 +4623,itaque,reiciendis,4623 +4624,rerum,praesentium,4624 +4625,temporibus,est,4625 +4626,blanditiis,est,4626 +4627,accusamus,inventore,4627 +4628,aperiam,voluptatibus,4628 +4629,sunt,minima,4629 +4630,ipsam,id,4630 +4631,aut,pariatur,4631 +4632,at,itaque,4632 +4633,nihil,fugit,4633 +4634,vero,sed,4634 +4635,eaque,non,4635 +4636,assumenda,veritatis,4636 +4637,ipsam,eum,4637 +4638,dolorem,sed,4638 +4639,esse,tempora,4639 +4640,doloremque,odit,4640 +4641,sit,ipsam,4641 +4642,a,qui,4642 +4643,reprehenderit,dolore,4643 +4644,labore,necessitatibus,4644 +4645,velit,quia,4645 +4646,vitae,dignissimos,4646 +4647,incidunt,eaque,4647 +4648,ab,commodi,4648 +4649,perspiciatis,itaque,4649 +4650,ullam,voluptas,4650 +4651,qui,sit,4651 +4652,ducimus,rerum,4652 +4653,voluptas,voluptates,4653 +4654,eos,animi,4654 +4655,assumenda,deleniti,4655 +4656,repellat,sunt,4656 +4657,voluptate,illo,4657 +4658,est,similique,4658 +4659,vel,corporis,4659 +4660,pariatur,dicta,4660 +4661,sapiente,quisquam,4661 +4662,aut,quibusdam,4662 +4663,molestiae,in,4663 +4664,eligendi,ea,4664 +4665,tenetur,corrupti,4665 +4666,itaque,quia,4666 +4667,sed,facere,4667 +4668,occaecati,excepturi,4668 +4669,et,veritatis,4669 +4670,veniam,repudiandae,4670 +4671,itaque,nobis,4671 +4672,iusto,qui,4672 +4673,suscipit,voluptate,4673 +4674,sit,beatae,4674 +4675,commodi,nobis,4675 +4676,qui,voluptas,4676 +4677,enim,fugiat,4677 +4678,quod,dolor,4678 +4679,accusamus,et,4679 +4680,veniam,ut,4680 +4681,necessitatibus,consequatur,4681 +4682,vitae,magni,4682 +4683,velit,odit,4683 +4684,debitis,accusamus,4684 +4685,perferendis,eum,4685 +4686,ipsam,repellat,4686 +4687,hic,voluptatem,4687 +4688,est,rerum,4688 +4689,sequi,sit,4689 +4690,sit,qui,4690 +4691,ullam,animi,4691 +4692,voluptatibus,ipsum,4692 +4693,voluptatem,nam,4693 +4694,aliquam,iste,4694 +4695,ipsam,enim,4695 +4696,neque,reiciendis,4696 +4697,ut,et,4697 +4698,voluptatem,aut,4698 +4699,maiores,accusantium,4699 +4700,pariatur,dolor,4700 +4701,doloribus,voluptatum,4701 +4702,architecto,perspiciatis,4702 +4703,officia,ad,4703 +4704,voluptas,quod,4704 +4705,dolor,esse,4705 +4706,omnis,at,4706 +4707,esse,accusantium,4707 +4708,atque,tempora,4708 +4709,a,dicta,4709 +4710,maiores,et,4710 +4711,sed,rerum,4711 +4712,explicabo,dolorem,4712 +4713,vel,ipsum,4713 +4714,omnis,est,4714 +4715,dolorum,aut,4715 +4716,animi,repellat,4716 +4717,cumque,veniam,4717 +4718,cumque,dolorum,4718 +4719,animi,placeat,4719 +4720,cupiditate,vel,4720 +4721,eius,deleniti,4721 +4722,nostrum,est,4722 +4723,nemo,quam,4723 +4724,odio,doloribus,4724 +4725,odio,reiciendis,4725 +4726,nulla,non,4726 +4727,temporibus,vel,4727 +4728,veritatis,dicta,4728 +4729,maiores,error,4729 +4730,est,officia,4730 +4731,omnis,magnam,4731 +4732,laborum,repellendus,4732 +4733,expedita,est,4733 +4734,aut,quaerat,4734 +4735,ut,quia,4735 +4736,esse,sunt,4736 +4737,accusamus,consequatur,4737 +4738,magnam,eum,4738 +4739,qui,asperiores,4739 +4740,amet,temporibus,4740 +4741,veniam,illo,4741 +4742,culpa,delectus,4742 +4743,occaecati,maiores,4743 +4744,necessitatibus,consequatur,4744 +4745,inventore,ad,4745 +4746,qui,voluptatem,4746 +4747,earum,ipsam,4747 +4748,eveniet,rerum,4748 +4749,minima,error,4749 +4750,aliquam,dicta,4750 +4751,necessitatibus,et,4751 +4752,earum,sed,4752 +4753,veritatis,et,4753 +4754,tempora,rerum,4754 +4755,consequatur,nostrum,4755 +4756,fugiat,officiis,4756 +4757,explicabo,ea,4757 +4758,odio,alias,4758 +4759,nam,distinctio,4759 +4760,et,animi,4760 +4761,est,non,4761 +4762,quae,numquam,4762 +4763,et,velit,4763 +4764,deserunt,ut,4764 +4765,quia,minus,4765 +4766,nihil,voluptas,4766 +4767,nulla,voluptatem,4767 +4768,possimus,quis,4768 +4769,unde,nam,4769 +4770,sed,qui,4770 +4771,omnis,recusandae,4771 +4772,dolorem,id,4772 +4773,laborum,minima,4773 +4774,aut,rem,4774 +4775,dolores,pariatur,4775 +4776,officiis,atque,4776 +4777,quia,esse,4777 +4778,ex,asperiores,4778 +4779,et,magni,4779 +4780,omnis,aut,4780 +4781,sunt,et,4781 +4782,eveniet,minima,4782 +4783,tenetur,ea,4783 +4784,similique,debitis,4784 +4785,aut,sed,4785 +4786,occaecati,unde,4786 +4787,similique,officiis,4787 +4788,possimus,repudiandae,4788 +4789,consequuntur,ducimus,4789 +4790,impedit,consectetur,4790 +4791,sunt,eum,4791 +4792,similique,eaque,4792 +4793,distinctio,ea,4793 +4794,numquam,atque,4794 +4795,dolor,et,4795 +4796,molestias,eos,4796 +4797,distinctio,quidem,4797 +4798,et,similique,4798 +4799,officia,occaecati,4799 +4800,sit,qui,4800 +4801,nam,vero,4801 +4802,dolore,laborum,4802 +4803,dolorum,id,4803 +4804,id,et,4804 +4805,quos,non,4805 +4806,esse,nesciunt,4806 +4807,omnis,maxime,4807 +4808,est,ullam,4808 +4809,praesentium,repellendus,4809 +4810,et,reprehenderit,4810 +4811,hic,veniam,4811 +4812,non,voluptas,4812 +4813,omnis,adipisci,4813 +4814,totam,nihil,4814 +4815,sunt,ut,4815 +4816,numquam,est,4816 +4817,repellat,occaecati,4817 +4818,doloribus,natus,4818 +4819,delectus,sapiente,4819 +4820,minima,nostrum,4820 +4821,molestias,sequi,4821 +4822,eum,odio,4822 +4823,id,aut,4823 +4824,porro,non,4824 +4825,nihil,et,4825 +4826,quisquam,esse,4826 +4827,ea,facilis,4827 +4828,tempora,suscipit,4828 +4829,ut,aspernatur,4829 +4830,unde,quia,4830 +4831,quae,at,4831 +4832,error,voluptas,4832 +4833,aut,eum,4833 +4834,quia,aut,4834 +4835,incidunt,sed,4835 +4836,quasi,qui,4836 +4837,minima,beatae,4837 +4838,perferendis,veniam,4838 +4839,quaerat,cupiditate,4839 +4840,quisquam,quia,4840 +4841,nam,dicta,4841 +4842,et,nam,4842 +4843,perspiciatis,ullam,4843 +4844,aspernatur,dolores,4844 +4845,esse,autem,4845 +4846,sit,minima,4846 +4847,quasi,vitae,4847 +4848,et,non,4848 +4849,pariatur,doloribus,4849 +4850,eum,aperiam,4850 +4851,velit,a,4851 +4852,et,vitae,4852 +4853,aut,culpa,4853 +4854,quaerat,doloribus,4854 +4855,quia,eos,4855 +4856,eligendi,quam,4856 +4857,doloribus,ipsam,4857 +4858,quaerat,nisi,4858 +4859,laudantium,qui,4859 +4860,eum,quisquam,4860 +4861,voluptas,et,4861 +4862,animi,quis,4862 +4863,suscipit,nemo,4863 +4864,ab,cupiditate,4864 +4865,corporis,et,4865 +4866,odit,amet,4866 +4867,sed,qui,4867 +4868,voluptatibus,placeat,4868 +4869,cumque,temporibus,4869 +4870,dolor,quos,4870 +4871,eum,nemo,4871 +4872,inventore,architecto,4872 +4873,molestias,nemo,4873 +4874,incidunt,earum,4874 +4875,consequatur,aut,4875 +4876,ut,non,4876 +4877,facere,aut,4877 +4878,cumque,soluta,4878 +4879,nisi,fugiat,4879 +4880,corporis,perspiciatis,4880 +4881,ut,voluptatem,4881 +4882,reprehenderit,vitae,4882 +4883,et,qui,4883 +4884,fugiat,est,4884 +4885,laudantium,aliquid,4885 +4886,sunt,facilis,4886 +4887,voluptate,ut,4887 +4888,aut,omnis,4888 +4889,aliquam,eos,4889 +4890,maxime,quidem,4890 +4891,sapiente,qui,4891 +4892,inventore,porro,4892 +4893,rerum,labore,4893 +4894,odit,repudiandae,4894 +4895,aut,laudantium,4895 +4896,suscipit,inventore,4896 +4897,ad,ratione,4897 +4898,maiores,esse,4898 +4899,qui,a,4899 +4900,rem,accusantium,4900 +4901,id,est,4901 +4902,dolorem,aperiam,4902 +4903,tempora,vel,4903 +4904,aliquam,aperiam,4904 +4905,omnis,amet,4905 +4906,reiciendis,quam,4906 +4907,ex,eos,4907 +4908,autem,ad,4908 +4909,corrupti,magnam,4909 +4910,cupiditate,aspernatur,4910 +4911,cupiditate,consequatur,4911 +4912,sint,dicta,4912 +4913,fugiat,saepe,4913 +4914,perspiciatis,quia,4914 +4915,aut,expedita,4915 +4916,et,et,4916 +4917,vel,sunt,4917 +4918,iste,illum,4918 +4919,exercitationem,omnis,4919 +4920,quas,voluptatem,4920 +4921,perspiciatis,velit,4921 +4922,iure,quo,4922 +4923,unde,eum,4923 +4924,vero,maiores,4924 +4925,a,quis,4925 +4926,labore,sapiente,4926 +4927,vel,expedita,4927 +4928,qui,qui,4928 +4929,qui,eius,4929 +4930,exercitationem,non,4930 +4931,nam,ut,4931 +4932,qui,nihil,4932 +4933,et,esse,4933 +4934,incidunt,saepe,4934 +4935,et,nihil,4935 +4936,quos,culpa,4936 +4937,repudiandae,quo,4937 +4938,voluptatibus,autem,4938 +4939,dolores,voluptatem,4939 +4940,sed,labore,4940 +4941,quaerat,deserunt,4941 +4942,et,nostrum,4942 +4943,officiis,architecto,4943 +4944,laboriosam,nesciunt,4944 +4945,ducimus,distinctio,4945 +4946,repellendus,saepe,4946 +4947,aut,fugit,4947 +4948,architecto,iste,4948 +4949,porro,illum,4949 +4950,pariatur,qui,4950 +4951,ea,nam,4951 +4952,voluptas,est,4952 +4953,nostrum,error,4953 +4954,delectus,suscipit,4954 +4955,consectetur,error,4955 +4956,repellat,velit,4956 +4957,aliquid,ut,4957 +4958,pariatur,maxime,4958 +4959,ut,ea,4959 +4960,facilis,non,4960 +4961,in,iusto,4961 +4962,ipsa,est,4962 +4963,repellendus,distinctio,4963 +4964,nobis,eos,4964 +4965,laborum,voluptatibus,4965 +4966,tempore,ut,4966 +4967,ea,vel,4967 +4968,consequatur,doloribus,4968 +4969,aliquam,officiis,4969 +4970,ipsum,a,4970 +4971,iusto,soluta,4971 +4972,sunt,facilis,4972 +4973,nobis,veritatis,4973 +4974,qui,minima,4974 +4975,dolorem,sint,4975 +4976,mollitia,tenetur,4976 +4977,aut,atque,4977 +4978,ducimus,optio,4978 +4979,ipsa,voluptas,4979 +4980,blanditiis,voluptatem,4980 +4981,error,porro,4981 +4982,sequi,nam,4982 +4983,omnis,possimus,4983 +4984,sit,inventore,4984 +4985,quisquam,suscipit,4985 +4986,voluptatum,id,4986 +4987,voluptatibus,dolores,4987 +4988,nesciunt,et,4988 +4989,fuga,quos,4989 +4990,sed,veniam,4990 +4991,est,maiores,4991 +4992,ut,autem,4992 +4993,quia,voluptatem,4993 +4994,et,dolores,4994 +4995,nisi,voluptatibus,4995 +4996,quae,nostrum,4996 +4997,accusantium,animi,4997 +4998,animi,veniam,4998 +4999,velit,sed,4999 +5000,reprehenderit,eos,5000 diff --git a/Java-Executor/java-executor-tutorial/data/customer-data - Copy (7).txt b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (7).txt new file mode 100644 index 0000000..d36e8c7 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (7).txt @@ -0,0 +1,5000 @@ +1,omnis,adipisci,1 +2,ullam,ratione,2 +3,iusto,laborum,3 +4,animi,porro,4 +5,est,quod,5 +6,nemo,consequatur,6 +7,inventore,harum,7 +8,quidem,sed,8 +9,nostrum,distinctio,9 +10,est,sint,10 +11,fugiat,facilis,11 +12,architecto,molestiae,12 +13,qui,perspiciatis,13 +14,rerum,omnis,14 +15,rerum,quia,15 +16,non,sunt,16 +17,beatae,illo,17 +18,modi,quia,18 +19,aut,harum,19 +20,ratione,est,20 +21,molestias,aliquid,21 +22,autem,qui,22 +23,consectetur,eos,23 +24,omnis,dolorem,24 +25,consequatur,nam,25 +26,quis,suscipit,26 +27,nihil,et,27 +28,rerum,qui,28 +29,occaecati,eligendi,29 +30,exercitationem,voluptas,30 +31,suscipit,quibusdam,31 +32,blanditiis,qui,32 +33,quo,reiciendis,33 +34,quo,nesciunt,34 +35,aut,aut,35 +36,harum,est,36 +37,voluptas,est,37 +38,beatae,animi,38 +39,aut,a,39 +40,ut,sint,40 +41,voluptatem,non,41 +42,et,in,42 +43,officiis,rerum,43 +44,doloremque,in,44 +45,officiis,corporis,45 +46,sed,quia,46 +47,consequatur,qui,47 +48,quia,voluptates,48 +49,minima,omnis,49 +50,quasi,qui,50 +51,suscipit,incidunt,51 +52,ad,doloribus,52 +53,voluptate,accusantium,53 +54,praesentium,eveniet,54 +55,accusamus,at,55 +56,nihil,sed,56 +57,qui,iusto,57 +58,consequuntur,dolores,58 +59,occaecati,reprehenderit,59 +60,totam,quia,60 +61,qui,facilis,61 +62,quia,delectus,62 +63,sit,ab,63 +64,quo,iure,64 +65,rem,quis,65 +66,unde,sint,66 +67,nulla,eligendi,67 +68,in,itaque,68 +69,et,sed,69 +70,ullam,quia,70 +71,dolores,similique,71 +72,praesentium,reprehenderit,72 +73,officiis,occaecati,73 +74,eos,enim,74 +75,odit,aliquam,75 +76,modi,et,76 +77,architecto,non,77 +78,hic,dolor,78 +79,rerum,rerum,79 +80,nihil,laudantium,80 +81,quidem,beatae,81 +82,sint,repellendus,82 +83,nobis,aut,83 +84,ut,beatae,84 +85,molestiae,at,85 +86,dolor,voluptatem,86 +87,voluptates,aut,87 +88,fuga,laborum,88 +89,voluptas,dicta,89 +90,cum,temporibus,90 +91,nesciunt,rerum,91 +92,est,tempora,92 +93,ratione,ducimus,93 +94,eum,aut,94 +95,neque,quae,95 +96,dolore,sunt,96 +97,voluptas,quibusdam,97 +98,omnis,temporibus,98 +99,ipsa,delectus,99 +100,non,illum,100 +101,consequuntur,et,101 +102,non,eum,102 +103,enim,unde,103 +104,itaque,provident,104 +105,quod,nesciunt,105 +106,sed,non,106 +107,commodi,qui,107 +108,odio,soluta,108 +109,inventore,assumenda,109 +110,officia,in,110 +111,quis,dolorem,111 +112,harum,sed,112 +113,autem,reprehenderit,113 +114,consequatur,aut,114 +115,ab,sed,115 +116,porro,aut,116 +117,ut,ratione,117 +118,asperiores,dicta,118 +119,illum,enim,119 +120,possimus,quae,120 +121,quidem,repudiandae,121 +122,porro,quis,122 +123,molestiae,et,123 +124,cupiditate,pariatur,124 +125,nemo,quos,125 +126,praesentium,aut,126 +127,vel,illo,127 +128,molestias,cupiditate,128 +129,quis,sequi,129 +130,autem,nesciunt,130 +131,non,voluptas,131 +132,architecto,odit,132 +133,eum,pariatur,133 +134,necessitatibus,reprehenderit,134 +135,ea,eos,135 +136,omnis,sed,136 +137,nostrum,tempore,137 +138,doloremque,placeat,138 +139,alias,dolorem,139 +140,recusandae,et,140 +141,earum,perspiciatis,141 +142,est,magnam,142 +143,deleniti,magnam,143 +144,aut,numquam,144 +145,rerum,nemo,145 +146,delectus,mollitia,146 +147,alias,porro,147 +148,occaecati,mollitia,148 +149,recusandae,quisquam,149 +150,molestias,laborum,150 +151,tenetur,amet,151 +152,consequatur,ipsum,152 +153,minima,rerum,153 +154,natus,ullam,154 +155,ex,est,155 +156,dignissimos,voluptatem,156 +157,et,doloribus,157 +158,adipisci,dolor,158 +159,qui,optio,159 +160,veniam,soluta,160 +161,saepe,nobis,161 +162,facere,voluptas,162 +163,accusantium,ea,163 +164,reiciendis,porro,164 +165,quos,libero,165 +166,facere,debitis,166 +167,ab,accusamus,167 +168,beatae,suscipit,168 +169,atque,atque,169 +170,quod,ipsa,170 +171,hic,aut,171 +172,quas,delectus,172 +173,illum,vel,173 +174,odit,quia,174 +175,et,eum,175 +176,sunt,ipsa,176 +177,atque,voluptate,177 +178,autem,porro,178 +179,quis,nostrum,179 +180,natus,sint,180 +181,corrupti,sed,181 +182,exercitationem,dolorum,182 +183,et,dolores,183 +184,nisi,esse,184 +185,accusamus,ut,185 +186,quae,ratione,186 +187,tempora,ut,187 +188,et,magnam,188 +189,doloremque,et,189 +190,vel,sit,190 +191,tempora,dolore,191 +192,tempore,suscipit,192 +193,exercitationem,alias,193 +194,magnam,similique,194 +195,ipsum,velit,195 +196,eos,consequatur,196 +197,vel,esse,197 +198,sed,placeat,198 +199,at,omnis,199 +200,amet,veritatis,200 +201,quod,cupiditate,201 +202,non,quo,202 +203,corporis,dignissimos,203 +204,autem,quis,204 +205,repellat,aut,205 +206,rerum,aut,206 +207,reiciendis,quia,207 +208,et,eligendi,208 +209,id,quia,209 +210,repudiandae,dolores,210 +211,fugit,similique,211 +212,placeat,iste,212 +213,delectus,commodi,213 +214,et,illum,214 +215,totam,in,215 +216,iure,qui,216 +217,dicta,voluptas,217 +218,qui,expedita,218 +219,facilis,ut,219 +220,omnis,consequatur,220 +221,praesentium,ea,221 +222,repellendus,rerum,222 +223,odit,voluptatum,223 +224,maiores,voluptas,224 +225,quo,ut,225 +226,voluptas,impedit,226 +227,explicabo,dolorem,227 +228,tempora,quidem,228 +229,id,a,229 +230,qui,suscipit,230 +231,officiis,omnis,231 +232,ipsam,odit,232 +233,totam,omnis,233 +234,molestiae,in,234 +235,blanditiis,dolorem,235 +236,a,pariatur,236 +237,doloribus,impedit,237 +238,non,ullam,238 +239,quis,error,239 +240,sapiente,omnis,240 +241,molestias,sit,241 +242,dolores,natus,242 +243,recusandae,cumque,243 +244,odit,est,244 +245,sed,voluptas,245 +246,molestiae,et,246 +247,molestiae,vero,247 +248,quo,laudantium,248 +249,similique,cum,249 +250,dolor,modi,250 +251,voluptas,officia,251 +252,amet,eum,252 +253,impedit,est,253 +254,culpa,eveniet,254 +255,quia,occaecati,255 +256,perferendis,animi,256 +257,ut,et,257 +258,atque,et,258 +259,et,voluptatum,259 +260,reprehenderit,unde,260 +261,facilis,qui,261 +262,sequi,hic,262 +263,natus,molestias,263 +264,et,blanditiis,264 +265,sed,dolor,265 +266,et,sint,266 +267,illo,consequuntur,267 +268,totam,eos,268 +269,magnam,ea,269 +270,facere,ut,270 +271,accusantium,et,271 +272,temporibus,rem,272 +273,debitis,rerum,273 +274,et,facilis,274 +275,quia,quia,275 +276,voluptatem,eum,276 +277,exercitationem,alias,277 +278,ullam,quod,278 +279,iusto,quis,279 +280,quis,quo,280 +281,fuga,modi,281 +282,placeat,fugiat,282 +283,quidem,sunt,283 +284,ut,veritatis,284 +285,nihil,et,285 +286,qui,enim,286 +287,et,sint,287 +288,repellat,dolorem,288 +289,quia,aut,289 +290,magnam,doloremque,290 +291,accusamus,explicabo,291 +292,aut,dolor,292 +293,harum,exercitationem,293 +294,earum,sed,294 +295,repellat,vel,295 +296,laudantium,molestiae,296 +297,deserunt,omnis,297 +298,nesciunt,dolor,298 +299,repudiandae,corrupti,299 +300,nesciunt,est,300 +301,delectus,voluptas,301 +302,ut,cum,302 +303,et,rem,303 +304,doloremque,illo,304 +305,dignissimos,omnis,305 +306,nisi,in,306 +307,facilis,quo,307 +308,enim,est,308 +309,veritatis,veniam,309 +310,modi,dolore,310 +311,amet,quasi,311 +312,quibusdam,et,312 +313,nulla,occaecati,313 +314,eum,doloribus,314 +315,doloribus,labore,315 +316,numquam,repudiandae,316 +317,porro,nobis,317 +318,quia,rem,318 +319,sit,eum,319 +320,aliquid,consequatur,320 +321,officia,qui,321 +322,consequuntur,itaque,322 +323,et,vel,323 +324,ea,et,324 +325,omnis,voluptatum,325 +326,quia,id,326 +327,quos,et,327 +328,nobis,ut,328 +329,voluptas,unde,329 +330,et,voluptate,330 +331,ratione,dolor,331 +332,sed,ducimus,332 +333,dolorem,nostrum,333 +334,sint,laboriosam,334 +335,aspernatur,at,335 +336,officia,sed,336 +337,et,molestias,337 +338,facilis,ad,338 +339,et,neque,339 +340,quas,provident,340 +341,animi,quos,341 +342,tenetur,repellat,342 +343,dolores,esse,343 +344,porro,dolorem,344 +345,voluptatum,minima,345 +346,reprehenderit,voluptatem,346 +347,et,ut,347 +348,id,et,348 +349,aliquid,animi,349 +350,odio,minima,350 +351,cum,quae,351 +352,adipisci,eligendi,352 +353,qui,modi,353 +354,autem,vel,354 +355,temporibus,recusandae,355 +356,aut,assumenda,356 +357,et,consequuntur,357 +358,quas,molestias,358 +359,voluptates,dolores,359 +360,deserunt,ut,360 +361,est,incidunt,361 +362,accusamus,sed,362 +363,ut,commodi,363 +364,qui,vitae,364 +365,rerum,beatae,365 +366,perspiciatis,ipsa,366 +367,dolorem,esse,367 +368,asperiores,aut,368 +369,unde,saepe,369 +370,qui,labore,370 +371,natus,corporis,371 +372,ipsum,consequatur,372 +373,est,quos,373 +374,mollitia,aperiam,374 +375,non,dolorum,375 +376,tenetur,est,376 +377,aut,ut,377 +378,aut,neque,378 +379,accusantium,ex,379 +380,vel,impedit,380 +381,blanditiis,ea,381 +382,sint,debitis,382 +383,earum,velit,383 +384,et,tenetur,384 +385,omnis,ipsa,385 +386,magnam,ipsum,386 +387,sint,ipsam,387 +388,sit,aut,388 +389,aliquam,consequuntur,389 +390,ut,hic,390 +391,dolorem,nihil,391 +392,minima,sint,392 +393,soluta,rerum,393 +394,adipisci,perspiciatis,394 +395,et,qui,395 +396,in,voluptas,396 +397,est,nobis,397 +398,dolore,eum,398 +399,veniam,dolores,399 +400,et,eos,400 +401,earum,dolorem,401 +402,repellendus,id,402 +403,dolor,esse,403 +404,inventore,doloremque,404 +405,quas,soluta,405 +406,fuga,consectetur,406 +407,dignissimos,in,407 +408,consectetur,dolores,408 +409,non,autem,409 +410,modi,cumque,410 +411,cum,totam,411 +412,quam,ipsam,412 +413,ipsum,soluta,413 +414,expedita,consectetur,414 +415,quo,voluptatibus,415 +416,autem,quas,416 +417,et,cum,417 +418,unde,et,418 +419,alias,perferendis,419 +420,qui,praesentium,420 +421,vel,dolor,421 +422,provident,pariatur,422 +423,est,omnis,423 +424,quaerat,adipisci,424 +425,quo,beatae,425 +426,dolor,omnis,426 +427,aut,velit,427 +428,possimus,animi,428 +429,quis,maiores,429 +430,libero,et,430 +431,in,quis,431 +432,id,dignissimos,432 +433,officiis,similique,433 +434,asperiores,est,434 +435,et,nulla,435 +436,autem,veritatis,436 +437,et,eum,437 +438,et,at,438 +439,ipsam,sed,439 +440,quis,aut,440 +441,est,non,441 +442,exercitationem,corrupti,442 +443,repellendus,et,443 +444,deserunt,quibusdam,444 +445,est,sit,445 +446,veritatis,ab,446 +447,impedit,illum,447 +448,eos,aut,448 +449,atque,sequi,449 +450,eaque,cum,450 +451,aut,minima,451 +452,nostrum,animi,452 +453,quos,dignissimos,453 +454,perspiciatis,nostrum,454 +455,in,dolor,455 +456,aut,aperiam,456 +457,quia,autem,457 +458,non,reprehenderit,458 +459,nisi,minus,459 +460,libero,ratione,460 +461,dicta,sequi,461 +462,dolorum,enim,462 +463,dicta,quia,463 +464,non,itaque,464 +465,eum,accusantium,465 +466,ut,atque,466 +467,quibusdam,sit,467 +468,quidem,quo,468 +469,animi,et,469 +470,mollitia,commodi,470 +471,repudiandae,tempore,471 +472,non,exercitationem,472 +473,cum,quia,473 +474,sed,reprehenderit,474 +475,ducimus,sunt,475 +476,dignissimos,neque,476 +477,doloribus,eos,477 +478,perferendis,itaque,478 +479,sit,blanditiis,479 +480,earum,repellendus,480 +481,aut,et,481 +482,qui,assumenda,482 +483,ut,sunt,483 +484,aut,id,484 +485,ut,qui,485 +486,provident,quas,486 +487,blanditiis,laudantium,487 +488,sit,fugit,488 +489,quo,molestias,489 +490,modi,suscipit,490 +491,ut,et,491 +492,corrupti,cumque,492 +493,neque,dolorem,493 +494,quod,est,494 +495,aut,ut,495 +496,rerum,impedit,496 +497,saepe,odio,497 +498,nihil,enim,498 +499,molestias,provident,499 +500,neque,maxime,500 +501,quisquam,possimus,501 +502,at,ut,502 +503,sed,esse,503 +504,ullam,dolorem,504 +505,nobis,quia,505 +506,quidem,incidunt,506 +507,harum,non,507 +508,voluptate,qui,508 +509,quod,expedita,509 +510,dolorum,qui,510 +511,neque,optio,511 +512,et,eos,512 +513,voluptatem,dolorum,513 +514,blanditiis,totam,514 +515,et,amet,515 +516,assumenda,repudiandae,516 +517,sit,ex,517 +518,id,omnis,518 +519,a,est,519 +520,deleniti,optio,520 +521,nemo,rerum,521 +522,minima,quae,522 +523,quis,mollitia,523 +524,a,doloremque,524 +525,tempora,consectetur,525 +526,tempora,incidunt,526 +527,aspernatur,facilis,527 +528,consequatur,numquam,528 +529,ipsam,qui,529 +530,pariatur,aperiam,530 +531,laudantium,aliquam,531 +532,qui,voluptas,532 +533,et,optio,533 +534,officia,sapiente,534 +535,corporis,quae,535 +536,quia,nobis,536 +537,magni,cum,537 +538,eos,vel,538 +539,possimus,necessitatibus,539 +540,qui,modi,540 +541,in,necessitatibus,541 +542,velit,iusto,542 +543,ipsa,excepturi,543 +544,quisquam,rem,544 +545,sunt,voluptatem,545 +546,nesciunt,nulla,546 +547,aut,reprehenderit,547 +548,ut,modi,548 +549,natus,officiis,549 +550,ducimus,aut,550 +551,id,nihil,551 +552,error,ducimus,552 +553,vel,rerum,553 +554,dolorum,distinctio,554 +555,dolorum,officia,555 +556,voluptas,expedita,556 +557,non,et,557 +558,porro,voluptas,558 +559,omnis,sit,559 +560,hic,rerum,560 +561,rerum,voluptas,561 +562,vel,aliquam,562 +563,delectus,inventore,563 +564,consequatur,commodi,564 +565,est,ex,565 +566,et,sed,566 +567,qui,quo,567 +568,voluptas,aut,568 +569,enim,similique,569 +570,qui,eos,570 +571,ut,repudiandae,571 +572,sint,dignissimos,572 +573,ea,est,573 +574,asperiores,voluptatem,574 +575,dolores,ut,575 +576,excepturi,molestiae,576 +577,tempora,et,577 +578,expedita,nulla,578 +579,odio,at,579 +580,perferendis,enim,580 +581,nisi,at,581 +582,earum,ex,582 +583,omnis,voluptate,583 +584,molestiae,rerum,584 +585,consequuntur,odio,585 +586,odio,nulla,586 +587,dolorem,autem,587 +588,necessitatibus,et,588 +589,et,consequatur,589 +590,dignissimos,nemo,590 +591,culpa,quia,591 +592,voluptatem,aspernatur,592 +593,quo,saepe,593 +594,vel,quod,594 +595,temporibus,dolor,595 +596,eum,aliquid,596 +597,enim,omnis,597 +598,omnis,veritatis,598 +599,quo,quae,599 +600,ex,ullam,600 +601,sed,atque,601 +602,esse,sit,602 +603,eligendi,non,603 +604,inventore,esse,604 +605,non,omnis,605 +606,error,nostrum,606 +607,porro,modi,607 +608,omnis,quia,608 +609,omnis,unde,609 +610,minus,eveniet,610 +611,pariatur,a,611 +612,a,recusandae,612 +613,tempora,nulla,613 +614,corporis,velit,614 +615,et,molestiae,615 +616,in,temporibus,616 +617,qui,placeat,617 +618,est,quia,618 +619,consequatur,sequi,619 +620,non,et,620 +621,animi,a,621 +622,quidem,molestiae,622 +623,deleniti,harum,623 +624,nemo,nam,624 +625,et,quos,625 +626,blanditiis,alias,626 +627,rem,optio,627 +628,similique,unde,628 +629,iusto,odit,629 +630,architecto,rem,630 +631,veniam,pariatur,631 +632,debitis,quis,632 +633,odit,nobis,633 +634,consequatur,ipsum,634 +635,neque,ad,635 +636,doloribus,sint,636 +637,beatae,reiciendis,637 +638,quos,sit,638 +639,vero,eos,639 +640,excepturi,autem,640 +641,est,omnis,641 +642,nobis,voluptatibus,642 +643,consectetur,eum,643 +644,ab,sed,644 +645,ea,in,645 +646,corporis,sapiente,646 +647,tempora,recusandae,647 +648,expedita,itaque,648 +649,quis,exercitationem,649 +650,ut,est,650 +651,eum,quo,651 +652,qui,odit,652 +653,velit,et,653 +654,modi,minus,654 +655,quisquam,quos,655 +656,ut,molestiae,656 +657,consequatur,occaecati,657 +658,architecto,aut,658 +659,impedit,error,659 +660,voluptatem,aliquid,660 +661,perspiciatis,unde,661 +662,corrupti,aut,662 +663,voluptatem,eaque,663 +664,ut,facilis,664 +665,perspiciatis,similique,665 +666,aut,sed,666 +667,ea,ut,667 +668,magnam,quia,668 +669,eius,et,669 +670,ad,rerum,670 +671,sunt,ut,671 +672,ab,nemo,672 +673,voluptatem,dolores,673 +674,unde,saepe,674 +675,blanditiis,quibusdam,675 +676,alias,est,676 +677,eum,consequatur,677 +678,aut,velit,678 +679,repellendus,architecto,679 +680,voluptas,corrupti,680 +681,quod,maiores,681 +682,sit,et,682 +683,odit,harum,683 +684,molestiae,ex,684 +685,modi,ut,685 +686,non,asperiores,686 +687,officiis,odio,687 +688,repudiandae,iure,688 +689,aliquid,quaerat,689 +690,cumque,rerum,690 +691,facilis,sed,691 +692,ipsam,nobis,692 +693,dolor,mollitia,693 +694,soluta,necessitatibus,694 +695,voluptatibus,possimus,695 +696,non,doloremque,696 +697,sed,odio,697 +698,incidunt,fugiat,698 +699,ducimus,quis,699 +700,et,consequatur,700 +701,unde,non,701 +702,placeat,ratione,702 +703,vel,odio,703 +704,qui,tenetur,704 +705,id,similique,705 +706,voluptatem,facilis,706 +707,fuga,a,707 +708,ex,deserunt,708 +709,mollitia,laborum,709 +710,natus,quibusdam,710 +711,beatae,et,711 +712,voluptatem,non,712 +713,vel,laboriosam,713 +714,suscipit,distinctio,714 +715,et,rerum,715 +716,debitis,facere,716 +717,voluptatibus,id,717 +718,voluptatum,vitae,718 +719,velit,odio,719 +720,aspernatur,est,720 +721,laudantium,id,721 +722,esse,et,722 +723,saepe,debitis,723 +724,esse,explicabo,724 +725,ut,dolore,725 +726,excepturi,quia,726 +727,voluptas,ut,727 +728,voluptas,debitis,728 +729,dolor,consectetur,729 +730,sapiente,ut,730 +731,alias,in,731 +732,dolorem,at,732 +733,laborum,sed,733 +734,voluptatibus,non,734 +735,minus,soluta,735 +736,dolores,vero,736 +737,nihil,aut,737 +738,facilis,adipisci,738 +739,qui,voluptatem,739 +740,autem,aut,740 +741,voluptatem,atque,741 +742,voluptatibus,aspernatur,742 +743,repellendus,dolorem,743 +744,voluptatum,fugit,744 +745,quod,ut,745 +746,reprehenderit,quo,746 +747,totam,ut,747 +748,ex,quisquam,748 +749,reprehenderit,blanditiis,749 +750,sed,labore,750 +751,ut,est,751 +752,repellendus,nam,752 +753,quia,voluptas,753 +754,sit,a,754 +755,perferendis,nostrum,755 +756,nihil,fuga,756 +757,doloribus,et,757 +758,ipsam,velit,758 +759,rem,veniam,759 +760,fuga,possimus,760 +761,incidunt,sint,761 +762,vero,rerum,762 +763,ad,assumenda,763 +764,praesentium,exercitationem,764 +765,ut,reprehenderit,765 +766,id,quia,766 +767,doloribus,iure,767 +768,deleniti,quia,768 +769,pariatur,sit,769 +770,molestias,unde,770 +771,sint,enim,771 +772,amet,beatae,772 +773,commodi,dolores,773 +774,omnis,consectetur,774 +775,dignissimos,perspiciatis,775 +776,deserunt,aut,776 +777,doloremque,ipsam,777 +778,aut,et,778 +779,a,quibusdam,779 +780,vero,quasi,780 +781,et,officia,781 +782,accusamus,et,782 +783,explicabo,voluptas,783 +784,autem,fugit,784 +785,non,cumque,785 +786,et,est,786 +787,laborum,facere,787 +788,et,facilis,788 +789,consequatur,aut,789 +790,voluptas,quisquam,790 +791,tempore,veritatis,791 +792,quos,deserunt,792 +793,modi,accusantium,793 +794,pariatur,ea,794 +795,ducimus,voluptas,795 +796,sed,et,796 +797,nostrum,nemo,797 +798,enim,vel,798 +799,eum,cupiditate,799 +800,et,ab,800 +801,aut,amet,801 +802,et,non,802 +803,eaque,blanditiis,803 +804,veniam,dolorum,804 +805,dolorum,necessitatibus,805 +806,delectus,sit,806 +807,et,nisi,807 +808,quasi,architecto,808 +809,ut,nisi,809 +810,minima,a,810 +811,quam,soluta,811 +812,ratione,rerum,812 +813,fugit,iure,813 +814,temporibus,distinctio,814 +815,quas,ea,815 +816,mollitia,harum,816 +817,temporibus,quis,817 +818,consequatur,ea,818 +819,beatae,laudantium,819 +820,adipisci,vero,820 +821,eum,consequuntur,821 +822,voluptatibus,perspiciatis,822 +823,quisquam,excepturi,823 +824,sequi,quia,824 +825,et,sequi,825 +826,ab,iste,826 +827,fugit,explicabo,827 +828,voluptatem,rerum,828 +829,aut,illum,829 +830,voluptas,consectetur,830 +831,omnis,sed,831 +832,est,asperiores,832 +833,sapiente,ipsum,833 +834,quam,eum,834 +835,ex,provident,835 +836,temporibus,dolorem,836 +837,labore,explicabo,837 +838,quas,nobis,838 +839,doloremque,sed,839 +840,consequatur,et,840 +841,et,distinctio,841 +842,sit,consectetur,842 +843,dolores,fugiat,843 +844,et,delectus,844 +845,sint,voluptatem,845 +846,voluptates,quod,846 +847,eos,iure,847 +848,blanditiis,vitae,848 +849,a,aut,849 +850,molestiae,incidunt,850 +851,maiores,corporis,851 +852,numquam,maiores,852 +853,dicta,quis,853 +854,porro,non,854 +855,corrupti,ut,855 +856,non,ducimus,856 +857,aliquam,autem,857 +858,non,exercitationem,858 +859,praesentium,dolorem,859 +860,possimus,provident,860 +861,rem,fuga,861 +862,ut,cupiditate,862 +863,ut,est,863 +864,voluptas,eius,864 +865,quia,labore,865 +866,voluptatem,officia,866 +867,alias,enim,867 +868,qui,adipisci,868 +869,molestiae,recusandae,869 +870,unde,dolorem,870 +871,cumque,est,871 +872,consequuntur,expedita,872 +873,autem,commodi,873 +874,dolorum,doloremque,874 +875,quos,animi,875 +876,qui,quos,876 +877,sunt,expedita,877 +878,voluptas,voluptatum,878 +879,magni,aut,879 +880,aspernatur,assumenda,880 +881,est,et,881 +882,ab,eius,882 +883,iusto,saepe,883 +884,asperiores,beatae,884 +885,nulla,et,885 +886,perferendis,labore,886 +887,laboriosam,sunt,887 +888,architecto,beatae,888 +889,aliquid,cumque,889 +890,libero,doloremque,890 +891,esse,et,891 +892,dolore,ipsa,892 +893,sint,ab,893 +894,ut,eos,894 +895,cumque,optio,895 +896,voluptatem,non,896 +897,velit,delectus,897 +898,beatae,temporibus,898 +899,sit,labore,899 +900,aut,et,900 +901,ipsam,ut,901 +902,et,in,902 +903,dolorem,dolorem,903 +904,ipsa,quidem,904 +905,ex,fugiat,905 +906,suscipit,quibusdam,906 +907,magni,aliquid,907 +908,itaque,laborum,908 +909,molestiae,id,909 +910,molestias,tempore,910 +911,ipsum,sed,911 +912,aut,possimus,912 +913,error,architecto,913 +914,eos,excepturi,914 +915,sed,ad,915 +916,blanditiis,sit,916 +917,odio,ipsam,917 +918,repellendus,sit,918 +919,ut,amet,919 +920,asperiores,incidunt,920 +921,voluptatem,dolore,921 +922,aspernatur,sed,922 +923,facere,et,923 +924,rerum,provident,924 +925,quos,eius,925 +926,voluptates,nisi,926 +927,aut,aut,927 +928,dolorem,sit,928 +929,et,qui,929 +930,temporibus,qui,930 +931,unde,labore,931 +932,nulla,beatae,932 +933,totam,velit,933 +934,blanditiis,et,934 +935,fugiat,exercitationem,935 +936,tempore,inventore,936 +937,molestiae,sed,937 +938,ipsum,delectus,938 +939,officiis,consectetur,939 +940,iusto,omnis,940 +941,enim,iure,941 +942,a,atque,942 +943,doloribus,impedit,943 +944,aut,velit,944 +945,dolore,amet,945 +946,qui,tempora,946 +947,sed,asperiores,947 +948,vitae,a,948 +949,corporis,omnis,949 +950,quos,nobis,950 +951,qui,quia,951 +952,architecto,doloremque,952 +953,dicta,ut,953 +954,accusantium,deleniti,954 +955,numquam,consequuntur,955 +956,cum,repellat,956 +957,fuga,tempore,957 +958,est,ut,958 +959,ipsum,in,959 +960,veniam,accusamus,960 +961,iusto,necessitatibus,961 +962,placeat,dolore,962 +963,dicta,atque,963 +964,fuga,quibusdam,964 +965,et,aut,965 +966,minus,autem,966 +967,minus,est,967 +968,odit,perspiciatis,968 +969,nam,dolorem,969 +970,qui,magnam,970 +971,qui,eos,971 +972,voluptas,molestias,972 +973,sed,odit,973 +974,et,tempora,974 +975,quo,placeat,975 +976,accusamus,ipsum,976 +977,rerum,consequatur,977 +978,et,dolor,978 +979,debitis,commodi,979 +980,qui,architecto,980 +981,repudiandae,ullam,981 +982,temporibus,magnam,982 +983,illum,aliquam,983 +984,inventore,ex,984 +985,corrupti,porro,985 +986,odit,magni,986 +987,facere,quasi,987 +988,sapiente,dignissimos,988 +989,temporibus,eum,989 +990,maiores,quo,990 +991,voluptatem,et,991 +992,expedita,quo,992 +993,nostrum,eum,993 +994,in,ut,994 +995,libero,quam,995 +996,eos,deleniti,996 +997,molestiae,nesciunt,997 +998,quisquam,voluptas,998 +999,laudantium,tempora,999 +1000,similique,sequi,1000 +1001,eius,neque,1001 +1002,deleniti,iste,1002 +1003,velit,nisi,1003 +1004,repellendus,quia,1004 +1005,est,aut,1005 +1006,voluptatem,et,1006 +1007,laudantium,consequatur,1007 +1008,atque,doloribus,1008 +1009,saepe,ullam,1009 +1010,cumque,optio,1010 +1011,molestias,beatae,1011 +1012,nihil,facilis,1012 +1013,corporis,consequatur,1013 +1014,atque,reprehenderit,1014 +1015,vero,aliquam,1015 +1016,eos,cupiditate,1016 +1017,autem,adipisci,1017 +1018,qui,fugit,1018 +1019,dolore,unde,1019 +1020,tempore,rerum,1020 +1021,et,iste,1021 +1022,eum,et,1022 +1023,quasi,placeat,1023 +1024,ullam,ipsam,1024 +1025,saepe,tempora,1025 +1026,velit,ut,1026 +1027,qui,delectus,1027 +1028,deserunt,aperiam,1028 +1029,quam,tempora,1029 +1030,reiciendis,id,1030 +1031,nihil,repellendus,1031 +1032,vel,aut,1032 +1033,pariatur,eum,1033 +1034,quidem,quos,1034 +1035,omnis,consequatur,1035 +1036,qui,aut,1036 +1037,esse,id,1037 +1038,rerum,possimus,1038 +1039,ut,molestiae,1039 +1040,rem,occaecati,1040 +1041,odit,eligendi,1041 +1042,ut,nobis,1042 +1043,inventore,similique,1043 +1044,sed,cum,1044 +1045,eligendi,facilis,1045 +1046,id,quidem,1046 +1047,placeat,id,1047 +1048,voluptas,rem,1048 +1049,sit,sed,1049 +1050,aspernatur,at,1050 +1051,beatae,fugiat,1051 +1052,reprehenderit,omnis,1052 +1053,ipsam,aperiam,1053 +1054,veniam,iusto,1054 +1055,harum,et,1055 +1056,inventore,sequi,1056 +1057,nesciunt,atque,1057 +1058,facere,et,1058 +1059,dolores,et,1059 +1060,perferendis,amet,1060 +1061,consequatur,sunt,1061 +1062,non,tempore,1062 +1063,error,eum,1063 +1064,sit,omnis,1064 +1065,sit,sit,1065 +1066,maiores,possimus,1066 +1067,quasi,autem,1067 +1068,repudiandae,similique,1068 +1069,tempora,non,1069 +1070,neque,assumenda,1070 +1071,rerum,itaque,1071 +1072,sunt,error,1072 +1073,veritatis,officia,1073 +1074,culpa,cum,1074 +1075,soluta,fugit,1075 +1076,voluptates,culpa,1076 +1077,dolorum,doloremque,1077 +1078,explicabo,qui,1078 +1079,a,magni,1079 +1080,aut,molestiae,1080 +1081,fugit,quos,1081 +1082,voluptas,officia,1082 +1083,eos,qui,1083 +1084,libero,reprehenderit,1084 +1085,qui,ea,1085 +1086,doloremque,corrupti,1086 +1087,totam,saepe,1087 +1088,laboriosam,enim,1088 +1089,aut,et,1089 +1090,et,vero,1090 +1091,et,tempore,1091 +1092,sit,atque,1092 +1093,suscipit,et,1093 +1094,perspiciatis,et,1094 +1095,qui,non,1095 +1096,molestias,consequuntur,1096 +1097,dicta,rerum,1097 +1098,dolore,ea,1098 +1099,quo,vero,1099 +1100,dolor,rem,1100 +1101,pariatur,possimus,1101 +1102,et,quo,1102 +1103,culpa,consequuntur,1103 +1104,temporibus,earum,1104 +1105,est,vel,1105 +1106,est,rerum,1106 +1107,iure,nostrum,1107 +1108,soluta,culpa,1108 +1109,eum,quo,1109 +1110,dolorem,magnam,1110 +1111,eum,adipisci,1111 +1112,perspiciatis,eligendi,1112 +1113,molestias,praesentium,1113 +1114,optio,odit,1114 +1115,aliquam,dolores,1115 +1116,natus,perferendis,1116 +1117,animi,esse,1117 +1118,tenetur,consectetur,1118 +1119,sit,consequatur,1119 +1120,ut,qui,1120 +1121,aut,ad,1121 +1122,vel,a,1122 +1123,eaque,sit,1123 +1124,aut,dolores,1124 +1125,delectus,unde,1125 +1126,veniam,minima,1126 +1127,ipsam,adipisci,1127 +1128,asperiores,vel,1128 +1129,in,voluptatem,1129 +1130,ab,natus,1130 +1131,dolorum,minima,1131 +1132,dolorum,alias,1132 +1133,et,ipsam,1133 +1134,incidunt,veritatis,1134 +1135,aut,consequatur,1135 +1136,hic,quia,1136 +1137,quo,dolor,1137 +1138,ut,optio,1138 +1139,sit,recusandae,1139 +1140,temporibus,assumenda,1140 +1141,voluptas,sint,1141 +1142,reiciendis,fugiat,1142 +1143,sed,aut,1143 +1144,voluptatem,aut,1144 +1145,accusantium,maiores,1145 +1146,facere,et,1146 +1147,voluptatum,ut,1147 +1148,nam,asperiores,1148 +1149,in,doloremque,1149 +1150,quisquam,incidunt,1150 +1151,harum,hic,1151 +1152,distinctio,est,1152 +1153,laboriosam,deleniti,1153 +1154,consectetur,eius,1154 +1155,quis,architecto,1155 +1156,occaecati,et,1156 +1157,sint,et,1157 +1158,dolorum,fugit,1158 +1159,incidunt,in,1159 +1160,minima,quisquam,1160 +1161,quas,nam,1161 +1162,sed,ut,1162 +1163,reiciendis,et,1163 +1164,odio,commodi,1164 +1165,sunt,non,1165 +1166,animi,ut,1166 +1167,consectetur,laboriosam,1167 +1168,eos,tempore,1168 +1169,rem,occaecati,1169 +1170,facilis,hic,1170 +1171,nobis,libero,1171 +1172,quod,optio,1172 +1173,illo,aut,1173 +1174,nobis,consequatur,1174 +1175,earum,ut,1175 +1176,ipsam,vel,1176 +1177,suscipit,soluta,1177 +1178,a,dolorem,1178 +1179,dicta,sed,1179 +1180,aspernatur,quibusdam,1180 +1181,temporibus,necessitatibus,1181 +1182,unde,perferendis,1182 +1183,quibusdam,praesentium,1183 +1184,similique,optio,1184 +1185,exercitationem,et,1185 +1186,qui,officiis,1186 +1187,eum,et,1187 +1188,omnis,aperiam,1188 +1189,recusandae,enim,1189 +1190,perferendis,voluptatum,1190 +1191,ut,eum,1191 +1192,consectetur,sapiente,1192 +1193,autem,qui,1193 +1194,quis,assumenda,1194 +1195,ut,cupiditate,1195 +1196,quia,dolorem,1196 +1197,excepturi,in,1197 +1198,officiis,numquam,1198 +1199,possimus,delectus,1199 +1200,veniam,recusandae,1200 +1201,quos,id,1201 +1202,ratione,corporis,1202 +1203,alias,voluptates,1203 +1204,quia,quasi,1204 +1205,animi,soluta,1205 +1206,autem,laboriosam,1206 +1207,impedit,velit,1207 +1208,est,voluptatem,1208 +1209,ut,beatae,1209 +1210,quis,tempora,1210 +1211,placeat,assumenda,1211 +1212,libero,porro,1212 +1213,minima,veniam,1213 +1214,explicabo,sed,1214 +1215,illo,consequatur,1215 +1216,necessitatibus,in,1216 +1217,recusandae,aut,1217 +1218,dicta,eos,1218 +1219,maiores,qui,1219 +1220,eum,temporibus,1220 +1221,sit,libero,1221 +1222,aperiam,quia,1222 +1223,ut,est,1223 +1224,quo,qui,1224 +1225,velit,suscipit,1225 +1226,aut,qui,1226 +1227,culpa,omnis,1227 +1228,omnis,non,1228 +1229,dolore,non,1229 +1230,dolorem,quam,1230 +1231,voluptates,odio,1231 +1232,deserunt,non,1232 +1233,qui,deserunt,1233 +1234,debitis,ea,1234 +1235,accusamus,sed,1235 +1236,maiores,earum,1236 +1237,eum,vitae,1237 +1238,dolorem,maxime,1238 +1239,atque,officia,1239 +1240,rerum,sunt,1240 +1241,inventore,et,1241 +1242,sed,labore,1242 +1243,nulla,et,1243 +1244,neque,consectetur,1244 +1245,deleniti,assumenda,1245 +1246,assumenda,possimus,1246 +1247,deserunt,qui,1247 +1248,hic,et,1248 +1249,et,incidunt,1249 +1250,soluta,quos,1250 +1251,reprehenderit,natus,1251 +1252,omnis,in,1252 +1253,qui,libero,1253 +1254,occaecati,dolorem,1254 +1255,odio,rem,1255 +1256,tempora,temporibus,1256 +1257,quia,ut,1257 +1258,odit,et,1258 +1259,sapiente,optio,1259 +1260,aliquam,voluptatem,1260 +1261,dolorem,corrupti,1261 +1262,modi,necessitatibus,1262 +1263,sequi,doloremque,1263 +1264,voluptatum,dolorum,1264 +1265,sequi,quo,1265 +1266,reprehenderit,similique,1266 +1267,mollitia,molestias,1267 +1268,ut,vel,1268 +1269,quis,dolores,1269 +1270,nesciunt,consequatur,1270 +1271,praesentium,magni,1271 +1272,nemo,facilis,1272 +1273,molestiae,sint,1273 +1274,natus,est,1274 +1275,a,quibusdam,1275 +1276,sapiente,dignissimos,1276 +1277,sit,eaque,1277 +1278,possimus,illum,1278 +1279,ratione,assumenda,1279 +1280,fuga,quod,1280 +1281,quis,nam,1281 +1282,et,ut,1282 +1283,qui,accusantium,1283 +1284,molestias,aliquam,1284 +1285,ut,fugit,1285 +1286,nesciunt,dolor,1286 +1287,voluptatem,qui,1287 +1288,explicabo,iure,1288 +1289,ratione,itaque,1289 +1290,aut,non,1290 +1291,dolores,rerum,1291 +1292,nihil,dolore,1292 +1293,blanditiis,omnis,1293 +1294,in,dolor,1294 +1295,in,enim,1295 +1296,sed,repudiandae,1296 +1297,libero,delectus,1297 +1298,modi,voluptatum,1298 +1299,explicabo,impedit,1299 +1300,eum,accusantium,1300 +1301,dicta,expedita,1301 +1302,assumenda,eaque,1302 +1303,officia,necessitatibus,1303 +1304,doloremque,corrupti,1304 +1305,aut,minus,1305 +1306,aspernatur,ducimus,1306 +1307,voluptatem,deserunt,1307 +1308,quo,eum,1308 +1309,hic,ex,1309 +1310,perspiciatis,non,1310 +1311,dolore,exercitationem,1311 +1312,eligendi,itaque,1312 +1313,iure,enim,1313 +1314,nesciunt,molestias,1314 +1315,et,minima,1315 +1316,quae,et,1316 +1317,impedit,officiis,1317 +1318,dolor,at,1318 +1319,iste,ut,1319 +1320,qui,repudiandae,1320 +1321,veritatis,voluptatem,1321 +1322,ut,quis,1322 +1323,vitae,autem,1323 +1324,aliquid,quia,1324 +1325,voluptas,molestiae,1325 +1326,ratione,et,1326 +1327,architecto,et,1327 +1328,ut,occaecati,1328 +1329,nesciunt,omnis,1329 +1330,non,nihil,1330 +1331,repudiandae,consequuntur,1331 +1332,unde,animi,1332 +1333,dolorem,quis,1333 +1334,perspiciatis,culpa,1334 +1335,ratione,pariatur,1335 +1336,illo,porro,1336 +1337,veritatis,est,1337 +1338,eos,voluptates,1338 +1339,aut,reprehenderit,1339 +1340,est,corrupti,1340 +1341,doloremque,nulla,1341 +1342,sit,similique,1342 +1343,autem,ea,1343 +1344,ut,ex,1344 +1345,voluptas,qui,1345 +1346,ut,architecto,1346 +1347,aut,quisquam,1347 +1348,et,exercitationem,1348 +1349,quibusdam,ex,1349 +1350,dolores,ipsum,1350 +1351,recusandae,odit,1351 +1352,dignissimos,unde,1352 +1353,dolores,est,1353 +1354,ipsam,quibusdam,1354 +1355,repellat,eligendi,1355 +1356,atque,culpa,1356 +1357,hic,ipsum,1357 +1358,reprehenderit,aperiam,1358 +1359,fugiat,impedit,1359 +1360,quis,quasi,1360 +1361,officia,sequi,1361 +1362,architecto,recusandae,1362 +1363,labore,magnam,1363 +1364,reiciendis,qui,1364 +1365,non,ut,1365 +1366,omnis,et,1366 +1367,facere,ut,1367 +1368,est,odit,1368 +1369,ut,voluptatem,1369 +1370,excepturi,rerum,1370 +1371,amet,vitae,1371 +1372,sit,possimus,1372 +1373,debitis,ut,1373 +1374,eius,quas,1374 +1375,cum,fuga,1375 +1376,accusantium,impedit,1376 +1377,voluptate,totam,1377 +1378,molestias,aperiam,1378 +1379,aut,quasi,1379 +1380,nobis,laudantium,1380 +1381,quam,accusamus,1381 +1382,numquam,qui,1382 +1383,fugit,dolorem,1383 +1384,autem,est,1384 +1385,perferendis,harum,1385 +1386,quia,ea,1386 +1387,necessitatibus,explicabo,1387 +1388,voluptates,fuga,1388 +1389,consequatur,beatae,1389 +1390,aut,sed,1390 +1391,non,voluptatem,1391 +1392,culpa,dicta,1392 +1393,et,quasi,1393 +1394,ad,fuga,1394 +1395,quae,voluptates,1395 +1396,optio,est,1396 +1397,vel,perspiciatis,1397 +1398,enim,qui,1398 +1399,quae,ab,1399 +1400,aut,ut,1400 +1401,debitis,molestias,1401 +1402,sed,necessitatibus,1402 +1403,quo,labore,1403 +1404,minus,sunt,1404 +1405,rerum,assumenda,1405 +1406,voluptas,enim,1406 +1407,perferendis,minus,1407 +1408,sed,veritatis,1408 +1409,atque,ratione,1409 +1410,aut,voluptas,1410 +1411,qui,quod,1411 +1412,sit,voluptatem,1412 +1413,quam,ipsa,1413 +1414,excepturi,tenetur,1414 +1415,dolor,excepturi,1415 +1416,voluptate,repellendus,1416 +1417,et,ipsum,1417 +1418,ab,est,1418 +1419,accusantium,quia,1419 +1420,harum,asperiores,1420 +1421,praesentium,quaerat,1421 +1422,odit,veritatis,1422 +1423,qui,modi,1423 +1424,perferendis,quis,1424 +1425,iste,sunt,1425 +1426,omnis,explicabo,1426 +1427,ex,dolor,1427 +1428,maiores,veritatis,1428 +1429,optio,itaque,1429 +1430,beatae,praesentium,1430 +1431,ut,odio,1431 +1432,in,porro,1432 +1433,quos,exercitationem,1433 +1434,nihil,et,1434 +1435,quos,molestiae,1435 +1436,illum,quaerat,1436 +1437,dicta,tenetur,1437 +1438,ducimus,tenetur,1438 +1439,repudiandae,laudantium,1439 +1440,at,provident,1440 +1441,tempora,animi,1441 +1442,aut,voluptas,1442 +1443,ab,id,1443 +1444,rerum,ipsa,1444 +1445,quis,et,1445 +1446,odio,eum,1446 +1447,iure,sed,1447 +1448,rerum,dignissimos,1448 +1449,in,asperiores,1449 +1450,ratione,nobis,1450 +1451,distinctio,ipsa,1451 +1452,est,numquam,1452 +1453,ad,soluta,1453 +1454,quisquam,dolorem,1454 +1455,praesentium,quam,1455 +1456,sit,illum,1456 +1457,consequuntur,culpa,1457 +1458,inventore,accusantium,1458 +1459,id,aut,1459 +1460,rem,aliquid,1460 +1461,suscipit,esse,1461 +1462,exercitationem,praesentium,1462 +1463,maxime,sit,1463 +1464,culpa,repellendus,1464 +1465,quidem,voluptas,1465 +1466,repellendus,est,1466 +1467,fuga,occaecati,1467 +1468,magnam,iste,1468 +1469,aut,ad,1469 +1470,ea,iste,1470 +1471,aliquam,expedita,1471 +1472,expedita,id,1472 +1473,harum,itaque,1473 +1474,eum,iure,1474 +1475,mollitia,fuga,1475 +1476,earum,mollitia,1476 +1477,possimus,ad,1477 +1478,non,sint,1478 +1479,dolorem,nesciunt,1479 +1480,ut,minima,1480 +1481,nam,iure,1481 +1482,qui,rem,1482 +1483,sit,aliquam,1483 +1484,placeat,ipsa,1484 +1485,non,exercitationem,1485 +1486,doloribus,ullam,1486 +1487,fugit,blanditiis,1487 +1488,sed,quos,1488 +1489,sunt,qui,1489 +1490,a,assumenda,1490 +1491,doloribus,sint,1491 +1492,molestias,animi,1492 +1493,repellat,cum,1493 +1494,dicta,illo,1494 +1495,aut,laborum,1495 +1496,ex,quibusdam,1496 +1497,aut,quidem,1497 +1498,id,quos,1498 +1499,dolores,neque,1499 +1500,quam,aut,1500 +1501,aut,sit,1501 +1502,pariatur,ipsa,1502 +1503,excepturi,natus,1503 +1504,tenetur,minus,1504 +1505,ea,quam,1505 +1506,unde,in,1506 +1507,quasi,laudantium,1507 +1508,eum,nesciunt,1508 +1509,quis,sint,1509 +1510,id,aspernatur,1510 +1511,sapiente,ducimus,1511 +1512,saepe,pariatur,1512 +1513,amet,rerum,1513 +1514,numquam,nobis,1514 +1515,voluptatum,numquam,1515 +1516,in,quia,1516 +1517,quia,perferendis,1517 +1518,necessitatibus,qui,1518 +1519,asperiores,et,1519 +1520,eaque,est,1520 +1521,assumenda,pariatur,1521 +1522,ipsam,id,1522 +1523,et,quia,1523 +1524,possimus,asperiores,1524 +1525,quo,quia,1525 +1526,quia,omnis,1526 +1527,assumenda,recusandae,1527 +1528,quia,ut,1528 +1529,exercitationem,est,1529 +1530,velit,exercitationem,1530 +1531,illum,nihil,1531 +1532,a,aspernatur,1532 +1533,exercitationem,labore,1533 +1534,officiis,doloribus,1534 +1535,et,eaque,1535 +1536,ut,inventore,1536 +1537,aliquam,fuga,1537 +1538,voluptate,numquam,1538 +1539,quis,delectus,1539 +1540,sint,assumenda,1540 +1541,quae,veritatis,1541 +1542,soluta,consectetur,1542 +1543,qui,voluptatem,1543 +1544,enim,consequuntur,1544 +1545,id,id,1545 +1546,labore,provident,1546 +1547,placeat,quia,1547 +1548,nobis,odit,1548 +1549,consequatur,velit,1549 +1550,voluptates,ut,1550 +1551,ipsam,nihil,1551 +1552,eius,eum,1552 +1553,unde,suscipit,1553 +1554,sequi,ipsa,1554 +1555,eligendi,molestias,1555 +1556,reprehenderit,dolorum,1556 +1557,dolorem,maxime,1557 +1558,distinctio,maiores,1558 +1559,labore,dicta,1559 +1560,et,aut,1560 +1561,fugiat,officia,1561 +1562,itaque,blanditiis,1562 +1563,minus,qui,1563 +1564,illo,reiciendis,1564 +1565,velit,sunt,1565 +1566,mollitia,nobis,1566 +1567,ut,perspiciatis,1567 +1568,a,numquam,1568 +1569,unde,sed,1569 +1570,aut,et,1570 +1571,veniam,quis,1571 +1572,ratione,maxime,1572 +1573,adipisci,molestiae,1573 +1574,nesciunt,adipisci,1574 +1575,enim,molestiae,1575 +1576,ut,consequatur,1576 +1577,voluptates,possimus,1577 +1578,ad,excepturi,1578 +1579,repellendus,qui,1579 +1580,incidunt,minus,1580 +1581,enim,adipisci,1581 +1582,commodi,doloremque,1582 +1583,est,architecto,1583 +1584,est,est,1584 +1585,dignissimos,commodi,1585 +1586,debitis,earum,1586 +1587,ipsa,omnis,1587 +1588,quia,sunt,1588 +1589,et,quo,1589 +1590,ea,inventore,1590 +1591,distinctio,consectetur,1591 +1592,provident,voluptates,1592 +1593,et,et,1593 +1594,eaque,quos,1594 +1595,est,eum,1595 +1596,et,quaerat,1596 +1597,doloremque,voluptatem,1597 +1598,omnis,quo,1598 +1599,et,labore,1599 +1600,voluptatibus,nisi,1600 +1601,inventore,asperiores,1601 +1602,possimus,repudiandae,1602 +1603,vitae,dolore,1603 +1604,qui,occaecati,1604 +1605,et,aut,1605 +1606,quaerat,aut,1606 +1607,similique,ut,1607 +1608,aspernatur,expedita,1608 +1609,nobis,dignissimos,1609 +1610,repellat,accusantium,1610 +1611,totam,corrupti,1611 +1612,reiciendis,quod,1612 +1613,minima,quaerat,1613 +1614,harum,et,1614 +1615,repudiandae,ipsam,1615 +1616,velit,et,1616 +1617,sit,suscipit,1617 +1618,ducimus,eveniet,1618 +1619,eum,eos,1619 +1620,expedita,aspernatur,1620 +1621,qui,quas,1621 +1622,voluptates,et,1622 +1623,nisi,consequatur,1623 +1624,voluptates,dolores,1624 +1625,quam,ea,1625 +1626,commodi,similique,1626 +1627,adipisci,modi,1627 +1628,reprehenderit,autem,1628 +1629,veniam,quam,1629 +1630,doloremque,quis,1630 +1631,dignissimos,aut,1631 +1632,dolorum,enim,1632 +1633,repellat,facilis,1633 +1634,quisquam,vero,1634 +1635,iure,sed,1635 +1636,consequuntur,reiciendis,1636 +1637,dolorem,qui,1637 +1638,nisi,qui,1638 +1639,modi,qui,1639 +1640,illo,at,1640 +1641,eligendi,ea,1641 +1642,ea,sit,1642 +1643,rem,laborum,1643 +1644,ut,voluptas,1644 +1645,fugit,repellendus,1645 +1646,reprehenderit,est,1646 +1647,laudantium,id,1647 +1648,omnis,ut,1648 +1649,temporibus,officia,1649 +1650,neque,ut,1650 +1651,praesentium,delectus,1651 +1652,voluptates,rerum,1652 +1653,et,tempora,1653 +1654,fugiat,aut,1654 +1655,autem,quibusdam,1655 +1656,voluptates,doloremque,1656 +1657,ducimus,voluptas,1657 +1658,ut,dicta,1658 +1659,quibusdam,tempora,1659 +1660,vel,omnis,1660 +1661,est,aut,1661 +1662,odit,aut,1662 +1663,qui,numquam,1663 +1664,dicta,quas,1664 +1665,fugiat,rerum,1665 +1666,quia,accusamus,1666 +1667,voluptatem,perferendis,1667 +1668,quia,nobis,1668 +1669,dolore,ut,1669 +1670,esse,quidem,1670 +1671,hic,molestiae,1671 +1672,perspiciatis,ut,1672 +1673,rerum,eaque,1673 +1674,ullam,commodi,1674 +1675,qui,ducimus,1675 +1676,ut,qui,1676 +1677,eos,est,1677 +1678,sed,tenetur,1678 +1679,inventore,numquam,1679 +1680,ut,et,1680 +1681,et,et,1681 +1682,omnis,quidem,1682 +1683,dolorem,quia,1683 +1684,dignissimos,et,1684 +1685,quas,ut,1685 +1686,aperiam,qui,1686 +1687,corporis,praesentium,1687 +1688,reiciendis,eveniet,1688 +1689,laboriosam,tempore,1689 +1690,omnis,architecto,1690 +1691,quia,tempore,1691 +1692,illo,cumque,1692 +1693,blanditiis,sapiente,1693 +1694,alias,explicabo,1694 +1695,eius,voluptatum,1695 +1696,qui,cupiditate,1696 +1697,vero,numquam,1697 +1698,quidem,iure,1698 +1699,modi,aut,1699 +1700,at,quos,1700 +1701,animi,maxime,1701 +1702,cumque,vitae,1702 +1703,vel,fugit,1703 +1704,soluta,maiores,1704 +1705,asperiores,ullam,1705 +1706,et,asperiores,1706 +1707,aut,atque,1707 +1708,quasi,asperiores,1708 +1709,autem,nemo,1709 +1710,facere,laborum,1710 +1711,molestias,sint,1711 +1712,dolorem,magni,1712 +1713,amet,sit,1713 +1714,id,iure,1714 +1715,fuga,totam,1715 +1716,vitae,labore,1716 +1717,omnis,voluptatem,1717 +1718,voluptas,commodi,1718 +1719,ea,ipsam,1719 +1720,incidunt,quos,1720 +1721,ut,fugit,1721 +1722,accusamus,odio,1722 +1723,ullam,accusamus,1723 +1724,distinctio,adipisci,1724 +1725,voluptatem,alias,1725 +1726,quos,quod,1726 +1727,doloremque,ut,1727 +1728,animi,quo,1728 +1729,sunt,dicta,1729 +1730,repudiandae,voluptatem,1730 +1731,sit,ratione,1731 +1732,accusamus,minus,1732 +1733,aut,fugiat,1733 +1734,sequi,dolorem,1734 +1735,aliquid,eum,1735 +1736,et,ea,1736 +1737,commodi,iure,1737 +1738,quis,eius,1738 +1739,nulla,quaerat,1739 +1740,sequi,ut,1740 +1741,inventore,dolores,1741 +1742,incidunt,asperiores,1742 +1743,iusto,quam,1743 +1744,labore,numquam,1744 +1745,libero,ex,1745 +1746,praesentium,eos,1746 +1747,perferendis,officia,1747 +1748,et,et,1748 +1749,nesciunt,recusandae,1749 +1750,praesentium,dolor,1750 +1751,fugiat,et,1751 +1752,odio,omnis,1752 +1753,vel,voluptate,1753 +1754,aperiam,ipsum,1754 +1755,temporibus,laborum,1755 +1756,dolores,nobis,1756 +1757,nostrum,aut,1757 +1758,architecto,voluptatibus,1758 +1759,asperiores,quia,1759 +1760,suscipit,magni,1760 +1761,quia,autem,1761 +1762,illum,id,1762 +1763,voluptatem,aut,1763 +1764,quia,numquam,1764 +1765,molestiae,sed,1765 +1766,possimus,perspiciatis,1766 +1767,eius,et,1767 +1768,labore,quia,1768 +1769,dolorum,commodi,1769 +1770,alias,eos,1770 +1771,voluptatem,a,1771 +1772,labore,sed,1772 +1773,quia,quidem,1773 +1774,perferendis,recusandae,1774 +1775,dolor,voluptas,1775 +1776,doloribus,soluta,1776 +1777,pariatur,qui,1777 +1778,rerum,non,1778 +1779,rerum,fuga,1779 +1780,in,minus,1780 +1781,dolor,animi,1781 +1782,voluptates,aliquam,1782 +1783,et,nihil,1783 +1784,nulla,quo,1784 +1785,tempore,asperiores,1785 +1786,consequuntur,vitae,1786 +1787,quia,sed,1787 +1788,et,dolorum,1788 +1789,modi,doloribus,1789 +1790,officia,et,1790 +1791,sequi,maiores,1791 +1792,et,incidunt,1792 +1793,quasi,possimus,1793 +1794,enim,ipsum,1794 +1795,rem,eius,1795 +1796,debitis,illum,1796 +1797,ratione,quos,1797 +1798,nostrum,animi,1798 +1799,id,voluptatum,1799 +1800,sapiente,soluta,1800 +1801,tempore,magnam,1801 +1802,est,dolorem,1802 +1803,nam,corporis,1803 +1804,architecto,distinctio,1804 +1805,nihil,labore,1805 +1806,saepe,incidunt,1806 +1807,magnam,numquam,1807 +1808,est,voluptatem,1808 +1809,excepturi,eligendi,1809 +1810,et,veniam,1810 +1811,ipsum,hic,1811 +1812,non,dignissimos,1812 +1813,voluptas,nihil,1813 +1814,mollitia,delectus,1814 +1815,voluptatem,dolore,1815 +1816,voluptatem,modi,1816 +1817,recusandae,nihil,1817 +1818,et,commodi,1818 +1819,ad,dolor,1819 +1820,magni,esse,1820 +1821,repellat,distinctio,1821 +1822,illo,sapiente,1822 +1823,illum,sit,1823 +1824,sit,natus,1824 +1825,voluptatem,commodi,1825 +1826,dolorum,perspiciatis,1826 +1827,ipsum,recusandae,1827 +1828,cum,aut,1828 +1829,quo,sunt,1829 +1830,voluptatem,facilis,1830 +1831,non,numquam,1831 +1832,molestias,est,1832 +1833,omnis,repellat,1833 +1834,aut,illum,1834 +1835,eum,nulla,1835 +1836,earum,rem,1836 +1837,aperiam,aut,1837 +1838,ut,placeat,1838 +1839,repellat,impedit,1839 +1840,et,harum,1840 +1841,voluptatibus,et,1841 +1842,excepturi,perspiciatis,1842 +1843,culpa,nihil,1843 +1844,accusantium,ratione,1844 +1845,ut,culpa,1845 +1846,debitis,et,1846 +1847,omnis,aut,1847 +1848,debitis,voluptatibus,1848 +1849,libero,omnis,1849 +1850,corporis,quis,1850 +1851,impedit,vel,1851 +1852,amet,animi,1852 +1853,ab,incidunt,1853 +1854,quis,odit,1854 +1855,possimus,soluta,1855 +1856,ex,rerum,1856 +1857,est,voluptatem,1857 +1858,laborum,quis,1858 +1859,quia,error,1859 +1860,fugiat,ex,1860 +1861,laborum,aut,1861 +1862,possimus,eveniet,1862 +1863,impedit,a,1863 +1864,ducimus,nihil,1864 +1865,quae,quo,1865 +1866,aut,quibusdam,1866 +1867,et,minima,1867 +1868,aut,in,1868 +1869,aut,qui,1869 +1870,incidunt,atque,1870 +1871,eum,consequatur,1871 +1872,voluptatem,aut,1872 +1873,nobis,rerum,1873 +1874,dolorem,itaque,1874 +1875,sed,nam,1875 +1876,ab,rerum,1876 +1877,hic,ut,1877 +1878,error,ipsam,1878 +1879,fugiat,esse,1879 +1880,dolores,tenetur,1880 +1881,saepe,quisquam,1881 +1882,vel,est,1882 +1883,nisi,ratione,1883 +1884,nemo,facilis,1884 +1885,sed,reprehenderit,1885 +1886,asperiores,aut,1886 +1887,ut,mollitia,1887 +1888,harum,ratione,1888 +1889,repudiandae,sit,1889 +1890,aut,sequi,1890 +1891,voluptates,libero,1891 +1892,aut,dolore,1892 +1893,reiciendis,in,1893 +1894,temporibus,natus,1894 +1895,quam,voluptatem,1895 +1896,quaerat,aut,1896 +1897,minima,enim,1897 +1898,est,quia,1898 +1899,minus,non,1899 +1900,maiores,ab,1900 +1901,ea,sint,1901 +1902,incidunt,necessitatibus,1902 +1903,autem,rerum,1903 +1904,doloremque,eveniet,1904 +1905,voluptates,quo,1905 +1906,non,earum,1906 +1907,ullam,qui,1907 +1908,ut,doloribus,1908 +1909,beatae,aliquam,1909 +1910,aut,nemo,1910 +1911,eaque,et,1911 +1912,quia,voluptatibus,1912 +1913,quia,ut,1913 +1914,expedita,nesciunt,1914 +1915,et,doloribus,1915 +1916,laborum,impedit,1916 +1917,velit,dolorem,1917 +1918,officiis,repellat,1918 +1919,eum,quos,1919 +1920,iure,porro,1920 +1921,sunt,perspiciatis,1921 +1922,dolorem,dolores,1922 +1923,illo,perferendis,1923 +1924,dicta,qui,1924 +1925,vel,sit,1925 +1926,dicta,maiores,1926 +1927,eveniet,doloribus,1927 +1928,quaerat,quo,1928 +1929,unde,voluptas,1929 +1930,qui,qui,1930 +1931,sed,illum,1931 +1932,eos,sed,1932 +1933,quidem,odio,1933 +1934,sapiente,asperiores,1934 +1935,voluptatem,alias,1935 +1936,ad,ipsa,1936 +1937,quia,dolorem,1937 +1938,et,repellat,1938 +1939,quod,esse,1939 +1940,eligendi,eligendi,1940 +1941,ea,sit,1941 +1942,sunt,officia,1942 +1943,doloribus,totam,1943 +1944,possimus,quas,1944 +1945,ipsum,inventore,1945 +1946,quae,tempora,1946 +1947,cumque,sed,1947 +1948,illum,ea,1948 +1949,consequuntur,velit,1949 +1950,repudiandae,numquam,1950 +1951,impedit,aut,1951 +1952,vero,eveniet,1952 +1953,non,qui,1953 +1954,aut,et,1954 +1955,voluptates,impedit,1955 +1956,omnis,quas,1956 +1957,error,et,1957 +1958,possimus,nihil,1958 +1959,debitis,sunt,1959 +1960,aut,quas,1960 +1961,sit,sit,1961 +1962,nesciunt,aut,1962 +1963,architecto,quis,1963 +1964,vel,magni,1964 +1965,odit,odio,1965 +1966,repellendus,voluptatem,1966 +1967,soluta,explicabo,1967 +1968,repellendus,soluta,1968 +1969,omnis,aut,1969 +1970,et,molestiae,1970 +1971,architecto,in,1971 +1972,quia,dignissimos,1972 +1973,dolor,suscipit,1973 +1974,laborum,ut,1974 +1975,nulla,corporis,1975 +1976,deleniti,sit,1976 +1977,eveniet,aperiam,1977 +1978,qui,voluptatem,1978 +1979,possimus,mollitia,1979 +1980,consectetur,est,1980 +1981,molestias,facere,1981 +1982,dolorem,dolorem,1982 +1983,cumque,asperiores,1983 +1984,earum,molestiae,1984 +1985,ut,ea,1985 +1986,veniam,debitis,1986 +1987,ratione,ut,1987 +1988,et,nisi,1988 +1989,sit,sed,1989 +1990,quibusdam,quo,1990 +1991,perspiciatis,aut,1991 +1992,vel,ut,1992 +1993,ad,autem,1993 +1994,aspernatur,alias,1994 +1995,sed,quia,1995 +1996,est,et,1996 +1997,adipisci,voluptatem,1997 +1998,architecto,explicabo,1998 +1999,temporibus,sit,1999 +2000,explicabo,eveniet,2000 +2001,mollitia,perferendis,2001 +2002,qui,qui,2002 +2003,consequatur,et,2003 +2004,vel,quia,2004 +2005,fuga,nihil,2005 +2006,aspernatur,illum,2006 +2007,soluta,ducimus,2007 +2008,hic,cupiditate,2008 +2009,et,omnis,2009 +2010,deleniti,aliquam,2010 +2011,odio,commodi,2011 +2012,dolor,enim,2012 +2013,et,corrupti,2013 +2014,omnis,qui,2014 +2015,rerum,eum,2015 +2016,est,alias,2016 +2017,nesciunt,voluptatibus,2017 +2018,magni,repudiandae,2018 +2019,sunt,animi,2019 +2020,rerum,ut,2020 +2021,et,quo,2021 +2022,qui,voluptatem,2022 +2023,voluptas,sed,2023 +2024,quis,molestiae,2024 +2025,earum,qui,2025 +2026,quas,ut,2026 +2027,nihil,recusandae,2027 +2028,quis,magni,2028 +2029,harum,omnis,2029 +2030,sint,sapiente,2030 +2031,voluptatem,aperiam,2031 +2032,quos,rerum,2032 +2033,autem,repellat,2033 +2034,debitis,quibusdam,2034 +2035,porro,beatae,2035 +2036,facere,non,2036 +2037,ullam,maxime,2037 +2038,aperiam,et,2038 +2039,omnis,commodi,2039 +2040,assumenda,eos,2040 +2041,iste,est,2041 +2042,voluptatem,eius,2042 +2043,reprehenderit,eos,2043 +2044,ut,optio,2044 +2045,sequi,ipsum,2045 +2046,in,ab,2046 +2047,et,natus,2047 +2048,alias,nam,2048 +2049,perferendis,qui,2049 +2050,fugit,id,2050 +2051,illum,alias,2051 +2052,est,explicabo,2052 +2053,sed,qui,2053 +2054,nam,odio,2054 +2055,illum,vel,2055 +2056,repellendus,impedit,2056 +2057,minus,placeat,2057 +2058,quas,exercitationem,2058 +2059,deleniti,magni,2059 +2060,adipisci,quibusdam,2060 +2061,voluptatem,voluptatem,2061 +2062,est,iure,2062 +2063,repellat,ratione,2063 +2064,quis,asperiores,2064 +2065,dolore,dolor,2065 +2066,sed,vero,2066 +2067,in,aliquam,2067 +2068,est,quia,2068 +2069,quisquam,quam,2069 +2070,est,ut,2070 +2071,aut,magni,2071 +2072,consectetur,amet,2072 +2073,unde,dignissimos,2073 +2074,et,sint,2074 +2075,reiciendis,suscipit,2075 +2076,corrupti,natus,2076 +2077,ut,repellendus,2077 +2078,qui,tempore,2078 +2079,sit,voluptatem,2079 +2080,totam,reiciendis,2080 +2081,dicta,nihil,2081 +2082,aperiam,maxime,2082 +2083,voluptatum,est,2083 +2084,reprehenderit,laborum,2084 +2085,esse,tempore,2085 +2086,voluptatem,cupiditate,2086 +2087,officia,atque,2087 +2088,error,vitae,2088 +2089,facilis,omnis,2089 +2090,facere,quia,2090 +2091,est,nam,2091 +2092,unde,rem,2092 +2093,et,qui,2093 +2094,qui,neque,2094 +2095,velit,inventore,2095 +2096,cum,rem,2096 +2097,aut,hic,2097 +2098,autem,error,2098 +2099,nam,earum,2099 +2100,nemo,est,2100 +2101,sit,provident,2101 +2102,minus,dolores,2102 +2103,eligendi,totam,2103 +2104,et,consequuntur,2104 +2105,aut,harum,2105 +2106,delectus,laudantium,2106 +2107,fuga,ut,2107 +2108,aut,temporibus,2108 +2109,ut,velit,2109 +2110,recusandae,cumque,2110 +2111,laudantium,quibusdam,2111 +2112,ex,excepturi,2112 +2113,nihil,vitae,2113 +2114,commodi,rerum,2114 +2115,nam,nesciunt,2115 +2116,in,autem,2116 +2117,autem,natus,2117 +2118,fugit,fugiat,2118 +2119,nostrum,rerum,2119 +2120,non,sunt,2120 +2121,libero,quibusdam,2121 +2122,ad,optio,2122 +2123,magni,omnis,2123 +2124,sed,qui,2124 +2125,assumenda,similique,2125 +2126,et,placeat,2126 +2127,accusantium,tempora,2127 +2128,natus,eligendi,2128 +2129,sed,explicabo,2129 +2130,occaecati,corporis,2130 +2131,id,et,2131 +2132,repudiandae,sequi,2132 +2133,soluta,a,2133 +2134,deserunt,maxime,2134 +2135,quasi,mollitia,2135 +2136,eius,nihil,2136 +2137,fugit,a,2137 +2138,omnis,debitis,2138 +2139,illo,cumque,2139 +2140,necessitatibus,rem,2140 +2141,iste,ut,2141 +2142,aut,dolorum,2142 +2143,sit,beatae,2143 +2144,voluptatem,quod,2144 +2145,ea,laborum,2145 +2146,exercitationem,vel,2146 +2147,minima,qui,2147 +2148,illo,ut,2148 +2149,illum,et,2149 +2150,id,saepe,2150 +2151,molestiae,consectetur,2151 +2152,corrupti,dolorem,2152 +2153,natus,laboriosam,2153 +2154,dignissimos,consectetur,2154 +2155,sed,rerum,2155 +2156,aut,qui,2156 +2157,sed,aliquid,2157 +2158,in,et,2158 +2159,dolor,sunt,2159 +2160,repellat,illum,2160 +2161,quis,odio,2161 +2162,reiciendis,ut,2162 +2163,sapiente,voluptatem,2163 +2164,quis,tempore,2164 +2165,praesentium,quia,2165 +2166,dolor,sunt,2166 +2167,aliquam,temporibus,2167 +2168,magni,assumenda,2168 +2169,distinctio,sed,2169 +2170,nihil,quaerat,2170 +2171,commodi,ut,2171 +2172,libero,quia,2172 +2173,quis,tempore,2173 +2174,nihil,porro,2174 +2175,quam,omnis,2175 +2176,ut,voluptas,2176 +2177,nisi,possimus,2177 +2178,libero,rerum,2178 +2179,dolores,similique,2179 +2180,omnis,atque,2180 +2181,pariatur,ut,2181 +2182,inventore,mollitia,2182 +2183,voluptate,commodi,2183 +2184,rerum,impedit,2184 +2185,vitae,quam,2185 +2186,delectus,sed,2186 +2187,sed,quia,2187 +2188,consequatur,praesentium,2188 +2189,natus,officiis,2189 +2190,est,at,2190 +2191,cumque,ipsum,2191 +2192,est,iusto,2192 +2193,iusto,omnis,2193 +2194,et,corporis,2194 +2195,molestiae,totam,2195 +2196,unde,ducimus,2196 +2197,ex,quos,2197 +2198,soluta,est,2198 +2199,aut,rerum,2199 +2200,qui,voluptatem,2200 +2201,necessitatibus,fuga,2201 +2202,accusamus,natus,2202 +2203,et,qui,2203 +2204,in,aut,2204 +2205,porro,harum,2205 +2206,sequi,reiciendis,2206 +2207,sit,omnis,2207 +2208,qui,iste,2208 +2209,qui,temporibus,2209 +2210,nostrum,doloremque,2210 +2211,amet,dolor,2211 +2212,delectus,aut,2212 +2213,aspernatur,dignissimos,2213 +2214,tempore,reprehenderit,2214 +2215,explicabo,dolorem,2215 +2216,repellendus,et,2216 +2217,aut,dolorem,2217 +2218,blanditiis,nostrum,2218 +2219,aspernatur,perferendis,2219 +2220,tempore,et,2220 +2221,doloribus,et,2221 +2222,placeat,neque,2222 +2223,optio,velit,2223 +2224,nostrum,rerum,2224 +2225,est,quis,2225 +2226,illum,minus,2226 +2227,est,eum,2227 +2228,aut,et,2228 +2229,dolore,laborum,2229 +2230,praesentium,nostrum,2230 +2231,soluta,aperiam,2231 +2232,aspernatur,explicabo,2232 +2233,odio,nam,2233 +2234,porro,est,2234 +2235,quia,omnis,2235 +2236,dolores,est,2236 +2237,ipsam,quis,2237 +2238,nemo,quia,2238 +2239,rerum,et,2239 +2240,incidunt,asperiores,2240 +2241,atque,soluta,2241 +2242,ipsam,quia,2242 +2243,sed,voluptas,2243 +2244,ipsum,quae,2244 +2245,voluptas,dolor,2245 +2246,corrupti,odit,2246 +2247,nesciunt,error,2247 +2248,reprehenderit,consectetur,2248 +2249,temporibus,esse,2249 +2250,neque,aut,2250 +2251,illo,quibusdam,2251 +2252,veritatis,aut,2252 +2253,adipisci,temporibus,2253 +2254,vel,aut,2254 +2255,aut,qui,2255 +2256,sequi,atque,2256 +2257,asperiores,quo,2257 +2258,culpa,fuga,2258 +2259,sint,ipsam,2259 +2260,sit,deleniti,2260 +2261,quidem,consequuntur,2261 +2262,aliquid,corrupti,2262 +2263,ipsam,cum,2263 +2264,a,deleniti,2264 +2265,eius,veniam,2265 +2266,magnam,placeat,2266 +2267,atque,voluptatem,2267 +2268,eos,atque,2268 +2269,voluptatibus,modi,2269 +2270,omnis,culpa,2270 +2271,vitae,esse,2271 +2272,ut,occaecati,2272 +2273,mollitia,reprehenderit,2273 +2274,maxime,sunt,2274 +2275,quibusdam,placeat,2275 +2276,eos,sint,2276 +2277,dolore,quo,2277 +2278,architecto,rem,2278 +2279,quia,tempore,2279 +2280,voluptatem,est,2280 +2281,rerum,non,2281 +2282,minima,reiciendis,2282 +2283,sed,nihil,2283 +2284,sed,rerum,2284 +2285,rerum,quas,2285 +2286,aut,error,2286 +2287,quo,sit,2287 +2288,excepturi,facilis,2288 +2289,et,impedit,2289 +2290,in,qui,2290 +2291,quas,nemo,2291 +2292,sunt,et,2292 +2293,ipsum,maxime,2293 +2294,nobis,quia,2294 +2295,delectus,sint,2295 +2296,enim,omnis,2296 +2297,enim,eligendi,2297 +2298,minus,sapiente,2298 +2299,omnis,voluptatum,2299 +2300,unde,porro,2300 +2301,reiciendis,laudantium,2301 +2302,laboriosam,officia,2302 +2303,rerum,nobis,2303 +2304,qui,dolores,2304 +2305,est,eius,2305 +2306,velit,perspiciatis,2306 +2307,nam,mollitia,2307 +2308,autem,id,2308 +2309,beatae,iusto,2309 +2310,quia,rem,2310 +2311,quaerat,tempora,2311 +2312,ut,assumenda,2312 +2313,voluptas,aspernatur,2313 +2314,omnis,et,2314 +2315,aut,corrupti,2315 +2316,commodi,harum,2316 +2317,hic,at,2317 +2318,eum,facilis,2318 +2319,aut,ut,2319 +2320,quo,est,2320 +2321,voluptatibus,culpa,2321 +2322,unde,voluptatem,2322 +2323,sit,atque,2323 +2324,deserunt,voluptatem,2324 +2325,adipisci,minus,2325 +2326,dolores,velit,2326 +2327,et,beatae,2327 +2328,ipsa,voluptatem,2328 +2329,adipisci,soluta,2329 +2330,dolor,quas,2330 +2331,reiciendis,facere,2331 +2332,earum,reiciendis,2332 +2333,exercitationem,sint,2333 +2334,placeat,animi,2334 +2335,aut,eos,2335 +2336,accusamus,velit,2336 +2337,dolores,cumque,2337 +2338,eveniet,voluptatibus,2338 +2339,expedita,quia,2339 +2340,saepe,totam,2340 +2341,ipsam,quo,2341 +2342,mollitia,porro,2342 +2343,accusantium,odit,2343 +2344,facilis,nostrum,2344 +2345,id,iste,2345 +2346,in,odio,2346 +2347,aliquid,maiores,2347 +2348,quod,maxime,2348 +2349,ipsa,perspiciatis,2349 +2350,necessitatibus,eum,2350 +2351,eveniet,ut,2351 +2352,rem,dolor,2352 +2353,maxime,est,2353 +2354,at,blanditiis,2354 +2355,qui,nam,2355 +2356,eligendi,dolores,2356 +2357,nesciunt,molestias,2357 +2358,explicabo,soluta,2358 +2359,et,aut,2359 +2360,quis,sunt,2360 +2361,illum,similique,2361 +2362,et,aperiam,2362 +2363,et,fugiat,2363 +2364,dignissimos,beatae,2364 +2365,sed,praesentium,2365 +2366,amet,id,2366 +2367,accusantium,ad,2367 +2368,iure,rem,2368 +2369,sed,tenetur,2369 +2370,laudantium,placeat,2370 +2371,nobis,doloribus,2371 +2372,qui,in,2372 +2373,in,aliquid,2373 +2374,culpa,omnis,2374 +2375,pariatur,facilis,2375 +2376,quia,aspernatur,2376 +2377,nisi,et,2377 +2378,eos,aut,2378 +2379,quidem,iusto,2379 +2380,numquam,reiciendis,2380 +2381,debitis,consequatur,2381 +2382,ea,amet,2382 +2383,aut,dicta,2383 +2384,cumque,aspernatur,2384 +2385,quas,adipisci,2385 +2386,eligendi,ipsam,2386 +2387,esse,labore,2387 +2388,recusandae,et,2388 +2389,ea,et,2389 +2390,alias,est,2390 +2391,dolor,qui,2391 +2392,quibusdam,in,2392 +2393,minima,id,2393 +2394,iste,possimus,2394 +2395,ipsum,iure,2395 +2396,ullam,rerum,2396 +2397,qui,molestias,2397 +2398,sit,eos,2398 +2399,voluptatem,officia,2399 +2400,pariatur,voluptas,2400 +2401,quos,cumque,2401 +2402,repellat,rem,2402 +2403,distinctio,aut,2403 +2404,esse,consequatur,2404 +2405,cum,natus,2405 +2406,cum,libero,2406 +2407,laudantium,vero,2407 +2408,officia,est,2408 +2409,eos,quas,2409 +2410,aut,eaque,2410 +2411,accusantium,molestias,2411 +2412,dignissimos,rerum,2412 +2413,sed,voluptates,2413 +2414,dolore,rerum,2414 +2415,perferendis,aut,2415 +2416,ipsa,vero,2416 +2417,vel,eum,2417 +2418,soluta,iure,2418 +2419,quibusdam,exercitationem,2419 +2420,et,unde,2420 +2421,provident,sunt,2421 +2422,deleniti,sit,2422 +2423,omnis,est,2423 +2424,et,doloribus,2424 +2425,consectetur,cumque,2425 +2426,ea,magnam,2426 +2427,distinctio,autem,2427 +2428,molestiae,et,2428 +2429,reprehenderit,consequatur,2429 +2430,accusantium,magni,2430 +2431,ratione,quae,2431 +2432,mollitia,odit,2432 +2433,tempora,vero,2433 +2434,nostrum,rerum,2434 +2435,tenetur,molestiae,2435 +2436,dignissimos,cum,2436 +2437,ipsum,laboriosam,2437 +2438,quasi,inventore,2438 +2439,perferendis,et,2439 +2440,quasi,voluptas,2440 +2441,qui,esse,2441 +2442,suscipit,animi,2442 +2443,ullam,qui,2443 +2444,veniam,est,2444 +2445,facilis,sit,2445 +2446,incidunt,autem,2446 +2447,sint,est,2447 +2448,dolorem,eveniet,2448 +2449,facere,ut,2449 +2450,iste,earum,2450 +2451,et,esse,2451 +2452,perspiciatis,minima,2452 +2453,et,consequatur,2453 +2454,magni,voluptatum,2454 +2455,soluta,officia,2455 +2456,vitae,harum,2456 +2457,inventore,nisi,2457 +2458,pariatur,tempora,2458 +2459,accusantium,iste,2459 +2460,non,quam,2460 +2461,esse,aut,2461 +2462,nulla,cumque,2462 +2463,nobis,deleniti,2463 +2464,rerum,maxime,2464 +2465,doloremque,rem,2465 +2466,iusto,molestiae,2466 +2467,temporibus,itaque,2467 +2468,sit,hic,2468 +2469,sapiente,qui,2469 +2470,sed,corporis,2470 +2471,maxime,ratione,2471 +2472,voluptatem,voluptatem,2472 +2473,corporis,id,2473 +2474,natus,pariatur,2474 +2475,nemo,dolor,2475 +2476,ex,enim,2476 +2477,dolorem,quo,2477 +2478,voluptas,provident,2478 +2479,repellendus,sunt,2479 +2480,non,pariatur,2480 +2481,illum,est,2481 +2482,officiis,dolor,2482 +2483,dicta,dolor,2483 +2484,sed,earum,2484 +2485,placeat,ullam,2485 +2486,voluptatem,officia,2486 +2487,non,et,2487 +2488,modi,corporis,2488 +2489,cum,ipsum,2489 +2490,qui,reiciendis,2490 +2491,distinctio,eos,2491 +2492,eos,possimus,2492 +2493,vel,maiores,2493 +2494,assumenda,doloremque,2494 +2495,optio,ad,2495 +2496,fugiat,voluptatem,2496 +2497,facere,nobis,2497 +2498,eos,et,2498 +2499,asperiores,vero,2499 +2500,omnis,nisi,2500 +2501,sed,occaecati,2501 +2502,commodi,sit,2502 +2503,incidunt,ipsa,2503 +2504,non,aliquam,2504 +2505,omnis,voluptas,2505 +2506,est,magni,2506 +2507,tempore,sint,2507 +2508,aliquam,praesentium,2508 +2509,nulla,fugiat,2509 +2510,iste,et,2510 +2511,quia,odit,2511 +2512,blanditiis,a,2512 +2513,numquam,et,2513 +2514,veniam,enim,2514 +2515,ipsam,eligendi,2515 +2516,nam,et,2516 +2517,ut,fuga,2517 +2518,eos,rem,2518 +2519,cupiditate,nemo,2519 +2520,sint,fuga,2520 +2521,ab,minima,2521 +2522,doloribus,voluptatem,2522 +2523,amet,tempore,2523 +2524,veniam,quae,2524 +2525,magnam,nesciunt,2525 +2526,quidem,vitae,2526 +2527,perferendis,et,2527 +2528,earum,aut,2528 +2529,consequatur,aut,2529 +2530,eveniet,placeat,2530 +2531,amet,autem,2531 +2532,in,ipsa,2532 +2533,doloremque,non,2533 +2534,dolores,corporis,2534 +2535,rerum,fugiat,2535 +2536,aliquam,rerum,2536 +2537,aut,eos,2537 +2538,magnam,veniam,2538 +2539,aut,architecto,2539 +2540,ullam,est,2540 +2541,voluptate,qui,2541 +2542,blanditiis,delectus,2542 +2543,eum,repudiandae,2543 +2544,necessitatibus,blanditiis,2544 +2545,aut,ut,2545 +2546,nostrum,neque,2546 +2547,aut,dolores,2547 +2548,voluptates,sapiente,2548 +2549,unde,ut,2549 +2550,ut,autem,2550 +2551,harum,nemo,2551 +2552,quo,quibusdam,2552 +2553,eos,ut,2553 +2554,ut,aliquid,2554 +2555,nulla,sunt,2555 +2556,harum,quidem,2556 +2557,ratione,rem,2557 +2558,et,explicabo,2558 +2559,eum,voluptatum,2559 +2560,dolore,doloribus,2560 +2561,voluptas,hic,2561 +2562,incidunt,qui,2562 +2563,iste,et,2563 +2564,blanditiis,eum,2564 +2565,quidem,nesciunt,2565 +2566,error,ab,2566 +2567,illo,magnam,2567 +2568,ad,blanditiis,2568 +2569,voluptas,quas,2569 +2570,id,facere,2570 +2571,repellendus,consequatur,2571 +2572,sunt,quas,2572 +2573,aut,sit,2573 +2574,nobis,architecto,2574 +2575,ipsum,et,2575 +2576,et,rerum,2576 +2577,eos,voluptatibus,2577 +2578,quasi,saepe,2578 +2579,repellendus,porro,2579 +2580,assumenda,sit,2580 +2581,eveniet,enim,2581 +2582,voluptatum,debitis,2582 +2583,ullam,fugiat,2583 +2584,libero,placeat,2584 +2585,libero,accusantium,2585 +2586,aut,fugit,2586 +2587,et,enim,2587 +2588,velit,commodi,2588 +2589,culpa,harum,2589 +2590,explicabo,et,2590 +2591,optio,dolorem,2591 +2592,sed,aspernatur,2592 +2593,iusto,voluptas,2593 +2594,explicabo,voluptates,2594 +2595,nostrum,sint,2595 +2596,repellendus,pariatur,2596 +2597,quasi,iste,2597 +2598,et,odio,2598 +2599,fuga,sapiente,2599 +2600,dolorem,recusandae,2600 +2601,et,non,2601 +2602,natus,rem,2602 +2603,mollitia,veniam,2603 +2604,a,voluptatem,2604 +2605,vitae,aut,2605 +2606,voluptas,error,2606 +2607,et,sunt,2607 +2608,quis,sit,2608 +2609,et,earum,2609 +2610,modi,deserunt,2610 +2611,quod,aut,2611 +2612,dolores,vero,2612 +2613,autem,ullam,2613 +2614,illo,libero,2614 +2615,placeat,aperiam,2615 +2616,maiores,iste,2616 +2617,in,magnam,2617 +2618,accusantium,architecto,2618 +2619,nobis,velit,2619 +2620,delectus,ipsam,2620 +2621,ut,rem,2621 +2622,voluptates,ipsa,2622 +2623,inventore,nisi,2623 +2624,nostrum,deserunt,2624 +2625,sequi,at,2625 +2626,et,illo,2626 +2627,voluptatem,nam,2627 +2628,qui,incidunt,2628 +2629,adipisci,impedit,2629 +2630,voluptate,temporibus,2630 +2631,blanditiis,et,2631 +2632,quidem,quia,2632 +2633,harum,blanditiis,2633 +2634,et,inventore,2634 +2635,ea,iure,2635 +2636,error,sapiente,2636 +2637,tenetur,assumenda,2637 +2638,molestias,debitis,2638 +2639,deserunt,odio,2639 +2640,in,repellendus,2640 +2641,dolorem,labore,2641 +2642,perferendis,voluptates,2642 +2643,quaerat,aut,2643 +2644,corrupti,quia,2644 +2645,minus,eius,2645 +2646,molestiae,voluptatem,2646 +2647,reiciendis,error,2647 +2648,quia,est,2648 +2649,sunt,praesentium,2649 +2650,delectus,sapiente,2650 +2651,modi,dolores,2651 +2652,sit,natus,2652 +2653,non,voluptatem,2653 +2654,quis,reprehenderit,2654 +2655,nemo,animi,2655 +2656,eos,minus,2656 +2657,dolore,omnis,2657 +2658,deleniti,sit,2658 +2659,accusantium,nobis,2659 +2660,et,ducimus,2660 +2661,corrupti,expedita,2661 +2662,quaerat,nam,2662 +2663,magnam,rerum,2663 +2664,ipsa,aut,2664 +2665,nihil,dolores,2665 +2666,consequatur,iusto,2666 +2667,voluptatum,odit,2667 +2668,vero,quas,2668 +2669,ut,cumque,2669 +2670,aut,minima,2670 +2671,qui,dolores,2671 +2672,suscipit,ut,2672 +2673,quaerat,amet,2673 +2674,et,inventore,2674 +2675,iste,quos,2675 +2676,quae,voluptatum,2676 +2677,cum,neque,2677 +2678,id,aliquid,2678 +2679,eos,voluptatem,2679 +2680,itaque,qui,2680 +2681,sapiente,omnis,2681 +2682,quibusdam,at,2682 +2683,vitae,aperiam,2683 +2684,qui,perspiciatis,2684 +2685,dolorem,doloremque,2685 +2686,deserunt,esse,2686 +2687,suscipit,eos,2687 +2688,beatae,molestias,2688 +2689,magni,rerum,2689 +2690,et,quisquam,2690 +2691,voluptatem,aut,2691 +2692,rerum,dignissimos,2692 +2693,omnis,ad,2693 +2694,a,dignissimos,2694 +2695,dolore,aut,2695 +2696,tempore,tempora,2696 +2697,magni,autem,2697 +2698,dolor,accusamus,2698 +2699,perspiciatis,molestias,2699 +2700,quaerat,similique,2700 +2701,aut,quos,2701 +2702,facere,doloremque,2702 +2703,doloremque,delectus,2703 +2704,magni,exercitationem,2704 +2705,ea,culpa,2705 +2706,culpa,assumenda,2706 +2707,officiis,dicta,2707 +2708,qui,laboriosam,2708 +2709,modi,eos,2709 +2710,consequuntur,repudiandae,2710 +2711,dolor,mollitia,2711 +2712,quisquam,illum,2712 +2713,sunt,unde,2713 +2714,quo,voluptas,2714 +2715,fugit,deleniti,2715 +2716,culpa,provident,2716 +2717,labore,praesentium,2717 +2718,cupiditate,numquam,2718 +2719,quis,qui,2719 +2720,deserunt,vel,2720 +2721,expedita,cupiditate,2721 +2722,ut,voluptatibus,2722 +2723,sapiente,voluptatem,2723 +2724,sed,recusandae,2724 +2725,et,animi,2725 +2726,iure,est,2726 +2727,odio,est,2727 +2728,blanditiis,amet,2728 +2729,laborum,reiciendis,2729 +2730,maxime,officiis,2730 +2731,explicabo,iure,2731 +2732,modi,minus,2732 +2733,sed,animi,2733 +2734,est,facere,2734 +2735,cum,sed,2735 +2736,eius,molestias,2736 +2737,nihil,dolorem,2737 +2738,aut,unde,2738 +2739,commodi,omnis,2739 +2740,cum,quas,2740 +2741,iusto,nostrum,2741 +2742,voluptatem,et,2742 +2743,aut,et,2743 +2744,qui,eos,2744 +2745,non,in,2745 +2746,reiciendis,et,2746 +2747,inventore,perferendis,2747 +2748,modi,commodi,2748 +2749,aut,vel,2749 +2750,perspiciatis,optio,2750 +2751,quis,iusto,2751 +2752,ea,qui,2752 +2753,architecto,corporis,2753 +2754,in,recusandae,2754 +2755,fugiat,voluptatem,2755 +2756,libero,quia,2756 +2757,nihil,similique,2757 +2758,quis,quam,2758 +2759,deleniti,sed,2759 +2760,eius,fugiat,2760 +2761,nulla,iusto,2761 +2762,nihil,et,2762 +2763,quisquam,sint,2763 +2764,iste,iste,2764 +2765,et,nobis,2765 +2766,recusandae,quia,2766 +2767,consequatur,alias,2767 +2768,excepturi,molestiae,2768 +2769,sed,ipsum,2769 +2770,ut,labore,2770 +2771,qui,quos,2771 +2772,dolor,ut,2772 +2773,ullam,quas,2773 +2774,iusto,maxime,2774 +2775,dolor,est,2775 +2776,nobis,deleniti,2776 +2777,fugit,culpa,2777 +2778,est,velit,2778 +2779,dolores,molestiae,2779 +2780,sit,suscipit,2780 +2781,unde,in,2781 +2782,molestiae,voluptas,2782 +2783,repellat,eius,2783 +2784,non,ab,2784 +2785,sint,sint,2785 +2786,voluptatibus,earum,2786 +2787,dolore,in,2787 +2788,sapiente,eos,2788 +2789,quis,sequi,2789 +2790,voluptates,beatae,2790 +2791,sapiente,quia,2791 +2792,sit,dolorem,2792 +2793,omnis,doloremque,2793 +2794,adipisci,dignissimos,2794 +2795,beatae,necessitatibus,2795 +2796,vel,doloribus,2796 +2797,sit,nulla,2797 +2798,corrupti,et,2798 +2799,a,sapiente,2799 +2800,quaerat,optio,2800 +2801,dicta,animi,2801 +2802,numquam,et,2802 +2803,et,aliquid,2803 +2804,accusamus,dolores,2804 +2805,est,adipisci,2805 +2806,non,iure,2806 +2807,nihil,veniam,2807 +2808,et,autem,2808 +2809,nesciunt,ducimus,2809 +2810,minus,vel,2810 +2811,cum,sit,2811 +2812,maxime,ea,2812 +2813,officia,veniam,2813 +2814,qui,minus,2814 +2815,similique,perspiciatis,2815 +2816,est,ut,2816 +2817,in,fuga,2817 +2818,necessitatibus,incidunt,2818 +2819,voluptatibus,et,2819 +2820,dolore,minus,2820 +2821,velit,id,2821 +2822,laudantium,et,2822 +2823,vel,recusandae,2823 +2824,delectus,nulla,2824 +2825,mollitia,sint,2825 +2826,ut,aut,2826 +2827,dolorem,quod,2827 +2828,ut,dolores,2828 +2829,soluta,aut,2829 +2830,occaecati,et,2830 +2831,debitis,qui,2831 +2832,suscipit,adipisci,2832 +2833,facilis,at,2833 +2834,animi,aut,2834 +2835,veritatis,itaque,2835 +2836,dolore,aliquam,2836 +2837,aut,voluptatem,2837 +2838,vero,est,2838 +2839,aliquid,mollitia,2839 +2840,qui,voluptatum,2840 +2841,omnis,ea,2841 +2842,delectus,quam,2842 +2843,modi,doloribus,2843 +2844,necessitatibus,ducimus,2844 +2845,voluptas,nulla,2845 +2846,sit,rem,2846 +2847,possimus,sequi,2847 +2848,id,similique,2848 +2849,quis,dolorum,2849 +2850,sit,rerum,2850 +2851,ex,voluptas,2851 +2852,et,quis,2852 +2853,saepe,quia,2853 +2854,laboriosam,temporibus,2854 +2855,nihil,est,2855 +2856,est,inventore,2856 +2857,voluptate,sit,2857 +2858,nesciunt,ipsa,2858 +2859,excepturi,sequi,2859 +2860,quos,ad,2860 +2861,ut,laboriosam,2861 +2862,est,id,2862 +2863,sit,doloribus,2863 +2864,qui,veritatis,2864 +2865,soluta,est,2865 +2866,eligendi,consequatur,2866 +2867,saepe,voluptatem,2867 +2868,eos,iusto,2868 +2869,veniam,dicta,2869 +2870,suscipit,nulla,2870 +2871,neque,aperiam,2871 +2872,modi,maxime,2872 +2873,aliquam,aut,2873 +2874,a,inventore,2874 +2875,qui,alias,2875 +2876,voluptates,consequatur,2876 +2877,natus,dolores,2877 +2878,et,sunt,2878 +2879,eligendi,ab,2879 +2880,odio,eos,2880 +2881,quia,dolorem,2881 +2882,voluptas,neque,2882 +2883,autem,voluptas,2883 +2884,facilis,harum,2884 +2885,commodi,ut,2885 +2886,facere,necessitatibus,2886 +2887,nesciunt,omnis,2887 +2888,consequuntur,ab,2888 +2889,maiores,iure,2889 +2890,rem,ratione,2890 +2891,aspernatur,facere,2891 +2892,vel,deserunt,2892 +2893,nihil,esse,2893 +2894,inventore,aspernatur,2894 +2895,fugit,fugit,2895 +2896,error,neque,2896 +2897,quos,omnis,2897 +2898,laudantium,quia,2898 +2899,officiis,quia,2899 +2900,voluptas,suscipit,2900 +2901,id,id,2901 +2902,at,officiis,2902 +2903,natus,dolore,2903 +2904,repudiandae,qui,2904 +2905,voluptatibus,dolor,2905 +2906,sint,temporibus,2906 +2907,ut,explicabo,2907 +2908,et,et,2908 +2909,iste,et,2909 +2910,mollitia,facere,2910 +2911,adipisci,quod,2911 +2912,quia,nihil,2912 +2913,magni,eum,2913 +2914,et,voluptatem,2914 +2915,quae,recusandae,2915 +2916,harum,adipisci,2916 +2917,unde,dolorem,2917 +2918,qui,ut,2918 +2919,eaque,occaecati,2919 +2920,voluptas,amet,2920 +2921,doloremque,dolor,2921 +2922,dolorem,provident,2922 +2923,quas,omnis,2923 +2924,nulla,cumque,2924 +2925,consectetur,magni,2925 +2926,laudantium,recusandae,2926 +2927,vitae,quod,2927 +2928,numquam,quia,2928 +2929,mollitia,est,2929 +2930,explicabo,dolores,2930 +2931,velit,odio,2931 +2932,ut,dolor,2932 +2933,qui,nam,2933 +2934,eos,quaerat,2934 +2935,ullam,libero,2935 +2936,fuga,non,2936 +2937,cum,nisi,2937 +2938,accusantium,dolorum,2938 +2939,provident,non,2939 +2940,blanditiis,ipsum,2940 +2941,veniam,iste,2941 +2942,non,nihil,2942 +2943,iure,voluptatem,2943 +2944,necessitatibus,explicabo,2944 +2945,aut,inventore,2945 +2946,impedit,velit,2946 +2947,repellat,vel,2947 +2948,qui,omnis,2948 +2949,repudiandae,officia,2949 +2950,consequuntur,corrupti,2950 +2951,et,esse,2951 +2952,autem,rem,2952 +2953,mollitia,in,2953 +2954,perspiciatis,nesciunt,2954 +2955,doloribus,animi,2955 +2956,sunt,provident,2956 +2957,quis,consequatur,2957 +2958,nihil,accusamus,2958 +2959,libero,est,2959 +2960,eaque,et,2960 +2961,aut,porro,2961 +2962,distinctio,impedit,2962 +2963,amet,consequatur,2963 +2964,quod,sed,2964 +2965,in,suscipit,2965 +2966,ratione,et,2966 +2967,minus,eius,2967 +2968,culpa,sint,2968 +2969,tempore,quasi,2969 +2970,qui,voluptatem,2970 +2971,enim,laborum,2971 +2972,voluptates,sapiente,2972 +2973,numquam,autem,2973 +2974,alias,fugit,2974 +2975,accusantium,magni,2975 +2976,sit,voluptates,2976 +2977,aut,voluptas,2977 +2978,assumenda,ut,2978 +2979,qui,voluptatem,2979 +2980,minus,reprehenderit,2980 +2981,fugiat,temporibus,2981 +2982,doloribus,quis,2982 +2983,est,voluptatem,2983 +2984,et,consequatur,2984 +2985,nostrum,laudantium,2985 +2986,quasi,itaque,2986 +2987,enim,in,2987 +2988,et,magnam,2988 +2989,alias,aperiam,2989 +2990,dolor,ut,2990 +2991,non,aut,2991 +2992,et,quos,2992 +2993,nisi,nisi,2993 +2994,dolor,ut,2994 +2995,voluptate,quasi,2995 +2996,adipisci,blanditiis,2996 +2997,repellat,voluptas,2997 +2998,velit,dolores,2998 +2999,exercitationem,facere,2999 +3000,debitis,doloribus,3000 +3001,ducimus,nostrum,3001 +3002,quod,dolorem,3002 +3003,ducimus,aut,3003 +3004,quidem,perferendis,3004 +3005,sed,ducimus,3005 +3006,voluptate,voluptatem,3006 +3007,laboriosam,tempore,3007 +3008,nesciunt,odio,3008 +3009,asperiores,nam,3009 +3010,dolor,esse,3010 +3011,similique,sunt,3011 +3012,in,ipsam,3012 +3013,quo,sequi,3013 +3014,quidem,voluptas,3014 +3015,explicabo,iusto,3015 +3016,voluptatem,error,3016 +3017,asperiores,aut,3017 +3018,repellendus,nesciunt,3018 +3019,nesciunt,est,3019 +3020,in,vitae,3020 +3021,aliquid,quas,3021 +3022,quae,ipsum,3022 +3023,eveniet,quaerat,3023 +3024,quae,est,3024 +3025,voluptas,id,3025 +3026,soluta,explicabo,3026 +3027,sunt,in,3027 +3028,molestiae,et,3028 +3029,qui,enim,3029 +3030,voluptates,vel,3030 +3031,officia,facere,3031 +3032,nam,quidem,3032 +3033,iusto,et,3033 +3034,consequuntur,eveniet,3034 +3035,nulla,id,3035 +3036,tenetur,ut,3036 +3037,ea,quod,3037 +3038,explicabo,modi,3038 +3039,consequatur,necessitatibus,3039 +3040,iste,voluptas,3040 +3041,vel,praesentium,3041 +3042,et,earum,3042 +3043,et,assumenda,3043 +3044,inventore,deserunt,3044 +3045,sint,quis,3045 +3046,amet,ex,3046 +3047,explicabo,sed,3047 +3048,aut,consequuntur,3048 +3049,et,soluta,3049 +3050,dolores,occaecati,3050 +3051,quo,voluptatem,3051 +3052,molestiae,perspiciatis,3052 +3053,a,commodi,3053 +3054,sed,alias,3054 +3055,suscipit,numquam,3055 +3056,ea,veritatis,3056 +3057,corrupti,inventore,3057 +3058,temporibus,at,3058 +3059,rerum,et,3059 +3060,amet,et,3060 +3061,repellat,ex,3061 +3062,commodi,quia,3062 +3063,velit,eveniet,3063 +3064,quod,quasi,3064 +3065,eum,nesciunt,3065 +3066,eligendi,dolorum,3066 +3067,fuga,corporis,3067 +3068,voluptatem,praesentium,3068 +3069,eveniet,ut,3069 +3070,molestias,deserunt,3070 +3071,laborum,laborum,3071 +3072,voluptas,beatae,3072 +3073,tenetur,voluptatem,3073 +3074,eum,ut,3074 +3075,ipsa,fuga,3075 +3076,id,porro,3076 +3077,qui,iusto,3077 +3078,sit,consequatur,3078 +3079,eos,rerum,3079 +3080,harum,esse,3080 +3081,quia,quas,3081 +3082,nesciunt,repellendus,3082 +3083,autem,exercitationem,3083 +3084,qui,vel,3084 +3085,suscipit,consequatur,3085 +3086,dolorem,consectetur,3086 +3087,et,eaque,3087 +3088,repellendus,officia,3088 +3089,praesentium,nulla,3089 +3090,doloribus,minima,3090 +3091,ut,laborum,3091 +3092,ducimus,molestiae,3092 +3093,eum,placeat,3093 +3094,eligendi,vero,3094 +3095,accusamus,rerum,3095 +3096,est,quia,3096 +3097,aliquam,iste,3097 +3098,quia,consequatur,3098 +3099,labore,facilis,3099 +3100,quo,inventore,3100 +3101,quos,molestiae,3101 +3102,itaque,illo,3102 +3103,nam,qui,3103 +3104,minus,inventore,3104 +3105,eaque,aut,3105 +3106,iste,nobis,3106 +3107,vitae,assumenda,3107 +3108,temporibus,aliquid,3108 +3109,et,corrupti,3109 +3110,sunt,dolore,3110 +3111,quibusdam,cupiditate,3111 +3112,eaque,voluptate,3112 +3113,commodi,voluptates,3113 +3114,omnis,facilis,3114 +3115,at,perferendis,3115 +3116,amet,voluptatem,3116 +3117,qui,enim,3117 +3118,est,consequatur,3118 +3119,accusamus,alias,3119 +3120,ducimus,ut,3120 +3121,delectus,odit,3121 +3122,a,debitis,3122 +3123,voluptas,modi,3123 +3124,enim,et,3124 +3125,pariatur,omnis,3125 +3126,aut,deserunt,3126 +3127,cum,voluptas,3127 +3128,rerum,nihil,3128 +3129,beatae,quo,3129 +3130,et,voluptatem,3130 +3131,eum,voluptates,3131 +3132,est,commodi,3132 +3133,eveniet,quae,3133 +3134,enim,cupiditate,3134 +3135,unde,in,3135 +3136,molestias,molestiae,3136 +3137,asperiores,sed,3137 +3138,rerum,qui,3138 +3139,et,possimus,3139 +3140,quia,reprehenderit,3140 +3141,excepturi,tempora,3141 +3142,voluptatibus,voluptatibus,3142 +3143,eaque,rerum,3143 +3144,dignissimos,beatae,3144 +3145,dolores,et,3145 +3146,qui,dolor,3146 +3147,inventore,atque,3147 +3148,iusto,eum,3148 +3149,voluptates,temporibus,3149 +3150,debitis,et,3150 +3151,sint,perspiciatis,3151 +3152,hic,adipisci,3152 +3153,assumenda,ex,3153 +3154,repellat,magni,3154 +3155,delectus,consectetur,3155 +3156,quis,aut,3156 +3157,quo,quod,3157 +3158,ad,quo,3158 +3159,non,quia,3159 +3160,accusamus,enim,3160 +3161,nemo,dignissimos,3161 +3162,molestias,molestiae,3162 +3163,voluptatibus,et,3163 +3164,voluptatibus,est,3164 +3165,sequi,cumque,3165 +3166,cumque,id,3166 +3167,cum,iste,3167 +3168,est,nihil,3168 +3169,et,voluptatem,3169 +3170,sint,quia,3170 +3171,amet,odio,3171 +3172,omnis,et,3172 +3173,qui,explicabo,3173 +3174,et,sit,3174 +3175,nobis,sunt,3175 +3176,excepturi,eos,3176 +3177,quia,veniam,3177 +3178,temporibus,sint,3178 +3179,animi,totam,3179 +3180,optio,incidunt,3180 +3181,fugit,et,3181 +3182,nostrum,sint,3182 +3183,maiores,qui,3183 +3184,aspernatur,voluptatem,3184 +3185,quam,omnis,3185 +3186,quis,magnam,3186 +3187,sit,dolor,3187 +3188,eaque,voluptatibus,3188 +3189,enim,autem,3189 +3190,quia,totam,3190 +3191,eligendi,architecto,3191 +3192,sunt,et,3192 +3193,quia,et,3193 +3194,assumenda,perferendis,3194 +3195,ut,est,3195 +3196,et,architecto,3196 +3197,dolorum,fugit,3197 +3198,libero,possimus,3198 +3199,quasi,voluptatem,3199 +3200,magni,qui,3200 +3201,quia,dignissimos,3201 +3202,ipsa,molestiae,3202 +3203,sed,laborum,3203 +3204,dolore,animi,3204 +3205,minima,officia,3205 +3206,quod,maxime,3206 +3207,non,rem,3207 +3208,adipisci,rerum,3208 +3209,voluptate,accusamus,3209 +3210,deleniti,placeat,3210 +3211,officia,harum,3211 +3212,provident,id,3212 +3213,id,voluptatem,3213 +3214,minus,doloremque,3214 +3215,libero,temporibus,3215 +3216,sed,iusto,3216 +3217,dolores,ab,3217 +3218,quia,nihil,3218 +3219,est,sed,3219 +3220,sit,repellat,3220 +3221,quia,aliquam,3221 +3222,ut,rem,3222 +3223,dolorem,explicabo,3223 +3224,reprehenderit,sint,3224 +3225,est,molestiae,3225 +3226,quia,quis,3226 +3227,hic,enim,3227 +3228,provident,eum,3228 +3229,magnam,dolores,3229 +3230,illum,laboriosam,3230 +3231,maxime,aliquid,3231 +3232,dolores,officia,3232 +3233,aliquid,placeat,3233 +3234,et,dolor,3234 +3235,minima,rem,3235 +3236,ipsum,blanditiis,3236 +3237,impedit,quaerat,3237 +3238,aut,enim,3238 +3239,consequatur,tenetur,3239 +3240,placeat,maiores,3240 +3241,quia,cupiditate,3241 +3242,et,maiores,3242 +3243,natus,earum,3243 +3244,doloremque,aut,3244 +3245,neque,adipisci,3245 +3246,et,consectetur,3246 +3247,quia,odit,3247 +3248,aliquam,alias,3248 +3249,recusandae,omnis,3249 +3250,doloremque,est,3250 +3251,fuga,nulla,3251 +3252,ut,impedit,3252 +3253,quam,vel,3253 +3254,qui,illo,3254 +3255,voluptas,dicta,3255 +3256,veniam,rerum,3256 +3257,qui,reprehenderit,3257 +3258,officia,sed,3258 +3259,accusamus,temporibus,3259 +3260,recusandae,autem,3260 +3261,maxime,reprehenderit,3261 +3262,nostrum,labore,3262 +3263,laboriosam,iste,3263 +3264,porro,aut,3264 +3265,et,dolorum,3265 +3266,qui,labore,3266 +3267,laborum,numquam,3267 +3268,repudiandae,soluta,3268 +3269,et,quos,3269 +3270,ut,qui,3270 +3271,excepturi,doloremque,3271 +3272,dolor,reprehenderit,3272 +3273,quis,labore,3273 +3274,dolorem,est,3274 +3275,cupiditate,optio,3275 +3276,quo,consequatur,3276 +3277,sed,voluptate,3277 +3278,laboriosam,veritatis,3278 +3279,et,dolor,3279 +3280,odio,eum,3280 +3281,quo,iusto,3281 +3282,aspernatur,vitae,3282 +3283,hic,voluptatem,3283 +3284,mollitia,assumenda,3284 +3285,quo,occaecati,3285 +3286,enim,hic,3286 +3287,est,quo,3287 +3288,accusamus,accusamus,3288 +3289,molestiae,tenetur,3289 +3290,dolores,et,3290 +3291,qui,voluptate,3291 +3292,quis,velit,3292 +3293,architecto,modi,3293 +3294,est,illum,3294 +3295,est,a,3295 +3296,et,unde,3296 +3297,quasi,quia,3297 +3298,laudantium,voluptas,3298 +3299,veritatis,et,3299 +3300,at,voluptatem,3300 +3301,maxime,eius,3301 +3302,velit,rem,3302 +3303,voluptatem,nemo,3303 +3304,consequatur,in,3304 +3305,exercitationem,debitis,3305 +3306,error,repudiandae,3306 +3307,consequatur,eveniet,3307 +3308,aut,voluptatibus,3308 +3309,blanditiis,deserunt,3309 +3310,facilis,unde,3310 +3311,in,quam,3311 +3312,et,est,3312 +3313,maxime,praesentium,3313 +3314,dolores,sapiente,3314 +3315,quia,at,3315 +3316,numquam,corporis,3316 +3317,omnis,cumque,3317 +3318,occaecati,commodi,3318 +3319,molestiae,repellat,3319 +3320,voluptate,velit,3320 +3321,fuga,cumque,3321 +3322,minus,nesciunt,3322 +3323,voluptatem,a,3323 +3324,minima,dolores,3324 +3325,labore,cupiditate,3325 +3326,blanditiis,in,3326 +3327,iste,non,3327 +3328,ipsum,magni,3328 +3329,labore,debitis,3329 +3330,ad,veniam,3330 +3331,perferendis,ipsam,3331 +3332,similique,et,3332 +3333,qui,dolor,3333 +3334,dolorem,eius,3334 +3335,ut,a,3335 +3336,ea,consequatur,3336 +3337,aspernatur,nisi,3337 +3338,accusamus,aut,3338 +3339,quibusdam,sint,3339 +3340,unde,omnis,3340 +3341,dolorem,distinctio,3341 +3342,sapiente,dolorum,3342 +3343,vero,a,3343 +3344,voluptas,officiis,3344 +3345,quia,velit,3345 +3346,fugit,debitis,3346 +3347,voluptas,dolor,3347 +3348,dicta,quia,3348 +3349,minus,consequatur,3349 +3350,velit,et,3350 +3351,aut,et,3351 +3352,laudantium,non,3352 +3353,laborum,iste,3353 +3354,cum,dolor,3354 +3355,est,occaecati,3355 +3356,ducimus,officia,3356 +3357,distinctio,quasi,3357 +3358,tempora,soluta,3358 +3359,doloremque,quo,3359 +3360,ut,quia,3360 +3361,quasi,autem,3361 +3362,ullam,minus,3362 +3363,et,praesentium,3363 +3364,omnis,est,3364 +3365,nihil,hic,3365 +3366,qui,et,3366 +3367,consequatur,qui,3367 +3368,cumque,quis,3368 +3369,voluptas,vitae,3369 +3370,dolor,corporis,3370 +3371,et,magni,3371 +3372,unde,minus,3372 +3373,recusandae,rerum,3373 +3374,non,cumque,3374 +3375,dolore,voluptatum,3375 +3376,qui,aut,3376 +3377,qui,quis,3377 +3378,sint,omnis,3378 +3379,deserunt,id,3379 +3380,nemo,aliquam,3380 +3381,asperiores,a,3381 +3382,et,tempore,3382 +3383,eaque,et,3383 +3384,odio,et,3384 +3385,omnis,deserunt,3385 +3386,rem,dolorum,3386 +3387,asperiores,sed,3387 +3388,modi,sed,3388 +3389,aut,error,3389 +3390,cumque,quis,3390 +3391,omnis,praesentium,3391 +3392,praesentium,eveniet,3392 +3393,aut,quasi,3393 +3394,sint,commodi,3394 +3395,fugit,ut,3395 +3396,iusto,magnam,3396 +3397,debitis,quidem,3397 +3398,voluptatibus,aut,3398 +3399,ea,aspernatur,3399 +3400,in,odit,3400 +3401,nemo,est,3401 +3402,cum,ducimus,3402 +3403,consectetur,quae,3403 +3404,praesentium,hic,3404 +3405,recusandae,consectetur,3405 +3406,doloribus,amet,3406 +3407,et,sed,3407 +3408,et,ut,3408 +3409,nihil,vitae,3409 +3410,ullam,iusto,3410 +3411,qui,aut,3411 +3412,sapiente,officia,3412 +3413,rerum,adipisci,3413 +3414,omnis,rem,3414 +3415,unde,ut,3415 +3416,ut,illum,3416 +3417,et,et,3417 +3418,aliquid,rerum,3418 +3419,enim,facere,3419 +3420,esse,qui,3420 +3421,animi,eum,3421 +3422,modi,possimus,3422 +3423,reiciendis,incidunt,3423 +3424,soluta,dolor,3424 +3425,enim,id,3425 +3426,et,laboriosam,3426 +3427,aut,aliquid,3427 +3428,corporis,rerum,3428 +3429,officiis,et,3429 +3430,autem,qui,3430 +3431,et,expedita,3431 +3432,dolorem,suscipit,3432 +3433,quidem,voluptas,3433 +3434,dolore,est,3434 +3435,qui,porro,3435 +3436,omnis,et,3436 +3437,quos,dignissimos,3437 +3438,reiciendis,voluptatum,3438 +3439,omnis,quo,3439 +3440,id,saepe,3440 +3441,sint,illo,3441 +3442,voluptate,ab,3442 +3443,provident,iste,3443 +3444,numquam,eveniet,3444 +3445,fugiat,omnis,3445 +3446,nulla,nam,3446 +3447,ut,voluptatem,3447 +3448,omnis,dolores,3448 +3449,dolorem,id,3449 +3450,sit,non,3450 +3451,consequatur,minus,3451 +3452,recusandae,temporibus,3452 +3453,eveniet,vero,3453 +3454,nulla,blanditiis,3454 +3455,eius,dolorum,3455 +3456,voluptates,sit,3456 +3457,deserunt,nam,3457 +3458,consequatur,ducimus,3458 +3459,sed,aut,3459 +3460,tenetur,id,3460 +3461,recusandae,et,3461 +3462,ea,autem,3462 +3463,aut,eaque,3463 +3464,velit,enim,3464 +3465,unde,dolores,3465 +3466,architecto,repellendus,3466 +3467,reiciendis,qui,3467 +3468,pariatur,blanditiis,3468 +3469,eum,voluptatem,3469 +3470,consequatur,earum,3470 +3471,optio,soluta,3471 +3472,quibusdam,saepe,3472 +3473,sed,eos,3473 +3474,ipsum,eaque,3474 +3475,nobis,dolorem,3475 +3476,quo,rerum,3476 +3477,provident,vel,3477 +3478,corporis,laboriosam,3478 +3479,repudiandae,accusantium,3479 +3480,animi,illo,3480 +3481,aliquam,nisi,3481 +3482,officia,nisi,3482 +3483,atque,harum,3483 +3484,earum,sed,3484 +3485,ut,dicta,3485 +3486,ipsum,doloremque,3486 +3487,recusandae,doloribus,3487 +3488,laboriosam,dolorum,3488 +3489,aut,rem,3489 +3490,voluptatem,a,3490 +3491,quia,nisi,3491 +3492,ut,quis,3492 +3493,ut,dolores,3493 +3494,tempore,veritatis,3494 +3495,voluptatibus,iste,3495 +3496,necessitatibus,non,3496 +3497,quibusdam,aut,3497 +3498,delectus,molestiae,3498 +3499,reiciendis,id,3499 +3500,blanditiis,sed,3500 +3501,eaque,aut,3501 +3502,atque,doloremque,3502 +3503,aut,sed,3503 +3504,quam,quibusdam,3504 +3505,minus,consequatur,3505 +3506,odio,velit,3506 +3507,praesentium,et,3507 +3508,deserunt,nobis,3508 +3509,qui,laboriosam,3509 +3510,qui,quasi,3510 +3511,est,earum,3511 +3512,architecto,veniam,3512 +3513,sit,et,3513 +3514,possimus,blanditiis,3514 +3515,dolores,iusto,3515 +3516,molestiae,aut,3516 +3517,est,libero,3517 +3518,aliquid,officia,3518 +3519,tempora,impedit,3519 +3520,fuga,iure,3520 +3521,reprehenderit,aperiam,3521 +3522,voluptatem,tempore,3522 +3523,consequatur,iusto,3523 +3524,excepturi,quibusdam,3524 +3525,optio,enim,3525 +3526,quam,omnis,3526 +3527,possimus,consequatur,3527 +3528,praesentium,doloribus,3528 +3529,ea,quaerat,3529 +3530,pariatur,libero,3530 +3531,maxime,pariatur,3531 +3532,quae,hic,3532 +3533,minima,odit,3533 +3534,corrupti,hic,3534 +3535,suscipit,fugiat,3535 +3536,dolores,eos,3536 +3537,omnis,labore,3537 +3538,eligendi,nesciunt,3538 +3539,unde,sunt,3539 +3540,sed,perferendis,3540 +3541,qui,cumque,3541 +3542,occaecati,earum,3542 +3543,molestiae,aut,3543 +3544,nihil,excepturi,3544 +3545,dolor,esse,3545 +3546,ut,praesentium,3546 +3547,quia,deserunt,3547 +3548,quaerat,omnis,3548 +3549,quo,sunt,3549 +3550,repellendus,accusamus,3550 +3551,et,a,3551 +3552,perspiciatis,earum,3552 +3553,laboriosam,in,3553 +3554,tempore,molestiae,3554 +3555,unde,minima,3555 +3556,est,enim,3556 +3557,repudiandae,ut,3557 +3558,qui,eum,3558 +3559,vel,aut,3559 +3560,magni,animi,3560 +3561,libero,quo,3561 +3562,nulla,quibusdam,3562 +3563,ut,voluptatum,3563 +3564,voluptatem,et,3564 +3565,sit,qui,3565 +3566,et,architecto,3566 +3567,ipsum,et,3567 +3568,maiores,molestiae,3568 +3569,qui,dolor,3569 +3570,et,qui,3570 +3571,ex,aut,3571 +3572,expedita,asperiores,3572 +3573,autem,quisquam,3573 +3574,exercitationem,consequatur,3574 +3575,quae,omnis,3575 +3576,officiis,et,3576 +3577,vitae,praesentium,3577 +3578,explicabo,quasi,3578 +3579,quia,et,3579 +3580,repellendus,veniam,3580 +3581,necessitatibus,odio,3581 +3582,cumque,atque,3582 +3583,itaque,provident,3583 +3584,nulla,in,3584 +3585,rerum,facere,3585 +3586,ut,autem,3586 +3587,veritatis,occaecati,3587 +3588,voluptatibus,aliquam,3588 +3589,temporibus,autem,3589 +3590,voluptatem,ea,3590 +3591,dolore,est,3591 +3592,enim,est,3592 +3593,earum,nam,3593 +3594,vel,omnis,3594 +3595,et,deleniti,3595 +3596,dolorum,voluptatem,3596 +3597,nostrum,soluta,3597 +3598,dignissimos,quia,3598 +3599,cum,iure,3599 +3600,aspernatur,est,3600 +3601,dolorem,fugiat,3601 +3602,neque,laborum,3602 +3603,et,vel,3603 +3604,voluptatem,expedita,3604 +3605,sunt,rerum,3605 +3606,mollitia,et,3606 +3607,ad,quaerat,3607 +3608,illo,iusto,3608 +3609,sed,necessitatibus,3609 +3610,quidem,nihil,3610 +3611,quo,voluptatem,3611 +3612,vitae,autem,3612 +3613,et,aspernatur,3613 +3614,ea,inventore,3614 +3615,qui,voluptatem,3615 +3616,voluptates,consectetur,3616 +3617,illum,quibusdam,3617 +3618,nesciunt,ab,3618 +3619,repellat,illum,3619 +3620,optio,ut,3620 +3621,quisquam,voluptas,3621 +3622,ut,ipsa,3622 +3623,minus,voluptatem,3623 +3624,accusamus,sed,3624 +3625,eligendi,iste,3625 +3626,at,est,3626 +3627,culpa,et,3627 +3628,ex,dolores,3628 +3629,debitis,earum,3629 +3630,laborum,similique,3630 +3631,temporibus,consequatur,3631 +3632,qui,iste,3632 +3633,modi,non,3633 +3634,fugiat,et,3634 +3635,deserunt,odit,3635 +3636,dignissimos,quibusdam,3636 +3637,quia,dignissimos,3637 +3638,et,enim,3638 +3639,et,culpa,3639 +3640,voluptatem,nostrum,3640 +3641,doloribus,magni,3641 +3642,harum,sint,3642 +3643,similique,quis,3643 +3644,nihil,quia,3644 +3645,qui,sit,3645 +3646,rem,ratione,3646 +3647,molestias,dignissimos,3647 +3648,minima,aut,3648 +3649,molestias,sapiente,3649 +3650,qui,dolore,3650 +3651,ad,qui,3651 +3652,commodi,doloremque,3652 +3653,illum,atque,3653 +3654,dignissimos,rem,3654 +3655,ab,eaque,3655 +3656,qui,deserunt,3656 +3657,dolores,occaecati,3657 +3658,omnis,ut,3658 +3659,omnis,eum,3659 +3660,consequatur,pariatur,3660 +3661,sit,impedit,3661 +3662,itaque,labore,3662 +3663,quae,et,3663 +3664,sed,deleniti,3664 +3665,laudantium,autem,3665 +3666,voluptate,sed,3666 +3667,pariatur,officia,3667 +3668,labore,odit,3668 +3669,nisi,qui,3669 +3670,et,nihil,3670 +3671,occaecati,voluptas,3671 +3672,alias,magnam,3672 +3673,dolores,optio,3673 +3674,accusantium,rem,3674 +3675,qui,atque,3675 +3676,culpa,numquam,3676 +3677,veniam,sit,3677 +3678,sed,corporis,3678 +3679,amet,dolorem,3679 +3680,et,ut,3680 +3681,dolores,corrupti,3681 +3682,voluptates,dolor,3682 +3683,doloribus,unde,3683 +3684,perspiciatis,vitae,3684 +3685,odio,quo,3685 +3686,eaque,consequuntur,3686 +3687,mollitia,delectus,3687 +3688,odit,consequatur,3688 +3689,necessitatibus,eos,3689 +3690,perspiciatis,in,3690 +3691,officia,in,3691 +3692,a,error,3692 +3693,impedit,voluptas,3693 +3694,vitae,omnis,3694 +3695,quaerat,quis,3695 +3696,quo,asperiores,3696 +3697,quia,explicabo,3697 +3698,nulla,quam,3698 +3699,accusantium,expedita,3699 +3700,officiis,dolores,3700 +3701,nulla,quia,3701 +3702,doloribus,vel,3702 +3703,doloribus,beatae,3703 +3704,voluptatem,labore,3704 +3705,voluptate,rerum,3705 +3706,non,sint,3706 +3707,inventore,sit,3707 +3708,quisquam,quos,3708 +3709,aut,et,3709 +3710,blanditiis,repudiandae,3710 +3711,iusto,et,3711 +3712,eligendi,libero,3712 +3713,consequatur,consequatur,3713 +3714,maiores,ducimus,3714 +3715,eaque,nostrum,3715 +3716,nostrum,aut,3716 +3717,perspiciatis,nesciunt,3717 +3718,aut,quis,3718 +3719,veniam,quis,3719 +3720,veniam,maxime,3720 +3721,ullam,id,3721 +3722,sint,in,3722 +3723,modi,voluptas,3723 +3724,blanditiis,laudantium,3724 +3725,velit,voluptatibus,3725 +3726,aspernatur,rerum,3726 +3727,animi,et,3727 +3728,velit,aspernatur,3728 +3729,atque,quas,3729 +3730,minus,aut,3730 +3731,et,aspernatur,3731 +3732,delectus,modi,3732 +3733,repellendus,eius,3733 +3734,architecto,commodi,3734 +3735,sit,a,3735 +3736,molestiae,culpa,3736 +3737,corporis,maiores,3737 +3738,sapiente,dolor,3738 +3739,repellendus,dolores,3739 +3740,sit,mollitia,3740 +3741,cumque,sit,3741 +3742,excepturi,qui,3742 +3743,ipsa,voluptatibus,3743 +3744,totam,aut,3744 +3745,necessitatibus,molestias,3745 +3746,id,quia,3746 +3747,cum,voluptatem,3747 +3748,eum,earum,3748 +3749,rerum,vel,3749 +3750,est,ea,3750 +3751,enim,ut,3751 +3752,beatae,ipsam,3752 +3753,unde,in,3753 +3754,maiores,nihil,3754 +3755,magnam,et,3755 +3756,consequatur,perspiciatis,3756 +3757,voluptatem,odio,3757 +3758,qui,sunt,3758 +3759,sunt,et,3759 +3760,exercitationem,voluptas,3760 +3761,rerum,corporis,3761 +3762,aliquid,ratione,3762 +3763,minima,delectus,3763 +3764,est,quas,3764 +3765,placeat,consectetur,3765 +3766,expedita,iure,3766 +3767,reiciendis,doloremque,3767 +3768,molestias,tempora,3768 +3769,ullam,culpa,3769 +3770,dolorem,aliquid,3770 +3771,a,laudantium,3771 +3772,est,quo,3772 +3773,sit,qui,3773 +3774,et,minima,3774 +3775,tempora,cum,3775 +3776,quia,impedit,3776 +3777,occaecati,ducimus,3777 +3778,doloribus,facere,3778 +3779,et,porro,3779 +3780,et,consectetur,3780 +3781,incidunt,ab,3781 +3782,rerum,quod,3782 +3783,officia,aut,3783 +3784,dolorum,quod,3784 +3785,quidem,magni,3785 +3786,nemo,fugit,3786 +3787,aliquam,quaerat,3787 +3788,velit,soluta,3788 +3789,exercitationem,ut,3789 +3790,nesciunt,beatae,3790 +3791,dolores,tempora,3791 +3792,quaerat,autem,3792 +3793,delectus,exercitationem,3793 +3794,quia,et,3794 +3795,consequatur,architecto,3795 +3796,accusantium,possimus,3796 +3797,qui,rerum,3797 +3798,voluptatem,rem,3798 +3799,optio,rem,3799 +3800,earum,culpa,3800 +3801,et,eligendi,3801 +3802,ea,alias,3802 +3803,eum,dolores,3803 +3804,earum,similique,3804 +3805,rem,beatae,3805 +3806,voluptatem,animi,3806 +3807,veritatis,non,3807 +3808,accusamus,error,3808 +3809,aliquid,minus,3809 +3810,et,est,3810 +3811,et,error,3811 +3812,minima,quidem,3812 +3813,veniam,veritatis,3813 +3814,iste,asperiores,3814 +3815,enim,quaerat,3815 +3816,vero,consequatur,3816 +3817,laborum,itaque,3817 +3818,natus,neque,3818 +3819,eum,ut,3819 +3820,quae,officiis,3820 +3821,esse,accusantium,3821 +3822,consectetur,ut,3822 +3823,sunt,harum,3823 +3824,quos,rerum,3824 +3825,totam,consequatur,3825 +3826,similique,dolorem,3826 +3827,voluptas,quaerat,3827 +3828,maxime,minima,3828 +3829,velit,deserunt,3829 +3830,perspiciatis,placeat,3830 +3831,omnis,quaerat,3831 +3832,ipsa,repellat,3832 +3833,eius,aliquam,3833 +3834,maiores,et,3834 +3835,omnis,sint,3835 +3836,ut,soluta,3836 +3837,nobis,perferendis,3837 +3838,quaerat,et,3838 +3839,blanditiis,rerum,3839 +3840,quasi,repellendus,3840 +3841,commodi,deserunt,3841 +3842,veniam,officia,3842 +3843,voluptatem,qui,3843 +3844,cupiditate,aut,3844 +3845,quia,labore,3845 +3846,nobis,est,3846 +3847,labore,sint,3847 +3848,quis,officiis,3848 +3849,ullam,voluptatum,3849 +3850,enim,dignissimos,3850 +3851,officia,aliquid,3851 +3852,quis,et,3852 +3853,est,dolorum,3853 +3854,aliquam,rerum,3854 +3855,earum,aut,3855 +3856,voluptate,ad,3856 +3857,laborum,sit,3857 +3858,et,eius,3858 +3859,reprehenderit,qui,3859 +3860,est,ut,3860 +3861,facilis,modi,3861 +3862,beatae,qui,3862 +3863,architecto,tempora,3863 +3864,asperiores,sit,3864 +3865,id,et,3865 +3866,quis,delectus,3866 +3867,unde,et,3867 +3868,qui,quia,3868 +3869,ut,non,3869 +3870,sed,sit,3870 +3871,repudiandae,illum,3871 +3872,voluptas,quia,3872 +3873,ipsa,tempora,3873 +3874,cum,qui,3874 +3875,non,delectus,3875 +3876,sint,consequatur,3876 +3877,ratione,ratione,3877 +3878,est,est,3878 +3879,impedit,voluptate,3879 +3880,ab,iure,3880 +3881,et,asperiores,3881 +3882,id,vel,3882 +3883,ab,omnis,3883 +3884,sit,esse,3884 +3885,repellat,ab,3885 +3886,unde,et,3886 +3887,suscipit,doloribus,3887 +3888,dolore,doloribus,3888 +3889,non,natus,3889 +3890,molestias,molestiae,3890 +3891,occaecati,est,3891 +3892,quod,laborum,3892 +3893,sed,a,3893 +3894,quis,quos,3894 +3895,quo,earum,3895 +3896,delectus,et,3896 +3897,sit,et,3897 +3898,aut,deserunt,3898 +3899,et,ea,3899 +3900,numquam,sunt,3900 +3901,dolorem,et,3901 +3902,non,et,3902 +3903,a,eveniet,3903 +3904,magnam,voluptas,3904 +3905,laudantium,reprehenderit,3905 +3906,sed,unde,3906 +3907,sed,ea,3907 +3908,saepe,hic,3908 +3909,commodi,magnam,3909 +3910,suscipit,voluptate,3910 +3911,consequatur,incidunt,3911 +3912,laborum,cumque,3912 +3913,quo,velit,3913 +3914,inventore,est,3914 +3915,reiciendis,ut,3915 +3916,rem,dolor,3916 +3917,quia,eligendi,3917 +3918,debitis,et,3918 +3919,nemo,eos,3919 +3920,odit,rerum,3920 +3921,necessitatibus,dolorem,3921 +3922,consequatur,inventore,3922 +3923,repellendus,sed,3923 +3924,ratione,repellat,3924 +3925,qui,animi,3925 +3926,maxime,impedit,3926 +3927,quas,autem,3927 +3928,reprehenderit,unde,3928 +3929,neque,est,3929 +3930,et,excepturi,3930 +3931,ex,at,3931 +3932,voluptas,nihil,3932 +3933,maiores,ut,3933 +3934,molestiae,occaecati,3934 +3935,labore,fugit,3935 +3936,voluptatum,aliquid,3936 +3937,maxime,laborum,3937 +3938,quaerat,eos,3938 +3939,modi,animi,3939 +3940,accusantium,voluptatum,3940 +3941,alias,ducimus,3941 +3942,optio,sint,3942 +3943,nemo,et,3943 +3944,facilis,odio,3944 +3945,saepe,natus,3945 +3946,libero,et,3946 +3947,aliquid,illum,3947 +3948,reprehenderit,id,3948 +3949,at,et,3949 +3950,aut,ex,3950 +3951,facere,sequi,3951 +3952,natus,esse,3952 +3953,delectus,et,3953 +3954,qui,voluptas,3954 +3955,est,eaque,3955 +3956,consectetur,quos,3956 +3957,quas,commodi,3957 +3958,quis,hic,3958 +3959,commodi,asperiores,3959 +3960,consequuntur,qui,3960 +3961,perspiciatis,maxime,3961 +3962,et,velit,3962 +3963,incidunt,officiis,3963 +3964,architecto,consectetur,3964 +3965,nam,numquam,3965 +3966,in,sed,3966 +3967,harum,omnis,3967 +3968,eum,labore,3968 +3969,ullam,omnis,3969 +3970,praesentium,et,3970 +3971,ea,at,3971 +3972,culpa,voluptas,3972 +3973,aliquam,quae,3973 +3974,sint,quasi,3974 +3975,ut,doloremque,3975 +3976,in,est,3976 +3977,cumque,velit,3977 +3978,et,et,3978 +3979,explicabo,sint,3979 +3980,dolorum,aut,3980 +3981,odit,temporibus,3981 +3982,praesentium,voluptatem,3982 +3983,omnis,maiores,3983 +3984,dolores,accusantium,3984 +3985,autem,assumenda,3985 +3986,repudiandae,sequi,3986 +3987,eius,omnis,3987 +3988,magnam,accusantium,3988 +3989,ratione,tempore,3989 +3990,ut,aut,3990 +3991,est,ut,3991 +3992,cumque,dolore,3992 +3993,neque,id,3993 +3994,repellat,fugiat,3994 +3995,quod,aspernatur,3995 +3996,suscipit,facilis,3996 +3997,reprehenderit,debitis,3997 +3998,placeat,repudiandae,3998 +3999,velit,quia,3999 +4000,dolorem,nam,4000 +4001,voluptatem,non,4001 +4002,explicabo,in,4002 +4003,ullam,quas,4003 +4004,minima,sit,4004 +4005,omnis,accusamus,4005 +4006,ratione,magnam,4006 +4007,corporis,repudiandae,4007 +4008,eius,est,4008 +4009,commodi,aperiam,4009 +4010,ut,velit,4010 +4011,expedita,ea,4011 +4012,doloribus,dolorum,4012 +4013,ducimus,laborum,4013 +4014,possimus,sunt,4014 +4015,tenetur,et,4015 +4016,mollitia,distinctio,4016 +4017,qui,eum,4017 +4018,voluptas,architecto,4018 +4019,magni,quidem,4019 +4020,nostrum,labore,4020 +4021,maiores,quasi,4021 +4022,eos,id,4022 +4023,quia,consectetur,4023 +4024,doloribus,in,4024 +4025,maxime,reiciendis,4025 +4026,amet,aut,4026 +4027,sed,culpa,4027 +4028,sint,iusto,4028 +4029,quo,natus,4029 +4030,ea,et,4030 +4031,quo,omnis,4031 +4032,sint,nemo,4032 +4033,vitae,omnis,4033 +4034,quo,quod,4034 +4035,recusandae,animi,4035 +4036,qui,animi,4036 +4037,dolorem,nesciunt,4037 +4038,numquam,dolores,4038 +4039,sequi,id,4039 +4040,saepe,hic,4040 +4041,minus,est,4041 +4042,explicabo,mollitia,4042 +4043,perspiciatis,nihil,4043 +4044,eaque,et,4044 +4045,animi,sint,4045 +4046,mollitia,nisi,4046 +4047,ut,perspiciatis,4047 +4048,quo,consequatur,4048 +4049,est,quia,4049 +4050,rem,debitis,4050 +4051,fuga,et,4051 +4052,fugit,porro,4052 +4053,quam,iure,4053 +4054,cumque,eos,4054 +4055,ipsum,autem,4055 +4056,at,aspernatur,4056 +4057,unde,explicabo,4057 +4058,mollitia,rerum,4058 +4059,debitis,officia,4059 +4060,sunt,quo,4060 +4061,voluptas,ipsam,4061 +4062,asperiores,ut,4062 +4063,consequatur,iure,4063 +4064,sit,qui,4064 +4065,magni,aut,4065 +4066,asperiores,ipsum,4066 +4067,id,mollitia,4067 +4068,quam,a,4068 +4069,esse,sequi,4069 +4070,delectus,suscipit,4070 +4071,quas,exercitationem,4071 +4072,vero,necessitatibus,4072 +4073,est,culpa,4073 +4074,eius,non,4074 +4075,sed,quia,4075 +4076,quam,eum,4076 +4077,consequatur,praesentium,4077 +4078,eius,numquam,4078 +4079,et,id,4079 +4080,sint,quia,4080 +4081,perferendis,et,4081 +4082,perferendis,omnis,4082 +4083,praesentium,in,4083 +4084,quas,corrupti,4084 +4085,sunt,sed,4085 +4086,fuga,illo,4086 +4087,veritatis,vel,4087 +4088,laboriosam,harum,4088 +4089,beatae,commodi,4089 +4090,quisquam,nostrum,4090 +4091,et,placeat,4091 +4092,vitae,unde,4092 +4093,nesciunt,tenetur,4093 +4094,omnis,sint,4094 +4095,facilis,explicabo,4095 +4096,perferendis,magnam,4096 +4097,consectetur,eaque,4097 +4098,cumque,qui,4098 +4099,sit,ut,4099 +4100,non,ea,4100 +4101,est,saepe,4101 +4102,eos,qui,4102 +4103,et,et,4103 +4104,aut,voluptas,4104 +4105,quibusdam,sed,4105 +4106,enim,natus,4106 +4107,voluptate,dolores,4107 +4108,ducimus,omnis,4108 +4109,labore,et,4109 +4110,distinctio,eius,4110 +4111,optio,totam,4111 +4112,nisi,sed,4112 +4113,officiis,expedita,4113 +4114,mollitia,sit,4114 +4115,in,consequatur,4115 +4116,excepturi,nisi,4116 +4117,debitis,dolorem,4117 +4118,natus,doloremque,4118 +4119,assumenda,sit,4119 +4120,laudantium,expedita,4120 +4121,consequatur,voluptatem,4121 +4122,molestias,distinctio,4122 +4123,consequatur,eveniet,4123 +4124,enim,voluptates,4124 +4125,voluptas,quia,4125 +4126,provident,repellat,4126 +4127,id,commodi,4127 +4128,voluptatem,et,4128 +4129,reiciendis,sit,4129 +4130,incidunt,eos,4130 +4131,consequuntur,vero,4131 +4132,explicabo,corporis,4132 +4133,voluptate,voluptatem,4133 +4134,id,ab,4134 +4135,recusandae,nisi,4135 +4136,molestias,at,4136 +4137,fugiat,provident,4137 +4138,tenetur,accusantium,4138 +4139,quis,voluptatem,4139 +4140,hic,quaerat,4140 +4141,illum,earum,4141 +4142,rerum,et,4142 +4143,est,sit,4143 +4144,dolore,corrupti,4144 +4145,nihil,aut,4145 +4146,sint,illum,4146 +4147,sit,distinctio,4147 +4148,laudantium,quo,4148 +4149,et,pariatur,4149 +4150,impedit,quia,4150 +4151,at,debitis,4151 +4152,aut,quas,4152 +4153,nesciunt,soluta,4153 +4154,perspiciatis,et,4154 +4155,est,nostrum,4155 +4156,aliquid,expedita,4156 +4157,qui,tenetur,4157 +4158,distinctio,sint,4158 +4159,tempore,harum,4159 +4160,nulla,laborum,4160 +4161,voluptatem,iusto,4161 +4162,dicta,harum,4162 +4163,molestiae,a,4163 +4164,deserunt,minima,4164 +4165,dolore,animi,4165 +4166,sed,dolores,4166 +4167,aut,aliquid,4167 +4168,eligendi,nostrum,4168 +4169,quia,placeat,4169 +4170,modi,nesciunt,4170 +4171,aut,sed,4171 +4172,in,itaque,4172 +4173,et,amet,4173 +4174,dolores,ex,4174 +4175,modi,reiciendis,4175 +4176,ipsa,dolorem,4176 +4177,non,veritatis,4177 +4178,cum,sunt,4178 +4179,molestias,ut,4179 +4180,nostrum,et,4180 +4181,ab,aut,4181 +4182,nihil,voluptatem,4182 +4183,sequi,optio,4183 +4184,impedit,eum,4184 +4185,ut,aliquid,4185 +4186,ex,mollitia,4186 +4187,reiciendis,tenetur,4187 +4188,rerum,ipsam,4188 +4189,sit,dolor,4189 +4190,quas,aut,4190 +4191,sequi,sit,4191 +4192,consequatur,sequi,4192 +4193,et,minus,4193 +4194,reprehenderit,repellat,4194 +4195,doloremque,est,4195 +4196,qui,modi,4196 +4197,voluptatum,deleniti,4197 +4198,amet,et,4198 +4199,laborum,culpa,4199 +4200,accusamus,nisi,4200 +4201,suscipit,occaecati,4201 +4202,est,laboriosam,4202 +4203,eius,quia,4203 +4204,cupiditate,quasi,4204 +4205,quisquam,dolores,4205 +4206,et,id,4206 +4207,dolorem,et,4207 +4208,unde,ex,4208 +4209,quidem,et,4209 +4210,quibusdam,eligendi,4210 +4211,atque,eligendi,4211 +4212,sed,quam,4212 +4213,dolorem,laudantium,4213 +4214,sit,minima,4214 +4215,saepe,magni,4215 +4216,repudiandae,alias,4216 +4217,sed,qui,4217 +4218,quis,ex,4218 +4219,explicabo,error,4219 +4220,omnis,consectetur,4220 +4221,officiis,magnam,4221 +4222,id,officiis,4222 +4223,porro,enim,4223 +4224,cum,atque,4224 +4225,nobis,asperiores,4225 +4226,minus,repellendus,4226 +4227,et,sint,4227 +4228,id,sint,4228 +4229,ut,enim,4229 +4230,eveniet,tempora,4230 +4231,libero,aut,4231 +4232,assumenda,laudantium,4232 +4233,at,nesciunt,4233 +4234,et,rerum,4234 +4235,asperiores,consequuntur,4235 +4236,soluta,doloribus,4236 +4237,et,et,4237 +4238,natus,rerum,4238 +4239,fugit,occaecati,4239 +4240,dolores,debitis,4240 +4241,numquam,saepe,4241 +4242,et,tenetur,4242 +4243,quod,omnis,4243 +4244,aut,et,4244 +4245,ex,sint,4245 +4246,temporibus,autem,4246 +4247,et,provident,4247 +4248,doloribus,iusto,4248 +4249,ut,facilis,4249 +4250,eum,a,4250 +4251,placeat,et,4251 +4252,rerum,aliquid,4252 +4253,dicta,quibusdam,4253 +4254,explicabo,molestiae,4254 +4255,et,officia,4255 +4256,dolores,provident,4256 +4257,corrupti,aliquid,4257 +4258,consequatur,quia,4258 +4259,itaque,non,4259 +4260,quia,adipisci,4260 +4261,dolorem,dolore,4261 +4262,unde,autem,4262 +4263,vitae,voluptas,4263 +4264,sint,quos,4264 +4265,vel,non,4265 +4266,ullam,corporis,4266 +4267,quam,occaecati,4267 +4268,vel,harum,4268 +4269,sint,quos,4269 +4270,fugit,quia,4270 +4271,qui,illo,4271 +4272,ipsam,deleniti,4272 +4273,omnis,magnam,4273 +4274,delectus,atque,4274 +4275,qui,iste,4275 +4276,voluptates,dolores,4276 +4277,voluptatem,illo,4277 +4278,aspernatur,sapiente,4278 +4279,maiores,fugiat,4279 +4280,qui,molestiae,4280 +4281,consequuntur,ipsum,4281 +4282,quia,modi,4282 +4283,est,eum,4283 +4284,at,aperiam,4284 +4285,culpa,soluta,4285 +4286,nulla,nisi,4286 +4287,quas,accusamus,4287 +4288,provident,id,4288 +4289,rerum,culpa,4289 +4290,autem,odit,4290 +4291,laborum,aspernatur,4291 +4292,unde,tempore,4292 +4293,aut,minus,4293 +4294,quae,eius,4294 +4295,quo,quas,4295 +4296,minus,deserunt,4296 +4297,nisi,et,4297 +4298,consequatur,hic,4298 +4299,earum,et,4299 +4300,vero,consequatur,4300 +4301,libero,et,4301 +4302,est,quia,4302 +4303,suscipit,sed,4303 +4304,rem,qui,4304 +4305,quae,quam,4305 +4306,tempora,eos,4306 +4307,ipsum,iusto,4307 +4308,debitis,qui,4308 +4309,eum,non,4309 +4310,aut,necessitatibus,4310 +4311,occaecati,quo,4311 +4312,atque,quidem,4312 +4313,non,ea,4313 +4314,et,et,4314 +4315,quia,praesentium,4315 +4316,placeat,iusto,4316 +4317,quia,cumque,4317 +4318,laboriosam,nam,4318 +4319,porro,dolorem,4319 +4320,neque,accusantium,4320 +4321,natus,corporis,4321 +4322,non,itaque,4322 +4323,reiciendis,officiis,4323 +4324,ut,ut,4324 +4325,alias,accusamus,4325 +4326,et,nihil,4326 +4327,consectetur,illum,4327 +4328,expedita,ipsa,4328 +4329,repellendus,repellat,4329 +4330,non,maxime,4330 +4331,itaque,ut,4331 +4332,itaque,aut,4332 +4333,velit,at,4333 +4334,quod,harum,4334 +4335,et,aut,4335 +4336,suscipit,et,4336 +4337,omnis,repellat,4337 +4338,est,fugiat,4338 +4339,assumenda,consequatur,4339 +4340,sed,et,4340 +4341,exercitationem,unde,4341 +4342,enim,velit,4342 +4343,sit,iusto,4343 +4344,qui,laudantium,4344 +4345,dolor,voluptas,4345 +4346,cupiditate,et,4346 +4347,et,nisi,4347 +4348,labore,doloribus,4348 +4349,rerum,molestiae,4349 +4350,qui,qui,4350 +4351,ut,minima,4351 +4352,et,dolorem,4352 +4353,sit,ut,4353 +4354,fugiat,veritatis,4354 +4355,inventore,rem,4355 +4356,iure,voluptatem,4356 +4357,illo,sint,4357 +4358,magnam,recusandae,4358 +4359,qui,et,4359 +4360,fuga,a,4360 +4361,voluptates,aliquid,4361 +4362,nihil,similique,4362 +4363,ut,cumque,4363 +4364,corrupti,omnis,4364 +4365,harum,iure,4365 +4366,recusandae,saepe,4366 +4367,sint,magni,4367 +4368,nemo,voluptatem,4368 +4369,enim,necessitatibus,4369 +4370,et,aut,4370 +4371,sapiente,ducimus,4371 +4372,voluptas,cumque,4372 +4373,perspiciatis,neque,4373 +4374,quasi,nobis,4374 +4375,sit,debitis,4375 +4376,rerum,cupiditate,4376 +4377,quas,fuga,4377 +4378,iste,voluptatem,4378 +4379,rerum,voluptas,4379 +4380,temporibus,quis,4380 +4381,minima,ratione,4381 +4382,dolores,eveniet,4382 +4383,reiciendis,dolor,4383 +4384,repudiandae,quas,4384 +4385,beatae,odio,4385 +4386,ut,ad,4386 +4387,autem,doloribus,4387 +4388,dolor,ut,4388 +4389,rem,in,4389 +4390,natus,ut,4390 +4391,amet,enim,4391 +4392,sit,ut,4392 +4393,aut,quia,4393 +4394,id,enim,4394 +4395,tempore,optio,4395 +4396,ut,in,4396 +4397,sed,ratione,4397 +4398,quo,laborum,4398 +4399,suscipit,totam,4399 +4400,ad,dignissimos,4400 +4401,consequatur,et,4401 +4402,laudantium,non,4402 +4403,soluta,atque,4403 +4404,cum,esse,4404 +4405,ad,fuga,4405 +4406,dolor,sint,4406 +4407,et,sunt,4407 +4408,earum,atque,4408 +4409,fugit,exercitationem,4409 +4410,aut,praesentium,4410 +4411,neque,natus,4411 +4412,nemo,ea,4412 +4413,autem,fuga,4413 +4414,autem,fugit,4414 +4415,eaque,vel,4415 +4416,eum,optio,4416 +4417,sit,ut,4417 +4418,ea,earum,4418 +4419,voluptatum,facilis,4419 +4420,sit,ut,4420 +4421,vitae,assumenda,4421 +4422,voluptate,est,4422 +4423,at,sed,4423 +4424,eligendi,libero,4424 +4425,quia,natus,4425 +4426,laudantium,non,4426 +4427,minus,sequi,4427 +4428,facilis,ratione,4428 +4429,quis,quasi,4429 +4430,sunt,porro,4430 +4431,accusantium,magni,4431 +4432,quibusdam,sunt,4432 +4433,cupiditate,quo,4433 +4434,accusamus,nostrum,4434 +4435,praesentium,facilis,4435 +4436,debitis,tempora,4436 +4437,consectetur,ut,4437 +4438,temporibus,saepe,4438 +4439,minus,nobis,4439 +4440,qui,deserunt,4440 +4441,exercitationem,in,4441 +4442,quibusdam,maiores,4442 +4443,odit,ullam,4443 +4444,id,omnis,4444 +4445,suscipit,voluptatem,4445 +4446,perferendis,consequatur,4446 +4447,et,similique,4447 +4448,nemo,ipsum,4448 +4449,vel,occaecati,4449 +4450,ut,ratione,4450 +4451,modi,enim,4451 +4452,esse,placeat,4452 +4453,autem,soluta,4453 +4454,consequatur,perferendis,4454 +4455,qui,rerum,4455 +4456,soluta,quaerat,4456 +4457,sint,id,4457 +4458,aut,dignissimos,4458 +4459,ipsa,facilis,4459 +4460,nulla,numquam,4460 +4461,enim,et,4461 +4462,similique,laudantium,4462 +4463,voluptas,facere,4463 +4464,magni,sed,4464 +4465,temporibus,quia,4465 +4466,aut,esse,4466 +4467,possimus,molestiae,4467 +4468,assumenda,corporis,4468 +4469,minus,sunt,4469 +4470,dolores,dolores,4470 +4471,excepturi,consequuntur,4471 +4472,enim,consectetur,4472 +4473,incidunt,cum,4473 +4474,distinctio,aliquid,4474 +4475,mollitia,sed,4475 +4476,voluptas,et,4476 +4477,provident,ad,4477 +4478,eligendi,quia,4478 +4479,provident,aperiam,4479 +4480,quia,vitae,4480 +4481,nemo,et,4481 +4482,dolor,a,4482 +4483,labore,totam,4483 +4484,eveniet,quod,4484 +4485,id,omnis,4485 +4486,et,esse,4486 +4487,non,quo,4487 +4488,aliquam,accusamus,4488 +4489,qui,eveniet,4489 +4490,consequatur,temporibus,4490 +4491,distinctio,natus,4491 +4492,aliquam,non,4492 +4493,pariatur,minima,4493 +4494,magnam,nihil,4494 +4495,corrupti,voluptas,4495 +4496,eum,voluptas,4496 +4497,sed,dicta,4497 +4498,quis,sequi,4498 +4499,voluptas,exercitationem,4499 +4500,neque,qui,4500 +4501,eum,consequatur,4501 +4502,ut,perferendis,4502 +4503,quaerat,dolorum,4503 +4504,soluta,officiis,4504 +4505,porro,ea,4505 +4506,itaque,laboriosam,4506 +4507,autem,aliquid,4507 +4508,odio,aut,4508 +4509,blanditiis,illum,4509 +4510,non,tempore,4510 +4511,error,itaque,4511 +4512,maxime,et,4512 +4513,eaque,fugiat,4513 +4514,esse,debitis,4514 +4515,sed,aut,4515 +4516,velit,qui,4516 +4517,molestias,inventore,4517 +4518,ipsa,libero,4518 +4519,velit,tempora,4519 +4520,recusandae,error,4520 +4521,qui,eos,4521 +4522,amet,ipsa,4522 +4523,voluptas,neque,4523 +4524,rerum,voluptatem,4524 +4525,enim,laboriosam,4525 +4526,laboriosam,in,4526 +4527,rerum,rerum,4527 +4528,minima,nulla,4528 +4529,earum,labore,4529 +4530,molestiae,non,4530 +4531,et,ipsam,4531 +4532,molestias,eum,4532 +4533,nemo,voluptatem,4533 +4534,similique,consequatur,4534 +4535,omnis,ab,4535 +4536,nisi,aut,4536 +4537,molestias,ipsam,4537 +4538,eligendi,quo,4538 +4539,voluptatem,ut,4539 +4540,ut,sit,4540 +4541,et,possimus,4541 +4542,sint,delectus,4542 +4543,consequatur,aut,4543 +4544,nisi,optio,4544 +4545,nam,sit,4545 +4546,iusto,est,4546 +4547,earum,nostrum,4547 +4548,nihil,quam,4548 +4549,consectetur,dignissimos,4549 +4550,et,et,4550 +4551,quia,corporis,4551 +4552,molestiae,sequi,4552 +4553,voluptas,est,4553 +4554,impedit,dolor,4554 +4555,vel,commodi,4555 +4556,dolores,explicabo,4556 +4557,dolores,amet,4557 +4558,asperiores,culpa,4558 +4559,ullam,necessitatibus,4559 +4560,voluptatem,quam,4560 +4561,asperiores,exercitationem,4561 +4562,et,vel,4562 +4563,omnis,expedita,4563 +4564,doloremque,dignissimos,4564 +4565,recusandae,quia,4565 +4566,tempore,eum,4566 +4567,voluptas,officiis,4567 +4568,impedit,suscipit,4568 +4569,sed,facilis,4569 +4570,aut,aliquam,4570 +4571,eos,omnis,4571 +4572,possimus,rerum,4572 +4573,consequatur,mollitia,4573 +4574,voluptas,tempore,4574 +4575,pariatur,sapiente,4575 +4576,deleniti,veritatis,4576 +4577,sunt,id,4577 +4578,ad,et,4578 +4579,quod,quod,4579 +4580,minus,beatae,4580 +4581,est,aut,4581 +4582,maiores,et,4582 +4583,eius,laboriosam,4583 +4584,consectetur,temporibus,4584 +4585,unde,omnis,4585 +4586,possimus,aut,4586 +4587,quos,animi,4587 +4588,in,quae,4588 +4589,quia,qui,4589 +4590,tempore,possimus,4590 +4591,aliquam,praesentium,4591 +4592,est,non,4592 +4593,minus,fuga,4593 +4594,vel,fuga,4594 +4595,et,enim,4595 +4596,beatae,magni,4596 +4597,nisi,voluptatem,4597 +4598,et,nemo,4598 +4599,qui,minima,4599 +4600,facilis,non,4600 +4601,fugiat,non,4601 +4602,non,sint,4602 +4603,maxime,est,4603 +4604,porro,qui,4604 +4605,unde,modi,4605 +4606,inventore,consectetur,4606 +4607,est,qui,4607 +4608,illum,sit,4608 +4609,illo,ea,4609 +4610,corrupti,est,4610 +4611,et,est,4611 +4612,porro,distinctio,4612 +4613,qui,autem,4613 +4614,sunt,delectus,4614 +4615,similique,quos,4615 +4616,molestiae,nihil,4616 +4617,qui,maxime,4617 +4618,quas,libero,4618 +4619,voluptate,id,4619 +4620,libero,modi,4620 +4621,voluptas,qui,4621 +4622,architecto,minus,4622 +4623,itaque,reiciendis,4623 +4624,rerum,praesentium,4624 +4625,temporibus,est,4625 +4626,blanditiis,est,4626 +4627,accusamus,inventore,4627 +4628,aperiam,voluptatibus,4628 +4629,sunt,minima,4629 +4630,ipsam,id,4630 +4631,aut,pariatur,4631 +4632,at,itaque,4632 +4633,nihil,fugit,4633 +4634,vero,sed,4634 +4635,eaque,non,4635 +4636,assumenda,veritatis,4636 +4637,ipsam,eum,4637 +4638,dolorem,sed,4638 +4639,esse,tempora,4639 +4640,doloremque,odit,4640 +4641,sit,ipsam,4641 +4642,a,qui,4642 +4643,reprehenderit,dolore,4643 +4644,labore,necessitatibus,4644 +4645,velit,quia,4645 +4646,vitae,dignissimos,4646 +4647,incidunt,eaque,4647 +4648,ab,commodi,4648 +4649,perspiciatis,itaque,4649 +4650,ullam,voluptas,4650 +4651,qui,sit,4651 +4652,ducimus,rerum,4652 +4653,voluptas,voluptates,4653 +4654,eos,animi,4654 +4655,assumenda,deleniti,4655 +4656,repellat,sunt,4656 +4657,voluptate,illo,4657 +4658,est,similique,4658 +4659,vel,corporis,4659 +4660,pariatur,dicta,4660 +4661,sapiente,quisquam,4661 +4662,aut,quibusdam,4662 +4663,molestiae,in,4663 +4664,eligendi,ea,4664 +4665,tenetur,corrupti,4665 +4666,itaque,quia,4666 +4667,sed,facere,4667 +4668,occaecati,excepturi,4668 +4669,et,veritatis,4669 +4670,veniam,repudiandae,4670 +4671,itaque,nobis,4671 +4672,iusto,qui,4672 +4673,suscipit,voluptate,4673 +4674,sit,beatae,4674 +4675,commodi,nobis,4675 +4676,qui,voluptas,4676 +4677,enim,fugiat,4677 +4678,quod,dolor,4678 +4679,accusamus,et,4679 +4680,veniam,ut,4680 +4681,necessitatibus,consequatur,4681 +4682,vitae,magni,4682 +4683,velit,odit,4683 +4684,debitis,accusamus,4684 +4685,perferendis,eum,4685 +4686,ipsam,repellat,4686 +4687,hic,voluptatem,4687 +4688,est,rerum,4688 +4689,sequi,sit,4689 +4690,sit,qui,4690 +4691,ullam,animi,4691 +4692,voluptatibus,ipsum,4692 +4693,voluptatem,nam,4693 +4694,aliquam,iste,4694 +4695,ipsam,enim,4695 +4696,neque,reiciendis,4696 +4697,ut,et,4697 +4698,voluptatem,aut,4698 +4699,maiores,accusantium,4699 +4700,pariatur,dolor,4700 +4701,doloribus,voluptatum,4701 +4702,architecto,perspiciatis,4702 +4703,officia,ad,4703 +4704,voluptas,quod,4704 +4705,dolor,esse,4705 +4706,omnis,at,4706 +4707,esse,accusantium,4707 +4708,atque,tempora,4708 +4709,a,dicta,4709 +4710,maiores,et,4710 +4711,sed,rerum,4711 +4712,explicabo,dolorem,4712 +4713,vel,ipsum,4713 +4714,omnis,est,4714 +4715,dolorum,aut,4715 +4716,animi,repellat,4716 +4717,cumque,veniam,4717 +4718,cumque,dolorum,4718 +4719,animi,placeat,4719 +4720,cupiditate,vel,4720 +4721,eius,deleniti,4721 +4722,nostrum,est,4722 +4723,nemo,quam,4723 +4724,odio,doloribus,4724 +4725,odio,reiciendis,4725 +4726,nulla,non,4726 +4727,temporibus,vel,4727 +4728,veritatis,dicta,4728 +4729,maiores,error,4729 +4730,est,officia,4730 +4731,omnis,magnam,4731 +4732,laborum,repellendus,4732 +4733,expedita,est,4733 +4734,aut,quaerat,4734 +4735,ut,quia,4735 +4736,esse,sunt,4736 +4737,accusamus,consequatur,4737 +4738,magnam,eum,4738 +4739,qui,asperiores,4739 +4740,amet,temporibus,4740 +4741,veniam,illo,4741 +4742,culpa,delectus,4742 +4743,occaecati,maiores,4743 +4744,necessitatibus,consequatur,4744 +4745,inventore,ad,4745 +4746,qui,voluptatem,4746 +4747,earum,ipsam,4747 +4748,eveniet,rerum,4748 +4749,minima,error,4749 +4750,aliquam,dicta,4750 +4751,necessitatibus,et,4751 +4752,earum,sed,4752 +4753,veritatis,et,4753 +4754,tempora,rerum,4754 +4755,consequatur,nostrum,4755 +4756,fugiat,officiis,4756 +4757,explicabo,ea,4757 +4758,odio,alias,4758 +4759,nam,distinctio,4759 +4760,et,animi,4760 +4761,est,non,4761 +4762,quae,numquam,4762 +4763,et,velit,4763 +4764,deserunt,ut,4764 +4765,quia,minus,4765 +4766,nihil,voluptas,4766 +4767,nulla,voluptatem,4767 +4768,possimus,quis,4768 +4769,unde,nam,4769 +4770,sed,qui,4770 +4771,omnis,recusandae,4771 +4772,dolorem,id,4772 +4773,laborum,minima,4773 +4774,aut,rem,4774 +4775,dolores,pariatur,4775 +4776,officiis,atque,4776 +4777,quia,esse,4777 +4778,ex,asperiores,4778 +4779,et,magni,4779 +4780,omnis,aut,4780 +4781,sunt,et,4781 +4782,eveniet,minima,4782 +4783,tenetur,ea,4783 +4784,similique,debitis,4784 +4785,aut,sed,4785 +4786,occaecati,unde,4786 +4787,similique,officiis,4787 +4788,possimus,repudiandae,4788 +4789,consequuntur,ducimus,4789 +4790,impedit,consectetur,4790 +4791,sunt,eum,4791 +4792,similique,eaque,4792 +4793,distinctio,ea,4793 +4794,numquam,atque,4794 +4795,dolor,et,4795 +4796,molestias,eos,4796 +4797,distinctio,quidem,4797 +4798,et,similique,4798 +4799,officia,occaecati,4799 +4800,sit,qui,4800 +4801,nam,vero,4801 +4802,dolore,laborum,4802 +4803,dolorum,id,4803 +4804,id,et,4804 +4805,quos,non,4805 +4806,esse,nesciunt,4806 +4807,omnis,maxime,4807 +4808,est,ullam,4808 +4809,praesentium,repellendus,4809 +4810,et,reprehenderit,4810 +4811,hic,veniam,4811 +4812,non,voluptas,4812 +4813,omnis,adipisci,4813 +4814,totam,nihil,4814 +4815,sunt,ut,4815 +4816,numquam,est,4816 +4817,repellat,occaecati,4817 +4818,doloribus,natus,4818 +4819,delectus,sapiente,4819 +4820,minima,nostrum,4820 +4821,molestias,sequi,4821 +4822,eum,odio,4822 +4823,id,aut,4823 +4824,porro,non,4824 +4825,nihil,et,4825 +4826,quisquam,esse,4826 +4827,ea,facilis,4827 +4828,tempora,suscipit,4828 +4829,ut,aspernatur,4829 +4830,unde,quia,4830 +4831,quae,at,4831 +4832,error,voluptas,4832 +4833,aut,eum,4833 +4834,quia,aut,4834 +4835,incidunt,sed,4835 +4836,quasi,qui,4836 +4837,minima,beatae,4837 +4838,perferendis,veniam,4838 +4839,quaerat,cupiditate,4839 +4840,quisquam,quia,4840 +4841,nam,dicta,4841 +4842,et,nam,4842 +4843,perspiciatis,ullam,4843 +4844,aspernatur,dolores,4844 +4845,esse,autem,4845 +4846,sit,minima,4846 +4847,quasi,vitae,4847 +4848,et,non,4848 +4849,pariatur,doloribus,4849 +4850,eum,aperiam,4850 +4851,velit,a,4851 +4852,et,vitae,4852 +4853,aut,culpa,4853 +4854,quaerat,doloribus,4854 +4855,quia,eos,4855 +4856,eligendi,quam,4856 +4857,doloribus,ipsam,4857 +4858,quaerat,nisi,4858 +4859,laudantium,qui,4859 +4860,eum,quisquam,4860 +4861,voluptas,et,4861 +4862,animi,quis,4862 +4863,suscipit,nemo,4863 +4864,ab,cupiditate,4864 +4865,corporis,et,4865 +4866,odit,amet,4866 +4867,sed,qui,4867 +4868,voluptatibus,placeat,4868 +4869,cumque,temporibus,4869 +4870,dolor,quos,4870 +4871,eum,nemo,4871 +4872,inventore,architecto,4872 +4873,molestias,nemo,4873 +4874,incidunt,earum,4874 +4875,consequatur,aut,4875 +4876,ut,non,4876 +4877,facere,aut,4877 +4878,cumque,soluta,4878 +4879,nisi,fugiat,4879 +4880,corporis,perspiciatis,4880 +4881,ut,voluptatem,4881 +4882,reprehenderit,vitae,4882 +4883,et,qui,4883 +4884,fugiat,est,4884 +4885,laudantium,aliquid,4885 +4886,sunt,facilis,4886 +4887,voluptate,ut,4887 +4888,aut,omnis,4888 +4889,aliquam,eos,4889 +4890,maxime,quidem,4890 +4891,sapiente,qui,4891 +4892,inventore,porro,4892 +4893,rerum,labore,4893 +4894,odit,repudiandae,4894 +4895,aut,laudantium,4895 +4896,suscipit,inventore,4896 +4897,ad,ratione,4897 +4898,maiores,esse,4898 +4899,qui,a,4899 +4900,rem,accusantium,4900 +4901,id,est,4901 +4902,dolorem,aperiam,4902 +4903,tempora,vel,4903 +4904,aliquam,aperiam,4904 +4905,omnis,amet,4905 +4906,reiciendis,quam,4906 +4907,ex,eos,4907 +4908,autem,ad,4908 +4909,corrupti,magnam,4909 +4910,cupiditate,aspernatur,4910 +4911,cupiditate,consequatur,4911 +4912,sint,dicta,4912 +4913,fugiat,saepe,4913 +4914,perspiciatis,quia,4914 +4915,aut,expedita,4915 +4916,et,et,4916 +4917,vel,sunt,4917 +4918,iste,illum,4918 +4919,exercitationem,omnis,4919 +4920,quas,voluptatem,4920 +4921,perspiciatis,velit,4921 +4922,iure,quo,4922 +4923,unde,eum,4923 +4924,vero,maiores,4924 +4925,a,quis,4925 +4926,labore,sapiente,4926 +4927,vel,expedita,4927 +4928,qui,qui,4928 +4929,qui,eius,4929 +4930,exercitationem,non,4930 +4931,nam,ut,4931 +4932,qui,nihil,4932 +4933,et,esse,4933 +4934,incidunt,saepe,4934 +4935,et,nihil,4935 +4936,quos,culpa,4936 +4937,repudiandae,quo,4937 +4938,voluptatibus,autem,4938 +4939,dolores,voluptatem,4939 +4940,sed,labore,4940 +4941,quaerat,deserunt,4941 +4942,et,nostrum,4942 +4943,officiis,architecto,4943 +4944,laboriosam,nesciunt,4944 +4945,ducimus,distinctio,4945 +4946,repellendus,saepe,4946 +4947,aut,fugit,4947 +4948,architecto,iste,4948 +4949,porro,illum,4949 +4950,pariatur,qui,4950 +4951,ea,nam,4951 +4952,voluptas,est,4952 +4953,nostrum,error,4953 +4954,delectus,suscipit,4954 +4955,consectetur,error,4955 +4956,repellat,velit,4956 +4957,aliquid,ut,4957 +4958,pariatur,maxime,4958 +4959,ut,ea,4959 +4960,facilis,non,4960 +4961,in,iusto,4961 +4962,ipsa,est,4962 +4963,repellendus,distinctio,4963 +4964,nobis,eos,4964 +4965,laborum,voluptatibus,4965 +4966,tempore,ut,4966 +4967,ea,vel,4967 +4968,consequatur,doloribus,4968 +4969,aliquam,officiis,4969 +4970,ipsum,a,4970 +4971,iusto,soluta,4971 +4972,sunt,facilis,4972 +4973,nobis,veritatis,4973 +4974,qui,minima,4974 +4975,dolorem,sint,4975 +4976,mollitia,tenetur,4976 +4977,aut,atque,4977 +4978,ducimus,optio,4978 +4979,ipsa,voluptas,4979 +4980,blanditiis,voluptatem,4980 +4981,error,porro,4981 +4982,sequi,nam,4982 +4983,omnis,possimus,4983 +4984,sit,inventore,4984 +4985,quisquam,suscipit,4985 +4986,voluptatum,id,4986 +4987,voluptatibus,dolores,4987 +4988,nesciunt,et,4988 +4989,fuga,quos,4989 +4990,sed,veniam,4990 +4991,est,maiores,4991 +4992,ut,autem,4992 +4993,quia,voluptatem,4993 +4994,et,dolores,4994 +4995,nisi,voluptatibus,4995 +4996,quae,nostrum,4996 +4997,accusantium,animi,4997 +4998,animi,veniam,4998 +4999,velit,sed,4999 +5000,reprehenderit,eos,5000 diff --git a/Java-Executor/java-executor-tutorial/data/customer-data - Copy (8).txt b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (8).txt new file mode 100644 index 0000000..d36e8c7 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (8).txt @@ -0,0 +1,5000 @@ +1,omnis,adipisci,1 +2,ullam,ratione,2 +3,iusto,laborum,3 +4,animi,porro,4 +5,est,quod,5 +6,nemo,consequatur,6 +7,inventore,harum,7 +8,quidem,sed,8 +9,nostrum,distinctio,9 +10,est,sint,10 +11,fugiat,facilis,11 +12,architecto,molestiae,12 +13,qui,perspiciatis,13 +14,rerum,omnis,14 +15,rerum,quia,15 +16,non,sunt,16 +17,beatae,illo,17 +18,modi,quia,18 +19,aut,harum,19 +20,ratione,est,20 +21,molestias,aliquid,21 +22,autem,qui,22 +23,consectetur,eos,23 +24,omnis,dolorem,24 +25,consequatur,nam,25 +26,quis,suscipit,26 +27,nihil,et,27 +28,rerum,qui,28 +29,occaecati,eligendi,29 +30,exercitationem,voluptas,30 +31,suscipit,quibusdam,31 +32,blanditiis,qui,32 +33,quo,reiciendis,33 +34,quo,nesciunt,34 +35,aut,aut,35 +36,harum,est,36 +37,voluptas,est,37 +38,beatae,animi,38 +39,aut,a,39 +40,ut,sint,40 +41,voluptatem,non,41 +42,et,in,42 +43,officiis,rerum,43 +44,doloremque,in,44 +45,officiis,corporis,45 +46,sed,quia,46 +47,consequatur,qui,47 +48,quia,voluptates,48 +49,minima,omnis,49 +50,quasi,qui,50 +51,suscipit,incidunt,51 +52,ad,doloribus,52 +53,voluptate,accusantium,53 +54,praesentium,eveniet,54 +55,accusamus,at,55 +56,nihil,sed,56 +57,qui,iusto,57 +58,consequuntur,dolores,58 +59,occaecati,reprehenderit,59 +60,totam,quia,60 +61,qui,facilis,61 +62,quia,delectus,62 +63,sit,ab,63 +64,quo,iure,64 +65,rem,quis,65 +66,unde,sint,66 +67,nulla,eligendi,67 +68,in,itaque,68 +69,et,sed,69 +70,ullam,quia,70 +71,dolores,similique,71 +72,praesentium,reprehenderit,72 +73,officiis,occaecati,73 +74,eos,enim,74 +75,odit,aliquam,75 +76,modi,et,76 +77,architecto,non,77 +78,hic,dolor,78 +79,rerum,rerum,79 +80,nihil,laudantium,80 +81,quidem,beatae,81 +82,sint,repellendus,82 +83,nobis,aut,83 +84,ut,beatae,84 +85,molestiae,at,85 +86,dolor,voluptatem,86 +87,voluptates,aut,87 +88,fuga,laborum,88 +89,voluptas,dicta,89 +90,cum,temporibus,90 +91,nesciunt,rerum,91 +92,est,tempora,92 +93,ratione,ducimus,93 +94,eum,aut,94 +95,neque,quae,95 +96,dolore,sunt,96 +97,voluptas,quibusdam,97 +98,omnis,temporibus,98 +99,ipsa,delectus,99 +100,non,illum,100 +101,consequuntur,et,101 +102,non,eum,102 +103,enim,unde,103 +104,itaque,provident,104 +105,quod,nesciunt,105 +106,sed,non,106 +107,commodi,qui,107 +108,odio,soluta,108 +109,inventore,assumenda,109 +110,officia,in,110 +111,quis,dolorem,111 +112,harum,sed,112 +113,autem,reprehenderit,113 +114,consequatur,aut,114 +115,ab,sed,115 +116,porro,aut,116 +117,ut,ratione,117 +118,asperiores,dicta,118 +119,illum,enim,119 +120,possimus,quae,120 +121,quidem,repudiandae,121 +122,porro,quis,122 +123,molestiae,et,123 +124,cupiditate,pariatur,124 +125,nemo,quos,125 +126,praesentium,aut,126 +127,vel,illo,127 +128,molestias,cupiditate,128 +129,quis,sequi,129 +130,autem,nesciunt,130 +131,non,voluptas,131 +132,architecto,odit,132 +133,eum,pariatur,133 +134,necessitatibus,reprehenderit,134 +135,ea,eos,135 +136,omnis,sed,136 +137,nostrum,tempore,137 +138,doloremque,placeat,138 +139,alias,dolorem,139 +140,recusandae,et,140 +141,earum,perspiciatis,141 +142,est,magnam,142 +143,deleniti,magnam,143 +144,aut,numquam,144 +145,rerum,nemo,145 +146,delectus,mollitia,146 +147,alias,porro,147 +148,occaecati,mollitia,148 +149,recusandae,quisquam,149 +150,molestias,laborum,150 +151,tenetur,amet,151 +152,consequatur,ipsum,152 +153,minima,rerum,153 +154,natus,ullam,154 +155,ex,est,155 +156,dignissimos,voluptatem,156 +157,et,doloribus,157 +158,adipisci,dolor,158 +159,qui,optio,159 +160,veniam,soluta,160 +161,saepe,nobis,161 +162,facere,voluptas,162 +163,accusantium,ea,163 +164,reiciendis,porro,164 +165,quos,libero,165 +166,facere,debitis,166 +167,ab,accusamus,167 +168,beatae,suscipit,168 +169,atque,atque,169 +170,quod,ipsa,170 +171,hic,aut,171 +172,quas,delectus,172 +173,illum,vel,173 +174,odit,quia,174 +175,et,eum,175 +176,sunt,ipsa,176 +177,atque,voluptate,177 +178,autem,porro,178 +179,quis,nostrum,179 +180,natus,sint,180 +181,corrupti,sed,181 +182,exercitationem,dolorum,182 +183,et,dolores,183 +184,nisi,esse,184 +185,accusamus,ut,185 +186,quae,ratione,186 +187,tempora,ut,187 +188,et,magnam,188 +189,doloremque,et,189 +190,vel,sit,190 +191,tempora,dolore,191 +192,tempore,suscipit,192 +193,exercitationem,alias,193 +194,magnam,similique,194 +195,ipsum,velit,195 +196,eos,consequatur,196 +197,vel,esse,197 +198,sed,placeat,198 +199,at,omnis,199 +200,amet,veritatis,200 +201,quod,cupiditate,201 +202,non,quo,202 +203,corporis,dignissimos,203 +204,autem,quis,204 +205,repellat,aut,205 +206,rerum,aut,206 +207,reiciendis,quia,207 +208,et,eligendi,208 +209,id,quia,209 +210,repudiandae,dolores,210 +211,fugit,similique,211 +212,placeat,iste,212 +213,delectus,commodi,213 +214,et,illum,214 +215,totam,in,215 +216,iure,qui,216 +217,dicta,voluptas,217 +218,qui,expedita,218 +219,facilis,ut,219 +220,omnis,consequatur,220 +221,praesentium,ea,221 +222,repellendus,rerum,222 +223,odit,voluptatum,223 +224,maiores,voluptas,224 +225,quo,ut,225 +226,voluptas,impedit,226 +227,explicabo,dolorem,227 +228,tempora,quidem,228 +229,id,a,229 +230,qui,suscipit,230 +231,officiis,omnis,231 +232,ipsam,odit,232 +233,totam,omnis,233 +234,molestiae,in,234 +235,blanditiis,dolorem,235 +236,a,pariatur,236 +237,doloribus,impedit,237 +238,non,ullam,238 +239,quis,error,239 +240,sapiente,omnis,240 +241,molestias,sit,241 +242,dolores,natus,242 +243,recusandae,cumque,243 +244,odit,est,244 +245,sed,voluptas,245 +246,molestiae,et,246 +247,molestiae,vero,247 +248,quo,laudantium,248 +249,similique,cum,249 +250,dolor,modi,250 +251,voluptas,officia,251 +252,amet,eum,252 +253,impedit,est,253 +254,culpa,eveniet,254 +255,quia,occaecati,255 +256,perferendis,animi,256 +257,ut,et,257 +258,atque,et,258 +259,et,voluptatum,259 +260,reprehenderit,unde,260 +261,facilis,qui,261 +262,sequi,hic,262 +263,natus,molestias,263 +264,et,blanditiis,264 +265,sed,dolor,265 +266,et,sint,266 +267,illo,consequuntur,267 +268,totam,eos,268 +269,magnam,ea,269 +270,facere,ut,270 +271,accusantium,et,271 +272,temporibus,rem,272 +273,debitis,rerum,273 +274,et,facilis,274 +275,quia,quia,275 +276,voluptatem,eum,276 +277,exercitationem,alias,277 +278,ullam,quod,278 +279,iusto,quis,279 +280,quis,quo,280 +281,fuga,modi,281 +282,placeat,fugiat,282 +283,quidem,sunt,283 +284,ut,veritatis,284 +285,nihil,et,285 +286,qui,enim,286 +287,et,sint,287 +288,repellat,dolorem,288 +289,quia,aut,289 +290,magnam,doloremque,290 +291,accusamus,explicabo,291 +292,aut,dolor,292 +293,harum,exercitationem,293 +294,earum,sed,294 +295,repellat,vel,295 +296,laudantium,molestiae,296 +297,deserunt,omnis,297 +298,nesciunt,dolor,298 +299,repudiandae,corrupti,299 +300,nesciunt,est,300 +301,delectus,voluptas,301 +302,ut,cum,302 +303,et,rem,303 +304,doloremque,illo,304 +305,dignissimos,omnis,305 +306,nisi,in,306 +307,facilis,quo,307 +308,enim,est,308 +309,veritatis,veniam,309 +310,modi,dolore,310 +311,amet,quasi,311 +312,quibusdam,et,312 +313,nulla,occaecati,313 +314,eum,doloribus,314 +315,doloribus,labore,315 +316,numquam,repudiandae,316 +317,porro,nobis,317 +318,quia,rem,318 +319,sit,eum,319 +320,aliquid,consequatur,320 +321,officia,qui,321 +322,consequuntur,itaque,322 +323,et,vel,323 +324,ea,et,324 +325,omnis,voluptatum,325 +326,quia,id,326 +327,quos,et,327 +328,nobis,ut,328 +329,voluptas,unde,329 +330,et,voluptate,330 +331,ratione,dolor,331 +332,sed,ducimus,332 +333,dolorem,nostrum,333 +334,sint,laboriosam,334 +335,aspernatur,at,335 +336,officia,sed,336 +337,et,molestias,337 +338,facilis,ad,338 +339,et,neque,339 +340,quas,provident,340 +341,animi,quos,341 +342,tenetur,repellat,342 +343,dolores,esse,343 +344,porro,dolorem,344 +345,voluptatum,minima,345 +346,reprehenderit,voluptatem,346 +347,et,ut,347 +348,id,et,348 +349,aliquid,animi,349 +350,odio,minima,350 +351,cum,quae,351 +352,adipisci,eligendi,352 +353,qui,modi,353 +354,autem,vel,354 +355,temporibus,recusandae,355 +356,aut,assumenda,356 +357,et,consequuntur,357 +358,quas,molestias,358 +359,voluptates,dolores,359 +360,deserunt,ut,360 +361,est,incidunt,361 +362,accusamus,sed,362 +363,ut,commodi,363 +364,qui,vitae,364 +365,rerum,beatae,365 +366,perspiciatis,ipsa,366 +367,dolorem,esse,367 +368,asperiores,aut,368 +369,unde,saepe,369 +370,qui,labore,370 +371,natus,corporis,371 +372,ipsum,consequatur,372 +373,est,quos,373 +374,mollitia,aperiam,374 +375,non,dolorum,375 +376,tenetur,est,376 +377,aut,ut,377 +378,aut,neque,378 +379,accusantium,ex,379 +380,vel,impedit,380 +381,blanditiis,ea,381 +382,sint,debitis,382 +383,earum,velit,383 +384,et,tenetur,384 +385,omnis,ipsa,385 +386,magnam,ipsum,386 +387,sint,ipsam,387 +388,sit,aut,388 +389,aliquam,consequuntur,389 +390,ut,hic,390 +391,dolorem,nihil,391 +392,minima,sint,392 +393,soluta,rerum,393 +394,adipisci,perspiciatis,394 +395,et,qui,395 +396,in,voluptas,396 +397,est,nobis,397 +398,dolore,eum,398 +399,veniam,dolores,399 +400,et,eos,400 +401,earum,dolorem,401 +402,repellendus,id,402 +403,dolor,esse,403 +404,inventore,doloremque,404 +405,quas,soluta,405 +406,fuga,consectetur,406 +407,dignissimos,in,407 +408,consectetur,dolores,408 +409,non,autem,409 +410,modi,cumque,410 +411,cum,totam,411 +412,quam,ipsam,412 +413,ipsum,soluta,413 +414,expedita,consectetur,414 +415,quo,voluptatibus,415 +416,autem,quas,416 +417,et,cum,417 +418,unde,et,418 +419,alias,perferendis,419 +420,qui,praesentium,420 +421,vel,dolor,421 +422,provident,pariatur,422 +423,est,omnis,423 +424,quaerat,adipisci,424 +425,quo,beatae,425 +426,dolor,omnis,426 +427,aut,velit,427 +428,possimus,animi,428 +429,quis,maiores,429 +430,libero,et,430 +431,in,quis,431 +432,id,dignissimos,432 +433,officiis,similique,433 +434,asperiores,est,434 +435,et,nulla,435 +436,autem,veritatis,436 +437,et,eum,437 +438,et,at,438 +439,ipsam,sed,439 +440,quis,aut,440 +441,est,non,441 +442,exercitationem,corrupti,442 +443,repellendus,et,443 +444,deserunt,quibusdam,444 +445,est,sit,445 +446,veritatis,ab,446 +447,impedit,illum,447 +448,eos,aut,448 +449,atque,sequi,449 +450,eaque,cum,450 +451,aut,minima,451 +452,nostrum,animi,452 +453,quos,dignissimos,453 +454,perspiciatis,nostrum,454 +455,in,dolor,455 +456,aut,aperiam,456 +457,quia,autem,457 +458,non,reprehenderit,458 +459,nisi,minus,459 +460,libero,ratione,460 +461,dicta,sequi,461 +462,dolorum,enim,462 +463,dicta,quia,463 +464,non,itaque,464 +465,eum,accusantium,465 +466,ut,atque,466 +467,quibusdam,sit,467 +468,quidem,quo,468 +469,animi,et,469 +470,mollitia,commodi,470 +471,repudiandae,tempore,471 +472,non,exercitationem,472 +473,cum,quia,473 +474,sed,reprehenderit,474 +475,ducimus,sunt,475 +476,dignissimos,neque,476 +477,doloribus,eos,477 +478,perferendis,itaque,478 +479,sit,blanditiis,479 +480,earum,repellendus,480 +481,aut,et,481 +482,qui,assumenda,482 +483,ut,sunt,483 +484,aut,id,484 +485,ut,qui,485 +486,provident,quas,486 +487,blanditiis,laudantium,487 +488,sit,fugit,488 +489,quo,molestias,489 +490,modi,suscipit,490 +491,ut,et,491 +492,corrupti,cumque,492 +493,neque,dolorem,493 +494,quod,est,494 +495,aut,ut,495 +496,rerum,impedit,496 +497,saepe,odio,497 +498,nihil,enim,498 +499,molestias,provident,499 +500,neque,maxime,500 +501,quisquam,possimus,501 +502,at,ut,502 +503,sed,esse,503 +504,ullam,dolorem,504 +505,nobis,quia,505 +506,quidem,incidunt,506 +507,harum,non,507 +508,voluptate,qui,508 +509,quod,expedita,509 +510,dolorum,qui,510 +511,neque,optio,511 +512,et,eos,512 +513,voluptatem,dolorum,513 +514,blanditiis,totam,514 +515,et,amet,515 +516,assumenda,repudiandae,516 +517,sit,ex,517 +518,id,omnis,518 +519,a,est,519 +520,deleniti,optio,520 +521,nemo,rerum,521 +522,minima,quae,522 +523,quis,mollitia,523 +524,a,doloremque,524 +525,tempora,consectetur,525 +526,tempora,incidunt,526 +527,aspernatur,facilis,527 +528,consequatur,numquam,528 +529,ipsam,qui,529 +530,pariatur,aperiam,530 +531,laudantium,aliquam,531 +532,qui,voluptas,532 +533,et,optio,533 +534,officia,sapiente,534 +535,corporis,quae,535 +536,quia,nobis,536 +537,magni,cum,537 +538,eos,vel,538 +539,possimus,necessitatibus,539 +540,qui,modi,540 +541,in,necessitatibus,541 +542,velit,iusto,542 +543,ipsa,excepturi,543 +544,quisquam,rem,544 +545,sunt,voluptatem,545 +546,nesciunt,nulla,546 +547,aut,reprehenderit,547 +548,ut,modi,548 +549,natus,officiis,549 +550,ducimus,aut,550 +551,id,nihil,551 +552,error,ducimus,552 +553,vel,rerum,553 +554,dolorum,distinctio,554 +555,dolorum,officia,555 +556,voluptas,expedita,556 +557,non,et,557 +558,porro,voluptas,558 +559,omnis,sit,559 +560,hic,rerum,560 +561,rerum,voluptas,561 +562,vel,aliquam,562 +563,delectus,inventore,563 +564,consequatur,commodi,564 +565,est,ex,565 +566,et,sed,566 +567,qui,quo,567 +568,voluptas,aut,568 +569,enim,similique,569 +570,qui,eos,570 +571,ut,repudiandae,571 +572,sint,dignissimos,572 +573,ea,est,573 +574,asperiores,voluptatem,574 +575,dolores,ut,575 +576,excepturi,molestiae,576 +577,tempora,et,577 +578,expedita,nulla,578 +579,odio,at,579 +580,perferendis,enim,580 +581,nisi,at,581 +582,earum,ex,582 +583,omnis,voluptate,583 +584,molestiae,rerum,584 +585,consequuntur,odio,585 +586,odio,nulla,586 +587,dolorem,autem,587 +588,necessitatibus,et,588 +589,et,consequatur,589 +590,dignissimos,nemo,590 +591,culpa,quia,591 +592,voluptatem,aspernatur,592 +593,quo,saepe,593 +594,vel,quod,594 +595,temporibus,dolor,595 +596,eum,aliquid,596 +597,enim,omnis,597 +598,omnis,veritatis,598 +599,quo,quae,599 +600,ex,ullam,600 +601,sed,atque,601 +602,esse,sit,602 +603,eligendi,non,603 +604,inventore,esse,604 +605,non,omnis,605 +606,error,nostrum,606 +607,porro,modi,607 +608,omnis,quia,608 +609,omnis,unde,609 +610,minus,eveniet,610 +611,pariatur,a,611 +612,a,recusandae,612 +613,tempora,nulla,613 +614,corporis,velit,614 +615,et,molestiae,615 +616,in,temporibus,616 +617,qui,placeat,617 +618,est,quia,618 +619,consequatur,sequi,619 +620,non,et,620 +621,animi,a,621 +622,quidem,molestiae,622 +623,deleniti,harum,623 +624,nemo,nam,624 +625,et,quos,625 +626,blanditiis,alias,626 +627,rem,optio,627 +628,similique,unde,628 +629,iusto,odit,629 +630,architecto,rem,630 +631,veniam,pariatur,631 +632,debitis,quis,632 +633,odit,nobis,633 +634,consequatur,ipsum,634 +635,neque,ad,635 +636,doloribus,sint,636 +637,beatae,reiciendis,637 +638,quos,sit,638 +639,vero,eos,639 +640,excepturi,autem,640 +641,est,omnis,641 +642,nobis,voluptatibus,642 +643,consectetur,eum,643 +644,ab,sed,644 +645,ea,in,645 +646,corporis,sapiente,646 +647,tempora,recusandae,647 +648,expedita,itaque,648 +649,quis,exercitationem,649 +650,ut,est,650 +651,eum,quo,651 +652,qui,odit,652 +653,velit,et,653 +654,modi,minus,654 +655,quisquam,quos,655 +656,ut,molestiae,656 +657,consequatur,occaecati,657 +658,architecto,aut,658 +659,impedit,error,659 +660,voluptatem,aliquid,660 +661,perspiciatis,unde,661 +662,corrupti,aut,662 +663,voluptatem,eaque,663 +664,ut,facilis,664 +665,perspiciatis,similique,665 +666,aut,sed,666 +667,ea,ut,667 +668,magnam,quia,668 +669,eius,et,669 +670,ad,rerum,670 +671,sunt,ut,671 +672,ab,nemo,672 +673,voluptatem,dolores,673 +674,unde,saepe,674 +675,blanditiis,quibusdam,675 +676,alias,est,676 +677,eum,consequatur,677 +678,aut,velit,678 +679,repellendus,architecto,679 +680,voluptas,corrupti,680 +681,quod,maiores,681 +682,sit,et,682 +683,odit,harum,683 +684,molestiae,ex,684 +685,modi,ut,685 +686,non,asperiores,686 +687,officiis,odio,687 +688,repudiandae,iure,688 +689,aliquid,quaerat,689 +690,cumque,rerum,690 +691,facilis,sed,691 +692,ipsam,nobis,692 +693,dolor,mollitia,693 +694,soluta,necessitatibus,694 +695,voluptatibus,possimus,695 +696,non,doloremque,696 +697,sed,odio,697 +698,incidunt,fugiat,698 +699,ducimus,quis,699 +700,et,consequatur,700 +701,unde,non,701 +702,placeat,ratione,702 +703,vel,odio,703 +704,qui,tenetur,704 +705,id,similique,705 +706,voluptatem,facilis,706 +707,fuga,a,707 +708,ex,deserunt,708 +709,mollitia,laborum,709 +710,natus,quibusdam,710 +711,beatae,et,711 +712,voluptatem,non,712 +713,vel,laboriosam,713 +714,suscipit,distinctio,714 +715,et,rerum,715 +716,debitis,facere,716 +717,voluptatibus,id,717 +718,voluptatum,vitae,718 +719,velit,odio,719 +720,aspernatur,est,720 +721,laudantium,id,721 +722,esse,et,722 +723,saepe,debitis,723 +724,esse,explicabo,724 +725,ut,dolore,725 +726,excepturi,quia,726 +727,voluptas,ut,727 +728,voluptas,debitis,728 +729,dolor,consectetur,729 +730,sapiente,ut,730 +731,alias,in,731 +732,dolorem,at,732 +733,laborum,sed,733 +734,voluptatibus,non,734 +735,minus,soluta,735 +736,dolores,vero,736 +737,nihil,aut,737 +738,facilis,adipisci,738 +739,qui,voluptatem,739 +740,autem,aut,740 +741,voluptatem,atque,741 +742,voluptatibus,aspernatur,742 +743,repellendus,dolorem,743 +744,voluptatum,fugit,744 +745,quod,ut,745 +746,reprehenderit,quo,746 +747,totam,ut,747 +748,ex,quisquam,748 +749,reprehenderit,blanditiis,749 +750,sed,labore,750 +751,ut,est,751 +752,repellendus,nam,752 +753,quia,voluptas,753 +754,sit,a,754 +755,perferendis,nostrum,755 +756,nihil,fuga,756 +757,doloribus,et,757 +758,ipsam,velit,758 +759,rem,veniam,759 +760,fuga,possimus,760 +761,incidunt,sint,761 +762,vero,rerum,762 +763,ad,assumenda,763 +764,praesentium,exercitationem,764 +765,ut,reprehenderit,765 +766,id,quia,766 +767,doloribus,iure,767 +768,deleniti,quia,768 +769,pariatur,sit,769 +770,molestias,unde,770 +771,sint,enim,771 +772,amet,beatae,772 +773,commodi,dolores,773 +774,omnis,consectetur,774 +775,dignissimos,perspiciatis,775 +776,deserunt,aut,776 +777,doloremque,ipsam,777 +778,aut,et,778 +779,a,quibusdam,779 +780,vero,quasi,780 +781,et,officia,781 +782,accusamus,et,782 +783,explicabo,voluptas,783 +784,autem,fugit,784 +785,non,cumque,785 +786,et,est,786 +787,laborum,facere,787 +788,et,facilis,788 +789,consequatur,aut,789 +790,voluptas,quisquam,790 +791,tempore,veritatis,791 +792,quos,deserunt,792 +793,modi,accusantium,793 +794,pariatur,ea,794 +795,ducimus,voluptas,795 +796,sed,et,796 +797,nostrum,nemo,797 +798,enim,vel,798 +799,eum,cupiditate,799 +800,et,ab,800 +801,aut,amet,801 +802,et,non,802 +803,eaque,blanditiis,803 +804,veniam,dolorum,804 +805,dolorum,necessitatibus,805 +806,delectus,sit,806 +807,et,nisi,807 +808,quasi,architecto,808 +809,ut,nisi,809 +810,minima,a,810 +811,quam,soluta,811 +812,ratione,rerum,812 +813,fugit,iure,813 +814,temporibus,distinctio,814 +815,quas,ea,815 +816,mollitia,harum,816 +817,temporibus,quis,817 +818,consequatur,ea,818 +819,beatae,laudantium,819 +820,adipisci,vero,820 +821,eum,consequuntur,821 +822,voluptatibus,perspiciatis,822 +823,quisquam,excepturi,823 +824,sequi,quia,824 +825,et,sequi,825 +826,ab,iste,826 +827,fugit,explicabo,827 +828,voluptatem,rerum,828 +829,aut,illum,829 +830,voluptas,consectetur,830 +831,omnis,sed,831 +832,est,asperiores,832 +833,sapiente,ipsum,833 +834,quam,eum,834 +835,ex,provident,835 +836,temporibus,dolorem,836 +837,labore,explicabo,837 +838,quas,nobis,838 +839,doloremque,sed,839 +840,consequatur,et,840 +841,et,distinctio,841 +842,sit,consectetur,842 +843,dolores,fugiat,843 +844,et,delectus,844 +845,sint,voluptatem,845 +846,voluptates,quod,846 +847,eos,iure,847 +848,blanditiis,vitae,848 +849,a,aut,849 +850,molestiae,incidunt,850 +851,maiores,corporis,851 +852,numquam,maiores,852 +853,dicta,quis,853 +854,porro,non,854 +855,corrupti,ut,855 +856,non,ducimus,856 +857,aliquam,autem,857 +858,non,exercitationem,858 +859,praesentium,dolorem,859 +860,possimus,provident,860 +861,rem,fuga,861 +862,ut,cupiditate,862 +863,ut,est,863 +864,voluptas,eius,864 +865,quia,labore,865 +866,voluptatem,officia,866 +867,alias,enim,867 +868,qui,adipisci,868 +869,molestiae,recusandae,869 +870,unde,dolorem,870 +871,cumque,est,871 +872,consequuntur,expedita,872 +873,autem,commodi,873 +874,dolorum,doloremque,874 +875,quos,animi,875 +876,qui,quos,876 +877,sunt,expedita,877 +878,voluptas,voluptatum,878 +879,magni,aut,879 +880,aspernatur,assumenda,880 +881,est,et,881 +882,ab,eius,882 +883,iusto,saepe,883 +884,asperiores,beatae,884 +885,nulla,et,885 +886,perferendis,labore,886 +887,laboriosam,sunt,887 +888,architecto,beatae,888 +889,aliquid,cumque,889 +890,libero,doloremque,890 +891,esse,et,891 +892,dolore,ipsa,892 +893,sint,ab,893 +894,ut,eos,894 +895,cumque,optio,895 +896,voluptatem,non,896 +897,velit,delectus,897 +898,beatae,temporibus,898 +899,sit,labore,899 +900,aut,et,900 +901,ipsam,ut,901 +902,et,in,902 +903,dolorem,dolorem,903 +904,ipsa,quidem,904 +905,ex,fugiat,905 +906,suscipit,quibusdam,906 +907,magni,aliquid,907 +908,itaque,laborum,908 +909,molestiae,id,909 +910,molestias,tempore,910 +911,ipsum,sed,911 +912,aut,possimus,912 +913,error,architecto,913 +914,eos,excepturi,914 +915,sed,ad,915 +916,blanditiis,sit,916 +917,odio,ipsam,917 +918,repellendus,sit,918 +919,ut,amet,919 +920,asperiores,incidunt,920 +921,voluptatem,dolore,921 +922,aspernatur,sed,922 +923,facere,et,923 +924,rerum,provident,924 +925,quos,eius,925 +926,voluptates,nisi,926 +927,aut,aut,927 +928,dolorem,sit,928 +929,et,qui,929 +930,temporibus,qui,930 +931,unde,labore,931 +932,nulla,beatae,932 +933,totam,velit,933 +934,blanditiis,et,934 +935,fugiat,exercitationem,935 +936,tempore,inventore,936 +937,molestiae,sed,937 +938,ipsum,delectus,938 +939,officiis,consectetur,939 +940,iusto,omnis,940 +941,enim,iure,941 +942,a,atque,942 +943,doloribus,impedit,943 +944,aut,velit,944 +945,dolore,amet,945 +946,qui,tempora,946 +947,sed,asperiores,947 +948,vitae,a,948 +949,corporis,omnis,949 +950,quos,nobis,950 +951,qui,quia,951 +952,architecto,doloremque,952 +953,dicta,ut,953 +954,accusantium,deleniti,954 +955,numquam,consequuntur,955 +956,cum,repellat,956 +957,fuga,tempore,957 +958,est,ut,958 +959,ipsum,in,959 +960,veniam,accusamus,960 +961,iusto,necessitatibus,961 +962,placeat,dolore,962 +963,dicta,atque,963 +964,fuga,quibusdam,964 +965,et,aut,965 +966,minus,autem,966 +967,minus,est,967 +968,odit,perspiciatis,968 +969,nam,dolorem,969 +970,qui,magnam,970 +971,qui,eos,971 +972,voluptas,molestias,972 +973,sed,odit,973 +974,et,tempora,974 +975,quo,placeat,975 +976,accusamus,ipsum,976 +977,rerum,consequatur,977 +978,et,dolor,978 +979,debitis,commodi,979 +980,qui,architecto,980 +981,repudiandae,ullam,981 +982,temporibus,magnam,982 +983,illum,aliquam,983 +984,inventore,ex,984 +985,corrupti,porro,985 +986,odit,magni,986 +987,facere,quasi,987 +988,sapiente,dignissimos,988 +989,temporibus,eum,989 +990,maiores,quo,990 +991,voluptatem,et,991 +992,expedita,quo,992 +993,nostrum,eum,993 +994,in,ut,994 +995,libero,quam,995 +996,eos,deleniti,996 +997,molestiae,nesciunt,997 +998,quisquam,voluptas,998 +999,laudantium,tempora,999 +1000,similique,sequi,1000 +1001,eius,neque,1001 +1002,deleniti,iste,1002 +1003,velit,nisi,1003 +1004,repellendus,quia,1004 +1005,est,aut,1005 +1006,voluptatem,et,1006 +1007,laudantium,consequatur,1007 +1008,atque,doloribus,1008 +1009,saepe,ullam,1009 +1010,cumque,optio,1010 +1011,molestias,beatae,1011 +1012,nihil,facilis,1012 +1013,corporis,consequatur,1013 +1014,atque,reprehenderit,1014 +1015,vero,aliquam,1015 +1016,eos,cupiditate,1016 +1017,autem,adipisci,1017 +1018,qui,fugit,1018 +1019,dolore,unde,1019 +1020,tempore,rerum,1020 +1021,et,iste,1021 +1022,eum,et,1022 +1023,quasi,placeat,1023 +1024,ullam,ipsam,1024 +1025,saepe,tempora,1025 +1026,velit,ut,1026 +1027,qui,delectus,1027 +1028,deserunt,aperiam,1028 +1029,quam,tempora,1029 +1030,reiciendis,id,1030 +1031,nihil,repellendus,1031 +1032,vel,aut,1032 +1033,pariatur,eum,1033 +1034,quidem,quos,1034 +1035,omnis,consequatur,1035 +1036,qui,aut,1036 +1037,esse,id,1037 +1038,rerum,possimus,1038 +1039,ut,molestiae,1039 +1040,rem,occaecati,1040 +1041,odit,eligendi,1041 +1042,ut,nobis,1042 +1043,inventore,similique,1043 +1044,sed,cum,1044 +1045,eligendi,facilis,1045 +1046,id,quidem,1046 +1047,placeat,id,1047 +1048,voluptas,rem,1048 +1049,sit,sed,1049 +1050,aspernatur,at,1050 +1051,beatae,fugiat,1051 +1052,reprehenderit,omnis,1052 +1053,ipsam,aperiam,1053 +1054,veniam,iusto,1054 +1055,harum,et,1055 +1056,inventore,sequi,1056 +1057,nesciunt,atque,1057 +1058,facere,et,1058 +1059,dolores,et,1059 +1060,perferendis,amet,1060 +1061,consequatur,sunt,1061 +1062,non,tempore,1062 +1063,error,eum,1063 +1064,sit,omnis,1064 +1065,sit,sit,1065 +1066,maiores,possimus,1066 +1067,quasi,autem,1067 +1068,repudiandae,similique,1068 +1069,tempora,non,1069 +1070,neque,assumenda,1070 +1071,rerum,itaque,1071 +1072,sunt,error,1072 +1073,veritatis,officia,1073 +1074,culpa,cum,1074 +1075,soluta,fugit,1075 +1076,voluptates,culpa,1076 +1077,dolorum,doloremque,1077 +1078,explicabo,qui,1078 +1079,a,magni,1079 +1080,aut,molestiae,1080 +1081,fugit,quos,1081 +1082,voluptas,officia,1082 +1083,eos,qui,1083 +1084,libero,reprehenderit,1084 +1085,qui,ea,1085 +1086,doloremque,corrupti,1086 +1087,totam,saepe,1087 +1088,laboriosam,enim,1088 +1089,aut,et,1089 +1090,et,vero,1090 +1091,et,tempore,1091 +1092,sit,atque,1092 +1093,suscipit,et,1093 +1094,perspiciatis,et,1094 +1095,qui,non,1095 +1096,molestias,consequuntur,1096 +1097,dicta,rerum,1097 +1098,dolore,ea,1098 +1099,quo,vero,1099 +1100,dolor,rem,1100 +1101,pariatur,possimus,1101 +1102,et,quo,1102 +1103,culpa,consequuntur,1103 +1104,temporibus,earum,1104 +1105,est,vel,1105 +1106,est,rerum,1106 +1107,iure,nostrum,1107 +1108,soluta,culpa,1108 +1109,eum,quo,1109 +1110,dolorem,magnam,1110 +1111,eum,adipisci,1111 +1112,perspiciatis,eligendi,1112 +1113,molestias,praesentium,1113 +1114,optio,odit,1114 +1115,aliquam,dolores,1115 +1116,natus,perferendis,1116 +1117,animi,esse,1117 +1118,tenetur,consectetur,1118 +1119,sit,consequatur,1119 +1120,ut,qui,1120 +1121,aut,ad,1121 +1122,vel,a,1122 +1123,eaque,sit,1123 +1124,aut,dolores,1124 +1125,delectus,unde,1125 +1126,veniam,minima,1126 +1127,ipsam,adipisci,1127 +1128,asperiores,vel,1128 +1129,in,voluptatem,1129 +1130,ab,natus,1130 +1131,dolorum,minima,1131 +1132,dolorum,alias,1132 +1133,et,ipsam,1133 +1134,incidunt,veritatis,1134 +1135,aut,consequatur,1135 +1136,hic,quia,1136 +1137,quo,dolor,1137 +1138,ut,optio,1138 +1139,sit,recusandae,1139 +1140,temporibus,assumenda,1140 +1141,voluptas,sint,1141 +1142,reiciendis,fugiat,1142 +1143,sed,aut,1143 +1144,voluptatem,aut,1144 +1145,accusantium,maiores,1145 +1146,facere,et,1146 +1147,voluptatum,ut,1147 +1148,nam,asperiores,1148 +1149,in,doloremque,1149 +1150,quisquam,incidunt,1150 +1151,harum,hic,1151 +1152,distinctio,est,1152 +1153,laboriosam,deleniti,1153 +1154,consectetur,eius,1154 +1155,quis,architecto,1155 +1156,occaecati,et,1156 +1157,sint,et,1157 +1158,dolorum,fugit,1158 +1159,incidunt,in,1159 +1160,minima,quisquam,1160 +1161,quas,nam,1161 +1162,sed,ut,1162 +1163,reiciendis,et,1163 +1164,odio,commodi,1164 +1165,sunt,non,1165 +1166,animi,ut,1166 +1167,consectetur,laboriosam,1167 +1168,eos,tempore,1168 +1169,rem,occaecati,1169 +1170,facilis,hic,1170 +1171,nobis,libero,1171 +1172,quod,optio,1172 +1173,illo,aut,1173 +1174,nobis,consequatur,1174 +1175,earum,ut,1175 +1176,ipsam,vel,1176 +1177,suscipit,soluta,1177 +1178,a,dolorem,1178 +1179,dicta,sed,1179 +1180,aspernatur,quibusdam,1180 +1181,temporibus,necessitatibus,1181 +1182,unde,perferendis,1182 +1183,quibusdam,praesentium,1183 +1184,similique,optio,1184 +1185,exercitationem,et,1185 +1186,qui,officiis,1186 +1187,eum,et,1187 +1188,omnis,aperiam,1188 +1189,recusandae,enim,1189 +1190,perferendis,voluptatum,1190 +1191,ut,eum,1191 +1192,consectetur,sapiente,1192 +1193,autem,qui,1193 +1194,quis,assumenda,1194 +1195,ut,cupiditate,1195 +1196,quia,dolorem,1196 +1197,excepturi,in,1197 +1198,officiis,numquam,1198 +1199,possimus,delectus,1199 +1200,veniam,recusandae,1200 +1201,quos,id,1201 +1202,ratione,corporis,1202 +1203,alias,voluptates,1203 +1204,quia,quasi,1204 +1205,animi,soluta,1205 +1206,autem,laboriosam,1206 +1207,impedit,velit,1207 +1208,est,voluptatem,1208 +1209,ut,beatae,1209 +1210,quis,tempora,1210 +1211,placeat,assumenda,1211 +1212,libero,porro,1212 +1213,minima,veniam,1213 +1214,explicabo,sed,1214 +1215,illo,consequatur,1215 +1216,necessitatibus,in,1216 +1217,recusandae,aut,1217 +1218,dicta,eos,1218 +1219,maiores,qui,1219 +1220,eum,temporibus,1220 +1221,sit,libero,1221 +1222,aperiam,quia,1222 +1223,ut,est,1223 +1224,quo,qui,1224 +1225,velit,suscipit,1225 +1226,aut,qui,1226 +1227,culpa,omnis,1227 +1228,omnis,non,1228 +1229,dolore,non,1229 +1230,dolorem,quam,1230 +1231,voluptates,odio,1231 +1232,deserunt,non,1232 +1233,qui,deserunt,1233 +1234,debitis,ea,1234 +1235,accusamus,sed,1235 +1236,maiores,earum,1236 +1237,eum,vitae,1237 +1238,dolorem,maxime,1238 +1239,atque,officia,1239 +1240,rerum,sunt,1240 +1241,inventore,et,1241 +1242,sed,labore,1242 +1243,nulla,et,1243 +1244,neque,consectetur,1244 +1245,deleniti,assumenda,1245 +1246,assumenda,possimus,1246 +1247,deserunt,qui,1247 +1248,hic,et,1248 +1249,et,incidunt,1249 +1250,soluta,quos,1250 +1251,reprehenderit,natus,1251 +1252,omnis,in,1252 +1253,qui,libero,1253 +1254,occaecati,dolorem,1254 +1255,odio,rem,1255 +1256,tempora,temporibus,1256 +1257,quia,ut,1257 +1258,odit,et,1258 +1259,sapiente,optio,1259 +1260,aliquam,voluptatem,1260 +1261,dolorem,corrupti,1261 +1262,modi,necessitatibus,1262 +1263,sequi,doloremque,1263 +1264,voluptatum,dolorum,1264 +1265,sequi,quo,1265 +1266,reprehenderit,similique,1266 +1267,mollitia,molestias,1267 +1268,ut,vel,1268 +1269,quis,dolores,1269 +1270,nesciunt,consequatur,1270 +1271,praesentium,magni,1271 +1272,nemo,facilis,1272 +1273,molestiae,sint,1273 +1274,natus,est,1274 +1275,a,quibusdam,1275 +1276,sapiente,dignissimos,1276 +1277,sit,eaque,1277 +1278,possimus,illum,1278 +1279,ratione,assumenda,1279 +1280,fuga,quod,1280 +1281,quis,nam,1281 +1282,et,ut,1282 +1283,qui,accusantium,1283 +1284,molestias,aliquam,1284 +1285,ut,fugit,1285 +1286,nesciunt,dolor,1286 +1287,voluptatem,qui,1287 +1288,explicabo,iure,1288 +1289,ratione,itaque,1289 +1290,aut,non,1290 +1291,dolores,rerum,1291 +1292,nihil,dolore,1292 +1293,blanditiis,omnis,1293 +1294,in,dolor,1294 +1295,in,enim,1295 +1296,sed,repudiandae,1296 +1297,libero,delectus,1297 +1298,modi,voluptatum,1298 +1299,explicabo,impedit,1299 +1300,eum,accusantium,1300 +1301,dicta,expedita,1301 +1302,assumenda,eaque,1302 +1303,officia,necessitatibus,1303 +1304,doloremque,corrupti,1304 +1305,aut,minus,1305 +1306,aspernatur,ducimus,1306 +1307,voluptatem,deserunt,1307 +1308,quo,eum,1308 +1309,hic,ex,1309 +1310,perspiciatis,non,1310 +1311,dolore,exercitationem,1311 +1312,eligendi,itaque,1312 +1313,iure,enim,1313 +1314,nesciunt,molestias,1314 +1315,et,minima,1315 +1316,quae,et,1316 +1317,impedit,officiis,1317 +1318,dolor,at,1318 +1319,iste,ut,1319 +1320,qui,repudiandae,1320 +1321,veritatis,voluptatem,1321 +1322,ut,quis,1322 +1323,vitae,autem,1323 +1324,aliquid,quia,1324 +1325,voluptas,molestiae,1325 +1326,ratione,et,1326 +1327,architecto,et,1327 +1328,ut,occaecati,1328 +1329,nesciunt,omnis,1329 +1330,non,nihil,1330 +1331,repudiandae,consequuntur,1331 +1332,unde,animi,1332 +1333,dolorem,quis,1333 +1334,perspiciatis,culpa,1334 +1335,ratione,pariatur,1335 +1336,illo,porro,1336 +1337,veritatis,est,1337 +1338,eos,voluptates,1338 +1339,aut,reprehenderit,1339 +1340,est,corrupti,1340 +1341,doloremque,nulla,1341 +1342,sit,similique,1342 +1343,autem,ea,1343 +1344,ut,ex,1344 +1345,voluptas,qui,1345 +1346,ut,architecto,1346 +1347,aut,quisquam,1347 +1348,et,exercitationem,1348 +1349,quibusdam,ex,1349 +1350,dolores,ipsum,1350 +1351,recusandae,odit,1351 +1352,dignissimos,unde,1352 +1353,dolores,est,1353 +1354,ipsam,quibusdam,1354 +1355,repellat,eligendi,1355 +1356,atque,culpa,1356 +1357,hic,ipsum,1357 +1358,reprehenderit,aperiam,1358 +1359,fugiat,impedit,1359 +1360,quis,quasi,1360 +1361,officia,sequi,1361 +1362,architecto,recusandae,1362 +1363,labore,magnam,1363 +1364,reiciendis,qui,1364 +1365,non,ut,1365 +1366,omnis,et,1366 +1367,facere,ut,1367 +1368,est,odit,1368 +1369,ut,voluptatem,1369 +1370,excepturi,rerum,1370 +1371,amet,vitae,1371 +1372,sit,possimus,1372 +1373,debitis,ut,1373 +1374,eius,quas,1374 +1375,cum,fuga,1375 +1376,accusantium,impedit,1376 +1377,voluptate,totam,1377 +1378,molestias,aperiam,1378 +1379,aut,quasi,1379 +1380,nobis,laudantium,1380 +1381,quam,accusamus,1381 +1382,numquam,qui,1382 +1383,fugit,dolorem,1383 +1384,autem,est,1384 +1385,perferendis,harum,1385 +1386,quia,ea,1386 +1387,necessitatibus,explicabo,1387 +1388,voluptates,fuga,1388 +1389,consequatur,beatae,1389 +1390,aut,sed,1390 +1391,non,voluptatem,1391 +1392,culpa,dicta,1392 +1393,et,quasi,1393 +1394,ad,fuga,1394 +1395,quae,voluptates,1395 +1396,optio,est,1396 +1397,vel,perspiciatis,1397 +1398,enim,qui,1398 +1399,quae,ab,1399 +1400,aut,ut,1400 +1401,debitis,molestias,1401 +1402,sed,necessitatibus,1402 +1403,quo,labore,1403 +1404,minus,sunt,1404 +1405,rerum,assumenda,1405 +1406,voluptas,enim,1406 +1407,perferendis,minus,1407 +1408,sed,veritatis,1408 +1409,atque,ratione,1409 +1410,aut,voluptas,1410 +1411,qui,quod,1411 +1412,sit,voluptatem,1412 +1413,quam,ipsa,1413 +1414,excepturi,tenetur,1414 +1415,dolor,excepturi,1415 +1416,voluptate,repellendus,1416 +1417,et,ipsum,1417 +1418,ab,est,1418 +1419,accusantium,quia,1419 +1420,harum,asperiores,1420 +1421,praesentium,quaerat,1421 +1422,odit,veritatis,1422 +1423,qui,modi,1423 +1424,perferendis,quis,1424 +1425,iste,sunt,1425 +1426,omnis,explicabo,1426 +1427,ex,dolor,1427 +1428,maiores,veritatis,1428 +1429,optio,itaque,1429 +1430,beatae,praesentium,1430 +1431,ut,odio,1431 +1432,in,porro,1432 +1433,quos,exercitationem,1433 +1434,nihil,et,1434 +1435,quos,molestiae,1435 +1436,illum,quaerat,1436 +1437,dicta,tenetur,1437 +1438,ducimus,tenetur,1438 +1439,repudiandae,laudantium,1439 +1440,at,provident,1440 +1441,tempora,animi,1441 +1442,aut,voluptas,1442 +1443,ab,id,1443 +1444,rerum,ipsa,1444 +1445,quis,et,1445 +1446,odio,eum,1446 +1447,iure,sed,1447 +1448,rerum,dignissimos,1448 +1449,in,asperiores,1449 +1450,ratione,nobis,1450 +1451,distinctio,ipsa,1451 +1452,est,numquam,1452 +1453,ad,soluta,1453 +1454,quisquam,dolorem,1454 +1455,praesentium,quam,1455 +1456,sit,illum,1456 +1457,consequuntur,culpa,1457 +1458,inventore,accusantium,1458 +1459,id,aut,1459 +1460,rem,aliquid,1460 +1461,suscipit,esse,1461 +1462,exercitationem,praesentium,1462 +1463,maxime,sit,1463 +1464,culpa,repellendus,1464 +1465,quidem,voluptas,1465 +1466,repellendus,est,1466 +1467,fuga,occaecati,1467 +1468,magnam,iste,1468 +1469,aut,ad,1469 +1470,ea,iste,1470 +1471,aliquam,expedita,1471 +1472,expedita,id,1472 +1473,harum,itaque,1473 +1474,eum,iure,1474 +1475,mollitia,fuga,1475 +1476,earum,mollitia,1476 +1477,possimus,ad,1477 +1478,non,sint,1478 +1479,dolorem,nesciunt,1479 +1480,ut,minima,1480 +1481,nam,iure,1481 +1482,qui,rem,1482 +1483,sit,aliquam,1483 +1484,placeat,ipsa,1484 +1485,non,exercitationem,1485 +1486,doloribus,ullam,1486 +1487,fugit,blanditiis,1487 +1488,sed,quos,1488 +1489,sunt,qui,1489 +1490,a,assumenda,1490 +1491,doloribus,sint,1491 +1492,molestias,animi,1492 +1493,repellat,cum,1493 +1494,dicta,illo,1494 +1495,aut,laborum,1495 +1496,ex,quibusdam,1496 +1497,aut,quidem,1497 +1498,id,quos,1498 +1499,dolores,neque,1499 +1500,quam,aut,1500 +1501,aut,sit,1501 +1502,pariatur,ipsa,1502 +1503,excepturi,natus,1503 +1504,tenetur,minus,1504 +1505,ea,quam,1505 +1506,unde,in,1506 +1507,quasi,laudantium,1507 +1508,eum,nesciunt,1508 +1509,quis,sint,1509 +1510,id,aspernatur,1510 +1511,sapiente,ducimus,1511 +1512,saepe,pariatur,1512 +1513,amet,rerum,1513 +1514,numquam,nobis,1514 +1515,voluptatum,numquam,1515 +1516,in,quia,1516 +1517,quia,perferendis,1517 +1518,necessitatibus,qui,1518 +1519,asperiores,et,1519 +1520,eaque,est,1520 +1521,assumenda,pariatur,1521 +1522,ipsam,id,1522 +1523,et,quia,1523 +1524,possimus,asperiores,1524 +1525,quo,quia,1525 +1526,quia,omnis,1526 +1527,assumenda,recusandae,1527 +1528,quia,ut,1528 +1529,exercitationem,est,1529 +1530,velit,exercitationem,1530 +1531,illum,nihil,1531 +1532,a,aspernatur,1532 +1533,exercitationem,labore,1533 +1534,officiis,doloribus,1534 +1535,et,eaque,1535 +1536,ut,inventore,1536 +1537,aliquam,fuga,1537 +1538,voluptate,numquam,1538 +1539,quis,delectus,1539 +1540,sint,assumenda,1540 +1541,quae,veritatis,1541 +1542,soluta,consectetur,1542 +1543,qui,voluptatem,1543 +1544,enim,consequuntur,1544 +1545,id,id,1545 +1546,labore,provident,1546 +1547,placeat,quia,1547 +1548,nobis,odit,1548 +1549,consequatur,velit,1549 +1550,voluptates,ut,1550 +1551,ipsam,nihil,1551 +1552,eius,eum,1552 +1553,unde,suscipit,1553 +1554,sequi,ipsa,1554 +1555,eligendi,molestias,1555 +1556,reprehenderit,dolorum,1556 +1557,dolorem,maxime,1557 +1558,distinctio,maiores,1558 +1559,labore,dicta,1559 +1560,et,aut,1560 +1561,fugiat,officia,1561 +1562,itaque,blanditiis,1562 +1563,minus,qui,1563 +1564,illo,reiciendis,1564 +1565,velit,sunt,1565 +1566,mollitia,nobis,1566 +1567,ut,perspiciatis,1567 +1568,a,numquam,1568 +1569,unde,sed,1569 +1570,aut,et,1570 +1571,veniam,quis,1571 +1572,ratione,maxime,1572 +1573,adipisci,molestiae,1573 +1574,nesciunt,adipisci,1574 +1575,enim,molestiae,1575 +1576,ut,consequatur,1576 +1577,voluptates,possimus,1577 +1578,ad,excepturi,1578 +1579,repellendus,qui,1579 +1580,incidunt,minus,1580 +1581,enim,adipisci,1581 +1582,commodi,doloremque,1582 +1583,est,architecto,1583 +1584,est,est,1584 +1585,dignissimos,commodi,1585 +1586,debitis,earum,1586 +1587,ipsa,omnis,1587 +1588,quia,sunt,1588 +1589,et,quo,1589 +1590,ea,inventore,1590 +1591,distinctio,consectetur,1591 +1592,provident,voluptates,1592 +1593,et,et,1593 +1594,eaque,quos,1594 +1595,est,eum,1595 +1596,et,quaerat,1596 +1597,doloremque,voluptatem,1597 +1598,omnis,quo,1598 +1599,et,labore,1599 +1600,voluptatibus,nisi,1600 +1601,inventore,asperiores,1601 +1602,possimus,repudiandae,1602 +1603,vitae,dolore,1603 +1604,qui,occaecati,1604 +1605,et,aut,1605 +1606,quaerat,aut,1606 +1607,similique,ut,1607 +1608,aspernatur,expedita,1608 +1609,nobis,dignissimos,1609 +1610,repellat,accusantium,1610 +1611,totam,corrupti,1611 +1612,reiciendis,quod,1612 +1613,minima,quaerat,1613 +1614,harum,et,1614 +1615,repudiandae,ipsam,1615 +1616,velit,et,1616 +1617,sit,suscipit,1617 +1618,ducimus,eveniet,1618 +1619,eum,eos,1619 +1620,expedita,aspernatur,1620 +1621,qui,quas,1621 +1622,voluptates,et,1622 +1623,nisi,consequatur,1623 +1624,voluptates,dolores,1624 +1625,quam,ea,1625 +1626,commodi,similique,1626 +1627,adipisci,modi,1627 +1628,reprehenderit,autem,1628 +1629,veniam,quam,1629 +1630,doloremque,quis,1630 +1631,dignissimos,aut,1631 +1632,dolorum,enim,1632 +1633,repellat,facilis,1633 +1634,quisquam,vero,1634 +1635,iure,sed,1635 +1636,consequuntur,reiciendis,1636 +1637,dolorem,qui,1637 +1638,nisi,qui,1638 +1639,modi,qui,1639 +1640,illo,at,1640 +1641,eligendi,ea,1641 +1642,ea,sit,1642 +1643,rem,laborum,1643 +1644,ut,voluptas,1644 +1645,fugit,repellendus,1645 +1646,reprehenderit,est,1646 +1647,laudantium,id,1647 +1648,omnis,ut,1648 +1649,temporibus,officia,1649 +1650,neque,ut,1650 +1651,praesentium,delectus,1651 +1652,voluptates,rerum,1652 +1653,et,tempora,1653 +1654,fugiat,aut,1654 +1655,autem,quibusdam,1655 +1656,voluptates,doloremque,1656 +1657,ducimus,voluptas,1657 +1658,ut,dicta,1658 +1659,quibusdam,tempora,1659 +1660,vel,omnis,1660 +1661,est,aut,1661 +1662,odit,aut,1662 +1663,qui,numquam,1663 +1664,dicta,quas,1664 +1665,fugiat,rerum,1665 +1666,quia,accusamus,1666 +1667,voluptatem,perferendis,1667 +1668,quia,nobis,1668 +1669,dolore,ut,1669 +1670,esse,quidem,1670 +1671,hic,molestiae,1671 +1672,perspiciatis,ut,1672 +1673,rerum,eaque,1673 +1674,ullam,commodi,1674 +1675,qui,ducimus,1675 +1676,ut,qui,1676 +1677,eos,est,1677 +1678,sed,tenetur,1678 +1679,inventore,numquam,1679 +1680,ut,et,1680 +1681,et,et,1681 +1682,omnis,quidem,1682 +1683,dolorem,quia,1683 +1684,dignissimos,et,1684 +1685,quas,ut,1685 +1686,aperiam,qui,1686 +1687,corporis,praesentium,1687 +1688,reiciendis,eveniet,1688 +1689,laboriosam,tempore,1689 +1690,omnis,architecto,1690 +1691,quia,tempore,1691 +1692,illo,cumque,1692 +1693,blanditiis,sapiente,1693 +1694,alias,explicabo,1694 +1695,eius,voluptatum,1695 +1696,qui,cupiditate,1696 +1697,vero,numquam,1697 +1698,quidem,iure,1698 +1699,modi,aut,1699 +1700,at,quos,1700 +1701,animi,maxime,1701 +1702,cumque,vitae,1702 +1703,vel,fugit,1703 +1704,soluta,maiores,1704 +1705,asperiores,ullam,1705 +1706,et,asperiores,1706 +1707,aut,atque,1707 +1708,quasi,asperiores,1708 +1709,autem,nemo,1709 +1710,facere,laborum,1710 +1711,molestias,sint,1711 +1712,dolorem,magni,1712 +1713,amet,sit,1713 +1714,id,iure,1714 +1715,fuga,totam,1715 +1716,vitae,labore,1716 +1717,omnis,voluptatem,1717 +1718,voluptas,commodi,1718 +1719,ea,ipsam,1719 +1720,incidunt,quos,1720 +1721,ut,fugit,1721 +1722,accusamus,odio,1722 +1723,ullam,accusamus,1723 +1724,distinctio,adipisci,1724 +1725,voluptatem,alias,1725 +1726,quos,quod,1726 +1727,doloremque,ut,1727 +1728,animi,quo,1728 +1729,sunt,dicta,1729 +1730,repudiandae,voluptatem,1730 +1731,sit,ratione,1731 +1732,accusamus,minus,1732 +1733,aut,fugiat,1733 +1734,sequi,dolorem,1734 +1735,aliquid,eum,1735 +1736,et,ea,1736 +1737,commodi,iure,1737 +1738,quis,eius,1738 +1739,nulla,quaerat,1739 +1740,sequi,ut,1740 +1741,inventore,dolores,1741 +1742,incidunt,asperiores,1742 +1743,iusto,quam,1743 +1744,labore,numquam,1744 +1745,libero,ex,1745 +1746,praesentium,eos,1746 +1747,perferendis,officia,1747 +1748,et,et,1748 +1749,nesciunt,recusandae,1749 +1750,praesentium,dolor,1750 +1751,fugiat,et,1751 +1752,odio,omnis,1752 +1753,vel,voluptate,1753 +1754,aperiam,ipsum,1754 +1755,temporibus,laborum,1755 +1756,dolores,nobis,1756 +1757,nostrum,aut,1757 +1758,architecto,voluptatibus,1758 +1759,asperiores,quia,1759 +1760,suscipit,magni,1760 +1761,quia,autem,1761 +1762,illum,id,1762 +1763,voluptatem,aut,1763 +1764,quia,numquam,1764 +1765,molestiae,sed,1765 +1766,possimus,perspiciatis,1766 +1767,eius,et,1767 +1768,labore,quia,1768 +1769,dolorum,commodi,1769 +1770,alias,eos,1770 +1771,voluptatem,a,1771 +1772,labore,sed,1772 +1773,quia,quidem,1773 +1774,perferendis,recusandae,1774 +1775,dolor,voluptas,1775 +1776,doloribus,soluta,1776 +1777,pariatur,qui,1777 +1778,rerum,non,1778 +1779,rerum,fuga,1779 +1780,in,minus,1780 +1781,dolor,animi,1781 +1782,voluptates,aliquam,1782 +1783,et,nihil,1783 +1784,nulla,quo,1784 +1785,tempore,asperiores,1785 +1786,consequuntur,vitae,1786 +1787,quia,sed,1787 +1788,et,dolorum,1788 +1789,modi,doloribus,1789 +1790,officia,et,1790 +1791,sequi,maiores,1791 +1792,et,incidunt,1792 +1793,quasi,possimus,1793 +1794,enim,ipsum,1794 +1795,rem,eius,1795 +1796,debitis,illum,1796 +1797,ratione,quos,1797 +1798,nostrum,animi,1798 +1799,id,voluptatum,1799 +1800,sapiente,soluta,1800 +1801,tempore,magnam,1801 +1802,est,dolorem,1802 +1803,nam,corporis,1803 +1804,architecto,distinctio,1804 +1805,nihil,labore,1805 +1806,saepe,incidunt,1806 +1807,magnam,numquam,1807 +1808,est,voluptatem,1808 +1809,excepturi,eligendi,1809 +1810,et,veniam,1810 +1811,ipsum,hic,1811 +1812,non,dignissimos,1812 +1813,voluptas,nihil,1813 +1814,mollitia,delectus,1814 +1815,voluptatem,dolore,1815 +1816,voluptatem,modi,1816 +1817,recusandae,nihil,1817 +1818,et,commodi,1818 +1819,ad,dolor,1819 +1820,magni,esse,1820 +1821,repellat,distinctio,1821 +1822,illo,sapiente,1822 +1823,illum,sit,1823 +1824,sit,natus,1824 +1825,voluptatem,commodi,1825 +1826,dolorum,perspiciatis,1826 +1827,ipsum,recusandae,1827 +1828,cum,aut,1828 +1829,quo,sunt,1829 +1830,voluptatem,facilis,1830 +1831,non,numquam,1831 +1832,molestias,est,1832 +1833,omnis,repellat,1833 +1834,aut,illum,1834 +1835,eum,nulla,1835 +1836,earum,rem,1836 +1837,aperiam,aut,1837 +1838,ut,placeat,1838 +1839,repellat,impedit,1839 +1840,et,harum,1840 +1841,voluptatibus,et,1841 +1842,excepturi,perspiciatis,1842 +1843,culpa,nihil,1843 +1844,accusantium,ratione,1844 +1845,ut,culpa,1845 +1846,debitis,et,1846 +1847,omnis,aut,1847 +1848,debitis,voluptatibus,1848 +1849,libero,omnis,1849 +1850,corporis,quis,1850 +1851,impedit,vel,1851 +1852,amet,animi,1852 +1853,ab,incidunt,1853 +1854,quis,odit,1854 +1855,possimus,soluta,1855 +1856,ex,rerum,1856 +1857,est,voluptatem,1857 +1858,laborum,quis,1858 +1859,quia,error,1859 +1860,fugiat,ex,1860 +1861,laborum,aut,1861 +1862,possimus,eveniet,1862 +1863,impedit,a,1863 +1864,ducimus,nihil,1864 +1865,quae,quo,1865 +1866,aut,quibusdam,1866 +1867,et,minima,1867 +1868,aut,in,1868 +1869,aut,qui,1869 +1870,incidunt,atque,1870 +1871,eum,consequatur,1871 +1872,voluptatem,aut,1872 +1873,nobis,rerum,1873 +1874,dolorem,itaque,1874 +1875,sed,nam,1875 +1876,ab,rerum,1876 +1877,hic,ut,1877 +1878,error,ipsam,1878 +1879,fugiat,esse,1879 +1880,dolores,tenetur,1880 +1881,saepe,quisquam,1881 +1882,vel,est,1882 +1883,nisi,ratione,1883 +1884,nemo,facilis,1884 +1885,sed,reprehenderit,1885 +1886,asperiores,aut,1886 +1887,ut,mollitia,1887 +1888,harum,ratione,1888 +1889,repudiandae,sit,1889 +1890,aut,sequi,1890 +1891,voluptates,libero,1891 +1892,aut,dolore,1892 +1893,reiciendis,in,1893 +1894,temporibus,natus,1894 +1895,quam,voluptatem,1895 +1896,quaerat,aut,1896 +1897,minima,enim,1897 +1898,est,quia,1898 +1899,minus,non,1899 +1900,maiores,ab,1900 +1901,ea,sint,1901 +1902,incidunt,necessitatibus,1902 +1903,autem,rerum,1903 +1904,doloremque,eveniet,1904 +1905,voluptates,quo,1905 +1906,non,earum,1906 +1907,ullam,qui,1907 +1908,ut,doloribus,1908 +1909,beatae,aliquam,1909 +1910,aut,nemo,1910 +1911,eaque,et,1911 +1912,quia,voluptatibus,1912 +1913,quia,ut,1913 +1914,expedita,nesciunt,1914 +1915,et,doloribus,1915 +1916,laborum,impedit,1916 +1917,velit,dolorem,1917 +1918,officiis,repellat,1918 +1919,eum,quos,1919 +1920,iure,porro,1920 +1921,sunt,perspiciatis,1921 +1922,dolorem,dolores,1922 +1923,illo,perferendis,1923 +1924,dicta,qui,1924 +1925,vel,sit,1925 +1926,dicta,maiores,1926 +1927,eveniet,doloribus,1927 +1928,quaerat,quo,1928 +1929,unde,voluptas,1929 +1930,qui,qui,1930 +1931,sed,illum,1931 +1932,eos,sed,1932 +1933,quidem,odio,1933 +1934,sapiente,asperiores,1934 +1935,voluptatem,alias,1935 +1936,ad,ipsa,1936 +1937,quia,dolorem,1937 +1938,et,repellat,1938 +1939,quod,esse,1939 +1940,eligendi,eligendi,1940 +1941,ea,sit,1941 +1942,sunt,officia,1942 +1943,doloribus,totam,1943 +1944,possimus,quas,1944 +1945,ipsum,inventore,1945 +1946,quae,tempora,1946 +1947,cumque,sed,1947 +1948,illum,ea,1948 +1949,consequuntur,velit,1949 +1950,repudiandae,numquam,1950 +1951,impedit,aut,1951 +1952,vero,eveniet,1952 +1953,non,qui,1953 +1954,aut,et,1954 +1955,voluptates,impedit,1955 +1956,omnis,quas,1956 +1957,error,et,1957 +1958,possimus,nihil,1958 +1959,debitis,sunt,1959 +1960,aut,quas,1960 +1961,sit,sit,1961 +1962,nesciunt,aut,1962 +1963,architecto,quis,1963 +1964,vel,magni,1964 +1965,odit,odio,1965 +1966,repellendus,voluptatem,1966 +1967,soluta,explicabo,1967 +1968,repellendus,soluta,1968 +1969,omnis,aut,1969 +1970,et,molestiae,1970 +1971,architecto,in,1971 +1972,quia,dignissimos,1972 +1973,dolor,suscipit,1973 +1974,laborum,ut,1974 +1975,nulla,corporis,1975 +1976,deleniti,sit,1976 +1977,eveniet,aperiam,1977 +1978,qui,voluptatem,1978 +1979,possimus,mollitia,1979 +1980,consectetur,est,1980 +1981,molestias,facere,1981 +1982,dolorem,dolorem,1982 +1983,cumque,asperiores,1983 +1984,earum,molestiae,1984 +1985,ut,ea,1985 +1986,veniam,debitis,1986 +1987,ratione,ut,1987 +1988,et,nisi,1988 +1989,sit,sed,1989 +1990,quibusdam,quo,1990 +1991,perspiciatis,aut,1991 +1992,vel,ut,1992 +1993,ad,autem,1993 +1994,aspernatur,alias,1994 +1995,sed,quia,1995 +1996,est,et,1996 +1997,adipisci,voluptatem,1997 +1998,architecto,explicabo,1998 +1999,temporibus,sit,1999 +2000,explicabo,eveniet,2000 +2001,mollitia,perferendis,2001 +2002,qui,qui,2002 +2003,consequatur,et,2003 +2004,vel,quia,2004 +2005,fuga,nihil,2005 +2006,aspernatur,illum,2006 +2007,soluta,ducimus,2007 +2008,hic,cupiditate,2008 +2009,et,omnis,2009 +2010,deleniti,aliquam,2010 +2011,odio,commodi,2011 +2012,dolor,enim,2012 +2013,et,corrupti,2013 +2014,omnis,qui,2014 +2015,rerum,eum,2015 +2016,est,alias,2016 +2017,nesciunt,voluptatibus,2017 +2018,magni,repudiandae,2018 +2019,sunt,animi,2019 +2020,rerum,ut,2020 +2021,et,quo,2021 +2022,qui,voluptatem,2022 +2023,voluptas,sed,2023 +2024,quis,molestiae,2024 +2025,earum,qui,2025 +2026,quas,ut,2026 +2027,nihil,recusandae,2027 +2028,quis,magni,2028 +2029,harum,omnis,2029 +2030,sint,sapiente,2030 +2031,voluptatem,aperiam,2031 +2032,quos,rerum,2032 +2033,autem,repellat,2033 +2034,debitis,quibusdam,2034 +2035,porro,beatae,2035 +2036,facere,non,2036 +2037,ullam,maxime,2037 +2038,aperiam,et,2038 +2039,omnis,commodi,2039 +2040,assumenda,eos,2040 +2041,iste,est,2041 +2042,voluptatem,eius,2042 +2043,reprehenderit,eos,2043 +2044,ut,optio,2044 +2045,sequi,ipsum,2045 +2046,in,ab,2046 +2047,et,natus,2047 +2048,alias,nam,2048 +2049,perferendis,qui,2049 +2050,fugit,id,2050 +2051,illum,alias,2051 +2052,est,explicabo,2052 +2053,sed,qui,2053 +2054,nam,odio,2054 +2055,illum,vel,2055 +2056,repellendus,impedit,2056 +2057,minus,placeat,2057 +2058,quas,exercitationem,2058 +2059,deleniti,magni,2059 +2060,adipisci,quibusdam,2060 +2061,voluptatem,voluptatem,2061 +2062,est,iure,2062 +2063,repellat,ratione,2063 +2064,quis,asperiores,2064 +2065,dolore,dolor,2065 +2066,sed,vero,2066 +2067,in,aliquam,2067 +2068,est,quia,2068 +2069,quisquam,quam,2069 +2070,est,ut,2070 +2071,aut,magni,2071 +2072,consectetur,amet,2072 +2073,unde,dignissimos,2073 +2074,et,sint,2074 +2075,reiciendis,suscipit,2075 +2076,corrupti,natus,2076 +2077,ut,repellendus,2077 +2078,qui,tempore,2078 +2079,sit,voluptatem,2079 +2080,totam,reiciendis,2080 +2081,dicta,nihil,2081 +2082,aperiam,maxime,2082 +2083,voluptatum,est,2083 +2084,reprehenderit,laborum,2084 +2085,esse,tempore,2085 +2086,voluptatem,cupiditate,2086 +2087,officia,atque,2087 +2088,error,vitae,2088 +2089,facilis,omnis,2089 +2090,facere,quia,2090 +2091,est,nam,2091 +2092,unde,rem,2092 +2093,et,qui,2093 +2094,qui,neque,2094 +2095,velit,inventore,2095 +2096,cum,rem,2096 +2097,aut,hic,2097 +2098,autem,error,2098 +2099,nam,earum,2099 +2100,nemo,est,2100 +2101,sit,provident,2101 +2102,minus,dolores,2102 +2103,eligendi,totam,2103 +2104,et,consequuntur,2104 +2105,aut,harum,2105 +2106,delectus,laudantium,2106 +2107,fuga,ut,2107 +2108,aut,temporibus,2108 +2109,ut,velit,2109 +2110,recusandae,cumque,2110 +2111,laudantium,quibusdam,2111 +2112,ex,excepturi,2112 +2113,nihil,vitae,2113 +2114,commodi,rerum,2114 +2115,nam,nesciunt,2115 +2116,in,autem,2116 +2117,autem,natus,2117 +2118,fugit,fugiat,2118 +2119,nostrum,rerum,2119 +2120,non,sunt,2120 +2121,libero,quibusdam,2121 +2122,ad,optio,2122 +2123,magni,omnis,2123 +2124,sed,qui,2124 +2125,assumenda,similique,2125 +2126,et,placeat,2126 +2127,accusantium,tempora,2127 +2128,natus,eligendi,2128 +2129,sed,explicabo,2129 +2130,occaecati,corporis,2130 +2131,id,et,2131 +2132,repudiandae,sequi,2132 +2133,soluta,a,2133 +2134,deserunt,maxime,2134 +2135,quasi,mollitia,2135 +2136,eius,nihil,2136 +2137,fugit,a,2137 +2138,omnis,debitis,2138 +2139,illo,cumque,2139 +2140,necessitatibus,rem,2140 +2141,iste,ut,2141 +2142,aut,dolorum,2142 +2143,sit,beatae,2143 +2144,voluptatem,quod,2144 +2145,ea,laborum,2145 +2146,exercitationem,vel,2146 +2147,minima,qui,2147 +2148,illo,ut,2148 +2149,illum,et,2149 +2150,id,saepe,2150 +2151,molestiae,consectetur,2151 +2152,corrupti,dolorem,2152 +2153,natus,laboriosam,2153 +2154,dignissimos,consectetur,2154 +2155,sed,rerum,2155 +2156,aut,qui,2156 +2157,sed,aliquid,2157 +2158,in,et,2158 +2159,dolor,sunt,2159 +2160,repellat,illum,2160 +2161,quis,odio,2161 +2162,reiciendis,ut,2162 +2163,sapiente,voluptatem,2163 +2164,quis,tempore,2164 +2165,praesentium,quia,2165 +2166,dolor,sunt,2166 +2167,aliquam,temporibus,2167 +2168,magni,assumenda,2168 +2169,distinctio,sed,2169 +2170,nihil,quaerat,2170 +2171,commodi,ut,2171 +2172,libero,quia,2172 +2173,quis,tempore,2173 +2174,nihil,porro,2174 +2175,quam,omnis,2175 +2176,ut,voluptas,2176 +2177,nisi,possimus,2177 +2178,libero,rerum,2178 +2179,dolores,similique,2179 +2180,omnis,atque,2180 +2181,pariatur,ut,2181 +2182,inventore,mollitia,2182 +2183,voluptate,commodi,2183 +2184,rerum,impedit,2184 +2185,vitae,quam,2185 +2186,delectus,sed,2186 +2187,sed,quia,2187 +2188,consequatur,praesentium,2188 +2189,natus,officiis,2189 +2190,est,at,2190 +2191,cumque,ipsum,2191 +2192,est,iusto,2192 +2193,iusto,omnis,2193 +2194,et,corporis,2194 +2195,molestiae,totam,2195 +2196,unde,ducimus,2196 +2197,ex,quos,2197 +2198,soluta,est,2198 +2199,aut,rerum,2199 +2200,qui,voluptatem,2200 +2201,necessitatibus,fuga,2201 +2202,accusamus,natus,2202 +2203,et,qui,2203 +2204,in,aut,2204 +2205,porro,harum,2205 +2206,sequi,reiciendis,2206 +2207,sit,omnis,2207 +2208,qui,iste,2208 +2209,qui,temporibus,2209 +2210,nostrum,doloremque,2210 +2211,amet,dolor,2211 +2212,delectus,aut,2212 +2213,aspernatur,dignissimos,2213 +2214,tempore,reprehenderit,2214 +2215,explicabo,dolorem,2215 +2216,repellendus,et,2216 +2217,aut,dolorem,2217 +2218,blanditiis,nostrum,2218 +2219,aspernatur,perferendis,2219 +2220,tempore,et,2220 +2221,doloribus,et,2221 +2222,placeat,neque,2222 +2223,optio,velit,2223 +2224,nostrum,rerum,2224 +2225,est,quis,2225 +2226,illum,minus,2226 +2227,est,eum,2227 +2228,aut,et,2228 +2229,dolore,laborum,2229 +2230,praesentium,nostrum,2230 +2231,soluta,aperiam,2231 +2232,aspernatur,explicabo,2232 +2233,odio,nam,2233 +2234,porro,est,2234 +2235,quia,omnis,2235 +2236,dolores,est,2236 +2237,ipsam,quis,2237 +2238,nemo,quia,2238 +2239,rerum,et,2239 +2240,incidunt,asperiores,2240 +2241,atque,soluta,2241 +2242,ipsam,quia,2242 +2243,sed,voluptas,2243 +2244,ipsum,quae,2244 +2245,voluptas,dolor,2245 +2246,corrupti,odit,2246 +2247,nesciunt,error,2247 +2248,reprehenderit,consectetur,2248 +2249,temporibus,esse,2249 +2250,neque,aut,2250 +2251,illo,quibusdam,2251 +2252,veritatis,aut,2252 +2253,adipisci,temporibus,2253 +2254,vel,aut,2254 +2255,aut,qui,2255 +2256,sequi,atque,2256 +2257,asperiores,quo,2257 +2258,culpa,fuga,2258 +2259,sint,ipsam,2259 +2260,sit,deleniti,2260 +2261,quidem,consequuntur,2261 +2262,aliquid,corrupti,2262 +2263,ipsam,cum,2263 +2264,a,deleniti,2264 +2265,eius,veniam,2265 +2266,magnam,placeat,2266 +2267,atque,voluptatem,2267 +2268,eos,atque,2268 +2269,voluptatibus,modi,2269 +2270,omnis,culpa,2270 +2271,vitae,esse,2271 +2272,ut,occaecati,2272 +2273,mollitia,reprehenderit,2273 +2274,maxime,sunt,2274 +2275,quibusdam,placeat,2275 +2276,eos,sint,2276 +2277,dolore,quo,2277 +2278,architecto,rem,2278 +2279,quia,tempore,2279 +2280,voluptatem,est,2280 +2281,rerum,non,2281 +2282,minima,reiciendis,2282 +2283,sed,nihil,2283 +2284,sed,rerum,2284 +2285,rerum,quas,2285 +2286,aut,error,2286 +2287,quo,sit,2287 +2288,excepturi,facilis,2288 +2289,et,impedit,2289 +2290,in,qui,2290 +2291,quas,nemo,2291 +2292,sunt,et,2292 +2293,ipsum,maxime,2293 +2294,nobis,quia,2294 +2295,delectus,sint,2295 +2296,enim,omnis,2296 +2297,enim,eligendi,2297 +2298,minus,sapiente,2298 +2299,omnis,voluptatum,2299 +2300,unde,porro,2300 +2301,reiciendis,laudantium,2301 +2302,laboriosam,officia,2302 +2303,rerum,nobis,2303 +2304,qui,dolores,2304 +2305,est,eius,2305 +2306,velit,perspiciatis,2306 +2307,nam,mollitia,2307 +2308,autem,id,2308 +2309,beatae,iusto,2309 +2310,quia,rem,2310 +2311,quaerat,tempora,2311 +2312,ut,assumenda,2312 +2313,voluptas,aspernatur,2313 +2314,omnis,et,2314 +2315,aut,corrupti,2315 +2316,commodi,harum,2316 +2317,hic,at,2317 +2318,eum,facilis,2318 +2319,aut,ut,2319 +2320,quo,est,2320 +2321,voluptatibus,culpa,2321 +2322,unde,voluptatem,2322 +2323,sit,atque,2323 +2324,deserunt,voluptatem,2324 +2325,adipisci,minus,2325 +2326,dolores,velit,2326 +2327,et,beatae,2327 +2328,ipsa,voluptatem,2328 +2329,adipisci,soluta,2329 +2330,dolor,quas,2330 +2331,reiciendis,facere,2331 +2332,earum,reiciendis,2332 +2333,exercitationem,sint,2333 +2334,placeat,animi,2334 +2335,aut,eos,2335 +2336,accusamus,velit,2336 +2337,dolores,cumque,2337 +2338,eveniet,voluptatibus,2338 +2339,expedita,quia,2339 +2340,saepe,totam,2340 +2341,ipsam,quo,2341 +2342,mollitia,porro,2342 +2343,accusantium,odit,2343 +2344,facilis,nostrum,2344 +2345,id,iste,2345 +2346,in,odio,2346 +2347,aliquid,maiores,2347 +2348,quod,maxime,2348 +2349,ipsa,perspiciatis,2349 +2350,necessitatibus,eum,2350 +2351,eveniet,ut,2351 +2352,rem,dolor,2352 +2353,maxime,est,2353 +2354,at,blanditiis,2354 +2355,qui,nam,2355 +2356,eligendi,dolores,2356 +2357,nesciunt,molestias,2357 +2358,explicabo,soluta,2358 +2359,et,aut,2359 +2360,quis,sunt,2360 +2361,illum,similique,2361 +2362,et,aperiam,2362 +2363,et,fugiat,2363 +2364,dignissimos,beatae,2364 +2365,sed,praesentium,2365 +2366,amet,id,2366 +2367,accusantium,ad,2367 +2368,iure,rem,2368 +2369,sed,tenetur,2369 +2370,laudantium,placeat,2370 +2371,nobis,doloribus,2371 +2372,qui,in,2372 +2373,in,aliquid,2373 +2374,culpa,omnis,2374 +2375,pariatur,facilis,2375 +2376,quia,aspernatur,2376 +2377,nisi,et,2377 +2378,eos,aut,2378 +2379,quidem,iusto,2379 +2380,numquam,reiciendis,2380 +2381,debitis,consequatur,2381 +2382,ea,amet,2382 +2383,aut,dicta,2383 +2384,cumque,aspernatur,2384 +2385,quas,adipisci,2385 +2386,eligendi,ipsam,2386 +2387,esse,labore,2387 +2388,recusandae,et,2388 +2389,ea,et,2389 +2390,alias,est,2390 +2391,dolor,qui,2391 +2392,quibusdam,in,2392 +2393,minima,id,2393 +2394,iste,possimus,2394 +2395,ipsum,iure,2395 +2396,ullam,rerum,2396 +2397,qui,molestias,2397 +2398,sit,eos,2398 +2399,voluptatem,officia,2399 +2400,pariatur,voluptas,2400 +2401,quos,cumque,2401 +2402,repellat,rem,2402 +2403,distinctio,aut,2403 +2404,esse,consequatur,2404 +2405,cum,natus,2405 +2406,cum,libero,2406 +2407,laudantium,vero,2407 +2408,officia,est,2408 +2409,eos,quas,2409 +2410,aut,eaque,2410 +2411,accusantium,molestias,2411 +2412,dignissimos,rerum,2412 +2413,sed,voluptates,2413 +2414,dolore,rerum,2414 +2415,perferendis,aut,2415 +2416,ipsa,vero,2416 +2417,vel,eum,2417 +2418,soluta,iure,2418 +2419,quibusdam,exercitationem,2419 +2420,et,unde,2420 +2421,provident,sunt,2421 +2422,deleniti,sit,2422 +2423,omnis,est,2423 +2424,et,doloribus,2424 +2425,consectetur,cumque,2425 +2426,ea,magnam,2426 +2427,distinctio,autem,2427 +2428,molestiae,et,2428 +2429,reprehenderit,consequatur,2429 +2430,accusantium,magni,2430 +2431,ratione,quae,2431 +2432,mollitia,odit,2432 +2433,tempora,vero,2433 +2434,nostrum,rerum,2434 +2435,tenetur,molestiae,2435 +2436,dignissimos,cum,2436 +2437,ipsum,laboriosam,2437 +2438,quasi,inventore,2438 +2439,perferendis,et,2439 +2440,quasi,voluptas,2440 +2441,qui,esse,2441 +2442,suscipit,animi,2442 +2443,ullam,qui,2443 +2444,veniam,est,2444 +2445,facilis,sit,2445 +2446,incidunt,autem,2446 +2447,sint,est,2447 +2448,dolorem,eveniet,2448 +2449,facere,ut,2449 +2450,iste,earum,2450 +2451,et,esse,2451 +2452,perspiciatis,minima,2452 +2453,et,consequatur,2453 +2454,magni,voluptatum,2454 +2455,soluta,officia,2455 +2456,vitae,harum,2456 +2457,inventore,nisi,2457 +2458,pariatur,tempora,2458 +2459,accusantium,iste,2459 +2460,non,quam,2460 +2461,esse,aut,2461 +2462,nulla,cumque,2462 +2463,nobis,deleniti,2463 +2464,rerum,maxime,2464 +2465,doloremque,rem,2465 +2466,iusto,molestiae,2466 +2467,temporibus,itaque,2467 +2468,sit,hic,2468 +2469,sapiente,qui,2469 +2470,sed,corporis,2470 +2471,maxime,ratione,2471 +2472,voluptatem,voluptatem,2472 +2473,corporis,id,2473 +2474,natus,pariatur,2474 +2475,nemo,dolor,2475 +2476,ex,enim,2476 +2477,dolorem,quo,2477 +2478,voluptas,provident,2478 +2479,repellendus,sunt,2479 +2480,non,pariatur,2480 +2481,illum,est,2481 +2482,officiis,dolor,2482 +2483,dicta,dolor,2483 +2484,sed,earum,2484 +2485,placeat,ullam,2485 +2486,voluptatem,officia,2486 +2487,non,et,2487 +2488,modi,corporis,2488 +2489,cum,ipsum,2489 +2490,qui,reiciendis,2490 +2491,distinctio,eos,2491 +2492,eos,possimus,2492 +2493,vel,maiores,2493 +2494,assumenda,doloremque,2494 +2495,optio,ad,2495 +2496,fugiat,voluptatem,2496 +2497,facere,nobis,2497 +2498,eos,et,2498 +2499,asperiores,vero,2499 +2500,omnis,nisi,2500 +2501,sed,occaecati,2501 +2502,commodi,sit,2502 +2503,incidunt,ipsa,2503 +2504,non,aliquam,2504 +2505,omnis,voluptas,2505 +2506,est,magni,2506 +2507,tempore,sint,2507 +2508,aliquam,praesentium,2508 +2509,nulla,fugiat,2509 +2510,iste,et,2510 +2511,quia,odit,2511 +2512,blanditiis,a,2512 +2513,numquam,et,2513 +2514,veniam,enim,2514 +2515,ipsam,eligendi,2515 +2516,nam,et,2516 +2517,ut,fuga,2517 +2518,eos,rem,2518 +2519,cupiditate,nemo,2519 +2520,sint,fuga,2520 +2521,ab,minima,2521 +2522,doloribus,voluptatem,2522 +2523,amet,tempore,2523 +2524,veniam,quae,2524 +2525,magnam,nesciunt,2525 +2526,quidem,vitae,2526 +2527,perferendis,et,2527 +2528,earum,aut,2528 +2529,consequatur,aut,2529 +2530,eveniet,placeat,2530 +2531,amet,autem,2531 +2532,in,ipsa,2532 +2533,doloremque,non,2533 +2534,dolores,corporis,2534 +2535,rerum,fugiat,2535 +2536,aliquam,rerum,2536 +2537,aut,eos,2537 +2538,magnam,veniam,2538 +2539,aut,architecto,2539 +2540,ullam,est,2540 +2541,voluptate,qui,2541 +2542,blanditiis,delectus,2542 +2543,eum,repudiandae,2543 +2544,necessitatibus,blanditiis,2544 +2545,aut,ut,2545 +2546,nostrum,neque,2546 +2547,aut,dolores,2547 +2548,voluptates,sapiente,2548 +2549,unde,ut,2549 +2550,ut,autem,2550 +2551,harum,nemo,2551 +2552,quo,quibusdam,2552 +2553,eos,ut,2553 +2554,ut,aliquid,2554 +2555,nulla,sunt,2555 +2556,harum,quidem,2556 +2557,ratione,rem,2557 +2558,et,explicabo,2558 +2559,eum,voluptatum,2559 +2560,dolore,doloribus,2560 +2561,voluptas,hic,2561 +2562,incidunt,qui,2562 +2563,iste,et,2563 +2564,blanditiis,eum,2564 +2565,quidem,nesciunt,2565 +2566,error,ab,2566 +2567,illo,magnam,2567 +2568,ad,blanditiis,2568 +2569,voluptas,quas,2569 +2570,id,facere,2570 +2571,repellendus,consequatur,2571 +2572,sunt,quas,2572 +2573,aut,sit,2573 +2574,nobis,architecto,2574 +2575,ipsum,et,2575 +2576,et,rerum,2576 +2577,eos,voluptatibus,2577 +2578,quasi,saepe,2578 +2579,repellendus,porro,2579 +2580,assumenda,sit,2580 +2581,eveniet,enim,2581 +2582,voluptatum,debitis,2582 +2583,ullam,fugiat,2583 +2584,libero,placeat,2584 +2585,libero,accusantium,2585 +2586,aut,fugit,2586 +2587,et,enim,2587 +2588,velit,commodi,2588 +2589,culpa,harum,2589 +2590,explicabo,et,2590 +2591,optio,dolorem,2591 +2592,sed,aspernatur,2592 +2593,iusto,voluptas,2593 +2594,explicabo,voluptates,2594 +2595,nostrum,sint,2595 +2596,repellendus,pariatur,2596 +2597,quasi,iste,2597 +2598,et,odio,2598 +2599,fuga,sapiente,2599 +2600,dolorem,recusandae,2600 +2601,et,non,2601 +2602,natus,rem,2602 +2603,mollitia,veniam,2603 +2604,a,voluptatem,2604 +2605,vitae,aut,2605 +2606,voluptas,error,2606 +2607,et,sunt,2607 +2608,quis,sit,2608 +2609,et,earum,2609 +2610,modi,deserunt,2610 +2611,quod,aut,2611 +2612,dolores,vero,2612 +2613,autem,ullam,2613 +2614,illo,libero,2614 +2615,placeat,aperiam,2615 +2616,maiores,iste,2616 +2617,in,magnam,2617 +2618,accusantium,architecto,2618 +2619,nobis,velit,2619 +2620,delectus,ipsam,2620 +2621,ut,rem,2621 +2622,voluptates,ipsa,2622 +2623,inventore,nisi,2623 +2624,nostrum,deserunt,2624 +2625,sequi,at,2625 +2626,et,illo,2626 +2627,voluptatem,nam,2627 +2628,qui,incidunt,2628 +2629,adipisci,impedit,2629 +2630,voluptate,temporibus,2630 +2631,blanditiis,et,2631 +2632,quidem,quia,2632 +2633,harum,blanditiis,2633 +2634,et,inventore,2634 +2635,ea,iure,2635 +2636,error,sapiente,2636 +2637,tenetur,assumenda,2637 +2638,molestias,debitis,2638 +2639,deserunt,odio,2639 +2640,in,repellendus,2640 +2641,dolorem,labore,2641 +2642,perferendis,voluptates,2642 +2643,quaerat,aut,2643 +2644,corrupti,quia,2644 +2645,minus,eius,2645 +2646,molestiae,voluptatem,2646 +2647,reiciendis,error,2647 +2648,quia,est,2648 +2649,sunt,praesentium,2649 +2650,delectus,sapiente,2650 +2651,modi,dolores,2651 +2652,sit,natus,2652 +2653,non,voluptatem,2653 +2654,quis,reprehenderit,2654 +2655,nemo,animi,2655 +2656,eos,minus,2656 +2657,dolore,omnis,2657 +2658,deleniti,sit,2658 +2659,accusantium,nobis,2659 +2660,et,ducimus,2660 +2661,corrupti,expedita,2661 +2662,quaerat,nam,2662 +2663,magnam,rerum,2663 +2664,ipsa,aut,2664 +2665,nihil,dolores,2665 +2666,consequatur,iusto,2666 +2667,voluptatum,odit,2667 +2668,vero,quas,2668 +2669,ut,cumque,2669 +2670,aut,minima,2670 +2671,qui,dolores,2671 +2672,suscipit,ut,2672 +2673,quaerat,amet,2673 +2674,et,inventore,2674 +2675,iste,quos,2675 +2676,quae,voluptatum,2676 +2677,cum,neque,2677 +2678,id,aliquid,2678 +2679,eos,voluptatem,2679 +2680,itaque,qui,2680 +2681,sapiente,omnis,2681 +2682,quibusdam,at,2682 +2683,vitae,aperiam,2683 +2684,qui,perspiciatis,2684 +2685,dolorem,doloremque,2685 +2686,deserunt,esse,2686 +2687,suscipit,eos,2687 +2688,beatae,molestias,2688 +2689,magni,rerum,2689 +2690,et,quisquam,2690 +2691,voluptatem,aut,2691 +2692,rerum,dignissimos,2692 +2693,omnis,ad,2693 +2694,a,dignissimos,2694 +2695,dolore,aut,2695 +2696,tempore,tempora,2696 +2697,magni,autem,2697 +2698,dolor,accusamus,2698 +2699,perspiciatis,molestias,2699 +2700,quaerat,similique,2700 +2701,aut,quos,2701 +2702,facere,doloremque,2702 +2703,doloremque,delectus,2703 +2704,magni,exercitationem,2704 +2705,ea,culpa,2705 +2706,culpa,assumenda,2706 +2707,officiis,dicta,2707 +2708,qui,laboriosam,2708 +2709,modi,eos,2709 +2710,consequuntur,repudiandae,2710 +2711,dolor,mollitia,2711 +2712,quisquam,illum,2712 +2713,sunt,unde,2713 +2714,quo,voluptas,2714 +2715,fugit,deleniti,2715 +2716,culpa,provident,2716 +2717,labore,praesentium,2717 +2718,cupiditate,numquam,2718 +2719,quis,qui,2719 +2720,deserunt,vel,2720 +2721,expedita,cupiditate,2721 +2722,ut,voluptatibus,2722 +2723,sapiente,voluptatem,2723 +2724,sed,recusandae,2724 +2725,et,animi,2725 +2726,iure,est,2726 +2727,odio,est,2727 +2728,blanditiis,amet,2728 +2729,laborum,reiciendis,2729 +2730,maxime,officiis,2730 +2731,explicabo,iure,2731 +2732,modi,minus,2732 +2733,sed,animi,2733 +2734,est,facere,2734 +2735,cum,sed,2735 +2736,eius,molestias,2736 +2737,nihil,dolorem,2737 +2738,aut,unde,2738 +2739,commodi,omnis,2739 +2740,cum,quas,2740 +2741,iusto,nostrum,2741 +2742,voluptatem,et,2742 +2743,aut,et,2743 +2744,qui,eos,2744 +2745,non,in,2745 +2746,reiciendis,et,2746 +2747,inventore,perferendis,2747 +2748,modi,commodi,2748 +2749,aut,vel,2749 +2750,perspiciatis,optio,2750 +2751,quis,iusto,2751 +2752,ea,qui,2752 +2753,architecto,corporis,2753 +2754,in,recusandae,2754 +2755,fugiat,voluptatem,2755 +2756,libero,quia,2756 +2757,nihil,similique,2757 +2758,quis,quam,2758 +2759,deleniti,sed,2759 +2760,eius,fugiat,2760 +2761,nulla,iusto,2761 +2762,nihil,et,2762 +2763,quisquam,sint,2763 +2764,iste,iste,2764 +2765,et,nobis,2765 +2766,recusandae,quia,2766 +2767,consequatur,alias,2767 +2768,excepturi,molestiae,2768 +2769,sed,ipsum,2769 +2770,ut,labore,2770 +2771,qui,quos,2771 +2772,dolor,ut,2772 +2773,ullam,quas,2773 +2774,iusto,maxime,2774 +2775,dolor,est,2775 +2776,nobis,deleniti,2776 +2777,fugit,culpa,2777 +2778,est,velit,2778 +2779,dolores,molestiae,2779 +2780,sit,suscipit,2780 +2781,unde,in,2781 +2782,molestiae,voluptas,2782 +2783,repellat,eius,2783 +2784,non,ab,2784 +2785,sint,sint,2785 +2786,voluptatibus,earum,2786 +2787,dolore,in,2787 +2788,sapiente,eos,2788 +2789,quis,sequi,2789 +2790,voluptates,beatae,2790 +2791,sapiente,quia,2791 +2792,sit,dolorem,2792 +2793,omnis,doloremque,2793 +2794,adipisci,dignissimos,2794 +2795,beatae,necessitatibus,2795 +2796,vel,doloribus,2796 +2797,sit,nulla,2797 +2798,corrupti,et,2798 +2799,a,sapiente,2799 +2800,quaerat,optio,2800 +2801,dicta,animi,2801 +2802,numquam,et,2802 +2803,et,aliquid,2803 +2804,accusamus,dolores,2804 +2805,est,adipisci,2805 +2806,non,iure,2806 +2807,nihil,veniam,2807 +2808,et,autem,2808 +2809,nesciunt,ducimus,2809 +2810,minus,vel,2810 +2811,cum,sit,2811 +2812,maxime,ea,2812 +2813,officia,veniam,2813 +2814,qui,minus,2814 +2815,similique,perspiciatis,2815 +2816,est,ut,2816 +2817,in,fuga,2817 +2818,necessitatibus,incidunt,2818 +2819,voluptatibus,et,2819 +2820,dolore,minus,2820 +2821,velit,id,2821 +2822,laudantium,et,2822 +2823,vel,recusandae,2823 +2824,delectus,nulla,2824 +2825,mollitia,sint,2825 +2826,ut,aut,2826 +2827,dolorem,quod,2827 +2828,ut,dolores,2828 +2829,soluta,aut,2829 +2830,occaecati,et,2830 +2831,debitis,qui,2831 +2832,suscipit,adipisci,2832 +2833,facilis,at,2833 +2834,animi,aut,2834 +2835,veritatis,itaque,2835 +2836,dolore,aliquam,2836 +2837,aut,voluptatem,2837 +2838,vero,est,2838 +2839,aliquid,mollitia,2839 +2840,qui,voluptatum,2840 +2841,omnis,ea,2841 +2842,delectus,quam,2842 +2843,modi,doloribus,2843 +2844,necessitatibus,ducimus,2844 +2845,voluptas,nulla,2845 +2846,sit,rem,2846 +2847,possimus,sequi,2847 +2848,id,similique,2848 +2849,quis,dolorum,2849 +2850,sit,rerum,2850 +2851,ex,voluptas,2851 +2852,et,quis,2852 +2853,saepe,quia,2853 +2854,laboriosam,temporibus,2854 +2855,nihil,est,2855 +2856,est,inventore,2856 +2857,voluptate,sit,2857 +2858,nesciunt,ipsa,2858 +2859,excepturi,sequi,2859 +2860,quos,ad,2860 +2861,ut,laboriosam,2861 +2862,est,id,2862 +2863,sit,doloribus,2863 +2864,qui,veritatis,2864 +2865,soluta,est,2865 +2866,eligendi,consequatur,2866 +2867,saepe,voluptatem,2867 +2868,eos,iusto,2868 +2869,veniam,dicta,2869 +2870,suscipit,nulla,2870 +2871,neque,aperiam,2871 +2872,modi,maxime,2872 +2873,aliquam,aut,2873 +2874,a,inventore,2874 +2875,qui,alias,2875 +2876,voluptates,consequatur,2876 +2877,natus,dolores,2877 +2878,et,sunt,2878 +2879,eligendi,ab,2879 +2880,odio,eos,2880 +2881,quia,dolorem,2881 +2882,voluptas,neque,2882 +2883,autem,voluptas,2883 +2884,facilis,harum,2884 +2885,commodi,ut,2885 +2886,facere,necessitatibus,2886 +2887,nesciunt,omnis,2887 +2888,consequuntur,ab,2888 +2889,maiores,iure,2889 +2890,rem,ratione,2890 +2891,aspernatur,facere,2891 +2892,vel,deserunt,2892 +2893,nihil,esse,2893 +2894,inventore,aspernatur,2894 +2895,fugit,fugit,2895 +2896,error,neque,2896 +2897,quos,omnis,2897 +2898,laudantium,quia,2898 +2899,officiis,quia,2899 +2900,voluptas,suscipit,2900 +2901,id,id,2901 +2902,at,officiis,2902 +2903,natus,dolore,2903 +2904,repudiandae,qui,2904 +2905,voluptatibus,dolor,2905 +2906,sint,temporibus,2906 +2907,ut,explicabo,2907 +2908,et,et,2908 +2909,iste,et,2909 +2910,mollitia,facere,2910 +2911,adipisci,quod,2911 +2912,quia,nihil,2912 +2913,magni,eum,2913 +2914,et,voluptatem,2914 +2915,quae,recusandae,2915 +2916,harum,adipisci,2916 +2917,unde,dolorem,2917 +2918,qui,ut,2918 +2919,eaque,occaecati,2919 +2920,voluptas,amet,2920 +2921,doloremque,dolor,2921 +2922,dolorem,provident,2922 +2923,quas,omnis,2923 +2924,nulla,cumque,2924 +2925,consectetur,magni,2925 +2926,laudantium,recusandae,2926 +2927,vitae,quod,2927 +2928,numquam,quia,2928 +2929,mollitia,est,2929 +2930,explicabo,dolores,2930 +2931,velit,odio,2931 +2932,ut,dolor,2932 +2933,qui,nam,2933 +2934,eos,quaerat,2934 +2935,ullam,libero,2935 +2936,fuga,non,2936 +2937,cum,nisi,2937 +2938,accusantium,dolorum,2938 +2939,provident,non,2939 +2940,blanditiis,ipsum,2940 +2941,veniam,iste,2941 +2942,non,nihil,2942 +2943,iure,voluptatem,2943 +2944,necessitatibus,explicabo,2944 +2945,aut,inventore,2945 +2946,impedit,velit,2946 +2947,repellat,vel,2947 +2948,qui,omnis,2948 +2949,repudiandae,officia,2949 +2950,consequuntur,corrupti,2950 +2951,et,esse,2951 +2952,autem,rem,2952 +2953,mollitia,in,2953 +2954,perspiciatis,nesciunt,2954 +2955,doloribus,animi,2955 +2956,sunt,provident,2956 +2957,quis,consequatur,2957 +2958,nihil,accusamus,2958 +2959,libero,est,2959 +2960,eaque,et,2960 +2961,aut,porro,2961 +2962,distinctio,impedit,2962 +2963,amet,consequatur,2963 +2964,quod,sed,2964 +2965,in,suscipit,2965 +2966,ratione,et,2966 +2967,minus,eius,2967 +2968,culpa,sint,2968 +2969,tempore,quasi,2969 +2970,qui,voluptatem,2970 +2971,enim,laborum,2971 +2972,voluptates,sapiente,2972 +2973,numquam,autem,2973 +2974,alias,fugit,2974 +2975,accusantium,magni,2975 +2976,sit,voluptates,2976 +2977,aut,voluptas,2977 +2978,assumenda,ut,2978 +2979,qui,voluptatem,2979 +2980,minus,reprehenderit,2980 +2981,fugiat,temporibus,2981 +2982,doloribus,quis,2982 +2983,est,voluptatem,2983 +2984,et,consequatur,2984 +2985,nostrum,laudantium,2985 +2986,quasi,itaque,2986 +2987,enim,in,2987 +2988,et,magnam,2988 +2989,alias,aperiam,2989 +2990,dolor,ut,2990 +2991,non,aut,2991 +2992,et,quos,2992 +2993,nisi,nisi,2993 +2994,dolor,ut,2994 +2995,voluptate,quasi,2995 +2996,adipisci,blanditiis,2996 +2997,repellat,voluptas,2997 +2998,velit,dolores,2998 +2999,exercitationem,facere,2999 +3000,debitis,doloribus,3000 +3001,ducimus,nostrum,3001 +3002,quod,dolorem,3002 +3003,ducimus,aut,3003 +3004,quidem,perferendis,3004 +3005,sed,ducimus,3005 +3006,voluptate,voluptatem,3006 +3007,laboriosam,tempore,3007 +3008,nesciunt,odio,3008 +3009,asperiores,nam,3009 +3010,dolor,esse,3010 +3011,similique,sunt,3011 +3012,in,ipsam,3012 +3013,quo,sequi,3013 +3014,quidem,voluptas,3014 +3015,explicabo,iusto,3015 +3016,voluptatem,error,3016 +3017,asperiores,aut,3017 +3018,repellendus,nesciunt,3018 +3019,nesciunt,est,3019 +3020,in,vitae,3020 +3021,aliquid,quas,3021 +3022,quae,ipsum,3022 +3023,eveniet,quaerat,3023 +3024,quae,est,3024 +3025,voluptas,id,3025 +3026,soluta,explicabo,3026 +3027,sunt,in,3027 +3028,molestiae,et,3028 +3029,qui,enim,3029 +3030,voluptates,vel,3030 +3031,officia,facere,3031 +3032,nam,quidem,3032 +3033,iusto,et,3033 +3034,consequuntur,eveniet,3034 +3035,nulla,id,3035 +3036,tenetur,ut,3036 +3037,ea,quod,3037 +3038,explicabo,modi,3038 +3039,consequatur,necessitatibus,3039 +3040,iste,voluptas,3040 +3041,vel,praesentium,3041 +3042,et,earum,3042 +3043,et,assumenda,3043 +3044,inventore,deserunt,3044 +3045,sint,quis,3045 +3046,amet,ex,3046 +3047,explicabo,sed,3047 +3048,aut,consequuntur,3048 +3049,et,soluta,3049 +3050,dolores,occaecati,3050 +3051,quo,voluptatem,3051 +3052,molestiae,perspiciatis,3052 +3053,a,commodi,3053 +3054,sed,alias,3054 +3055,suscipit,numquam,3055 +3056,ea,veritatis,3056 +3057,corrupti,inventore,3057 +3058,temporibus,at,3058 +3059,rerum,et,3059 +3060,amet,et,3060 +3061,repellat,ex,3061 +3062,commodi,quia,3062 +3063,velit,eveniet,3063 +3064,quod,quasi,3064 +3065,eum,nesciunt,3065 +3066,eligendi,dolorum,3066 +3067,fuga,corporis,3067 +3068,voluptatem,praesentium,3068 +3069,eveniet,ut,3069 +3070,molestias,deserunt,3070 +3071,laborum,laborum,3071 +3072,voluptas,beatae,3072 +3073,tenetur,voluptatem,3073 +3074,eum,ut,3074 +3075,ipsa,fuga,3075 +3076,id,porro,3076 +3077,qui,iusto,3077 +3078,sit,consequatur,3078 +3079,eos,rerum,3079 +3080,harum,esse,3080 +3081,quia,quas,3081 +3082,nesciunt,repellendus,3082 +3083,autem,exercitationem,3083 +3084,qui,vel,3084 +3085,suscipit,consequatur,3085 +3086,dolorem,consectetur,3086 +3087,et,eaque,3087 +3088,repellendus,officia,3088 +3089,praesentium,nulla,3089 +3090,doloribus,minima,3090 +3091,ut,laborum,3091 +3092,ducimus,molestiae,3092 +3093,eum,placeat,3093 +3094,eligendi,vero,3094 +3095,accusamus,rerum,3095 +3096,est,quia,3096 +3097,aliquam,iste,3097 +3098,quia,consequatur,3098 +3099,labore,facilis,3099 +3100,quo,inventore,3100 +3101,quos,molestiae,3101 +3102,itaque,illo,3102 +3103,nam,qui,3103 +3104,minus,inventore,3104 +3105,eaque,aut,3105 +3106,iste,nobis,3106 +3107,vitae,assumenda,3107 +3108,temporibus,aliquid,3108 +3109,et,corrupti,3109 +3110,sunt,dolore,3110 +3111,quibusdam,cupiditate,3111 +3112,eaque,voluptate,3112 +3113,commodi,voluptates,3113 +3114,omnis,facilis,3114 +3115,at,perferendis,3115 +3116,amet,voluptatem,3116 +3117,qui,enim,3117 +3118,est,consequatur,3118 +3119,accusamus,alias,3119 +3120,ducimus,ut,3120 +3121,delectus,odit,3121 +3122,a,debitis,3122 +3123,voluptas,modi,3123 +3124,enim,et,3124 +3125,pariatur,omnis,3125 +3126,aut,deserunt,3126 +3127,cum,voluptas,3127 +3128,rerum,nihil,3128 +3129,beatae,quo,3129 +3130,et,voluptatem,3130 +3131,eum,voluptates,3131 +3132,est,commodi,3132 +3133,eveniet,quae,3133 +3134,enim,cupiditate,3134 +3135,unde,in,3135 +3136,molestias,molestiae,3136 +3137,asperiores,sed,3137 +3138,rerum,qui,3138 +3139,et,possimus,3139 +3140,quia,reprehenderit,3140 +3141,excepturi,tempora,3141 +3142,voluptatibus,voluptatibus,3142 +3143,eaque,rerum,3143 +3144,dignissimos,beatae,3144 +3145,dolores,et,3145 +3146,qui,dolor,3146 +3147,inventore,atque,3147 +3148,iusto,eum,3148 +3149,voluptates,temporibus,3149 +3150,debitis,et,3150 +3151,sint,perspiciatis,3151 +3152,hic,adipisci,3152 +3153,assumenda,ex,3153 +3154,repellat,magni,3154 +3155,delectus,consectetur,3155 +3156,quis,aut,3156 +3157,quo,quod,3157 +3158,ad,quo,3158 +3159,non,quia,3159 +3160,accusamus,enim,3160 +3161,nemo,dignissimos,3161 +3162,molestias,molestiae,3162 +3163,voluptatibus,et,3163 +3164,voluptatibus,est,3164 +3165,sequi,cumque,3165 +3166,cumque,id,3166 +3167,cum,iste,3167 +3168,est,nihil,3168 +3169,et,voluptatem,3169 +3170,sint,quia,3170 +3171,amet,odio,3171 +3172,omnis,et,3172 +3173,qui,explicabo,3173 +3174,et,sit,3174 +3175,nobis,sunt,3175 +3176,excepturi,eos,3176 +3177,quia,veniam,3177 +3178,temporibus,sint,3178 +3179,animi,totam,3179 +3180,optio,incidunt,3180 +3181,fugit,et,3181 +3182,nostrum,sint,3182 +3183,maiores,qui,3183 +3184,aspernatur,voluptatem,3184 +3185,quam,omnis,3185 +3186,quis,magnam,3186 +3187,sit,dolor,3187 +3188,eaque,voluptatibus,3188 +3189,enim,autem,3189 +3190,quia,totam,3190 +3191,eligendi,architecto,3191 +3192,sunt,et,3192 +3193,quia,et,3193 +3194,assumenda,perferendis,3194 +3195,ut,est,3195 +3196,et,architecto,3196 +3197,dolorum,fugit,3197 +3198,libero,possimus,3198 +3199,quasi,voluptatem,3199 +3200,magni,qui,3200 +3201,quia,dignissimos,3201 +3202,ipsa,molestiae,3202 +3203,sed,laborum,3203 +3204,dolore,animi,3204 +3205,minima,officia,3205 +3206,quod,maxime,3206 +3207,non,rem,3207 +3208,adipisci,rerum,3208 +3209,voluptate,accusamus,3209 +3210,deleniti,placeat,3210 +3211,officia,harum,3211 +3212,provident,id,3212 +3213,id,voluptatem,3213 +3214,minus,doloremque,3214 +3215,libero,temporibus,3215 +3216,sed,iusto,3216 +3217,dolores,ab,3217 +3218,quia,nihil,3218 +3219,est,sed,3219 +3220,sit,repellat,3220 +3221,quia,aliquam,3221 +3222,ut,rem,3222 +3223,dolorem,explicabo,3223 +3224,reprehenderit,sint,3224 +3225,est,molestiae,3225 +3226,quia,quis,3226 +3227,hic,enim,3227 +3228,provident,eum,3228 +3229,magnam,dolores,3229 +3230,illum,laboriosam,3230 +3231,maxime,aliquid,3231 +3232,dolores,officia,3232 +3233,aliquid,placeat,3233 +3234,et,dolor,3234 +3235,minima,rem,3235 +3236,ipsum,blanditiis,3236 +3237,impedit,quaerat,3237 +3238,aut,enim,3238 +3239,consequatur,tenetur,3239 +3240,placeat,maiores,3240 +3241,quia,cupiditate,3241 +3242,et,maiores,3242 +3243,natus,earum,3243 +3244,doloremque,aut,3244 +3245,neque,adipisci,3245 +3246,et,consectetur,3246 +3247,quia,odit,3247 +3248,aliquam,alias,3248 +3249,recusandae,omnis,3249 +3250,doloremque,est,3250 +3251,fuga,nulla,3251 +3252,ut,impedit,3252 +3253,quam,vel,3253 +3254,qui,illo,3254 +3255,voluptas,dicta,3255 +3256,veniam,rerum,3256 +3257,qui,reprehenderit,3257 +3258,officia,sed,3258 +3259,accusamus,temporibus,3259 +3260,recusandae,autem,3260 +3261,maxime,reprehenderit,3261 +3262,nostrum,labore,3262 +3263,laboriosam,iste,3263 +3264,porro,aut,3264 +3265,et,dolorum,3265 +3266,qui,labore,3266 +3267,laborum,numquam,3267 +3268,repudiandae,soluta,3268 +3269,et,quos,3269 +3270,ut,qui,3270 +3271,excepturi,doloremque,3271 +3272,dolor,reprehenderit,3272 +3273,quis,labore,3273 +3274,dolorem,est,3274 +3275,cupiditate,optio,3275 +3276,quo,consequatur,3276 +3277,sed,voluptate,3277 +3278,laboriosam,veritatis,3278 +3279,et,dolor,3279 +3280,odio,eum,3280 +3281,quo,iusto,3281 +3282,aspernatur,vitae,3282 +3283,hic,voluptatem,3283 +3284,mollitia,assumenda,3284 +3285,quo,occaecati,3285 +3286,enim,hic,3286 +3287,est,quo,3287 +3288,accusamus,accusamus,3288 +3289,molestiae,tenetur,3289 +3290,dolores,et,3290 +3291,qui,voluptate,3291 +3292,quis,velit,3292 +3293,architecto,modi,3293 +3294,est,illum,3294 +3295,est,a,3295 +3296,et,unde,3296 +3297,quasi,quia,3297 +3298,laudantium,voluptas,3298 +3299,veritatis,et,3299 +3300,at,voluptatem,3300 +3301,maxime,eius,3301 +3302,velit,rem,3302 +3303,voluptatem,nemo,3303 +3304,consequatur,in,3304 +3305,exercitationem,debitis,3305 +3306,error,repudiandae,3306 +3307,consequatur,eveniet,3307 +3308,aut,voluptatibus,3308 +3309,blanditiis,deserunt,3309 +3310,facilis,unde,3310 +3311,in,quam,3311 +3312,et,est,3312 +3313,maxime,praesentium,3313 +3314,dolores,sapiente,3314 +3315,quia,at,3315 +3316,numquam,corporis,3316 +3317,omnis,cumque,3317 +3318,occaecati,commodi,3318 +3319,molestiae,repellat,3319 +3320,voluptate,velit,3320 +3321,fuga,cumque,3321 +3322,minus,nesciunt,3322 +3323,voluptatem,a,3323 +3324,minima,dolores,3324 +3325,labore,cupiditate,3325 +3326,blanditiis,in,3326 +3327,iste,non,3327 +3328,ipsum,magni,3328 +3329,labore,debitis,3329 +3330,ad,veniam,3330 +3331,perferendis,ipsam,3331 +3332,similique,et,3332 +3333,qui,dolor,3333 +3334,dolorem,eius,3334 +3335,ut,a,3335 +3336,ea,consequatur,3336 +3337,aspernatur,nisi,3337 +3338,accusamus,aut,3338 +3339,quibusdam,sint,3339 +3340,unde,omnis,3340 +3341,dolorem,distinctio,3341 +3342,sapiente,dolorum,3342 +3343,vero,a,3343 +3344,voluptas,officiis,3344 +3345,quia,velit,3345 +3346,fugit,debitis,3346 +3347,voluptas,dolor,3347 +3348,dicta,quia,3348 +3349,minus,consequatur,3349 +3350,velit,et,3350 +3351,aut,et,3351 +3352,laudantium,non,3352 +3353,laborum,iste,3353 +3354,cum,dolor,3354 +3355,est,occaecati,3355 +3356,ducimus,officia,3356 +3357,distinctio,quasi,3357 +3358,tempora,soluta,3358 +3359,doloremque,quo,3359 +3360,ut,quia,3360 +3361,quasi,autem,3361 +3362,ullam,minus,3362 +3363,et,praesentium,3363 +3364,omnis,est,3364 +3365,nihil,hic,3365 +3366,qui,et,3366 +3367,consequatur,qui,3367 +3368,cumque,quis,3368 +3369,voluptas,vitae,3369 +3370,dolor,corporis,3370 +3371,et,magni,3371 +3372,unde,minus,3372 +3373,recusandae,rerum,3373 +3374,non,cumque,3374 +3375,dolore,voluptatum,3375 +3376,qui,aut,3376 +3377,qui,quis,3377 +3378,sint,omnis,3378 +3379,deserunt,id,3379 +3380,nemo,aliquam,3380 +3381,asperiores,a,3381 +3382,et,tempore,3382 +3383,eaque,et,3383 +3384,odio,et,3384 +3385,omnis,deserunt,3385 +3386,rem,dolorum,3386 +3387,asperiores,sed,3387 +3388,modi,sed,3388 +3389,aut,error,3389 +3390,cumque,quis,3390 +3391,omnis,praesentium,3391 +3392,praesentium,eveniet,3392 +3393,aut,quasi,3393 +3394,sint,commodi,3394 +3395,fugit,ut,3395 +3396,iusto,magnam,3396 +3397,debitis,quidem,3397 +3398,voluptatibus,aut,3398 +3399,ea,aspernatur,3399 +3400,in,odit,3400 +3401,nemo,est,3401 +3402,cum,ducimus,3402 +3403,consectetur,quae,3403 +3404,praesentium,hic,3404 +3405,recusandae,consectetur,3405 +3406,doloribus,amet,3406 +3407,et,sed,3407 +3408,et,ut,3408 +3409,nihil,vitae,3409 +3410,ullam,iusto,3410 +3411,qui,aut,3411 +3412,sapiente,officia,3412 +3413,rerum,adipisci,3413 +3414,omnis,rem,3414 +3415,unde,ut,3415 +3416,ut,illum,3416 +3417,et,et,3417 +3418,aliquid,rerum,3418 +3419,enim,facere,3419 +3420,esse,qui,3420 +3421,animi,eum,3421 +3422,modi,possimus,3422 +3423,reiciendis,incidunt,3423 +3424,soluta,dolor,3424 +3425,enim,id,3425 +3426,et,laboriosam,3426 +3427,aut,aliquid,3427 +3428,corporis,rerum,3428 +3429,officiis,et,3429 +3430,autem,qui,3430 +3431,et,expedita,3431 +3432,dolorem,suscipit,3432 +3433,quidem,voluptas,3433 +3434,dolore,est,3434 +3435,qui,porro,3435 +3436,omnis,et,3436 +3437,quos,dignissimos,3437 +3438,reiciendis,voluptatum,3438 +3439,omnis,quo,3439 +3440,id,saepe,3440 +3441,sint,illo,3441 +3442,voluptate,ab,3442 +3443,provident,iste,3443 +3444,numquam,eveniet,3444 +3445,fugiat,omnis,3445 +3446,nulla,nam,3446 +3447,ut,voluptatem,3447 +3448,omnis,dolores,3448 +3449,dolorem,id,3449 +3450,sit,non,3450 +3451,consequatur,minus,3451 +3452,recusandae,temporibus,3452 +3453,eveniet,vero,3453 +3454,nulla,blanditiis,3454 +3455,eius,dolorum,3455 +3456,voluptates,sit,3456 +3457,deserunt,nam,3457 +3458,consequatur,ducimus,3458 +3459,sed,aut,3459 +3460,tenetur,id,3460 +3461,recusandae,et,3461 +3462,ea,autem,3462 +3463,aut,eaque,3463 +3464,velit,enim,3464 +3465,unde,dolores,3465 +3466,architecto,repellendus,3466 +3467,reiciendis,qui,3467 +3468,pariatur,blanditiis,3468 +3469,eum,voluptatem,3469 +3470,consequatur,earum,3470 +3471,optio,soluta,3471 +3472,quibusdam,saepe,3472 +3473,sed,eos,3473 +3474,ipsum,eaque,3474 +3475,nobis,dolorem,3475 +3476,quo,rerum,3476 +3477,provident,vel,3477 +3478,corporis,laboriosam,3478 +3479,repudiandae,accusantium,3479 +3480,animi,illo,3480 +3481,aliquam,nisi,3481 +3482,officia,nisi,3482 +3483,atque,harum,3483 +3484,earum,sed,3484 +3485,ut,dicta,3485 +3486,ipsum,doloremque,3486 +3487,recusandae,doloribus,3487 +3488,laboriosam,dolorum,3488 +3489,aut,rem,3489 +3490,voluptatem,a,3490 +3491,quia,nisi,3491 +3492,ut,quis,3492 +3493,ut,dolores,3493 +3494,tempore,veritatis,3494 +3495,voluptatibus,iste,3495 +3496,necessitatibus,non,3496 +3497,quibusdam,aut,3497 +3498,delectus,molestiae,3498 +3499,reiciendis,id,3499 +3500,blanditiis,sed,3500 +3501,eaque,aut,3501 +3502,atque,doloremque,3502 +3503,aut,sed,3503 +3504,quam,quibusdam,3504 +3505,minus,consequatur,3505 +3506,odio,velit,3506 +3507,praesentium,et,3507 +3508,deserunt,nobis,3508 +3509,qui,laboriosam,3509 +3510,qui,quasi,3510 +3511,est,earum,3511 +3512,architecto,veniam,3512 +3513,sit,et,3513 +3514,possimus,blanditiis,3514 +3515,dolores,iusto,3515 +3516,molestiae,aut,3516 +3517,est,libero,3517 +3518,aliquid,officia,3518 +3519,tempora,impedit,3519 +3520,fuga,iure,3520 +3521,reprehenderit,aperiam,3521 +3522,voluptatem,tempore,3522 +3523,consequatur,iusto,3523 +3524,excepturi,quibusdam,3524 +3525,optio,enim,3525 +3526,quam,omnis,3526 +3527,possimus,consequatur,3527 +3528,praesentium,doloribus,3528 +3529,ea,quaerat,3529 +3530,pariatur,libero,3530 +3531,maxime,pariatur,3531 +3532,quae,hic,3532 +3533,minima,odit,3533 +3534,corrupti,hic,3534 +3535,suscipit,fugiat,3535 +3536,dolores,eos,3536 +3537,omnis,labore,3537 +3538,eligendi,nesciunt,3538 +3539,unde,sunt,3539 +3540,sed,perferendis,3540 +3541,qui,cumque,3541 +3542,occaecati,earum,3542 +3543,molestiae,aut,3543 +3544,nihil,excepturi,3544 +3545,dolor,esse,3545 +3546,ut,praesentium,3546 +3547,quia,deserunt,3547 +3548,quaerat,omnis,3548 +3549,quo,sunt,3549 +3550,repellendus,accusamus,3550 +3551,et,a,3551 +3552,perspiciatis,earum,3552 +3553,laboriosam,in,3553 +3554,tempore,molestiae,3554 +3555,unde,minima,3555 +3556,est,enim,3556 +3557,repudiandae,ut,3557 +3558,qui,eum,3558 +3559,vel,aut,3559 +3560,magni,animi,3560 +3561,libero,quo,3561 +3562,nulla,quibusdam,3562 +3563,ut,voluptatum,3563 +3564,voluptatem,et,3564 +3565,sit,qui,3565 +3566,et,architecto,3566 +3567,ipsum,et,3567 +3568,maiores,molestiae,3568 +3569,qui,dolor,3569 +3570,et,qui,3570 +3571,ex,aut,3571 +3572,expedita,asperiores,3572 +3573,autem,quisquam,3573 +3574,exercitationem,consequatur,3574 +3575,quae,omnis,3575 +3576,officiis,et,3576 +3577,vitae,praesentium,3577 +3578,explicabo,quasi,3578 +3579,quia,et,3579 +3580,repellendus,veniam,3580 +3581,necessitatibus,odio,3581 +3582,cumque,atque,3582 +3583,itaque,provident,3583 +3584,nulla,in,3584 +3585,rerum,facere,3585 +3586,ut,autem,3586 +3587,veritatis,occaecati,3587 +3588,voluptatibus,aliquam,3588 +3589,temporibus,autem,3589 +3590,voluptatem,ea,3590 +3591,dolore,est,3591 +3592,enim,est,3592 +3593,earum,nam,3593 +3594,vel,omnis,3594 +3595,et,deleniti,3595 +3596,dolorum,voluptatem,3596 +3597,nostrum,soluta,3597 +3598,dignissimos,quia,3598 +3599,cum,iure,3599 +3600,aspernatur,est,3600 +3601,dolorem,fugiat,3601 +3602,neque,laborum,3602 +3603,et,vel,3603 +3604,voluptatem,expedita,3604 +3605,sunt,rerum,3605 +3606,mollitia,et,3606 +3607,ad,quaerat,3607 +3608,illo,iusto,3608 +3609,sed,necessitatibus,3609 +3610,quidem,nihil,3610 +3611,quo,voluptatem,3611 +3612,vitae,autem,3612 +3613,et,aspernatur,3613 +3614,ea,inventore,3614 +3615,qui,voluptatem,3615 +3616,voluptates,consectetur,3616 +3617,illum,quibusdam,3617 +3618,nesciunt,ab,3618 +3619,repellat,illum,3619 +3620,optio,ut,3620 +3621,quisquam,voluptas,3621 +3622,ut,ipsa,3622 +3623,minus,voluptatem,3623 +3624,accusamus,sed,3624 +3625,eligendi,iste,3625 +3626,at,est,3626 +3627,culpa,et,3627 +3628,ex,dolores,3628 +3629,debitis,earum,3629 +3630,laborum,similique,3630 +3631,temporibus,consequatur,3631 +3632,qui,iste,3632 +3633,modi,non,3633 +3634,fugiat,et,3634 +3635,deserunt,odit,3635 +3636,dignissimos,quibusdam,3636 +3637,quia,dignissimos,3637 +3638,et,enim,3638 +3639,et,culpa,3639 +3640,voluptatem,nostrum,3640 +3641,doloribus,magni,3641 +3642,harum,sint,3642 +3643,similique,quis,3643 +3644,nihil,quia,3644 +3645,qui,sit,3645 +3646,rem,ratione,3646 +3647,molestias,dignissimos,3647 +3648,minima,aut,3648 +3649,molestias,sapiente,3649 +3650,qui,dolore,3650 +3651,ad,qui,3651 +3652,commodi,doloremque,3652 +3653,illum,atque,3653 +3654,dignissimos,rem,3654 +3655,ab,eaque,3655 +3656,qui,deserunt,3656 +3657,dolores,occaecati,3657 +3658,omnis,ut,3658 +3659,omnis,eum,3659 +3660,consequatur,pariatur,3660 +3661,sit,impedit,3661 +3662,itaque,labore,3662 +3663,quae,et,3663 +3664,sed,deleniti,3664 +3665,laudantium,autem,3665 +3666,voluptate,sed,3666 +3667,pariatur,officia,3667 +3668,labore,odit,3668 +3669,nisi,qui,3669 +3670,et,nihil,3670 +3671,occaecati,voluptas,3671 +3672,alias,magnam,3672 +3673,dolores,optio,3673 +3674,accusantium,rem,3674 +3675,qui,atque,3675 +3676,culpa,numquam,3676 +3677,veniam,sit,3677 +3678,sed,corporis,3678 +3679,amet,dolorem,3679 +3680,et,ut,3680 +3681,dolores,corrupti,3681 +3682,voluptates,dolor,3682 +3683,doloribus,unde,3683 +3684,perspiciatis,vitae,3684 +3685,odio,quo,3685 +3686,eaque,consequuntur,3686 +3687,mollitia,delectus,3687 +3688,odit,consequatur,3688 +3689,necessitatibus,eos,3689 +3690,perspiciatis,in,3690 +3691,officia,in,3691 +3692,a,error,3692 +3693,impedit,voluptas,3693 +3694,vitae,omnis,3694 +3695,quaerat,quis,3695 +3696,quo,asperiores,3696 +3697,quia,explicabo,3697 +3698,nulla,quam,3698 +3699,accusantium,expedita,3699 +3700,officiis,dolores,3700 +3701,nulla,quia,3701 +3702,doloribus,vel,3702 +3703,doloribus,beatae,3703 +3704,voluptatem,labore,3704 +3705,voluptate,rerum,3705 +3706,non,sint,3706 +3707,inventore,sit,3707 +3708,quisquam,quos,3708 +3709,aut,et,3709 +3710,blanditiis,repudiandae,3710 +3711,iusto,et,3711 +3712,eligendi,libero,3712 +3713,consequatur,consequatur,3713 +3714,maiores,ducimus,3714 +3715,eaque,nostrum,3715 +3716,nostrum,aut,3716 +3717,perspiciatis,nesciunt,3717 +3718,aut,quis,3718 +3719,veniam,quis,3719 +3720,veniam,maxime,3720 +3721,ullam,id,3721 +3722,sint,in,3722 +3723,modi,voluptas,3723 +3724,blanditiis,laudantium,3724 +3725,velit,voluptatibus,3725 +3726,aspernatur,rerum,3726 +3727,animi,et,3727 +3728,velit,aspernatur,3728 +3729,atque,quas,3729 +3730,minus,aut,3730 +3731,et,aspernatur,3731 +3732,delectus,modi,3732 +3733,repellendus,eius,3733 +3734,architecto,commodi,3734 +3735,sit,a,3735 +3736,molestiae,culpa,3736 +3737,corporis,maiores,3737 +3738,sapiente,dolor,3738 +3739,repellendus,dolores,3739 +3740,sit,mollitia,3740 +3741,cumque,sit,3741 +3742,excepturi,qui,3742 +3743,ipsa,voluptatibus,3743 +3744,totam,aut,3744 +3745,necessitatibus,molestias,3745 +3746,id,quia,3746 +3747,cum,voluptatem,3747 +3748,eum,earum,3748 +3749,rerum,vel,3749 +3750,est,ea,3750 +3751,enim,ut,3751 +3752,beatae,ipsam,3752 +3753,unde,in,3753 +3754,maiores,nihil,3754 +3755,magnam,et,3755 +3756,consequatur,perspiciatis,3756 +3757,voluptatem,odio,3757 +3758,qui,sunt,3758 +3759,sunt,et,3759 +3760,exercitationem,voluptas,3760 +3761,rerum,corporis,3761 +3762,aliquid,ratione,3762 +3763,minima,delectus,3763 +3764,est,quas,3764 +3765,placeat,consectetur,3765 +3766,expedita,iure,3766 +3767,reiciendis,doloremque,3767 +3768,molestias,tempora,3768 +3769,ullam,culpa,3769 +3770,dolorem,aliquid,3770 +3771,a,laudantium,3771 +3772,est,quo,3772 +3773,sit,qui,3773 +3774,et,minima,3774 +3775,tempora,cum,3775 +3776,quia,impedit,3776 +3777,occaecati,ducimus,3777 +3778,doloribus,facere,3778 +3779,et,porro,3779 +3780,et,consectetur,3780 +3781,incidunt,ab,3781 +3782,rerum,quod,3782 +3783,officia,aut,3783 +3784,dolorum,quod,3784 +3785,quidem,magni,3785 +3786,nemo,fugit,3786 +3787,aliquam,quaerat,3787 +3788,velit,soluta,3788 +3789,exercitationem,ut,3789 +3790,nesciunt,beatae,3790 +3791,dolores,tempora,3791 +3792,quaerat,autem,3792 +3793,delectus,exercitationem,3793 +3794,quia,et,3794 +3795,consequatur,architecto,3795 +3796,accusantium,possimus,3796 +3797,qui,rerum,3797 +3798,voluptatem,rem,3798 +3799,optio,rem,3799 +3800,earum,culpa,3800 +3801,et,eligendi,3801 +3802,ea,alias,3802 +3803,eum,dolores,3803 +3804,earum,similique,3804 +3805,rem,beatae,3805 +3806,voluptatem,animi,3806 +3807,veritatis,non,3807 +3808,accusamus,error,3808 +3809,aliquid,minus,3809 +3810,et,est,3810 +3811,et,error,3811 +3812,minima,quidem,3812 +3813,veniam,veritatis,3813 +3814,iste,asperiores,3814 +3815,enim,quaerat,3815 +3816,vero,consequatur,3816 +3817,laborum,itaque,3817 +3818,natus,neque,3818 +3819,eum,ut,3819 +3820,quae,officiis,3820 +3821,esse,accusantium,3821 +3822,consectetur,ut,3822 +3823,sunt,harum,3823 +3824,quos,rerum,3824 +3825,totam,consequatur,3825 +3826,similique,dolorem,3826 +3827,voluptas,quaerat,3827 +3828,maxime,minima,3828 +3829,velit,deserunt,3829 +3830,perspiciatis,placeat,3830 +3831,omnis,quaerat,3831 +3832,ipsa,repellat,3832 +3833,eius,aliquam,3833 +3834,maiores,et,3834 +3835,omnis,sint,3835 +3836,ut,soluta,3836 +3837,nobis,perferendis,3837 +3838,quaerat,et,3838 +3839,blanditiis,rerum,3839 +3840,quasi,repellendus,3840 +3841,commodi,deserunt,3841 +3842,veniam,officia,3842 +3843,voluptatem,qui,3843 +3844,cupiditate,aut,3844 +3845,quia,labore,3845 +3846,nobis,est,3846 +3847,labore,sint,3847 +3848,quis,officiis,3848 +3849,ullam,voluptatum,3849 +3850,enim,dignissimos,3850 +3851,officia,aliquid,3851 +3852,quis,et,3852 +3853,est,dolorum,3853 +3854,aliquam,rerum,3854 +3855,earum,aut,3855 +3856,voluptate,ad,3856 +3857,laborum,sit,3857 +3858,et,eius,3858 +3859,reprehenderit,qui,3859 +3860,est,ut,3860 +3861,facilis,modi,3861 +3862,beatae,qui,3862 +3863,architecto,tempora,3863 +3864,asperiores,sit,3864 +3865,id,et,3865 +3866,quis,delectus,3866 +3867,unde,et,3867 +3868,qui,quia,3868 +3869,ut,non,3869 +3870,sed,sit,3870 +3871,repudiandae,illum,3871 +3872,voluptas,quia,3872 +3873,ipsa,tempora,3873 +3874,cum,qui,3874 +3875,non,delectus,3875 +3876,sint,consequatur,3876 +3877,ratione,ratione,3877 +3878,est,est,3878 +3879,impedit,voluptate,3879 +3880,ab,iure,3880 +3881,et,asperiores,3881 +3882,id,vel,3882 +3883,ab,omnis,3883 +3884,sit,esse,3884 +3885,repellat,ab,3885 +3886,unde,et,3886 +3887,suscipit,doloribus,3887 +3888,dolore,doloribus,3888 +3889,non,natus,3889 +3890,molestias,molestiae,3890 +3891,occaecati,est,3891 +3892,quod,laborum,3892 +3893,sed,a,3893 +3894,quis,quos,3894 +3895,quo,earum,3895 +3896,delectus,et,3896 +3897,sit,et,3897 +3898,aut,deserunt,3898 +3899,et,ea,3899 +3900,numquam,sunt,3900 +3901,dolorem,et,3901 +3902,non,et,3902 +3903,a,eveniet,3903 +3904,magnam,voluptas,3904 +3905,laudantium,reprehenderit,3905 +3906,sed,unde,3906 +3907,sed,ea,3907 +3908,saepe,hic,3908 +3909,commodi,magnam,3909 +3910,suscipit,voluptate,3910 +3911,consequatur,incidunt,3911 +3912,laborum,cumque,3912 +3913,quo,velit,3913 +3914,inventore,est,3914 +3915,reiciendis,ut,3915 +3916,rem,dolor,3916 +3917,quia,eligendi,3917 +3918,debitis,et,3918 +3919,nemo,eos,3919 +3920,odit,rerum,3920 +3921,necessitatibus,dolorem,3921 +3922,consequatur,inventore,3922 +3923,repellendus,sed,3923 +3924,ratione,repellat,3924 +3925,qui,animi,3925 +3926,maxime,impedit,3926 +3927,quas,autem,3927 +3928,reprehenderit,unde,3928 +3929,neque,est,3929 +3930,et,excepturi,3930 +3931,ex,at,3931 +3932,voluptas,nihil,3932 +3933,maiores,ut,3933 +3934,molestiae,occaecati,3934 +3935,labore,fugit,3935 +3936,voluptatum,aliquid,3936 +3937,maxime,laborum,3937 +3938,quaerat,eos,3938 +3939,modi,animi,3939 +3940,accusantium,voluptatum,3940 +3941,alias,ducimus,3941 +3942,optio,sint,3942 +3943,nemo,et,3943 +3944,facilis,odio,3944 +3945,saepe,natus,3945 +3946,libero,et,3946 +3947,aliquid,illum,3947 +3948,reprehenderit,id,3948 +3949,at,et,3949 +3950,aut,ex,3950 +3951,facere,sequi,3951 +3952,natus,esse,3952 +3953,delectus,et,3953 +3954,qui,voluptas,3954 +3955,est,eaque,3955 +3956,consectetur,quos,3956 +3957,quas,commodi,3957 +3958,quis,hic,3958 +3959,commodi,asperiores,3959 +3960,consequuntur,qui,3960 +3961,perspiciatis,maxime,3961 +3962,et,velit,3962 +3963,incidunt,officiis,3963 +3964,architecto,consectetur,3964 +3965,nam,numquam,3965 +3966,in,sed,3966 +3967,harum,omnis,3967 +3968,eum,labore,3968 +3969,ullam,omnis,3969 +3970,praesentium,et,3970 +3971,ea,at,3971 +3972,culpa,voluptas,3972 +3973,aliquam,quae,3973 +3974,sint,quasi,3974 +3975,ut,doloremque,3975 +3976,in,est,3976 +3977,cumque,velit,3977 +3978,et,et,3978 +3979,explicabo,sint,3979 +3980,dolorum,aut,3980 +3981,odit,temporibus,3981 +3982,praesentium,voluptatem,3982 +3983,omnis,maiores,3983 +3984,dolores,accusantium,3984 +3985,autem,assumenda,3985 +3986,repudiandae,sequi,3986 +3987,eius,omnis,3987 +3988,magnam,accusantium,3988 +3989,ratione,tempore,3989 +3990,ut,aut,3990 +3991,est,ut,3991 +3992,cumque,dolore,3992 +3993,neque,id,3993 +3994,repellat,fugiat,3994 +3995,quod,aspernatur,3995 +3996,suscipit,facilis,3996 +3997,reprehenderit,debitis,3997 +3998,placeat,repudiandae,3998 +3999,velit,quia,3999 +4000,dolorem,nam,4000 +4001,voluptatem,non,4001 +4002,explicabo,in,4002 +4003,ullam,quas,4003 +4004,minima,sit,4004 +4005,omnis,accusamus,4005 +4006,ratione,magnam,4006 +4007,corporis,repudiandae,4007 +4008,eius,est,4008 +4009,commodi,aperiam,4009 +4010,ut,velit,4010 +4011,expedita,ea,4011 +4012,doloribus,dolorum,4012 +4013,ducimus,laborum,4013 +4014,possimus,sunt,4014 +4015,tenetur,et,4015 +4016,mollitia,distinctio,4016 +4017,qui,eum,4017 +4018,voluptas,architecto,4018 +4019,magni,quidem,4019 +4020,nostrum,labore,4020 +4021,maiores,quasi,4021 +4022,eos,id,4022 +4023,quia,consectetur,4023 +4024,doloribus,in,4024 +4025,maxime,reiciendis,4025 +4026,amet,aut,4026 +4027,sed,culpa,4027 +4028,sint,iusto,4028 +4029,quo,natus,4029 +4030,ea,et,4030 +4031,quo,omnis,4031 +4032,sint,nemo,4032 +4033,vitae,omnis,4033 +4034,quo,quod,4034 +4035,recusandae,animi,4035 +4036,qui,animi,4036 +4037,dolorem,nesciunt,4037 +4038,numquam,dolores,4038 +4039,sequi,id,4039 +4040,saepe,hic,4040 +4041,minus,est,4041 +4042,explicabo,mollitia,4042 +4043,perspiciatis,nihil,4043 +4044,eaque,et,4044 +4045,animi,sint,4045 +4046,mollitia,nisi,4046 +4047,ut,perspiciatis,4047 +4048,quo,consequatur,4048 +4049,est,quia,4049 +4050,rem,debitis,4050 +4051,fuga,et,4051 +4052,fugit,porro,4052 +4053,quam,iure,4053 +4054,cumque,eos,4054 +4055,ipsum,autem,4055 +4056,at,aspernatur,4056 +4057,unde,explicabo,4057 +4058,mollitia,rerum,4058 +4059,debitis,officia,4059 +4060,sunt,quo,4060 +4061,voluptas,ipsam,4061 +4062,asperiores,ut,4062 +4063,consequatur,iure,4063 +4064,sit,qui,4064 +4065,magni,aut,4065 +4066,asperiores,ipsum,4066 +4067,id,mollitia,4067 +4068,quam,a,4068 +4069,esse,sequi,4069 +4070,delectus,suscipit,4070 +4071,quas,exercitationem,4071 +4072,vero,necessitatibus,4072 +4073,est,culpa,4073 +4074,eius,non,4074 +4075,sed,quia,4075 +4076,quam,eum,4076 +4077,consequatur,praesentium,4077 +4078,eius,numquam,4078 +4079,et,id,4079 +4080,sint,quia,4080 +4081,perferendis,et,4081 +4082,perferendis,omnis,4082 +4083,praesentium,in,4083 +4084,quas,corrupti,4084 +4085,sunt,sed,4085 +4086,fuga,illo,4086 +4087,veritatis,vel,4087 +4088,laboriosam,harum,4088 +4089,beatae,commodi,4089 +4090,quisquam,nostrum,4090 +4091,et,placeat,4091 +4092,vitae,unde,4092 +4093,nesciunt,tenetur,4093 +4094,omnis,sint,4094 +4095,facilis,explicabo,4095 +4096,perferendis,magnam,4096 +4097,consectetur,eaque,4097 +4098,cumque,qui,4098 +4099,sit,ut,4099 +4100,non,ea,4100 +4101,est,saepe,4101 +4102,eos,qui,4102 +4103,et,et,4103 +4104,aut,voluptas,4104 +4105,quibusdam,sed,4105 +4106,enim,natus,4106 +4107,voluptate,dolores,4107 +4108,ducimus,omnis,4108 +4109,labore,et,4109 +4110,distinctio,eius,4110 +4111,optio,totam,4111 +4112,nisi,sed,4112 +4113,officiis,expedita,4113 +4114,mollitia,sit,4114 +4115,in,consequatur,4115 +4116,excepturi,nisi,4116 +4117,debitis,dolorem,4117 +4118,natus,doloremque,4118 +4119,assumenda,sit,4119 +4120,laudantium,expedita,4120 +4121,consequatur,voluptatem,4121 +4122,molestias,distinctio,4122 +4123,consequatur,eveniet,4123 +4124,enim,voluptates,4124 +4125,voluptas,quia,4125 +4126,provident,repellat,4126 +4127,id,commodi,4127 +4128,voluptatem,et,4128 +4129,reiciendis,sit,4129 +4130,incidunt,eos,4130 +4131,consequuntur,vero,4131 +4132,explicabo,corporis,4132 +4133,voluptate,voluptatem,4133 +4134,id,ab,4134 +4135,recusandae,nisi,4135 +4136,molestias,at,4136 +4137,fugiat,provident,4137 +4138,tenetur,accusantium,4138 +4139,quis,voluptatem,4139 +4140,hic,quaerat,4140 +4141,illum,earum,4141 +4142,rerum,et,4142 +4143,est,sit,4143 +4144,dolore,corrupti,4144 +4145,nihil,aut,4145 +4146,sint,illum,4146 +4147,sit,distinctio,4147 +4148,laudantium,quo,4148 +4149,et,pariatur,4149 +4150,impedit,quia,4150 +4151,at,debitis,4151 +4152,aut,quas,4152 +4153,nesciunt,soluta,4153 +4154,perspiciatis,et,4154 +4155,est,nostrum,4155 +4156,aliquid,expedita,4156 +4157,qui,tenetur,4157 +4158,distinctio,sint,4158 +4159,tempore,harum,4159 +4160,nulla,laborum,4160 +4161,voluptatem,iusto,4161 +4162,dicta,harum,4162 +4163,molestiae,a,4163 +4164,deserunt,minima,4164 +4165,dolore,animi,4165 +4166,sed,dolores,4166 +4167,aut,aliquid,4167 +4168,eligendi,nostrum,4168 +4169,quia,placeat,4169 +4170,modi,nesciunt,4170 +4171,aut,sed,4171 +4172,in,itaque,4172 +4173,et,amet,4173 +4174,dolores,ex,4174 +4175,modi,reiciendis,4175 +4176,ipsa,dolorem,4176 +4177,non,veritatis,4177 +4178,cum,sunt,4178 +4179,molestias,ut,4179 +4180,nostrum,et,4180 +4181,ab,aut,4181 +4182,nihil,voluptatem,4182 +4183,sequi,optio,4183 +4184,impedit,eum,4184 +4185,ut,aliquid,4185 +4186,ex,mollitia,4186 +4187,reiciendis,tenetur,4187 +4188,rerum,ipsam,4188 +4189,sit,dolor,4189 +4190,quas,aut,4190 +4191,sequi,sit,4191 +4192,consequatur,sequi,4192 +4193,et,minus,4193 +4194,reprehenderit,repellat,4194 +4195,doloremque,est,4195 +4196,qui,modi,4196 +4197,voluptatum,deleniti,4197 +4198,amet,et,4198 +4199,laborum,culpa,4199 +4200,accusamus,nisi,4200 +4201,suscipit,occaecati,4201 +4202,est,laboriosam,4202 +4203,eius,quia,4203 +4204,cupiditate,quasi,4204 +4205,quisquam,dolores,4205 +4206,et,id,4206 +4207,dolorem,et,4207 +4208,unde,ex,4208 +4209,quidem,et,4209 +4210,quibusdam,eligendi,4210 +4211,atque,eligendi,4211 +4212,sed,quam,4212 +4213,dolorem,laudantium,4213 +4214,sit,minima,4214 +4215,saepe,magni,4215 +4216,repudiandae,alias,4216 +4217,sed,qui,4217 +4218,quis,ex,4218 +4219,explicabo,error,4219 +4220,omnis,consectetur,4220 +4221,officiis,magnam,4221 +4222,id,officiis,4222 +4223,porro,enim,4223 +4224,cum,atque,4224 +4225,nobis,asperiores,4225 +4226,minus,repellendus,4226 +4227,et,sint,4227 +4228,id,sint,4228 +4229,ut,enim,4229 +4230,eveniet,tempora,4230 +4231,libero,aut,4231 +4232,assumenda,laudantium,4232 +4233,at,nesciunt,4233 +4234,et,rerum,4234 +4235,asperiores,consequuntur,4235 +4236,soluta,doloribus,4236 +4237,et,et,4237 +4238,natus,rerum,4238 +4239,fugit,occaecati,4239 +4240,dolores,debitis,4240 +4241,numquam,saepe,4241 +4242,et,tenetur,4242 +4243,quod,omnis,4243 +4244,aut,et,4244 +4245,ex,sint,4245 +4246,temporibus,autem,4246 +4247,et,provident,4247 +4248,doloribus,iusto,4248 +4249,ut,facilis,4249 +4250,eum,a,4250 +4251,placeat,et,4251 +4252,rerum,aliquid,4252 +4253,dicta,quibusdam,4253 +4254,explicabo,molestiae,4254 +4255,et,officia,4255 +4256,dolores,provident,4256 +4257,corrupti,aliquid,4257 +4258,consequatur,quia,4258 +4259,itaque,non,4259 +4260,quia,adipisci,4260 +4261,dolorem,dolore,4261 +4262,unde,autem,4262 +4263,vitae,voluptas,4263 +4264,sint,quos,4264 +4265,vel,non,4265 +4266,ullam,corporis,4266 +4267,quam,occaecati,4267 +4268,vel,harum,4268 +4269,sint,quos,4269 +4270,fugit,quia,4270 +4271,qui,illo,4271 +4272,ipsam,deleniti,4272 +4273,omnis,magnam,4273 +4274,delectus,atque,4274 +4275,qui,iste,4275 +4276,voluptates,dolores,4276 +4277,voluptatem,illo,4277 +4278,aspernatur,sapiente,4278 +4279,maiores,fugiat,4279 +4280,qui,molestiae,4280 +4281,consequuntur,ipsum,4281 +4282,quia,modi,4282 +4283,est,eum,4283 +4284,at,aperiam,4284 +4285,culpa,soluta,4285 +4286,nulla,nisi,4286 +4287,quas,accusamus,4287 +4288,provident,id,4288 +4289,rerum,culpa,4289 +4290,autem,odit,4290 +4291,laborum,aspernatur,4291 +4292,unde,tempore,4292 +4293,aut,minus,4293 +4294,quae,eius,4294 +4295,quo,quas,4295 +4296,minus,deserunt,4296 +4297,nisi,et,4297 +4298,consequatur,hic,4298 +4299,earum,et,4299 +4300,vero,consequatur,4300 +4301,libero,et,4301 +4302,est,quia,4302 +4303,suscipit,sed,4303 +4304,rem,qui,4304 +4305,quae,quam,4305 +4306,tempora,eos,4306 +4307,ipsum,iusto,4307 +4308,debitis,qui,4308 +4309,eum,non,4309 +4310,aut,necessitatibus,4310 +4311,occaecati,quo,4311 +4312,atque,quidem,4312 +4313,non,ea,4313 +4314,et,et,4314 +4315,quia,praesentium,4315 +4316,placeat,iusto,4316 +4317,quia,cumque,4317 +4318,laboriosam,nam,4318 +4319,porro,dolorem,4319 +4320,neque,accusantium,4320 +4321,natus,corporis,4321 +4322,non,itaque,4322 +4323,reiciendis,officiis,4323 +4324,ut,ut,4324 +4325,alias,accusamus,4325 +4326,et,nihil,4326 +4327,consectetur,illum,4327 +4328,expedita,ipsa,4328 +4329,repellendus,repellat,4329 +4330,non,maxime,4330 +4331,itaque,ut,4331 +4332,itaque,aut,4332 +4333,velit,at,4333 +4334,quod,harum,4334 +4335,et,aut,4335 +4336,suscipit,et,4336 +4337,omnis,repellat,4337 +4338,est,fugiat,4338 +4339,assumenda,consequatur,4339 +4340,sed,et,4340 +4341,exercitationem,unde,4341 +4342,enim,velit,4342 +4343,sit,iusto,4343 +4344,qui,laudantium,4344 +4345,dolor,voluptas,4345 +4346,cupiditate,et,4346 +4347,et,nisi,4347 +4348,labore,doloribus,4348 +4349,rerum,molestiae,4349 +4350,qui,qui,4350 +4351,ut,minima,4351 +4352,et,dolorem,4352 +4353,sit,ut,4353 +4354,fugiat,veritatis,4354 +4355,inventore,rem,4355 +4356,iure,voluptatem,4356 +4357,illo,sint,4357 +4358,magnam,recusandae,4358 +4359,qui,et,4359 +4360,fuga,a,4360 +4361,voluptates,aliquid,4361 +4362,nihil,similique,4362 +4363,ut,cumque,4363 +4364,corrupti,omnis,4364 +4365,harum,iure,4365 +4366,recusandae,saepe,4366 +4367,sint,magni,4367 +4368,nemo,voluptatem,4368 +4369,enim,necessitatibus,4369 +4370,et,aut,4370 +4371,sapiente,ducimus,4371 +4372,voluptas,cumque,4372 +4373,perspiciatis,neque,4373 +4374,quasi,nobis,4374 +4375,sit,debitis,4375 +4376,rerum,cupiditate,4376 +4377,quas,fuga,4377 +4378,iste,voluptatem,4378 +4379,rerum,voluptas,4379 +4380,temporibus,quis,4380 +4381,minima,ratione,4381 +4382,dolores,eveniet,4382 +4383,reiciendis,dolor,4383 +4384,repudiandae,quas,4384 +4385,beatae,odio,4385 +4386,ut,ad,4386 +4387,autem,doloribus,4387 +4388,dolor,ut,4388 +4389,rem,in,4389 +4390,natus,ut,4390 +4391,amet,enim,4391 +4392,sit,ut,4392 +4393,aut,quia,4393 +4394,id,enim,4394 +4395,tempore,optio,4395 +4396,ut,in,4396 +4397,sed,ratione,4397 +4398,quo,laborum,4398 +4399,suscipit,totam,4399 +4400,ad,dignissimos,4400 +4401,consequatur,et,4401 +4402,laudantium,non,4402 +4403,soluta,atque,4403 +4404,cum,esse,4404 +4405,ad,fuga,4405 +4406,dolor,sint,4406 +4407,et,sunt,4407 +4408,earum,atque,4408 +4409,fugit,exercitationem,4409 +4410,aut,praesentium,4410 +4411,neque,natus,4411 +4412,nemo,ea,4412 +4413,autem,fuga,4413 +4414,autem,fugit,4414 +4415,eaque,vel,4415 +4416,eum,optio,4416 +4417,sit,ut,4417 +4418,ea,earum,4418 +4419,voluptatum,facilis,4419 +4420,sit,ut,4420 +4421,vitae,assumenda,4421 +4422,voluptate,est,4422 +4423,at,sed,4423 +4424,eligendi,libero,4424 +4425,quia,natus,4425 +4426,laudantium,non,4426 +4427,minus,sequi,4427 +4428,facilis,ratione,4428 +4429,quis,quasi,4429 +4430,sunt,porro,4430 +4431,accusantium,magni,4431 +4432,quibusdam,sunt,4432 +4433,cupiditate,quo,4433 +4434,accusamus,nostrum,4434 +4435,praesentium,facilis,4435 +4436,debitis,tempora,4436 +4437,consectetur,ut,4437 +4438,temporibus,saepe,4438 +4439,minus,nobis,4439 +4440,qui,deserunt,4440 +4441,exercitationem,in,4441 +4442,quibusdam,maiores,4442 +4443,odit,ullam,4443 +4444,id,omnis,4444 +4445,suscipit,voluptatem,4445 +4446,perferendis,consequatur,4446 +4447,et,similique,4447 +4448,nemo,ipsum,4448 +4449,vel,occaecati,4449 +4450,ut,ratione,4450 +4451,modi,enim,4451 +4452,esse,placeat,4452 +4453,autem,soluta,4453 +4454,consequatur,perferendis,4454 +4455,qui,rerum,4455 +4456,soluta,quaerat,4456 +4457,sint,id,4457 +4458,aut,dignissimos,4458 +4459,ipsa,facilis,4459 +4460,nulla,numquam,4460 +4461,enim,et,4461 +4462,similique,laudantium,4462 +4463,voluptas,facere,4463 +4464,magni,sed,4464 +4465,temporibus,quia,4465 +4466,aut,esse,4466 +4467,possimus,molestiae,4467 +4468,assumenda,corporis,4468 +4469,minus,sunt,4469 +4470,dolores,dolores,4470 +4471,excepturi,consequuntur,4471 +4472,enim,consectetur,4472 +4473,incidunt,cum,4473 +4474,distinctio,aliquid,4474 +4475,mollitia,sed,4475 +4476,voluptas,et,4476 +4477,provident,ad,4477 +4478,eligendi,quia,4478 +4479,provident,aperiam,4479 +4480,quia,vitae,4480 +4481,nemo,et,4481 +4482,dolor,a,4482 +4483,labore,totam,4483 +4484,eveniet,quod,4484 +4485,id,omnis,4485 +4486,et,esse,4486 +4487,non,quo,4487 +4488,aliquam,accusamus,4488 +4489,qui,eveniet,4489 +4490,consequatur,temporibus,4490 +4491,distinctio,natus,4491 +4492,aliquam,non,4492 +4493,pariatur,minima,4493 +4494,magnam,nihil,4494 +4495,corrupti,voluptas,4495 +4496,eum,voluptas,4496 +4497,sed,dicta,4497 +4498,quis,sequi,4498 +4499,voluptas,exercitationem,4499 +4500,neque,qui,4500 +4501,eum,consequatur,4501 +4502,ut,perferendis,4502 +4503,quaerat,dolorum,4503 +4504,soluta,officiis,4504 +4505,porro,ea,4505 +4506,itaque,laboriosam,4506 +4507,autem,aliquid,4507 +4508,odio,aut,4508 +4509,blanditiis,illum,4509 +4510,non,tempore,4510 +4511,error,itaque,4511 +4512,maxime,et,4512 +4513,eaque,fugiat,4513 +4514,esse,debitis,4514 +4515,sed,aut,4515 +4516,velit,qui,4516 +4517,molestias,inventore,4517 +4518,ipsa,libero,4518 +4519,velit,tempora,4519 +4520,recusandae,error,4520 +4521,qui,eos,4521 +4522,amet,ipsa,4522 +4523,voluptas,neque,4523 +4524,rerum,voluptatem,4524 +4525,enim,laboriosam,4525 +4526,laboriosam,in,4526 +4527,rerum,rerum,4527 +4528,minima,nulla,4528 +4529,earum,labore,4529 +4530,molestiae,non,4530 +4531,et,ipsam,4531 +4532,molestias,eum,4532 +4533,nemo,voluptatem,4533 +4534,similique,consequatur,4534 +4535,omnis,ab,4535 +4536,nisi,aut,4536 +4537,molestias,ipsam,4537 +4538,eligendi,quo,4538 +4539,voluptatem,ut,4539 +4540,ut,sit,4540 +4541,et,possimus,4541 +4542,sint,delectus,4542 +4543,consequatur,aut,4543 +4544,nisi,optio,4544 +4545,nam,sit,4545 +4546,iusto,est,4546 +4547,earum,nostrum,4547 +4548,nihil,quam,4548 +4549,consectetur,dignissimos,4549 +4550,et,et,4550 +4551,quia,corporis,4551 +4552,molestiae,sequi,4552 +4553,voluptas,est,4553 +4554,impedit,dolor,4554 +4555,vel,commodi,4555 +4556,dolores,explicabo,4556 +4557,dolores,amet,4557 +4558,asperiores,culpa,4558 +4559,ullam,necessitatibus,4559 +4560,voluptatem,quam,4560 +4561,asperiores,exercitationem,4561 +4562,et,vel,4562 +4563,omnis,expedita,4563 +4564,doloremque,dignissimos,4564 +4565,recusandae,quia,4565 +4566,tempore,eum,4566 +4567,voluptas,officiis,4567 +4568,impedit,suscipit,4568 +4569,sed,facilis,4569 +4570,aut,aliquam,4570 +4571,eos,omnis,4571 +4572,possimus,rerum,4572 +4573,consequatur,mollitia,4573 +4574,voluptas,tempore,4574 +4575,pariatur,sapiente,4575 +4576,deleniti,veritatis,4576 +4577,sunt,id,4577 +4578,ad,et,4578 +4579,quod,quod,4579 +4580,minus,beatae,4580 +4581,est,aut,4581 +4582,maiores,et,4582 +4583,eius,laboriosam,4583 +4584,consectetur,temporibus,4584 +4585,unde,omnis,4585 +4586,possimus,aut,4586 +4587,quos,animi,4587 +4588,in,quae,4588 +4589,quia,qui,4589 +4590,tempore,possimus,4590 +4591,aliquam,praesentium,4591 +4592,est,non,4592 +4593,minus,fuga,4593 +4594,vel,fuga,4594 +4595,et,enim,4595 +4596,beatae,magni,4596 +4597,nisi,voluptatem,4597 +4598,et,nemo,4598 +4599,qui,minima,4599 +4600,facilis,non,4600 +4601,fugiat,non,4601 +4602,non,sint,4602 +4603,maxime,est,4603 +4604,porro,qui,4604 +4605,unde,modi,4605 +4606,inventore,consectetur,4606 +4607,est,qui,4607 +4608,illum,sit,4608 +4609,illo,ea,4609 +4610,corrupti,est,4610 +4611,et,est,4611 +4612,porro,distinctio,4612 +4613,qui,autem,4613 +4614,sunt,delectus,4614 +4615,similique,quos,4615 +4616,molestiae,nihil,4616 +4617,qui,maxime,4617 +4618,quas,libero,4618 +4619,voluptate,id,4619 +4620,libero,modi,4620 +4621,voluptas,qui,4621 +4622,architecto,minus,4622 +4623,itaque,reiciendis,4623 +4624,rerum,praesentium,4624 +4625,temporibus,est,4625 +4626,blanditiis,est,4626 +4627,accusamus,inventore,4627 +4628,aperiam,voluptatibus,4628 +4629,sunt,minima,4629 +4630,ipsam,id,4630 +4631,aut,pariatur,4631 +4632,at,itaque,4632 +4633,nihil,fugit,4633 +4634,vero,sed,4634 +4635,eaque,non,4635 +4636,assumenda,veritatis,4636 +4637,ipsam,eum,4637 +4638,dolorem,sed,4638 +4639,esse,tempora,4639 +4640,doloremque,odit,4640 +4641,sit,ipsam,4641 +4642,a,qui,4642 +4643,reprehenderit,dolore,4643 +4644,labore,necessitatibus,4644 +4645,velit,quia,4645 +4646,vitae,dignissimos,4646 +4647,incidunt,eaque,4647 +4648,ab,commodi,4648 +4649,perspiciatis,itaque,4649 +4650,ullam,voluptas,4650 +4651,qui,sit,4651 +4652,ducimus,rerum,4652 +4653,voluptas,voluptates,4653 +4654,eos,animi,4654 +4655,assumenda,deleniti,4655 +4656,repellat,sunt,4656 +4657,voluptate,illo,4657 +4658,est,similique,4658 +4659,vel,corporis,4659 +4660,pariatur,dicta,4660 +4661,sapiente,quisquam,4661 +4662,aut,quibusdam,4662 +4663,molestiae,in,4663 +4664,eligendi,ea,4664 +4665,tenetur,corrupti,4665 +4666,itaque,quia,4666 +4667,sed,facere,4667 +4668,occaecati,excepturi,4668 +4669,et,veritatis,4669 +4670,veniam,repudiandae,4670 +4671,itaque,nobis,4671 +4672,iusto,qui,4672 +4673,suscipit,voluptate,4673 +4674,sit,beatae,4674 +4675,commodi,nobis,4675 +4676,qui,voluptas,4676 +4677,enim,fugiat,4677 +4678,quod,dolor,4678 +4679,accusamus,et,4679 +4680,veniam,ut,4680 +4681,necessitatibus,consequatur,4681 +4682,vitae,magni,4682 +4683,velit,odit,4683 +4684,debitis,accusamus,4684 +4685,perferendis,eum,4685 +4686,ipsam,repellat,4686 +4687,hic,voluptatem,4687 +4688,est,rerum,4688 +4689,sequi,sit,4689 +4690,sit,qui,4690 +4691,ullam,animi,4691 +4692,voluptatibus,ipsum,4692 +4693,voluptatem,nam,4693 +4694,aliquam,iste,4694 +4695,ipsam,enim,4695 +4696,neque,reiciendis,4696 +4697,ut,et,4697 +4698,voluptatem,aut,4698 +4699,maiores,accusantium,4699 +4700,pariatur,dolor,4700 +4701,doloribus,voluptatum,4701 +4702,architecto,perspiciatis,4702 +4703,officia,ad,4703 +4704,voluptas,quod,4704 +4705,dolor,esse,4705 +4706,omnis,at,4706 +4707,esse,accusantium,4707 +4708,atque,tempora,4708 +4709,a,dicta,4709 +4710,maiores,et,4710 +4711,sed,rerum,4711 +4712,explicabo,dolorem,4712 +4713,vel,ipsum,4713 +4714,omnis,est,4714 +4715,dolorum,aut,4715 +4716,animi,repellat,4716 +4717,cumque,veniam,4717 +4718,cumque,dolorum,4718 +4719,animi,placeat,4719 +4720,cupiditate,vel,4720 +4721,eius,deleniti,4721 +4722,nostrum,est,4722 +4723,nemo,quam,4723 +4724,odio,doloribus,4724 +4725,odio,reiciendis,4725 +4726,nulla,non,4726 +4727,temporibus,vel,4727 +4728,veritatis,dicta,4728 +4729,maiores,error,4729 +4730,est,officia,4730 +4731,omnis,magnam,4731 +4732,laborum,repellendus,4732 +4733,expedita,est,4733 +4734,aut,quaerat,4734 +4735,ut,quia,4735 +4736,esse,sunt,4736 +4737,accusamus,consequatur,4737 +4738,magnam,eum,4738 +4739,qui,asperiores,4739 +4740,amet,temporibus,4740 +4741,veniam,illo,4741 +4742,culpa,delectus,4742 +4743,occaecati,maiores,4743 +4744,necessitatibus,consequatur,4744 +4745,inventore,ad,4745 +4746,qui,voluptatem,4746 +4747,earum,ipsam,4747 +4748,eveniet,rerum,4748 +4749,minima,error,4749 +4750,aliquam,dicta,4750 +4751,necessitatibus,et,4751 +4752,earum,sed,4752 +4753,veritatis,et,4753 +4754,tempora,rerum,4754 +4755,consequatur,nostrum,4755 +4756,fugiat,officiis,4756 +4757,explicabo,ea,4757 +4758,odio,alias,4758 +4759,nam,distinctio,4759 +4760,et,animi,4760 +4761,est,non,4761 +4762,quae,numquam,4762 +4763,et,velit,4763 +4764,deserunt,ut,4764 +4765,quia,minus,4765 +4766,nihil,voluptas,4766 +4767,nulla,voluptatem,4767 +4768,possimus,quis,4768 +4769,unde,nam,4769 +4770,sed,qui,4770 +4771,omnis,recusandae,4771 +4772,dolorem,id,4772 +4773,laborum,minima,4773 +4774,aut,rem,4774 +4775,dolores,pariatur,4775 +4776,officiis,atque,4776 +4777,quia,esse,4777 +4778,ex,asperiores,4778 +4779,et,magni,4779 +4780,omnis,aut,4780 +4781,sunt,et,4781 +4782,eveniet,minima,4782 +4783,tenetur,ea,4783 +4784,similique,debitis,4784 +4785,aut,sed,4785 +4786,occaecati,unde,4786 +4787,similique,officiis,4787 +4788,possimus,repudiandae,4788 +4789,consequuntur,ducimus,4789 +4790,impedit,consectetur,4790 +4791,sunt,eum,4791 +4792,similique,eaque,4792 +4793,distinctio,ea,4793 +4794,numquam,atque,4794 +4795,dolor,et,4795 +4796,molestias,eos,4796 +4797,distinctio,quidem,4797 +4798,et,similique,4798 +4799,officia,occaecati,4799 +4800,sit,qui,4800 +4801,nam,vero,4801 +4802,dolore,laborum,4802 +4803,dolorum,id,4803 +4804,id,et,4804 +4805,quos,non,4805 +4806,esse,nesciunt,4806 +4807,omnis,maxime,4807 +4808,est,ullam,4808 +4809,praesentium,repellendus,4809 +4810,et,reprehenderit,4810 +4811,hic,veniam,4811 +4812,non,voluptas,4812 +4813,omnis,adipisci,4813 +4814,totam,nihil,4814 +4815,sunt,ut,4815 +4816,numquam,est,4816 +4817,repellat,occaecati,4817 +4818,doloribus,natus,4818 +4819,delectus,sapiente,4819 +4820,minima,nostrum,4820 +4821,molestias,sequi,4821 +4822,eum,odio,4822 +4823,id,aut,4823 +4824,porro,non,4824 +4825,nihil,et,4825 +4826,quisquam,esse,4826 +4827,ea,facilis,4827 +4828,tempora,suscipit,4828 +4829,ut,aspernatur,4829 +4830,unde,quia,4830 +4831,quae,at,4831 +4832,error,voluptas,4832 +4833,aut,eum,4833 +4834,quia,aut,4834 +4835,incidunt,sed,4835 +4836,quasi,qui,4836 +4837,minima,beatae,4837 +4838,perferendis,veniam,4838 +4839,quaerat,cupiditate,4839 +4840,quisquam,quia,4840 +4841,nam,dicta,4841 +4842,et,nam,4842 +4843,perspiciatis,ullam,4843 +4844,aspernatur,dolores,4844 +4845,esse,autem,4845 +4846,sit,minima,4846 +4847,quasi,vitae,4847 +4848,et,non,4848 +4849,pariatur,doloribus,4849 +4850,eum,aperiam,4850 +4851,velit,a,4851 +4852,et,vitae,4852 +4853,aut,culpa,4853 +4854,quaerat,doloribus,4854 +4855,quia,eos,4855 +4856,eligendi,quam,4856 +4857,doloribus,ipsam,4857 +4858,quaerat,nisi,4858 +4859,laudantium,qui,4859 +4860,eum,quisquam,4860 +4861,voluptas,et,4861 +4862,animi,quis,4862 +4863,suscipit,nemo,4863 +4864,ab,cupiditate,4864 +4865,corporis,et,4865 +4866,odit,amet,4866 +4867,sed,qui,4867 +4868,voluptatibus,placeat,4868 +4869,cumque,temporibus,4869 +4870,dolor,quos,4870 +4871,eum,nemo,4871 +4872,inventore,architecto,4872 +4873,molestias,nemo,4873 +4874,incidunt,earum,4874 +4875,consequatur,aut,4875 +4876,ut,non,4876 +4877,facere,aut,4877 +4878,cumque,soluta,4878 +4879,nisi,fugiat,4879 +4880,corporis,perspiciatis,4880 +4881,ut,voluptatem,4881 +4882,reprehenderit,vitae,4882 +4883,et,qui,4883 +4884,fugiat,est,4884 +4885,laudantium,aliquid,4885 +4886,sunt,facilis,4886 +4887,voluptate,ut,4887 +4888,aut,omnis,4888 +4889,aliquam,eos,4889 +4890,maxime,quidem,4890 +4891,sapiente,qui,4891 +4892,inventore,porro,4892 +4893,rerum,labore,4893 +4894,odit,repudiandae,4894 +4895,aut,laudantium,4895 +4896,suscipit,inventore,4896 +4897,ad,ratione,4897 +4898,maiores,esse,4898 +4899,qui,a,4899 +4900,rem,accusantium,4900 +4901,id,est,4901 +4902,dolorem,aperiam,4902 +4903,tempora,vel,4903 +4904,aliquam,aperiam,4904 +4905,omnis,amet,4905 +4906,reiciendis,quam,4906 +4907,ex,eos,4907 +4908,autem,ad,4908 +4909,corrupti,magnam,4909 +4910,cupiditate,aspernatur,4910 +4911,cupiditate,consequatur,4911 +4912,sint,dicta,4912 +4913,fugiat,saepe,4913 +4914,perspiciatis,quia,4914 +4915,aut,expedita,4915 +4916,et,et,4916 +4917,vel,sunt,4917 +4918,iste,illum,4918 +4919,exercitationem,omnis,4919 +4920,quas,voluptatem,4920 +4921,perspiciatis,velit,4921 +4922,iure,quo,4922 +4923,unde,eum,4923 +4924,vero,maiores,4924 +4925,a,quis,4925 +4926,labore,sapiente,4926 +4927,vel,expedita,4927 +4928,qui,qui,4928 +4929,qui,eius,4929 +4930,exercitationem,non,4930 +4931,nam,ut,4931 +4932,qui,nihil,4932 +4933,et,esse,4933 +4934,incidunt,saepe,4934 +4935,et,nihil,4935 +4936,quos,culpa,4936 +4937,repudiandae,quo,4937 +4938,voluptatibus,autem,4938 +4939,dolores,voluptatem,4939 +4940,sed,labore,4940 +4941,quaerat,deserunt,4941 +4942,et,nostrum,4942 +4943,officiis,architecto,4943 +4944,laboriosam,nesciunt,4944 +4945,ducimus,distinctio,4945 +4946,repellendus,saepe,4946 +4947,aut,fugit,4947 +4948,architecto,iste,4948 +4949,porro,illum,4949 +4950,pariatur,qui,4950 +4951,ea,nam,4951 +4952,voluptas,est,4952 +4953,nostrum,error,4953 +4954,delectus,suscipit,4954 +4955,consectetur,error,4955 +4956,repellat,velit,4956 +4957,aliquid,ut,4957 +4958,pariatur,maxime,4958 +4959,ut,ea,4959 +4960,facilis,non,4960 +4961,in,iusto,4961 +4962,ipsa,est,4962 +4963,repellendus,distinctio,4963 +4964,nobis,eos,4964 +4965,laborum,voluptatibus,4965 +4966,tempore,ut,4966 +4967,ea,vel,4967 +4968,consequatur,doloribus,4968 +4969,aliquam,officiis,4969 +4970,ipsum,a,4970 +4971,iusto,soluta,4971 +4972,sunt,facilis,4972 +4973,nobis,veritatis,4973 +4974,qui,minima,4974 +4975,dolorem,sint,4975 +4976,mollitia,tenetur,4976 +4977,aut,atque,4977 +4978,ducimus,optio,4978 +4979,ipsa,voluptas,4979 +4980,blanditiis,voluptatem,4980 +4981,error,porro,4981 +4982,sequi,nam,4982 +4983,omnis,possimus,4983 +4984,sit,inventore,4984 +4985,quisquam,suscipit,4985 +4986,voluptatum,id,4986 +4987,voluptatibus,dolores,4987 +4988,nesciunt,et,4988 +4989,fuga,quos,4989 +4990,sed,veniam,4990 +4991,est,maiores,4991 +4992,ut,autem,4992 +4993,quia,voluptatem,4993 +4994,et,dolores,4994 +4995,nisi,voluptatibus,4995 +4996,quae,nostrum,4996 +4997,accusantium,animi,4997 +4998,animi,veniam,4998 +4999,velit,sed,4999 +5000,reprehenderit,eos,5000 diff --git a/Java-Executor/java-executor-tutorial/data/customer-data - Copy (9).txt b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (9).txt new file mode 100644 index 0000000..d36e8c7 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/data/customer-data - Copy (9).txt @@ -0,0 +1,5000 @@ +1,omnis,adipisci,1 +2,ullam,ratione,2 +3,iusto,laborum,3 +4,animi,porro,4 +5,est,quod,5 +6,nemo,consequatur,6 +7,inventore,harum,7 +8,quidem,sed,8 +9,nostrum,distinctio,9 +10,est,sint,10 +11,fugiat,facilis,11 +12,architecto,molestiae,12 +13,qui,perspiciatis,13 +14,rerum,omnis,14 +15,rerum,quia,15 +16,non,sunt,16 +17,beatae,illo,17 +18,modi,quia,18 +19,aut,harum,19 +20,ratione,est,20 +21,molestias,aliquid,21 +22,autem,qui,22 +23,consectetur,eos,23 +24,omnis,dolorem,24 +25,consequatur,nam,25 +26,quis,suscipit,26 +27,nihil,et,27 +28,rerum,qui,28 +29,occaecati,eligendi,29 +30,exercitationem,voluptas,30 +31,suscipit,quibusdam,31 +32,blanditiis,qui,32 +33,quo,reiciendis,33 +34,quo,nesciunt,34 +35,aut,aut,35 +36,harum,est,36 +37,voluptas,est,37 +38,beatae,animi,38 +39,aut,a,39 +40,ut,sint,40 +41,voluptatem,non,41 +42,et,in,42 +43,officiis,rerum,43 +44,doloremque,in,44 +45,officiis,corporis,45 +46,sed,quia,46 +47,consequatur,qui,47 +48,quia,voluptates,48 +49,minima,omnis,49 +50,quasi,qui,50 +51,suscipit,incidunt,51 +52,ad,doloribus,52 +53,voluptate,accusantium,53 +54,praesentium,eveniet,54 +55,accusamus,at,55 +56,nihil,sed,56 +57,qui,iusto,57 +58,consequuntur,dolores,58 +59,occaecati,reprehenderit,59 +60,totam,quia,60 +61,qui,facilis,61 +62,quia,delectus,62 +63,sit,ab,63 +64,quo,iure,64 +65,rem,quis,65 +66,unde,sint,66 +67,nulla,eligendi,67 +68,in,itaque,68 +69,et,sed,69 +70,ullam,quia,70 +71,dolores,similique,71 +72,praesentium,reprehenderit,72 +73,officiis,occaecati,73 +74,eos,enim,74 +75,odit,aliquam,75 +76,modi,et,76 +77,architecto,non,77 +78,hic,dolor,78 +79,rerum,rerum,79 +80,nihil,laudantium,80 +81,quidem,beatae,81 +82,sint,repellendus,82 +83,nobis,aut,83 +84,ut,beatae,84 +85,molestiae,at,85 +86,dolor,voluptatem,86 +87,voluptates,aut,87 +88,fuga,laborum,88 +89,voluptas,dicta,89 +90,cum,temporibus,90 +91,nesciunt,rerum,91 +92,est,tempora,92 +93,ratione,ducimus,93 +94,eum,aut,94 +95,neque,quae,95 +96,dolore,sunt,96 +97,voluptas,quibusdam,97 +98,omnis,temporibus,98 +99,ipsa,delectus,99 +100,non,illum,100 +101,consequuntur,et,101 +102,non,eum,102 +103,enim,unde,103 +104,itaque,provident,104 +105,quod,nesciunt,105 +106,sed,non,106 +107,commodi,qui,107 +108,odio,soluta,108 +109,inventore,assumenda,109 +110,officia,in,110 +111,quis,dolorem,111 +112,harum,sed,112 +113,autem,reprehenderit,113 +114,consequatur,aut,114 +115,ab,sed,115 +116,porro,aut,116 +117,ut,ratione,117 +118,asperiores,dicta,118 +119,illum,enim,119 +120,possimus,quae,120 +121,quidem,repudiandae,121 +122,porro,quis,122 +123,molestiae,et,123 +124,cupiditate,pariatur,124 +125,nemo,quos,125 +126,praesentium,aut,126 +127,vel,illo,127 +128,molestias,cupiditate,128 +129,quis,sequi,129 +130,autem,nesciunt,130 +131,non,voluptas,131 +132,architecto,odit,132 +133,eum,pariatur,133 +134,necessitatibus,reprehenderit,134 +135,ea,eos,135 +136,omnis,sed,136 +137,nostrum,tempore,137 +138,doloremque,placeat,138 +139,alias,dolorem,139 +140,recusandae,et,140 +141,earum,perspiciatis,141 +142,est,magnam,142 +143,deleniti,magnam,143 +144,aut,numquam,144 +145,rerum,nemo,145 +146,delectus,mollitia,146 +147,alias,porro,147 +148,occaecati,mollitia,148 +149,recusandae,quisquam,149 +150,molestias,laborum,150 +151,tenetur,amet,151 +152,consequatur,ipsum,152 +153,minima,rerum,153 +154,natus,ullam,154 +155,ex,est,155 +156,dignissimos,voluptatem,156 +157,et,doloribus,157 +158,adipisci,dolor,158 +159,qui,optio,159 +160,veniam,soluta,160 +161,saepe,nobis,161 +162,facere,voluptas,162 +163,accusantium,ea,163 +164,reiciendis,porro,164 +165,quos,libero,165 +166,facere,debitis,166 +167,ab,accusamus,167 +168,beatae,suscipit,168 +169,atque,atque,169 +170,quod,ipsa,170 +171,hic,aut,171 +172,quas,delectus,172 +173,illum,vel,173 +174,odit,quia,174 +175,et,eum,175 +176,sunt,ipsa,176 +177,atque,voluptate,177 +178,autem,porro,178 +179,quis,nostrum,179 +180,natus,sint,180 +181,corrupti,sed,181 +182,exercitationem,dolorum,182 +183,et,dolores,183 +184,nisi,esse,184 +185,accusamus,ut,185 +186,quae,ratione,186 +187,tempora,ut,187 +188,et,magnam,188 +189,doloremque,et,189 +190,vel,sit,190 +191,tempora,dolore,191 +192,tempore,suscipit,192 +193,exercitationem,alias,193 +194,magnam,similique,194 +195,ipsum,velit,195 +196,eos,consequatur,196 +197,vel,esse,197 +198,sed,placeat,198 +199,at,omnis,199 +200,amet,veritatis,200 +201,quod,cupiditate,201 +202,non,quo,202 +203,corporis,dignissimos,203 +204,autem,quis,204 +205,repellat,aut,205 +206,rerum,aut,206 +207,reiciendis,quia,207 +208,et,eligendi,208 +209,id,quia,209 +210,repudiandae,dolores,210 +211,fugit,similique,211 +212,placeat,iste,212 +213,delectus,commodi,213 +214,et,illum,214 +215,totam,in,215 +216,iure,qui,216 +217,dicta,voluptas,217 +218,qui,expedita,218 +219,facilis,ut,219 +220,omnis,consequatur,220 +221,praesentium,ea,221 +222,repellendus,rerum,222 +223,odit,voluptatum,223 +224,maiores,voluptas,224 +225,quo,ut,225 +226,voluptas,impedit,226 +227,explicabo,dolorem,227 +228,tempora,quidem,228 +229,id,a,229 +230,qui,suscipit,230 +231,officiis,omnis,231 +232,ipsam,odit,232 +233,totam,omnis,233 +234,molestiae,in,234 +235,blanditiis,dolorem,235 +236,a,pariatur,236 +237,doloribus,impedit,237 +238,non,ullam,238 +239,quis,error,239 +240,sapiente,omnis,240 +241,molestias,sit,241 +242,dolores,natus,242 +243,recusandae,cumque,243 +244,odit,est,244 +245,sed,voluptas,245 +246,molestiae,et,246 +247,molestiae,vero,247 +248,quo,laudantium,248 +249,similique,cum,249 +250,dolor,modi,250 +251,voluptas,officia,251 +252,amet,eum,252 +253,impedit,est,253 +254,culpa,eveniet,254 +255,quia,occaecati,255 +256,perferendis,animi,256 +257,ut,et,257 +258,atque,et,258 +259,et,voluptatum,259 +260,reprehenderit,unde,260 +261,facilis,qui,261 +262,sequi,hic,262 +263,natus,molestias,263 +264,et,blanditiis,264 +265,sed,dolor,265 +266,et,sint,266 +267,illo,consequuntur,267 +268,totam,eos,268 +269,magnam,ea,269 +270,facere,ut,270 +271,accusantium,et,271 +272,temporibus,rem,272 +273,debitis,rerum,273 +274,et,facilis,274 +275,quia,quia,275 +276,voluptatem,eum,276 +277,exercitationem,alias,277 +278,ullam,quod,278 +279,iusto,quis,279 +280,quis,quo,280 +281,fuga,modi,281 +282,placeat,fugiat,282 +283,quidem,sunt,283 +284,ut,veritatis,284 +285,nihil,et,285 +286,qui,enim,286 +287,et,sint,287 +288,repellat,dolorem,288 +289,quia,aut,289 +290,magnam,doloremque,290 +291,accusamus,explicabo,291 +292,aut,dolor,292 +293,harum,exercitationem,293 +294,earum,sed,294 +295,repellat,vel,295 +296,laudantium,molestiae,296 +297,deserunt,omnis,297 +298,nesciunt,dolor,298 +299,repudiandae,corrupti,299 +300,nesciunt,est,300 +301,delectus,voluptas,301 +302,ut,cum,302 +303,et,rem,303 +304,doloremque,illo,304 +305,dignissimos,omnis,305 +306,nisi,in,306 +307,facilis,quo,307 +308,enim,est,308 +309,veritatis,veniam,309 +310,modi,dolore,310 +311,amet,quasi,311 +312,quibusdam,et,312 +313,nulla,occaecati,313 +314,eum,doloribus,314 +315,doloribus,labore,315 +316,numquam,repudiandae,316 +317,porro,nobis,317 +318,quia,rem,318 +319,sit,eum,319 +320,aliquid,consequatur,320 +321,officia,qui,321 +322,consequuntur,itaque,322 +323,et,vel,323 +324,ea,et,324 +325,omnis,voluptatum,325 +326,quia,id,326 +327,quos,et,327 +328,nobis,ut,328 +329,voluptas,unde,329 +330,et,voluptate,330 +331,ratione,dolor,331 +332,sed,ducimus,332 +333,dolorem,nostrum,333 +334,sint,laboriosam,334 +335,aspernatur,at,335 +336,officia,sed,336 +337,et,molestias,337 +338,facilis,ad,338 +339,et,neque,339 +340,quas,provident,340 +341,animi,quos,341 +342,tenetur,repellat,342 +343,dolores,esse,343 +344,porro,dolorem,344 +345,voluptatum,minima,345 +346,reprehenderit,voluptatem,346 +347,et,ut,347 +348,id,et,348 +349,aliquid,animi,349 +350,odio,minima,350 +351,cum,quae,351 +352,adipisci,eligendi,352 +353,qui,modi,353 +354,autem,vel,354 +355,temporibus,recusandae,355 +356,aut,assumenda,356 +357,et,consequuntur,357 +358,quas,molestias,358 +359,voluptates,dolores,359 +360,deserunt,ut,360 +361,est,incidunt,361 +362,accusamus,sed,362 +363,ut,commodi,363 +364,qui,vitae,364 +365,rerum,beatae,365 +366,perspiciatis,ipsa,366 +367,dolorem,esse,367 +368,asperiores,aut,368 +369,unde,saepe,369 +370,qui,labore,370 +371,natus,corporis,371 +372,ipsum,consequatur,372 +373,est,quos,373 +374,mollitia,aperiam,374 +375,non,dolorum,375 +376,tenetur,est,376 +377,aut,ut,377 +378,aut,neque,378 +379,accusantium,ex,379 +380,vel,impedit,380 +381,blanditiis,ea,381 +382,sint,debitis,382 +383,earum,velit,383 +384,et,tenetur,384 +385,omnis,ipsa,385 +386,magnam,ipsum,386 +387,sint,ipsam,387 +388,sit,aut,388 +389,aliquam,consequuntur,389 +390,ut,hic,390 +391,dolorem,nihil,391 +392,minima,sint,392 +393,soluta,rerum,393 +394,adipisci,perspiciatis,394 +395,et,qui,395 +396,in,voluptas,396 +397,est,nobis,397 +398,dolore,eum,398 +399,veniam,dolores,399 +400,et,eos,400 +401,earum,dolorem,401 +402,repellendus,id,402 +403,dolor,esse,403 +404,inventore,doloremque,404 +405,quas,soluta,405 +406,fuga,consectetur,406 +407,dignissimos,in,407 +408,consectetur,dolores,408 +409,non,autem,409 +410,modi,cumque,410 +411,cum,totam,411 +412,quam,ipsam,412 +413,ipsum,soluta,413 +414,expedita,consectetur,414 +415,quo,voluptatibus,415 +416,autem,quas,416 +417,et,cum,417 +418,unde,et,418 +419,alias,perferendis,419 +420,qui,praesentium,420 +421,vel,dolor,421 +422,provident,pariatur,422 +423,est,omnis,423 +424,quaerat,adipisci,424 +425,quo,beatae,425 +426,dolor,omnis,426 +427,aut,velit,427 +428,possimus,animi,428 +429,quis,maiores,429 +430,libero,et,430 +431,in,quis,431 +432,id,dignissimos,432 +433,officiis,similique,433 +434,asperiores,est,434 +435,et,nulla,435 +436,autem,veritatis,436 +437,et,eum,437 +438,et,at,438 +439,ipsam,sed,439 +440,quis,aut,440 +441,est,non,441 +442,exercitationem,corrupti,442 +443,repellendus,et,443 +444,deserunt,quibusdam,444 +445,est,sit,445 +446,veritatis,ab,446 +447,impedit,illum,447 +448,eos,aut,448 +449,atque,sequi,449 +450,eaque,cum,450 +451,aut,minima,451 +452,nostrum,animi,452 +453,quos,dignissimos,453 +454,perspiciatis,nostrum,454 +455,in,dolor,455 +456,aut,aperiam,456 +457,quia,autem,457 +458,non,reprehenderit,458 +459,nisi,minus,459 +460,libero,ratione,460 +461,dicta,sequi,461 +462,dolorum,enim,462 +463,dicta,quia,463 +464,non,itaque,464 +465,eum,accusantium,465 +466,ut,atque,466 +467,quibusdam,sit,467 +468,quidem,quo,468 +469,animi,et,469 +470,mollitia,commodi,470 +471,repudiandae,tempore,471 +472,non,exercitationem,472 +473,cum,quia,473 +474,sed,reprehenderit,474 +475,ducimus,sunt,475 +476,dignissimos,neque,476 +477,doloribus,eos,477 +478,perferendis,itaque,478 +479,sit,blanditiis,479 +480,earum,repellendus,480 +481,aut,et,481 +482,qui,assumenda,482 +483,ut,sunt,483 +484,aut,id,484 +485,ut,qui,485 +486,provident,quas,486 +487,blanditiis,laudantium,487 +488,sit,fugit,488 +489,quo,molestias,489 +490,modi,suscipit,490 +491,ut,et,491 +492,corrupti,cumque,492 +493,neque,dolorem,493 +494,quod,est,494 +495,aut,ut,495 +496,rerum,impedit,496 +497,saepe,odio,497 +498,nihil,enim,498 +499,molestias,provident,499 +500,neque,maxime,500 +501,quisquam,possimus,501 +502,at,ut,502 +503,sed,esse,503 +504,ullam,dolorem,504 +505,nobis,quia,505 +506,quidem,incidunt,506 +507,harum,non,507 +508,voluptate,qui,508 +509,quod,expedita,509 +510,dolorum,qui,510 +511,neque,optio,511 +512,et,eos,512 +513,voluptatem,dolorum,513 +514,blanditiis,totam,514 +515,et,amet,515 +516,assumenda,repudiandae,516 +517,sit,ex,517 +518,id,omnis,518 +519,a,est,519 +520,deleniti,optio,520 +521,nemo,rerum,521 +522,minima,quae,522 +523,quis,mollitia,523 +524,a,doloremque,524 +525,tempora,consectetur,525 +526,tempora,incidunt,526 +527,aspernatur,facilis,527 +528,consequatur,numquam,528 +529,ipsam,qui,529 +530,pariatur,aperiam,530 +531,laudantium,aliquam,531 +532,qui,voluptas,532 +533,et,optio,533 +534,officia,sapiente,534 +535,corporis,quae,535 +536,quia,nobis,536 +537,magni,cum,537 +538,eos,vel,538 +539,possimus,necessitatibus,539 +540,qui,modi,540 +541,in,necessitatibus,541 +542,velit,iusto,542 +543,ipsa,excepturi,543 +544,quisquam,rem,544 +545,sunt,voluptatem,545 +546,nesciunt,nulla,546 +547,aut,reprehenderit,547 +548,ut,modi,548 +549,natus,officiis,549 +550,ducimus,aut,550 +551,id,nihil,551 +552,error,ducimus,552 +553,vel,rerum,553 +554,dolorum,distinctio,554 +555,dolorum,officia,555 +556,voluptas,expedita,556 +557,non,et,557 +558,porro,voluptas,558 +559,omnis,sit,559 +560,hic,rerum,560 +561,rerum,voluptas,561 +562,vel,aliquam,562 +563,delectus,inventore,563 +564,consequatur,commodi,564 +565,est,ex,565 +566,et,sed,566 +567,qui,quo,567 +568,voluptas,aut,568 +569,enim,similique,569 +570,qui,eos,570 +571,ut,repudiandae,571 +572,sint,dignissimos,572 +573,ea,est,573 +574,asperiores,voluptatem,574 +575,dolores,ut,575 +576,excepturi,molestiae,576 +577,tempora,et,577 +578,expedita,nulla,578 +579,odio,at,579 +580,perferendis,enim,580 +581,nisi,at,581 +582,earum,ex,582 +583,omnis,voluptate,583 +584,molestiae,rerum,584 +585,consequuntur,odio,585 +586,odio,nulla,586 +587,dolorem,autem,587 +588,necessitatibus,et,588 +589,et,consequatur,589 +590,dignissimos,nemo,590 +591,culpa,quia,591 +592,voluptatem,aspernatur,592 +593,quo,saepe,593 +594,vel,quod,594 +595,temporibus,dolor,595 +596,eum,aliquid,596 +597,enim,omnis,597 +598,omnis,veritatis,598 +599,quo,quae,599 +600,ex,ullam,600 +601,sed,atque,601 +602,esse,sit,602 +603,eligendi,non,603 +604,inventore,esse,604 +605,non,omnis,605 +606,error,nostrum,606 +607,porro,modi,607 +608,omnis,quia,608 +609,omnis,unde,609 +610,minus,eveniet,610 +611,pariatur,a,611 +612,a,recusandae,612 +613,tempora,nulla,613 +614,corporis,velit,614 +615,et,molestiae,615 +616,in,temporibus,616 +617,qui,placeat,617 +618,est,quia,618 +619,consequatur,sequi,619 +620,non,et,620 +621,animi,a,621 +622,quidem,molestiae,622 +623,deleniti,harum,623 +624,nemo,nam,624 +625,et,quos,625 +626,blanditiis,alias,626 +627,rem,optio,627 +628,similique,unde,628 +629,iusto,odit,629 +630,architecto,rem,630 +631,veniam,pariatur,631 +632,debitis,quis,632 +633,odit,nobis,633 +634,consequatur,ipsum,634 +635,neque,ad,635 +636,doloribus,sint,636 +637,beatae,reiciendis,637 +638,quos,sit,638 +639,vero,eos,639 +640,excepturi,autem,640 +641,est,omnis,641 +642,nobis,voluptatibus,642 +643,consectetur,eum,643 +644,ab,sed,644 +645,ea,in,645 +646,corporis,sapiente,646 +647,tempora,recusandae,647 +648,expedita,itaque,648 +649,quis,exercitationem,649 +650,ut,est,650 +651,eum,quo,651 +652,qui,odit,652 +653,velit,et,653 +654,modi,minus,654 +655,quisquam,quos,655 +656,ut,molestiae,656 +657,consequatur,occaecati,657 +658,architecto,aut,658 +659,impedit,error,659 +660,voluptatem,aliquid,660 +661,perspiciatis,unde,661 +662,corrupti,aut,662 +663,voluptatem,eaque,663 +664,ut,facilis,664 +665,perspiciatis,similique,665 +666,aut,sed,666 +667,ea,ut,667 +668,magnam,quia,668 +669,eius,et,669 +670,ad,rerum,670 +671,sunt,ut,671 +672,ab,nemo,672 +673,voluptatem,dolores,673 +674,unde,saepe,674 +675,blanditiis,quibusdam,675 +676,alias,est,676 +677,eum,consequatur,677 +678,aut,velit,678 +679,repellendus,architecto,679 +680,voluptas,corrupti,680 +681,quod,maiores,681 +682,sit,et,682 +683,odit,harum,683 +684,molestiae,ex,684 +685,modi,ut,685 +686,non,asperiores,686 +687,officiis,odio,687 +688,repudiandae,iure,688 +689,aliquid,quaerat,689 +690,cumque,rerum,690 +691,facilis,sed,691 +692,ipsam,nobis,692 +693,dolor,mollitia,693 +694,soluta,necessitatibus,694 +695,voluptatibus,possimus,695 +696,non,doloremque,696 +697,sed,odio,697 +698,incidunt,fugiat,698 +699,ducimus,quis,699 +700,et,consequatur,700 +701,unde,non,701 +702,placeat,ratione,702 +703,vel,odio,703 +704,qui,tenetur,704 +705,id,similique,705 +706,voluptatem,facilis,706 +707,fuga,a,707 +708,ex,deserunt,708 +709,mollitia,laborum,709 +710,natus,quibusdam,710 +711,beatae,et,711 +712,voluptatem,non,712 +713,vel,laboriosam,713 +714,suscipit,distinctio,714 +715,et,rerum,715 +716,debitis,facere,716 +717,voluptatibus,id,717 +718,voluptatum,vitae,718 +719,velit,odio,719 +720,aspernatur,est,720 +721,laudantium,id,721 +722,esse,et,722 +723,saepe,debitis,723 +724,esse,explicabo,724 +725,ut,dolore,725 +726,excepturi,quia,726 +727,voluptas,ut,727 +728,voluptas,debitis,728 +729,dolor,consectetur,729 +730,sapiente,ut,730 +731,alias,in,731 +732,dolorem,at,732 +733,laborum,sed,733 +734,voluptatibus,non,734 +735,minus,soluta,735 +736,dolores,vero,736 +737,nihil,aut,737 +738,facilis,adipisci,738 +739,qui,voluptatem,739 +740,autem,aut,740 +741,voluptatem,atque,741 +742,voluptatibus,aspernatur,742 +743,repellendus,dolorem,743 +744,voluptatum,fugit,744 +745,quod,ut,745 +746,reprehenderit,quo,746 +747,totam,ut,747 +748,ex,quisquam,748 +749,reprehenderit,blanditiis,749 +750,sed,labore,750 +751,ut,est,751 +752,repellendus,nam,752 +753,quia,voluptas,753 +754,sit,a,754 +755,perferendis,nostrum,755 +756,nihil,fuga,756 +757,doloribus,et,757 +758,ipsam,velit,758 +759,rem,veniam,759 +760,fuga,possimus,760 +761,incidunt,sint,761 +762,vero,rerum,762 +763,ad,assumenda,763 +764,praesentium,exercitationem,764 +765,ut,reprehenderit,765 +766,id,quia,766 +767,doloribus,iure,767 +768,deleniti,quia,768 +769,pariatur,sit,769 +770,molestias,unde,770 +771,sint,enim,771 +772,amet,beatae,772 +773,commodi,dolores,773 +774,omnis,consectetur,774 +775,dignissimos,perspiciatis,775 +776,deserunt,aut,776 +777,doloremque,ipsam,777 +778,aut,et,778 +779,a,quibusdam,779 +780,vero,quasi,780 +781,et,officia,781 +782,accusamus,et,782 +783,explicabo,voluptas,783 +784,autem,fugit,784 +785,non,cumque,785 +786,et,est,786 +787,laborum,facere,787 +788,et,facilis,788 +789,consequatur,aut,789 +790,voluptas,quisquam,790 +791,tempore,veritatis,791 +792,quos,deserunt,792 +793,modi,accusantium,793 +794,pariatur,ea,794 +795,ducimus,voluptas,795 +796,sed,et,796 +797,nostrum,nemo,797 +798,enim,vel,798 +799,eum,cupiditate,799 +800,et,ab,800 +801,aut,amet,801 +802,et,non,802 +803,eaque,blanditiis,803 +804,veniam,dolorum,804 +805,dolorum,necessitatibus,805 +806,delectus,sit,806 +807,et,nisi,807 +808,quasi,architecto,808 +809,ut,nisi,809 +810,minima,a,810 +811,quam,soluta,811 +812,ratione,rerum,812 +813,fugit,iure,813 +814,temporibus,distinctio,814 +815,quas,ea,815 +816,mollitia,harum,816 +817,temporibus,quis,817 +818,consequatur,ea,818 +819,beatae,laudantium,819 +820,adipisci,vero,820 +821,eum,consequuntur,821 +822,voluptatibus,perspiciatis,822 +823,quisquam,excepturi,823 +824,sequi,quia,824 +825,et,sequi,825 +826,ab,iste,826 +827,fugit,explicabo,827 +828,voluptatem,rerum,828 +829,aut,illum,829 +830,voluptas,consectetur,830 +831,omnis,sed,831 +832,est,asperiores,832 +833,sapiente,ipsum,833 +834,quam,eum,834 +835,ex,provident,835 +836,temporibus,dolorem,836 +837,labore,explicabo,837 +838,quas,nobis,838 +839,doloremque,sed,839 +840,consequatur,et,840 +841,et,distinctio,841 +842,sit,consectetur,842 +843,dolores,fugiat,843 +844,et,delectus,844 +845,sint,voluptatem,845 +846,voluptates,quod,846 +847,eos,iure,847 +848,blanditiis,vitae,848 +849,a,aut,849 +850,molestiae,incidunt,850 +851,maiores,corporis,851 +852,numquam,maiores,852 +853,dicta,quis,853 +854,porro,non,854 +855,corrupti,ut,855 +856,non,ducimus,856 +857,aliquam,autem,857 +858,non,exercitationem,858 +859,praesentium,dolorem,859 +860,possimus,provident,860 +861,rem,fuga,861 +862,ut,cupiditate,862 +863,ut,est,863 +864,voluptas,eius,864 +865,quia,labore,865 +866,voluptatem,officia,866 +867,alias,enim,867 +868,qui,adipisci,868 +869,molestiae,recusandae,869 +870,unde,dolorem,870 +871,cumque,est,871 +872,consequuntur,expedita,872 +873,autem,commodi,873 +874,dolorum,doloremque,874 +875,quos,animi,875 +876,qui,quos,876 +877,sunt,expedita,877 +878,voluptas,voluptatum,878 +879,magni,aut,879 +880,aspernatur,assumenda,880 +881,est,et,881 +882,ab,eius,882 +883,iusto,saepe,883 +884,asperiores,beatae,884 +885,nulla,et,885 +886,perferendis,labore,886 +887,laboriosam,sunt,887 +888,architecto,beatae,888 +889,aliquid,cumque,889 +890,libero,doloremque,890 +891,esse,et,891 +892,dolore,ipsa,892 +893,sint,ab,893 +894,ut,eos,894 +895,cumque,optio,895 +896,voluptatem,non,896 +897,velit,delectus,897 +898,beatae,temporibus,898 +899,sit,labore,899 +900,aut,et,900 +901,ipsam,ut,901 +902,et,in,902 +903,dolorem,dolorem,903 +904,ipsa,quidem,904 +905,ex,fugiat,905 +906,suscipit,quibusdam,906 +907,magni,aliquid,907 +908,itaque,laborum,908 +909,molestiae,id,909 +910,molestias,tempore,910 +911,ipsum,sed,911 +912,aut,possimus,912 +913,error,architecto,913 +914,eos,excepturi,914 +915,sed,ad,915 +916,blanditiis,sit,916 +917,odio,ipsam,917 +918,repellendus,sit,918 +919,ut,amet,919 +920,asperiores,incidunt,920 +921,voluptatem,dolore,921 +922,aspernatur,sed,922 +923,facere,et,923 +924,rerum,provident,924 +925,quos,eius,925 +926,voluptates,nisi,926 +927,aut,aut,927 +928,dolorem,sit,928 +929,et,qui,929 +930,temporibus,qui,930 +931,unde,labore,931 +932,nulla,beatae,932 +933,totam,velit,933 +934,blanditiis,et,934 +935,fugiat,exercitationem,935 +936,tempore,inventore,936 +937,molestiae,sed,937 +938,ipsum,delectus,938 +939,officiis,consectetur,939 +940,iusto,omnis,940 +941,enim,iure,941 +942,a,atque,942 +943,doloribus,impedit,943 +944,aut,velit,944 +945,dolore,amet,945 +946,qui,tempora,946 +947,sed,asperiores,947 +948,vitae,a,948 +949,corporis,omnis,949 +950,quos,nobis,950 +951,qui,quia,951 +952,architecto,doloremque,952 +953,dicta,ut,953 +954,accusantium,deleniti,954 +955,numquam,consequuntur,955 +956,cum,repellat,956 +957,fuga,tempore,957 +958,est,ut,958 +959,ipsum,in,959 +960,veniam,accusamus,960 +961,iusto,necessitatibus,961 +962,placeat,dolore,962 +963,dicta,atque,963 +964,fuga,quibusdam,964 +965,et,aut,965 +966,minus,autem,966 +967,minus,est,967 +968,odit,perspiciatis,968 +969,nam,dolorem,969 +970,qui,magnam,970 +971,qui,eos,971 +972,voluptas,molestias,972 +973,sed,odit,973 +974,et,tempora,974 +975,quo,placeat,975 +976,accusamus,ipsum,976 +977,rerum,consequatur,977 +978,et,dolor,978 +979,debitis,commodi,979 +980,qui,architecto,980 +981,repudiandae,ullam,981 +982,temporibus,magnam,982 +983,illum,aliquam,983 +984,inventore,ex,984 +985,corrupti,porro,985 +986,odit,magni,986 +987,facere,quasi,987 +988,sapiente,dignissimos,988 +989,temporibus,eum,989 +990,maiores,quo,990 +991,voluptatem,et,991 +992,expedita,quo,992 +993,nostrum,eum,993 +994,in,ut,994 +995,libero,quam,995 +996,eos,deleniti,996 +997,molestiae,nesciunt,997 +998,quisquam,voluptas,998 +999,laudantium,tempora,999 +1000,similique,sequi,1000 +1001,eius,neque,1001 +1002,deleniti,iste,1002 +1003,velit,nisi,1003 +1004,repellendus,quia,1004 +1005,est,aut,1005 +1006,voluptatem,et,1006 +1007,laudantium,consequatur,1007 +1008,atque,doloribus,1008 +1009,saepe,ullam,1009 +1010,cumque,optio,1010 +1011,molestias,beatae,1011 +1012,nihil,facilis,1012 +1013,corporis,consequatur,1013 +1014,atque,reprehenderit,1014 +1015,vero,aliquam,1015 +1016,eos,cupiditate,1016 +1017,autem,adipisci,1017 +1018,qui,fugit,1018 +1019,dolore,unde,1019 +1020,tempore,rerum,1020 +1021,et,iste,1021 +1022,eum,et,1022 +1023,quasi,placeat,1023 +1024,ullam,ipsam,1024 +1025,saepe,tempora,1025 +1026,velit,ut,1026 +1027,qui,delectus,1027 +1028,deserunt,aperiam,1028 +1029,quam,tempora,1029 +1030,reiciendis,id,1030 +1031,nihil,repellendus,1031 +1032,vel,aut,1032 +1033,pariatur,eum,1033 +1034,quidem,quos,1034 +1035,omnis,consequatur,1035 +1036,qui,aut,1036 +1037,esse,id,1037 +1038,rerum,possimus,1038 +1039,ut,molestiae,1039 +1040,rem,occaecati,1040 +1041,odit,eligendi,1041 +1042,ut,nobis,1042 +1043,inventore,similique,1043 +1044,sed,cum,1044 +1045,eligendi,facilis,1045 +1046,id,quidem,1046 +1047,placeat,id,1047 +1048,voluptas,rem,1048 +1049,sit,sed,1049 +1050,aspernatur,at,1050 +1051,beatae,fugiat,1051 +1052,reprehenderit,omnis,1052 +1053,ipsam,aperiam,1053 +1054,veniam,iusto,1054 +1055,harum,et,1055 +1056,inventore,sequi,1056 +1057,nesciunt,atque,1057 +1058,facere,et,1058 +1059,dolores,et,1059 +1060,perferendis,amet,1060 +1061,consequatur,sunt,1061 +1062,non,tempore,1062 +1063,error,eum,1063 +1064,sit,omnis,1064 +1065,sit,sit,1065 +1066,maiores,possimus,1066 +1067,quasi,autem,1067 +1068,repudiandae,similique,1068 +1069,tempora,non,1069 +1070,neque,assumenda,1070 +1071,rerum,itaque,1071 +1072,sunt,error,1072 +1073,veritatis,officia,1073 +1074,culpa,cum,1074 +1075,soluta,fugit,1075 +1076,voluptates,culpa,1076 +1077,dolorum,doloremque,1077 +1078,explicabo,qui,1078 +1079,a,magni,1079 +1080,aut,molestiae,1080 +1081,fugit,quos,1081 +1082,voluptas,officia,1082 +1083,eos,qui,1083 +1084,libero,reprehenderit,1084 +1085,qui,ea,1085 +1086,doloremque,corrupti,1086 +1087,totam,saepe,1087 +1088,laboriosam,enim,1088 +1089,aut,et,1089 +1090,et,vero,1090 +1091,et,tempore,1091 +1092,sit,atque,1092 +1093,suscipit,et,1093 +1094,perspiciatis,et,1094 +1095,qui,non,1095 +1096,molestias,consequuntur,1096 +1097,dicta,rerum,1097 +1098,dolore,ea,1098 +1099,quo,vero,1099 +1100,dolor,rem,1100 +1101,pariatur,possimus,1101 +1102,et,quo,1102 +1103,culpa,consequuntur,1103 +1104,temporibus,earum,1104 +1105,est,vel,1105 +1106,est,rerum,1106 +1107,iure,nostrum,1107 +1108,soluta,culpa,1108 +1109,eum,quo,1109 +1110,dolorem,magnam,1110 +1111,eum,adipisci,1111 +1112,perspiciatis,eligendi,1112 +1113,molestias,praesentium,1113 +1114,optio,odit,1114 +1115,aliquam,dolores,1115 +1116,natus,perferendis,1116 +1117,animi,esse,1117 +1118,tenetur,consectetur,1118 +1119,sit,consequatur,1119 +1120,ut,qui,1120 +1121,aut,ad,1121 +1122,vel,a,1122 +1123,eaque,sit,1123 +1124,aut,dolores,1124 +1125,delectus,unde,1125 +1126,veniam,minima,1126 +1127,ipsam,adipisci,1127 +1128,asperiores,vel,1128 +1129,in,voluptatem,1129 +1130,ab,natus,1130 +1131,dolorum,minima,1131 +1132,dolorum,alias,1132 +1133,et,ipsam,1133 +1134,incidunt,veritatis,1134 +1135,aut,consequatur,1135 +1136,hic,quia,1136 +1137,quo,dolor,1137 +1138,ut,optio,1138 +1139,sit,recusandae,1139 +1140,temporibus,assumenda,1140 +1141,voluptas,sint,1141 +1142,reiciendis,fugiat,1142 +1143,sed,aut,1143 +1144,voluptatem,aut,1144 +1145,accusantium,maiores,1145 +1146,facere,et,1146 +1147,voluptatum,ut,1147 +1148,nam,asperiores,1148 +1149,in,doloremque,1149 +1150,quisquam,incidunt,1150 +1151,harum,hic,1151 +1152,distinctio,est,1152 +1153,laboriosam,deleniti,1153 +1154,consectetur,eius,1154 +1155,quis,architecto,1155 +1156,occaecati,et,1156 +1157,sint,et,1157 +1158,dolorum,fugit,1158 +1159,incidunt,in,1159 +1160,minima,quisquam,1160 +1161,quas,nam,1161 +1162,sed,ut,1162 +1163,reiciendis,et,1163 +1164,odio,commodi,1164 +1165,sunt,non,1165 +1166,animi,ut,1166 +1167,consectetur,laboriosam,1167 +1168,eos,tempore,1168 +1169,rem,occaecati,1169 +1170,facilis,hic,1170 +1171,nobis,libero,1171 +1172,quod,optio,1172 +1173,illo,aut,1173 +1174,nobis,consequatur,1174 +1175,earum,ut,1175 +1176,ipsam,vel,1176 +1177,suscipit,soluta,1177 +1178,a,dolorem,1178 +1179,dicta,sed,1179 +1180,aspernatur,quibusdam,1180 +1181,temporibus,necessitatibus,1181 +1182,unde,perferendis,1182 +1183,quibusdam,praesentium,1183 +1184,similique,optio,1184 +1185,exercitationem,et,1185 +1186,qui,officiis,1186 +1187,eum,et,1187 +1188,omnis,aperiam,1188 +1189,recusandae,enim,1189 +1190,perferendis,voluptatum,1190 +1191,ut,eum,1191 +1192,consectetur,sapiente,1192 +1193,autem,qui,1193 +1194,quis,assumenda,1194 +1195,ut,cupiditate,1195 +1196,quia,dolorem,1196 +1197,excepturi,in,1197 +1198,officiis,numquam,1198 +1199,possimus,delectus,1199 +1200,veniam,recusandae,1200 +1201,quos,id,1201 +1202,ratione,corporis,1202 +1203,alias,voluptates,1203 +1204,quia,quasi,1204 +1205,animi,soluta,1205 +1206,autem,laboriosam,1206 +1207,impedit,velit,1207 +1208,est,voluptatem,1208 +1209,ut,beatae,1209 +1210,quis,tempora,1210 +1211,placeat,assumenda,1211 +1212,libero,porro,1212 +1213,minima,veniam,1213 +1214,explicabo,sed,1214 +1215,illo,consequatur,1215 +1216,necessitatibus,in,1216 +1217,recusandae,aut,1217 +1218,dicta,eos,1218 +1219,maiores,qui,1219 +1220,eum,temporibus,1220 +1221,sit,libero,1221 +1222,aperiam,quia,1222 +1223,ut,est,1223 +1224,quo,qui,1224 +1225,velit,suscipit,1225 +1226,aut,qui,1226 +1227,culpa,omnis,1227 +1228,omnis,non,1228 +1229,dolore,non,1229 +1230,dolorem,quam,1230 +1231,voluptates,odio,1231 +1232,deserunt,non,1232 +1233,qui,deserunt,1233 +1234,debitis,ea,1234 +1235,accusamus,sed,1235 +1236,maiores,earum,1236 +1237,eum,vitae,1237 +1238,dolorem,maxime,1238 +1239,atque,officia,1239 +1240,rerum,sunt,1240 +1241,inventore,et,1241 +1242,sed,labore,1242 +1243,nulla,et,1243 +1244,neque,consectetur,1244 +1245,deleniti,assumenda,1245 +1246,assumenda,possimus,1246 +1247,deserunt,qui,1247 +1248,hic,et,1248 +1249,et,incidunt,1249 +1250,soluta,quos,1250 +1251,reprehenderit,natus,1251 +1252,omnis,in,1252 +1253,qui,libero,1253 +1254,occaecati,dolorem,1254 +1255,odio,rem,1255 +1256,tempora,temporibus,1256 +1257,quia,ut,1257 +1258,odit,et,1258 +1259,sapiente,optio,1259 +1260,aliquam,voluptatem,1260 +1261,dolorem,corrupti,1261 +1262,modi,necessitatibus,1262 +1263,sequi,doloremque,1263 +1264,voluptatum,dolorum,1264 +1265,sequi,quo,1265 +1266,reprehenderit,similique,1266 +1267,mollitia,molestias,1267 +1268,ut,vel,1268 +1269,quis,dolores,1269 +1270,nesciunt,consequatur,1270 +1271,praesentium,magni,1271 +1272,nemo,facilis,1272 +1273,molestiae,sint,1273 +1274,natus,est,1274 +1275,a,quibusdam,1275 +1276,sapiente,dignissimos,1276 +1277,sit,eaque,1277 +1278,possimus,illum,1278 +1279,ratione,assumenda,1279 +1280,fuga,quod,1280 +1281,quis,nam,1281 +1282,et,ut,1282 +1283,qui,accusantium,1283 +1284,molestias,aliquam,1284 +1285,ut,fugit,1285 +1286,nesciunt,dolor,1286 +1287,voluptatem,qui,1287 +1288,explicabo,iure,1288 +1289,ratione,itaque,1289 +1290,aut,non,1290 +1291,dolores,rerum,1291 +1292,nihil,dolore,1292 +1293,blanditiis,omnis,1293 +1294,in,dolor,1294 +1295,in,enim,1295 +1296,sed,repudiandae,1296 +1297,libero,delectus,1297 +1298,modi,voluptatum,1298 +1299,explicabo,impedit,1299 +1300,eum,accusantium,1300 +1301,dicta,expedita,1301 +1302,assumenda,eaque,1302 +1303,officia,necessitatibus,1303 +1304,doloremque,corrupti,1304 +1305,aut,minus,1305 +1306,aspernatur,ducimus,1306 +1307,voluptatem,deserunt,1307 +1308,quo,eum,1308 +1309,hic,ex,1309 +1310,perspiciatis,non,1310 +1311,dolore,exercitationem,1311 +1312,eligendi,itaque,1312 +1313,iure,enim,1313 +1314,nesciunt,molestias,1314 +1315,et,minima,1315 +1316,quae,et,1316 +1317,impedit,officiis,1317 +1318,dolor,at,1318 +1319,iste,ut,1319 +1320,qui,repudiandae,1320 +1321,veritatis,voluptatem,1321 +1322,ut,quis,1322 +1323,vitae,autem,1323 +1324,aliquid,quia,1324 +1325,voluptas,molestiae,1325 +1326,ratione,et,1326 +1327,architecto,et,1327 +1328,ut,occaecati,1328 +1329,nesciunt,omnis,1329 +1330,non,nihil,1330 +1331,repudiandae,consequuntur,1331 +1332,unde,animi,1332 +1333,dolorem,quis,1333 +1334,perspiciatis,culpa,1334 +1335,ratione,pariatur,1335 +1336,illo,porro,1336 +1337,veritatis,est,1337 +1338,eos,voluptates,1338 +1339,aut,reprehenderit,1339 +1340,est,corrupti,1340 +1341,doloremque,nulla,1341 +1342,sit,similique,1342 +1343,autem,ea,1343 +1344,ut,ex,1344 +1345,voluptas,qui,1345 +1346,ut,architecto,1346 +1347,aut,quisquam,1347 +1348,et,exercitationem,1348 +1349,quibusdam,ex,1349 +1350,dolores,ipsum,1350 +1351,recusandae,odit,1351 +1352,dignissimos,unde,1352 +1353,dolores,est,1353 +1354,ipsam,quibusdam,1354 +1355,repellat,eligendi,1355 +1356,atque,culpa,1356 +1357,hic,ipsum,1357 +1358,reprehenderit,aperiam,1358 +1359,fugiat,impedit,1359 +1360,quis,quasi,1360 +1361,officia,sequi,1361 +1362,architecto,recusandae,1362 +1363,labore,magnam,1363 +1364,reiciendis,qui,1364 +1365,non,ut,1365 +1366,omnis,et,1366 +1367,facere,ut,1367 +1368,est,odit,1368 +1369,ut,voluptatem,1369 +1370,excepturi,rerum,1370 +1371,amet,vitae,1371 +1372,sit,possimus,1372 +1373,debitis,ut,1373 +1374,eius,quas,1374 +1375,cum,fuga,1375 +1376,accusantium,impedit,1376 +1377,voluptate,totam,1377 +1378,molestias,aperiam,1378 +1379,aut,quasi,1379 +1380,nobis,laudantium,1380 +1381,quam,accusamus,1381 +1382,numquam,qui,1382 +1383,fugit,dolorem,1383 +1384,autem,est,1384 +1385,perferendis,harum,1385 +1386,quia,ea,1386 +1387,necessitatibus,explicabo,1387 +1388,voluptates,fuga,1388 +1389,consequatur,beatae,1389 +1390,aut,sed,1390 +1391,non,voluptatem,1391 +1392,culpa,dicta,1392 +1393,et,quasi,1393 +1394,ad,fuga,1394 +1395,quae,voluptates,1395 +1396,optio,est,1396 +1397,vel,perspiciatis,1397 +1398,enim,qui,1398 +1399,quae,ab,1399 +1400,aut,ut,1400 +1401,debitis,molestias,1401 +1402,sed,necessitatibus,1402 +1403,quo,labore,1403 +1404,minus,sunt,1404 +1405,rerum,assumenda,1405 +1406,voluptas,enim,1406 +1407,perferendis,minus,1407 +1408,sed,veritatis,1408 +1409,atque,ratione,1409 +1410,aut,voluptas,1410 +1411,qui,quod,1411 +1412,sit,voluptatem,1412 +1413,quam,ipsa,1413 +1414,excepturi,tenetur,1414 +1415,dolor,excepturi,1415 +1416,voluptate,repellendus,1416 +1417,et,ipsum,1417 +1418,ab,est,1418 +1419,accusantium,quia,1419 +1420,harum,asperiores,1420 +1421,praesentium,quaerat,1421 +1422,odit,veritatis,1422 +1423,qui,modi,1423 +1424,perferendis,quis,1424 +1425,iste,sunt,1425 +1426,omnis,explicabo,1426 +1427,ex,dolor,1427 +1428,maiores,veritatis,1428 +1429,optio,itaque,1429 +1430,beatae,praesentium,1430 +1431,ut,odio,1431 +1432,in,porro,1432 +1433,quos,exercitationem,1433 +1434,nihil,et,1434 +1435,quos,molestiae,1435 +1436,illum,quaerat,1436 +1437,dicta,tenetur,1437 +1438,ducimus,tenetur,1438 +1439,repudiandae,laudantium,1439 +1440,at,provident,1440 +1441,tempora,animi,1441 +1442,aut,voluptas,1442 +1443,ab,id,1443 +1444,rerum,ipsa,1444 +1445,quis,et,1445 +1446,odio,eum,1446 +1447,iure,sed,1447 +1448,rerum,dignissimos,1448 +1449,in,asperiores,1449 +1450,ratione,nobis,1450 +1451,distinctio,ipsa,1451 +1452,est,numquam,1452 +1453,ad,soluta,1453 +1454,quisquam,dolorem,1454 +1455,praesentium,quam,1455 +1456,sit,illum,1456 +1457,consequuntur,culpa,1457 +1458,inventore,accusantium,1458 +1459,id,aut,1459 +1460,rem,aliquid,1460 +1461,suscipit,esse,1461 +1462,exercitationem,praesentium,1462 +1463,maxime,sit,1463 +1464,culpa,repellendus,1464 +1465,quidem,voluptas,1465 +1466,repellendus,est,1466 +1467,fuga,occaecati,1467 +1468,magnam,iste,1468 +1469,aut,ad,1469 +1470,ea,iste,1470 +1471,aliquam,expedita,1471 +1472,expedita,id,1472 +1473,harum,itaque,1473 +1474,eum,iure,1474 +1475,mollitia,fuga,1475 +1476,earum,mollitia,1476 +1477,possimus,ad,1477 +1478,non,sint,1478 +1479,dolorem,nesciunt,1479 +1480,ut,minima,1480 +1481,nam,iure,1481 +1482,qui,rem,1482 +1483,sit,aliquam,1483 +1484,placeat,ipsa,1484 +1485,non,exercitationem,1485 +1486,doloribus,ullam,1486 +1487,fugit,blanditiis,1487 +1488,sed,quos,1488 +1489,sunt,qui,1489 +1490,a,assumenda,1490 +1491,doloribus,sint,1491 +1492,molestias,animi,1492 +1493,repellat,cum,1493 +1494,dicta,illo,1494 +1495,aut,laborum,1495 +1496,ex,quibusdam,1496 +1497,aut,quidem,1497 +1498,id,quos,1498 +1499,dolores,neque,1499 +1500,quam,aut,1500 +1501,aut,sit,1501 +1502,pariatur,ipsa,1502 +1503,excepturi,natus,1503 +1504,tenetur,minus,1504 +1505,ea,quam,1505 +1506,unde,in,1506 +1507,quasi,laudantium,1507 +1508,eum,nesciunt,1508 +1509,quis,sint,1509 +1510,id,aspernatur,1510 +1511,sapiente,ducimus,1511 +1512,saepe,pariatur,1512 +1513,amet,rerum,1513 +1514,numquam,nobis,1514 +1515,voluptatum,numquam,1515 +1516,in,quia,1516 +1517,quia,perferendis,1517 +1518,necessitatibus,qui,1518 +1519,asperiores,et,1519 +1520,eaque,est,1520 +1521,assumenda,pariatur,1521 +1522,ipsam,id,1522 +1523,et,quia,1523 +1524,possimus,asperiores,1524 +1525,quo,quia,1525 +1526,quia,omnis,1526 +1527,assumenda,recusandae,1527 +1528,quia,ut,1528 +1529,exercitationem,est,1529 +1530,velit,exercitationem,1530 +1531,illum,nihil,1531 +1532,a,aspernatur,1532 +1533,exercitationem,labore,1533 +1534,officiis,doloribus,1534 +1535,et,eaque,1535 +1536,ut,inventore,1536 +1537,aliquam,fuga,1537 +1538,voluptate,numquam,1538 +1539,quis,delectus,1539 +1540,sint,assumenda,1540 +1541,quae,veritatis,1541 +1542,soluta,consectetur,1542 +1543,qui,voluptatem,1543 +1544,enim,consequuntur,1544 +1545,id,id,1545 +1546,labore,provident,1546 +1547,placeat,quia,1547 +1548,nobis,odit,1548 +1549,consequatur,velit,1549 +1550,voluptates,ut,1550 +1551,ipsam,nihil,1551 +1552,eius,eum,1552 +1553,unde,suscipit,1553 +1554,sequi,ipsa,1554 +1555,eligendi,molestias,1555 +1556,reprehenderit,dolorum,1556 +1557,dolorem,maxime,1557 +1558,distinctio,maiores,1558 +1559,labore,dicta,1559 +1560,et,aut,1560 +1561,fugiat,officia,1561 +1562,itaque,blanditiis,1562 +1563,minus,qui,1563 +1564,illo,reiciendis,1564 +1565,velit,sunt,1565 +1566,mollitia,nobis,1566 +1567,ut,perspiciatis,1567 +1568,a,numquam,1568 +1569,unde,sed,1569 +1570,aut,et,1570 +1571,veniam,quis,1571 +1572,ratione,maxime,1572 +1573,adipisci,molestiae,1573 +1574,nesciunt,adipisci,1574 +1575,enim,molestiae,1575 +1576,ut,consequatur,1576 +1577,voluptates,possimus,1577 +1578,ad,excepturi,1578 +1579,repellendus,qui,1579 +1580,incidunt,minus,1580 +1581,enim,adipisci,1581 +1582,commodi,doloremque,1582 +1583,est,architecto,1583 +1584,est,est,1584 +1585,dignissimos,commodi,1585 +1586,debitis,earum,1586 +1587,ipsa,omnis,1587 +1588,quia,sunt,1588 +1589,et,quo,1589 +1590,ea,inventore,1590 +1591,distinctio,consectetur,1591 +1592,provident,voluptates,1592 +1593,et,et,1593 +1594,eaque,quos,1594 +1595,est,eum,1595 +1596,et,quaerat,1596 +1597,doloremque,voluptatem,1597 +1598,omnis,quo,1598 +1599,et,labore,1599 +1600,voluptatibus,nisi,1600 +1601,inventore,asperiores,1601 +1602,possimus,repudiandae,1602 +1603,vitae,dolore,1603 +1604,qui,occaecati,1604 +1605,et,aut,1605 +1606,quaerat,aut,1606 +1607,similique,ut,1607 +1608,aspernatur,expedita,1608 +1609,nobis,dignissimos,1609 +1610,repellat,accusantium,1610 +1611,totam,corrupti,1611 +1612,reiciendis,quod,1612 +1613,minima,quaerat,1613 +1614,harum,et,1614 +1615,repudiandae,ipsam,1615 +1616,velit,et,1616 +1617,sit,suscipit,1617 +1618,ducimus,eveniet,1618 +1619,eum,eos,1619 +1620,expedita,aspernatur,1620 +1621,qui,quas,1621 +1622,voluptates,et,1622 +1623,nisi,consequatur,1623 +1624,voluptates,dolores,1624 +1625,quam,ea,1625 +1626,commodi,similique,1626 +1627,adipisci,modi,1627 +1628,reprehenderit,autem,1628 +1629,veniam,quam,1629 +1630,doloremque,quis,1630 +1631,dignissimos,aut,1631 +1632,dolorum,enim,1632 +1633,repellat,facilis,1633 +1634,quisquam,vero,1634 +1635,iure,sed,1635 +1636,consequuntur,reiciendis,1636 +1637,dolorem,qui,1637 +1638,nisi,qui,1638 +1639,modi,qui,1639 +1640,illo,at,1640 +1641,eligendi,ea,1641 +1642,ea,sit,1642 +1643,rem,laborum,1643 +1644,ut,voluptas,1644 +1645,fugit,repellendus,1645 +1646,reprehenderit,est,1646 +1647,laudantium,id,1647 +1648,omnis,ut,1648 +1649,temporibus,officia,1649 +1650,neque,ut,1650 +1651,praesentium,delectus,1651 +1652,voluptates,rerum,1652 +1653,et,tempora,1653 +1654,fugiat,aut,1654 +1655,autem,quibusdam,1655 +1656,voluptates,doloremque,1656 +1657,ducimus,voluptas,1657 +1658,ut,dicta,1658 +1659,quibusdam,tempora,1659 +1660,vel,omnis,1660 +1661,est,aut,1661 +1662,odit,aut,1662 +1663,qui,numquam,1663 +1664,dicta,quas,1664 +1665,fugiat,rerum,1665 +1666,quia,accusamus,1666 +1667,voluptatem,perferendis,1667 +1668,quia,nobis,1668 +1669,dolore,ut,1669 +1670,esse,quidem,1670 +1671,hic,molestiae,1671 +1672,perspiciatis,ut,1672 +1673,rerum,eaque,1673 +1674,ullam,commodi,1674 +1675,qui,ducimus,1675 +1676,ut,qui,1676 +1677,eos,est,1677 +1678,sed,tenetur,1678 +1679,inventore,numquam,1679 +1680,ut,et,1680 +1681,et,et,1681 +1682,omnis,quidem,1682 +1683,dolorem,quia,1683 +1684,dignissimos,et,1684 +1685,quas,ut,1685 +1686,aperiam,qui,1686 +1687,corporis,praesentium,1687 +1688,reiciendis,eveniet,1688 +1689,laboriosam,tempore,1689 +1690,omnis,architecto,1690 +1691,quia,tempore,1691 +1692,illo,cumque,1692 +1693,blanditiis,sapiente,1693 +1694,alias,explicabo,1694 +1695,eius,voluptatum,1695 +1696,qui,cupiditate,1696 +1697,vero,numquam,1697 +1698,quidem,iure,1698 +1699,modi,aut,1699 +1700,at,quos,1700 +1701,animi,maxime,1701 +1702,cumque,vitae,1702 +1703,vel,fugit,1703 +1704,soluta,maiores,1704 +1705,asperiores,ullam,1705 +1706,et,asperiores,1706 +1707,aut,atque,1707 +1708,quasi,asperiores,1708 +1709,autem,nemo,1709 +1710,facere,laborum,1710 +1711,molestias,sint,1711 +1712,dolorem,magni,1712 +1713,amet,sit,1713 +1714,id,iure,1714 +1715,fuga,totam,1715 +1716,vitae,labore,1716 +1717,omnis,voluptatem,1717 +1718,voluptas,commodi,1718 +1719,ea,ipsam,1719 +1720,incidunt,quos,1720 +1721,ut,fugit,1721 +1722,accusamus,odio,1722 +1723,ullam,accusamus,1723 +1724,distinctio,adipisci,1724 +1725,voluptatem,alias,1725 +1726,quos,quod,1726 +1727,doloremque,ut,1727 +1728,animi,quo,1728 +1729,sunt,dicta,1729 +1730,repudiandae,voluptatem,1730 +1731,sit,ratione,1731 +1732,accusamus,minus,1732 +1733,aut,fugiat,1733 +1734,sequi,dolorem,1734 +1735,aliquid,eum,1735 +1736,et,ea,1736 +1737,commodi,iure,1737 +1738,quis,eius,1738 +1739,nulla,quaerat,1739 +1740,sequi,ut,1740 +1741,inventore,dolores,1741 +1742,incidunt,asperiores,1742 +1743,iusto,quam,1743 +1744,labore,numquam,1744 +1745,libero,ex,1745 +1746,praesentium,eos,1746 +1747,perferendis,officia,1747 +1748,et,et,1748 +1749,nesciunt,recusandae,1749 +1750,praesentium,dolor,1750 +1751,fugiat,et,1751 +1752,odio,omnis,1752 +1753,vel,voluptate,1753 +1754,aperiam,ipsum,1754 +1755,temporibus,laborum,1755 +1756,dolores,nobis,1756 +1757,nostrum,aut,1757 +1758,architecto,voluptatibus,1758 +1759,asperiores,quia,1759 +1760,suscipit,magni,1760 +1761,quia,autem,1761 +1762,illum,id,1762 +1763,voluptatem,aut,1763 +1764,quia,numquam,1764 +1765,molestiae,sed,1765 +1766,possimus,perspiciatis,1766 +1767,eius,et,1767 +1768,labore,quia,1768 +1769,dolorum,commodi,1769 +1770,alias,eos,1770 +1771,voluptatem,a,1771 +1772,labore,sed,1772 +1773,quia,quidem,1773 +1774,perferendis,recusandae,1774 +1775,dolor,voluptas,1775 +1776,doloribus,soluta,1776 +1777,pariatur,qui,1777 +1778,rerum,non,1778 +1779,rerum,fuga,1779 +1780,in,minus,1780 +1781,dolor,animi,1781 +1782,voluptates,aliquam,1782 +1783,et,nihil,1783 +1784,nulla,quo,1784 +1785,tempore,asperiores,1785 +1786,consequuntur,vitae,1786 +1787,quia,sed,1787 +1788,et,dolorum,1788 +1789,modi,doloribus,1789 +1790,officia,et,1790 +1791,sequi,maiores,1791 +1792,et,incidunt,1792 +1793,quasi,possimus,1793 +1794,enim,ipsum,1794 +1795,rem,eius,1795 +1796,debitis,illum,1796 +1797,ratione,quos,1797 +1798,nostrum,animi,1798 +1799,id,voluptatum,1799 +1800,sapiente,soluta,1800 +1801,tempore,magnam,1801 +1802,est,dolorem,1802 +1803,nam,corporis,1803 +1804,architecto,distinctio,1804 +1805,nihil,labore,1805 +1806,saepe,incidunt,1806 +1807,magnam,numquam,1807 +1808,est,voluptatem,1808 +1809,excepturi,eligendi,1809 +1810,et,veniam,1810 +1811,ipsum,hic,1811 +1812,non,dignissimos,1812 +1813,voluptas,nihil,1813 +1814,mollitia,delectus,1814 +1815,voluptatem,dolore,1815 +1816,voluptatem,modi,1816 +1817,recusandae,nihil,1817 +1818,et,commodi,1818 +1819,ad,dolor,1819 +1820,magni,esse,1820 +1821,repellat,distinctio,1821 +1822,illo,sapiente,1822 +1823,illum,sit,1823 +1824,sit,natus,1824 +1825,voluptatem,commodi,1825 +1826,dolorum,perspiciatis,1826 +1827,ipsum,recusandae,1827 +1828,cum,aut,1828 +1829,quo,sunt,1829 +1830,voluptatem,facilis,1830 +1831,non,numquam,1831 +1832,molestias,est,1832 +1833,omnis,repellat,1833 +1834,aut,illum,1834 +1835,eum,nulla,1835 +1836,earum,rem,1836 +1837,aperiam,aut,1837 +1838,ut,placeat,1838 +1839,repellat,impedit,1839 +1840,et,harum,1840 +1841,voluptatibus,et,1841 +1842,excepturi,perspiciatis,1842 +1843,culpa,nihil,1843 +1844,accusantium,ratione,1844 +1845,ut,culpa,1845 +1846,debitis,et,1846 +1847,omnis,aut,1847 +1848,debitis,voluptatibus,1848 +1849,libero,omnis,1849 +1850,corporis,quis,1850 +1851,impedit,vel,1851 +1852,amet,animi,1852 +1853,ab,incidunt,1853 +1854,quis,odit,1854 +1855,possimus,soluta,1855 +1856,ex,rerum,1856 +1857,est,voluptatem,1857 +1858,laborum,quis,1858 +1859,quia,error,1859 +1860,fugiat,ex,1860 +1861,laborum,aut,1861 +1862,possimus,eveniet,1862 +1863,impedit,a,1863 +1864,ducimus,nihil,1864 +1865,quae,quo,1865 +1866,aut,quibusdam,1866 +1867,et,minima,1867 +1868,aut,in,1868 +1869,aut,qui,1869 +1870,incidunt,atque,1870 +1871,eum,consequatur,1871 +1872,voluptatem,aut,1872 +1873,nobis,rerum,1873 +1874,dolorem,itaque,1874 +1875,sed,nam,1875 +1876,ab,rerum,1876 +1877,hic,ut,1877 +1878,error,ipsam,1878 +1879,fugiat,esse,1879 +1880,dolores,tenetur,1880 +1881,saepe,quisquam,1881 +1882,vel,est,1882 +1883,nisi,ratione,1883 +1884,nemo,facilis,1884 +1885,sed,reprehenderit,1885 +1886,asperiores,aut,1886 +1887,ut,mollitia,1887 +1888,harum,ratione,1888 +1889,repudiandae,sit,1889 +1890,aut,sequi,1890 +1891,voluptates,libero,1891 +1892,aut,dolore,1892 +1893,reiciendis,in,1893 +1894,temporibus,natus,1894 +1895,quam,voluptatem,1895 +1896,quaerat,aut,1896 +1897,minima,enim,1897 +1898,est,quia,1898 +1899,minus,non,1899 +1900,maiores,ab,1900 +1901,ea,sint,1901 +1902,incidunt,necessitatibus,1902 +1903,autem,rerum,1903 +1904,doloremque,eveniet,1904 +1905,voluptates,quo,1905 +1906,non,earum,1906 +1907,ullam,qui,1907 +1908,ut,doloribus,1908 +1909,beatae,aliquam,1909 +1910,aut,nemo,1910 +1911,eaque,et,1911 +1912,quia,voluptatibus,1912 +1913,quia,ut,1913 +1914,expedita,nesciunt,1914 +1915,et,doloribus,1915 +1916,laborum,impedit,1916 +1917,velit,dolorem,1917 +1918,officiis,repellat,1918 +1919,eum,quos,1919 +1920,iure,porro,1920 +1921,sunt,perspiciatis,1921 +1922,dolorem,dolores,1922 +1923,illo,perferendis,1923 +1924,dicta,qui,1924 +1925,vel,sit,1925 +1926,dicta,maiores,1926 +1927,eveniet,doloribus,1927 +1928,quaerat,quo,1928 +1929,unde,voluptas,1929 +1930,qui,qui,1930 +1931,sed,illum,1931 +1932,eos,sed,1932 +1933,quidem,odio,1933 +1934,sapiente,asperiores,1934 +1935,voluptatem,alias,1935 +1936,ad,ipsa,1936 +1937,quia,dolorem,1937 +1938,et,repellat,1938 +1939,quod,esse,1939 +1940,eligendi,eligendi,1940 +1941,ea,sit,1941 +1942,sunt,officia,1942 +1943,doloribus,totam,1943 +1944,possimus,quas,1944 +1945,ipsum,inventore,1945 +1946,quae,tempora,1946 +1947,cumque,sed,1947 +1948,illum,ea,1948 +1949,consequuntur,velit,1949 +1950,repudiandae,numquam,1950 +1951,impedit,aut,1951 +1952,vero,eveniet,1952 +1953,non,qui,1953 +1954,aut,et,1954 +1955,voluptates,impedit,1955 +1956,omnis,quas,1956 +1957,error,et,1957 +1958,possimus,nihil,1958 +1959,debitis,sunt,1959 +1960,aut,quas,1960 +1961,sit,sit,1961 +1962,nesciunt,aut,1962 +1963,architecto,quis,1963 +1964,vel,magni,1964 +1965,odit,odio,1965 +1966,repellendus,voluptatem,1966 +1967,soluta,explicabo,1967 +1968,repellendus,soluta,1968 +1969,omnis,aut,1969 +1970,et,molestiae,1970 +1971,architecto,in,1971 +1972,quia,dignissimos,1972 +1973,dolor,suscipit,1973 +1974,laborum,ut,1974 +1975,nulla,corporis,1975 +1976,deleniti,sit,1976 +1977,eveniet,aperiam,1977 +1978,qui,voluptatem,1978 +1979,possimus,mollitia,1979 +1980,consectetur,est,1980 +1981,molestias,facere,1981 +1982,dolorem,dolorem,1982 +1983,cumque,asperiores,1983 +1984,earum,molestiae,1984 +1985,ut,ea,1985 +1986,veniam,debitis,1986 +1987,ratione,ut,1987 +1988,et,nisi,1988 +1989,sit,sed,1989 +1990,quibusdam,quo,1990 +1991,perspiciatis,aut,1991 +1992,vel,ut,1992 +1993,ad,autem,1993 +1994,aspernatur,alias,1994 +1995,sed,quia,1995 +1996,est,et,1996 +1997,adipisci,voluptatem,1997 +1998,architecto,explicabo,1998 +1999,temporibus,sit,1999 +2000,explicabo,eveniet,2000 +2001,mollitia,perferendis,2001 +2002,qui,qui,2002 +2003,consequatur,et,2003 +2004,vel,quia,2004 +2005,fuga,nihil,2005 +2006,aspernatur,illum,2006 +2007,soluta,ducimus,2007 +2008,hic,cupiditate,2008 +2009,et,omnis,2009 +2010,deleniti,aliquam,2010 +2011,odio,commodi,2011 +2012,dolor,enim,2012 +2013,et,corrupti,2013 +2014,omnis,qui,2014 +2015,rerum,eum,2015 +2016,est,alias,2016 +2017,nesciunt,voluptatibus,2017 +2018,magni,repudiandae,2018 +2019,sunt,animi,2019 +2020,rerum,ut,2020 +2021,et,quo,2021 +2022,qui,voluptatem,2022 +2023,voluptas,sed,2023 +2024,quis,molestiae,2024 +2025,earum,qui,2025 +2026,quas,ut,2026 +2027,nihil,recusandae,2027 +2028,quis,magni,2028 +2029,harum,omnis,2029 +2030,sint,sapiente,2030 +2031,voluptatem,aperiam,2031 +2032,quos,rerum,2032 +2033,autem,repellat,2033 +2034,debitis,quibusdam,2034 +2035,porro,beatae,2035 +2036,facere,non,2036 +2037,ullam,maxime,2037 +2038,aperiam,et,2038 +2039,omnis,commodi,2039 +2040,assumenda,eos,2040 +2041,iste,est,2041 +2042,voluptatem,eius,2042 +2043,reprehenderit,eos,2043 +2044,ut,optio,2044 +2045,sequi,ipsum,2045 +2046,in,ab,2046 +2047,et,natus,2047 +2048,alias,nam,2048 +2049,perferendis,qui,2049 +2050,fugit,id,2050 +2051,illum,alias,2051 +2052,est,explicabo,2052 +2053,sed,qui,2053 +2054,nam,odio,2054 +2055,illum,vel,2055 +2056,repellendus,impedit,2056 +2057,minus,placeat,2057 +2058,quas,exercitationem,2058 +2059,deleniti,magni,2059 +2060,adipisci,quibusdam,2060 +2061,voluptatem,voluptatem,2061 +2062,est,iure,2062 +2063,repellat,ratione,2063 +2064,quis,asperiores,2064 +2065,dolore,dolor,2065 +2066,sed,vero,2066 +2067,in,aliquam,2067 +2068,est,quia,2068 +2069,quisquam,quam,2069 +2070,est,ut,2070 +2071,aut,magni,2071 +2072,consectetur,amet,2072 +2073,unde,dignissimos,2073 +2074,et,sint,2074 +2075,reiciendis,suscipit,2075 +2076,corrupti,natus,2076 +2077,ut,repellendus,2077 +2078,qui,tempore,2078 +2079,sit,voluptatem,2079 +2080,totam,reiciendis,2080 +2081,dicta,nihil,2081 +2082,aperiam,maxime,2082 +2083,voluptatum,est,2083 +2084,reprehenderit,laborum,2084 +2085,esse,tempore,2085 +2086,voluptatem,cupiditate,2086 +2087,officia,atque,2087 +2088,error,vitae,2088 +2089,facilis,omnis,2089 +2090,facere,quia,2090 +2091,est,nam,2091 +2092,unde,rem,2092 +2093,et,qui,2093 +2094,qui,neque,2094 +2095,velit,inventore,2095 +2096,cum,rem,2096 +2097,aut,hic,2097 +2098,autem,error,2098 +2099,nam,earum,2099 +2100,nemo,est,2100 +2101,sit,provident,2101 +2102,minus,dolores,2102 +2103,eligendi,totam,2103 +2104,et,consequuntur,2104 +2105,aut,harum,2105 +2106,delectus,laudantium,2106 +2107,fuga,ut,2107 +2108,aut,temporibus,2108 +2109,ut,velit,2109 +2110,recusandae,cumque,2110 +2111,laudantium,quibusdam,2111 +2112,ex,excepturi,2112 +2113,nihil,vitae,2113 +2114,commodi,rerum,2114 +2115,nam,nesciunt,2115 +2116,in,autem,2116 +2117,autem,natus,2117 +2118,fugit,fugiat,2118 +2119,nostrum,rerum,2119 +2120,non,sunt,2120 +2121,libero,quibusdam,2121 +2122,ad,optio,2122 +2123,magni,omnis,2123 +2124,sed,qui,2124 +2125,assumenda,similique,2125 +2126,et,placeat,2126 +2127,accusantium,tempora,2127 +2128,natus,eligendi,2128 +2129,sed,explicabo,2129 +2130,occaecati,corporis,2130 +2131,id,et,2131 +2132,repudiandae,sequi,2132 +2133,soluta,a,2133 +2134,deserunt,maxime,2134 +2135,quasi,mollitia,2135 +2136,eius,nihil,2136 +2137,fugit,a,2137 +2138,omnis,debitis,2138 +2139,illo,cumque,2139 +2140,necessitatibus,rem,2140 +2141,iste,ut,2141 +2142,aut,dolorum,2142 +2143,sit,beatae,2143 +2144,voluptatem,quod,2144 +2145,ea,laborum,2145 +2146,exercitationem,vel,2146 +2147,minima,qui,2147 +2148,illo,ut,2148 +2149,illum,et,2149 +2150,id,saepe,2150 +2151,molestiae,consectetur,2151 +2152,corrupti,dolorem,2152 +2153,natus,laboriosam,2153 +2154,dignissimos,consectetur,2154 +2155,sed,rerum,2155 +2156,aut,qui,2156 +2157,sed,aliquid,2157 +2158,in,et,2158 +2159,dolor,sunt,2159 +2160,repellat,illum,2160 +2161,quis,odio,2161 +2162,reiciendis,ut,2162 +2163,sapiente,voluptatem,2163 +2164,quis,tempore,2164 +2165,praesentium,quia,2165 +2166,dolor,sunt,2166 +2167,aliquam,temporibus,2167 +2168,magni,assumenda,2168 +2169,distinctio,sed,2169 +2170,nihil,quaerat,2170 +2171,commodi,ut,2171 +2172,libero,quia,2172 +2173,quis,tempore,2173 +2174,nihil,porro,2174 +2175,quam,omnis,2175 +2176,ut,voluptas,2176 +2177,nisi,possimus,2177 +2178,libero,rerum,2178 +2179,dolores,similique,2179 +2180,omnis,atque,2180 +2181,pariatur,ut,2181 +2182,inventore,mollitia,2182 +2183,voluptate,commodi,2183 +2184,rerum,impedit,2184 +2185,vitae,quam,2185 +2186,delectus,sed,2186 +2187,sed,quia,2187 +2188,consequatur,praesentium,2188 +2189,natus,officiis,2189 +2190,est,at,2190 +2191,cumque,ipsum,2191 +2192,est,iusto,2192 +2193,iusto,omnis,2193 +2194,et,corporis,2194 +2195,molestiae,totam,2195 +2196,unde,ducimus,2196 +2197,ex,quos,2197 +2198,soluta,est,2198 +2199,aut,rerum,2199 +2200,qui,voluptatem,2200 +2201,necessitatibus,fuga,2201 +2202,accusamus,natus,2202 +2203,et,qui,2203 +2204,in,aut,2204 +2205,porro,harum,2205 +2206,sequi,reiciendis,2206 +2207,sit,omnis,2207 +2208,qui,iste,2208 +2209,qui,temporibus,2209 +2210,nostrum,doloremque,2210 +2211,amet,dolor,2211 +2212,delectus,aut,2212 +2213,aspernatur,dignissimos,2213 +2214,tempore,reprehenderit,2214 +2215,explicabo,dolorem,2215 +2216,repellendus,et,2216 +2217,aut,dolorem,2217 +2218,blanditiis,nostrum,2218 +2219,aspernatur,perferendis,2219 +2220,tempore,et,2220 +2221,doloribus,et,2221 +2222,placeat,neque,2222 +2223,optio,velit,2223 +2224,nostrum,rerum,2224 +2225,est,quis,2225 +2226,illum,minus,2226 +2227,est,eum,2227 +2228,aut,et,2228 +2229,dolore,laborum,2229 +2230,praesentium,nostrum,2230 +2231,soluta,aperiam,2231 +2232,aspernatur,explicabo,2232 +2233,odio,nam,2233 +2234,porro,est,2234 +2235,quia,omnis,2235 +2236,dolores,est,2236 +2237,ipsam,quis,2237 +2238,nemo,quia,2238 +2239,rerum,et,2239 +2240,incidunt,asperiores,2240 +2241,atque,soluta,2241 +2242,ipsam,quia,2242 +2243,sed,voluptas,2243 +2244,ipsum,quae,2244 +2245,voluptas,dolor,2245 +2246,corrupti,odit,2246 +2247,nesciunt,error,2247 +2248,reprehenderit,consectetur,2248 +2249,temporibus,esse,2249 +2250,neque,aut,2250 +2251,illo,quibusdam,2251 +2252,veritatis,aut,2252 +2253,adipisci,temporibus,2253 +2254,vel,aut,2254 +2255,aut,qui,2255 +2256,sequi,atque,2256 +2257,asperiores,quo,2257 +2258,culpa,fuga,2258 +2259,sint,ipsam,2259 +2260,sit,deleniti,2260 +2261,quidem,consequuntur,2261 +2262,aliquid,corrupti,2262 +2263,ipsam,cum,2263 +2264,a,deleniti,2264 +2265,eius,veniam,2265 +2266,magnam,placeat,2266 +2267,atque,voluptatem,2267 +2268,eos,atque,2268 +2269,voluptatibus,modi,2269 +2270,omnis,culpa,2270 +2271,vitae,esse,2271 +2272,ut,occaecati,2272 +2273,mollitia,reprehenderit,2273 +2274,maxime,sunt,2274 +2275,quibusdam,placeat,2275 +2276,eos,sint,2276 +2277,dolore,quo,2277 +2278,architecto,rem,2278 +2279,quia,tempore,2279 +2280,voluptatem,est,2280 +2281,rerum,non,2281 +2282,minima,reiciendis,2282 +2283,sed,nihil,2283 +2284,sed,rerum,2284 +2285,rerum,quas,2285 +2286,aut,error,2286 +2287,quo,sit,2287 +2288,excepturi,facilis,2288 +2289,et,impedit,2289 +2290,in,qui,2290 +2291,quas,nemo,2291 +2292,sunt,et,2292 +2293,ipsum,maxime,2293 +2294,nobis,quia,2294 +2295,delectus,sint,2295 +2296,enim,omnis,2296 +2297,enim,eligendi,2297 +2298,minus,sapiente,2298 +2299,omnis,voluptatum,2299 +2300,unde,porro,2300 +2301,reiciendis,laudantium,2301 +2302,laboriosam,officia,2302 +2303,rerum,nobis,2303 +2304,qui,dolores,2304 +2305,est,eius,2305 +2306,velit,perspiciatis,2306 +2307,nam,mollitia,2307 +2308,autem,id,2308 +2309,beatae,iusto,2309 +2310,quia,rem,2310 +2311,quaerat,tempora,2311 +2312,ut,assumenda,2312 +2313,voluptas,aspernatur,2313 +2314,omnis,et,2314 +2315,aut,corrupti,2315 +2316,commodi,harum,2316 +2317,hic,at,2317 +2318,eum,facilis,2318 +2319,aut,ut,2319 +2320,quo,est,2320 +2321,voluptatibus,culpa,2321 +2322,unde,voluptatem,2322 +2323,sit,atque,2323 +2324,deserunt,voluptatem,2324 +2325,adipisci,minus,2325 +2326,dolores,velit,2326 +2327,et,beatae,2327 +2328,ipsa,voluptatem,2328 +2329,adipisci,soluta,2329 +2330,dolor,quas,2330 +2331,reiciendis,facere,2331 +2332,earum,reiciendis,2332 +2333,exercitationem,sint,2333 +2334,placeat,animi,2334 +2335,aut,eos,2335 +2336,accusamus,velit,2336 +2337,dolores,cumque,2337 +2338,eveniet,voluptatibus,2338 +2339,expedita,quia,2339 +2340,saepe,totam,2340 +2341,ipsam,quo,2341 +2342,mollitia,porro,2342 +2343,accusantium,odit,2343 +2344,facilis,nostrum,2344 +2345,id,iste,2345 +2346,in,odio,2346 +2347,aliquid,maiores,2347 +2348,quod,maxime,2348 +2349,ipsa,perspiciatis,2349 +2350,necessitatibus,eum,2350 +2351,eveniet,ut,2351 +2352,rem,dolor,2352 +2353,maxime,est,2353 +2354,at,blanditiis,2354 +2355,qui,nam,2355 +2356,eligendi,dolores,2356 +2357,nesciunt,molestias,2357 +2358,explicabo,soluta,2358 +2359,et,aut,2359 +2360,quis,sunt,2360 +2361,illum,similique,2361 +2362,et,aperiam,2362 +2363,et,fugiat,2363 +2364,dignissimos,beatae,2364 +2365,sed,praesentium,2365 +2366,amet,id,2366 +2367,accusantium,ad,2367 +2368,iure,rem,2368 +2369,sed,tenetur,2369 +2370,laudantium,placeat,2370 +2371,nobis,doloribus,2371 +2372,qui,in,2372 +2373,in,aliquid,2373 +2374,culpa,omnis,2374 +2375,pariatur,facilis,2375 +2376,quia,aspernatur,2376 +2377,nisi,et,2377 +2378,eos,aut,2378 +2379,quidem,iusto,2379 +2380,numquam,reiciendis,2380 +2381,debitis,consequatur,2381 +2382,ea,amet,2382 +2383,aut,dicta,2383 +2384,cumque,aspernatur,2384 +2385,quas,adipisci,2385 +2386,eligendi,ipsam,2386 +2387,esse,labore,2387 +2388,recusandae,et,2388 +2389,ea,et,2389 +2390,alias,est,2390 +2391,dolor,qui,2391 +2392,quibusdam,in,2392 +2393,minima,id,2393 +2394,iste,possimus,2394 +2395,ipsum,iure,2395 +2396,ullam,rerum,2396 +2397,qui,molestias,2397 +2398,sit,eos,2398 +2399,voluptatem,officia,2399 +2400,pariatur,voluptas,2400 +2401,quos,cumque,2401 +2402,repellat,rem,2402 +2403,distinctio,aut,2403 +2404,esse,consequatur,2404 +2405,cum,natus,2405 +2406,cum,libero,2406 +2407,laudantium,vero,2407 +2408,officia,est,2408 +2409,eos,quas,2409 +2410,aut,eaque,2410 +2411,accusantium,molestias,2411 +2412,dignissimos,rerum,2412 +2413,sed,voluptates,2413 +2414,dolore,rerum,2414 +2415,perferendis,aut,2415 +2416,ipsa,vero,2416 +2417,vel,eum,2417 +2418,soluta,iure,2418 +2419,quibusdam,exercitationem,2419 +2420,et,unde,2420 +2421,provident,sunt,2421 +2422,deleniti,sit,2422 +2423,omnis,est,2423 +2424,et,doloribus,2424 +2425,consectetur,cumque,2425 +2426,ea,magnam,2426 +2427,distinctio,autem,2427 +2428,molestiae,et,2428 +2429,reprehenderit,consequatur,2429 +2430,accusantium,magni,2430 +2431,ratione,quae,2431 +2432,mollitia,odit,2432 +2433,tempora,vero,2433 +2434,nostrum,rerum,2434 +2435,tenetur,molestiae,2435 +2436,dignissimos,cum,2436 +2437,ipsum,laboriosam,2437 +2438,quasi,inventore,2438 +2439,perferendis,et,2439 +2440,quasi,voluptas,2440 +2441,qui,esse,2441 +2442,suscipit,animi,2442 +2443,ullam,qui,2443 +2444,veniam,est,2444 +2445,facilis,sit,2445 +2446,incidunt,autem,2446 +2447,sint,est,2447 +2448,dolorem,eveniet,2448 +2449,facere,ut,2449 +2450,iste,earum,2450 +2451,et,esse,2451 +2452,perspiciatis,minima,2452 +2453,et,consequatur,2453 +2454,magni,voluptatum,2454 +2455,soluta,officia,2455 +2456,vitae,harum,2456 +2457,inventore,nisi,2457 +2458,pariatur,tempora,2458 +2459,accusantium,iste,2459 +2460,non,quam,2460 +2461,esse,aut,2461 +2462,nulla,cumque,2462 +2463,nobis,deleniti,2463 +2464,rerum,maxime,2464 +2465,doloremque,rem,2465 +2466,iusto,molestiae,2466 +2467,temporibus,itaque,2467 +2468,sit,hic,2468 +2469,sapiente,qui,2469 +2470,sed,corporis,2470 +2471,maxime,ratione,2471 +2472,voluptatem,voluptatem,2472 +2473,corporis,id,2473 +2474,natus,pariatur,2474 +2475,nemo,dolor,2475 +2476,ex,enim,2476 +2477,dolorem,quo,2477 +2478,voluptas,provident,2478 +2479,repellendus,sunt,2479 +2480,non,pariatur,2480 +2481,illum,est,2481 +2482,officiis,dolor,2482 +2483,dicta,dolor,2483 +2484,sed,earum,2484 +2485,placeat,ullam,2485 +2486,voluptatem,officia,2486 +2487,non,et,2487 +2488,modi,corporis,2488 +2489,cum,ipsum,2489 +2490,qui,reiciendis,2490 +2491,distinctio,eos,2491 +2492,eos,possimus,2492 +2493,vel,maiores,2493 +2494,assumenda,doloremque,2494 +2495,optio,ad,2495 +2496,fugiat,voluptatem,2496 +2497,facere,nobis,2497 +2498,eos,et,2498 +2499,asperiores,vero,2499 +2500,omnis,nisi,2500 +2501,sed,occaecati,2501 +2502,commodi,sit,2502 +2503,incidunt,ipsa,2503 +2504,non,aliquam,2504 +2505,omnis,voluptas,2505 +2506,est,magni,2506 +2507,tempore,sint,2507 +2508,aliquam,praesentium,2508 +2509,nulla,fugiat,2509 +2510,iste,et,2510 +2511,quia,odit,2511 +2512,blanditiis,a,2512 +2513,numquam,et,2513 +2514,veniam,enim,2514 +2515,ipsam,eligendi,2515 +2516,nam,et,2516 +2517,ut,fuga,2517 +2518,eos,rem,2518 +2519,cupiditate,nemo,2519 +2520,sint,fuga,2520 +2521,ab,minima,2521 +2522,doloribus,voluptatem,2522 +2523,amet,tempore,2523 +2524,veniam,quae,2524 +2525,magnam,nesciunt,2525 +2526,quidem,vitae,2526 +2527,perferendis,et,2527 +2528,earum,aut,2528 +2529,consequatur,aut,2529 +2530,eveniet,placeat,2530 +2531,amet,autem,2531 +2532,in,ipsa,2532 +2533,doloremque,non,2533 +2534,dolores,corporis,2534 +2535,rerum,fugiat,2535 +2536,aliquam,rerum,2536 +2537,aut,eos,2537 +2538,magnam,veniam,2538 +2539,aut,architecto,2539 +2540,ullam,est,2540 +2541,voluptate,qui,2541 +2542,blanditiis,delectus,2542 +2543,eum,repudiandae,2543 +2544,necessitatibus,blanditiis,2544 +2545,aut,ut,2545 +2546,nostrum,neque,2546 +2547,aut,dolores,2547 +2548,voluptates,sapiente,2548 +2549,unde,ut,2549 +2550,ut,autem,2550 +2551,harum,nemo,2551 +2552,quo,quibusdam,2552 +2553,eos,ut,2553 +2554,ut,aliquid,2554 +2555,nulla,sunt,2555 +2556,harum,quidem,2556 +2557,ratione,rem,2557 +2558,et,explicabo,2558 +2559,eum,voluptatum,2559 +2560,dolore,doloribus,2560 +2561,voluptas,hic,2561 +2562,incidunt,qui,2562 +2563,iste,et,2563 +2564,blanditiis,eum,2564 +2565,quidem,nesciunt,2565 +2566,error,ab,2566 +2567,illo,magnam,2567 +2568,ad,blanditiis,2568 +2569,voluptas,quas,2569 +2570,id,facere,2570 +2571,repellendus,consequatur,2571 +2572,sunt,quas,2572 +2573,aut,sit,2573 +2574,nobis,architecto,2574 +2575,ipsum,et,2575 +2576,et,rerum,2576 +2577,eos,voluptatibus,2577 +2578,quasi,saepe,2578 +2579,repellendus,porro,2579 +2580,assumenda,sit,2580 +2581,eveniet,enim,2581 +2582,voluptatum,debitis,2582 +2583,ullam,fugiat,2583 +2584,libero,placeat,2584 +2585,libero,accusantium,2585 +2586,aut,fugit,2586 +2587,et,enim,2587 +2588,velit,commodi,2588 +2589,culpa,harum,2589 +2590,explicabo,et,2590 +2591,optio,dolorem,2591 +2592,sed,aspernatur,2592 +2593,iusto,voluptas,2593 +2594,explicabo,voluptates,2594 +2595,nostrum,sint,2595 +2596,repellendus,pariatur,2596 +2597,quasi,iste,2597 +2598,et,odio,2598 +2599,fuga,sapiente,2599 +2600,dolorem,recusandae,2600 +2601,et,non,2601 +2602,natus,rem,2602 +2603,mollitia,veniam,2603 +2604,a,voluptatem,2604 +2605,vitae,aut,2605 +2606,voluptas,error,2606 +2607,et,sunt,2607 +2608,quis,sit,2608 +2609,et,earum,2609 +2610,modi,deserunt,2610 +2611,quod,aut,2611 +2612,dolores,vero,2612 +2613,autem,ullam,2613 +2614,illo,libero,2614 +2615,placeat,aperiam,2615 +2616,maiores,iste,2616 +2617,in,magnam,2617 +2618,accusantium,architecto,2618 +2619,nobis,velit,2619 +2620,delectus,ipsam,2620 +2621,ut,rem,2621 +2622,voluptates,ipsa,2622 +2623,inventore,nisi,2623 +2624,nostrum,deserunt,2624 +2625,sequi,at,2625 +2626,et,illo,2626 +2627,voluptatem,nam,2627 +2628,qui,incidunt,2628 +2629,adipisci,impedit,2629 +2630,voluptate,temporibus,2630 +2631,blanditiis,et,2631 +2632,quidem,quia,2632 +2633,harum,blanditiis,2633 +2634,et,inventore,2634 +2635,ea,iure,2635 +2636,error,sapiente,2636 +2637,tenetur,assumenda,2637 +2638,molestias,debitis,2638 +2639,deserunt,odio,2639 +2640,in,repellendus,2640 +2641,dolorem,labore,2641 +2642,perferendis,voluptates,2642 +2643,quaerat,aut,2643 +2644,corrupti,quia,2644 +2645,minus,eius,2645 +2646,molestiae,voluptatem,2646 +2647,reiciendis,error,2647 +2648,quia,est,2648 +2649,sunt,praesentium,2649 +2650,delectus,sapiente,2650 +2651,modi,dolores,2651 +2652,sit,natus,2652 +2653,non,voluptatem,2653 +2654,quis,reprehenderit,2654 +2655,nemo,animi,2655 +2656,eos,minus,2656 +2657,dolore,omnis,2657 +2658,deleniti,sit,2658 +2659,accusantium,nobis,2659 +2660,et,ducimus,2660 +2661,corrupti,expedita,2661 +2662,quaerat,nam,2662 +2663,magnam,rerum,2663 +2664,ipsa,aut,2664 +2665,nihil,dolores,2665 +2666,consequatur,iusto,2666 +2667,voluptatum,odit,2667 +2668,vero,quas,2668 +2669,ut,cumque,2669 +2670,aut,minima,2670 +2671,qui,dolores,2671 +2672,suscipit,ut,2672 +2673,quaerat,amet,2673 +2674,et,inventore,2674 +2675,iste,quos,2675 +2676,quae,voluptatum,2676 +2677,cum,neque,2677 +2678,id,aliquid,2678 +2679,eos,voluptatem,2679 +2680,itaque,qui,2680 +2681,sapiente,omnis,2681 +2682,quibusdam,at,2682 +2683,vitae,aperiam,2683 +2684,qui,perspiciatis,2684 +2685,dolorem,doloremque,2685 +2686,deserunt,esse,2686 +2687,suscipit,eos,2687 +2688,beatae,molestias,2688 +2689,magni,rerum,2689 +2690,et,quisquam,2690 +2691,voluptatem,aut,2691 +2692,rerum,dignissimos,2692 +2693,omnis,ad,2693 +2694,a,dignissimos,2694 +2695,dolore,aut,2695 +2696,tempore,tempora,2696 +2697,magni,autem,2697 +2698,dolor,accusamus,2698 +2699,perspiciatis,molestias,2699 +2700,quaerat,similique,2700 +2701,aut,quos,2701 +2702,facere,doloremque,2702 +2703,doloremque,delectus,2703 +2704,magni,exercitationem,2704 +2705,ea,culpa,2705 +2706,culpa,assumenda,2706 +2707,officiis,dicta,2707 +2708,qui,laboriosam,2708 +2709,modi,eos,2709 +2710,consequuntur,repudiandae,2710 +2711,dolor,mollitia,2711 +2712,quisquam,illum,2712 +2713,sunt,unde,2713 +2714,quo,voluptas,2714 +2715,fugit,deleniti,2715 +2716,culpa,provident,2716 +2717,labore,praesentium,2717 +2718,cupiditate,numquam,2718 +2719,quis,qui,2719 +2720,deserunt,vel,2720 +2721,expedita,cupiditate,2721 +2722,ut,voluptatibus,2722 +2723,sapiente,voluptatem,2723 +2724,sed,recusandae,2724 +2725,et,animi,2725 +2726,iure,est,2726 +2727,odio,est,2727 +2728,blanditiis,amet,2728 +2729,laborum,reiciendis,2729 +2730,maxime,officiis,2730 +2731,explicabo,iure,2731 +2732,modi,minus,2732 +2733,sed,animi,2733 +2734,est,facere,2734 +2735,cum,sed,2735 +2736,eius,molestias,2736 +2737,nihil,dolorem,2737 +2738,aut,unde,2738 +2739,commodi,omnis,2739 +2740,cum,quas,2740 +2741,iusto,nostrum,2741 +2742,voluptatem,et,2742 +2743,aut,et,2743 +2744,qui,eos,2744 +2745,non,in,2745 +2746,reiciendis,et,2746 +2747,inventore,perferendis,2747 +2748,modi,commodi,2748 +2749,aut,vel,2749 +2750,perspiciatis,optio,2750 +2751,quis,iusto,2751 +2752,ea,qui,2752 +2753,architecto,corporis,2753 +2754,in,recusandae,2754 +2755,fugiat,voluptatem,2755 +2756,libero,quia,2756 +2757,nihil,similique,2757 +2758,quis,quam,2758 +2759,deleniti,sed,2759 +2760,eius,fugiat,2760 +2761,nulla,iusto,2761 +2762,nihil,et,2762 +2763,quisquam,sint,2763 +2764,iste,iste,2764 +2765,et,nobis,2765 +2766,recusandae,quia,2766 +2767,consequatur,alias,2767 +2768,excepturi,molestiae,2768 +2769,sed,ipsum,2769 +2770,ut,labore,2770 +2771,qui,quos,2771 +2772,dolor,ut,2772 +2773,ullam,quas,2773 +2774,iusto,maxime,2774 +2775,dolor,est,2775 +2776,nobis,deleniti,2776 +2777,fugit,culpa,2777 +2778,est,velit,2778 +2779,dolores,molestiae,2779 +2780,sit,suscipit,2780 +2781,unde,in,2781 +2782,molestiae,voluptas,2782 +2783,repellat,eius,2783 +2784,non,ab,2784 +2785,sint,sint,2785 +2786,voluptatibus,earum,2786 +2787,dolore,in,2787 +2788,sapiente,eos,2788 +2789,quis,sequi,2789 +2790,voluptates,beatae,2790 +2791,sapiente,quia,2791 +2792,sit,dolorem,2792 +2793,omnis,doloremque,2793 +2794,adipisci,dignissimos,2794 +2795,beatae,necessitatibus,2795 +2796,vel,doloribus,2796 +2797,sit,nulla,2797 +2798,corrupti,et,2798 +2799,a,sapiente,2799 +2800,quaerat,optio,2800 +2801,dicta,animi,2801 +2802,numquam,et,2802 +2803,et,aliquid,2803 +2804,accusamus,dolores,2804 +2805,est,adipisci,2805 +2806,non,iure,2806 +2807,nihil,veniam,2807 +2808,et,autem,2808 +2809,nesciunt,ducimus,2809 +2810,minus,vel,2810 +2811,cum,sit,2811 +2812,maxime,ea,2812 +2813,officia,veniam,2813 +2814,qui,minus,2814 +2815,similique,perspiciatis,2815 +2816,est,ut,2816 +2817,in,fuga,2817 +2818,necessitatibus,incidunt,2818 +2819,voluptatibus,et,2819 +2820,dolore,minus,2820 +2821,velit,id,2821 +2822,laudantium,et,2822 +2823,vel,recusandae,2823 +2824,delectus,nulla,2824 +2825,mollitia,sint,2825 +2826,ut,aut,2826 +2827,dolorem,quod,2827 +2828,ut,dolores,2828 +2829,soluta,aut,2829 +2830,occaecati,et,2830 +2831,debitis,qui,2831 +2832,suscipit,adipisci,2832 +2833,facilis,at,2833 +2834,animi,aut,2834 +2835,veritatis,itaque,2835 +2836,dolore,aliquam,2836 +2837,aut,voluptatem,2837 +2838,vero,est,2838 +2839,aliquid,mollitia,2839 +2840,qui,voluptatum,2840 +2841,omnis,ea,2841 +2842,delectus,quam,2842 +2843,modi,doloribus,2843 +2844,necessitatibus,ducimus,2844 +2845,voluptas,nulla,2845 +2846,sit,rem,2846 +2847,possimus,sequi,2847 +2848,id,similique,2848 +2849,quis,dolorum,2849 +2850,sit,rerum,2850 +2851,ex,voluptas,2851 +2852,et,quis,2852 +2853,saepe,quia,2853 +2854,laboriosam,temporibus,2854 +2855,nihil,est,2855 +2856,est,inventore,2856 +2857,voluptate,sit,2857 +2858,nesciunt,ipsa,2858 +2859,excepturi,sequi,2859 +2860,quos,ad,2860 +2861,ut,laboriosam,2861 +2862,est,id,2862 +2863,sit,doloribus,2863 +2864,qui,veritatis,2864 +2865,soluta,est,2865 +2866,eligendi,consequatur,2866 +2867,saepe,voluptatem,2867 +2868,eos,iusto,2868 +2869,veniam,dicta,2869 +2870,suscipit,nulla,2870 +2871,neque,aperiam,2871 +2872,modi,maxime,2872 +2873,aliquam,aut,2873 +2874,a,inventore,2874 +2875,qui,alias,2875 +2876,voluptates,consequatur,2876 +2877,natus,dolores,2877 +2878,et,sunt,2878 +2879,eligendi,ab,2879 +2880,odio,eos,2880 +2881,quia,dolorem,2881 +2882,voluptas,neque,2882 +2883,autem,voluptas,2883 +2884,facilis,harum,2884 +2885,commodi,ut,2885 +2886,facere,necessitatibus,2886 +2887,nesciunt,omnis,2887 +2888,consequuntur,ab,2888 +2889,maiores,iure,2889 +2890,rem,ratione,2890 +2891,aspernatur,facere,2891 +2892,vel,deserunt,2892 +2893,nihil,esse,2893 +2894,inventore,aspernatur,2894 +2895,fugit,fugit,2895 +2896,error,neque,2896 +2897,quos,omnis,2897 +2898,laudantium,quia,2898 +2899,officiis,quia,2899 +2900,voluptas,suscipit,2900 +2901,id,id,2901 +2902,at,officiis,2902 +2903,natus,dolore,2903 +2904,repudiandae,qui,2904 +2905,voluptatibus,dolor,2905 +2906,sint,temporibus,2906 +2907,ut,explicabo,2907 +2908,et,et,2908 +2909,iste,et,2909 +2910,mollitia,facere,2910 +2911,adipisci,quod,2911 +2912,quia,nihil,2912 +2913,magni,eum,2913 +2914,et,voluptatem,2914 +2915,quae,recusandae,2915 +2916,harum,adipisci,2916 +2917,unde,dolorem,2917 +2918,qui,ut,2918 +2919,eaque,occaecati,2919 +2920,voluptas,amet,2920 +2921,doloremque,dolor,2921 +2922,dolorem,provident,2922 +2923,quas,omnis,2923 +2924,nulla,cumque,2924 +2925,consectetur,magni,2925 +2926,laudantium,recusandae,2926 +2927,vitae,quod,2927 +2928,numquam,quia,2928 +2929,mollitia,est,2929 +2930,explicabo,dolores,2930 +2931,velit,odio,2931 +2932,ut,dolor,2932 +2933,qui,nam,2933 +2934,eos,quaerat,2934 +2935,ullam,libero,2935 +2936,fuga,non,2936 +2937,cum,nisi,2937 +2938,accusantium,dolorum,2938 +2939,provident,non,2939 +2940,blanditiis,ipsum,2940 +2941,veniam,iste,2941 +2942,non,nihil,2942 +2943,iure,voluptatem,2943 +2944,necessitatibus,explicabo,2944 +2945,aut,inventore,2945 +2946,impedit,velit,2946 +2947,repellat,vel,2947 +2948,qui,omnis,2948 +2949,repudiandae,officia,2949 +2950,consequuntur,corrupti,2950 +2951,et,esse,2951 +2952,autem,rem,2952 +2953,mollitia,in,2953 +2954,perspiciatis,nesciunt,2954 +2955,doloribus,animi,2955 +2956,sunt,provident,2956 +2957,quis,consequatur,2957 +2958,nihil,accusamus,2958 +2959,libero,est,2959 +2960,eaque,et,2960 +2961,aut,porro,2961 +2962,distinctio,impedit,2962 +2963,amet,consequatur,2963 +2964,quod,sed,2964 +2965,in,suscipit,2965 +2966,ratione,et,2966 +2967,minus,eius,2967 +2968,culpa,sint,2968 +2969,tempore,quasi,2969 +2970,qui,voluptatem,2970 +2971,enim,laborum,2971 +2972,voluptates,sapiente,2972 +2973,numquam,autem,2973 +2974,alias,fugit,2974 +2975,accusantium,magni,2975 +2976,sit,voluptates,2976 +2977,aut,voluptas,2977 +2978,assumenda,ut,2978 +2979,qui,voluptatem,2979 +2980,minus,reprehenderit,2980 +2981,fugiat,temporibus,2981 +2982,doloribus,quis,2982 +2983,est,voluptatem,2983 +2984,et,consequatur,2984 +2985,nostrum,laudantium,2985 +2986,quasi,itaque,2986 +2987,enim,in,2987 +2988,et,magnam,2988 +2989,alias,aperiam,2989 +2990,dolor,ut,2990 +2991,non,aut,2991 +2992,et,quos,2992 +2993,nisi,nisi,2993 +2994,dolor,ut,2994 +2995,voluptate,quasi,2995 +2996,adipisci,blanditiis,2996 +2997,repellat,voluptas,2997 +2998,velit,dolores,2998 +2999,exercitationem,facere,2999 +3000,debitis,doloribus,3000 +3001,ducimus,nostrum,3001 +3002,quod,dolorem,3002 +3003,ducimus,aut,3003 +3004,quidem,perferendis,3004 +3005,sed,ducimus,3005 +3006,voluptate,voluptatem,3006 +3007,laboriosam,tempore,3007 +3008,nesciunt,odio,3008 +3009,asperiores,nam,3009 +3010,dolor,esse,3010 +3011,similique,sunt,3011 +3012,in,ipsam,3012 +3013,quo,sequi,3013 +3014,quidem,voluptas,3014 +3015,explicabo,iusto,3015 +3016,voluptatem,error,3016 +3017,asperiores,aut,3017 +3018,repellendus,nesciunt,3018 +3019,nesciunt,est,3019 +3020,in,vitae,3020 +3021,aliquid,quas,3021 +3022,quae,ipsum,3022 +3023,eveniet,quaerat,3023 +3024,quae,est,3024 +3025,voluptas,id,3025 +3026,soluta,explicabo,3026 +3027,sunt,in,3027 +3028,molestiae,et,3028 +3029,qui,enim,3029 +3030,voluptates,vel,3030 +3031,officia,facere,3031 +3032,nam,quidem,3032 +3033,iusto,et,3033 +3034,consequuntur,eveniet,3034 +3035,nulla,id,3035 +3036,tenetur,ut,3036 +3037,ea,quod,3037 +3038,explicabo,modi,3038 +3039,consequatur,necessitatibus,3039 +3040,iste,voluptas,3040 +3041,vel,praesentium,3041 +3042,et,earum,3042 +3043,et,assumenda,3043 +3044,inventore,deserunt,3044 +3045,sint,quis,3045 +3046,amet,ex,3046 +3047,explicabo,sed,3047 +3048,aut,consequuntur,3048 +3049,et,soluta,3049 +3050,dolores,occaecati,3050 +3051,quo,voluptatem,3051 +3052,molestiae,perspiciatis,3052 +3053,a,commodi,3053 +3054,sed,alias,3054 +3055,suscipit,numquam,3055 +3056,ea,veritatis,3056 +3057,corrupti,inventore,3057 +3058,temporibus,at,3058 +3059,rerum,et,3059 +3060,amet,et,3060 +3061,repellat,ex,3061 +3062,commodi,quia,3062 +3063,velit,eveniet,3063 +3064,quod,quasi,3064 +3065,eum,nesciunt,3065 +3066,eligendi,dolorum,3066 +3067,fuga,corporis,3067 +3068,voluptatem,praesentium,3068 +3069,eveniet,ut,3069 +3070,molestias,deserunt,3070 +3071,laborum,laborum,3071 +3072,voluptas,beatae,3072 +3073,tenetur,voluptatem,3073 +3074,eum,ut,3074 +3075,ipsa,fuga,3075 +3076,id,porro,3076 +3077,qui,iusto,3077 +3078,sit,consequatur,3078 +3079,eos,rerum,3079 +3080,harum,esse,3080 +3081,quia,quas,3081 +3082,nesciunt,repellendus,3082 +3083,autem,exercitationem,3083 +3084,qui,vel,3084 +3085,suscipit,consequatur,3085 +3086,dolorem,consectetur,3086 +3087,et,eaque,3087 +3088,repellendus,officia,3088 +3089,praesentium,nulla,3089 +3090,doloribus,minima,3090 +3091,ut,laborum,3091 +3092,ducimus,molestiae,3092 +3093,eum,placeat,3093 +3094,eligendi,vero,3094 +3095,accusamus,rerum,3095 +3096,est,quia,3096 +3097,aliquam,iste,3097 +3098,quia,consequatur,3098 +3099,labore,facilis,3099 +3100,quo,inventore,3100 +3101,quos,molestiae,3101 +3102,itaque,illo,3102 +3103,nam,qui,3103 +3104,minus,inventore,3104 +3105,eaque,aut,3105 +3106,iste,nobis,3106 +3107,vitae,assumenda,3107 +3108,temporibus,aliquid,3108 +3109,et,corrupti,3109 +3110,sunt,dolore,3110 +3111,quibusdam,cupiditate,3111 +3112,eaque,voluptate,3112 +3113,commodi,voluptates,3113 +3114,omnis,facilis,3114 +3115,at,perferendis,3115 +3116,amet,voluptatem,3116 +3117,qui,enim,3117 +3118,est,consequatur,3118 +3119,accusamus,alias,3119 +3120,ducimus,ut,3120 +3121,delectus,odit,3121 +3122,a,debitis,3122 +3123,voluptas,modi,3123 +3124,enim,et,3124 +3125,pariatur,omnis,3125 +3126,aut,deserunt,3126 +3127,cum,voluptas,3127 +3128,rerum,nihil,3128 +3129,beatae,quo,3129 +3130,et,voluptatem,3130 +3131,eum,voluptates,3131 +3132,est,commodi,3132 +3133,eveniet,quae,3133 +3134,enim,cupiditate,3134 +3135,unde,in,3135 +3136,molestias,molestiae,3136 +3137,asperiores,sed,3137 +3138,rerum,qui,3138 +3139,et,possimus,3139 +3140,quia,reprehenderit,3140 +3141,excepturi,tempora,3141 +3142,voluptatibus,voluptatibus,3142 +3143,eaque,rerum,3143 +3144,dignissimos,beatae,3144 +3145,dolores,et,3145 +3146,qui,dolor,3146 +3147,inventore,atque,3147 +3148,iusto,eum,3148 +3149,voluptates,temporibus,3149 +3150,debitis,et,3150 +3151,sint,perspiciatis,3151 +3152,hic,adipisci,3152 +3153,assumenda,ex,3153 +3154,repellat,magni,3154 +3155,delectus,consectetur,3155 +3156,quis,aut,3156 +3157,quo,quod,3157 +3158,ad,quo,3158 +3159,non,quia,3159 +3160,accusamus,enim,3160 +3161,nemo,dignissimos,3161 +3162,molestias,molestiae,3162 +3163,voluptatibus,et,3163 +3164,voluptatibus,est,3164 +3165,sequi,cumque,3165 +3166,cumque,id,3166 +3167,cum,iste,3167 +3168,est,nihil,3168 +3169,et,voluptatem,3169 +3170,sint,quia,3170 +3171,amet,odio,3171 +3172,omnis,et,3172 +3173,qui,explicabo,3173 +3174,et,sit,3174 +3175,nobis,sunt,3175 +3176,excepturi,eos,3176 +3177,quia,veniam,3177 +3178,temporibus,sint,3178 +3179,animi,totam,3179 +3180,optio,incidunt,3180 +3181,fugit,et,3181 +3182,nostrum,sint,3182 +3183,maiores,qui,3183 +3184,aspernatur,voluptatem,3184 +3185,quam,omnis,3185 +3186,quis,magnam,3186 +3187,sit,dolor,3187 +3188,eaque,voluptatibus,3188 +3189,enim,autem,3189 +3190,quia,totam,3190 +3191,eligendi,architecto,3191 +3192,sunt,et,3192 +3193,quia,et,3193 +3194,assumenda,perferendis,3194 +3195,ut,est,3195 +3196,et,architecto,3196 +3197,dolorum,fugit,3197 +3198,libero,possimus,3198 +3199,quasi,voluptatem,3199 +3200,magni,qui,3200 +3201,quia,dignissimos,3201 +3202,ipsa,molestiae,3202 +3203,sed,laborum,3203 +3204,dolore,animi,3204 +3205,minima,officia,3205 +3206,quod,maxime,3206 +3207,non,rem,3207 +3208,adipisci,rerum,3208 +3209,voluptate,accusamus,3209 +3210,deleniti,placeat,3210 +3211,officia,harum,3211 +3212,provident,id,3212 +3213,id,voluptatem,3213 +3214,minus,doloremque,3214 +3215,libero,temporibus,3215 +3216,sed,iusto,3216 +3217,dolores,ab,3217 +3218,quia,nihil,3218 +3219,est,sed,3219 +3220,sit,repellat,3220 +3221,quia,aliquam,3221 +3222,ut,rem,3222 +3223,dolorem,explicabo,3223 +3224,reprehenderit,sint,3224 +3225,est,molestiae,3225 +3226,quia,quis,3226 +3227,hic,enim,3227 +3228,provident,eum,3228 +3229,magnam,dolores,3229 +3230,illum,laboriosam,3230 +3231,maxime,aliquid,3231 +3232,dolores,officia,3232 +3233,aliquid,placeat,3233 +3234,et,dolor,3234 +3235,minima,rem,3235 +3236,ipsum,blanditiis,3236 +3237,impedit,quaerat,3237 +3238,aut,enim,3238 +3239,consequatur,tenetur,3239 +3240,placeat,maiores,3240 +3241,quia,cupiditate,3241 +3242,et,maiores,3242 +3243,natus,earum,3243 +3244,doloremque,aut,3244 +3245,neque,adipisci,3245 +3246,et,consectetur,3246 +3247,quia,odit,3247 +3248,aliquam,alias,3248 +3249,recusandae,omnis,3249 +3250,doloremque,est,3250 +3251,fuga,nulla,3251 +3252,ut,impedit,3252 +3253,quam,vel,3253 +3254,qui,illo,3254 +3255,voluptas,dicta,3255 +3256,veniam,rerum,3256 +3257,qui,reprehenderit,3257 +3258,officia,sed,3258 +3259,accusamus,temporibus,3259 +3260,recusandae,autem,3260 +3261,maxime,reprehenderit,3261 +3262,nostrum,labore,3262 +3263,laboriosam,iste,3263 +3264,porro,aut,3264 +3265,et,dolorum,3265 +3266,qui,labore,3266 +3267,laborum,numquam,3267 +3268,repudiandae,soluta,3268 +3269,et,quos,3269 +3270,ut,qui,3270 +3271,excepturi,doloremque,3271 +3272,dolor,reprehenderit,3272 +3273,quis,labore,3273 +3274,dolorem,est,3274 +3275,cupiditate,optio,3275 +3276,quo,consequatur,3276 +3277,sed,voluptate,3277 +3278,laboriosam,veritatis,3278 +3279,et,dolor,3279 +3280,odio,eum,3280 +3281,quo,iusto,3281 +3282,aspernatur,vitae,3282 +3283,hic,voluptatem,3283 +3284,mollitia,assumenda,3284 +3285,quo,occaecati,3285 +3286,enim,hic,3286 +3287,est,quo,3287 +3288,accusamus,accusamus,3288 +3289,molestiae,tenetur,3289 +3290,dolores,et,3290 +3291,qui,voluptate,3291 +3292,quis,velit,3292 +3293,architecto,modi,3293 +3294,est,illum,3294 +3295,est,a,3295 +3296,et,unde,3296 +3297,quasi,quia,3297 +3298,laudantium,voluptas,3298 +3299,veritatis,et,3299 +3300,at,voluptatem,3300 +3301,maxime,eius,3301 +3302,velit,rem,3302 +3303,voluptatem,nemo,3303 +3304,consequatur,in,3304 +3305,exercitationem,debitis,3305 +3306,error,repudiandae,3306 +3307,consequatur,eveniet,3307 +3308,aut,voluptatibus,3308 +3309,blanditiis,deserunt,3309 +3310,facilis,unde,3310 +3311,in,quam,3311 +3312,et,est,3312 +3313,maxime,praesentium,3313 +3314,dolores,sapiente,3314 +3315,quia,at,3315 +3316,numquam,corporis,3316 +3317,omnis,cumque,3317 +3318,occaecati,commodi,3318 +3319,molestiae,repellat,3319 +3320,voluptate,velit,3320 +3321,fuga,cumque,3321 +3322,minus,nesciunt,3322 +3323,voluptatem,a,3323 +3324,minima,dolores,3324 +3325,labore,cupiditate,3325 +3326,blanditiis,in,3326 +3327,iste,non,3327 +3328,ipsum,magni,3328 +3329,labore,debitis,3329 +3330,ad,veniam,3330 +3331,perferendis,ipsam,3331 +3332,similique,et,3332 +3333,qui,dolor,3333 +3334,dolorem,eius,3334 +3335,ut,a,3335 +3336,ea,consequatur,3336 +3337,aspernatur,nisi,3337 +3338,accusamus,aut,3338 +3339,quibusdam,sint,3339 +3340,unde,omnis,3340 +3341,dolorem,distinctio,3341 +3342,sapiente,dolorum,3342 +3343,vero,a,3343 +3344,voluptas,officiis,3344 +3345,quia,velit,3345 +3346,fugit,debitis,3346 +3347,voluptas,dolor,3347 +3348,dicta,quia,3348 +3349,minus,consequatur,3349 +3350,velit,et,3350 +3351,aut,et,3351 +3352,laudantium,non,3352 +3353,laborum,iste,3353 +3354,cum,dolor,3354 +3355,est,occaecati,3355 +3356,ducimus,officia,3356 +3357,distinctio,quasi,3357 +3358,tempora,soluta,3358 +3359,doloremque,quo,3359 +3360,ut,quia,3360 +3361,quasi,autem,3361 +3362,ullam,minus,3362 +3363,et,praesentium,3363 +3364,omnis,est,3364 +3365,nihil,hic,3365 +3366,qui,et,3366 +3367,consequatur,qui,3367 +3368,cumque,quis,3368 +3369,voluptas,vitae,3369 +3370,dolor,corporis,3370 +3371,et,magni,3371 +3372,unde,minus,3372 +3373,recusandae,rerum,3373 +3374,non,cumque,3374 +3375,dolore,voluptatum,3375 +3376,qui,aut,3376 +3377,qui,quis,3377 +3378,sint,omnis,3378 +3379,deserunt,id,3379 +3380,nemo,aliquam,3380 +3381,asperiores,a,3381 +3382,et,tempore,3382 +3383,eaque,et,3383 +3384,odio,et,3384 +3385,omnis,deserunt,3385 +3386,rem,dolorum,3386 +3387,asperiores,sed,3387 +3388,modi,sed,3388 +3389,aut,error,3389 +3390,cumque,quis,3390 +3391,omnis,praesentium,3391 +3392,praesentium,eveniet,3392 +3393,aut,quasi,3393 +3394,sint,commodi,3394 +3395,fugit,ut,3395 +3396,iusto,magnam,3396 +3397,debitis,quidem,3397 +3398,voluptatibus,aut,3398 +3399,ea,aspernatur,3399 +3400,in,odit,3400 +3401,nemo,est,3401 +3402,cum,ducimus,3402 +3403,consectetur,quae,3403 +3404,praesentium,hic,3404 +3405,recusandae,consectetur,3405 +3406,doloribus,amet,3406 +3407,et,sed,3407 +3408,et,ut,3408 +3409,nihil,vitae,3409 +3410,ullam,iusto,3410 +3411,qui,aut,3411 +3412,sapiente,officia,3412 +3413,rerum,adipisci,3413 +3414,omnis,rem,3414 +3415,unde,ut,3415 +3416,ut,illum,3416 +3417,et,et,3417 +3418,aliquid,rerum,3418 +3419,enim,facere,3419 +3420,esse,qui,3420 +3421,animi,eum,3421 +3422,modi,possimus,3422 +3423,reiciendis,incidunt,3423 +3424,soluta,dolor,3424 +3425,enim,id,3425 +3426,et,laboriosam,3426 +3427,aut,aliquid,3427 +3428,corporis,rerum,3428 +3429,officiis,et,3429 +3430,autem,qui,3430 +3431,et,expedita,3431 +3432,dolorem,suscipit,3432 +3433,quidem,voluptas,3433 +3434,dolore,est,3434 +3435,qui,porro,3435 +3436,omnis,et,3436 +3437,quos,dignissimos,3437 +3438,reiciendis,voluptatum,3438 +3439,omnis,quo,3439 +3440,id,saepe,3440 +3441,sint,illo,3441 +3442,voluptate,ab,3442 +3443,provident,iste,3443 +3444,numquam,eveniet,3444 +3445,fugiat,omnis,3445 +3446,nulla,nam,3446 +3447,ut,voluptatem,3447 +3448,omnis,dolores,3448 +3449,dolorem,id,3449 +3450,sit,non,3450 +3451,consequatur,minus,3451 +3452,recusandae,temporibus,3452 +3453,eveniet,vero,3453 +3454,nulla,blanditiis,3454 +3455,eius,dolorum,3455 +3456,voluptates,sit,3456 +3457,deserunt,nam,3457 +3458,consequatur,ducimus,3458 +3459,sed,aut,3459 +3460,tenetur,id,3460 +3461,recusandae,et,3461 +3462,ea,autem,3462 +3463,aut,eaque,3463 +3464,velit,enim,3464 +3465,unde,dolores,3465 +3466,architecto,repellendus,3466 +3467,reiciendis,qui,3467 +3468,pariatur,blanditiis,3468 +3469,eum,voluptatem,3469 +3470,consequatur,earum,3470 +3471,optio,soluta,3471 +3472,quibusdam,saepe,3472 +3473,sed,eos,3473 +3474,ipsum,eaque,3474 +3475,nobis,dolorem,3475 +3476,quo,rerum,3476 +3477,provident,vel,3477 +3478,corporis,laboriosam,3478 +3479,repudiandae,accusantium,3479 +3480,animi,illo,3480 +3481,aliquam,nisi,3481 +3482,officia,nisi,3482 +3483,atque,harum,3483 +3484,earum,sed,3484 +3485,ut,dicta,3485 +3486,ipsum,doloremque,3486 +3487,recusandae,doloribus,3487 +3488,laboriosam,dolorum,3488 +3489,aut,rem,3489 +3490,voluptatem,a,3490 +3491,quia,nisi,3491 +3492,ut,quis,3492 +3493,ut,dolores,3493 +3494,tempore,veritatis,3494 +3495,voluptatibus,iste,3495 +3496,necessitatibus,non,3496 +3497,quibusdam,aut,3497 +3498,delectus,molestiae,3498 +3499,reiciendis,id,3499 +3500,blanditiis,sed,3500 +3501,eaque,aut,3501 +3502,atque,doloremque,3502 +3503,aut,sed,3503 +3504,quam,quibusdam,3504 +3505,minus,consequatur,3505 +3506,odio,velit,3506 +3507,praesentium,et,3507 +3508,deserunt,nobis,3508 +3509,qui,laboriosam,3509 +3510,qui,quasi,3510 +3511,est,earum,3511 +3512,architecto,veniam,3512 +3513,sit,et,3513 +3514,possimus,blanditiis,3514 +3515,dolores,iusto,3515 +3516,molestiae,aut,3516 +3517,est,libero,3517 +3518,aliquid,officia,3518 +3519,tempora,impedit,3519 +3520,fuga,iure,3520 +3521,reprehenderit,aperiam,3521 +3522,voluptatem,tempore,3522 +3523,consequatur,iusto,3523 +3524,excepturi,quibusdam,3524 +3525,optio,enim,3525 +3526,quam,omnis,3526 +3527,possimus,consequatur,3527 +3528,praesentium,doloribus,3528 +3529,ea,quaerat,3529 +3530,pariatur,libero,3530 +3531,maxime,pariatur,3531 +3532,quae,hic,3532 +3533,minima,odit,3533 +3534,corrupti,hic,3534 +3535,suscipit,fugiat,3535 +3536,dolores,eos,3536 +3537,omnis,labore,3537 +3538,eligendi,nesciunt,3538 +3539,unde,sunt,3539 +3540,sed,perferendis,3540 +3541,qui,cumque,3541 +3542,occaecati,earum,3542 +3543,molestiae,aut,3543 +3544,nihil,excepturi,3544 +3545,dolor,esse,3545 +3546,ut,praesentium,3546 +3547,quia,deserunt,3547 +3548,quaerat,omnis,3548 +3549,quo,sunt,3549 +3550,repellendus,accusamus,3550 +3551,et,a,3551 +3552,perspiciatis,earum,3552 +3553,laboriosam,in,3553 +3554,tempore,molestiae,3554 +3555,unde,minima,3555 +3556,est,enim,3556 +3557,repudiandae,ut,3557 +3558,qui,eum,3558 +3559,vel,aut,3559 +3560,magni,animi,3560 +3561,libero,quo,3561 +3562,nulla,quibusdam,3562 +3563,ut,voluptatum,3563 +3564,voluptatem,et,3564 +3565,sit,qui,3565 +3566,et,architecto,3566 +3567,ipsum,et,3567 +3568,maiores,molestiae,3568 +3569,qui,dolor,3569 +3570,et,qui,3570 +3571,ex,aut,3571 +3572,expedita,asperiores,3572 +3573,autem,quisquam,3573 +3574,exercitationem,consequatur,3574 +3575,quae,omnis,3575 +3576,officiis,et,3576 +3577,vitae,praesentium,3577 +3578,explicabo,quasi,3578 +3579,quia,et,3579 +3580,repellendus,veniam,3580 +3581,necessitatibus,odio,3581 +3582,cumque,atque,3582 +3583,itaque,provident,3583 +3584,nulla,in,3584 +3585,rerum,facere,3585 +3586,ut,autem,3586 +3587,veritatis,occaecati,3587 +3588,voluptatibus,aliquam,3588 +3589,temporibus,autem,3589 +3590,voluptatem,ea,3590 +3591,dolore,est,3591 +3592,enim,est,3592 +3593,earum,nam,3593 +3594,vel,omnis,3594 +3595,et,deleniti,3595 +3596,dolorum,voluptatem,3596 +3597,nostrum,soluta,3597 +3598,dignissimos,quia,3598 +3599,cum,iure,3599 +3600,aspernatur,est,3600 +3601,dolorem,fugiat,3601 +3602,neque,laborum,3602 +3603,et,vel,3603 +3604,voluptatem,expedita,3604 +3605,sunt,rerum,3605 +3606,mollitia,et,3606 +3607,ad,quaerat,3607 +3608,illo,iusto,3608 +3609,sed,necessitatibus,3609 +3610,quidem,nihil,3610 +3611,quo,voluptatem,3611 +3612,vitae,autem,3612 +3613,et,aspernatur,3613 +3614,ea,inventore,3614 +3615,qui,voluptatem,3615 +3616,voluptates,consectetur,3616 +3617,illum,quibusdam,3617 +3618,nesciunt,ab,3618 +3619,repellat,illum,3619 +3620,optio,ut,3620 +3621,quisquam,voluptas,3621 +3622,ut,ipsa,3622 +3623,minus,voluptatem,3623 +3624,accusamus,sed,3624 +3625,eligendi,iste,3625 +3626,at,est,3626 +3627,culpa,et,3627 +3628,ex,dolores,3628 +3629,debitis,earum,3629 +3630,laborum,similique,3630 +3631,temporibus,consequatur,3631 +3632,qui,iste,3632 +3633,modi,non,3633 +3634,fugiat,et,3634 +3635,deserunt,odit,3635 +3636,dignissimos,quibusdam,3636 +3637,quia,dignissimos,3637 +3638,et,enim,3638 +3639,et,culpa,3639 +3640,voluptatem,nostrum,3640 +3641,doloribus,magni,3641 +3642,harum,sint,3642 +3643,similique,quis,3643 +3644,nihil,quia,3644 +3645,qui,sit,3645 +3646,rem,ratione,3646 +3647,molestias,dignissimos,3647 +3648,minima,aut,3648 +3649,molestias,sapiente,3649 +3650,qui,dolore,3650 +3651,ad,qui,3651 +3652,commodi,doloremque,3652 +3653,illum,atque,3653 +3654,dignissimos,rem,3654 +3655,ab,eaque,3655 +3656,qui,deserunt,3656 +3657,dolores,occaecati,3657 +3658,omnis,ut,3658 +3659,omnis,eum,3659 +3660,consequatur,pariatur,3660 +3661,sit,impedit,3661 +3662,itaque,labore,3662 +3663,quae,et,3663 +3664,sed,deleniti,3664 +3665,laudantium,autem,3665 +3666,voluptate,sed,3666 +3667,pariatur,officia,3667 +3668,labore,odit,3668 +3669,nisi,qui,3669 +3670,et,nihil,3670 +3671,occaecati,voluptas,3671 +3672,alias,magnam,3672 +3673,dolores,optio,3673 +3674,accusantium,rem,3674 +3675,qui,atque,3675 +3676,culpa,numquam,3676 +3677,veniam,sit,3677 +3678,sed,corporis,3678 +3679,amet,dolorem,3679 +3680,et,ut,3680 +3681,dolores,corrupti,3681 +3682,voluptates,dolor,3682 +3683,doloribus,unde,3683 +3684,perspiciatis,vitae,3684 +3685,odio,quo,3685 +3686,eaque,consequuntur,3686 +3687,mollitia,delectus,3687 +3688,odit,consequatur,3688 +3689,necessitatibus,eos,3689 +3690,perspiciatis,in,3690 +3691,officia,in,3691 +3692,a,error,3692 +3693,impedit,voluptas,3693 +3694,vitae,omnis,3694 +3695,quaerat,quis,3695 +3696,quo,asperiores,3696 +3697,quia,explicabo,3697 +3698,nulla,quam,3698 +3699,accusantium,expedita,3699 +3700,officiis,dolores,3700 +3701,nulla,quia,3701 +3702,doloribus,vel,3702 +3703,doloribus,beatae,3703 +3704,voluptatem,labore,3704 +3705,voluptate,rerum,3705 +3706,non,sint,3706 +3707,inventore,sit,3707 +3708,quisquam,quos,3708 +3709,aut,et,3709 +3710,blanditiis,repudiandae,3710 +3711,iusto,et,3711 +3712,eligendi,libero,3712 +3713,consequatur,consequatur,3713 +3714,maiores,ducimus,3714 +3715,eaque,nostrum,3715 +3716,nostrum,aut,3716 +3717,perspiciatis,nesciunt,3717 +3718,aut,quis,3718 +3719,veniam,quis,3719 +3720,veniam,maxime,3720 +3721,ullam,id,3721 +3722,sint,in,3722 +3723,modi,voluptas,3723 +3724,blanditiis,laudantium,3724 +3725,velit,voluptatibus,3725 +3726,aspernatur,rerum,3726 +3727,animi,et,3727 +3728,velit,aspernatur,3728 +3729,atque,quas,3729 +3730,minus,aut,3730 +3731,et,aspernatur,3731 +3732,delectus,modi,3732 +3733,repellendus,eius,3733 +3734,architecto,commodi,3734 +3735,sit,a,3735 +3736,molestiae,culpa,3736 +3737,corporis,maiores,3737 +3738,sapiente,dolor,3738 +3739,repellendus,dolores,3739 +3740,sit,mollitia,3740 +3741,cumque,sit,3741 +3742,excepturi,qui,3742 +3743,ipsa,voluptatibus,3743 +3744,totam,aut,3744 +3745,necessitatibus,molestias,3745 +3746,id,quia,3746 +3747,cum,voluptatem,3747 +3748,eum,earum,3748 +3749,rerum,vel,3749 +3750,est,ea,3750 +3751,enim,ut,3751 +3752,beatae,ipsam,3752 +3753,unde,in,3753 +3754,maiores,nihil,3754 +3755,magnam,et,3755 +3756,consequatur,perspiciatis,3756 +3757,voluptatem,odio,3757 +3758,qui,sunt,3758 +3759,sunt,et,3759 +3760,exercitationem,voluptas,3760 +3761,rerum,corporis,3761 +3762,aliquid,ratione,3762 +3763,minima,delectus,3763 +3764,est,quas,3764 +3765,placeat,consectetur,3765 +3766,expedita,iure,3766 +3767,reiciendis,doloremque,3767 +3768,molestias,tempora,3768 +3769,ullam,culpa,3769 +3770,dolorem,aliquid,3770 +3771,a,laudantium,3771 +3772,est,quo,3772 +3773,sit,qui,3773 +3774,et,minima,3774 +3775,tempora,cum,3775 +3776,quia,impedit,3776 +3777,occaecati,ducimus,3777 +3778,doloribus,facere,3778 +3779,et,porro,3779 +3780,et,consectetur,3780 +3781,incidunt,ab,3781 +3782,rerum,quod,3782 +3783,officia,aut,3783 +3784,dolorum,quod,3784 +3785,quidem,magni,3785 +3786,nemo,fugit,3786 +3787,aliquam,quaerat,3787 +3788,velit,soluta,3788 +3789,exercitationem,ut,3789 +3790,nesciunt,beatae,3790 +3791,dolores,tempora,3791 +3792,quaerat,autem,3792 +3793,delectus,exercitationem,3793 +3794,quia,et,3794 +3795,consequatur,architecto,3795 +3796,accusantium,possimus,3796 +3797,qui,rerum,3797 +3798,voluptatem,rem,3798 +3799,optio,rem,3799 +3800,earum,culpa,3800 +3801,et,eligendi,3801 +3802,ea,alias,3802 +3803,eum,dolores,3803 +3804,earum,similique,3804 +3805,rem,beatae,3805 +3806,voluptatem,animi,3806 +3807,veritatis,non,3807 +3808,accusamus,error,3808 +3809,aliquid,minus,3809 +3810,et,est,3810 +3811,et,error,3811 +3812,minima,quidem,3812 +3813,veniam,veritatis,3813 +3814,iste,asperiores,3814 +3815,enim,quaerat,3815 +3816,vero,consequatur,3816 +3817,laborum,itaque,3817 +3818,natus,neque,3818 +3819,eum,ut,3819 +3820,quae,officiis,3820 +3821,esse,accusantium,3821 +3822,consectetur,ut,3822 +3823,sunt,harum,3823 +3824,quos,rerum,3824 +3825,totam,consequatur,3825 +3826,similique,dolorem,3826 +3827,voluptas,quaerat,3827 +3828,maxime,minima,3828 +3829,velit,deserunt,3829 +3830,perspiciatis,placeat,3830 +3831,omnis,quaerat,3831 +3832,ipsa,repellat,3832 +3833,eius,aliquam,3833 +3834,maiores,et,3834 +3835,omnis,sint,3835 +3836,ut,soluta,3836 +3837,nobis,perferendis,3837 +3838,quaerat,et,3838 +3839,blanditiis,rerum,3839 +3840,quasi,repellendus,3840 +3841,commodi,deserunt,3841 +3842,veniam,officia,3842 +3843,voluptatem,qui,3843 +3844,cupiditate,aut,3844 +3845,quia,labore,3845 +3846,nobis,est,3846 +3847,labore,sint,3847 +3848,quis,officiis,3848 +3849,ullam,voluptatum,3849 +3850,enim,dignissimos,3850 +3851,officia,aliquid,3851 +3852,quis,et,3852 +3853,est,dolorum,3853 +3854,aliquam,rerum,3854 +3855,earum,aut,3855 +3856,voluptate,ad,3856 +3857,laborum,sit,3857 +3858,et,eius,3858 +3859,reprehenderit,qui,3859 +3860,est,ut,3860 +3861,facilis,modi,3861 +3862,beatae,qui,3862 +3863,architecto,tempora,3863 +3864,asperiores,sit,3864 +3865,id,et,3865 +3866,quis,delectus,3866 +3867,unde,et,3867 +3868,qui,quia,3868 +3869,ut,non,3869 +3870,sed,sit,3870 +3871,repudiandae,illum,3871 +3872,voluptas,quia,3872 +3873,ipsa,tempora,3873 +3874,cum,qui,3874 +3875,non,delectus,3875 +3876,sint,consequatur,3876 +3877,ratione,ratione,3877 +3878,est,est,3878 +3879,impedit,voluptate,3879 +3880,ab,iure,3880 +3881,et,asperiores,3881 +3882,id,vel,3882 +3883,ab,omnis,3883 +3884,sit,esse,3884 +3885,repellat,ab,3885 +3886,unde,et,3886 +3887,suscipit,doloribus,3887 +3888,dolore,doloribus,3888 +3889,non,natus,3889 +3890,molestias,molestiae,3890 +3891,occaecati,est,3891 +3892,quod,laborum,3892 +3893,sed,a,3893 +3894,quis,quos,3894 +3895,quo,earum,3895 +3896,delectus,et,3896 +3897,sit,et,3897 +3898,aut,deserunt,3898 +3899,et,ea,3899 +3900,numquam,sunt,3900 +3901,dolorem,et,3901 +3902,non,et,3902 +3903,a,eveniet,3903 +3904,magnam,voluptas,3904 +3905,laudantium,reprehenderit,3905 +3906,sed,unde,3906 +3907,sed,ea,3907 +3908,saepe,hic,3908 +3909,commodi,magnam,3909 +3910,suscipit,voluptate,3910 +3911,consequatur,incidunt,3911 +3912,laborum,cumque,3912 +3913,quo,velit,3913 +3914,inventore,est,3914 +3915,reiciendis,ut,3915 +3916,rem,dolor,3916 +3917,quia,eligendi,3917 +3918,debitis,et,3918 +3919,nemo,eos,3919 +3920,odit,rerum,3920 +3921,necessitatibus,dolorem,3921 +3922,consequatur,inventore,3922 +3923,repellendus,sed,3923 +3924,ratione,repellat,3924 +3925,qui,animi,3925 +3926,maxime,impedit,3926 +3927,quas,autem,3927 +3928,reprehenderit,unde,3928 +3929,neque,est,3929 +3930,et,excepturi,3930 +3931,ex,at,3931 +3932,voluptas,nihil,3932 +3933,maiores,ut,3933 +3934,molestiae,occaecati,3934 +3935,labore,fugit,3935 +3936,voluptatum,aliquid,3936 +3937,maxime,laborum,3937 +3938,quaerat,eos,3938 +3939,modi,animi,3939 +3940,accusantium,voluptatum,3940 +3941,alias,ducimus,3941 +3942,optio,sint,3942 +3943,nemo,et,3943 +3944,facilis,odio,3944 +3945,saepe,natus,3945 +3946,libero,et,3946 +3947,aliquid,illum,3947 +3948,reprehenderit,id,3948 +3949,at,et,3949 +3950,aut,ex,3950 +3951,facere,sequi,3951 +3952,natus,esse,3952 +3953,delectus,et,3953 +3954,qui,voluptas,3954 +3955,est,eaque,3955 +3956,consectetur,quos,3956 +3957,quas,commodi,3957 +3958,quis,hic,3958 +3959,commodi,asperiores,3959 +3960,consequuntur,qui,3960 +3961,perspiciatis,maxime,3961 +3962,et,velit,3962 +3963,incidunt,officiis,3963 +3964,architecto,consectetur,3964 +3965,nam,numquam,3965 +3966,in,sed,3966 +3967,harum,omnis,3967 +3968,eum,labore,3968 +3969,ullam,omnis,3969 +3970,praesentium,et,3970 +3971,ea,at,3971 +3972,culpa,voluptas,3972 +3973,aliquam,quae,3973 +3974,sint,quasi,3974 +3975,ut,doloremque,3975 +3976,in,est,3976 +3977,cumque,velit,3977 +3978,et,et,3978 +3979,explicabo,sint,3979 +3980,dolorum,aut,3980 +3981,odit,temporibus,3981 +3982,praesentium,voluptatem,3982 +3983,omnis,maiores,3983 +3984,dolores,accusantium,3984 +3985,autem,assumenda,3985 +3986,repudiandae,sequi,3986 +3987,eius,omnis,3987 +3988,magnam,accusantium,3988 +3989,ratione,tempore,3989 +3990,ut,aut,3990 +3991,est,ut,3991 +3992,cumque,dolore,3992 +3993,neque,id,3993 +3994,repellat,fugiat,3994 +3995,quod,aspernatur,3995 +3996,suscipit,facilis,3996 +3997,reprehenderit,debitis,3997 +3998,placeat,repudiandae,3998 +3999,velit,quia,3999 +4000,dolorem,nam,4000 +4001,voluptatem,non,4001 +4002,explicabo,in,4002 +4003,ullam,quas,4003 +4004,minima,sit,4004 +4005,omnis,accusamus,4005 +4006,ratione,magnam,4006 +4007,corporis,repudiandae,4007 +4008,eius,est,4008 +4009,commodi,aperiam,4009 +4010,ut,velit,4010 +4011,expedita,ea,4011 +4012,doloribus,dolorum,4012 +4013,ducimus,laborum,4013 +4014,possimus,sunt,4014 +4015,tenetur,et,4015 +4016,mollitia,distinctio,4016 +4017,qui,eum,4017 +4018,voluptas,architecto,4018 +4019,magni,quidem,4019 +4020,nostrum,labore,4020 +4021,maiores,quasi,4021 +4022,eos,id,4022 +4023,quia,consectetur,4023 +4024,doloribus,in,4024 +4025,maxime,reiciendis,4025 +4026,amet,aut,4026 +4027,sed,culpa,4027 +4028,sint,iusto,4028 +4029,quo,natus,4029 +4030,ea,et,4030 +4031,quo,omnis,4031 +4032,sint,nemo,4032 +4033,vitae,omnis,4033 +4034,quo,quod,4034 +4035,recusandae,animi,4035 +4036,qui,animi,4036 +4037,dolorem,nesciunt,4037 +4038,numquam,dolores,4038 +4039,sequi,id,4039 +4040,saepe,hic,4040 +4041,minus,est,4041 +4042,explicabo,mollitia,4042 +4043,perspiciatis,nihil,4043 +4044,eaque,et,4044 +4045,animi,sint,4045 +4046,mollitia,nisi,4046 +4047,ut,perspiciatis,4047 +4048,quo,consequatur,4048 +4049,est,quia,4049 +4050,rem,debitis,4050 +4051,fuga,et,4051 +4052,fugit,porro,4052 +4053,quam,iure,4053 +4054,cumque,eos,4054 +4055,ipsum,autem,4055 +4056,at,aspernatur,4056 +4057,unde,explicabo,4057 +4058,mollitia,rerum,4058 +4059,debitis,officia,4059 +4060,sunt,quo,4060 +4061,voluptas,ipsam,4061 +4062,asperiores,ut,4062 +4063,consequatur,iure,4063 +4064,sit,qui,4064 +4065,magni,aut,4065 +4066,asperiores,ipsum,4066 +4067,id,mollitia,4067 +4068,quam,a,4068 +4069,esse,sequi,4069 +4070,delectus,suscipit,4070 +4071,quas,exercitationem,4071 +4072,vero,necessitatibus,4072 +4073,est,culpa,4073 +4074,eius,non,4074 +4075,sed,quia,4075 +4076,quam,eum,4076 +4077,consequatur,praesentium,4077 +4078,eius,numquam,4078 +4079,et,id,4079 +4080,sint,quia,4080 +4081,perferendis,et,4081 +4082,perferendis,omnis,4082 +4083,praesentium,in,4083 +4084,quas,corrupti,4084 +4085,sunt,sed,4085 +4086,fuga,illo,4086 +4087,veritatis,vel,4087 +4088,laboriosam,harum,4088 +4089,beatae,commodi,4089 +4090,quisquam,nostrum,4090 +4091,et,placeat,4091 +4092,vitae,unde,4092 +4093,nesciunt,tenetur,4093 +4094,omnis,sint,4094 +4095,facilis,explicabo,4095 +4096,perferendis,magnam,4096 +4097,consectetur,eaque,4097 +4098,cumque,qui,4098 +4099,sit,ut,4099 +4100,non,ea,4100 +4101,est,saepe,4101 +4102,eos,qui,4102 +4103,et,et,4103 +4104,aut,voluptas,4104 +4105,quibusdam,sed,4105 +4106,enim,natus,4106 +4107,voluptate,dolores,4107 +4108,ducimus,omnis,4108 +4109,labore,et,4109 +4110,distinctio,eius,4110 +4111,optio,totam,4111 +4112,nisi,sed,4112 +4113,officiis,expedita,4113 +4114,mollitia,sit,4114 +4115,in,consequatur,4115 +4116,excepturi,nisi,4116 +4117,debitis,dolorem,4117 +4118,natus,doloremque,4118 +4119,assumenda,sit,4119 +4120,laudantium,expedita,4120 +4121,consequatur,voluptatem,4121 +4122,molestias,distinctio,4122 +4123,consequatur,eveniet,4123 +4124,enim,voluptates,4124 +4125,voluptas,quia,4125 +4126,provident,repellat,4126 +4127,id,commodi,4127 +4128,voluptatem,et,4128 +4129,reiciendis,sit,4129 +4130,incidunt,eos,4130 +4131,consequuntur,vero,4131 +4132,explicabo,corporis,4132 +4133,voluptate,voluptatem,4133 +4134,id,ab,4134 +4135,recusandae,nisi,4135 +4136,molestias,at,4136 +4137,fugiat,provident,4137 +4138,tenetur,accusantium,4138 +4139,quis,voluptatem,4139 +4140,hic,quaerat,4140 +4141,illum,earum,4141 +4142,rerum,et,4142 +4143,est,sit,4143 +4144,dolore,corrupti,4144 +4145,nihil,aut,4145 +4146,sint,illum,4146 +4147,sit,distinctio,4147 +4148,laudantium,quo,4148 +4149,et,pariatur,4149 +4150,impedit,quia,4150 +4151,at,debitis,4151 +4152,aut,quas,4152 +4153,nesciunt,soluta,4153 +4154,perspiciatis,et,4154 +4155,est,nostrum,4155 +4156,aliquid,expedita,4156 +4157,qui,tenetur,4157 +4158,distinctio,sint,4158 +4159,tempore,harum,4159 +4160,nulla,laborum,4160 +4161,voluptatem,iusto,4161 +4162,dicta,harum,4162 +4163,molestiae,a,4163 +4164,deserunt,minima,4164 +4165,dolore,animi,4165 +4166,sed,dolores,4166 +4167,aut,aliquid,4167 +4168,eligendi,nostrum,4168 +4169,quia,placeat,4169 +4170,modi,nesciunt,4170 +4171,aut,sed,4171 +4172,in,itaque,4172 +4173,et,amet,4173 +4174,dolores,ex,4174 +4175,modi,reiciendis,4175 +4176,ipsa,dolorem,4176 +4177,non,veritatis,4177 +4178,cum,sunt,4178 +4179,molestias,ut,4179 +4180,nostrum,et,4180 +4181,ab,aut,4181 +4182,nihil,voluptatem,4182 +4183,sequi,optio,4183 +4184,impedit,eum,4184 +4185,ut,aliquid,4185 +4186,ex,mollitia,4186 +4187,reiciendis,tenetur,4187 +4188,rerum,ipsam,4188 +4189,sit,dolor,4189 +4190,quas,aut,4190 +4191,sequi,sit,4191 +4192,consequatur,sequi,4192 +4193,et,minus,4193 +4194,reprehenderit,repellat,4194 +4195,doloremque,est,4195 +4196,qui,modi,4196 +4197,voluptatum,deleniti,4197 +4198,amet,et,4198 +4199,laborum,culpa,4199 +4200,accusamus,nisi,4200 +4201,suscipit,occaecati,4201 +4202,est,laboriosam,4202 +4203,eius,quia,4203 +4204,cupiditate,quasi,4204 +4205,quisquam,dolores,4205 +4206,et,id,4206 +4207,dolorem,et,4207 +4208,unde,ex,4208 +4209,quidem,et,4209 +4210,quibusdam,eligendi,4210 +4211,atque,eligendi,4211 +4212,sed,quam,4212 +4213,dolorem,laudantium,4213 +4214,sit,minima,4214 +4215,saepe,magni,4215 +4216,repudiandae,alias,4216 +4217,sed,qui,4217 +4218,quis,ex,4218 +4219,explicabo,error,4219 +4220,omnis,consectetur,4220 +4221,officiis,magnam,4221 +4222,id,officiis,4222 +4223,porro,enim,4223 +4224,cum,atque,4224 +4225,nobis,asperiores,4225 +4226,minus,repellendus,4226 +4227,et,sint,4227 +4228,id,sint,4228 +4229,ut,enim,4229 +4230,eveniet,tempora,4230 +4231,libero,aut,4231 +4232,assumenda,laudantium,4232 +4233,at,nesciunt,4233 +4234,et,rerum,4234 +4235,asperiores,consequuntur,4235 +4236,soluta,doloribus,4236 +4237,et,et,4237 +4238,natus,rerum,4238 +4239,fugit,occaecati,4239 +4240,dolores,debitis,4240 +4241,numquam,saepe,4241 +4242,et,tenetur,4242 +4243,quod,omnis,4243 +4244,aut,et,4244 +4245,ex,sint,4245 +4246,temporibus,autem,4246 +4247,et,provident,4247 +4248,doloribus,iusto,4248 +4249,ut,facilis,4249 +4250,eum,a,4250 +4251,placeat,et,4251 +4252,rerum,aliquid,4252 +4253,dicta,quibusdam,4253 +4254,explicabo,molestiae,4254 +4255,et,officia,4255 +4256,dolores,provident,4256 +4257,corrupti,aliquid,4257 +4258,consequatur,quia,4258 +4259,itaque,non,4259 +4260,quia,adipisci,4260 +4261,dolorem,dolore,4261 +4262,unde,autem,4262 +4263,vitae,voluptas,4263 +4264,sint,quos,4264 +4265,vel,non,4265 +4266,ullam,corporis,4266 +4267,quam,occaecati,4267 +4268,vel,harum,4268 +4269,sint,quos,4269 +4270,fugit,quia,4270 +4271,qui,illo,4271 +4272,ipsam,deleniti,4272 +4273,omnis,magnam,4273 +4274,delectus,atque,4274 +4275,qui,iste,4275 +4276,voluptates,dolores,4276 +4277,voluptatem,illo,4277 +4278,aspernatur,sapiente,4278 +4279,maiores,fugiat,4279 +4280,qui,molestiae,4280 +4281,consequuntur,ipsum,4281 +4282,quia,modi,4282 +4283,est,eum,4283 +4284,at,aperiam,4284 +4285,culpa,soluta,4285 +4286,nulla,nisi,4286 +4287,quas,accusamus,4287 +4288,provident,id,4288 +4289,rerum,culpa,4289 +4290,autem,odit,4290 +4291,laborum,aspernatur,4291 +4292,unde,tempore,4292 +4293,aut,minus,4293 +4294,quae,eius,4294 +4295,quo,quas,4295 +4296,minus,deserunt,4296 +4297,nisi,et,4297 +4298,consequatur,hic,4298 +4299,earum,et,4299 +4300,vero,consequatur,4300 +4301,libero,et,4301 +4302,est,quia,4302 +4303,suscipit,sed,4303 +4304,rem,qui,4304 +4305,quae,quam,4305 +4306,tempora,eos,4306 +4307,ipsum,iusto,4307 +4308,debitis,qui,4308 +4309,eum,non,4309 +4310,aut,necessitatibus,4310 +4311,occaecati,quo,4311 +4312,atque,quidem,4312 +4313,non,ea,4313 +4314,et,et,4314 +4315,quia,praesentium,4315 +4316,placeat,iusto,4316 +4317,quia,cumque,4317 +4318,laboriosam,nam,4318 +4319,porro,dolorem,4319 +4320,neque,accusantium,4320 +4321,natus,corporis,4321 +4322,non,itaque,4322 +4323,reiciendis,officiis,4323 +4324,ut,ut,4324 +4325,alias,accusamus,4325 +4326,et,nihil,4326 +4327,consectetur,illum,4327 +4328,expedita,ipsa,4328 +4329,repellendus,repellat,4329 +4330,non,maxime,4330 +4331,itaque,ut,4331 +4332,itaque,aut,4332 +4333,velit,at,4333 +4334,quod,harum,4334 +4335,et,aut,4335 +4336,suscipit,et,4336 +4337,omnis,repellat,4337 +4338,est,fugiat,4338 +4339,assumenda,consequatur,4339 +4340,sed,et,4340 +4341,exercitationem,unde,4341 +4342,enim,velit,4342 +4343,sit,iusto,4343 +4344,qui,laudantium,4344 +4345,dolor,voluptas,4345 +4346,cupiditate,et,4346 +4347,et,nisi,4347 +4348,labore,doloribus,4348 +4349,rerum,molestiae,4349 +4350,qui,qui,4350 +4351,ut,minima,4351 +4352,et,dolorem,4352 +4353,sit,ut,4353 +4354,fugiat,veritatis,4354 +4355,inventore,rem,4355 +4356,iure,voluptatem,4356 +4357,illo,sint,4357 +4358,magnam,recusandae,4358 +4359,qui,et,4359 +4360,fuga,a,4360 +4361,voluptates,aliquid,4361 +4362,nihil,similique,4362 +4363,ut,cumque,4363 +4364,corrupti,omnis,4364 +4365,harum,iure,4365 +4366,recusandae,saepe,4366 +4367,sint,magni,4367 +4368,nemo,voluptatem,4368 +4369,enim,necessitatibus,4369 +4370,et,aut,4370 +4371,sapiente,ducimus,4371 +4372,voluptas,cumque,4372 +4373,perspiciatis,neque,4373 +4374,quasi,nobis,4374 +4375,sit,debitis,4375 +4376,rerum,cupiditate,4376 +4377,quas,fuga,4377 +4378,iste,voluptatem,4378 +4379,rerum,voluptas,4379 +4380,temporibus,quis,4380 +4381,minima,ratione,4381 +4382,dolores,eveniet,4382 +4383,reiciendis,dolor,4383 +4384,repudiandae,quas,4384 +4385,beatae,odio,4385 +4386,ut,ad,4386 +4387,autem,doloribus,4387 +4388,dolor,ut,4388 +4389,rem,in,4389 +4390,natus,ut,4390 +4391,amet,enim,4391 +4392,sit,ut,4392 +4393,aut,quia,4393 +4394,id,enim,4394 +4395,tempore,optio,4395 +4396,ut,in,4396 +4397,sed,ratione,4397 +4398,quo,laborum,4398 +4399,suscipit,totam,4399 +4400,ad,dignissimos,4400 +4401,consequatur,et,4401 +4402,laudantium,non,4402 +4403,soluta,atque,4403 +4404,cum,esse,4404 +4405,ad,fuga,4405 +4406,dolor,sint,4406 +4407,et,sunt,4407 +4408,earum,atque,4408 +4409,fugit,exercitationem,4409 +4410,aut,praesentium,4410 +4411,neque,natus,4411 +4412,nemo,ea,4412 +4413,autem,fuga,4413 +4414,autem,fugit,4414 +4415,eaque,vel,4415 +4416,eum,optio,4416 +4417,sit,ut,4417 +4418,ea,earum,4418 +4419,voluptatum,facilis,4419 +4420,sit,ut,4420 +4421,vitae,assumenda,4421 +4422,voluptate,est,4422 +4423,at,sed,4423 +4424,eligendi,libero,4424 +4425,quia,natus,4425 +4426,laudantium,non,4426 +4427,minus,sequi,4427 +4428,facilis,ratione,4428 +4429,quis,quasi,4429 +4430,sunt,porro,4430 +4431,accusantium,magni,4431 +4432,quibusdam,sunt,4432 +4433,cupiditate,quo,4433 +4434,accusamus,nostrum,4434 +4435,praesentium,facilis,4435 +4436,debitis,tempora,4436 +4437,consectetur,ut,4437 +4438,temporibus,saepe,4438 +4439,minus,nobis,4439 +4440,qui,deserunt,4440 +4441,exercitationem,in,4441 +4442,quibusdam,maiores,4442 +4443,odit,ullam,4443 +4444,id,omnis,4444 +4445,suscipit,voluptatem,4445 +4446,perferendis,consequatur,4446 +4447,et,similique,4447 +4448,nemo,ipsum,4448 +4449,vel,occaecati,4449 +4450,ut,ratione,4450 +4451,modi,enim,4451 +4452,esse,placeat,4452 +4453,autem,soluta,4453 +4454,consequatur,perferendis,4454 +4455,qui,rerum,4455 +4456,soluta,quaerat,4456 +4457,sint,id,4457 +4458,aut,dignissimos,4458 +4459,ipsa,facilis,4459 +4460,nulla,numquam,4460 +4461,enim,et,4461 +4462,similique,laudantium,4462 +4463,voluptas,facere,4463 +4464,magni,sed,4464 +4465,temporibus,quia,4465 +4466,aut,esse,4466 +4467,possimus,molestiae,4467 +4468,assumenda,corporis,4468 +4469,minus,sunt,4469 +4470,dolores,dolores,4470 +4471,excepturi,consequuntur,4471 +4472,enim,consectetur,4472 +4473,incidunt,cum,4473 +4474,distinctio,aliquid,4474 +4475,mollitia,sed,4475 +4476,voluptas,et,4476 +4477,provident,ad,4477 +4478,eligendi,quia,4478 +4479,provident,aperiam,4479 +4480,quia,vitae,4480 +4481,nemo,et,4481 +4482,dolor,a,4482 +4483,labore,totam,4483 +4484,eveniet,quod,4484 +4485,id,omnis,4485 +4486,et,esse,4486 +4487,non,quo,4487 +4488,aliquam,accusamus,4488 +4489,qui,eveniet,4489 +4490,consequatur,temporibus,4490 +4491,distinctio,natus,4491 +4492,aliquam,non,4492 +4493,pariatur,minima,4493 +4494,magnam,nihil,4494 +4495,corrupti,voluptas,4495 +4496,eum,voluptas,4496 +4497,sed,dicta,4497 +4498,quis,sequi,4498 +4499,voluptas,exercitationem,4499 +4500,neque,qui,4500 +4501,eum,consequatur,4501 +4502,ut,perferendis,4502 +4503,quaerat,dolorum,4503 +4504,soluta,officiis,4504 +4505,porro,ea,4505 +4506,itaque,laboriosam,4506 +4507,autem,aliquid,4507 +4508,odio,aut,4508 +4509,blanditiis,illum,4509 +4510,non,tempore,4510 +4511,error,itaque,4511 +4512,maxime,et,4512 +4513,eaque,fugiat,4513 +4514,esse,debitis,4514 +4515,sed,aut,4515 +4516,velit,qui,4516 +4517,molestias,inventore,4517 +4518,ipsa,libero,4518 +4519,velit,tempora,4519 +4520,recusandae,error,4520 +4521,qui,eos,4521 +4522,amet,ipsa,4522 +4523,voluptas,neque,4523 +4524,rerum,voluptatem,4524 +4525,enim,laboriosam,4525 +4526,laboriosam,in,4526 +4527,rerum,rerum,4527 +4528,minima,nulla,4528 +4529,earum,labore,4529 +4530,molestiae,non,4530 +4531,et,ipsam,4531 +4532,molestias,eum,4532 +4533,nemo,voluptatem,4533 +4534,similique,consequatur,4534 +4535,omnis,ab,4535 +4536,nisi,aut,4536 +4537,molestias,ipsam,4537 +4538,eligendi,quo,4538 +4539,voluptatem,ut,4539 +4540,ut,sit,4540 +4541,et,possimus,4541 +4542,sint,delectus,4542 +4543,consequatur,aut,4543 +4544,nisi,optio,4544 +4545,nam,sit,4545 +4546,iusto,est,4546 +4547,earum,nostrum,4547 +4548,nihil,quam,4548 +4549,consectetur,dignissimos,4549 +4550,et,et,4550 +4551,quia,corporis,4551 +4552,molestiae,sequi,4552 +4553,voluptas,est,4553 +4554,impedit,dolor,4554 +4555,vel,commodi,4555 +4556,dolores,explicabo,4556 +4557,dolores,amet,4557 +4558,asperiores,culpa,4558 +4559,ullam,necessitatibus,4559 +4560,voluptatem,quam,4560 +4561,asperiores,exercitationem,4561 +4562,et,vel,4562 +4563,omnis,expedita,4563 +4564,doloremque,dignissimos,4564 +4565,recusandae,quia,4565 +4566,tempore,eum,4566 +4567,voluptas,officiis,4567 +4568,impedit,suscipit,4568 +4569,sed,facilis,4569 +4570,aut,aliquam,4570 +4571,eos,omnis,4571 +4572,possimus,rerum,4572 +4573,consequatur,mollitia,4573 +4574,voluptas,tempore,4574 +4575,pariatur,sapiente,4575 +4576,deleniti,veritatis,4576 +4577,sunt,id,4577 +4578,ad,et,4578 +4579,quod,quod,4579 +4580,minus,beatae,4580 +4581,est,aut,4581 +4582,maiores,et,4582 +4583,eius,laboriosam,4583 +4584,consectetur,temporibus,4584 +4585,unde,omnis,4585 +4586,possimus,aut,4586 +4587,quos,animi,4587 +4588,in,quae,4588 +4589,quia,qui,4589 +4590,tempore,possimus,4590 +4591,aliquam,praesentium,4591 +4592,est,non,4592 +4593,minus,fuga,4593 +4594,vel,fuga,4594 +4595,et,enim,4595 +4596,beatae,magni,4596 +4597,nisi,voluptatem,4597 +4598,et,nemo,4598 +4599,qui,minima,4599 +4600,facilis,non,4600 +4601,fugiat,non,4601 +4602,non,sint,4602 +4603,maxime,est,4603 +4604,porro,qui,4604 +4605,unde,modi,4605 +4606,inventore,consectetur,4606 +4607,est,qui,4607 +4608,illum,sit,4608 +4609,illo,ea,4609 +4610,corrupti,est,4610 +4611,et,est,4611 +4612,porro,distinctio,4612 +4613,qui,autem,4613 +4614,sunt,delectus,4614 +4615,similique,quos,4615 +4616,molestiae,nihil,4616 +4617,qui,maxime,4617 +4618,quas,libero,4618 +4619,voluptate,id,4619 +4620,libero,modi,4620 +4621,voluptas,qui,4621 +4622,architecto,minus,4622 +4623,itaque,reiciendis,4623 +4624,rerum,praesentium,4624 +4625,temporibus,est,4625 +4626,blanditiis,est,4626 +4627,accusamus,inventore,4627 +4628,aperiam,voluptatibus,4628 +4629,sunt,minima,4629 +4630,ipsam,id,4630 +4631,aut,pariatur,4631 +4632,at,itaque,4632 +4633,nihil,fugit,4633 +4634,vero,sed,4634 +4635,eaque,non,4635 +4636,assumenda,veritatis,4636 +4637,ipsam,eum,4637 +4638,dolorem,sed,4638 +4639,esse,tempora,4639 +4640,doloremque,odit,4640 +4641,sit,ipsam,4641 +4642,a,qui,4642 +4643,reprehenderit,dolore,4643 +4644,labore,necessitatibus,4644 +4645,velit,quia,4645 +4646,vitae,dignissimos,4646 +4647,incidunt,eaque,4647 +4648,ab,commodi,4648 +4649,perspiciatis,itaque,4649 +4650,ullam,voluptas,4650 +4651,qui,sit,4651 +4652,ducimus,rerum,4652 +4653,voluptas,voluptates,4653 +4654,eos,animi,4654 +4655,assumenda,deleniti,4655 +4656,repellat,sunt,4656 +4657,voluptate,illo,4657 +4658,est,similique,4658 +4659,vel,corporis,4659 +4660,pariatur,dicta,4660 +4661,sapiente,quisquam,4661 +4662,aut,quibusdam,4662 +4663,molestiae,in,4663 +4664,eligendi,ea,4664 +4665,tenetur,corrupti,4665 +4666,itaque,quia,4666 +4667,sed,facere,4667 +4668,occaecati,excepturi,4668 +4669,et,veritatis,4669 +4670,veniam,repudiandae,4670 +4671,itaque,nobis,4671 +4672,iusto,qui,4672 +4673,suscipit,voluptate,4673 +4674,sit,beatae,4674 +4675,commodi,nobis,4675 +4676,qui,voluptas,4676 +4677,enim,fugiat,4677 +4678,quod,dolor,4678 +4679,accusamus,et,4679 +4680,veniam,ut,4680 +4681,necessitatibus,consequatur,4681 +4682,vitae,magni,4682 +4683,velit,odit,4683 +4684,debitis,accusamus,4684 +4685,perferendis,eum,4685 +4686,ipsam,repellat,4686 +4687,hic,voluptatem,4687 +4688,est,rerum,4688 +4689,sequi,sit,4689 +4690,sit,qui,4690 +4691,ullam,animi,4691 +4692,voluptatibus,ipsum,4692 +4693,voluptatem,nam,4693 +4694,aliquam,iste,4694 +4695,ipsam,enim,4695 +4696,neque,reiciendis,4696 +4697,ut,et,4697 +4698,voluptatem,aut,4698 +4699,maiores,accusantium,4699 +4700,pariatur,dolor,4700 +4701,doloribus,voluptatum,4701 +4702,architecto,perspiciatis,4702 +4703,officia,ad,4703 +4704,voluptas,quod,4704 +4705,dolor,esse,4705 +4706,omnis,at,4706 +4707,esse,accusantium,4707 +4708,atque,tempora,4708 +4709,a,dicta,4709 +4710,maiores,et,4710 +4711,sed,rerum,4711 +4712,explicabo,dolorem,4712 +4713,vel,ipsum,4713 +4714,omnis,est,4714 +4715,dolorum,aut,4715 +4716,animi,repellat,4716 +4717,cumque,veniam,4717 +4718,cumque,dolorum,4718 +4719,animi,placeat,4719 +4720,cupiditate,vel,4720 +4721,eius,deleniti,4721 +4722,nostrum,est,4722 +4723,nemo,quam,4723 +4724,odio,doloribus,4724 +4725,odio,reiciendis,4725 +4726,nulla,non,4726 +4727,temporibus,vel,4727 +4728,veritatis,dicta,4728 +4729,maiores,error,4729 +4730,est,officia,4730 +4731,omnis,magnam,4731 +4732,laborum,repellendus,4732 +4733,expedita,est,4733 +4734,aut,quaerat,4734 +4735,ut,quia,4735 +4736,esse,sunt,4736 +4737,accusamus,consequatur,4737 +4738,magnam,eum,4738 +4739,qui,asperiores,4739 +4740,amet,temporibus,4740 +4741,veniam,illo,4741 +4742,culpa,delectus,4742 +4743,occaecati,maiores,4743 +4744,necessitatibus,consequatur,4744 +4745,inventore,ad,4745 +4746,qui,voluptatem,4746 +4747,earum,ipsam,4747 +4748,eveniet,rerum,4748 +4749,minima,error,4749 +4750,aliquam,dicta,4750 +4751,necessitatibus,et,4751 +4752,earum,sed,4752 +4753,veritatis,et,4753 +4754,tempora,rerum,4754 +4755,consequatur,nostrum,4755 +4756,fugiat,officiis,4756 +4757,explicabo,ea,4757 +4758,odio,alias,4758 +4759,nam,distinctio,4759 +4760,et,animi,4760 +4761,est,non,4761 +4762,quae,numquam,4762 +4763,et,velit,4763 +4764,deserunt,ut,4764 +4765,quia,minus,4765 +4766,nihil,voluptas,4766 +4767,nulla,voluptatem,4767 +4768,possimus,quis,4768 +4769,unde,nam,4769 +4770,sed,qui,4770 +4771,omnis,recusandae,4771 +4772,dolorem,id,4772 +4773,laborum,minima,4773 +4774,aut,rem,4774 +4775,dolores,pariatur,4775 +4776,officiis,atque,4776 +4777,quia,esse,4777 +4778,ex,asperiores,4778 +4779,et,magni,4779 +4780,omnis,aut,4780 +4781,sunt,et,4781 +4782,eveniet,minima,4782 +4783,tenetur,ea,4783 +4784,similique,debitis,4784 +4785,aut,sed,4785 +4786,occaecati,unde,4786 +4787,similique,officiis,4787 +4788,possimus,repudiandae,4788 +4789,consequuntur,ducimus,4789 +4790,impedit,consectetur,4790 +4791,sunt,eum,4791 +4792,similique,eaque,4792 +4793,distinctio,ea,4793 +4794,numquam,atque,4794 +4795,dolor,et,4795 +4796,molestias,eos,4796 +4797,distinctio,quidem,4797 +4798,et,similique,4798 +4799,officia,occaecati,4799 +4800,sit,qui,4800 +4801,nam,vero,4801 +4802,dolore,laborum,4802 +4803,dolorum,id,4803 +4804,id,et,4804 +4805,quos,non,4805 +4806,esse,nesciunt,4806 +4807,omnis,maxime,4807 +4808,est,ullam,4808 +4809,praesentium,repellendus,4809 +4810,et,reprehenderit,4810 +4811,hic,veniam,4811 +4812,non,voluptas,4812 +4813,omnis,adipisci,4813 +4814,totam,nihil,4814 +4815,sunt,ut,4815 +4816,numquam,est,4816 +4817,repellat,occaecati,4817 +4818,doloribus,natus,4818 +4819,delectus,sapiente,4819 +4820,minima,nostrum,4820 +4821,molestias,sequi,4821 +4822,eum,odio,4822 +4823,id,aut,4823 +4824,porro,non,4824 +4825,nihil,et,4825 +4826,quisquam,esse,4826 +4827,ea,facilis,4827 +4828,tempora,suscipit,4828 +4829,ut,aspernatur,4829 +4830,unde,quia,4830 +4831,quae,at,4831 +4832,error,voluptas,4832 +4833,aut,eum,4833 +4834,quia,aut,4834 +4835,incidunt,sed,4835 +4836,quasi,qui,4836 +4837,minima,beatae,4837 +4838,perferendis,veniam,4838 +4839,quaerat,cupiditate,4839 +4840,quisquam,quia,4840 +4841,nam,dicta,4841 +4842,et,nam,4842 +4843,perspiciatis,ullam,4843 +4844,aspernatur,dolores,4844 +4845,esse,autem,4845 +4846,sit,minima,4846 +4847,quasi,vitae,4847 +4848,et,non,4848 +4849,pariatur,doloribus,4849 +4850,eum,aperiam,4850 +4851,velit,a,4851 +4852,et,vitae,4852 +4853,aut,culpa,4853 +4854,quaerat,doloribus,4854 +4855,quia,eos,4855 +4856,eligendi,quam,4856 +4857,doloribus,ipsam,4857 +4858,quaerat,nisi,4858 +4859,laudantium,qui,4859 +4860,eum,quisquam,4860 +4861,voluptas,et,4861 +4862,animi,quis,4862 +4863,suscipit,nemo,4863 +4864,ab,cupiditate,4864 +4865,corporis,et,4865 +4866,odit,amet,4866 +4867,sed,qui,4867 +4868,voluptatibus,placeat,4868 +4869,cumque,temporibus,4869 +4870,dolor,quos,4870 +4871,eum,nemo,4871 +4872,inventore,architecto,4872 +4873,molestias,nemo,4873 +4874,incidunt,earum,4874 +4875,consequatur,aut,4875 +4876,ut,non,4876 +4877,facere,aut,4877 +4878,cumque,soluta,4878 +4879,nisi,fugiat,4879 +4880,corporis,perspiciatis,4880 +4881,ut,voluptatem,4881 +4882,reprehenderit,vitae,4882 +4883,et,qui,4883 +4884,fugiat,est,4884 +4885,laudantium,aliquid,4885 +4886,sunt,facilis,4886 +4887,voluptate,ut,4887 +4888,aut,omnis,4888 +4889,aliquam,eos,4889 +4890,maxime,quidem,4890 +4891,sapiente,qui,4891 +4892,inventore,porro,4892 +4893,rerum,labore,4893 +4894,odit,repudiandae,4894 +4895,aut,laudantium,4895 +4896,suscipit,inventore,4896 +4897,ad,ratione,4897 +4898,maiores,esse,4898 +4899,qui,a,4899 +4900,rem,accusantium,4900 +4901,id,est,4901 +4902,dolorem,aperiam,4902 +4903,tempora,vel,4903 +4904,aliquam,aperiam,4904 +4905,omnis,amet,4905 +4906,reiciendis,quam,4906 +4907,ex,eos,4907 +4908,autem,ad,4908 +4909,corrupti,magnam,4909 +4910,cupiditate,aspernatur,4910 +4911,cupiditate,consequatur,4911 +4912,sint,dicta,4912 +4913,fugiat,saepe,4913 +4914,perspiciatis,quia,4914 +4915,aut,expedita,4915 +4916,et,et,4916 +4917,vel,sunt,4917 +4918,iste,illum,4918 +4919,exercitationem,omnis,4919 +4920,quas,voluptatem,4920 +4921,perspiciatis,velit,4921 +4922,iure,quo,4922 +4923,unde,eum,4923 +4924,vero,maiores,4924 +4925,a,quis,4925 +4926,labore,sapiente,4926 +4927,vel,expedita,4927 +4928,qui,qui,4928 +4929,qui,eius,4929 +4930,exercitationem,non,4930 +4931,nam,ut,4931 +4932,qui,nihil,4932 +4933,et,esse,4933 +4934,incidunt,saepe,4934 +4935,et,nihil,4935 +4936,quos,culpa,4936 +4937,repudiandae,quo,4937 +4938,voluptatibus,autem,4938 +4939,dolores,voluptatem,4939 +4940,sed,labore,4940 +4941,quaerat,deserunt,4941 +4942,et,nostrum,4942 +4943,officiis,architecto,4943 +4944,laboriosam,nesciunt,4944 +4945,ducimus,distinctio,4945 +4946,repellendus,saepe,4946 +4947,aut,fugit,4947 +4948,architecto,iste,4948 +4949,porro,illum,4949 +4950,pariatur,qui,4950 +4951,ea,nam,4951 +4952,voluptas,est,4952 +4953,nostrum,error,4953 +4954,delectus,suscipit,4954 +4955,consectetur,error,4955 +4956,repellat,velit,4956 +4957,aliquid,ut,4957 +4958,pariatur,maxime,4958 +4959,ut,ea,4959 +4960,facilis,non,4960 +4961,in,iusto,4961 +4962,ipsa,est,4962 +4963,repellendus,distinctio,4963 +4964,nobis,eos,4964 +4965,laborum,voluptatibus,4965 +4966,tempore,ut,4966 +4967,ea,vel,4967 +4968,consequatur,doloribus,4968 +4969,aliquam,officiis,4969 +4970,ipsum,a,4970 +4971,iusto,soluta,4971 +4972,sunt,facilis,4972 +4973,nobis,veritatis,4973 +4974,qui,minima,4974 +4975,dolorem,sint,4975 +4976,mollitia,tenetur,4976 +4977,aut,atque,4977 +4978,ducimus,optio,4978 +4979,ipsa,voluptas,4979 +4980,blanditiis,voluptatem,4980 +4981,error,porro,4981 +4982,sequi,nam,4982 +4983,omnis,possimus,4983 +4984,sit,inventore,4984 +4985,quisquam,suscipit,4985 +4986,voluptatum,id,4986 +4987,voluptatibus,dolores,4987 +4988,nesciunt,et,4988 +4989,fuga,quos,4989 +4990,sed,veniam,4990 +4991,est,maiores,4991 +4992,ut,autem,4992 +4993,quia,voluptatem,4993 +4994,et,dolores,4994 +4995,nisi,voluptatibus,4995 +4996,quae,nostrum,4996 +4997,accusantium,animi,4997 +4998,animi,veniam,4998 +4999,velit,sed,4999 +5000,reprehenderit,eos,5000 diff --git a/Java-Executor/java-executor-tutorial/data/customer-data - Copy.txt b/Java-Executor/java-executor-tutorial/data/customer-data - Copy.txt new file mode 100644 index 0000000..d36e8c7 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/data/customer-data - Copy.txt @@ -0,0 +1,5000 @@ +1,omnis,adipisci,1 +2,ullam,ratione,2 +3,iusto,laborum,3 +4,animi,porro,4 +5,est,quod,5 +6,nemo,consequatur,6 +7,inventore,harum,7 +8,quidem,sed,8 +9,nostrum,distinctio,9 +10,est,sint,10 +11,fugiat,facilis,11 +12,architecto,molestiae,12 +13,qui,perspiciatis,13 +14,rerum,omnis,14 +15,rerum,quia,15 +16,non,sunt,16 +17,beatae,illo,17 +18,modi,quia,18 +19,aut,harum,19 +20,ratione,est,20 +21,molestias,aliquid,21 +22,autem,qui,22 +23,consectetur,eos,23 +24,omnis,dolorem,24 +25,consequatur,nam,25 +26,quis,suscipit,26 +27,nihil,et,27 +28,rerum,qui,28 +29,occaecati,eligendi,29 +30,exercitationem,voluptas,30 +31,suscipit,quibusdam,31 +32,blanditiis,qui,32 +33,quo,reiciendis,33 +34,quo,nesciunt,34 +35,aut,aut,35 +36,harum,est,36 +37,voluptas,est,37 +38,beatae,animi,38 +39,aut,a,39 +40,ut,sint,40 +41,voluptatem,non,41 +42,et,in,42 +43,officiis,rerum,43 +44,doloremque,in,44 +45,officiis,corporis,45 +46,sed,quia,46 +47,consequatur,qui,47 +48,quia,voluptates,48 +49,minima,omnis,49 +50,quasi,qui,50 +51,suscipit,incidunt,51 +52,ad,doloribus,52 +53,voluptate,accusantium,53 +54,praesentium,eveniet,54 +55,accusamus,at,55 +56,nihil,sed,56 +57,qui,iusto,57 +58,consequuntur,dolores,58 +59,occaecati,reprehenderit,59 +60,totam,quia,60 +61,qui,facilis,61 +62,quia,delectus,62 +63,sit,ab,63 +64,quo,iure,64 +65,rem,quis,65 +66,unde,sint,66 +67,nulla,eligendi,67 +68,in,itaque,68 +69,et,sed,69 +70,ullam,quia,70 +71,dolores,similique,71 +72,praesentium,reprehenderit,72 +73,officiis,occaecati,73 +74,eos,enim,74 +75,odit,aliquam,75 +76,modi,et,76 +77,architecto,non,77 +78,hic,dolor,78 +79,rerum,rerum,79 +80,nihil,laudantium,80 +81,quidem,beatae,81 +82,sint,repellendus,82 +83,nobis,aut,83 +84,ut,beatae,84 +85,molestiae,at,85 +86,dolor,voluptatem,86 +87,voluptates,aut,87 +88,fuga,laborum,88 +89,voluptas,dicta,89 +90,cum,temporibus,90 +91,nesciunt,rerum,91 +92,est,tempora,92 +93,ratione,ducimus,93 +94,eum,aut,94 +95,neque,quae,95 +96,dolore,sunt,96 +97,voluptas,quibusdam,97 +98,omnis,temporibus,98 +99,ipsa,delectus,99 +100,non,illum,100 +101,consequuntur,et,101 +102,non,eum,102 +103,enim,unde,103 +104,itaque,provident,104 +105,quod,nesciunt,105 +106,sed,non,106 +107,commodi,qui,107 +108,odio,soluta,108 +109,inventore,assumenda,109 +110,officia,in,110 +111,quis,dolorem,111 +112,harum,sed,112 +113,autem,reprehenderit,113 +114,consequatur,aut,114 +115,ab,sed,115 +116,porro,aut,116 +117,ut,ratione,117 +118,asperiores,dicta,118 +119,illum,enim,119 +120,possimus,quae,120 +121,quidem,repudiandae,121 +122,porro,quis,122 +123,molestiae,et,123 +124,cupiditate,pariatur,124 +125,nemo,quos,125 +126,praesentium,aut,126 +127,vel,illo,127 +128,molestias,cupiditate,128 +129,quis,sequi,129 +130,autem,nesciunt,130 +131,non,voluptas,131 +132,architecto,odit,132 +133,eum,pariatur,133 +134,necessitatibus,reprehenderit,134 +135,ea,eos,135 +136,omnis,sed,136 +137,nostrum,tempore,137 +138,doloremque,placeat,138 +139,alias,dolorem,139 +140,recusandae,et,140 +141,earum,perspiciatis,141 +142,est,magnam,142 +143,deleniti,magnam,143 +144,aut,numquam,144 +145,rerum,nemo,145 +146,delectus,mollitia,146 +147,alias,porro,147 +148,occaecati,mollitia,148 +149,recusandae,quisquam,149 +150,molestias,laborum,150 +151,tenetur,amet,151 +152,consequatur,ipsum,152 +153,minima,rerum,153 +154,natus,ullam,154 +155,ex,est,155 +156,dignissimos,voluptatem,156 +157,et,doloribus,157 +158,adipisci,dolor,158 +159,qui,optio,159 +160,veniam,soluta,160 +161,saepe,nobis,161 +162,facere,voluptas,162 +163,accusantium,ea,163 +164,reiciendis,porro,164 +165,quos,libero,165 +166,facere,debitis,166 +167,ab,accusamus,167 +168,beatae,suscipit,168 +169,atque,atque,169 +170,quod,ipsa,170 +171,hic,aut,171 +172,quas,delectus,172 +173,illum,vel,173 +174,odit,quia,174 +175,et,eum,175 +176,sunt,ipsa,176 +177,atque,voluptate,177 +178,autem,porro,178 +179,quis,nostrum,179 +180,natus,sint,180 +181,corrupti,sed,181 +182,exercitationem,dolorum,182 +183,et,dolores,183 +184,nisi,esse,184 +185,accusamus,ut,185 +186,quae,ratione,186 +187,tempora,ut,187 +188,et,magnam,188 +189,doloremque,et,189 +190,vel,sit,190 +191,tempora,dolore,191 +192,tempore,suscipit,192 +193,exercitationem,alias,193 +194,magnam,similique,194 +195,ipsum,velit,195 +196,eos,consequatur,196 +197,vel,esse,197 +198,sed,placeat,198 +199,at,omnis,199 +200,amet,veritatis,200 +201,quod,cupiditate,201 +202,non,quo,202 +203,corporis,dignissimos,203 +204,autem,quis,204 +205,repellat,aut,205 +206,rerum,aut,206 +207,reiciendis,quia,207 +208,et,eligendi,208 +209,id,quia,209 +210,repudiandae,dolores,210 +211,fugit,similique,211 +212,placeat,iste,212 +213,delectus,commodi,213 +214,et,illum,214 +215,totam,in,215 +216,iure,qui,216 +217,dicta,voluptas,217 +218,qui,expedita,218 +219,facilis,ut,219 +220,omnis,consequatur,220 +221,praesentium,ea,221 +222,repellendus,rerum,222 +223,odit,voluptatum,223 +224,maiores,voluptas,224 +225,quo,ut,225 +226,voluptas,impedit,226 +227,explicabo,dolorem,227 +228,tempora,quidem,228 +229,id,a,229 +230,qui,suscipit,230 +231,officiis,omnis,231 +232,ipsam,odit,232 +233,totam,omnis,233 +234,molestiae,in,234 +235,blanditiis,dolorem,235 +236,a,pariatur,236 +237,doloribus,impedit,237 +238,non,ullam,238 +239,quis,error,239 +240,sapiente,omnis,240 +241,molestias,sit,241 +242,dolores,natus,242 +243,recusandae,cumque,243 +244,odit,est,244 +245,sed,voluptas,245 +246,molestiae,et,246 +247,molestiae,vero,247 +248,quo,laudantium,248 +249,similique,cum,249 +250,dolor,modi,250 +251,voluptas,officia,251 +252,amet,eum,252 +253,impedit,est,253 +254,culpa,eveniet,254 +255,quia,occaecati,255 +256,perferendis,animi,256 +257,ut,et,257 +258,atque,et,258 +259,et,voluptatum,259 +260,reprehenderit,unde,260 +261,facilis,qui,261 +262,sequi,hic,262 +263,natus,molestias,263 +264,et,blanditiis,264 +265,sed,dolor,265 +266,et,sint,266 +267,illo,consequuntur,267 +268,totam,eos,268 +269,magnam,ea,269 +270,facere,ut,270 +271,accusantium,et,271 +272,temporibus,rem,272 +273,debitis,rerum,273 +274,et,facilis,274 +275,quia,quia,275 +276,voluptatem,eum,276 +277,exercitationem,alias,277 +278,ullam,quod,278 +279,iusto,quis,279 +280,quis,quo,280 +281,fuga,modi,281 +282,placeat,fugiat,282 +283,quidem,sunt,283 +284,ut,veritatis,284 +285,nihil,et,285 +286,qui,enim,286 +287,et,sint,287 +288,repellat,dolorem,288 +289,quia,aut,289 +290,magnam,doloremque,290 +291,accusamus,explicabo,291 +292,aut,dolor,292 +293,harum,exercitationem,293 +294,earum,sed,294 +295,repellat,vel,295 +296,laudantium,molestiae,296 +297,deserunt,omnis,297 +298,nesciunt,dolor,298 +299,repudiandae,corrupti,299 +300,nesciunt,est,300 +301,delectus,voluptas,301 +302,ut,cum,302 +303,et,rem,303 +304,doloremque,illo,304 +305,dignissimos,omnis,305 +306,nisi,in,306 +307,facilis,quo,307 +308,enim,est,308 +309,veritatis,veniam,309 +310,modi,dolore,310 +311,amet,quasi,311 +312,quibusdam,et,312 +313,nulla,occaecati,313 +314,eum,doloribus,314 +315,doloribus,labore,315 +316,numquam,repudiandae,316 +317,porro,nobis,317 +318,quia,rem,318 +319,sit,eum,319 +320,aliquid,consequatur,320 +321,officia,qui,321 +322,consequuntur,itaque,322 +323,et,vel,323 +324,ea,et,324 +325,omnis,voluptatum,325 +326,quia,id,326 +327,quos,et,327 +328,nobis,ut,328 +329,voluptas,unde,329 +330,et,voluptate,330 +331,ratione,dolor,331 +332,sed,ducimus,332 +333,dolorem,nostrum,333 +334,sint,laboriosam,334 +335,aspernatur,at,335 +336,officia,sed,336 +337,et,molestias,337 +338,facilis,ad,338 +339,et,neque,339 +340,quas,provident,340 +341,animi,quos,341 +342,tenetur,repellat,342 +343,dolores,esse,343 +344,porro,dolorem,344 +345,voluptatum,minima,345 +346,reprehenderit,voluptatem,346 +347,et,ut,347 +348,id,et,348 +349,aliquid,animi,349 +350,odio,minima,350 +351,cum,quae,351 +352,adipisci,eligendi,352 +353,qui,modi,353 +354,autem,vel,354 +355,temporibus,recusandae,355 +356,aut,assumenda,356 +357,et,consequuntur,357 +358,quas,molestias,358 +359,voluptates,dolores,359 +360,deserunt,ut,360 +361,est,incidunt,361 +362,accusamus,sed,362 +363,ut,commodi,363 +364,qui,vitae,364 +365,rerum,beatae,365 +366,perspiciatis,ipsa,366 +367,dolorem,esse,367 +368,asperiores,aut,368 +369,unde,saepe,369 +370,qui,labore,370 +371,natus,corporis,371 +372,ipsum,consequatur,372 +373,est,quos,373 +374,mollitia,aperiam,374 +375,non,dolorum,375 +376,tenetur,est,376 +377,aut,ut,377 +378,aut,neque,378 +379,accusantium,ex,379 +380,vel,impedit,380 +381,blanditiis,ea,381 +382,sint,debitis,382 +383,earum,velit,383 +384,et,tenetur,384 +385,omnis,ipsa,385 +386,magnam,ipsum,386 +387,sint,ipsam,387 +388,sit,aut,388 +389,aliquam,consequuntur,389 +390,ut,hic,390 +391,dolorem,nihil,391 +392,minima,sint,392 +393,soluta,rerum,393 +394,adipisci,perspiciatis,394 +395,et,qui,395 +396,in,voluptas,396 +397,est,nobis,397 +398,dolore,eum,398 +399,veniam,dolores,399 +400,et,eos,400 +401,earum,dolorem,401 +402,repellendus,id,402 +403,dolor,esse,403 +404,inventore,doloremque,404 +405,quas,soluta,405 +406,fuga,consectetur,406 +407,dignissimos,in,407 +408,consectetur,dolores,408 +409,non,autem,409 +410,modi,cumque,410 +411,cum,totam,411 +412,quam,ipsam,412 +413,ipsum,soluta,413 +414,expedita,consectetur,414 +415,quo,voluptatibus,415 +416,autem,quas,416 +417,et,cum,417 +418,unde,et,418 +419,alias,perferendis,419 +420,qui,praesentium,420 +421,vel,dolor,421 +422,provident,pariatur,422 +423,est,omnis,423 +424,quaerat,adipisci,424 +425,quo,beatae,425 +426,dolor,omnis,426 +427,aut,velit,427 +428,possimus,animi,428 +429,quis,maiores,429 +430,libero,et,430 +431,in,quis,431 +432,id,dignissimos,432 +433,officiis,similique,433 +434,asperiores,est,434 +435,et,nulla,435 +436,autem,veritatis,436 +437,et,eum,437 +438,et,at,438 +439,ipsam,sed,439 +440,quis,aut,440 +441,est,non,441 +442,exercitationem,corrupti,442 +443,repellendus,et,443 +444,deserunt,quibusdam,444 +445,est,sit,445 +446,veritatis,ab,446 +447,impedit,illum,447 +448,eos,aut,448 +449,atque,sequi,449 +450,eaque,cum,450 +451,aut,minima,451 +452,nostrum,animi,452 +453,quos,dignissimos,453 +454,perspiciatis,nostrum,454 +455,in,dolor,455 +456,aut,aperiam,456 +457,quia,autem,457 +458,non,reprehenderit,458 +459,nisi,minus,459 +460,libero,ratione,460 +461,dicta,sequi,461 +462,dolorum,enim,462 +463,dicta,quia,463 +464,non,itaque,464 +465,eum,accusantium,465 +466,ut,atque,466 +467,quibusdam,sit,467 +468,quidem,quo,468 +469,animi,et,469 +470,mollitia,commodi,470 +471,repudiandae,tempore,471 +472,non,exercitationem,472 +473,cum,quia,473 +474,sed,reprehenderit,474 +475,ducimus,sunt,475 +476,dignissimos,neque,476 +477,doloribus,eos,477 +478,perferendis,itaque,478 +479,sit,blanditiis,479 +480,earum,repellendus,480 +481,aut,et,481 +482,qui,assumenda,482 +483,ut,sunt,483 +484,aut,id,484 +485,ut,qui,485 +486,provident,quas,486 +487,blanditiis,laudantium,487 +488,sit,fugit,488 +489,quo,molestias,489 +490,modi,suscipit,490 +491,ut,et,491 +492,corrupti,cumque,492 +493,neque,dolorem,493 +494,quod,est,494 +495,aut,ut,495 +496,rerum,impedit,496 +497,saepe,odio,497 +498,nihil,enim,498 +499,molestias,provident,499 +500,neque,maxime,500 +501,quisquam,possimus,501 +502,at,ut,502 +503,sed,esse,503 +504,ullam,dolorem,504 +505,nobis,quia,505 +506,quidem,incidunt,506 +507,harum,non,507 +508,voluptate,qui,508 +509,quod,expedita,509 +510,dolorum,qui,510 +511,neque,optio,511 +512,et,eos,512 +513,voluptatem,dolorum,513 +514,blanditiis,totam,514 +515,et,amet,515 +516,assumenda,repudiandae,516 +517,sit,ex,517 +518,id,omnis,518 +519,a,est,519 +520,deleniti,optio,520 +521,nemo,rerum,521 +522,minima,quae,522 +523,quis,mollitia,523 +524,a,doloremque,524 +525,tempora,consectetur,525 +526,tempora,incidunt,526 +527,aspernatur,facilis,527 +528,consequatur,numquam,528 +529,ipsam,qui,529 +530,pariatur,aperiam,530 +531,laudantium,aliquam,531 +532,qui,voluptas,532 +533,et,optio,533 +534,officia,sapiente,534 +535,corporis,quae,535 +536,quia,nobis,536 +537,magni,cum,537 +538,eos,vel,538 +539,possimus,necessitatibus,539 +540,qui,modi,540 +541,in,necessitatibus,541 +542,velit,iusto,542 +543,ipsa,excepturi,543 +544,quisquam,rem,544 +545,sunt,voluptatem,545 +546,nesciunt,nulla,546 +547,aut,reprehenderit,547 +548,ut,modi,548 +549,natus,officiis,549 +550,ducimus,aut,550 +551,id,nihil,551 +552,error,ducimus,552 +553,vel,rerum,553 +554,dolorum,distinctio,554 +555,dolorum,officia,555 +556,voluptas,expedita,556 +557,non,et,557 +558,porro,voluptas,558 +559,omnis,sit,559 +560,hic,rerum,560 +561,rerum,voluptas,561 +562,vel,aliquam,562 +563,delectus,inventore,563 +564,consequatur,commodi,564 +565,est,ex,565 +566,et,sed,566 +567,qui,quo,567 +568,voluptas,aut,568 +569,enim,similique,569 +570,qui,eos,570 +571,ut,repudiandae,571 +572,sint,dignissimos,572 +573,ea,est,573 +574,asperiores,voluptatem,574 +575,dolores,ut,575 +576,excepturi,molestiae,576 +577,tempora,et,577 +578,expedita,nulla,578 +579,odio,at,579 +580,perferendis,enim,580 +581,nisi,at,581 +582,earum,ex,582 +583,omnis,voluptate,583 +584,molestiae,rerum,584 +585,consequuntur,odio,585 +586,odio,nulla,586 +587,dolorem,autem,587 +588,necessitatibus,et,588 +589,et,consequatur,589 +590,dignissimos,nemo,590 +591,culpa,quia,591 +592,voluptatem,aspernatur,592 +593,quo,saepe,593 +594,vel,quod,594 +595,temporibus,dolor,595 +596,eum,aliquid,596 +597,enim,omnis,597 +598,omnis,veritatis,598 +599,quo,quae,599 +600,ex,ullam,600 +601,sed,atque,601 +602,esse,sit,602 +603,eligendi,non,603 +604,inventore,esse,604 +605,non,omnis,605 +606,error,nostrum,606 +607,porro,modi,607 +608,omnis,quia,608 +609,omnis,unde,609 +610,minus,eveniet,610 +611,pariatur,a,611 +612,a,recusandae,612 +613,tempora,nulla,613 +614,corporis,velit,614 +615,et,molestiae,615 +616,in,temporibus,616 +617,qui,placeat,617 +618,est,quia,618 +619,consequatur,sequi,619 +620,non,et,620 +621,animi,a,621 +622,quidem,molestiae,622 +623,deleniti,harum,623 +624,nemo,nam,624 +625,et,quos,625 +626,blanditiis,alias,626 +627,rem,optio,627 +628,similique,unde,628 +629,iusto,odit,629 +630,architecto,rem,630 +631,veniam,pariatur,631 +632,debitis,quis,632 +633,odit,nobis,633 +634,consequatur,ipsum,634 +635,neque,ad,635 +636,doloribus,sint,636 +637,beatae,reiciendis,637 +638,quos,sit,638 +639,vero,eos,639 +640,excepturi,autem,640 +641,est,omnis,641 +642,nobis,voluptatibus,642 +643,consectetur,eum,643 +644,ab,sed,644 +645,ea,in,645 +646,corporis,sapiente,646 +647,tempora,recusandae,647 +648,expedita,itaque,648 +649,quis,exercitationem,649 +650,ut,est,650 +651,eum,quo,651 +652,qui,odit,652 +653,velit,et,653 +654,modi,minus,654 +655,quisquam,quos,655 +656,ut,molestiae,656 +657,consequatur,occaecati,657 +658,architecto,aut,658 +659,impedit,error,659 +660,voluptatem,aliquid,660 +661,perspiciatis,unde,661 +662,corrupti,aut,662 +663,voluptatem,eaque,663 +664,ut,facilis,664 +665,perspiciatis,similique,665 +666,aut,sed,666 +667,ea,ut,667 +668,magnam,quia,668 +669,eius,et,669 +670,ad,rerum,670 +671,sunt,ut,671 +672,ab,nemo,672 +673,voluptatem,dolores,673 +674,unde,saepe,674 +675,blanditiis,quibusdam,675 +676,alias,est,676 +677,eum,consequatur,677 +678,aut,velit,678 +679,repellendus,architecto,679 +680,voluptas,corrupti,680 +681,quod,maiores,681 +682,sit,et,682 +683,odit,harum,683 +684,molestiae,ex,684 +685,modi,ut,685 +686,non,asperiores,686 +687,officiis,odio,687 +688,repudiandae,iure,688 +689,aliquid,quaerat,689 +690,cumque,rerum,690 +691,facilis,sed,691 +692,ipsam,nobis,692 +693,dolor,mollitia,693 +694,soluta,necessitatibus,694 +695,voluptatibus,possimus,695 +696,non,doloremque,696 +697,sed,odio,697 +698,incidunt,fugiat,698 +699,ducimus,quis,699 +700,et,consequatur,700 +701,unde,non,701 +702,placeat,ratione,702 +703,vel,odio,703 +704,qui,tenetur,704 +705,id,similique,705 +706,voluptatem,facilis,706 +707,fuga,a,707 +708,ex,deserunt,708 +709,mollitia,laborum,709 +710,natus,quibusdam,710 +711,beatae,et,711 +712,voluptatem,non,712 +713,vel,laboriosam,713 +714,suscipit,distinctio,714 +715,et,rerum,715 +716,debitis,facere,716 +717,voluptatibus,id,717 +718,voluptatum,vitae,718 +719,velit,odio,719 +720,aspernatur,est,720 +721,laudantium,id,721 +722,esse,et,722 +723,saepe,debitis,723 +724,esse,explicabo,724 +725,ut,dolore,725 +726,excepturi,quia,726 +727,voluptas,ut,727 +728,voluptas,debitis,728 +729,dolor,consectetur,729 +730,sapiente,ut,730 +731,alias,in,731 +732,dolorem,at,732 +733,laborum,sed,733 +734,voluptatibus,non,734 +735,minus,soluta,735 +736,dolores,vero,736 +737,nihil,aut,737 +738,facilis,adipisci,738 +739,qui,voluptatem,739 +740,autem,aut,740 +741,voluptatem,atque,741 +742,voluptatibus,aspernatur,742 +743,repellendus,dolorem,743 +744,voluptatum,fugit,744 +745,quod,ut,745 +746,reprehenderit,quo,746 +747,totam,ut,747 +748,ex,quisquam,748 +749,reprehenderit,blanditiis,749 +750,sed,labore,750 +751,ut,est,751 +752,repellendus,nam,752 +753,quia,voluptas,753 +754,sit,a,754 +755,perferendis,nostrum,755 +756,nihil,fuga,756 +757,doloribus,et,757 +758,ipsam,velit,758 +759,rem,veniam,759 +760,fuga,possimus,760 +761,incidunt,sint,761 +762,vero,rerum,762 +763,ad,assumenda,763 +764,praesentium,exercitationem,764 +765,ut,reprehenderit,765 +766,id,quia,766 +767,doloribus,iure,767 +768,deleniti,quia,768 +769,pariatur,sit,769 +770,molestias,unde,770 +771,sint,enim,771 +772,amet,beatae,772 +773,commodi,dolores,773 +774,omnis,consectetur,774 +775,dignissimos,perspiciatis,775 +776,deserunt,aut,776 +777,doloremque,ipsam,777 +778,aut,et,778 +779,a,quibusdam,779 +780,vero,quasi,780 +781,et,officia,781 +782,accusamus,et,782 +783,explicabo,voluptas,783 +784,autem,fugit,784 +785,non,cumque,785 +786,et,est,786 +787,laborum,facere,787 +788,et,facilis,788 +789,consequatur,aut,789 +790,voluptas,quisquam,790 +791,tempore,veritatis,791 +792,quos,deserunt,792 +793,modi,accusantium,793 +794,pariatur,ea,794 +795,ducimus,voluptas,795 +796,sed,et,796 +797,nostrum,nemo,797 +798,enim,vel,798 +799,eum,cupiditate,799 +800,et,ab,800 +801,aut,amet,801 +802,et,non,802 +803,eaque,blanditiis,803 +804,veniam,dolorum,804 +805,dolorum,necessitatibus,805 +806,delectus,sit,806 +807,et,nisi,807 +808,quasi,architecto,808 +809,ut,nisi,809 +810,minima,a,810 +811,quam,soluta,811 +812,ratione,rerum,812 +813,fugit,iure,813 +814,temporibus,distinctio,814 +815,quas,ea,815 +816,mollitia,harum,816 +817,temporibus,quis,817 +818,consequatur,ea,818 +819,beatae,laudantium,819 +820,adipisci,vero,820 +821,eum,consequuntur,821 +822,voluptatibus,perspiciatis,822 +823,quisquam,excepturi,823 +824,sequi,quia,824 +825,et,sequi,825 +826,ab,iste,826 +827,fugit,explicabo,827 +828,voluptatem,rerum,828 +829,aut,illum,829 +830,voluptas,consectetur,830 +831,omnis,sed,831 +832,est,asperiores,832 +833,sapiente,ipsum,833 +834,quam,eum,834 +835,ex,provident,835 +836,temporibus,dolorem,836 +837,labore,explicabo,837 +838,quas,nobis,838 +839,doloremque,sed,839 +840,consequatur,et,840 +841,et,distinctio,841 +842,sit,consectetur,842 +843,dolores,fugiat,843 +844,et,delectus,844 +845,sint,voluptatem,845 +846,voluptates,quod,846 +847,eos,iure,847 +848,blanditiis,vitae,848 +849,a,aut,849 +850,molestiae,incidunt,850 +851,maiores,corporis,851 +852,numquam,maiores,852 +853,dicta,quis,853 +854,porro,non,854 +855,corrupti,ut,855 +856,non,ducimus,856 +857,aliquam,autem,857 +858,non,exercitationem,858 +859,praesentium,dolorem,859 +860,possimus,provident,860 +861,rem,fuga,861 +862,ut,cupiditate,862 +863,ut,est,863 +864,voluptas,eius,864 +865,quia,labore,865 +866,voluptatem,officia,866 +867,alias,enim,867 +868,qui,adipisci,868 +869,molestiae,recusandae,869 +870,unde,dolorem,870 +871,cumque,est,871 +872,consequuntur,expedita,872 +873,autem,commodi,873 +874,dolorum,doloremque,874 +875,quos,animi,875 +876,qui,quos,876 +877,sunt,expedita,877 +878,voluptas,voluptatum,878 +879,magni,aut,879 +880,aspernatur,assumenda,880 +881,est,et,881 +882,ab,eius,882 +883,iusto,saepe,883 +884,asperiores,beatae,884 +885,nulla,et,885 +886,perferendis,labore,886 +887,laboriosam,sunt,887 +888,architecto,beatae,888 +889,aliquid,cumque,889 +890,libero,doloremque,890 +891,esse,et,891 +892,dolore,ipsa,892 +893,sint,ab,893 +894,ut,eos,894 +895,cumque,optio,895 +896,voluptatem,non,896 +897,velit,delectus,897 +898,beatae,temporibus,898 +899,sit,labore,899 +900,aut,et,900 +901,ipsam,ut,901 +902,et,in,902 +903,dolorem,dolorem,903 +904,ipsa,quidem,904 +905,ex,fugiat,905 +906,suscipit,quibusdam,906 +907,magni,aliquid,907 +908,itaque,laborum,908 +909,molestiae,id,909 +910,molestias,tempore,910 +911,ipsum,sed,911 +912,aut,possimus,912 +913,error,architecto,913 +914,eos,excepturi,914 +915,sed,ad,915 +916,blanditiis,sit,916 +917,odio,ipsam,917 +918,repellendus,sit,918 +919,ut,amet,919 +920,asperiores,incidunt,920 +921,voluptatem,dolore,921 +922,aspernatur,sed,922 +923,facere,et,923 +924,rerum,provident,924 +925,quos,eius,925 +926,voluptates,nisi,926 +927,aut,aut,927 +928,dolorem,sit,928 +929,et,qui,929 +930,temporibus,qui,930 +931,unde,labore,931 +932,nulla,beatae,932 +933,totam,velit,933 +934,blanditiis,et,934 +935,fugiat,exercitationem,935 +936,tempore,inventore,936 +937,molestiae,sed,937 +938,ipsum,delectus,938 +939,officiis,consectetur,939 +940,iusto,omnis,940 +941,enim,iure,941 +942,a,atque,942 +943,doloribus,impedit,943 +944,aut,velit,944 +945,dolore,amet,945 +946,qui,tempora,946 +947,sed,asperiores,947 +948,vitae,a,948 +949,corporis,omnis,949 +950,quos,nobis,950 +951,qui,quia,951 +952,architecto,doloremque,952 +953,dicta,ut,953 +954,accusantium,deleniti,954 +955,numquam,consequuntur,955 +956,cum,repellat,956 +957,fuga,tempore,957 +958,est,ut,958 +959,ipsum,in,959 +960,veniam,accusamus,960 +961,iusto,necessitatibus,961 +962,placeat,dolore,962 +963,dicta,atque,963 +964,fuga,quibusdam,964 +965,et,aut,965 +966,minus,autem,966 +967,minus,est,967 +968,odit,perspiciatis,968 +969,nam,dolorem,969 +970,qui,magnam,970 +971,qui,eos,971 +972,voluptas,molestias,972 +973,sed,odit,973 +974,et,tempora,974 +975,quo,placeat,975 +976,accusamus,ipsum,976 +977,rerum,consequatur,977 +978,et,dolor,978 +979,debitis,commodi,979 +980,qui,architecto,980 +981,repudiandae,ullam,981 +982,temporibus,magnam,982 +983,illum,aliquam,983 +984,inventore,ex,984 +985,corrupti,porro,985 +986,odit,magni,986 +987,facere,quasi,987 +988,sapiente,dignissimos,988 +989,temporibus,eum,989 +990,maiores,quo,990 +991,voluptatem,et,991 +992,expedita,quo,992 +993,nostrum,eum,993 +994,in,ut,994 +995,libero,quam,995 +996,eos,deleniti,996 +997,molestiae,nesciunt,997 +998,quisquam,voluptas,998 +999,laudantium,tempora,999 +1000,similique,sequi,1000 +1001,eius,neque,1001 +1002,deleniti,iste,1002 +1003,velit,nisi,1003 +1004,repellendus,quia,1004 +1005,est,aut,1005 +1006,voluptatem,et,1006 +1007,laudantium,consequatur,1007 +1008,atque,doloribus,1008 +1009,saepe,ullam,1009 +1010,cumque,optio,1010 +1011,molestias,beatae,1011 +1012,nihil,facilis,1012 +1013,corporis,consequatur,1013 +1014,atque,reprehenderit,1014 +1015,vero,aliquam,1015 +1016,eos,cupiditate,1016 +1017,autem,adipisci,1017 +1018,qui,fugit,1018 +1019,dolore,unde,1019 +1020,tempore,rerum,1020 +1021,et,iste,1021 +1022,eum,et,1022 +1023,quasi,placeat,1023 +1024,ullam,ipsam,1024 +1025,saepe,tempora,1025 +1026,velit,ut,1026 +1027,qui,delectus,1027 +1028,deserunt,aperiam,1028 +1029,quam,tempora,1029 +1030,reiciendis,id,1030 +1031,nihil,repellendus,1031 +1032,vel,aut,1032 +1033,pariatur,eum,1033 +1034,quidem,quos,1034 +1035,omnis,consequatur,1035 +1036,qui,aut,1036 +1037,esse,id,1037 +1038,rerum,possimus,1038 +1039,ut,molestiae,1039 +1040,rem,occaecati,1040 +1041,odit,eligendi,1041 +1042,ut,nobis,1042 +1043,inventore,similique,1043 +1044,sed,cum,1044 +1045,eligendi,facilis,1045 +1046,id,quidem,1046 +1047,placeat,id,1047 +1048,voluptas,rem,1048 +1049,sit,sed,1049 +1050,aspernatur,at,1050 +1051,beatae,fugiat,1051 +1052,reprehenderit,omnis,1052 +1053,ipsam,aperiam,1053 +1054,veniam,iusto,1054 +1055,harum,et,1055 +1056,inventore,sequi,1056 +1057,nesciunt,atque,1057 +1058,facere,et,1058 +1059,dolores,et,1059 +1060,perferendis,amet,1060 +1061,consequatur,sunt,1061 +1062,non,tempore,1062 +1063,error,eum,1063 +1064,sit,omnis,1064 +1065,sit,sit,1065 +1066,maiores,possimus,1066 +1067,quasi,autem,1067 +1068,repudiandae,similique,1068 +1069,tempora,non,1069 +1070,neque,assumenda,1070 +1071,rerum,itaque,1071 +1072,sunt,error,1072 +1073,veritatis,officia,1073 +1074,culpa,cum,1074 +1075,soluta,fugit,1075 +1076,voluptates,culpa,1076 +1077,dolorum,doloremque,1077 +1078,explicabo,qui,1078 +1079,a,magni,1079 +1080,aut,molestiae,1080 +1081,fugit,quos,1081 +1082,voluptas,officia,1082 +1083,eos,qui,1083 +1084,libero,reprehenderit,1084 +1085,qui,ea,1085 +1086,doloremque,corrupti,1086 +1087,totam,saepe,1087 +1088,laboriosam,enim,1088 +1089,aut,et,1089 +1090,et,vero,1090 +1091,et,tempore,1091 +1092,sit,atque,1092 +1093,suscipit,et,1093 +1094,perspiciatis,et,1094 +1095,qui,non,1095 +1096,molestias,consequuntur,1096 +1097,dicta,rerum,1097 +1098,dolore,ea,1098 +1099,quo,vero,1099 +1100,dolor,rem,1100 +1101,pariatur,possimus,1101 +1102,et,quo,1102 +1103,culpa,consequuntur,1103 +1104,temporibus,earum,1104 +1105,est,vel,1105 +1106,est,rerum,1106 +1107,iure,nostrum,1107 +1108,soluta,culpa,1108 +1109,eum,quo,1109 +1110,dolorem,magnam,1110 +1111,eum,adipisci,1111 +1112,perspiciatis,eligendi,1112 +1113,molestias,praesentium,1113 +1114,optio,odit,1114 +1115,aliquam,dolores,1115 +1116,natus,perferendis,1116 +1117,animi,esse,1117 +1118,tenetur,consectetur,1118 +1119,sit,consequatur,1119 +1120,ut,qui,1120 +1121,aut,ad,1121 +1122,vel,a,1122 +1123,eaque,sit,1123 +1124,aut,dolores,1124 +1125,delectus,unde,1125 +1126,veniam,minima,1126 +1127,ipsam,adipisci,1127 +1128,asperiores,vel,1128 +1129,in,voluptatem,1129 +1130,ab,natus,1130 +1131,dolorum,minima,1131 +1132,dolorum,alias,1132 +1133,et,ipsam,1133 +1134,incidunt,veritatis,1134 +1135,aut,consequatur,1135 +1136,hic,quia,1136 +1137,quo,dolor,1137 +1138,ut,optio,1138 +1139,sit,recusandae,1139 +1140,temporibus,assumenda,1140 +1141,voluptas,sint,1141 +1142,reiciendis,fugiat,1142 +1143,sed,aut,1143 +1144,voluptatem,aut,1144 +1145,accusantium,maiores,1145 +1146,facere,et,1146 +1147,voluptatum,ut,1147 +1148,nam,asperiores,1148 +1149,in,doloremque,1149 +1150,quisquam,incidunt,1150 +1151,harum,hic,1151 +1152,distinctio,est,1152 +1153,laboriosam,deleniti,1153 +1154,consectetur,eius,1154 +1155,quis,architecto,1155 +1156,occaecati,et,1156 +1157,sint,et,1157 +1158,dolorum,fugit,1158 +1159,incidunt,in,1159 +1160,minima,quisquam,1160 +1161,quas,nam,1161 +1162,sed,ut,1162 +1163,reiciendis,et,1163 +1164,odio,commodi,1164 +1165,sunt,non,1165 +1166,animi,ut,1166 +1167,consectetur,laboriosam,1167 +1168,eos,tempore,1168 +1169,rem,occaecati,1169 +1170,facilis,hic,1170 +1171,nobis,libero,1171 +1172,quod,optio,1172 +1173,illo,aut,1173 +1174,nobis,consequatur,1174 +1175,earum,ut,1175 +1176,ipsam,vel,1176 +1177,suscipit,soluta,1177 +1178,a,dolorem,1178 +1179,dicta,sed,1179 +1180,aspernatur,quibusdam,1180 +1181,temporibus,necessitatibus,1181 +1182,unde,perferendis,1182 +1183,quibusdam,praesentium,1183 +1184,similique,optio,1184 +1185,exercitationem,et,1185 +1186,qui,officiis,1186 +1187,eum,et,1187 +1188,omnis,aperiam,1188 +1189,recusandae,enim,1189 +1190,perferendis,voluptatum,1190 +1191,ut,eum,1191 +1192,consectetur,sapiente,1192 +1193,autem,qui,1193 +1194,quis,assumenda,1194 +1195,ut,cupiditate,1195 +1196,quia,dolorem,1196 +1197,excepturi,in,1197 +1198,officiis,numquam,1198 +1199,possimus,delectus,1199 +1200,veniam,recusandae,1200 +1201,quos,id,1201 +1202,ratione,corporis,1202 +1203,alias,voluptates,1203 +1204,quia,quasi,1204 +1205,animi,soluta,1205 +1206,autem,laboriosam,1206 +1207,impedit,velit,1207 +1208,est,voluptatem,1208 +1209,ut,beatae,1209 +1210,quis,tempora,1210 +1211,placeat,assumenda,1211 +1212,libero,porro,1212 +1213,minima,veniam,1213 +1214,explicabo,sed,1214 +1215,illo,consequatur,1215 +1216,necessitatibus,in,1216 +1217,recusandae,aut,1217 +1218,dicta,eos,1218 +1219,maiores,qui,1219 +1220,eum,temporibus,1220 +1221,sit,libero,1221 +1222,aperiam,quia,1222 +1223,ut,est,1223 +1224,quo,qui,1224 +1225,velit,suscipit,1225 +1226,aut,qui,1226 +1227,culpa,omnis,1227 +1228,omnis,non,1228 +1229,dolore,non,1229 +1230,dolorem,quam,1230 +1231,voluptates,odio,1231 +1232,deserunt,non,1232 +1233,qui,deserunt,1233 +1234,debitis,ea,1234 +1235,accusamus,sed,1235 +1236,maiores,earum,1236 +1237,eum,vitae,1237 +1238,dolorem,maxime,1238 +1239,atque,officia,1239 +1240,rerum,sunt,1240 +1241,inventore,et,1241 +1242,sed,labore,1242 +1243,nulla,et,1243 +1244,neque,consectetur,1244 +1245,deleniti,assumenda,1245 +1246,assumenda,possimus,1246 +1247,deserunt,qui,1247 +1248,hic,et,1248 +1249,et,incidunt,1249 +1250,soluta,quos,1250 +1251,reprehenderit,natus,1251 +1252,omnis,in,1252 +1253,qui,libero,1253 +1254,occaecati,dolorem,1254 +1255,odio,rem,1255 +1256,tempora,temporibus,1256 +1257,quia,ut,1257 +1258,odit,et,1258 +1259,sapiente,optio,1259 +1260,aliquam,voluptatem,1260 +1261,dolorem,corrupti,1261 +1262,modi,necessitatibus,1262 +1263,sequi,doloremque,1263 +1264,voluptatum,dolorum,1264 +1265,sequi,quo,1265 +1266,reprehenderit,similique,1266 +1267,mollitia,molestias,1267 +1268,ut,vel,1268 +1269,quis,dolores,1269 +1270,nesciunt,consequatur,1270 +1271,praesentium,magni,1271 +1272,nemo,facilis,1272 +1273,molestiae,sint,1273 +1274,natus,est,1274 +1275,a,quibusdam,1275 +1276,sapiente,dignissimos,1276 +1277,sit,eaque,1277 +1278,possimus,illum,1278 +1279,ratione,assumenda,1279 +1280,fuga,quod,1280 +1281,quis,nam,1281 +1282,et,ut,1282 +1283,qui,accusantium,1283 +1284,molestias,aliquam,1284 +1285,ut,fugit,1285 +1286,nesciunt,dolor,1286 +1287,voluptatem,qui,1287 +1288,explicabo,iure,1288 +1289,ratione,itaque,1289 +1290,aut,non,1290 +1291,dolores,rerum,1291 +1292,nihil,dolore,1292 +1293,blanditiis,omnis,1293 +1294,in,dolor,1294 +1295,in,enim,1295 +1296,sed,repudiandae,1296 +1297,libero,delectus,1297 +1298,modi,voluptatum,1298 +1299,explicabo,impedit,1299 +1300,eum,accusantium,1300 +1301,dicta,expedita,1301 +1302,assumenda,eaque,1302 +1303,officia,necessitatibus,1303 +1304,doloremque,corrupti,1304 +1305,aut,minus,1305 +1306,aspernatur,ducimus,1306 +1307,voluptatem,deserunt,1307 +1308,quo,eum,1308 +1309,hic,ex,1309 +1310,perspiciatis,non,1310 +1311,dolore,exercitationem,1311 +1312,eligendi,itaque,1312 +1313,iure,enim,1313 +1314,nesciunt,molestias,1314 +1315,et,minima,1315 +1316,quae,et,1316 +1317,impedit,officiis,1317 +1318,dolor,at,1318 +1319,iste,ut,1319 +1320,qui,repudiandae,1320 +1321,veritatis,voluptatem,1321 +1322,ut,quis,1322 +1323,vitae,autem,1323 +1324,aliquid,quia,1324 +1325,voluptas,molestiae,1325 +1326,ratione,et,1326 +1327,architecto,et,1327 +1328,ut,occaecati,1328 +1329,nesciunt,omnis,1329 +1330,non,nihil,1330 +1331,repudiandae,consequuntur,1331 +1332,unde,animi,1332 +1333,dolorem,quis,1333 +1334,perspiciatis,culpa,1334 +1335,ratione,pariatur,1335 +1336,illo,porro,1336 +1337,veritatis,est,1337 +1338,eos,voluptates,1338 +1339,aut,reprehenderit,1339 +1340,est,corrupti,1340 +1341,doloremque,nulla,1341 +1342,sit,similique,1342 +1343,autem,ea,1343 +1344,ut,ex,1344 +1345,voluptas,qui,1345 +1346,ut,architecto,1346 +1347,aut,quisquam,1347 +1348,et,exercitationem,1348 +1349,quibusdam,ex,1349 +1350,dolores,ipsum,1350 +1351,recusandae,odit,1351 +1352,dignissimos,unde,1352 +1353,dolores,est,1353 +1354,ipsam,quibusdam,1354 +1355,repellat,eligendi,1355 +1356,atque,culpa,1356 +1357,hic,ipsum,1357 +1358,reprehenderit,aperiam,1358 +1359,fugiat,impedit,1359 +1360,quis,quasi,1360 +1361,officia,sequi,1361 +1362,architecto,recusandae,1362 +1363,labore,magnam,1363 +1364,reiciendis,qui,1364 +1365,non,ut,1365 +1366,omnis,et,1366 +1367,facere,ut,1367 +1368,est,odit,1368 +1369,ut,voluptatem,1369 +1370,excepturi,rerum,1370 +1371,amet,vitae,1371 +1372,sit,possimus,1372 +1373,debitis,ut,1373 +1374,eius,quas,1374 +1375,cum,fuga,1375 +1376,accusantium,impedit,1376 +1377,voluptate,totam,1377 +1378,molestias,aperiam,1378 +1379,aut,quasi,1379 +1380,nobis,laudantium,1380 +1381,quam,accusamus,1381 +1382,numquam,qui,1382 +1383,fugit,dolorem,1383 +1384,autem,est,1384 +1385,perferendis,harum,1385 +1386,quia,ea,1386 +1387,necessitatibus,explicabo,1387 +1388,voluptates,fuga,1388 +1389,consequatur,beatae,1389 +1390,aut,sed,1390 +1391,non,voluptatem,1391 +1392,culpa,dicta,1392 +1393,et,quasi,1393 +1394,ad,fuga,1394 +1395,quae,voluptates,1395 +1396,optio,est,1396 +1397,vel,perspiciatis,1397 +1398,enim,qui,1398 +1399,quae,ab,1399 +1400,aut,ut,1400 +1401,debitis,molestias,1401 +1402,sed,necessitatibus,1402 +1403,quo,labore,1403 +1404,minus,sunt,1404 +1405,rerum,assumenda,1405 +1406,voluptas,enim,1406 +1407,perferendis,minus,1407 +1408,sed,veritatis,1408 +1409,atque,ratione,1409 +1410,aut,voluptas,1410 +1411,qui,quod,1411 +1412,sit,voluptatem,1412 +1413,quam,ipsa,1413 +1414,excepturi,tenetur,1414 +1415,dolor,excepturi,1415 +1416,voluptate,repellendus,1416 +1417,et,ipsum,1417 +1418,ab,est,1418 +1419,accusantium,quia,1419 +1420,harum,asperiores,1420 +1421,praesentium,quaerat,1421 +1422,odit,veritatis,1422 +1423,qui,modi,1423 +1424,perferendis,quis,1424 +1425,iste,sunt,1425 +1426,omnis,explicabo,1426 +1427,ex,dolor,1427 +1428,maiores,veritatis,1428 +1429,optio,itaque,1429 +1430,beatae,praesentium,1430 +1431,ut,odio,1431 +1432,in,porro,1432 +1433,quos,exercitationem,1433 +1434,nihil,et,1434 +1435,quos,molestiae,1435 +1436,illum,quaerat,1436 +1437,dicta,tenetur,1437 +1438,ducimus,tenetur,1438 +1439,repudiandae,laudantium,1439 +1440,at,provident,1440 +1441,tempora,animi,1441 +1442,aut,voluptas,1442 +1443,ab,id,1443 +1444,rerum,ipsa,1444 +1445,quis,et,1445 +1446,odio,eum,1446 +1447,iure,sed,1447 +1448,rerum,dignissimos,1448 +1449,in,asperiores,1449 +1450,ratione,nobis,1450 +1451,distinctio,ipsa,1451 +1452,est,numquam,1452 +1453,ad,soluta,1453 +1454,quisquam,dolorem,1454 +1455,praesentium,quam,1455 +1456,sit,illum,1456 +1457,consequuntur,culpa,1457 +1458,inventore,accusantium,1458 +1459,id,aut,1459 +1460,rem,aliquid,1460 +1461,suscipit,esse,1461 +1462,exercitationem,praesentium,1462 +1463,maxime,sit,1463 +1464,culpa,repellendus,1464 +1465,quidem,voluptas,1465 +1466,repellendus,est,1466 +1467,fuga,occaecati,1467 +1468,magnam,iste,1468 +1469,aut,ad,1469 +1470,ea,iste,1470 +1471,aliquam,expedita,1471 +1472,expedita,id,1472 +1473,harum,itaque,1473 +1474,eum,iure,1474 +1475,mollitia,fuga,1475 +1476,earum,mollitia,1476 +1477,possimus,ad,1477 +1478,non,sint,1478 +1479,dolorem,nesciunt,1479 +1480,ut,minima,1480 +1481,nam,iure,1481 +1482,qui,rem,1482 +1483,sit,aliquam,1483 +1484,placeat,ipsa,1484 +1485,non,exercitationem,1485 +1486,doloribus,ullam,1486 +1487,fugit,blanditiis,1487 +1488,sed,quos,1488 +1489,sunt,qui,1489 +1490,a,assumenda,1490 +1491,doloribus,sint,1491 +1492,molestias,animi,1492 +1493,repellat,cum,1493 +1494,dicta,illo,1494 +1495,aut,laborum,1495 +1496,ex,quibusdam,1496 +1497,aut,quidem,1497 +1498,id,quos,1498 +1499,dolores,neque,1499 +1500,quam,aut,1500 +1501,aut,sit,1501 +1502,pariatur,ipsa,1502 +1503,excepturi,natus,1503 +1504,tenetur,minus,1504 +1505,ea,quam,1505 +1506,unde,in,1506 +1507,quasi,laudantium,1507 +1508,eum,nesciunt,1508 +1509,quis,sint,1509 +1510,id,aspernatur,1510 +1511,sapiente,ducimus,1511 +1512,saepe,pariatur,1512 +1513,amet,rerum,1513 +1514,numquam,nobis,1514 +1515,voluptatum,numquam,1515 +1516,in,quia,1516 +1517,quia,perferendis,1517 +1518,necessitatibus,qui,1518 +1519,asperiores,et,1519 +1520,eaque,est,1520 +1521,assumenda,pariatur,1521 +1522,ipsam,id,1522 +1523,et,quia,1523 +1524,possimus,asperiores,1524 +1525,quo,quia,1525 +1526,quia,omnis,1526 +1527,assumenda,recusandae,1527 +1528,quia,ut,1528 +1529,exercitationem,est,1529 +1530,velit,exercitationem,1530 +1531,illum,nihil,1531 +1532,a,aspernatur,1532 +1533,exercitationem,labore,1533 +1534,officiis,doloribus,1534 +1535,et,eaque,1535 +1536,ut,inventore,1536 +1537,aliquam,fuga,1537 +1538,voluptate,numquam,1538 +1539,quis,delectus,1539 +1540,sint,assumenda,1540 +1541,quae,veritatis,1541 +1542,soluta,consectetur,1542 +1543,qui,voluptatem,1543 +1544,enim,consequuntur,1544 +1545,id,id,1545 +1546,labore,provident,1546 +1547,placeat,quia,1547 +1548,nobis,odit,1548 +1549,consequatur,velit,1549 +1550,voluptates,ut,1550 +1551,ipsam,nihil,1551 +1552,eius,eum,1552 +1553,unde,suscipit,1553 +1554,sequi,ipsa,1554 +1555,eligendi,molestias,1555 +1556,reprehenderit,dolorum,1556 +1557,dolorem,maxime,1557 +1558,distinctio,maiores,1558 +1559,labore,dicta,1559 +1560,et,aut,1560 +1561,fugiat,officia,1561 +1562,itaque,blanditiis,1562 +1563,minus,qui,1563 +1564,illo,reiciendis,1564 +1565,velit,sunt,1565 +1566,mollitia,nobis,1566 +1567,ut,perspiciatis,1567 +1568,a,numquam,1568 +1569,unde,sed,1569 +1570,aut,et,1570 +1571,veniam,quis,1571 +1572,ratione,maxime,1572 +1573,adipisci,molestiae,1573 +1574,nesciunt,adipisci,1574 +1575,enim,molestiae,1575 +1576,ut,consequatur,1576 +1577,voluptates,possimus,1577 +1578,ad,excepturi,1578 +1579,repellendus,qui,1579 +1580,incidunt,minus,1580 +1581,enim,adipisci,1581 +1582,commodi,doloremque,1582 +1583,est,architecto,1583 +1584,est,est,1584 +1585,dignissimos,commodi,1585 +1586,debitis,earum,1586 +1587,ipsa,omnis,1587 +1588,quia,sunt,1588 +1589,et,quo,1589 +1590,ea,inventore,1590 +1591,distinctio,consectetur,1591 +1592,provident,voluptates,1592 +1593,et,et,1593 +1594,eaque,quos,1594 +1595,est,eum,1595 +1596,et,quaerat,1596 +1597,doloremque,voluptatem,1597 +1598,omnis,quo,1598 +1599,et,labore,1599 +1600,voluptatibus,nisi,1600 +1601,inventore,asperiores,1601 +1602,possimus,repudiandae,1602 +1603,vitae,dolore,1603 +1604,qui,occaecati,1604 +1605,et,aut,1605 +1606,quaerat,aut,1606 +1607,similique,ut,1607 +1608,aspernatur,expedita,1608 +1609,nobis,dignissimos,1609 +1610,repellat,accusantium,1610 +1611,totam,corrupti,1611 +1612,reiciendis,quod,1612 +1613,minima,quaerat,1613 +1614,harum,et,1614 +1615,repudiandae,ipsam,1615 +1616,velit,et,1616 +1617,sit,suscipit,1617 +1618,ducimus,eveniet,1618 +1619,eum,eos,1619 +1620,expedita,aspernatur,1620 +1621,qui,quas,1621 +1622,voluptates,et,1622 +1623,nisi,consequatur,1623 +1624,voluptates,dolores,1624 +1625,quam,ea,1625 +1626,commodi,similique,1626 +1627,adipisci,modi,1627 +1628,reprehenderit,autem,1628 +1629,veniam,quam,1629 +1630,doloremque,quis,1630 +1631,dignissimos,aut,1631 +1632,dolorum,enim,1632 +1633,repellat,facilis,1633 +1634,quisquam,vero,1634 +1635,iure,sed,1635 +1636,consequuntur,reiciendis,1636 +1637,dolorem,qui,1637 +1638,nisi,qui,1638 +1639,modi,qui,1639 +1640,illo,at,1640 +1641,eligendi,ea,1641 +1642,ea,sit,1642 +1643,rem,laborum,1643 +1644,ut,voluptas,1644 +1645,fugit,repellendus,1645 +1646,reprehenderit,est,1646 +1647,laudantium,id,1647 +1648,omnis,ut,1648 +1649,temporibus,officia,1649 +1650,neque,ut,1650 +1651,praesentium,delectus,1651 +1652,voluptates,rerum,1652 +1653,et,tempora,1653 +1654,fugiat,aut,1654 +1655,autem,quibusdam,1655 +1656,voluptates,doloremque,1656 +1657,ducimus,voluptas,1657 +1658,ut,dicta,1658 +1659,quibusdam,tempora,1659 +1660,vel,omnis,1660 +1661,est,aut,1661 +1662,odit,aut,1662 +1663,qui,numquam,1663 +1664,dicta,quas,1664 +1665,fugiat,rerum,1665 +1666,quia,accusamus,1666 +1667,voluptatem,perferendis,1667 +1668,quia,nobis,1668 +1669,dolore,ut,1669 +1670,esse,quidem,1670 +1671,hic,molestiae,1671 +1672,perspiciatis,ut,1672 +1673,rerum,eaque,1673 +1674,ullam,commodi,1674 +1675,qui,ducimus,1675 +1676,ut,qui,1676 +1677,eos,est,1677 +1678,sed,tenetur,1678 +1679,inventore,numquam,1679 +1680,ut,et,1680 +1681,et,et,1681 +1682,omnis,quidem,1682 +1683,dolorem,quia,1683 +1684,dignissimos,et,1684 +1685,quas,ut,1685 +1686,aperiam,qui,1686 +1687,corporis,praesentium,1687 +1688,reiciendis,eveniet,1688 +1689,laboriosam,tempore,1689 +1690,omnis,architecto,1690 +1691,quia,tempore,1691 +1692,illo,cumque,1692 +1693,blanditiis,sapiente,1693 +1694,alias,explicabo,1694 +1695,eius,voluptatum,1695 +1696,qui,cupiditate,1696 +1697,vero,numquam,1697 +1698,quidem,iure,1698 +1699,modi,aut,1699 +1700,at,quos,1700 +1701,animi,maxime,1701 +1702,cumque,vitae,1702 +1703,vel,fugit,1703 +1704,soluta,maiores,1704 +1705,asperiores,ullam,1705 +1706,et,asperiores,1706 +1707,aut,atque,1707 +1708,quasi,asperiores,1708 +1709,autem,nemo,1709 +1710,facere,laborum,1710 +1711,molestias,sint,1711 +1712,dolorem,magni,1712 +1713,amet,sit,1713 +1714,id,iure,1714 +1715,fuga,totam,1715 +1716,vitae,labore,1716 +1717,omnis,voluptatem,1717 +1718,voluptas,commodi,1718 +1719,ea,ipsam,1719 +1720,incidunt,quos,1720 +1721,ut,fugit,1721 +1722,accusamus,odio,1722 +1723,ullam,accusamus,1723 +1724,distinctio,adipisci,1724 +1725,voluptatem,alias,1725 +1726,quos,quod,1726 +1727,doloremque,ut,1727 +1728,animi,quo,1728 +1729,sunt,dicta,1729 +1730,repudiandae,voluptatem,1730 +1731,sit,ratione,1731 +1732,accusamus,minus,1732 +1733,aut,fugiat,1733 +1734,sequi,dolorem,1734 +1735,aliquid,eum,1735 +1736,et,ea,1736 +1737,commodi,iure,1737 +1738,quis,eius,1738 +1739,nulla,quaerat,1739 +1740,sequi,ut,1740 +1741,inventore,dolores,1741 +1742,incidunt,asperiores,1742 +1743,iusto,quam,1743 +1744,labore,numquam,1744 +1745,libero,ex,1745 +1746,praesentium,eos,1746 +1747,perferendis,officia,1747 +1748,et,et,1748 +1749,nesciunt,recusandae,1749 +1750,praesentium,dolor,1750 +1751,fugiat,et,1751 +1752,odio,omnis,1752 +1753,vel,voluptate,1753 +1754,aperiam,ipsum,1754 +1755,temporibus,laborum,1755 +1756,dolores,nobis,1756 +1757,nostrum,aut,1757 +1758,architecto,voluptatibus,1758 +1759,asperiores,quia,1759 +1760,suscipit,magni,1760 +1761,quia,autem,1761 +1762,illum,id,1762 +1763,voluptatem,aut,1763 +1764,quia,numquam,1764 +1765,molestiae,sed,1765 +1766,possimus,perspiciatis,1766 +1767,eius,et,1767 +1768,labore,quia,1768 +1769,dolorum,commodi,1769 +1770,alias,eos,1770 +1771,voluptatem,a,1771 +1772,labore,sed,1772 +1773,quia,quidem,1773 +1774,perferendis,recusandae,1774 +1775,dolor,voluptas,1775 +1776,doloribus,soluta,1776 +1777,pariatur,qui,1777 +1778,rerum,non,1778 +1779,rerum,fuga,1779 +1780,in,minus,1780 +1781,dolor,animi,1781 +1782,voluptates,aliquam,1782 +1783,et,nihil,1783 +1784,nulla,quo,1784 +1785,tempore,asperiores,1785 +1786,consequuntur,vitae,1786 +1787,quia,sed,1787 +1788,et,dolorum,1788 +1789,modi,doloribus,1789 +1790,officia,et,1790 +1791,sequi,maiores,1791 +1792,et,incidunt,1792 +1793,quasi,possimus,1793 +1794,enim,ipsum,1794 +1795,rem,eius,1795 +1796,debitis,illum,1796 +1797,ratione,quos,1797 +1798,nostrum,animi,1798 +1799,id,voluptatum,1799 +1800,sapiente,soluta,1800 +1801,tempore,magnam,1801 +1802,est,dolorem,1802 +1803,nam,corporis,1803 +1804,architecto,distinctio,1804 +1805,nihil,labore,1805 +1806,saepe,incidunt,1806 +1807,magnam,numquam,1807 +1808,est,voluptatem,1808 +1809,excepturi,eligendi,1809 +1810,et,veniam,1810 +1811,ipsum,hic,1811 +1812,non,dignissimos,1812 +1813,voluptas,nihil,1813 +1814,mollitia,delectus,1814 +1815,voluptatem,dolore,1815 +1816,voluptatem,modi,1816 +1817,recusandae,nihil,1817 +1818,et,commodi,1818 +1819,ad,dolor,1819 +1820,magni,esse,1820 +1821,repellat,distinctio,1821 +1822,illo,sapiente,1822 +1823,illum,sit,1823 +1824,sit,natus,1824 +1825,voluptatem,commodi,1825 +1826,dolorum,perspiciatis,1826 +1827,ipsum,recusandae,1827 +1828,cum,aut,1828 +1829,quo,sunt,1829 +1830,voluptatem,facilis,1830 +1831,non,numquam,1831 +1832,molestias,est,1832 +1833,omnis,repellat,1833 +1834,aut,illum,1834 +1835,eum,nulla,1835 +1836,earum,rem,1836 +1837,aperiam,aut,1837 +1838,ut,placeat,1838 +1839,repellat,impedit,1839 +1840,et,harum,1840 +1841,voluptatibus,et,1841 +1842,excepturi,perspiciatis,1842 +1843,culpa,nihil,1843 +1844,accusantium,ratione,1844 +1845,ut,culpa,1845 +1846,debitis,et,1846 +1847,omnis,aut,1847 +1848,debitis,voluptatibus,1848 +1849,libero,omnis,1849 +1850,corporis,quis,1850 +1851,impedit,vel,1851 +1852,amet,animi,1852 +1853,ab,incidunt,1853 +1854,quis,odit,1854 +1855,possimus,soluta,1855 +1856,ex,rerum,1856 +1857,est,voluptatem,1857 +1858,laborum,quis,1858 +1859,quia,error,1859 +1860,fugiat,ex,1860 +1861,laborum,aut,1861 +1862,possimus,eveniet,1862 +1863,impedit,a,1863 +1864,ducimus,nihil,1864 +1865,quae,quo,1865 +1866,aut,quibusdam,1866 +1867,et,minima,1867 +1868,aut,in,1868 +1869,aut,qui,1869 +1870,incidunt,atque,1870 +1871,eum,consequatur,1871 +1872,voluptatem,aut,1872 +1873,nobis,rerum,1873 +1874,dolorem,itaque,1874 +1875,sed,nam,1875 +1876,ab,rerum,1876 +1877,hic,ut,1877 +1878,error,ipsam,1878 +1879,fugiat,esse,1879 +1880,dolores,tenetur,1880 +1881,saepe,quisquam,1881 +1882,vel,est,1882 +1883,nisi,ratione,1883 +1884,nemo,facilis,1884 +1885,sed,reprehenderit,1885 +1886,asperiores,aut,1886 +1887,ut,mollitia,1887 +1888,harum,ratione,1888 +1889,repudiandae,sit,1889 +1890,aut,sequi,1890 +1891,voluptates,libero,1891 +1892,aut,dolore,1892 +1893,reiciendis,in,1893 +1894,temporibus,natus,1894 +1895,quam,voluptatem,1895 +1896,quaerat,aut,1896 +1897,minima,enim,1897 +1898,est,quia,1898 +1899,minus,non,1899 +1900,maiores,ab,1900 +1901,ea,sint,1901 +1902,incidunt,necessitatibus,1902 +1903,autem,rerum,1903 +1904,doloremque,eveniet,1904 +1905,voluptates,quo,1905 +1906,non,earum,1906 +1907,ullam,qui,1907 +1908,ut,doloribus,1908 +1909,beatae,aliquam,1909 +1910,aut,nemo,1910 +1911,eaque,et,1911 +1912,quia,voluptatibus,1912 +1913,quia,ut,1913 +1914,expedita,nesciunt,1914 +1915,et,doloribus,1915 +1916,laborum,impedit,1916 +1917,velit,dolorem,1917 +1918,officiis,repellat,1918 +1919,eum,quos,1919 +1920,iure,porro,1920 +1921,sunt,perspiciatis,1921 +1922,dolorem,dolores,1922 +1923,illo,perferendis,1923 +1924,dicta,qui,1924 +1925,vel,sit,1925 +1926,dicta,maiores,1926 +1927,eveniet,doloribus,1927 +1928,quaerat,quo,1928 +1929,unde,voluptas,1929 +1930,qui,qui,1930 +1931,sed,illum,1931 +1932,eos,sed,1932 +1933,quidem,odio,1933 +1934,sapiente,asperiores,1934 +1935,voluptatem,alias,1935 +1936,ad,ipsa,1936 +1937,quia,dolorem,1937 +1938,et,repellat,1938 +1939,quod,esse,1939 +1940,eligendi,eligendi,1940 +1941,ea,sit,1941 +1942,sunt,officia,1942 +1943,doloribus,totam,1943 +1944,possimus,quas,1944 +1945,ipsum,inventore,1945 +1946,quae,tempora,1946 +1947,cumque,sed,1947 +1948,illum,ea,1948 +1949,consequuntur,velit,1949 +1950,repudiandae,numquam,1950 +1951,impedit,aut,1951 +1952,vero,eveniet,1952 +1953,non,qui,1953 +1954,aut,et,1954 +1955,voluptates,impedit,1955 +1956,omnis,quas,1956 +1957,error,et,1957 +1958,possimus,nihil,1958 +1959,debitis,sunt,1959 +1960,aut,quas,1960 +1961,sit,sit,1961 +1962,nesciunt,aut,1962 +1963,architecto,quis,1963 +1964,vel,magni,1964 +1965,odit,odio,1965 +1966,repellendus,voluptatem,1966 +1967,soluta,explicabo,1967 +1968,repellendus,soluta,1968 +1969,omnis,aut,1969 +1970,et,molestiae,1970 +1971,architecto,in,1971 +1972,quia,dignissimos,1972 +1973,dolor,suscipit,1973 +1974,laborum,ut,1974 +1975,nulla,corporis,1975 +1976,deleniti,sit,1976 +1977,eveniet,aperiam,1977 +1978,qui,voluptatem,1978 +1979,possimus,mollitia,1979 +1980,consectetur,est,1980 +1981,molestias,facere,1981 +1982,dolorem,dolorem,1982 +1983,cumque,asperiores,1983 +1984,earum,molestiae,1984 +1985,ut,ea,1985 +1986,veniam,debitis,1986 +1987,ratione,ut,1987 +1988,et,nisi,1988 +1989,sit,sed,1989 +1990,quibusdam,quo,1990 +1991,perspiciatis,aut,1991 +1992,vel,ut,1992 +1993,ad,autem,1993 +1994,aspernatur,alias,1994 +1995,sed,quia,1995 +1996,est,et,1996 +1997,adipisci,voluptatem,1997 +1998,architecto,explicabo,1998 +1999,temporibus,sit,1999 +2000,explicabo,eveniet,2000 +2001,mollitia,perferendis,2001 +2002,qui,qui,2002 +2003,consequatur,et,2003 +2004,vel,quia,2004 +2005,fuga,nihil,2005 +2006,aspernatur,illum,2006 +2007,soluta,ducimus,2007 +2008,hic,cupiditate,2008 +2009,et,omnis,2009 +2010,deleniti,aliquam,2010 +2011,odio,commodi,2011 +2012,dolor,enim,2012 +2013,et,corrupti,2013 +2014,omnis,qui,2014 +2015,rerum,eum,2015 +2016,est,alias,2016 +2017,nesciunt,voluptatibus,2017 +2018,magni,repudiandae,2018 +2019,sunt,animi,2019 +2020,rerum,ut,2020 +2021,et,quo,2021 +2022,qui,voluptatem,2022 +2023,voluptas,sed,2023 +2024,quis,molestiae,2024 +2025,earum,qui,2025 +2026,quas,ut,2026 +2027,nihil,recusandae,2027 +2028,quis,magni,2028 +2029,harum,omnis,2029 +2030,sint,sapiente,2030 +2031,voluptatem,aperiam,2031 +2032,quos,rerum,2032 +2033,autem,repellat,2033 +2034,debitis,quibusdam,2034 +2035,porro,beatae,2035 +2036,facere,non,2036 +2037,ullam,maxime,2037 +2038,aperiam,et,2038 +2039,omnis,commodi,2039 +2040,assumenda,eos,2040 +2041,iste,est,2041 +2042,voluptatem,eius,2042 +2043,reprehenderit,eos,2043 +2044,ut,optio,2044 +2045,sequi,ipsum,2045 +2046,in,ab,2046 +2047,et,natus,2047 +2048,alias,nam,2048 +2049,perferendis,qui,2049 +2050,fugit,id,2050 +2051,illum,alias,2051 +2052,est,explicabo,2052 +2053,sed,qui,2053 +2054,nam,odio,2054 +2055,illum,vel,2055 +2056,repellendus,impedit,2056 +2057,minus,placeat,2057 +2058,quas,exercitationem,2058 +2059,deleniti,magni,2059 +2060,adipisci,quibusdam,2060 +2061,voluptatem,voluptatem,2061 +2062,est,iure,2062 +2063,repellat,ratione,2063 +2064,quis,asperiores,2064 +2065,dolore,dolor,2065 +2066,sed,vero,2066 +2067,in,aliquam,2067 +2068,est,quia,2068 +2069,quisquam,quam,2069 +2070,est,ut,2070 +2071,aut,magni,2071 +2072,consectetur,amet,2072 +2073,unde,dignissimos,2073 +2074,et,sint,2074 +2075,reiciendis,suscipit,2075 +2076,corrupti,natus,2076 +2077,ut,repellendus,2077 +2078,qui,tempore,2078 +2079,sit,voluptatem,2079 +2080,totam,reiciendis,2080 +2081,dicta,nihil,2081 +2082,aperiam,maxime,2082 +2083,voluptatum,est,2083 +2084,reprehenderit,laborum,2084 +2085,esse,tempore,2085 +2086,voluptatem,cupiditate,2086 +2087,officia,atque,2087 +2088,error,vitae,2088 +2089,facilis,omnis,2089 +2090,facere,quia,2090 +2091,est,nam,2091 +2092,unde,rem,2092 +2093,et,qui,2093 +2094,qui,neque,2094 +2095,velit,inventore,2095 +2096,cum,rem,2096 +2097,aut,hic,2097 +2098,autem,error,2098 +2099,nam,earum,2099 +2100,nemo,est,2100 +2101,sit,provident,2101 +2102,minus,dolores,2102 +2103,eligendi,totam,2103 +2104,et,consequuntur,2104 +2105,aut,harum,2105 +2106,delectus,laudantium,2106 +2107,fuga,ut,2107 +2108,aut,temporibus,2108 +2109,ut,velit,2109 +2110,recusandae,cumque,2110 +2111,laudantium,quibusdam,2111 +2112,ex,excepturi,2112 +2113,nihil,vitae,2113 +2114,commodi,rerum,2114 +2115,nam,nesciunt,2115 +2116,in,autem,2116 +2117,autem,natus,2117 +2118,fugit,fugiat,2118 +2119,nostrum,rerum,2119 +2120,non,sunt,2120 +2121,libero,quibusdam,2121 +2122,ad,optio,2122 +2123,magni,omnis,2123 +2124,sed,qui,2124 +2125,assumenda,similique,2125 +2126,et,placeat,2126 +2127,accusantium,tempora,2127 +2128,natus,eligendi,2128 +2129,sed,explicabo,2129 +2130,occaecati,corporis,2130 +2131,id,et,2131 +2132,repudiandae,sequi,2132 +2133,soluta,a,2133 +2134,deserunt,maxime,2134 +2135,quasi,mollitia,2135 +2136,eius,nihil,2136 +2137,fugit,a,2137 +2138,omnis,debitis,2138 +2139,illo,cumque,2139 +2140,necessitatibus,rem,2140 +2141,iste,ut,2141 +2142,aut,dolorum,2142 +2143,sit,beatae,2143 +2144,voluptatem,quod,2144 +2145,ea,laborum,2145 +2146,exercitationem,vel,2146 +2147,minima,qui,2147 +2148,illo,ut,2148 +2149,illum,et,2149 +2150,id,saepe,2150 +2151,molestiae,consectetur,2151 +2152,corrupti,dolorem,2152 +2153,natus,laboriosam,2153 +2154,dignissimos,consectetur,2154 +2155,sed,rerum,2155 +2156,aut,qui,2156 +2157,sed,aliquid,2157 +2158,in,et,2158 +2159,dolor,sunt,2159 +2160,repellat,illum,2160 +2161,quis,odio,2161 +2162,reiciendis,ut,2162 +2163,sapiente,voluptatem,2163 +2164,quis,tempore,2164 +2165,praesentium,quia,2165 +2166,dolor,sunt,2166 +2167,aliquam,temporibus,2167 +2168,magni,assumenda,2168 +2169,distinctio,sed,2169 +2170,nihil,quaerat,2170 +2171,commodi,ut,2171 +2172,libero,quia,2172 +2173,quis,tempore,2173 +2174,nihil,porro,2174 +2175,quam,omnis,2175 +2176,ut,voluptas,2176 +2177,nisi,possimus,2177 +2178,libero,rerum,2178 +2179,dolores,similique,2179 +2180,omnis,atque,2180 +2181,pariatur,ut,2181 +2182,inventore,mollitia,2182 +2183,voluptate,commodi,2183 +2184,rerum,impedit,2184 +2185,vitae,quam,2185 +2186,delectus,sed,2186 +2187,sed,quia,2187 +2188,consequatur,praesentium,2188 +2189,natus,officiis,2189 +2190,est,at,2190 +2191,cumque,ipsum,2191 +2192,est,iusto,2192 +2193,iusto,omnis,2193 +2194,et,corporis,2194 +2195,molestiae,totam,2195 +2196,unde,ducimus,2196 +2197,ex,quos,2197 +2198,soluta,est,2198 +2199,aut,rerum,2199 +2200,qui,voluptatem,2200 +2201,necessitatibus,fuga,2201 +2202,accusamus,natus,2202 +2203,et,qui,2203 +2204,in,aut,2204 +2205,porro,harum,2205 +2206,sequi,reiciendis,2206 +2207,sit,omnis,2207 +2208,qui,iste,2208 +2209,qui,temporibus,2209 +2210,nostrum,doloremque,2210 +2211,amet,dolor,2211 +2212,delectus,aut,2212 +2213,aspernatur,dignissimos,2213 +2214,tempore,reprehenderit,2214 +2215,explicabo,dolorem,2215 +2216,repellendus,et,2216 +2217,aut,dolorem,2217 +2218,blanditiis,nostrum,2218 +2219,aspernatur,perferendis,2219 +2220,tempore,et,2220 +2221,doloribus,et,2221 +2222,placeat,neque,2222 +2223,optio,velit,2223 +2224,nostrum,rerum,2224 +2225,est,quis,2225 +2226,illum,minus,2226 +2227,est,eum,2227 +2228,aut,et,2228 +2229,dolore,laborum,2229 +2230,praesentium,nostrum,2230 +2231,soluta,aperiam,2231 +2232,aspernatur,explicabo,2232 +2233,odio,nam,2233 +2234,porro,est,2234 +2235,quia,omnis,2235 +2236,dolores,est,2236 +2237,ipsam,quis,2237 +2238,nemo,quia,2238 +2239,rerum,et,2239 +2240,incidunt,asperiores,2240 +2241,atque,soluta,2241 +2242,ipsam,quia,2242 +2243,sed,voluptas,2243 +2244,ipsum,quae,2244 +2245,voluptas,dolor,2245 +2246,corrupti,odit,2246 +2247,nesciunt,error,2247 +2248,reprehenderit,consectetur,2248 +2249,temporibus,esse,2249 +2250,neque,aut,2250 +2251,illo,quibusdam,2251 +2252,veritatis,aut,2252 +2253,adipisci,temporibus,2253 +2254,vel,aut,2254 +2255,aut,qui,2255 +2256,sequi,atque,2256 +2257,asperiores,quo,2257 +2258,culpa,fuga,2258 +2259,sint,ipsam,2259 +2260,sit,deleniti,2260 +2261,quidem,consequuntur,2261 +2262,aliquid,corrupti,2262 +2263,ipsam,cum,2263 +2264,a,deleniti,2264 +2265,eius,veniam,2265 +2266,magnam,placeat,2266 +2267,atque,voluptatem,2267 +2268,eos,atque,2268 +2269,voluptatibus,modi,2269 +2270,omnis,culpa,2270 +2271,vitae,esse,2271 +2272,ut,occaecati,2272 +2273,mollitia,reprehenderit,2273 +2274,maxime,sunt,2274 +2275,quibusdam,placeat,2275 +2276,eos,sint,2276 +2277,dolore,quo,2277 +2278,architecto,rem,2278 +2279,quia,tempore,2279 +2280,voluptatem,est,2280 +2281,rerum,non,2281 +2282,minima,reiciendis,2282 +2283,sed,nihil,2283 +2284,sed,rerum,2284 +2285,rerum,quas,2285 +2286,aut,error,2286 +2287,quo,sit,2287 +2288,excepturi,facilis,2288 +2289,et,impedit,2289 +2290,in,qui,2290 +2291,quas,nemo,2291 +2292,sunt,et,2292 +2293,ipsum,maxime,2293 +2294,nobis,quia,2294 +2295,delectus,sint,2295 +2296,enim,omnis,2296 +2297,enim,eligendi,2297 +2298,minus,sapiente,2298 +2299,omnis,voluptatum,2299 +2300,unde,porro,2300 +2301,reiciendis,laudantium,2301 +2302,laboriosam,officia,2302 +2303,rerum,nobis,2303 +2304,qui,dolores,2304 +2305,est,eius,2305 +2306,velit,perspiciatis,2306 +2307,nam,mollitia,2307 +2308,autem,id,2308 +2309,beatae,iusto,2309 +2310,quia,rem,2310 +2311,quaerat,tempora,2311 +2312,ut,assumenda,2312 +2313,voluptas,aspernatur,2313 +2314,omnis,et,2314 +2315,aut,corrupti,2315 +2316,commodi,harum,2316 +2317,hic,at,2317 +2318,eum,facilis,2318 +2319,aut,ut,2319 +2320,quo,est,2320 +2321,voluptatibus,culpa,2321 +2322,unde,voluptatem,2322 +2323,sit,atque,2323 +2324,deserunt,voluptatem,2324 +2325,adipisci,minus,2325 +2326,dolores,velit,2326 +2327,et,beatae,2327 +2328,ipsa,voluptatem,2328 +2329,adipisci,soluta,2329 +2330,dolor,quas,2330 +2331,reiciendis,facere,2331 +2332,earum,reiciendis,2332 +2333,exercitationem,sint,2333 +2334,placeat,animi,2334 +2335,aut,eos,2335 +2336,accusamus,velit,2336 +2337,dolores,cumque,2337 +2338,eveniet,voluptatibus,2338 +2339,expedita,quia,2339 +2340,saepe,totam,2340 +2341,ipsam,quo,2341 +2342,mollitia,porro,2342 +2343,accusantium,odit,2343 +2344,facilis,nostrum,2344 +2345,id,iste,2345 +2346,in,odio,2346 +2347,aliquid,maiores,2347 +2348,quod,maxime,2348 +2349,ipsa,perspiciatis,2349 +2350,necessitatibus,eum,2350 +2351,eveniet,ut,2351 +2352,rem,dolor,2352 +2353,maxime,est,2353 +2354,at,blanditiis,2354 +2355,qui,nam,2355 +2356,eligendi,dolores,2356 +2357,nesciunt,molestias,2357 +2358,explicabo,soluta,2358 +2359,et,aut,2359 +2360,quis,sunt,2360 +2361,illum,similique,2361 +2362,et,aperiam,2362 +2363,et,fugiat,2363 +2364,dignissimos,beatae,2364 +2365,sed,praesentium,2365 +2366,amet,id,2366 +2367,accusantium,ad,2367 +2368,iure,rem,2368 +2369,sed,tenetur,2369 +2370,laudantium,placeat,2370 +2371,nobis,doloribus,2371 +2372,qui,in,2372 +2373,in,aliquid,2373 +2374,culpa,omnis,2374 +2375,pariatur,facilis,2375 +2376,quia,aspernatur,2376 +2377,nisi,et,2377 +2378,eos,aut,2378 +2379,quidem,iusto,2379 +2380,numquam,reiciendis,2380 +2381,debitis,consequatur,2381 +2382,ea,amet,2382 +2383,aut,dicta,2383 +2384,cumque,aspernatur,2384 +2385,quas,adipisci,2385 +2386,eligendi,ipsam,2386 +2387,esse,labore,2387 +2388,recusandae,et,2388 +2389,ea,et,2389 +2390,alias,est,2390 +2391,dolor,qui,2391 +2392,quibusdam,in,2392 +2393,minima,id,2393 +2394,iste,possimus,2394 +2395,ipsum,iure,2395 +2396,ullam,rerum,2396 +2397,qui,molestias,2397 +2398,sit,eos,2398 +2399,voluptatem,officia,2399 +2400,pariatur,voluptas,2400 +2401,quos,cumque,2401 +2402,repellat,rem,2402 +2403,distinctio,aut,2403 +2404,esse,consequatur,2404 +2405,cum,natus,2405 +2406,cum,libero,2406 +2407,laudantium,vero,2407 +2408,officia,est,2408 +2409,eos,quas,2409 +2410,aut,eaque,2410 +2411,accusantium,molestias,2411 +2412,dignissimos,rerum,2412 +2413,sed,voluptates,2413 +2414,dolore,rerum,2414 +2415,perferendis,aut,2415 +2416,ipsa,vero,2416 +2417,vel,eum,2417 +2418,soluta,iure,2418 +2419,quibusdam,exercitationem,2419 +2420,et,unde,2420 +2421,provident,sunt,2421 +2422,deleniti,sit,2422 +2423,omnis,est,2423 +2424,et,doloribus,2424 +2425,consectetur,cumque,2425 +2426,ea,magnam,2426 +2427,distinctio,autem,2427 +2428,molestiae,et,2428 +2429,reprehenderit,consequatur,2429 +2430,accusantium,magni,2430 +2431,ratione,quae,2431 +2432,mollitia,odit,2432 +2433,tempora,vero,2433 +2434,nostrum,rerum,2434 +2435,tenetur,molestiae,2435 +2436,dignissimos,cum,2436 +2437,ipsum,laboriosam,2437 +2438,quasi,inventore,2438 +2439,perferendis,et,2439 +2440,quasi,voluptas,2440 +2441,qui,esse,2441 +2442,suscipit,animi,2442 +2443,ullam,qui,2443 +2444,veniam,est,2444 +2445,facilis,sit,2445 +2446,incidunt,autem,2446 +2447,sint,est,2447 +2448,dolorem,eveniet,2448 +2449,facere,ut,2449 +2450,iste,earum,2450 +2451,et,esse,2451 +2452,perspiciatis,minima,2452 +2453,et,consequatur,2453 +2454,magni,voluptatum,2454 +2455,soluta,officia,2455 +2456,vitae,harum,2456 +2457,inventore,nisi,2457 +2458,pariatur,tempora,2458 +2459,accusantium,iste,2459 +2460,non,quam,2460 +2461,esse,aut,2461 +2462,nulla,cumque,2462 +2463,nobis,deleniti,2463 +2464,rerum,maxime,2464 +2465,doloremque,rem,2465 +2466,iusto,molestiae,2466 +2467,temporibus,itaque,2467 +2468,sit,hic,2468 +2469,sapiente,qui,2469 +2470,sed,corporis,2470 +2471,maxime,ratione,2471 +2472,voluptatem,voluptatem,2472 +2473,corporis,id,2473 +2474,natus,pariatur,2474 +2475,nemo,dolor,2475 +2476,ex,enim,2476 +2477,dolorem,quo,2477 +2478,voluptas,provident,2478 +2479,repellendus,sunt,2479 +2480,non,pariatur,2480 +2481,illum,est,2481 +2482,officiis,dolor,2482 +2483,dicta,dolor,2483 +2484,sed,earum,2484 +2485,placeat,ullam,2485 +2486,voluptatem,officia,2486 +2487,non,et,2487 +2488,modi,corporis,2488 +2489,cum,ipsum,2489 +2490,qui,reiciendis,2490 +2491,distinctio,eos,2491 +2492,eos,possimus,2492 +2493,vel,maiores,2493 +2494,assumenda,doloremque,2494 +2495,optio,ad,2495 +2496,fugiat,voluptatem,2496 +2497,facere,nobis,2497 +2498,eos,et,2498 +2499,asperiores,vero,2499 +2500,omnis,nisi,2500 +2501,sed,occaecati,2501 +2502,commodi,sit,2502 +2503,incidunt,ipsa,2503 +2504,non,aliquam,2504 +2505,omnis,voluptas,2505 +2506,est,magni,2506 +2507,tempore,sint,2507 +2508,aliquam,praesentium,2508 +2509,nulla,fugiat,2509 +2510,iste,et,2510 +2511,quia,odit,2511 +2512,blanditiis,a,2512 +2513,numquam,et,2513 +2514,veniam,enim,2514 +2515,ipsam,eligendi,2515 +2516,nam,et,2516 +2517,ut,fuga,2517 +2518,eos,rem,2518 +2519,cupiditate,nemo,2519 +2520,sint,fuga,2520 +2521,ab,minima,2521 +2522,doloribus,voluptatem,2522 +2523,amet,tempore,2523 +2524,veniam,quae,2524 +2525,magnam,nesciunt,2525 +2526,quidem,vitae,2526 +2527,perferendis,et,2527 +2528,earum,aut,2528 +2529,consequatur,aut,2529 +2530,eveniet,placeat,2530 +2531,amet,autem,2531 +2532,in,ipsa,2532 +2533,doloremque,non,2533 +2534,dolores,corporis,2534 +2535,rerum,fugiat,2535 +2536,aliquam,rerum,2536 +2537,aut,eos,2537 +2538,magnam,veniam,2538 +2539,aut,architecto,2539 +2540,ullam,est,2540 +2541,voluptate,qui,2541 +2542,blanditiis,delectus,2542 +2543,eum,repudiandae,2543 +2544,necessitatibus,blanditiis,2544 +2545,aut,ut,2545 +2546,nostrum,neque,2546 +2547,aut,dolores,2547 +2548,voluptates,sapiente,2548 +2549,unde,ut,2549 +2550,ut,autem,2550 +2551,harum,nemo,2551 +2552,quo,quibusdam,2552 +2553,eos,ut,2553 +2554,ut,aliquid,2554 +2555,nulla,sunt,2555 +2556,harum,quidem,2556 +2557,ratione,rem,2557 +2558,et,explicabo,2558 +2559,eum,voluptatum,2559 +2560,dolore,doloribus,2560 +2561,voluptas,hic,2561 +2562,incidunt,qui,2562 +2563,iste,et,2563 +2564,blanditiis,eum,2564 +2565,quidem,nesciunt,2565 +2566,error,ab,2566 +2567,illo,magnam,2567 +2568,ad,blanditiis,2568 +2569,voluptas,quas,2569 +2570,id,facere,2570 +2571,repellendus,consequatur,2571 +2572,sunt,quas,2572 +2573,aut,sit,2573 +2574,nobis,architecto,2574 +2575,ipsum,et,2575 +2576,et,rerum,2576 +2577,eos,voluptatibus,2577 +2578,quasi,saepe,2578 +2579,repellendus,porro,2579 +2580,assumenda,sit,2580 +2581,eveniet,enim,2581 +2582,voluptatum,debitis,2582 +2583,ullam,fugiat,2583 +2584,libero,placeat,2584 +2585,libero,accusantium,2585 +2586,aut,fugit,2586 +2587,et,enim,2587 +2588,velit,commodi,2588 +2589,culpa,harum,2589 +2590,explicabo,et,2590 +2591,optio,dolorem,2591 +2592,sed,aspernatur,2592 +2593,iusto,voluptas,2593 +2594,explicabo,voluptates,2594 +2595,nostrum,sint,2595 +2596,repellendus,pariatur,2596 +2597,quasi,iste,2597 +2598,et,odio,2598 +2599,fuga,sapiente,2599 +2600,dolorem,recusandae,2600 +2601,et,non,2601 +2602,natus,rem,2602 +2603,mollitia,veniam,2603 +2604,a,voluptatem,2604 +2605,vitae,aut,2605 +2606,voluptas,error,2606 +2607,et,sunt,2607 +2608,quis,sit,2608 +2609,et,earum,2609 +2610,modi,deserunt,2610 +2611,quod,aut,2611 +2612,dolores,vero,2612 +2613,autem,ullam,2613 +2614,illo,libero,2614 +2615,placeat,aperiam,2615 +2616,maiores,iste,2616 +2617,in,magnam,2617 +2618,accusantium,architecto,2618 +2619,nobis,velit,2619 +2620,delectus,ipsam,2620 +2621,ut,rem,2621 +2622,voluptates,ipsa,2622 +2623,inventore,nisi,2623 +2624,nostrum,deserunt,2624 +2625,sequi,at,2625 +2626,et,illo,2626 +2627,voluptatem,nam,2627 +2628,qui,incidunt,2628 +2629,adipisci,impedit,2629 +2630,voluptate,temporibus,2630 +2631,blanditiis,et,2631 +2632,quidem,quia,2632 +2633,harum,blanditiis,2633 +2634,et,inventore,2634 +2635,ea,iure,2635 +2636,error,sapiente,2636 +2637,tenetur,assumenda,2637 +2638,molestias,debitis,2638 +2639,deserunt,odio,2639 +2640,in,repellendus,2640 +2641,dolorem,labore,2641 +2642,perferendis,voluptates,2642 +2643,quaerat,aut,2643 +2644,corrupti,quia,2644 +2645,minus,eius,2645 +2646,molestiae,voluptatem,2646 +2647,reiciendis,error,2647 +2648,quia,est,2648 +2649,sunt,praesentium,2649 +2650,delectus,sapiente,2650 +2651,modi,dolores,2651 +2652,sit,natus,2652 +2653,non,voluptatem,2653 +2654,quis,reprehenderit,2654 +2655,nemo,animi,2655 +2656,eos,minus,2656 +2657,dolore,omnis,2657 +2658,deleniti,sit,2658 +2659,accusantium,nobis,2659 +2660,et,ducimus,2660 +2661,corrupti,expedita,2661 +2662,quaerat,nam,2662 +2663,magnam,rerum,2663 +2664,ipsa,aut,2664 +2665,nihil,dolores,2665 +2666,consequatur,iusto,2666 +2667,voluptatum,odit,2667 +2668,vero,quas,2668 +2669,ut,cumque,2669 +2670,aut,minima,2670 +2671,qui,dolores,2671 +2672,suscipit,ut,2672 +2673,quaerat,amet,2673 +2674,et,inventore,2674 +2675,iste,quos,2675 +2676,quae,voluptatum,2676 +2677,cum,neque,2677 +2678,id,aliquid,2678 +2679,eos,voluptatem,2679 +2680,itaque,qui,2680 +2681,sapiente,omnis,2681 +2682,quibusdam,at,2682 +2683,vitae,aperiam,2683 +2684,qui,perspiciatis,2684 +2685,dolorem,doloremque,2685 +2686,deserunt,esse,2686 +2687,suscipit,eos,2687 +2688,beatae,molestias,2688 +2689,magni,rerum,2689 +2690,et,quisquam,2690 +2691,voluptatem,aut,2691 +2692,rerum,dignissimos,2692 +2693,omnis,ad,2693 +2694,a,dignissimos,2694 +2695,dolore,aut,2695 +2696,tempore,tempora,2696 +2697,magni,autem,2697 +2698,dolor,accusamus,2698 +2699,perspiciatis,molestias,2699 +2700,quaerat,similique,2700 +2701,aut,quos,2701 +2702,facere,doloremque,2702 +2703,doloremque,delectus,2703 +2704,magni,exercitationem,2704 +2705,ea,culpa,2705 +2706,culpa,assumenda,2706 +2707,officiis,dicta,2707 +2708,qui,laboriosam,2708 +2709,modi,eos,2709 +2710,consequuntur,repudiandae,2710 +2711,dolor,mollitia,2711 +2712,quisquam,illum,2712 +2713,sunt,unde,2713 +2714,quo,voluptas,2714 +2715,fugit,deleniti,2715 +2716,culpa,provident,2716 +2717,labore,praesentium,2717 +2718,cupiditate,numquam,2718 +2719,quis,qui,2719 +2720,deserunt,vel,2720 +2721,expedita,cupiditate,2721 +2722,ut,voluptatibus,2722 +2723,sapiente,voluptatem,2723 +2724,sed,recusandae,2724 +2725,et,animi,2725 +2726,iure,est,2726 +2727,odio,est,2727 +2728,blanditiis,amet,2728 +2729,laborum,reiciendis,2729 +2730,maxime,officiis,2730 +2731,explicabo,iure,2731 +2732,modi,minus,2732 +2733,sed,animi,2733 +2734,est,facere,2734 +2735,cum,sed,2735 +2736,eius,molestias,2736 +2737,nihil,dolorem,2737 +2738,aut,unde,2738 +2739,commodi,omnis,2739 +2740,cum,quas,2740 +2741,iusto,nostrum,2741 +2742,voluptatem,et,2742 +2743,aut,et,2743 +2744,qui,eos,2744 +2745,non,in,2745 +2746,reiciendis,et,2746 +2747,inventore,perferendis,2747 +2748,modi,commodi,2748 +2749,aut,vel,2749 +2750,perspiciatis,optio,2750 +2751,quis,iusto,2751 +2752,ea,qui,2752 +2753,architecto,corporis,2753 +2754,in,recusandae,2754 +2755,fugiat,voluptatem,2755 +2756,libero,quia,2756 +2757,nihil,similique,2757 +2758,quis,quam,2758 +2759,deleniti,sed,2759 +2760,eius,fugiat,2760 +2761,nulla,iusto,2761 +2762,nihil,et,2762 +2763,quisquam,sint,2763 +2764,iste,iste,2764 +2765,et,nobis,2765 +2766,recusandae,quia,2766 +2767,consequatur,alias,2767 +2768,excepturi,molestiae,2768 +2769,sed,ipsum,2769 +2770,ut,labore,2770 +2771,qui,quos,2771 +2772,dolor,ut,2772 +2773,ullam,quas,2773 +2774,iusto,maxime,2774 +2775,dolor,est,2775 +2776,nobis,deleniti,2776 +2777,fugit,culpa,2777 +2778,est,velit,2778 +2779,dolores,molestiae,2779 +2780,sit,suscipit,2780 +2781,unde,in,2781 +2782,molestiae,voluptas,2782 +2783,repellat,eius,2783 +2784,non,ab,2784 +2785,sint,sint,2785 +2786,voluptatibus,earum,2786 +2787,dolore,in,2787 +2788,sapiente,eos,2788 +2789,quis,sequi,2789 +2790,voluptates,beatae,2790 +2791,sapiente,quia,2791 +2792,sit,dolorem,2792 +2793,omnis,doloremque,2793 +2794,adipisci,dignissimos,2794 +2795,beatae,necessitatibus,2795 +2796,vel,doloribus,2796 +2797,sit,nulla,2797 +2798,corrupti,et,2798 +2799,a,sapiente,2799 +2800,quaerat,optio,2800 +2801,dicta,animi,2801 +2802,numquam,et,2802 +2803,et,aliquid,2803 +2804,accusamus,dolores,2804 +2805,est,adipisci,2805 +2806,non,iure,2806 +2807,nihil,veniam,2807 +2808,et,autem,2808 +2809,nesciunt,ducimus,2809 +2810,minus,vel,2810 +2811,cum,sit,2811 +2812,maxime,ea,2812 +2813,officia,veniam,2813 +2814,qui,minus,2814 +2815,similique,perspiciatis,2815 +2816,est,ut,2816 +2817,in,fuga,2817 +2818,necessitatibus,incidunt,2818 +2819,voluptatibus,et,2819 +2820,dolore,minus,2820 +2821,velit,id,2821 +2822,laudantium,et,2822 +2823,vel,recusandae,2823 +2824,delectus,nulla,2824 +2825,mollitia,sint,2825 +2826,ut,aut,2826 +2827,dolorem,quod,2827 +2828,ut,dolores,2828 +2829,soluta,aut,2829 +2830,occaecati,et,2830 +2831,debitis,qui,2831 +2832,suscipit,adipisci,2832 +2833,facilis,at,2833 +2834,animi,aut,2834 +2835,veritatis,itaque,2835 +2836,dolore,aliquam,2836 +2837,aut,voluptatem,2837 +2838,vero,est,2838 +2839,aliquid,mollitia,2839 +2840,qui,voluptatum,2840 +2841,omnis,ea,2841 +2842,delectus,quam,2842 +2843,modi,doloribus,2843 +2844,necessitatibus,ducimus,2844 +2845,voluptas,nulla,2845 +2846,sit,rem,2846 +2847,possimus,sequi,2847 +2848,id,similique,2848 +2849,quis,dolorum,2849 +2850,sit,rerum,2850 +2851,ex,voluptas,2851 +2852,et,quis,2852 +2853,saepe,quia,2853 +2854,laboriosam,temporibus,2854 +2855,nihil,est,2855 +2856,est,inventore,2856 +2857,voluptate,sit,2857 +2858,nesciunt,ipsa,2858 +2859,excepturi,sequi,2859 +2860,quos,ad,2860 +2861,ut,laboriosam,2861 +2862,est,id,2862 +2863,sit,doloribus,2863 +2864,qui,veritatis,2864 +2865,soluta,est,2865 +2866,eligendi,consequatur,2866 +2867,saepe,voluptatem,2867 +2868,eos,iusto,2868 +2869,veniam,dicta,2869 +2870,suscipit,nulla,2870 +2871,neque,aperiam,2871 +2872,modi,maxime,2872 +2873,aliquam,aut,2873 +2874,a,inventore,2874 +2875,qui,alias,2875 +2876,voluptates,consequatur,2876 +2877,natus,dolores,2877 +2878,et,sunt,2878 +2879,eligendi,ab,2879 +2880,odio,eos,2880 +2881,quia,dolorem,2881 +2882,voluptas,neque,2882 +2883,autem,voluptas,2883 +2884,facilis,harum,2884 +2885,commodi,ut,2885 +2886,facere,necessitatibus,2886 +2887,nesciunt,omnis,2887 +2888,consequuntur,ab,2888 +2889,maiores,iure,2889 +2890,rem,ratione,2890 +2891,aspernatur,facere,2891 +2892,vel,deserunt,2892 +2893,nihil,esse,2893 +2894,inventore,aspernatur,2894 +2895,fugit,fugit,2895 +2896,error,neque,2896 +2897,quos,omnis,2897 +2898,laudantium,quia,2898 +2899,officiis,quia,2899 +2900,voluptas,suscipit,2900 +2901,id,id,2901 +2902,at,officiis,2902 +2903,natus,dolore,2903 +2904,repudiandae,qui,2904 +2905,voluptatibus,dolor,2905 +2906,sint,temporibus,2906 +2907,ut,explicabo,2907 +2908,et,et,2908 +2909,iste,et,2909 +2910,mollitia,facere,2910 +2911,adipisci,quod,2911 +2912,quia,nihil,2912 +2913,magni,eum,2913 +2914,et,voluptatem,2914 +2915,quae,recusandae,2915 +2916,harum,adipisci,2916 +2917,unde,dolorem,2917 +2918,qui,ut,2918 +2919,eaque,occaecati,2919 +2920,voluptas,amet,2920 +2921,doloremque,dolor,2921 +2922,dolorem,provident,2922 +2923,quas,omnis,2923 +2924,nulla,cumque,2924 +2925,consectetur,magni,2925 +2926,laudantium,recusandae,2926 +2927,vitae,quod,2927 +2928,numquam,quia,2928 +2929,mollitia,est,2929 +2930,explicabo,dolores,2930 +2931,velit,odio,2931 +2932,ut,dolor,2932 +2933,qui,nam,2933 +2934,eos,quaerat,2934 +2935,ullam,libero,2935 +2936,fuga,non,2936 +2937,cum,nisi,2937 +2938,accusantium,dolorum,2938 +2939,provident,non,2939 +2940,blanditiis,ipsum,2940 +2941,veniam,iste,2941 +2942,non,nihil,2942 +2943,iure,voluptatem,2943 +2944,necessitatibus,explicabo,2944 +2945,aut,inventore,2945 +2946,impedit,velit,2946 +2947,repellat,vel,2947 +2948,qui,omnis,2948 +2949,repudiandae,officia,2949 +2950,consequuntur,corrupti,2950 +2951,et,esse,2951 +2952,autem,rem,2952 +2953,mollitia,in,2953 +2954,perspiciatis,nesciunt,2954 +2955,doloribus,animi,2955 +2956,sunt,provident,2956 +2957,quis,consequatur,2957 +2958,nihil,accusamus,2958 +2959,libero,est,2959 +2960,eaque,et,2960 +2961,aut,porro,2961 +2962,distinctio,impedit,2962 +2963,amet,consequatur,2963 +2964,quod,sed,2964 +2965,in,suscipit,2965 +2966,ratione,et,2966 +2967,minus,eius,2967 +2968,culpa,sint,2968 +2969,tempore,quasi,2969 +2970,qui,voluptatem,2970 +2971,enim,laborum,2971 +2972,voluptates,sapiente,2972 +2973,numquam,autem,2973 +2974,alias,fugit,2974 +2975,accusantium,magni,2975 +2976,sit,voluptates,2976 +2977,aut,voluptas,2977 +2978,assumenda,ut,2978 +2979,qui,voluptatem,2979 +2980,minus,reprehenderit,2980 +2981,fugiat,temporibus,2981 +2982,doloribus,quis,2982 +2983,est,voluptatem,2983 +2984,et,consequatur,2984 +2985,nostrum,laudantium,2985 +2986,quasi,itaque,2986 +2987,enim,in,2987 +2988,et,magnam,2988 +2989,alias,aperiam,2989 +2990,dolor,ut,2990 +2991,non,aut,2991 +2992,et,quos,2992 +2993,nisi,nisi,2993 +2994,dolor,ut,2994 +2995,voluptate,quasi,2995 +2996,adipisci,blanditiis,2996 +2997,repellat,voluptas,2997 +2998,velit,dolores,2998 +2999,exercitationem,facere,2999 +3000,debitis,doloribus,3000 +3001,ducimus,nostrum,3001 +3002,quod,dolorem,3002 +3003,ducimus,aut,3003 +3004,quidem,perferendis,3004 +3005,sed,ducimus,3005 +3006,voluptate,voluptatem,3006 +3007,laboriosam,tempore,3007 +3008,nesciunt,odio,3008 +3009,asperiores,nam,3009 +3010,dolor,esse,3010 +3011,similique,sunt,3011 +3012,in,ipsam,3012 +3013,quo,sequi,3013 +3014,quidem,voluptas,3014 +3015,explicabo,iusto,3015 +3016,voluptatem,error,3016 +3017,asperiores,aut,3017 +3018,repellendus,nesciunt,3018 +3019,nesciunt,est,3019 +3020,in,vitae,3020 +3021,aliquid,quas,3021 +3022,quae,ipsum,3022 +3023,eveniet,quaerat,3023 +3024,quae,est,3024 +3025,voluptas,id,3025 +3026,soluta,explicabo,3026 +3027,sunt,in,3027 +3028,molestiae,et,3028 +3029,qui,enim,3029 +3030,voluptates,vel,3030 +3031,officia,facere,3031 +3032,nam,quidem,3032 +3033,iusto,et,3033 +3034,consequuntur,eveniet,3034 +3035,nulla,id,3035 +3036,tenetur,ut,3036 +3037,ea,quod,3037 +3038,explicabo,modi,3038 +3039,consequatur,necessitatibus,3039 +3040,iste,voluptas,3040 +3041,vel,praesentium,3041 +3042,et,earum,3042 +3043,et,assumenda,3043 +3044,inventore,deserunt,3044 +3045,sint,quis,3045 +3046,amet,ex,3046 +3047,explicabo,sed,3047 +3048,aut,consequuntur,3048 +3049,et,soluta,3049 +3050,dolores,occaecati,3050 +3051,quo,voluptatem,3051 +3052,molestiae,perspiciatis,3052 +3053,a,commodi,3053 +3054,sed,alias,3054 +3055,suscipit,numquam,3055 +3056,ea,veritatis,3056 +3057,corrupti,inventore,3057 +3058,temporibus,at,3058 +3059,rerum,et,3059 +3060,amet,et,3060 +3061,repellat,ex,3061 +3062,commodi,quia,3062 +3063,velit,eveniet,3063 +3064,quod,quasi,3064 +3065,eum,nesciunt,3065 +3066,eligendi,dolorum,3066 +3067,fuga,corporis,3067 +3068,voluptatem,praesentium,3068 +3069,eveniet,ut,3069 +3070,molestias,deserunt,3070 +3071,laborum,laborum,3071 +3072,voluptas,beatae,3072 +3073,tenetur,voluptatem,3073 +3074,eum,ut,3074 +3075,ipsa,fuga,3075 +3076,id,porro,3076 +3077,qui,iusto,3077 +3078,sit,consequatur,3078 +3079,eos,rerum,3079 +3080,harum,esse,3080 +3081,quia,quas,3081 +3082,nesciunt,repellendus,3082 +3083,autem,exercitationem,3083 +3084,qui,vel,3084 +3085,suscipit,consequatur,3085 +3086,dolorem,consectetur,3086 +3087,et,eaque,3087 +3088,repellendus,officia,3088 +3089,praesentium,nulla,3089 +3090,doloribus,minima,3090 +3091,ut,laborum,3091 +3092,ducimus,molestiae,3092 +3093,eum,placeat,3093 +3094,eligendi,vero,3094 +3095,accusamus,rerum,3095 +3096,est,quia,3096 +3097,aliquam,iste,3097 +3098,quia,consequatur,3098 +3099,labore,facilis,3099 +3100,quo,inventore,3100 +3101,quos,molestiae,3101 +3102,itaque,illo,3102 +3103,nam,qui,3103 +3104,minus,inventore,3104 +3105,eaque,aut,3105 +3106,iste,nobis,3106 +3107,vitae,assumenda,3107 +3108,temporibus,aliquid,3108 +3109,et,corrupti,3109 +3110,sunt,dolore,3110 +3111,quibusdam,cupiditate,3111 +3112,eaque,voluptate,3112 +3113,commodi,voluptates,3113 +3114,omnis,facilis,3114 +3115,at,perferendis,3115 +3116,amet,voluptatem,3116 +3117,qui,enim,3117 +3118,est,consequatur,3118 +3119,accusamus,alias,3119 +3120,ducimus,ut,3120 +3121,delectus,odit,3121 +3122,a,debitis,3122 +3123,voluptas,modi,3123 +3124,enim,et,3124 +3125,pariatur,omnis,3125 +3126,aut,deserunt,3126 +3127,cum,voluptas,3127 +3128,rerum,nihil,3128 +3129,beatae,quo,3129 +3130,et,voluptatem,3130 +3131,eum,voluptates,3131 +3132,est,commodi,3132 +3133,eveniet,quae,3133 +3134,enim,cupiditate,3134 +3135,unde,in,3135 +3136,molestias,molestiae,3136 +3137,asperiores,sed,3137 +3138,rerum,qui,3138 +3139,et,possimus,3139 +3140,quia,reprehenderit,3140 +3141,excepturi,tempora,3141 +3142,voluptatibus,voluptatibus,3142 +3143,eaque,rerum,3143 +3144,dignissimos,beatae,3144 +3145,dolores,et,3145 +3146,qui,dolor,3146 +3147,inventore,atque,3147 +3148,iusto,eum,3148 +3149,voluptates,temporibus,3149 +3150,debitis,et,3150 +3151,sint,perspiciatis,3151 +3152,hic,adipisci,3152 +3153,assumenda,ex,3153 +3154,repellat,magni,3154 +3155,delectus,consectetur,3155 +3156,quis,aut,3156 +3157,quo,quod,3157 +3158,ad,quo,3158 +3159,non,quia,3159 +3160,accusamus,enim,3160 +3161,nemo,dignissimos,3161 +3162,molestias,molestiae,3162 +3163,voluptatibus,et,3163 +3164,voluptatibus,est,3164 +3165,sequi,cumque,3165 +3166,cumque,id,3166 +3167,cum,iste,3167 +3168,est,nihil,3168 +3169,et,voluptatem,3169 +3170,sint,quia,3170 +3171,amet,odio,3171 +3172,omnis,et,3172 +3173,qui,explicabo,3173 +3174,et,sit,3174 +3175,nobis,sunt,3175 +3176,excepturi,eos,3176 +3177,quia,veniam,3177 +3178,temporibus,sint,3178 +3179,animi,totam,3179 +3180,optio,incidunt,3180 +3181,fugit,et,3181 +3182,nostrum,sint,3182 +3183,maiores,qui,3183 +3184,aspernatur,voluptatem,3184 +3185,quam,omnis,3185 +3186,quis,magnam,3186 +3187,sit,dolor,3187 +3188,eaque,voluptatibus,3188 +3189,enim,autem,3189 +3190,quia,totam,3190 +3191,eligendi,architecto,3191 +3192,sunt,et,3192 +3193,quia,et,3193 +3194,assumenda,perferendis,3194 +3195,ut,est,3195 +3196,et,architecto,3196 +3197,dolorum,fugit,3197 +3198,libero,possimus,3198 +3199,quasi,voluptatem,3199 +3200,magni,qui,3200 +3201,quia,dignissimos,3201 +3202,ipsa,molestiae,3202 +3203,sed,laborum,3203 +3204,dolore,animi,3204 +3205,minima,officia,3205 +3206,quod,maxime,3206 +3207,non,rem,3207 +3208,adipisci,rerum,3208 +3209,voluptate,accusamus,3209 +3210,deleniti,placeat,3210 +3211,officia,harum,3211 +3212,provident,id,3212 +3213,id,voluptatem,3213 +3214,minus,doloremque,3214 +3215,libero,temporibus,3215 +3216,sed,iusto,3216 +3217,dolores,ab,3217 +3218,quia,nihil,3218 +3219,est,sed,3219 +3220,sit,repellat,3220 +3221,quia,aliquam,3221 +3222,ut,rem,3222 +3223,dolorem,explicabo,3223 +3224,reprehenderit,sint,3224 +3225,est,molestiae,3225 +3226,quia,quis,3226 +3227,hic,enim,3227 +3228,provident,eum,3228 +3229,magnam,dolores,3229 +3230,illum,laboriosam,3230 +3231,maxime,aliquid,3231 +3232,dolores,officia,3232 +3233,aliquid,placeat,3233 +3234,et,dolor,3234 +3235,minima,rem,3235 +3236,ipsum,blanditiis,3236 +3237,impedit,quaerat,3237 +3238,aut,enim,3238 +3239,consequatur,tenetur,3239 +3240,placeat,maiores,3240 +3241,quia,cupiditate,3241 +3242,et,maiores,3242 +3243,natus,earum,3243 +3244,doloremque,aut,3244 +3245,neque,adipisci,3245 +3246,et,consectetur,3246 +3247,quia,odit,3247 +3248,aliquam,alias,3248 +3249,recusandae,omnis,3249 +3250,doloremque,est,3250 +3251,fuga,nulla,3251 +3252,ut,impedit,3252 +3253,quam,vel,3253 +3254,qui,illo,3254 +3255,voluptas,dicta,3255 +3256,veniam,rerum,3256 +3257,qui,reprehenderit,3257 +3258,officia,sed,3258 +3259,accusamus,temporibus,3259 +3260,recusandae,autem,3260 +3261,maxime,reprehenderit,3261 +3262,nostrum,labore,3262 +3263,laboriosam,iste,3263 +3264,porro,aut,3264 +3265,et,dolorum,3265 +3266,qui,labore,3266 +3267,laborum,numquam,3267 +3268,repudiandae,soluta,3268 +3269,et,quos,3269 +3270,ut,qui,3270 +3271,excepturi,doloremque,3271 +3272,dolor,reprehenderit,3272 +3273,quis,labore,3273 +3274,dolorem,est,3274 +3275,cupiditate,optio,3275 +3276,quo,consequatur,3276 +3277,sed,voluptate,3277 +3278,laboriosam,veritatis,3278 +3279,et,dolor,3279 +3280,odio,eum,3280 +3281,quo,iusto,3281 +3282,aspernatur,vitae,3282 +3283,hic,voluptatem,3283 +3284,mollitia,assumenda,3284 +3285,quo,occaecati,3285 +3286,enim,hic,3286 +3287,est,quo,3287 +3288,accusamus,accusamus,3288 +3289,molestiae,tenetur,3289 +3290,dolores,et,3290 +3291,qui,voluptate,3291 +3292,quis,velit,3292 +3293,architecto,modi,3293 +3294,est,illum,3294 +3295,est,a,3295 +3296,et,unde,3296 +3297,quasi,quia,3297 +3298,laudantium,voluptas,3298 +3299,veritatis,et,3299 +3300,at,voluptatem,3300 +3301,maxime,eius,3301 +3302,velit,rem,3302 +3303,voluptatem,nemo,3303 +3304,consequatur,in,3304 +3305,exercitationem,debitis,3305 +3306,error,repudiandae,3306 +3307,consequatur,eveniet,3307 +3308,aut,voluptatibus,3308 +3309,blanditiis,deserunt,3309 +3310,facilis,unde,3310 +3311,in,quam,3311 +3312,et,est,3312 +3313,maxime,praesentium,3313 +3314,dolores,sapiente,3314 +3315,quia,at,3315 +3316,numquam,corporis,3316 +3317,omnis,cumque,3317 +3318,occaecati,commodi,3318 +3319,molestiae,repellat,3319 +3320,voluptate,velit,3320 +3321,fuga,cumque,3321 +3322,minus,nesciunt,3322 +3323,voluptatem,a,3323 +3324,minima,dolores,3324 +3325,labore,cupiditate,3325 +3326,blanditiis,in,3326 +3327,iste,non,3327 +3328,ipsum,magni,3328 +3329,labore,debitis,3329 +3330,ad,veniam,3330 +3331,perferendis,ipsam,3331 +3332,similique,et,3332 +3333,qui,dolor,3333 +3334,dolorem,eius,3334 +3335,ut,a,3335 +3336,ea,consequatur,3336 +3337,aspernatur,nisi,3337 +3338,accusamus,aut,3338 +3339,quibusdam,sint,3339 +3340,unde,omnis,3340 +3341,dolorem,distinctio,3341 +3342,sapiente,dolorum,3342 +3343,vero,a,3343 +3344,voluptas,officiis,3344 +3345,quia,velit,3345 +3346,fugit,debitis,3346 +3347,voluptas,dolor,3347 +3348,dicta,quia,3348 +3349,minus,consequatur,3349 +3350,velit,et,3350 +3351,aut,et,3351 +3352,laudantium,non,3352 +3353,laborum,iste,3353 +3354,cum,dolor,3354 +3355,est,occaecati,3355 +3356,ducimus,officia,3356 +3357,distinctio,quasi,3357 +3358,tempora,soluta,3358 +3359,doloremque,quo,3359 +3360,ut,quia,3360 +3361,quasi,autem,3361 +3362,ullam,minus,3362 +3363,et,praesentium,3363 +3364,omnis,est,3364 +3365,nihil,hic,3365 +3366,qui,et,3366 +3367,consequatur,qui,3367 +3368,cumque,quis,3368 +3369,voluptas,vitae,3369 +3370,dolor,corporis,3370 +3371,et,magni,3371 +3372,unde,minus,3372 +3373,recusandae,rerum,3373 +3374,non,cumque,3374 +3375,dolore,voluptatum,3375 +3376,qui,aut,3376 +3377,qui,quis,3377 +3378,sint,omnis,3378 +3379,deserunt,id,3379 +3380,nemo,aliquam,3380 +3381,asperiores,a,3381 +3382,et,tempore,3382 +3383,eaque,et,3383 +3384,odio,et,3384 +3385,omnis,deserunt,3385 +3386,rem,dolorum,3386 +3387,asperiores,sed,3387 +3388,modi,sed,3388 +3389,aut,error,3389 +3390,cumque,quis,3390 +3391,omnis,praesentium,3391 +3392,praesentium,eveniet,3392 +3393,aut,quasi,3393 +3394,sint,commodi,3394 +3395,fugit,ut,3395 +3396,iusto,magnam,3396 +3397,debitis,quidem,3397 +3398,voluptatibus,aut,3398 +3399,ea,aspernatur,3399 +3400,in,odit,3400 +3401,nemo,est,3401 +3402,cum,ducimus,3402 +3403,consectetur,quae,3403 +3404,praesentium,hic,3404 +3405,recusandae,consectetur,3405 +3406,doloribus,amet,3406 +3407,et,sed,3407 +3408,et,ut,3408 +3409,nihil,vitae,3409 +3410,ullam,iusto,3410 +3411,qui,aut,3411 +3412,sapiente,officia,3412 +3413,rerum,adipisci,3413 +3414,omnis,rem,3414 +3415,unde,ut,3415 +3416,ut,illum,3416 +3417,et,et,3417 +3418,aliquid,rerum,3418 +3419,enim,facere,3419 +3420,esse,qui,3420 +3421,animi,eum,3421 +3422,modi,possimus,3422 +3423,reiciendis,incidunt,3423 +3424,soluta,dolor,3424 +3425,enim,id,3425 +3426,et,laboriosam,3426 +3427,aut,aliquid,3427 +3428,corporis,rerum,3428 +3429,officiis,et,3429 +3430,autem,qui,3430 +3431,et,expedita,3431 +3432,dolorem,suscipit,3432 +3433,quidem,voluptas,3433 +3434,dolore,est,3434 +3435,qui,porro,3435 +3436,omnis,et,3436 +3437,quos,dignissimos,3437 +3438,reiciendis,voluptatum,3438 +3439,omnis,quo,3439 +3440,id,saepe,3440 +3441,sint,illo,3441 +3442,voluptate,ab,3442 +3443,provident,iste,3443 +3444,numquam,eveniet,3444 +3445,fugiat,omnis,3445 +3446,nulla,nam,3446 +3447,ut,voluptatem,3447 +3448,omnis,dolores,3448 +3449,dolorem,id,3449 +3450,sit,non,3450 +3451,consequatur,minus,3451 +3452,recusandae,temporibus,3452 +3453,eveniet,vero,3453 +3454,nulla,blanditiis,3454 +3455,eius,dolorum,3455 +3456,voluptates,sit,3456 +3457,deserunt,nam,3457 +3458,consequatur,ducimus,3458 +3459,sed,aut,3459 +3460,tenetur,id,3460 +3461,recusandae,et,3461 +3462,ea,autem,3462 +3463,aut,eaque,3463 +3464,velit,enim,3464 +3465,unde,dolores,3465 +3466,architecto,repellendus,3466 +3467,reiciendis,qui,3467 +3468,pariatur,blanditiis,3468 +3469,eum,voluptatem,3469 +3470,consequatur,earum,3470 +3471,optio,soluta,3471 +3472,quibusdam,saepe,3472 +3473,sed,eos,3473 +3474,ipsum,eaque,3474 +3475,nobis,dolorem,3475 +3476,quo,rerum,3476 +3477,provident,vel,3477 +3478,corporis,laboriosam,3478 +3479,repudiandae,accusantium,3479 +3480,animi,illo,3480 +3481,aliquam,nisi,3481 +3482,officia,nisi,3482 +3483,atque,harum,3483 +3484,earum,sed,3484 +3485,ut,dicta,3485 +3486,ipsum,doloremque,3486 +3487,recusandae,doloribus,3487 +3488,laboriosam,dolorum,3488 +3489,aut,rem,3489 +3490,voluptatem,a,3490 +3491,quia,nisi,3491 +3492,ut,quis,3492 +3493,ut,dolores,3493 +3494,tempore,veritatis,3494 +3495,voluptatibus,iste,3495 +3496,necessitatibus,non,3496 +3497,quibusdam,aut,3497 +3498,delectus,molestiae,3498 +3499,reiciendis,id,3499 +3500,blanditiis,sed,3500 +3501,eaque,aut,3501 +3502,atque,doloremque,3502 +3503,aut,sed,3503 +3504,quam,quibusdam,3504 +3505,minus,consequatur,3505 +3506,odio,velit,3506 +3507,praesentium,et,3507 +3508,deserunt,nobis,3508 +3509,qui,laboriosam,3509 +3510,qui,quasi,3510 +3511,est,earum,3511 +3512,architecto,veniam,3512 +3513,sit,et,3513 +3514,possimus,blanditiis,3514 +3515,dolores,iusto,3515 +3516,molestiae,aut,3516 +3517,est,libero,3517 +3518,aliquid,officia,3518 +3519,tempora,impedit,3519 +3520,fuga,iure,3520 +3521,reprehenderit,aperiam,3521 +3522,voluptatem,tempore,3522 +3523,consequatur,iusto,3523 +3524,excepturi,quibusdam,3524 +3525,optio,enim,3525 +3526,quam,omnis,3526 +3527,possimus,consequatur,3527 +3528,praesentium,doloribus,3528 +3529,ea,quaerat,3529 +3530,pariatur,libero,3530 +3531,maxime,pariatur,3531 +3532,quae,hic,3532 +3533,minima,odit,3533 +3534,corrupti,hic,3534 +3535,suscipit,fugiat,3535 +3536,dolores,eos,3536 +3537,omnis,labore,3537 +3538,eligendi,nesciunt,3538 +3539,unde,sunt,3539 +3540,sed,perferendis,3540 +3541,qui,cumque,3541 +3542,occaecati,earum,3542 +3543,molestiae,aut,3543 +3544,nihil,excepturi,3544 +3545,dolor,esse,3545 +3546,ut,praesentium,3546 +3547,quia,deserunt,3547 +3548,quaerat,omnis,3548 +3549,quo,sunt,3549 +3550,repellendus,accusamus,3550 +3551,et,a,3551 +3552,perspiciatis,earum,3552 +3553,laboriosam,in,3553 +3554,tempore,molestiae,3554 +3555,unde,minima,3555 +3556,est,enim,3556 +3557,repudiandae,ut,3557 +3558,qui,eum,3558 +3559,vel,aut,3559 +3560,magni,animi,3560 +3561,libero,quo,3561 +3562,nulla,quibusdam,3562 +3563,ut,voluptatum,3563 +3564,voluptatem,et,3564 +3565,sit,qui,3565 +3566,et,architecto,3566 +3567,ipsum,et,3567 +3568,maiores,molestiae,3568 +3569,qui,dolor,3569 +3570,et,qui,3570 +3571,ex,aut,3571 +3572,expedita,asperiores,3572 +3573,autem,quisquam,3573 +3574,exercitationem,consequatur,3574 +3575,quae,omnis,3575 +3576,officiis,et,3576 +3577,vitae,praesentium,3577 +3578,explicabo,quasi,3578 +3579,quia,et,3579 +3580,repellendus,veniam,3580 +3581,necessitatibus,odio,3581 +3582,cumque,atque,3582 +3583,itaque,provident,3583 +3584,nulla,in,3584 +3585,rerum,facere,3585 +3586,ut,autem,3586 +3587,veritatis,occaecati,3587 +3588,voluptatibus,aliquam,3588 +3589,temporibus,autem,3589 +3590,voluptatem,ea,3590 +3591,dolore,est,3591 +3592,enim,est,3592 +3593,earum,nam,3593 +3594,vel,omnis,3594 +3595,et,deleniti,3595 +3596,dolorum,voluptatem,3596 +3597,nostrum,soluta,3597 +3598,dignissimos,quia,3598 +3599,cum,iure,3599 +3600,aspernatur,est,3600 +3601,dolorem,fugiat,3601 +3602,neque,laborum,3602 +3603,et,vel,3603 +3604,voluptatem,expedita,3604 +3605,sunt,rerum,3605 +3606,mollitia,et,3606 +3607,ad,quaerat,3607 +3608,illo,iusto,3608 +3609,sed,necessitatibus,3609 +3610,quidem,nihil,3610 +3611,quo,voluptatem,3611 +3612,vitae,autem,3612 +3613,et,aspernatur,3613 +3614,ea,inventore,3614 +3615,qui,voluptatem,3615 +3616,voluptates,consectetur,3616 +3617,illum,quibusdam,3617 +3618,nesciunt,ab,3618 +3619,repellat,illum,3619 +3620,optio,ut,3620 +3621,quisquam,voluptas,3621 +3622,ut,ipsa,3622 +3623,minus,voluptatem,3623 +3624,accusamus,sed,3624 +3625,eligendi,iste,3625 +3626,at,est,3626 +3627,culpa,et,3627 +3628,ex,dolores,3628 +3629,debitis,earum,3629 +3630,laborum,similique,3630 +3631,temporibus,consequatur,3631 +3632,qui,iste,3632 +3633,modi,non,3633 +3634,fugiat,et,3634 +3635,deserunt,odit,3635 +3636,dignissimos,quibusdam,3636 +3637,quia,dignissimos,3637 +3638,et,enim,3638 +3639,et,culpa,3639 +3640,voluptatem,nostrum,3640 +3641,doloribus,magni,3641 +3642,harum,sint,3642 +3643,similique,quis,3643 +3644,nihil,quia,3644 +3645,qui,sit,3645 +3646,rem,ratione,3646 +3647,molestias,dignissimos,3647 +3648,minima,aut,3648 +3649,molestias,sapiente,3649 +3650,qui,dolore,3650 +3651,ad,qui,3651 +3652,commodi,doloremque,3652 +3653,illum,atque,3653 +3654,dignissimos,rem,3654 +3655,ab,eaque,3655 +3656,qui,deserunt,3656 +3657,dolores,occaecati,3657 +3658,omnis,ut,3658 +3659,omnis,eum,3659 +3660,consequatur,pariatur,3660 +3661,sit,impedit,3661 +3662,itaque,labore,3662 +3663,quae,et,3663 +3664,sed,deleniti,3664 +3665,laudantium,autem,3665 +3666,voluptate,sed,3666 +3667,pariatur,officia,3667 +3668,labore,odit,3668 +3669,nisi,qui,3669 +3670,et,nihil,3670 +3671,occaecati,voluptas,3671 +3672,alias,magnam,3672 +3673,dolores,optio,3673 +3674,accusantium,rem,3674 +3675,qui,atque,3675 +3676,culpa,numquam,3676 +3677,veniam,sit,3677 +3678,sed,corporis,3678 +3679,amet,dolorem,3679 +3680,et,ut,3680 +3681,dolores,corrupti,3681 +3682,voluptates,dolor,3682 +3683,doloribus,unde,3683 +3684,perspiciatis,vitae,3684 +3685,odio,quo,3685 +3686,eaque,consequuntur,3686 +3687,mollitia,delectus,3687 +3688,odit,consequatur,3688 +3689,necessitatibus,eos,3689 +3690,perspiciatis,in,3690 +3691,officia,in,3691 +3692,a,error,3692 +3693,impedit,voluptas,3693 +3694,vitae,omnis,3694 +3695,quaerat,quis,3695 +3696,quo,asperiores,3696 +3697,quia,explicabo,3697 +3698,nulla,quam,3698 +3699,accusantium,expedita,3699 +3700,officiis,dolores,3700 +3701,nulla,quia,3701 +3702,doloribus,vel,3702 +3703,doloribus,beatae,3703 +3704,voluptatem,labore,3704 +3705,voluptate,rerum,3705 +3706,non,sint,3706 +3707,inventore,sit,3707 +3708,quisquam,quos,3708 +3709,aut,et,3709 +3710,blanditiis,repudiandae,3710 +3711,iusto,et,3711 +3712,eligendi,libero,3712 +3713,consequatur,consequatur,3713 +3714,maiores,ducimus,3714 +3715,eaque,nostrum,3715 +3716,nostrum,aut,3716 +3717,perspiciatis,nesciunt,3717 +3718,aut,quis,3718 +3719,veniam,quis,3719 +3720,veniam,maxime,3720 +3721,ullam,id,3721 +3722,sint,in,3722 +3723,modi,voluptas,3723 +3724,blanditiis,laudantium,3724 +3725,velit,voluptatibus,3725 +3726,aspernatur,rerum,3726 +3727,animi,et,3727 +3728,velit,aspernatur,3728 +3729,atque,quas,3729 +3730,minus,aut,3730 +3731,et,aspernatur,3731 +3732,delectus,modi,3732 +3733,repellendus,eius,3733 +3734,architecto,commodi,3734 +3735,sit,a,3735 +3736,molestiae,culpa,3736 +3737,corporis,maiores,3737 +3738,sapiente,dolor,3738 +3739,repellendus,dolores,3739 +3740,sit,mollitia,3740 +3741,cumque,sit,3741 +3742,excepturi,qui,3742 +3743,ipsa,voluptatibus,3743 +3744,totam,aut,3744 +3745,necessitatibus,molestias,3745 +3746,id,quia,3746 +3747,cum,voluptatem,3747 +3748,eum,earum,3748 +3749,rerum,vel,3749 +3750,est,ea,3750 +3751,enim,ut,3751 +3752,beatae,ipsam,3752 +3753,unde,in,3753 +3754,maiores,nihil,3754 +3755,magnam,et,3755 +3756,consequatur,perspiciatis,3756 +3757,voluptatem,odio,3757 +3758,qui,sunt,3758 +3759,sunt,et,3759 +3760,exercitationem,voluptas,3760 +3761,rerum,corporis,3761 +3762,aliquid,ratione,3762 +3763,minima,delectus,3763 +3764,est,quas,3764 +3765,placeat,consectetur,3765 +3766,expedita,iure,3766 +3767,reiciendis,doloremque,3767 +3768,molestias,tempora,3768 +3769,ullam,culpa,3769 +3770,dolorem,aliquid,3770 +3771,a,laudantium,3771 +3772,est,quo,3772 +3773,sit,qui,3773 +3774,et,minima,3774 +3775,tempora,cum,3775 +3776,quia,impedit,3776 +3777,occaecati,ducimus,3777 +3778,doloribus,facere,3778 +3779,et,porro,3779 +3780,et,consectetur,3780 +3781,incidunt,ab,3781 +3782,rerum,quod,3782 +3783,officia,aut,3783 +3784,dolorum,quod,3784 +3785,quidem,magni,3785 +3786,nemo,fugit,3786 +3787,aliquam,quaerat,3787 +3788,velit,soluta,3788 +3789,exercitationem,ut,3789 +3790,nesciunt,beatae,3790 +3791,dolores,tempora,3791 +3792,quaerat,autem,3792 +3793,delectus,exercitationem,3793 +3794,quia,et,3794 +3795,consequatur,architecto,3795 +3796,accusantium,possimus,3796 +3797,qui,rerum,3797 +3798,voluptatem,rem,3798 +3799,optio,rem,3799 +3800,earum,culpa,3800 +3801,et,eligendi,3801 +3802,ea,alias,3802 +3803,eum,dolores,3803 +3804,earum,similique,3804 +3805,rem,beatae,3805 +3806,voluptatem,animi,3806 +3807,veritatis,non,3807 +3808,accusamus,error,3808 +3809,aliquid,minus,3809 +3810,et,est,3810 +3811,et,error,3811 +3812,minima,quidem,3812 +3813,veniam,veritatis,3813 +3814,iste,asperiores,3814 +3815,enim,quaerat,3815 +3816,vero,consequatur,3816 +3817,laborum,itaque,3817 +3818,natus,neque,3818 +3819,eum,ut,3819 +3820,quae,officiis,3820 +3821,esse,accusantium,3821 +3822,consectetur,ut,3822 +3823,sunt,harum,3823 +3824,quos,rerum,3824 +3825,totam,consequatur,3825 +3826,similique,dolorem,3826 +3827,voluptas,quaerat,3827 +3828,maxime,minima,3828 +3829,velit,deserunt,3829 +3830,perspiciatis,placeat,3830 +3831,omnis,quaerat,3831 +3832,ipsa,repellat,3832 +3833,eius,aliquam,3833 +3834,maiores,et,3834 +3835,omnis,sint,3835 +3836,ut,soluta,3836 +3837,nobis,perferendis,3837 +3838,quaerat,et,3838 +3839,blanditiis,rerum,3839 +3840,quasi,repellendus,3840 +3841,commodi,deserunt,3841 +3842,veniam,officia,3842 +3843,voluptatem,qui,3843 +3844,cupiditate,aut,3844 +3845,quia,labore,3845 +3846,nobis,est,3846 +3847,labore,sint,3847 +3848,quis,officiis,3848 +3849,ullam,voluptatum,3849 +3850,enim,dignissimos,3850 +3851,officia,aliquid,3851 +3852,quis,et,3852 +3853,est,dolorum,3853 +3854,aliquam,rerum,3854 +3855,earum,aut,3855 +3856,voluptate,ad,3856 +3857,laborum,sit,3857 +3858,et,eius,3858 +3859,reprehenderit,qui,3859 +3860,est,ut,3860 +3861,facilis,modi,3861 +3862,beatae,qui,3862 +3863,architecto,tempora,3863 +3864,asperiores,sit,3864 +3865,id,et,3865 +3866,quis,delectus,3866 +3867,unde,et,3867 +3868,qui,quia,3868 +3869,ut,non,3869 +3870,sed,sit,3870 +3871,repudiandae,illum,3871 +3872,voluptas,quia,3872 +3873,ipsa,tempora,3873 +3874,cum,qui,3874 +3875,non,delectus,3875 +3876,sint,consequatur,3876 +3877,ratione,ratione,3877 +3878,est,est,3878 +3879,impedit,voluptate,3879 +3880,ab,iure,3880 +3881,et,asperiores,3881 +3882,id,vel,3882 +3883,ab,omnis,3883 +3884,sit,esse,3884 +3885,repellat,ab,3885 +3886,unde,et,3886 +3887,suscipit,doloribus,3887 +3888,dolore,doloribus,3888 +3889,non,natus,3889 +3890,molestias,molestiae,3890 +3891,occaecati,est,3891 +3892,quod,laborum,3892 +3893,sed,a,3893 +3894,quis,quos,3894 +3895,quo,earum,3895 +3896,delectus,et,3896 +3897,sit,et,3897 +3898,aut,deserunt,3898 +3899,et,ea,3899 +3900,numquam,sunt,3900 +3901,dolorem,et,3901 +3902,non,et,3902 +3903,a,eveniet,3903 +3904,magnam,voluptas,3904 +3905,laudantium,reprehenderit,3905 +3906,sed,unde,3906 +3907,sed,ea,3907 +3908,saepe,hic,3908 +3909,commodi,magnam,3909 +3910,suscipit,voluptate,3910 +3911,consequatur,incidunt,3911 +3912,laborum,cumque,3912 +3913,quo,velit,3913 +3914,inventore,est,3914 +3915,reiciendis,ut,3915 +3916,rem,dolor,3916 +3917,quia,eligendi,3917 +3918,debitis,et,3918 +3919,nemo,eos,3919 +3920,odit,rerum,3920 +3921,necessitatibus,dolorem,3921 +3922,consequatur,inventore,3922 +3923,repellendus,sed,3923 +3924,ratione,repellat,3924 +3925,qui,animi,3925 +3926,maxime,impedit,3926 +3927,quas,autem,3927 +3928,reprehenderit,unde,3928 +3929,neque,est,3929 +3930,et,excepturi,3930 +3931,ex,at,3931 +3932,voluptas,nihil,3932 +3933,maiores,ut,3933 +3934,molestiae,occaecati,3934 +3935,labore,fugit,3935 +3936,voluptatum,aliquid,3936 +3937,maxime,laborum,3937 +3938,quaerat,eos,3938 +3939,modi,animi,3939 +3940,accusantium,voluptatum,3940 +3941,alias,ducimus,3941 +3942,optio,sint,3942 +3943,nemo,et,3943 +3944,facilis,odio,3944 +3945,saepe,natus,3945 +3946,libero,et,3946 +3947,aliquid,illum,3947 +3948,reprehenderit,id,3948 +3949,at,et,3949 +3950,aut,ex,3950 +3951,facere,sequi,3951 +3952,natus,esse,3952 +3953,delectus,et,3953 +3954,qui,voluptas,3954 +3955,est,eaque,3955 +3956,consectetur,quos,3956 +3957,quas,commodi,3957 +3958,quis,hic,3958 +3959,commodi,asperiores,3959 +3960,consequuntur,qui,3960 +3961,perspiciatis,maxime,3961 +3962,et,velit,3962 +3963,incidunt,officiis,3963 +3964,architecto,consectetur,3964 +3965,nam,numquam,3965 +3966,in,sed,3966 +3967,harum,omnis,3967 +3968,eum,labore,3968 +3969,ullam,omnis,3969 +3970,praesentium,et,3970 +3971,ea,at,3971 +3972,culpa,voluptas,3972 +3973,aliquam,quae,3973 +3974,sint,quasi,3974 +3975,ut,doloremque,3975 +3976,in,est,3976 +3977,cumque,velit,3977 +3978,et,et,3978 +3979,explicabo,sint,3979 +3980,dolorum,aut,3980 +3981,odit,temporibus,3981 +3982,praesentium,voluptatem,3982 +3983,omnis,maiores,3983 +3984,dolores,accusantium,3984 +3985,autem,assumenda,3985 +3986,repudiandae,sequi,3986 +3987,eius,omnis,3987 +3988,magnam,accusantium,3988 +3989,ratione,tempore,3989 +3990,ut,aut,3990 +3991,est,ut,3991 +3992,cumque,dolore,3992 +3993,neque,id,3993 +3994,repellat,fugiat,3994 +3995,quod,aspernatur,3995 +3996,suscipit,facilis,3996 +3997,reprehenderit,debitis,3997 +3998,placeat,repudiandae,3998 +3999,velit,quia,3999 +4000,dolorem,nam,4000 +4001,voluptatem,non,4001 +4002,explicabo,in,4002 +4003,ullam,quas,4003 +4004,minima,sit,4004 +4005,omnis,accusamus,4005 +4006,ratione,magnam,4006 +4007,corporis,repudiandae,4007 +4008,eius,est,4008 +4009,commodi,aperiam,4009 +4010,ut,velit,4010 +4011,expedita,ea,4011 +4012,doloribus,dolorum,4012 +4013,ducimus,laborum,4013 +4014,possimus,sunt,4014 +4015,tenetur,et,4015 +4016,mollitia,distinctio,4016 +4017,qui,eum,4017 +4018,voluptas,architecto,4018 +4019,magni,quidem,4019 +4020,nostrum,labore,4020 +4021,maiores,quasi,4021 +4022,eos,id,4022 +4023,quia,consectetur,4023 +4024,doloribus,in,4024 +4025,maxime,reiciendis,4025 +4026,amet,aut,4026 +4027,sed,culpa,4027 +4028,sint,iusto,4028 +4029,quo,natus,4029 +4030,ea,et,4030 +4031,quo,omnis,4031 +4032,sint,nemo,4032 +4033,vitae,omnis,4033 +4034,quo,quod,4034 +4035,recusandae,animi,4035 +4036,qui,animi,4036 +4037,dolorem,nesciunt,4037 +4038,numquam,dolores,4038 +4039,sequi,id,4039 +4040,saepe,hic,4040 +4041,minus,est,4041 +4042,explicabo,mollitia,4042 +4043,perspiciatis,nihil,4043 +4044,eaque,et,4044 +4045,animi,sint,4045 +4046,mollitia,nisi,4046 +4047,ut,perspiciatis,4047 +4048,quo,consequatur,4048 +4049,est,quia,4049 +4050,rem,debitis,4050 +4051,fuga,et,4051 +4052,fugit,porro,4052 +4053,quam,iure,4053 +4054,cumque,eos,4054 +4055,ipsum,autem,4055 +4056,at,aspernatur,4056 +4057,unde,explicabo,4057 +4058,mollitia,rerum,4058 +4059,debitis,officia,4059 +4060,sunt,quo,4060 +4061,voluptas,ipsam,4061 +4062,asperiores,ut,4062 +4063,consequatur,iure,4063 +4064,sit,qui,4064 +4065,magni,aut,4065 +4066,asperiores,ipsum,4066 +4067,id,mollitia,4067 +4068,quam,a,4068 +4069,esse,sequi,4069 +4070,delectus,suscipit,4070 +4071,quas,exercitationem,4071 +4072,vero,necessitatibus,4072 +4073,est,culpa,4073 +4074,eius,non,4074 +4075,sed,quia,4075 +4076,quam,eum,4076 +4077,consequatur,praesentium,4077 +4078,eius,numquam,4078 +4079,et,id,4079 +4080,sint,quia,4080 +4081,perferendis,et,4081 +4082,perferendis,omnis,4082 +4083,praesentium,in,4083 +4084,quas,corrupti,4084 +4085,sunt,sed,4085 +4086,fuga,illo,4086 +4087,veritatis,vel,4087 +4088,laboriosam,harum,4088 +4089,beatae,commodi,4089 +4090,quisquam,nostrum,4090 +4091,et,placeat,4091 +4092,vitae,unde,4092 +4093,nesciunt,tenetur,4093 +4094,omnis,sint,4094 +4095,facilis,explicabo,4095 +4096,perferendis,magnam,4096 +4097,consectetur,eaque,4097 +4098,cumque,qui,4098 +4099,sit,ut,4099 +4100,non,ea,4100 +4101,est,saepe,4101 +4102,eos,qui,4102 +4103,et,et,4103 +4104,aut,voluptas,4104 +4105,quibusdam,sed,4105 +4106,enim,natus,4106 +4107,voluptate,dolores,4107 +4108,ducimus,omnis,4108 +4109,labore,et,4109 +4110,distinctio,eius,4110 +4111,optio,totam,4111 +4112,nisi,sed,4112 +4113,officiis,expedita,4113 +4114,mollitia,sit,4114 +4115,in,consequatur,4115 +4116,excepturi,nisi,4116 +4117,debitis,dolorem,4117 +4118,natus,doloremque,4118 +4119,assumenda,sit,4119 +4120,laudantium,expedita,4120 +4121,consequatur,voluptatem,4121 +4122,molestias,distinctio,4122 +4123,consequatur,eveniet,4123 +4124,enim,voluptates,4124 +4125,voluptas,quia,4125 +4126,provident,repellat,4126 +4127,id,commodi,4127 +4128,voluptatem,et,4128 +4129,reiciendis,sit,4129 +4130,incidunt,eos,4130 +4131,consequuntur,vero,4131 +4132,explicabo,corporis,4132 +4133,voluptate,voluptatem,4133 +4134,id,ab,4134 +4135,recusandae,nisi,4135 +4136,molestias,at,4136 +4137,fugiat,provident,4137 +4138,tenetur,accusantium,4138 +4139,quis,voluptatem,4139 +4140,hic,quaerat,4140 +4141,illum,earum,4141 +4142,rerum,et,4142 +4143,est,sit,4143 +4144,dolore,corrupti,4144 +4145,nihil,aut,4145 +4146,sint,illum,4146 +4147,sit,distinctio,4147 +4148,laudantium,quo,4148 +4149,et,pariatur,4149 +4150,impedit,quia,4150 +4151,at,debitis,4151 +4152,aut,quas,4152 +4153,nesciunt,soluta,4153 +4154,perspiciatis,et,4154 +4155,est,nostrum,4155 +4156,aliquid,expedita,4156 +4157,qui,tenetur,4157 +4158,distinctio,sint,4158 +4159,tempore,harum,4159 +4160,nulla,laborum,4160 +4161,voluptatem,iusto,4161 +4162,dicta,harum,4162 +4163,molestiae,a,4163 +4164,deserunt,minima,4164 +4165,dolore,animi,4165 +4166,sed,dolores,4166 +4167,aut,aliquid,4167 +4168,eligendi,nostrum,4168 +4169,quia,placeat,4169 +4170,modi,nesciunt,4170 +4171,aut,sed,4171 +4172,in,itaque,4172 +4173,et,amet,4173 +4174,dolores,ex,4174 +4175,modi,reiciendis,4175 +4176,ipsa,dolorem,4176 +4177,non,veritatis,4177 +4178,cum,sunt,4178 +4179,molestias,ut,4179 +4180,nostrum,et,4180 +4181,ab,aut,4181 +4182,nihil,voluptatem,4182 +4183,sequi,optio,4183 +4184,impedit,eum,4184 +4185,ut,aliquid,4185 +4186,ex,mollitia,4186 +4187,reiciendis,tenetur,4187 +4188,rerum,ipsam,4188 +4189,sit,dolor,4189 +4190,quas,aut,4190 +4191,sequi,sit,4191 +4192,consequatur,sequi,4192 +4193,et,minus,4193 +4194,reprehenderit,repellat,4194 +4195,doloremque,est,4195 +4196,qui,modi,4196 +4197,voluptatum,deleniti,4197 +4198,amet,et,4198 +4199,laborum,culpa,4199 +4200,accusamus,nisi,4200 +4201,suscipit,occaecati,4201 +4202,est,laboriosam,4202 +4203,eius,quia,4203 +4204,cupiditate,quasi,4204 +4205,quisquam,dolores,4205 +4206,et,id,4206 +4207,dolorem,et,4207 +4208,unde,ex,4208 +4209,quidem,et,4209 +4210,quibusdam,eligendi,4210 +4211,atque,eligendi,4211 +4212,sed,quam,4212 +4213,dolorem,laudantium,4213 +4214,sit,minima,4214 +4215,saepe,magni,4215 +4216,repudiandae,alias,4216 +4217,sed,qui,4217 +4218,quis,ex,4218 +4219,explicabo,error,4219 +4220,omnis,consectetur,4220 +4221,officiis,magnam,4221 +4222,id,officiis,4222 +4223,porro,enim,4223 +4224,cum,atque,4224 +4225,nobis,asperiores,4225 +4226,minus,repellendus,4226 +4227,et,sint,4227 +4228,id,sint,4228 +4229,ut,enim,4229 +4230,eveniet,tempora,4230 +4231,libero,aut,4231 +4232,assumenda,laudantium,4232 +4233,at,nesciunt,4233 +4234,et,rerum,4234 +4235,asperiores,consequuntur,4235 +4236,soluta,doloribus,4236 +4237,et,et,4237 +4238,natus,rerum,4238 +4239,fugit,occaecati,4239 +4240,dolores,debitis,4240 +4241,numquam,saepe,4241 +4242,et,tenetur,4242 +4243,quod,omnis,4243 +4244,aut,et,4244 +4245,ex,sint,4245 +4246,temporibus,autem,4246 +4247,et,provident,4247 +4248,doloribus,iusto,4248 +4249,ut,facilis,4249 +4250,eum,a,4250 +4251,placeat,et,4251 +4252,rerum,aliquid,4252 +4253,dicta,quibusdam,4253 +4254,explicabo,molestiae,4254 +4255,et,officia,4255 +4256,dolores,provident,4256 +4257,corrupti,aliquid,4257 +4258,consequatur,quia,4258 +4259,itaque,non,4259 +4260,quia,adipisci,4260 +4261,dolorem,dolore,4261 +4262,unde,autem,4262 +4263,vitae,voluptas,4263 +4264,sint,quos,4264 +4265,vel,non,4265 +4266,ullam,corporis,4266 +4267,quam,occaecati,4267 +4268,vel,harum,4268 +4269,sint,quos,4269 +4270,fugit,quia,4270 +4271,qui,illo,4271 +4272,ipsam,deleniti,4272 +4273,omnis,magnam,4273 +4274,delectus,atque,4274 +4275,qui,iste,4275 +4276,voluptates,dolores,4276 +4277,voluptatem,illo,4277 +4278,aspernatur,sapiente,4278 +4279,maiores,fugiat,4279 +4280,qui,molestiae,4280 +4281,consequuntur,ipsum,4281 +4282,quia,modi,4282 +4283,est,eum,4283 +4284,at,aperiam,4284 +4285,culpa,soluta,4285 +4286,nulla,nisi,4286 +4287,quas,accusamus,4287 +4288,provident,id,4288 +4289,rerum,culpa,4289 +4290,autem,odit,4290 +4291,laborum,aspernatur,4291 +4292,unde,tempore,4292 +4293,aut,minus,4293 +4294,quae,eius,4294 +4295,quo,quas,4295 +4296,minus,deserunt,4296 +4297,nisi,et,4297 +4298,consequatur,hic,4298 +4299,earum,et,4299 +4300,vero,consequatur,4300 +4301,libero,et,4301 +4302,est,quia,4302 +4303,suscipit,sed,4303 +4304,rem,qui,4304 +4305,quae,quam,4305 +4306,tempora,eos,4306 +4307,ipsum,iusto,4307 +4308,debitis,qui,4308 +4309,eum,non,4309 +4310,aut,necessitatibus,4310 +4311,occaecati,quo,4311 +4312,atque,quidem,4312 +4313,non,ea,4313 +4314,et,et,4314 +4315,quia,praesentium,4315 +4316,placeat,iusto,4316 +4317,quia,cumque,4317 +4318,laboriosam,nam,4318 +4319,porro,dolorem,4319 +4320,neque,accusantium,4320 +4321,natus,corporis,4321 +4322,non,itaque,4322 +4323,reiciendis,officiis,4323 +4324,ut,ut,4324 +4325,alias,accusamus,4325 +4326,et,nihil,4326 +4327,consectetur,illum,4327 +4328,expedita,ipsa,4328 +4329,repellendus,repellat,4329 +4330,non,maxime,4330 +4331,itaque,ut,4331 +4332,itaque,aut,4332 +4333,velit,at,4333 +4334,quod,harum,4334 +4335,et,aut,4335 +4336,suscipit,et,4336 +4337,omnis,repellat,4337 +4338,est,fugiat,4338 +4339,assumenda,consequatur,4339 +4340,sed,et,4340 +4341,exercitationem,unde,4341 +4342,enim,velit,4342 +4343,sit,iusto,4343 +4344,qui,laudantium,4344 +4345,dolor,voluptas,4345 +4346,cupiditate,et,4346 +4347,et,nisi,4347 +4348,labore,doloribus,4348 +4349,rerum,molestiae,4349 +4350,qui,qui,4350 +4351,ut,minima,4351 +4352,et,dolorem,4352 +4353,sit,ut,4353 +4354,fugiat,veritatis,4354 +4355,inventore,rem,4355 +4356,iure,voluptatem,4356 +4357,illo,sint,4357 +4358,magnam,recusandae,4358 +4359,qui,et,4359 +4360,fuga,a,4360 +4361,voluptates,aliquid,4361 +4362,nihil,similique,4362 +4363,ut,cumque,4363 +4364,corrupti,omnis,4364 +4365,harum,iure,4365 +4366,recusandae,saepe,4366 +4367,sint,magni,4367 +4368,nemo,voluptatem,4368 +4369,enim,necessitatibus,4369 +4370,et,aut,4370 +4371,sapiente,ducimus,4371 +4372,voluptas,cumque,4372 +4373,perspiciatis,neque,4373 +4374,quasi,nobis,4374 +4375,sit,debitis,4375 +4376,rerum,cupiditate,4376 +4377,quas,fuga,4377 +4378,iste,voluptatem,4378 +4379,rerum,voluptas,4379 +4380,temporibus,quis,4380 +4381,minima,ratione,4381 +4382,dolores,eveniet,4382 +4383,reiciendis,dolor,4383 +4384,repudiandae,quas,4384 +4385,beatae,odio,4385 +4386,ut,ad,4386 +4387,autem,doloribus,4387 +4388,dolor,ut,4388 +4389,rem,in,4389 +4390,natus,ut,4390 +4391,amet,enim,4391 +4392,sit,ut,4392 +4393,aut,quia,4393 +4394,id,enim,4394 +4395,tempore,optio,4395 +4396,ut,in,4396 +4397,sed,ratione,4397 +4398,quo,laborum,4398 +4399,suscipit,totam,4399 +4400,ad,dignissimos,4400 +4401,consequatur,et,4401 +4402,laudantium,non,4402 +4403,soluta,atque,4403 +4404,cum,esse,4404 +4405,ad,fuga,4405 +4406,dolor,sint,4406 +4407,et,sunt,4407 +4408,earum,atque,4408 +4409,fugit,exercitationem,4409 +4410,aut,praesentium,4410 +4411,neque,natus,4411 +4412,nemo,ea,4412 +4413,autem,fuga,4413 +4414,autem,fugit,4414 +4415,eaque,vel,4415 +4416,eum,optio,4416 +4417,sit,ut,4417 +4418,ea,earum,4418 +4419,voluptatum,facilis,4419 +4420,sit,ut,4420 +4421,vitae,assumenda,4421 +4422,voluptate,est,4422 +4423,at,sed,4423 +4424,eligendi,libero,4424 +4425,quia,natus,4425 +4426,laudantium,non,4426 +4427,minus,sequi,4427 +4428,facilis,ratione,4428 +4429,quis,quasi,4429 +4430,sunt,porro,4430 +4431,accusantium,magni,4431 +4432,quibusdam,sunt,4432 +4433,cupiditate,quo,4433 +4434,accusamus,nostrum,4434 +4435,praesentium,facilis,4435 +4436,debitis,tempora,4436 +4437,consectetur,ut,4437 +4438,temporibus,saepe,4438 +4439,minus,nobis,4439 +4440,qui,deserunt,4440 +4441,exercitationem,in,4441 +4442,quibusdam,maiores,4442 +4443,odit,ullam,4443 +4444,id,omnis,4444 +4445,suscipit,voluptatem,4445 +4446,perferendis,consequatur,4446 +4447,et,similique,4447 +4448,nemo,ipsum,4448 +4449,vel,occaecati,4449 +4450,ut,ratione,4450 +4451,modi,enim,4451 +4452,esse,placeat,4452 +4453,autem,soluta,4453 +4454,consequatur,perferendis,4454 +4455,qui,rerum,4455 +4456,soluta,quaerat,4456 +4457,sint,id,4457 +4458,aut,dignissimos,4458 +4459,ipsa,facilis,4459 +4460,nulla,numquam,4460 +4461,enim,et,4461 +4462,similique,laudantium,4462 +4463,voluptas,facere,4463 +4464,magni,sed,4464 +4465,temporibus,quia,4465 +4466,aut,esse,4466 +4467,possimus,molestiae,4467 +4468,assumenda,corporis,4468 +4469,minus,sunt,4469 +4470,dolores,dolores,4470 +4471,excepturi,consequuntur,4471 +4472,enim,consectetur,4472 +4473,incidunt,cum,4473 +4474,distinctio,aliquid,4474 +4475,mollitia,sed,4475 +4476,voluptas,et,4476 +4477,provident,ad,4477 +4478,eligendi,quia,4478 +4479,provident,aperiam,4479 +4480,quia,vitae,4480 +4481,nemo,et,4481 +4482,dolor,a,4482 +4483,labore,totam,4483 +4484,eveniet,quod,4484 +4485,id,omnis,4485 +4486,et,esse,4486 +4487,non,quo,4487 +4488,aliquam,accusamus,4488 +4489,qui,eveniet,4489 +4490,consequatur,temporibus,4490 +4491,distinctio,natus,4491 +4492,aliquam,non,4492 +4493,pariatur,minima,4493 +4494,magnam,nihil,4494 +4495,corrupti,voluptas,4495 +4496,eum,voluptas,4496 +4497,sed,dicta,4497 +4498,quis,sequi,4498 +4499,voluptas,exercitationem,4499 +4500,neque,qui,4500 +4501,eum,consequatur,4501 +4502,ut,perferendis,4502 +4503,quaerat,dolorum,4503 +4504,soluta,officiis,4504 +4505,porro,ea,4505 +4506,itaque,laboriosam,4506 +4507,autem,aliquid,4507 +4508,odio,aut,4508 +4509,blanditiis,illum,4509 +4510,non,tempore,4510 +4511,error,itaque,4511 +4512,maxime,et,4512 +4513,eaque,fugiat,4513 +4514,esse,debitis,4514 +4515,sed,aut,4515 +4516,velit,qui,4516 +4517,molestias,inventore,4517 +4518,ipsa,libero,4518 +4519,velit,tempora,4519 +4520,recusandae,error,4520 +4521,qui,eos,4521 +4522,amet,ipsa,4522 +4523,voluptas,neque,4523 +4524,rerum,voluptatem,4524 +4525,enim,laboriosam,4525 +4526,laboriosam,in,4526 +4527,rerum,rerum,4527 +4528,minima,nulla,4528 +4529,earum,labore,4529 +4530,molestiae,non,4530 +4531,et,ipsam,4531 +4532,molestias,eum,4532 +4533,nemo,voluptatem,4533 +4534,similique,consequatur,4534 +4535,omnis,ab,4535 +4536,nisi,aut,4536 +4537,molestias,ipsam,4537 +4538,eligendi,quo,4538 +4539,voluptatem,ut,4539 +4540,ut,sit,4540 +4541,et,possimus,4541 +4542,sint,delectus,4542 +4543,consequatur,aut,4543 +4544,nisi,optio,4544 +4545,nam,sit,4545 +4546,iusto,est,4546 +4547,earum,nostrum,4547 +4548,nihil,quam,4548 +4549,consectetur,dignissimos,4549 +4550,et,et,4550 +4551,quia,corporis,4551 +4552,molestiae,sequi,4552 +4553,voluptas,est,4553 +4554,impedit,dolor,4554 +4555,vel,commodi,4555 +4556,dolores,explicabo,4556 +4557,dolores,amet,4557 +4558,asperiores,culpa,4558 +4559,ullam,necessitatibus,4559 +4560,voluptatem,quam,4560 +4561,asperiores,exercitationem,4561 +4562,et,vel,4562 +4563,omnis,expedita,4563 +4564,doloremque,dignissimos,4564 +4565,recusandae,quia,4565 +4566,tempore,eum,4566 +4567,voluptas,officiis,4567 +4568,impedit,suscipit,4568 +4569,sed,facilis,4569 +4570,aut,aliquam,4570 +4571,eos,omnis,4571 +4572,possimus,rerum,4572 +4573,consequatur,mollitia,4573 +4574,voluptas,tempore,4574 +4575,pariatur,sapiente,4575 +4576,deleniti,veritatis,4576 +4577,sunt,id,4577 +4578,ad,et,4578 +4579,quod,quod,4579 +4580,minus,beatae,4580 +4581,est,aut,4581 +4582,maiores,et,4582 +4583,eius,laboriosam,4583 +4584,consectetur,temporibus,4584 +4585,unde,omnis,4585 +4586,possimus,aut,4586 +4587,quos,animi,4587 +4588,in,quae,4588 +4589,quia,qui,4589 +4590,tempore,possimus,4590 +4591,aliquam,praesentium,4591 +4592,est,non,4592 +4593,minus,fuga,4593 +4594,vel,fuga,4594 +4595,et,enim,4595 +4596,beatae,magni,4596 +4597,nisi,voluptatem,4597 +4598,et,nemo,4598 +4599,qui,minima,4599 +4600,facilis,non,4600 +4601,fugiat,non,4601 +4602,non,sint,4602 +4603,maxime,est,4603 +4604,porro,qui,4604 +4605,unde,modi,4605 +4606,inventore,consectetur,4606 +4607,est,qui,4607 +4608,illum,sit,4608 +4609,illo,ea,4609 +4610,corrupti,est,4610 +4611,et,est,4611 +4612,porro,distinctio,4612 +4613,qui,autem,4613 +4614,sunt,delectus,4614 +4615,similique,quos,4615 +4616,molestiae,nihil,4616 +4617,qui,maxime,4617 +4618,quas,libero,4618 +4619,voluptate,id,4619 +4620,libero,modi,4620 +4621,voluptas,qui,4621 +4622,architecto,minus,4622 +4623,itaque,reiciendis,4623 +4624,rerum,praesentium,4624 +4625,temporibus,est,4625 +4626,blanditiis,est,4626 +4627,accusamus,inventore,4627 +4628,aperiam,voluptatibus,4628 +4629,sunt,minima,4629 +4630,ipsam,id,4630 +4631,aut,pariatur,4631 +4632,at,itaque,4632 +4633,nihil,fugit,4633 +4634,vero,sed,4634 +4635,eaque,non,4635 +4636,assumenda,veritatis,4636 +4637,ipsam,eum,4637 +4638,dolorem,sed,4638 +4639,esse,tempora,4639 +4640,doloremque,odit,4640 +4641,sit,ipsam,4641 +4642,a,qui,4642 +4643,reprehenderit,dolore,4643 +4644,labore,necessitatibus,4644 +4645,velit,quia,4645 +4646,vitae,dignissimos,4646 +4647,incidunt,eaque,4647 +4648,ab,commodi,4648 +4649,perspiciatis,itaque,4649 +4650,ullam,voluptas,4650 +4651,qui,sit,4651 +4652,ducimus,rerum,4652 +4653,voluptas,voluptates,4653 +4654,eos,animi,4654 +4655,assumenda,deleniti,4655 +4656,repellat,sunt,4656 +4657,voluptate,illo,4657 +4658,est,similique,4658 +4659,vel,corporis,4659 +4660,pariatur,dicta,4660 +4661,sapiente,quisquam,4661 +4662,aut,quibusdam,4662 +4663,molestiae,in,4663 +4664,eligendi,ea,4664 +4665,tenetur,corrupti,4665 +4666,itaque,quia,4666 +4667,sed,facere,4667 +4668,occaecati,excepturi,4668 +4669,et,veritatis,4669 +4670,veniam,repudiandae,4670 +4671,itaque,nobis,4671 +4672,iusto,qui,4672 +4673,suscipit,voluptate,4673 +4674,sit,beatae,4674 +4675,commodi,nobis,4675 +4676,qui,voluptas,4676 +4677,enim,fugiat,4677 +4678,quod,dolor,4678 +4679,accusamus,et,4679 +4680,veniam,ut,4680 +4681,necessitatibus,consequatur,4681 +4682,vitae,magni,4682 +4683,velit,odit,4683 +4684,debitis,accusamus,4684 +4685,perferendis,eum,4685 +4686,ipsam,repellat,4686 +4687,hic,voluptatem,4687 +4688,est,rerum,4688 +4689,sequi,sit,4689 +4690,sit,qui,4690 +4691,ullam,animi,4691 +4692,voluptatibus,ipsum,4692 +4693,voluptatem,nam,4693 +4694,aliquam,iste,4694 +4695,ipsam,enim,4695 +4696,neque,reiciendis,4696 +4697,ut,et,4697 +4698,voluptatem,aut,4698 +4699,maiores,accusantium,4699 +4700,pariatur,dolor,4700 +4701,doloribus,voluptatum,4701 +4702,architecto,perspiciatis,4702 +4703,officia,ad,4703 +4704,voluptas,quod,4704 +4705,dolor,esse,4705 +4706,omnis,at,4706 +4707,esse,accusantium,4707 +4708,atque,tempora,4708 +4709,a,dicta,4709 +4710,maiores,et,4710 +4711,sed,rerum,4711 +4712,explicabo,dolorem,4712 +4713,vel,ipsum,4713 +4714,omnis,est,4714 +4715,dolorum,aut,4715 +4716,animi,repellat,4716 +4717,cumque,veniam,4717 +4718,cumque,dolorum,4718 +4719,animi,placeat,4719 +4720,cupiditate,vel,4720 +4721,eius,deleniti,4721 +4722,nostrum,est,4722 +4723,nemo,quam,4723 +4724,odio,doloribus,4724 +4725,odio,reiciendis,4725 +4726,nulla,non,4726 +4727,temporibus,vel,4727 +4728,veritatis,dicta,4728 +4729,maiores,error,4729 +4730,est,officia,4730 +4731,omnis,magnam,4731 +4732,laborum,repellendus,4732 +4733,expedita,est,4733 +4734,aut,quaerat,4734 +4735,ut,quia,4735 +4736,esse,sunt,4736 +4737,accusamus,consequatur,4737 +4738,magnam,eum,4738 +4739,qui,asperiores,4739 +4740,amet,temporibus,4740 +4741,veniam,illo,4741 +4742,culpa,delectus,4742 +4743,occaecati,maiores,4743 +4744,necessitatibus,consequatur,4744 +4745,inventore,ad,4745 +4746,qui,voluptatem,4746 +4747,earum,ipsam,4747 +4748,eveniet,rerum,4748 +4749,minima,error,4749 +4750,aliquam,dicta,4750 +4751,necessitatibus,et,4751 +4752,earum,sed,4752 +4753,veritatis,et,4753 +4754,tempora,rerum,4754 +4755,consequatur,nostrum,4755 +4756,fugiat,officiis,4756 +4757,explicabo,ea,4757 +4758,odio,alias,4758 +4759,nam,distinctio,4759 +4760,et,animi,4760 +4761,est,non,4761 +4762,quae,numquam,4762 +4763,et,velit,4763 +4764,deserunt,ut,4764 +4765,quia,minus,4765 +4766,nihil,voluptas,4766 +4767,nulla,voluptatem,4767 +4768,possimus,quis,4768 +4769,unde,nam,4769 +4770,sed,qui,4770 +4771,omnis,recusandae,4771 +4772,dolorem,id,4772 +4773,laborum,minima,4773 +4774,aut,rem,4774 +4775,dolores,pariatur,4775 +4776,officiis,atque,4776 +4777,quia,esse,4777 +4778,ex,asperiores,4778 +4779,et,magni,4779 +4780,omnis,aut,4780 +4781,sunt,et,4781 +4782,eveniet,minima,4782 +4783,tenetur,ea,4783 +4784,similique,debitis,4784 +4785,aut,sed,4785 +4786,occaecati,unde,4786 +4787,similique,officiis,4787 +4788,possimus,repudiandae,4788 +4789,consequuntur,ducimus,4789 +4790,impedit,consectetur,4790 +4791,sunt,eum,4791 +4792,similique,eaque,4792 +4793,distinctio,ea,4793 +4794,numquam,atque,4794 +4795,dolor,et,4795 +4796,molestias,eos,4796 +4797,distinctio,quidem,4797 +4798,et,similique,4798 +4799,officia,occaecati,4799 +4800,sit,qui,4800 +4801,nam,vero,4801 +4802,dolore,laborum,4802 +4803,dolorum,id,4803 +4804,id,et,4804 +4805,quos,non,4805 +4806,esse,nesciunt,4806 +4807,omnis,maxime,4807 +4808,est,ullam,4808 +4809,praesentium,repellendus,4809 +4810,et,reprehenderit,4810 +4811,hic,veniam,4811 +4812,non,voluptas,4812 +4813,omnis,adipisci,4813 +4814,totam,nihil,4814 +4815,sunt,ut,4815 +4816,numquam,est,4816 +4817,repellat,occaecati,4817 +4818,doloribus,natus,4818 +4819,delectus,sapiente,4819 +4820,minima,nostrum,4820 +4821,molestias,sequi,4821 +4822,eum,odio,4822 +4823,id,aut,4823 +4824,porro,non,4824 +4825,nihil,et,4825 +4826,quisquam,esse,4826 +4827,ea,facilis,4827 +4828,tempora,suscipit,4828 +4829,ut,aspernatur,4829 +4830,unde,quia,4830 +4831,quae,at,4831 +4832,error,voluptas,4832 +4833,aut,eum,4833 +4834,quia,aut,4834 +4835,incidunt,sed,4835 +4836,quasi,qui,4836 +4837,minima,beatae,4837 +4838,perferendis,veniam,4838 +4839,quaerat,cupiditate,4839 +4840,quisquam,quia,4840 +4841,nam,dicta,4841 +4842,et,nam,4842 +4843,perspiciatis,ullam,4843 +4844,aspernatur,dolores,4844 +4845,esse,autem,4845 +4846,sit,minima,4846 +4847,quasi,vitae,4847 +4848,et,non,4848 +4849,pariatur,doloribus,4849 +4850,eum,aperiam,4850 +4851,velit,a,4851 +4852,et,vitae,4852 +4853,aut,culpa,4853 +4854,quaerat,doloribus,4854 +4855,quia,eos,4855 +4856,eligendi,quam,4856 +4857,doloribus,ipsam,4857 +4858,quaerat,nisi,4858 +4859,laudantium,qui,4859 +4860,eum,quisquam,4860 +4861,voluptas,et,4861 +4862,animi,quis,4862 +4863,suscipit,nemo,4863 +4864,ab,cupiditate,4864 +4865,corporis,et,4865 +4866,odit,amet,4866 +4867,sed,qui,4867 +4868,voluptatibus,placeat,4868 +4869,cumque,temporibus,4869 +4870,dolor,quos,4870 +4871,eum,nemo,4871 +4872,inventore,architecto,4872 +4873,molestias,nemo,4873 +4874,incidunt,earum,4874 +4875,consequatur,aut,4875 +4876,ut,non,4876 +4877,facere,aut,4877 +4878,cumque,soluta,4878 +4879,nisi,fugiat,4879 +4880,corporis,perspiciatis,4880 +4881,ut,voluptatem,4881 +4882,reprehenderit,vitae,4882 +4883,et,qui,4883 +4884,fugiat,est,4884 +4885,laudantium,aliquid,4885 +4886,sunt,facilis,4886 +4887,voluptate,ut,4887 +4888,aut,omnis,4888 +4889,aliquam,eos,4889 +4890,maxime,quidem,4890 +4891,sapiente,qui,4891 +4892,inventore,porro,4892 +4893,rerum,labore,4893 +4894,odit,repudiandae,4894 +4895,aut,laudantium,4895 +4896,suscipit,inventore,4896 +4897,ad,ratione,4897 +4898,maiores,esse,4898 +4899,qui,a,4899 +4900,rem,accusantium,4900 +4901,id,est,4901 +4902,dolorem,aperiam,4902 +4903,tempora,vel,4903 +4904,aliquam,aperiam,4904 +4905,omnis,amet,4905 +4906,reiciendis,quam,4906 +4907,ex,eos,4907 +4908,autem,ad,4908 +4909,corrupti,magnam,4909 +4910,cupiditate,aspernatur,4910 +4911,cupiditate,consequatur,4911 +4912,sint,dicta,4912 +4913,fugiat,saepe,4913 +4914,perspiciatis,quia,4914 +4915,aut,expedita,4915 +4916,et,et,4916 +4917,vel,sunt,4917 +4918,iste,illum,4918 +4919,exercitationem,omnis,4919 +4920,quas,voluptatem,4920 +4921,perspiciatis,velit,4921 +4922,iure,quo,4922 +4923,unde,eum,4923 +4924,vero,maiores,4924 +4925,a,quis,4925 +4926,labore,sapiente,4926 +4927,vel,expedita,4927 +4928,qui,qui,4928 +4929,qui,eius,4929 +4930,exercitationem,non,4930 +4931,nam,ut,4931 +4932,qui,nihil,4932 +4933,et,esse,4933 +4934,incidunt,saepe,4934 +4935,et,nihil,4935 +4936,quos,culpa,4936 +4937,repudiandae,quo,4937 +4938,voluptatibus,autem,4938 +4939,dolores,voluptatem,4939 +4940,sed,labore,4940 +4941,quaerat,deserunt,4941 +4942,et,nostrum,4942 +4943,officiis,architecto,4943 +4944,laboriosam,nesciunt,4944 +4945,ducimus,distinctio,4945 +4946,repellendus,saepe,4946 +4947,aut,fugit,4947 +4948,architecto,iste,4948 +4949,porro,illum,4949 +4950,pariatur,qui,4950 +4951,ea,nam,4951 +4952,voluptas,est,4952 +4953,nostrum,error,4953 +4954,delectus,suscipit,4954 +4955,consectetur,error,4955 +4956,repellat,velit,4956 +4957,aliquid,ut,4957 +4958,pariatur,maxime,4958 +4959,ut,ea,4959 +4960,facilis,non,4960 +4961,in,iusto,4961 +4962,ipsa,est,4962 +4963,repellendus,distinctio,4963 +4964,nobis,eos,4964 +4965,laborum,voluptatibus,4965 +4966,tempore,ut,4966 +4967,ea,vel,4967 +4968,consequatur,doloribus,4968 +4969,aliquam,officiis,4969 +4970,ipsum,a,4970 +4971,iusto,soluta,4971 +4972,sunt,facilis,4972 +4973,nobis,veritatis,4973 +4974,qui,minima,4974 +4975,dolorem,sint,4975 +4976,mollitia,tenetur,4976 +4977,aut,atque,4977 +4978,ducimus,optio,4978 +4979,ipsa,voluptas,4979 +4980,blanditiis,voluptatem,4980 +4981,error,porro,4981 +4982,sequi,nam,4982 +4983,omnis,possimus,4983 +4984,sit,inventore,4984 +4985,quisquam,suscipit,4985 +4986,voluptatum,id,4986 +4987,voluptatibus,dolores,4987 +4988,nesciunt,et,4988 +4989,fuga,quos,4989 +4990,sed,veniam,4990 +4991,est,maiores,4991 +4992,ut,autem,4992 +4993,quia,voluptatem,4993 +4994,et,dolores,4994 +4995,nisi,voluptatibus,4995 +4996,quae,nostrum,4996 +4997,accusantium,animi,4997 +4998,animi,veniam,4998 +4999,velit,sed,4999 +5000,reprehenderit,eos,5000 diff --git a/Java-Executor/java-executor-tutorial/data/customer-data.txt b/Java-Executor/java-executor-tutorial/data/customer-data.txt new file mode 100644 index 0000000..d36e8c7 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/data/customer-data.txt @@ -0,0 +1,5000 @@ +1,omnis,adipisci,1 +2,ullam,ratione,2 +3,iusto,laborum,3 +4,animi,porro,4 +5,est,quod,5 +6,nemo,consequatur,6 +7,inventore,harum,7 +8,quidem,sed,8 +9,nostrum,distinctio,9 +10,est,sint,10 +11,fugiat,facilis,11 +12,architecto,molestiae,12 +13,qui,perspiciatis,13 +14,rerum,omnis,14 +15,rerum,quia,15 +16,non,sunt,16 +17,beatae,illo,17 +18,modi,quia,18 +19,aut,harum,19 +20,ratione,est,20 +21,molestias,aliquid,21 +22,autem,qui,22 +23,consectetur,eos,23 +24,omnis,dolorem,24 +25,consequatur,nam,25 +26,quis,suscipit,26 +27,nihil,et,27 +28,rerum,qui,28 +29,occaecati,eligendi,29 +30,exercitationem,voluptas,30 +31,suscipit,quibusdam,31 +32,blanditiis,qui,32 +33,quo,reiciendis,33 +34,quo,nesciunt,34 +35,aut,aut,35 +36,harum,est,36 +37,voluptas,est,37 +38,beatae,animi,38 +39,aut,a,39 +40,ut,sint,40 +41,voluptatem,non,41 +42,et,in,42 +43,officiis,rerum,43 +44,doloremque,in,44 +45,officiis,corporis,45 +46,sed,quia,46 +47,consequatur,qui,47 +48,quia,voluptates,48 +49,minima,omnis,49 +50,quasi,qui,50 +51,suscipit,incidunt,51 +52,ad,doloribus,52 +53,voluptate,accusantium,53 +54,praesentium,eveniet,54 +55,accusamus,at,55 +56,nihil,sed,56 +57,qui,iusto,57 +58,consequuntur,dolores,58 +59,occaecati,reprehenderit,59 +60,totam,quia,60 +61,qui,facilis,61 +62,quia,delectus,62 +63,sit,ab,63 +64,quo,iure,64 +65,rem,quis,65 +66,unde,sint,66 +67,nulla,eligendi,67 +68,in,itaque,68 +69,et,sed,69 +70,ullam,quia,70 +71,dolores,similique,71 +72,praesentium,reprehenderit,72 +73,officiis,occaecati,73 +74,eos,enim,74 +75,odit,aliquam,75 +76,modi,et,76 +77,architecto,non,77 +78,hic,dolor,78 +79,rerum,rerum,79 +80,nihil,laudantium,80 +81,quidem,beatae,81 +82,sint,repellendus,82 +83,nobis,aut,83 +84,ut,beatae,84 +85,molestiae,at,85 +86,dolor,voluptatem,86 +87,voluptates,aut,87 +88,fuga,laborum,88 +89,voluptas,dicta,89 +90,cum,temporibus,90 +91,nesciunt,rerum,91 +92,est,tempora,92 +93,ratione,ducimus,93 +94,eum,aut,94 +95,neque,quae,95 +96,dolore,sunt,96 +97,voluptas,quibusdam,97 +98,omnis,temporibus,98 +99,ipsa,delectus,99 +100,non,illum,100 +101,consequuntur,et,101 +102,non,eum,102 +103,enim,unde,103 +104,itaque,provident,104 +105,quod,nesciunt,105 +106,sed,non,106 +107,commodi,qui,107 +108,odio,soluta,108 +109,inventore,assumenda,109 +110,officia,in,110 +111,quis,dolorem,111 +112,harum,sed,112 +113,autem,reprehenderit,113 +114,consequatur,aut,114 +115,ab,sed,115 +116,porro,aut,116 +117,ut,ratione,117 +118,asperiores,dicta,118 +119,illum,enim,119 +120,possimus,quae,120 +121,quidem,repudiandae,121 +122,porro,quis,122 +123,molestiae,et,123 +124,cupiditate,pariatur,124 +125,nemo,quos,125 +126,praesentium,aut,126 +127,vel,illo,127 +128,molestias,cupiditate,128 +129,quis,sequi,129 +130,autem,nesciunt,130 +131,non,voluptas,131 +132,architecto,odit,132 +133,eum,pariatur,133 +134,necessitatibus,reprehenderit,134 +135,ea,eos,135 +136,omnis,sed,136 +137,nostrum,tempore,137 +138,doloremque,placeat,138 +139,alias,dolorem,139 +140,recusandae,et,140 +141,earum,perspiciatis,141 +142,est,magnam,142 +143,deleniti,magnam,143 +144,aut,numquam,144 +145,rerum,nemo,145 +146,delectus,mollitia,146 +147,alias,porro,147 +148,occaecati,mollitia,148 +149,recusandae,quisquam,149 +150,molestias,laborum,150 +151,tenetur,amet,151 +152,consequatur,ipsum,152 +153,minima,rerum,153 +154,natus,ullam,154 +155,ex,est,155 +156,dignissimos,voluptatem,156 +157,et,doloribus,157 +158,adipisci,dolor,158 +159,qui,optio,159 +160,veniam,soluta,160 +161,saepe,nobis,161 +162,facere,voluptas,162 +163,accusantium,ea,163 +164,reiciendis,porro,164 +165,quos,libero,165 +166,facere,debitis,166 +167,ab,accusamus,167 +168,beatae,suscipit,168 +169,atque,atque,169 +170,quod,ipsa,170 +171,hic,aut,171 +172,quas,delectus,172 +173,illum,vel,173 +174,odit,quia,174 +175,et,eum,175 +176,sunt,ipsa,176 +177,atque,voluptate,177 +178,autem,porro,178 +179,quis,nostrum,179 +180,natus,sint,180 +181,corrupti,sed,181 +182,exercitationem,dolorum,182 +183,et,dolores,183 +184,nisi,esse,184 +185,accusamus,ut,185 +186,quae,ratione,186 +187,tempora,ut,187 +188,et,magnam,188 +189,doloremque,et,189 +190,vel,sit,190 +191,tempora,dolore,191 +192,tempore,suscipit,192 +193,exercitationem,alias,193 +194,magnam,similique,194 +195,ipsum,velit,195 +196,eos,consequatur,196 +197,vel,esse,197 +198,sed,placeat,198 +199,at,omnis,199 +200,amet,veritatis,200 +201,quod,cupiditate,201 +202,non,quo,202 +203,corporis,dignissimos,203 +204,autem,quis,204 +205,repellat,aut,205 +206,rerum,aut,206 +207,reiciendis,quia,207 +208,et,eligendi,208 +209,id,quia,209 +210,repudiandae,dolores,210 +211,fugit,similique,211 +212,placeat,iste,212 +213,delectus,commodi,213 +214,et,illum,214 +215,totam,in,215 +216,iure,qui,216 +217,dicta,voluptas,217 +218,qui,expedita,218 +219,facilis,ut,219 +220,omnis,consequatur,220 +221,praesentium,ea,221 +222,repellendus,rerum,222 +223,odit,voluptatum,223 +224,maiores,voluptas,224 +225,quo,ut,225 +226,voluptas,impedit,226 +227,explicabo,dolorem,227 +228,tempora,quidem,228 +229,id,a,229 +230,qui,suscipit,230 +231,officiis,omnis,231 +232,ipsam,odit,232 +233,totam,omnis,233 +234,molestiae,in,234 +235,blanditiis,dolorem,235 +236,a,pariatur,236 +237,doloribus,impedit,237 +238,non,ullam,238 +239,quis,error,239 +240,sapiente,omnis,240 +241,molestias,sit,241 +242,dolores,natus,242 +243,recusandae,cumque,243 +244,odit,est,244 +245,sed,voluptas,245 +246,molestiae,et,246 +247,molestiae,vero,247 +248,quo,laudantium,248 +249,similique,cum,249 +250,dolor,modi,250 +251,voluptas,officia,251 +252,amet,eum,252 +253,impedit,est,253 +254,culpa,eveniet,254 +255,quia,occaecati,255 +256,perferendis,animi,256 +257,ut,et,257 +258,atque,et,258 +259,et,voluptatum,259 +260,reprehenderit,unde,260 +261,facilis,qui,261 +262,sequi,hic,262 +263,natus,molestias,263 +264,et,blanditiis,264 +265,sed,dolor,265 +266,et,sint,266 +267,illo,consequuntur,267 +268,totam,eos,268 +269,magnam,ea,269 +270,facere,ut,270 +271,accusantium,et,271 +272,temporibus,rem,272 +273,debitis,rerum,273 +274,et,facilis,274 +275,quia,quia,275 +276,voluptatem,eum,276 +277,exercitationem,alias,277 +278,ullam,quod,278 +279,iusto,quis,279 +280,quis,quo,280 +281,fuga,modi,281 +282,placeat,fugiat,282 +283,quidem,sunt,283 +284,ut,veritatis,284 +285,nihil,et,285 +286,qui,enim,286 +287,et,sint,287 +288,repellat,dolorem,288 +289,quia,aut,289 +290,magnam,doloremque,290 +291,accusamus,explicabo,291 +292,aut,dolor,292 +293,harum,exercitationem,293 +294,earum,sed,294 +295,repellat,vel,295 +296,laudantium,molestiae,296 +297,deserunt,omnis,297 +298,nesciunt,dolor,298 +299,repudiandae,corrupti,299 +300,nesciunt,est,300 +301,delectus,voluptas,301 +302,ut,cum,302 +303,et,rem,303 +304,doloremque,illo,304 +305,dignissimos,omnis,305 +306,nisi,in,306 +307,facilis,quo,307 +308,enim,est,308 +309,veritatis,veniam,309 +310,modi,dolore,310 +311,amet,quasi,311 +312,quibusdam,et,312 +313,nulla,occaecati,313 +314,eum,doloribus,314 +315,doloribus,labore,315 +316,numquam,repudiandae,316 +317,porro,nobis,317 +318,quia,rem,318 +319,sit,eum,319 +320,aliquid,consequatur,320 +321,officia,qui,321 +322,consequuntur,itaque,322 +323,et,vel,323 +324,ea,et,324 +325,omnis,voluptatum,325 +326,quia,id,326 +327,quos,et,327 +328,nobis,ut,328 +329,voluptas,unde,329 +330,et,voluptate,330 +331,ratione,dolor,331 +332,sed,ducimus,332 +333,dolorem,nostrum,333 +334,sint,laboriosam,334 +335,aspernatur,at,335 +336,officia,sed,336 +337,et,molestias,337 +338,facilis,ad,338 +339,et,neque,339 +340,quas,provident,340 +341,animi,quos,341 +342,tenetur,repellat,342 +343,dolores,esse,343 +344,porro,dolorem,344 +345,voluptatum,minima,345 +346,reprehenderit,voluptatem,346 +347,et,ut,347 +348,id,et,348 +349,aliquid,animi,349 +350,odio,minima,350 +351,cum,quae,351 +352,adipisci,eligendi,352 +353,qui,modi,353 +354,autem,vel,354 +355,temporibus,recusandae,355 +356,aut,assumenda,356 +357,et,consequuntur,357 +358,quas,molestias,358 +359,voluptates,dolores,359 +360,deserunt,ut,360 +361,est,incidunt,361 +362,accusamus,sed,362 +363,ut,commodi,363 +364,qui,vitae,364 +365,rerum,beatae,365 +366,perspiciatis,ipsa,366 +367,dolorem,esse,367 +368,asperiores,aut,368 +369,unde,saepe,369 +370,qui,labore,370 +371,natus,corporis,371 +372,ipsum,consequatur,372 +373,est,quos,373 +374,mollitia,aperiam,374 +375,non,dolorum,375 +376,tenetur,est,376 +377,aut,ut,377 +378,aut,neque,378 +379,accusantium,ex,379 +380,vel,impedit,380 +381,blanditiis,ea,381 +382,sint,debitis,382 +383,earum,velit,383 +384,et,tenetur,384 +385,omnis,ipsa,385 +386,magnam,ipsum,386 +387,sint,ipsam,387 +388,sit,aut,388 +389,aliquam,consequuntur,389 +390,ut,hic,390 +391,dolorem,nihil,391 +392,minima,sint,392 +393,soluta,rerum,393 +394,adipisci,perspiciatis,394 +395,et,qui,395 +396,in,voluptas,396 +397,est,nobis,397 +398,dolore,eum,398 +399,veniam,dolores,399 +400,et,eos,400 +401,earum,dolorem,401 +402,repellendus,id,402 +403,dolor,esse,403 +404,inventore,doloremque,404 +405,quas,soluta,405 +406,fuga,consectetur,406 +407,dignissimos,in,407 +408,consectetur,dolores,408 +409,non,autem,409 +410,modi,cumque,410 +411,cum,totam,411 +412,quam,ipsam,412 +413,ipsum,soluta,413 +414,expedita,consectetur,414 +415,quo,voluptatibus,415 +416,autem,quas,416 +417,et,cum,417 +418,unde,et,418 +419,alias,perferendis,419 +420,qui,praesentium,420 +421,vel,dolor,421 +422,provident,pariatur,422 +423,est,omnis,423 +424,quaerat,adipisci,424 +425,quo,beatae,425 +426,dolor,omnis,426 +427,aut,velit,427 +428,possimus,animi,428 +429,quis,maiores,429 +430,libero,et,430 +431,in,quis,431 +432,id,dignissimos,432 +433,officiis,similique,433 +434,asperiores,est,434 +435,et,nulla,435 +436,autem,veritatis,436 +437,et,eum,437 +438,et,at,438 +439,ipsam,sed,439 +440,quis,aut,440 +441,est,non,441 +442,exercitationem,corrupti,442 +443,repellendus,et,443 +444,deserunt,quibusdam,444 +445,est,sit,445 +446,veritatis,ab,446 +447,impedit,illum,447 +448,eos,aut,448 +449,atque,sequi,449 +450,eaque,cum,450 +451,aut,minima,451 +452,nostrum,animi,452 +453,quos,dignissimos,453 +454,perspiciatis,nostrum,454 +455,in,dolor,455 +456,aut,aperiam,456 +457,quia,autem,457 +458,non,reprehenderit,458 +459,nisi,minus,459 +460,libero,ratione,460 +461,dicta,sequi,461 +462,dolorum,enim,462 +463,dicta,quia,463 +464,non,itaque,464 +465,eum,accusantium,465 +466,ut,atque,466 +467,quibusdam,sit,467 +468,quidem,quo,468 +469,animi,et,469 +470,mollitia,commodi,470 +471,repudiandae,tempore,471 +472,non,exercitationem,472 +473,cum,quia,473 +474,sed,reprehenderit,474 +475,ducimus,sunt,475 +476,dignissimos,neque,476 +477,doloribus,eos,477 +478,perferendis,itaque,478 +479,sit,blanditiis,479 +480,earum,repellendus,480 +481,aut,et,481 +482,qui,assumenda,482 +483,ut,sunt,483 +484,aut,id,484 +485,ut,qui,485 +486,provident,quas,486 +487,blanditiis,laudantium,487 +488,sit,fugit,488 +489,quo,molestias,489 +490,modi,suscipit,490 +491,ut,et,491 +492,corrupti,cumque,492 +493,neque,dolorem,493 +494,quod,est,494 +495,aut,ut,495 +496,rerum,impedit,496 +497,saepe,odio,497 +498,nihil,enim,498 +499,molestias,provident,499 +500,neque,maxime,500 +501,quisquam,possimus,501 +502,at,ut,502 +503,sed,esse,503 +504,ullam,dolorem,504 +505,nobis,quia,505 +506,quidem,incidunt,506 +507,harum,non,507 +508,voluptate,qui,508 +509,quod,expedita,509 +510,dolorum,qui,510 +511,neque,optio,511 +512,et,eos,512 +513,voluptatem,dolorum,513 +514,blanditiis,totam,514 +515,et,amet,515 +516,assumenda,repudiandae,516 +517,sit,ex,517 +518,id,omnis,518 +519,a,est,519 +520,deleniti,optio,520 +521,nemo,rerum,521 +522,minima,quae,522 +523,quis,mollitia,523 +524,a,doloremque,524 +525,tempora,consectetur,525 +526,tempora,incidunt,526 +527,aspernatur,facilis,527 +528,consequatur,numquam,528 +529,ipsam,qui,529 +530,pariatur,aperiam,530 +531,laudantium,aliquam,531 +532,qui,voluptas,532 +533,et,optio,533 +534,officia,sapiente,534 +535,corporis,quae,535 +536,quia,nobis,536 +537,magni,cum,537 +538,eos,vel,538 +539,possimus,necessitatibus,539 +540,qui,modi,540 +541,in,necessitatibus,541 +542,velit,iusto,542 +543,ipsa,excepturi,543 +544,quisquam,rem,544 +545,sunt,voluptatem,545 +546,nesciunt,nulla,546 +547,aut,reprehenderit,547 +548,ut,modi,548 +549,natus,officiis,549 +550,ducimus,aut,550 +551,id,nihil,551 +552,error,ducimus,552 +553,vel,rerum,553 +554,dolorum,distinctio,554 +555,dolorum,officia,555 +556,voluptas,expedita,556 +557,non,et,557 +558,porro,voluptas,558 +559,omnis,sit,559 +560,hic,rerum,560 +561,rerum,voluptas,561 +562,vel,aliquam,562 +563,delectus,inventore,563 +564,consequatur,commodi,564 +565,est,ex,565 +566,et,sed,566 +567,qui,quo,567 +568,voluptas,aut,568 +569,enim,similique,569 +570,qui,eos,570 +571,ut,repudiandae,571 +572,sint,dignissimos,572 +573,ea,est,573 +574,asperiores,voluptatem,574 +575,dolores,ut,575 +576,excepturi,molestiae,576 +577,tempora,et,577 +578,expedita,nulla,578 +579,odio,at,579 +580,perferendis,enim,580 +581,nisi,at,581 +582,earum,ex,582 +583,omnis,voluptate,583 +584,molestiae,rerum,584 +585,consequuntur,odio,585 +586,odio,nulla,586 +587,dolorem,autem,587 +588,necessitatibus,et,588 +589,et,consequatur,589 +590,dignissimos,nemo,590 +591,culpa,quia,591 +592,voluptatem,aspernatur,592 +593,quo,saepe,593 +594,vel,quod,594 +595,temporibus,dolor,595 +596,eum,aliquid,596 +597,enim,omnis,597 +598,omnis,veritatis,598 +599,quo,quae,599 +600,ex,ullam,600 +601,sed,atque,601 +602,esse,sit,602 +603,eligendi,non,603 +604,inventore,esse,604 +605,non,omnis,605 +606,error,nostrum,606 +607,porro,modi,607 +608,omnis,quia,608 +609,omnis,unde,609 +610,minus,eveniet,610 +611,pariatur,a,611 +612,a,recusandae,612 +613,tempora,nulla,613 +614,corporis,velit,614 +615,et,molestiae,615 +616,in,temporibus,616 +617,qui,placeat,617 +618,est,quia,618 +619,consequatur,sequi,619 +620,non,et,620 +621,animi,a,621 +622,quidem,molestiae,622 +623,deleniti,harum,623 +624,nemo,nam,624 +625,et,quos,625 +626,blanditiis,alias,626 +627,rem,optio,627 +628,similique,unde,628 +629,iusto,odit,629 +630,architecto,rem,630 +631,veniam,pariatur,631 +632,debitis,quis,632 +633,odit,nobis,633 +634,consequatur,ipsum,634 +635,neque,ad,635 +636,doloribus,sint,636 +637,beatae,reiciendis,637 +638,quos,sit,638 +639,vero,eos,639 +640,excepturi,autem,640 +641,est,omnis,641 +642,nobis,voluptatibus,642 +643,consectetur,eum,643 +644,ab,sed,644 +645,ea,in,645 +646,corporis,sapiente,646 +647,tempora,recusandae,647 +648,expedita,itaque,648 +649,quis,exercitationem,649 +650,ut,est,650 +651,eum,quo,651 +652,qui,odit,652 +653,velit,et,653 +654,modi,minus,654 +655,quisquam,quos,655 +656,ut,molestiae,656 +657,consequatur,occaecati,657 +658,architecto,aut,658 +659,impedit,error,659 +660,voluptatem,aliquid,660 +661,perspiciatis,unde,661 +662,corrupti,aut,662 +663,voluptatem,eaque,663 +664,ut,facilis,664 +665,perspiciatis,similique,665 +666,aut,sed,666 +667,ea,ut,667 +668,magnam,quia,668 +669,eius,et,669 +670,ad,rerum,670 +671,sunt,ut,671 +672,ab,nemo,672 +673,voluptatem,dolores,673 +674,unde,saepe,674 +675,blanditiis,quibusdam,675 +676,alias,est,676 +677,eum,consequatur,677 +678,aut,velit,678 +679,repellendus,architecto,679 +680,voluptas,corrupti,680 +681,quod,maiores,681 +682,sit,et,682 +683,odit,harum,683 +684,molestiae,ex,684 +685,modi,ut,685 +686,non,asperiores,686 +687,officiis,odio,687 +688,repudiandae,iure,688 +689,aliquid,quaerat,689 +690,cumque,rerum,690 +691,facilis,sed,691 +692,ipsam,nobis,692 +693,dolor,mollitia,693 +694,soluta,necessitatibus,694 +695,voluptatibus,possimus,695 +696,non,doloremque,696 +697,sed,odio,697 +698,incidunt,fugiat,698 +699,ducimus,quis,699 +700,et,consequatur,700 +701,unde,non,701 +702,placeat,ratione,702 +703,vel,odio,703 +704,qui,tenetur,704 +705,id,similique,705 +706,voluptatem,facilis,706 +707,fuga,a,707 +708,ex,deserunt,708 +709,mollitia,laborum,709 +710,natus,quibusdam,710 +711,beatae,et,711 +712,voluptatem,non,712 +713,vel,laboriosam,713 +714,suscipit,distinctio,714 +715,et,rerum,715 +716,debitis,facere,716 +717,voluptatibus,id,717 +718,voluptatum,vitae,718 +719,velit,odio,719 +720,aspernatur,est,720 +721,laudantium,id,721 +722,esse,et,722 +723,saepe,debitis,723 +724,esse,explicabo,724 +725,ut,dolore,725 +726,excepturi,quia,726 +727,voluptas,ut,727 +728,voluptas,debitis,728 +729,dolor,consectetur,729 +730,sapiente,ut,730 +731,alias,in,731 +732,dolorem,at,732 +733,laborum,sed,733 +734,voluptatibus,non,734 +735,minus,soluta,735 +736,dolores,vero,736 +737,nihil,aut,737 +738,facilis,adipisci,738 +739,qui,voluptatem,739 +740,autem,aut,740 +741,voluptatem,atque,741 +742,voluptatibus,aspernatur,742 +743,repellendus,dolorem,743 +744,voluptatum,fugit,744 +745,quod,ut,745 +746,reprehenderit,quo,746 +747,totam,ut,747 +748,ex,quisquam,748 +749,reprehenderit,blanditiis,749 +750,sed,labore,750 +751,ut,est,751 +752,repellendus,nam,752 +753,quia,voluptas,753 +754,sit,a,754 +755,perferendis,nostrum,755 +756,nihil,fuga,756 +757,doloribus,et,757 +758,ipsam,velit,758 +759,rem,veniam,759 +760,fuga,possimus,760 +761,incidunt,sint,761 +762,vero,rerum,762 +763,ad,assumenda,763 +764,praesentium,exercitationem,764 +765,ut,reprehenderit,765 +766,id,quia,766 +767,doloribus,iure,767 +768,deleniti,quia,768 +769,pariatur,sit,769 +770,molestias,unde,770 +771,sint,enim,771 +772,amet,beatae,772 +773,commodi,dolores,773 +774,omnis,consectetur,774 +775,dignissimos,perspiciatis,775 +776,deserunt,aut,776 +777,doloremque,ipsam,777 +778,aut,et,778 +779,a,quibusdam,779 +780,vero,quasi,780 +781,et,officia,781 +782,accusamus,et,782 +783,explicabo,voluptas,783 +784,autem,fugit,784 +785,non,cumque,785 +786,et,est,786 +787,laborum,facere,787 +788,et,facilis,788 +789,consequatur,aut,789 +790,voluptas,quisquam,790 +791,tempore,veritatis,791 +792,quos,deserunt,792 +793,modi,accusantium,793 +794,pariatur,ea,794 +795,ducimus,voluptas,795 +796,sed,et,796 +797,nostrum,nemo,797 +798,enim,vel,798 +799,eum,cupiditate,799 +800,et,ab,800 +801,aut,amet,801 +802,et,non,802 +803,eaque,blanditiis,803 +804,veniam,dolorum,804 +805,dolorum,necessitatibus,805 +806,delectus,sit,806 +807,et,nisi,807 +808,quasi,architecto,808 +809,ut,nisi,809 +810,minima,a,810 +811,quam,soluta,811 +812,ratione,rerum,812 +813,fugit,iure,813 +814,temporibus,distinctio,814 +815,quas,ea,815 +816,mollitia,harum,816 +817,temporibus,quis,817 +818,consequatur,ea,818 +819,beatae,laudantium,819 +820,adipisci,vero,820 +821,eum,consequuntur,821 +822,voluptatibus,perspiciatis,822 +823,quisquam,excepturi,823 +824,sequi,quia,824 +825,et,sequi,825 +826,ab,iste,826 +827,fugit,explicabo,827 +828,voluptatem,rerum,828 +829,aut,illum,829 +830,voluptas,consectetur,830 +831,omnis,sed,831 +832,est,asperiores,832 +833,sapiente,ipsum,833 +834,quam,eum,834 +835,ex,provident,835 +836,temporibus,dolorem,836 +837,labore,explicabo,837 +838,quas,nobis,838 +839,doloremque,sed,839 +840,consequatur,et,840 +841,et,distinctio,841 +842,sit,consectetur,842 +843,dolores,fugiat,843 +844,et,delectus,844 +845,sint,voluptatem,845 +846,voluptates,quod,846 +847,eos,iure,847 +848,blanditiis,vitae,848 +849,a,aut,849 +850,molestiae,incidunt,850 +851,maiores,corporis,851 +852,numquam,maiores,852 +853,dicta,quis,853 +854,porro,non,854 +855,corrupti,ut,855 +856,non,ducimus,856 +857,aliquam,autem,857 +858,non,exercitationem,858 +859,praesentium,dolorem,859 +860,possimus,provident,860 +861,rem,fuga,861 +862,ut,cupiditate,862 +863,ut,est,863 +864,voluptas,eius,864 +865,quia,labore,865 +866,voluptatem,officia,866 +867,alias,enim,867 +868,qui,adipisci,868 +869,molestiae,recusandae,869 +870,unde,dolorem,870 +871,cumque,est,871 +872,consequuntur,expedita,872 +873,autem,commodi,873 +874,dolorum,doloremque,874 +875,quos,animi,875 +876,qui,quos,876 +877,sunt,expedita,877 +878,voluptas,voluptatum,878 +879,magni,aut,879 +880,aspernatur,assumenda,880 +881,est,et,881 +882,ab,eius,882 +883,iusto,saepe,883 +884,asperiores,beatae,884 +885,nulla,et,885 +886,perferendis,labore,886 +887,laboriosam,sunt,887 +888,architecto,beatae,888 +889,aliquid,cumque,889 +890,libero,doloremque,890 +891,esse,et,891 +892,dolore,ipsa,892 +893,sint,ab,893 +894,ut,eos,894 +895,cumque,optio,895 +896,voluptatem,non,896 +897,velit,delectus,897 +898,beatae,temporibus,898 +899,sit,labore,899 +900,aut,et,900 +901,ipsam,ut,901 +902,et,in,902 +903,dolorem,dolorem,903 +904,ipsa,quidem,904 +905,ex,fugiat,905 +906,suscipit,quibusdam,906 +907,magni,aliquid,907 +908,itaque,laborum,908 +909,molestiae,id,909 +910,molestias,tempore,910 +911,ipsum,sed,911 +912,aut,possimus,912 +913,error,architecto,913 +914,eos,excepturi,914 +915,sed,ad,915 +916,blanditiis,sit,916 +917,odio,ipsam,917 +918,repellendus,sit,918 +919,ut,amet,919 +920,asperiores,incidunt,920 +921,voluptatem,dolore,921 +922,aspernatur,sed,922 +923,facere,et,923 +924,rerum,provident,924 +925,quos,eius,925 +926,voluptates,nisi,926 +927,aut,aut,927 +928,dolorem,sit,928 +929,et,qui,929 +930,temporibus,qui,930 +931,unde,labore,931 +932,nulla,beatae,932 +933,totam,velit,933 +934,blanditiis,et,934 +935,fugiat,exercitationem,935 +936,tempore,inventore,936 +937,molestiae,sed,937 +938,ipsum,delectus,938 +939,officiis,consectetur,939 +940,iusto,omnis,940 +941,enim,iure,941 +942,a,atque,942 +943,doloribus,impedit,943 +944,aut,velit,944 +945,dolore,amet,945 +946,qui,tempora,946 +947,sed,asperiores,947 +948,vitae,a,948 +949,corporis,omnis,949 +950,quos,nobis,950 +951,qui,quia,951 +952,architecto,doloremque,952 +953,dicta,ut,953 +954,accusantium,deleniti,954 +955,numquam,consequuntur,955 +956,cum,repellat,956 +957,fuga,tempore,957 +958,est,ut,958 +959,ipsum,in,959 +960,veniam,accusamus,960 +961,iusto,necessitatibus,961 +962,placeat,dolore,962 +963,dicta,atque,963 +964,fuga,quibusdam,964 +965,et,aut,965 +966,minus,autem,966 +967,minus,est,967 +968,odit,perspiciatis,968 +969,nam,dolorem,969 +970,qui,magnam,970 +971,qui,eos,971 +972,voluptas,molestias,972 +973,sed,odit,973 +974,et,tempora,974 +975,quo,placeat,975 +976,accusamus,ipsum,976 +977,rerum,consequatur,977 +978,et,dolor,978 +979,debitis,commodi,979 +980,qui,architecto,980 +981,repudiandae,ullam,981 +982,temporibus,magnam,982 +983,illum,aliquam,983 +984,inventore,ex,984 +985,corrupti,porro,985 +986,odit,magni,986 +987,facere,quasi,987 +988,sapiente,dignissimos,988 +989,temporibus,eum,989 +990,maiores,quo,990 +991,voluptatem,et,991 +992,expedita,quo,992 +993,nostrum,eum,993 +994,in,ut,994 +995,libero,quam,995 +996,eos,deleniti,996 +997,molestiae,nesciunt,997 +998,quisquam,voluptas,998 +999,laudantium,tempora,999 +1000,similique,sequi,1000 +1001,eius,neque,1001 +1002,deleniti,iste,1002 +1003,velit,nisi,1003 +1004,repellendus,quia,1004 +1005,est,aut,1005 +1006,voluptatem,et,1006 +1007,laudantium,consequatur,1007 +1008,atque,doloribus,1008 +1009,saepe,ullam,1009 +1010,cumque,optio,1010 +1011,molestias,beatae,1011 +1012,nihil,facilis,1012 +1013,corporis,consequatur,1013 +1014,atque,reprehenderit,1014 +1015,vero,aliquam,1015 +1016,eos,cupiditate,1016 +1017,autem,adipisci,1017 +1018,qui,fugit,1018 +1019,dolore,unde,1019 +1020,tempore,rerum,1020 +1021,et,iste,1021 +1022,eum,et,1022 +1023,quasi,placeat,1023 +1024,ullam,ipsam,1024 +1025,saepe,tempora,1025 +1026,velit,ut,1026 +1027,qui,delectus,1027 +1028,deserunt,aperiam,1028 +1029,quam,tempora,1029 +1030,reiciendis,id,1030 +1031,nihil,repellendus,1031 +1032,vel,aut,1032 +1033,pariatur,eum,1033 +1034,quidem,quos,1034 +1035,omnis,consequatur,1035 +1036,qui,aut,1036 +1037,esse,id,1037 +1038,rerum,possimus,1038 +1039,ut,molestiae,1039 +1040,rem,occaecati,1040 +1041,odit,eligendi,1041 +1042,ut,nobis,1042 +1043,inventore,similique,1043 +1044,sed,cum,1044 +1045,eligendi,facilis,1045 +1046,id,quidem,1046 +1047,placeat,id,1047 +1048,voluptas,rem,1048 +1049,sit,sed,1049 +1050,aspernatur,at,1050 +1051,beatae,fugiat,1051 +1052,reprehenderit,omnis,1052 +1053,ipsam,aperiam,1053 +1054,veniam,iusto,1054 +1055,harum,et,1055 +1056,inventore,sequi,1056 +1057,nesciunt,atque,1057 +1058,facere,et,1058 +1059,dolores,et,1059 +1060,perferendis,amet,1060 +1061,consequatur,sunt,1061 +1062,non,tempore,1062 +1063,error,eum,1063 +1064,sit,omnis,1064 +1065,sit,sit,1065 +1066,maiores,possimus,1066 +1067,quasi,autem,1067 +1068,repudiandae,similique,1068 +1069,tempora,non,1069 +1070,neque,assumenda,1070 +1071,rerum,itaque,1071 +1072,sunt,error,1072 +1073,veritatis,officia,1073 +1074,culpa,cum,1074 +1075,soluta,fugit,1075 +1076,voluptates,culpa,1076 +1077,dolorum,doloremque,1077 +1078,explicabo,qui,1078 +1079,a,magni,1079 +1080,aut,molestiae,1080 +1081,fugit,quos,1081 +1082,voluptas,officia,1082 +1083,eos,qui,1083 +1084,libero,reprehenderit,1084 +1085,qui,ea,1085 +1086,doloremque,corrupti,1086 +1087,totam,saepe,1087 +1088,laboriosam,enim,1088 +1089,aut,et,1089 +1090,et,vero,1090 +1091,et,tempore,1091 +1092,sit,atque,1092 +1093,suscipit,et,1093 +1094,perspiciatis,et,1094 +1095,qui,non,1095 +1096,molestias,consequuntur,1096 +1097,dicta,rerum,1097 +1098,dolore,ea,1098 +1099,quo,vero,1099 +1100,dolor,rem,1100 +1101,pariatur,possimus,1101 +1102,et,quo,1102 +1103,culpa,consequuntur,1103 +1104,temporibus,earum,1104 +1105,est,vel,1105 +1106,est,rerum,1106 +1107,iure,nostrum,1107 +1108,soluta,culpa,1108 +1109,eum,quo,1109 +1110,dolorem,magnam,1110 +1111,eum,adipisci,1111 +1112,perspiciatis,eligendi,1112 +1113,molestias,praesentium,1113 +1114,optio,odit,1114 +1115,aliquam,dolores,1115 +1116,natus,perferendis,1116 +1117,animi,esse,1117 +1118,tenetur,consectetur,1118 +1119,sit,consequatur,1119 +1120,ut,qui,1120 +1121,aut,ad,1121 +1122,vel,a,1122 +1123,eaque,sit,1123 +1124,aut,dolores,1124 +1125,delectus,unde,1125 +1126,veniam,minima,1126 +1127,ipsam,adipisci,1127 +1128,asperiores,vel,1128 +1129,in,voluptatem,1129 +1130,ab,natus,1130 +1131,dolorum,minima,1131 +1132,dolorum,alias,1132 +1133,et,ipsam,1133 +1134,incidunt,veritatis,1134 +1135,aut,consequatur,1135 +1136,hic,quia,1136 +1137,quo,dolor,1137 +1138,ut,optio,1138 +1139,sit,recusandae,1139 +1140,temporibus,assumenda,1140 +1141,voluptas,sint,1141 +1142,reiciendis,fugiat,1142 +1143,sed,aut,1143 +1144,voluptatem,aut,1144 +1145,accusantium,maiores,1145 +1146,facere,et,1146 +1147,voluptatum,ut,1147 +1148,nam,asperiores,1148 +1149,in,doloremque,1149 +1150,quisquam,incidunt,1150 +1151,harum,hic,1151 +1152,distinctio,est,1152 +1153,laboriosam,deleniti,1153 +1154,consectetur,eius,1154 +1155,quis,architecto,1155 +1156,occaecati,et,1156 +1157,sint,et,1157 +1158,dolorum,fugit,1158 +1159,incidunt,in,1159 +1160,minima,quisquam,1160 +1161,quas,nam,1161 +1162,sed,ut,1162 +1163,reiciendis,et,1163 +1164,odio,commodi,1164 +1165,sunt,non,1165 +1166,animi,ut,1166 +1167,consectetur,laboriosam,1167 +1168,eos,tempore,1168 +1169,rem,occaecati,1169 +1170,facilis,hic,1170 +1171,nobis,libero,1171 +1172,quod,optio,1172 +1173,illo,aut,1173 +1174,nobis,consequatur,1174 +1175,earum,ut,1175 +1176,ipsam,vel,1176 +1177,suscipit,soluta,1177 +1178,a,dolorem,1178 +1179,dicta,sed,1179 +1180,aspernatur,quibusdam,1180 +1181,temporibus,necessitatibus,1181 +1182,unde,perferendis,1182 +1183,quibusdam,praesentium,1183 +1184,similique,optio,1184 +1185,exercitationem,et,1185 +1186,qui,officiis,1186 +1187,eum,et,1187 +1188,omnis,aperiam,1188 +1189,recusandae,enim,1189 +1190,perferendis,voluptatum,1190 +1191,ut,eum,1191 +1192,consectetur,sapiente,1192 +1193,autem,qui,1193 +1194,quis,assumenda,1194 +1195,ut,cupiditate,1195 +1196,quia,dolorem,1196 +1197,excepturi,in,1197 +1198,officiis,numquam,1198 +1199,possimus,delectus,1199 +1200,veniam,recusandae,1200 +1201,quos,id,1201 +1202,ratione,corporis,1202 +1203,alias,voluptates,1203 +1204,quia,quasi,1204 +1205,animi,soluta,1205 +1206,autem,laboriosam,1206 +1207,impedit,velit,1207 +1208,est,voluptatem,1208 +1209,ut,beatae,1209 +1210,quis,tempora,1210 +1211,placeat,assumenda,1211 +1212,libero,porro,1212 +1213,minima,veniam,1213 +1214,explicabo,sed,1214 +1215,illo,consequatur,1215 +1216,necessitatibus,in,1216 +1217,recusandae,aut,1217 +1218,dicta,eos,1218 +1219,maiores,qui,1219 +1220,eum,temporibus,1220 +1221,sit,libero,1221 +1222,aperiam,quia,1222 +1223,ut,est,1223 +1224,quo,qui,1224 +1225,velit,suscipit,1225 +1226,aut,qui,1226 +1227,culpa,omnis,1227 +1228,omnis,non,1228 +1229,dolore,non,1229 +1230,dolorem,quam,1230 +1231,voluptates,odio,1231 +1232,deserunt,non,1232 +1233,qui,deserunt,1233 +1234,debitis,ea,1234 +1235,accusamus,sed,1235 +1236,maiores,earum,1236 +1237,eum,vitae,1237 +1238,dolorem,maxime,1238 +1239,atque,officia,1239 +1240,rerum,sunt,1240 +1241,inventore,et,1241 +1242,sed,labore,1242 +1243,nulla,et,1243 +1244,neque,consectetur,1244 +1245,deleniti,assumenda,1245 +1246,assumenda,possimus,1246 +1247,deserunt,qui,1247 +1248,hic,et,1248 +1249,et,incidunt,1249 +1250,soluta,quos,1250 +1251,reprehenderit,natus,1251 +1252,omnis,in,1252 +1253,qui,libero,1253 +1254,occaecati,dolorem,1254 +1255,odio,rem,1255 +1256,tempora,temporibus,1256 +1257,quia,ut,1257 +1258,odit,et,1258 +1259,sapiente,optio,1259 +1260,aliquam,voluptatem,1260 +1261,dolorem,corrupti,1261 +1262,modi,necessitatibus,1262 +1263,sequi,doloremque,1263 +1264,voluptatum,dolorum,1264 +1265,sequi,quo,1265 +1266,reprehenderit,similique,1266 +1267,mollitia,molestias,1267 +1268,ut,vel,1268 +1269,quis,dolores,1269 +1270,nesciunt,consequatur,1270 +1271,praesentium,magni,1271 +1272,nemo,facilis,1272 +1273,molestiae,sint,1273 +1274,natus,est,1274 +1275,a,quibusdam,1275 +1276,sapiente,dignissimos,1276 +1277,sit,eaque,1277 +1278,possimus,illum,1278 +1279,ratione,assumenda,1279 +1280,fuga,quod,1280 +1281,quis,nam,1281 +1282,et,ut,1282 +1283,qui,accusantium,1283 +1284,molestias,aliquam,1284 +1285,ut,fugit,1285 +1286,nesciunt,dolor,1286 +1287,voluptatem,qui,1287 +1288,explicabo,iure,1288 +1289,ratione,itaque,1289 +1290,aut,non,1290 +1291,dolores,rerum,1291 +1292,nihil,dolore,1292 +1293,blanditiis,omnis,1293 +1294,in,dolor,1294 +1295,in,enim,1295 +1296,sed,repudiandae,1296 +1297,libero,delectus,1297 +1298,modi,voluptatum,1298 +1299,explicabo,impedit,1299 +1300,eum,accusantium,1300 +1301,dicta,expedita,1301 +1302,assumenda,eaque,1302 +1303,officia,necessitatibus,1303 +1304,doloremque,corrupti,1304 +1305,aut,minus,1305 +1306,aspernatur,ducimus,1306 +1307,voluptatem,deserunt,1307 +1308,quo,eum,1308 +1309,hic,ex,1309 +1310,perspiciatis,non,1310 +1311,dolore,exercitationem,1311 +1312,eligendi,itaque,1312 +1313,iure,enim,1313 +1314,nesciunt,molestias,1314 +1315,et,minima,1315 +1316,quae,et,1316 +1317,impedit,officiis,1317 +1318,dolor,at,1318 +1319,iste,ut,1319 +1320,qui,repudiandae,1320 +1321,veritatis,voluptatem,1321 +1322,ut,quis,1322 +1323,vitae,autem,1323 +1324,aliquid,quia,1324 +1325,voluptas,molestiae,1325 +1326,ratione,et,1326 +1327,architecto,et,1327 +1328,ut,occaecati,1328 +1329,nesciunt,omnis,1329 +1330,non,nihil,1330 +1331,repudiandae,consequuntur,1331 +1332,unde,animi,1332 +1333,dolorem,quis,1333 +1334,perspiciatis,culpa,1334 +1335,ratione,pariatur,1335 +1336,illo,porro,1336 +1337,veritatis,est,1337 +1338,eos,voluptates,1338 +1339,aut,reprehenderit,1339 +1340,est,corrupti,1340 +1341,doloremque,nulla,1341 +1342,sit,similique,1342 +1343,autem,ea,1343 +1344,ut,ex,1344 +1345,voluptas,qui,1345 +1346,ut,architecto,1346 +1347,aut,quisquam,1347 +1348,et,exercitationem,1348 +1349,quibusdam,ex,1349 +1350,dolores,ipsum,1350 +1351,recusandae,odit,1351 +1352,dignissimos,unde,1352 +1353,dolores,est,1353 +1354,ipsam,quibusdam,1354 +1355,repellat,eligendi,1355 +1356,atque,culpa,1356 +1357,hic,ipsum,1357 +1358,reprehenderit,aperiam,1358 +1359,fugiat,impedit,1359 +1360,quis,quasi,1360 +1361,officia,sequi,1361 +1362,architecto,recusandae,1362 +1363,labore,magnam,1363 +1364,reiciendis,qui,1364 +1365,non,ut,1365 +1366,omnis,et,1366 +1367,facere,ut,1367 +1368,est,odit,1368 +1369,ut,voluptatem,1369 +1370,excepturi,rerum,1370 +1371,amet,vitae,1371 +1372,sit,possimus,1372 +1373,debitis,ut,1373 +1374,eius,quas,1374 +1375,cum,fuga,1375 +1376,accusantium,impedit,1376 +1377,voluptate,totam,1377 +1378,molestias,aperiam,1378 +1379,aut,quasi,1379 +1380,nobis,laudantium,1380 +1381,quam,accusamus,1381 +1382,numquam,qui,1382 +1383,fugit,dolorem,1383 +1384,autem,est,1384 +1385,perferendis,harum,1385 +1386,quia,ea,1386 +1387,necessitatibus,explicabo,1387 +1388,voluptates,fuga,1388 +1389,consequatur,beatae,1389 +1390,aut,sed,1390 +1391,non,voluptatem,1391 +1392,culpa,dicta,1392 +1393,et,quasi,1393 +1394,ad,fuga,1394 +1395,quae,voluptates,1395 +1396,optio,est,1396 +1397,vel,perspiciatis,1397 +1398,enim,qui,1398 +1399,quae,ab,1399 +1400,aut,ut,1400 +1401,debitis,molestias,1401 +1402,sed,necessitatibus,1402 +1403,quo,labore,1403 +1404,minus,sunt,1404 +1405,rerum,assumenda,1405 +1406,voluptas,enim,1406 +1407,perferendis,minus,1407 +1408,sed,veritatis,1408 +1409,atque,ratione,1409 +1410,aut,voluptas,1410 +1411,qui,quod,1411 +1412,sit,voluptatem,1412 +1413,quam,ipsa,1413 +1414,excepturi,tenetur,1414 +1415,dolor,excepturi,1415 +1416,voluptate,repellendus,1416 +1417,et,ipsum,1417 +1418,ab,est,1418 +1419,accusantium,quia,1419 +1420,harum,asperiores,1420 +1421,praesentium,quaerat,1421 +1422,odit,veritatis,1422 +1423,qui,modi,1423 +1424,perferendis,quis,1424 +1425,iste,sunt,1425 +1426,omnis,explicabo,1426 +1427,ex,dolor,1427 +1428,maiores,veritatis,1428 +1429,optio,itaque,1429 +1430,beatae,praesentium,1430 +1431,ut,odio,1431 +1432,in,porro,1432 +1433,quos,exercitationem,1433 +1434,nihil,et,1434 +1435,quos,molestiae,1435 +1436,illum,quaerat,1436 +1437,dicta,tenetur,1437 +1438,ducimus,tenetur,1438 +1439,repudiandae,laudantium,1439 +1440,at,provident,1440 +1441,tempora,animi,1441 +1442,aut,voluptas,1442 +1443,ab,id,1443 +1444,rerum,ipsa,1444 +1445,quis,et,1445 +1446,odio,eum,1446 +1447,iure,sed,1447 +1448,rerum,dignissimos,1448 +1449,in,asperiores,1449 +1450,ratione,nobis,1450 +1451,distinctio,ipsa,1451 +1452,est,numquam,1452 +1453,ad,soluta,1453 +1454,quisquam,dolorem,1454 +1455,praesentium,quam,1455 +1456,sit,illum,1456 +1457,consequuntur,culpa,1457 +1458,inventore,accusantium,1458 +1459,id,aut,1459 +1460,rem,aliquid,1460 +1461,suscipit,esse,1461 +1462,exercitationem,praesentium,1462 +1463,maxime,sit,1463 +1464,culpa,repellendus,1464 +1465,quidem,voluptas,1465 +1466,repellendus,est,1466 +1467,fuga,occaecati,1467 +1468,magnam,iste,1468 +1469,aut,ad,1469 +1470,ea,iste,1470 +1471,aliquam,expedita,1471 +1472,expedita,id,1472 +1473,harum,itaque,1473 +1474,eum,iure,1474 +1475,mollitia,fuga,1475 +1476,earum,mollitia,1476 +1477,possimus,ad,1477 +1478,non,sint,1478 +1479,dolorem,nesciunt,1479 +1480,ut,minima,1480 +1481,nam,iure,1481 +1482,qui,rem,1482 +1483,sit,aliquam,1483 +1484,placeat,ipsa,1484 +1485,non,exercitationem,1485 +1486,doloribus,ullam,1486 +1487,fugit,blanditiis,1487 +1488,sed,quos,1488 +1489,sunt,qui,1489 +1490,a,assumenda,1490 +1491,doloribus,sint,1491 +1492,molestias,animi,1492 +1493,repellat,cum,1493 +1494,dicta,illo,1494 +1495,aut,laborum,1495 +1496,ex,quibusdam,1496 +1497,aut,quidem,1497 +1498,id,quos,1498 +1499,dolores,neque,1499 +1500,quam,aut,1500 +1501,aut,sit,1501 +1502,pariatur,ipsa,1502 +1503,excepturi,natus,1503 +1504,tenetur,minus,1504 +1505,ea,quam,1505 +1506,unde,in,1506 +1507,quasi,laudantium,1507 +1508,eum,nesciunt,1508 +1509,quis,sint,1509 +1510,id,aspernatur,1510 +1511,sapiente,ducimus,1511 +1512,saepe,pariatur,1512 +1513,amet,rerum,1513 +1514,numquam,nobis,1514 +1515,voluptatum,numquam,1515 +1516,in,quia,1516 +1517,quia,perferendis,1517 +1518,necessitatibus,qui,1518 +1519,asperiores,et,1519 +1520,eaque,est,1520 +1521,assumenda,pariatur,1521 +1522,ipsam,id,1522 +1523,et,quia,1523 +1524,possimus,asperiores,1524 +1525,quo,quia,1525 +1526,quia,omnis,1526 +1527,assumenda,recusandae,1527 +1528,quia,ut,1528 +1529,exercitationem,est,1529 +1530,velit,exercitationem,1530 +1531,illum,nihil,1531 +1532,a,aspernatur,1532 +1533,exercitationem,labore,1533 +1534,officiis,doloribus,1534 +1535,et,eaque,1535 +1536,ut,inventore,1536 +1537,aliquam,fuga,1537 +1538,voluptate,numquam,1538 +1539,quis,delectus,1539 +1540,sint,assumenda,1540 +1541,quae,veritatis,1541 +1542,soluta,consectetur,1542 +1543,qui,voluptatem,1543 +1544,enim,consequuntur,1544 +1545,id,id,1545 +1546,labore,provident,1546 +1547,placeat,quia,1547 +1548,nobis,odit,1548 +1549,consequatur,velit,1549 +1550,voluptates,ut,1550 +1551,ipsam,nihil,1551 +1552,eius,eum,1552 +1553,unde,suscipit,1553 +1554,sequi,ipsa,1554 +1555,eligendi,molestias,1555 +1556,reprehenderit,dolorum,1556 +1557,dolorem,maxime,1557 +1558,distinctio,maiores,1558 +1559,labore,dicta,1559 +1560,et,aut,1560 +1561,fugiat,officia,1561 +1562,itaque,blanditiis,1562 +1563,minus,qui,1563 +1564,illo,reiciendis,1564 +1565,velit,sunt,1565 +1566,mollitia,nobis,1566 +1567,ut,perspiciatis,1567 +1568,a,numquam,1568 +1569,unde,sed,1569 +1570,aut,et,1570 +1571,veniam,quis,1571 +1572,ratione,maxime,1572 +1573,adipisci,molestiae,1573 +1574,nesciunt,adipisci,1574 +1575,enim,molestiae,1575 +1576,ut,consequatur,1576 +1577,voluptates,possimus,1577 +1578,ad,excepturi,1578 +1579,repellendus,qui,1579 +1580,incidunt,minus,1580 +1581,enim,adipisci,1581 +1582,commodi,doloremque,1582 +1583,est,architecto,1583 +1584,est,est,1584 +1585,dignissimos,commodi,1585 +1586,debitis,earum,1586 +1587,ipsa,omnis,1587 +1588,quia,sunt,1588 +1589,et,quo,1589 +1590,ea,inventore,1590 +1591,distinctio,consectetur,1591 +1592,provident,voluptates,1592 +1593,et,et,1593 +1594,eaque,quos,1594 +1595,est,eum,1595 +1596,et,quaerat,1596 +1597,doloremque,voluptatem,1597 +1598,omnis,quo,1598 +1599,et,labore,1599 +1600,voluptatibus,nisi,1600 +1601,inventore,asperiores,1601 +1602,possimus,repudiandae,1602 +1603,vitae,dolore,1603 +1604,qui,occaecati,1604 +1605,et,aut,1605 +1606,quaerat,aut,1606 +1607,similique,ut,1607 +1608,aspernatur,expedita,1608 +1609,nobis,dignissimos,1609 +1610,repellat,accusantium,1610 +1611,totam,corrupti,1611 +1612,reiciendis,quod,1612 +1613,minima,quaerat,1613 +1614,harum,et,1614 +1615,repudiandae,ipsam,1615 +1616,velit,et,1616 +1617,sit,suscipit,1617 +1618,ducimus,eveniet,1618 +1619,eum,eos,1619 +1620,expedita,aspernatur,1620 +1621,qui,quas,1621 +1622,voluptates,et,1622 +1623,nisi,consequatur,1623 +1624,voluptates,dolores,1624 +1625,quam,ea,1625 +1626,commodi,similique,1626 +1627,adipisci,modi,1627 +1628,reprehenderit,autem,1628 +1629,veniam,quam,1629 +1630,doloremque,quis,1630 +1631,dignissimos,aut,1631 +1632,dolorum,enim,1632 +1633,repellat,facilis,1633 +1634,quisquam,vero,1634 +1635,iure,sed,1635 +1636,consequuntur,reiciendis,1636 +1637,dolorem,qui,1637 +1638,nisi,qui,1638 +1639,modi,qui,1639 +1640,illo,at,1640 +1641,eligendi,ea,1641 +1642,ea,sit,1642 +1643,rem,laborum,1643 +1644,ut,voluptas,1644 +1645,fugit,repellendus,1645 +1646,reprehenderit,est,1646 +1647,laudantium,id,1647 +1648,omnis,ut,1648 +1649,temporibus,officia,1649 +1650,neque,ut,1650 +1651,praesentium,delectus,1651 +1652,voluptates,rerum,1652 +1653,et,tempora,1653 +1654,fugiat,aut,1654 +1655,autem,quibusdam,1655 +1656,voluptates,doloremque,1656 +1657,ducimus,voluptas,1657 +1658,ut,dicta,1658 +1659,quibusdam,tempora,1659 +1660,vel,omnis,1660 +1661,est,aut,1661 +1662,odit,aut,1662 +1663,qui,numquam,1663 +1664,dicta,quas,1664 +1665,fugiat,rerum,1665 +1666,quia,accusamus,1666 +1667,voluptatem,perferendis,1667 +1668,quia,nobis,1668 +1669,dolore,ut,1669 +1670,esse,quidem,1670 +1671,hic,molestiae,1671 +1672,perspiciatis,ut,1672 +1673,rerum,eaque,1673 +1674,ullam,commodi,1674 +1675,qui,ducimus,1675 +1676,ut,qui,1676 +1677,eos,est,1677 +1678,sed,tenetur,1678 +1679,inventore,numquam,1679 +1680,ut,et,1680 +1681,et,et,1681 +1682,omnis,quidem,1682 +1683,dolorem,quia,1683 +1684,dignissimos,et,1684 +1685,quas,ut,1685 +1686,aperiam,qui,1686 +1687,corporis,praesentium,1687 +1688,reiciendis,eveniet,1688 +1689,laboriosam,tempore,1689 +1690,omnis,architecto,1690 +1691,quia,tempore,1691 +1692,illo,cumque,1692 +1693,blanditiis,sapiente,1693 +1694,alias,explicabo,1694 +1695,eius,voluptatum,1695 +1696,qui,cupiditate,1696 +1697,vero,numquam,1697 +1698,quidem,iure,1698 +1699,modi,aut,1699 +1700,at,quos,1700 +1701,animi,maxime,1701 +1702,cumque,vitae,1702 +1703,vel,fugit,1703 +1704,soluta,maiores,1704 +1705,asperiores,ullam,1705 +1706,et,asperiores,1706 +1707,aut,atque,1707 +1708,quasi,asperiores,1708 +1709,autem,nemo,1709 +1710,facere,laborum,1710 +1711,molestias,sint,1711 +1712,dolorem,magni,1712 +1713,amet,sit,1713 +1714,id,iure,1714 +1715,fuga,totam,1715 +1716,vitae,labore,1716 +1717,omnis,voluptatem,1717 +1718,voluptas,commodi,1718 +1719,ea,ipsam,1719 +1720,incidunt,quos,1720 +1721,ut,fugit,1721 +1722,accusamus,odio,1722 +1723,ullam,accusamus,1723 +1724,distinctio,adipisci,1724 +1725,voluptatem,alias,1725 +1726,quos,quod,1726 +1727,doloremque,ut,1727 +1728,animi,quo,1728 +1729,sunt,dicta,1729 +1730,repudiandae,voluptatem,1730 +1731,sit,ratione,1731 +1732,accusamus,minus,1732 +1733,aut,fugiat,1733 +1734,sequi,dolorem,1734 +1735,aliquid,eum,1735 +1736,et,ea,1736 +1737,commodi,iure,1737 +1738,quis,eius,1738 +1739,nulla,quaerat,1739 +1740,sequi,ut,1740 +1741,inventore,dolores,1741 +1742,incidunt,asperiores,1742 +1743,iusto,quam,1743 +1744,labore,numquam,1744 +1745,libero,ex,1745 +1746,praesentium,eos,1746 +1747,perferendis,officia,1747 +1748,et,et,1748 +1749,nesciunt,recusandae,1749 +1750,praesentium,dolor,1750 +1751,fugiat,et,1751 +1752,odio,omnis,1752 +1753,vel,voluptate,1753 +1754,aperiam,ipsum,1754 +1755,temporibus,laborum,1755 +1756,dolores,nobis,1756 +1757,nostrum,aut,1757 +1758,architecto,voluptatibus,1758 +1759,asperiores,quia,1759 +1760,suscipit,magni,1760 +1761,quia,autem,1761 +1762,illum,id,1762 +1763,voluptatem,aut,1763 +1764,quia,numquam,1764 +1765,molestiae,sed,1765 +1766,possimus,perspiciatis,1766 +1767,eius,et,1767 +1768,labore,quia,1768 +1769,dolorum,commodi,1769 +1770,alias,eos,1770 +1771,voluptatem,a,1771 +1772,labore,sed,1772 +1773,quia,quidem,1773 +1774,perferendis,recusandae,1774 +1775,dolor,voluptas,1775 +1776,doloribus,soluta,1776 +1777,pariatur,qui,1777 +1778,rerum,non,1778 +1779,rerum,fuga,1779 +1780,in,minus,1780 +1781,dolor,animi,1781 +1782,voluptates,aliquam,1782 +1783,et,nihil,1783 +1784,nulla,quo,1784 +1785,tempore,asperiores,1785 +1786,consequuntur,vitae,1786 +1787,quia,sed,1787 +1788,et,dolorum,1788 +1789,modi,doloribus,1789 +1790,officia,et,1790 +1791,sequi,maiores,1791 +1792,et,incidunt,1792 +1793,quasi,possimus,1793 +1794,enim,ipsum,1794 +1795,rem,eius,1795 +1796,debitis,illum,1796 +1797,ratione,quos,1797 +1798,nostrum,animi,1798 +1799,id,voluptatum,1799 +1800,sapiente,soluta,1800 +1801,tempore,magnam,1801 +1802,est,dolorem,1802 +1803,nam,corporis,1803 +1804,architecto,distinctio,1804 +1805,nihil,labore,1805 +1806,saepe,incidunt,1806 +1807,magnam,numquam,1807 +1808,est,voluptatem,1808 +1809,excepturi,eligendi,1809 +1810,et,veniam,1810 +1811,ipsum,hic,1811 +1812,non,dignissimos,1812 +1813,voluptas,nihil,1813 +1814,mollitia,delectus,1814 +1815,voluptatem,dolore,1815 +1816,voluptatem,modi,1816 +1817,recusandae,nihil,1817 +1818,et,commodi,1818 +1819,ad,dolor,1819 +1820,magni,esse,1820 +1821,repellat,distinctio,1821 +1822,illo,sapiente,1822 +1823,illum,sit,1823 +1824,sit,natus,1824 +1825,voluptatem,commodi,1825 +1826,dolorum,perspiciatis,1826 +1827,ipsum,recusandae,1827 +1828,cum,aut,1828 +1829,quo,sunt,1829 +1830,voluptatem,facilis,1830 +1831,non,numquam,1831 +1832,molestias,est,1832 +1833,omnis,repellat,1833 +1834,aut,illum,1834 +1835,eum,nulla,1835 +1836,earum,rem,1836 +1837,aperiam,aut,1837 +1838,ut,placeat,1838 +1839,repellat,impedit,1839 +1840,et,harum,1840 +1841,voluptatibus,et,1841 +1842,excepturi,perspiciatis,1842 +1843,culpa,nihil,1843 +1844,accusantium,ratione,1844 +1845,ut,culpa,1845 +1846,debitis,et,1846 +1847,omnis,aut,1847 +1848,debitis,voluptatibus,1848 +1849,libero,omnis,1849 +1850,corporis,quis,1850 +1851,impedit,vel,1851 +1852,amet,animi,1852 +1853,ab,incidunt,1853 +1854,quis,odit,1854 +1855,possimus,soluta,1855 +1856,ex,rerum,1856 +1857,est,voluptatem,1857 +1858,laborum,quis,1858 +1859,quia,error,1859 +1860,fugiat,ex,1860 +1861,laborum,aut,1861 +1862,possimus,eveniet,1862 +1863,impedit,a,1863 +1864,ducimus,nihil,1864 +1865,quae,quo,1865 +1866,aut,quibusdam,1866 +1867,et,minima,1867 +1868,aut,in,1868 +1869,aut,qui,1869 +1870,incidunt,atque,1870 +1871,eum,consequatur,1871 +1872,voluptatem,aut,1872 +1873,nobis,rerum,1873 +1874,dolorem,itaque,1874 +1875,sed,nam,1875 +1876,ab,rerum,1876 +1877,hic,ut,1877 +1878,error,ipsam,1878 +1879,fugiat,esse,1879 +1880,dolores,tenetur,1880 +1881,saepe,quisquam,1881 +1882,vel,est,1882 +1883,nisi,ratione,1883 +1884,nemo,facilis,1884 +1885,sed,reprehenderit,1885 +1886,asperiores,aut,1886 +1887,ut,mollitia,1887 +1888,harum,ratione,1888 +1889,repudiandae,sit,1889 +1890,aut,sequi,1890 +1891,voluptates,libero,1891 +1892,aut,dolore,1892 +1893,reiciendis,in,1893 +1894,temporibus,natus,1894 +1895,quam,voluptatem,1895 +1896,quaerat,aut,1896 +1897,minima,enim,1897 +1898,est,quia,1898 +1899,minus,non,1899 +1900,maiores,ab,1900 +1901,ea,sint,1901 +1902,incidunt,necessitatibus,1902 +1903,autem,rerum,1903 +1904,doloremque,eveniet,1904 +1905,voluptates,quo,1905 +1906,non,earum,1906 +1907,ullam,qui,1907 +1908,ut,doloribus,1908 +1909,beatae,aliquam,1909 +1910,aut,nemo,1910 +1911,eaque,et,1911 +1912,quia,voluptatibus,1912 +1913,quia,ut,1913 +1914,expedita,nesciunt,1914 +1915,et,doloribus,1915 +1916,laborum,impedit,1916 +1917,velit,dolorem,1917 +1918,officiis,repellat,1918 +1919,eum,quos,1919 +1920,iure,porro,1920 +1921,sunt,perspiciatis,1921 +1922,dolorem,dolores,1922 +1923,illo,perferendis,1923 +1924,dicta,qui,1924 +1925,vel,sit,1925 +1926,dicta,maiores,1926 +1927,eveniet,doloribus,1927 +1928,quaerat,quo,1928 +1929,unde,voluptas,1929 +1930,qui,qui,1930 +1931,sed,illum,1931 +1932,eos,sed,1932 +1933,quidem,odio,1933 +1934,sapiente,asperiores,1934 +1935,voluptatem,alias,1935 +1936,ad,ipsa,1936 +1937,quia,dolorem,1937 +1938,et,repellat,1938 +1939,quod,esse,1939 +1940,eligendi,eligendi,1940 +1941,ea,sit,1941 +1942,sunt,officia,1942 +1943,doloribus,totam,1943 +1944,possimus,quas,1944 +1945,ipsum,inventore,1945 +1946,quae,tempora,1946 +1947,cumque,sed,1947 +1948,illum,ea,1948 +1949,consequuntur,velit,1949 +1950,repudiandae,numquam,1950 +1951,impedit,aut,1951 +1952,vero,eveniet,1952 +1953,non,qui,1953 +1954,aut,et,1954 +1955,voluptates,impedit,1955 +1956,omnis,quas,1956 +1957,error,et,1957 +1958,possimus,nihil,1958 +1959,debitis,sunt,1959 +1960,aut,quas,1960 +1961,sit,sit,1961 +1962,nesciunt,aut,1962 +1963,architecto,quis,1963 +1964,vel,magni,1964 +1965,odit,odio,1965 +1966,repellendus,voluptatem,1966 +1967,soluta,explicabo,1967 +1968,repellendus,soluta,1968 +1969,omnis,aut,1969 +1970,et,molestiae,1970 +1971,architecto,in,1971 +1972,quia,dignissimos,1972 +1973,dolor,suscipit,1973 +1974,laborum,ut,1974 +1975,nulla,corporis,1975 +1976,deleniti,sit,1976 +1977,eveniet,aperiam,1977 +1978,qui,voluptatem,1978 +1979,possimus,mollitia,1979 +1980,consectetur,est,1980 +1981,molestias,facere,1981 +1982,dolorem,dolorem,1982 +1983,cumque,asperiores,1983 +1984,earum,molestiae,1984 +1985,ut,ea,1985 +1986,veniam,debitis,1986 +1987,ratione,ut,1987 +1988,et,nisi,1988 +1989,sit,sed,1989 +1990,quibusdam,quo,1990 +1991,perspiciatis,aut,1991 +1992,vel,ut,1992 +1993,ad,autem,1993 +1994,aspernatur,alias,1994 +1995,sed,quia,1995 +1996,est,et,1996 +1997,adipisci,voluptatem,1997 +1998,architecto,explicabo,1998 +1999,temporibus,sit,1999 +2000,explicabo,eveniet,2000 +2001,mollitia,perferendis,2001 +2002,qui,qui,2002 +2003,consequatur,et,2003 +2004,vel,quia,2004 +2005,fuga,nihil,2005 +2006,aspernatur,illum,2006 +2007,soluta,ducimus,2007 +2008,hic,cupiditate,2008 +2009,et,omnis,2009 +2010,deleniti,aliquam,2010 +2011,odio,commodi,2011 +2012,dolor,enim,2012 +2013,et,corrupti,2013 +2014,omnis,qui,2014 +2015,rerum,eum,2015 +2016,est,alias,2016 +2017,nesciunt,voluptatibus,2017 +2018,magni,repudiandae,2018 +2019,sunt,animi,2019 +2020,rerum,ut,2020 +2021,et,quo,2021 +2022,qui,voluptatem,2022 +2023,voluptas,sed,2023 +2024,quis,molestiae,2024 +2025,earum,qui,2025 +2026,quas,ut,2026 +2027,nihil,recusandae,2027 +2028,quis,magni,2028 +2029,harum,omnis,2029 +2030,sint,sapiente,2030 +2031,voluptatem,aperiam,2031 +2032,quos,rerum,2032 +2033,autem,repellat,2033 +2034,debitis,quibusdam,2034 +2035,porro,beatae,2035 +2036,facere,non,2036 +2037,ullam,maxime,2037 +2038,aperiam,et,2038 +2039,omnis,commodi,2039 +2040,assumenda,eos,2040 +2041,iste,est,2041 +2042,voluptatem,eius,2042 +2043,reprehenderit,eos,2043 +2044,ut,optio,2044 +2045,sequi,ipsum,2045 +2046,in,ab,2046 +2047,et,natus,2047 +2048,alias,nam,2048 +2049,perferendis,qui,2049 +2050,fugit,id,2050 +2051,illum,alias,2051 +2052,est,explicabo,2052 +2053,sed,qui,2053 +2054,nam,odio,2054 +2055,illum,vel,2055 +2056,repellendus,impedit,2056 +2057,minus,placeat,2057 +2058,quas,exercitationem,2058 +2059,deleniti,magni,2059 +2060,adipisci,quibusdam,2060 +2061,voluptatem,voluptatem,2061 +2062,est,iure,2062 +2063,repellat,ratione,2063 +2064,quis,asperiores,2064 +2065,dolore,dolor,2065 +2066,sed,vero,2066 +2067,in,aliquam,2067 +2068,est,quia,2068 +2069,quisquam,quam,2069 +2070,est,ut,2070 +2071,aut,magni,2071 +2072,consectetur,amet,2072 +2073,unde,dignissimos,2073 +2074,et,sint,2074 +2075,reiciendis,suscipit,2075 +2076,corrupti,natus,2076 +2077,ut,repellendus,2077 +2078,qui,tempore,2078 +2079,sit,voluptatem,2079 +2080,totam,reiciendis,2080 +2081,dicta,nihil,2081 +2082,aperiam,maxime,2082 +2083,voluptatum,est,2083 +2084,reprehenderit,laborum,2084 +2085,esse,tempore,2085 +2086,voluptatem,cupiditate,2086 +2087,officia,atque,2087 +2088,error,vitae,2088 +2089,facilis,omnis,2089 +2090,facere,quia,2090 +2091,est,nam,2091 +2092,unde,rem,2092 +2093,et,qui,2093 +2094,qui,neque,2094 +2095,velit,inventore,2095 +2096,cum,rem,2096 +2097,aut,hic,2097 +2098,autem,error,2098 +2099,nam,earum,2099 +2100,nemo,est,2100 +2101,sit,provident,2101 +2102,minus,dolores,2102 +2103,eligendi,totam,2103 +2104,et,consequuntur,2104 +2105,aut,harum,2105 +2106,delectus,laudantium,2106 +2107,fuga,ut,2107 +2108,aut,temporibus,2108 +2109,ut,velit,2109 +2110,recusandae,cumque,2110 +2111,laudantium,quibusdam,2111 +2112,ex,excepturi,2112 +2113,nihil,vitae,2113 +2114,commodi,rerum,2114 +2115,nam,nesciunt,2115 +2116,in,autem,2116 +2117,autem,natus,2117 +2118,fugit,fugiat,2118 +2119,nostrum,rerum,2119 +2120,non,sunt,2120 +2121,libero,quibusdam,2121 +2122,ad,optio,2122 +2123,magni,omnis,2123 +2124,sed,qui,2124 +2125,assumenda,similique,2125 +2126,et,placeat,2126 +2127,accusantium,tempora,2127 +2128,natus,eligendi,2128 +2129,sed,explicabo,2129 +2130,occaecati,corporis,2130 +2131,id,et,2131 +2132,repudiandae,sequi,2132 +2133,soluta,a,2133 +2134,deserunt,maxime,2134 +2135,quasi,mollitia,2135 +2136,eius,nihil,2136 +2137,fugit,a,2137 +2138,omnis,debitis,2138 +2139,illo,cumque,2139 +2140,necessitatibus,rem,2140 +2141,iste,ut,2141 +2142,aut,dolorum,2142 +2143,sit,beatae,2143 +2144,voluptatem,quod,2144 +2145,ea,laborum,2145 +2146,exercitationem,vel,2146 +2147,minima,qui,2147 +2148,illo,ut,2148 +2149,illum,et,2149 +2150,id,saepe,2150 +2151,molestiae,consectetur,2151 +2152,corrupti,dolorem,2152 +2153,natus,laboriosam,2153 +2154,dignissimos,consectetur,2154 +2155,sed,rerum,2155 +2156,aut,qui,2156 +2157,sed,aliquid,2157 +2158,in,et,2158 +2159,dolor,sunt,2159 +2160,repellat,illum,2160 +2161,quis,odio,2161 +2162,reiciendis,ut,2162 +2163,sapiente,voluptatem,2163 +2164,quis,tempore,2164 +2165,praesentium,quia,2165 +2166,dolor,sunt,2166 +2167,aliquam,temporibus,2167 +2168,magni,assumenda,2168 +2169,distinctio,sed,2169 +2170,nihil,quaerat,2170 +2171,commodi,ut,2171 +2172,libero,quia,2172 +2173,quis,tempore,2173 +2174,nihil,porro,2174 +2175,quam,omnis,2175 +2176,ut,voluptas,2176 +2177,nisi,possimus,2177 +2178,libero,rerum,2178 +2179,dolores,similique,2179 +2180,omnis,atque,2180 +2181,pariatur,ut,2181 +2182,inventore,mollitia,2182 +2183,voluptate,commodi,2183 +2184,rerum,impedit,2184 +2185,vitae,quam,2185 +2186,delectus,sed,2186 +2187,sed,quia,2187 +2188,consequatur,praesentium,2188 +2189,natus,officiis,2189 +2190,est,at,2190 +2191,cumque,ipsum,2191 +2192,est,iusto,2192 +2193,iusto,omnis,2193 +2194,et,corporis,2194 +2195,molestiae,totam,2195 +2196,unde,ducimus,2196 +2197,ex,quos,2197 +2198,soluta,est,2198 +2199,aut,rerum,2199 +2200,qui,voluptatem,2200 +2201,necessitatibus,fuga,2201 +2202,accusamus,natus,2202 +2203,et,qui,2203 +2204,in,aut,2204 +2205,porro,harum,2205 +2206,sequi,reiciendis,2206 +2207,sit,omnis,2207 +2208,qui,iste,2208 +2209,qui,temporibus,2209 +2210,nostrum,doloremque,2210 +2211,amet,dolor,2211 +2212,delectus,aut,2212 +2213,aspernatur,dignissimos,2213 +2214,tempore,reprehenderit,2214 +2215,explicabo,dolorem,2215 +2216,repellendus,et,2216 +2217,aut,dolorem,2217 +2218,blanditiis,nostrum,2218 +2219,aspernatur,perferendis,2219 +2220,tempore,et,2220 +2221,doloribus,et,2221 +2222,placeat,neque,2222 +2223,optio,velit,2223 +2224,nostrum,rerum,2224 +2225,est,quis,2225 +2226,illum,minus,2226 +2227,est,eum,2227 +2228,aut,et,2228 +2229,dolore,laborum,2229 +2230,praesentium,nostrum,2230 +2231,soluta,aperiam,2231 +2232,aspernatur,explicabo,2232 +2233,odio,nam,2233 +2234,porro,est,2234 +2235,quia,omnis,2235 +2236,dolores,est,2236 +2237,ipsam,quis,2237 +2238,nemo,quia,2238 +2239,rerum,et,2239 +2240,incidunt,asperiores,2240 +2241,atque,soluta,2241 +2242,ipsam,quia,2242 +2243,sed,voluptas,2243 +2244,ipsum,quae,2244 +2245,voluptas,dolor,2245 +2246,corrupti,odit,2246 +2247,nesciunt,error,2247 +2248,reprehenderit,consectetur,2248 +2249,temporibus,esse,2249 +2250,neque,aut,2250 +2251,illo,quibusdam,2251 +2252,veritatis,aut,2252 +2253,adipisci,temporibus,2253 +2254,vel,aut,2254 +2255,aut,qui,2255 +2256,sequi,atque,2256 +2257,asperiores,quo,2257 +2258,culpa,fuga,2258 +2259,sint,ipsam,2259 +2260,sit,deleniti,2260 +2261,quidem,consequuntur,2261 +2262,aliquid,corrupti,2262 +2263,ipsam,cum,2263 +2264,a,deleniti,2264 +2265,eius,veniam,2265 +2266,magnam,placeat,2266 +2267,atque,voluptatem,2267 +2268,eos,atque,2268 +2269,voluptatibus,modi,2269 +2270,omnis,culpa,2270 +2271,vitae,esse,2271 +2272,ut,occaecati,2272 +2273,mollitia,reprehenderit,2273 +2274,maxime,sunt,2274 +2275,quibusdam,placeat,2275 +2276,eos,sint,2276 +2277,dolore,quo,2277 +2278,architecto,rem,2278 +2279,quia,tempore,2279 +2280,voluptatem,est,2280 +2281,rerum,non,2281 +2282,minima,reiciendis,2282 +2283,sed,nihil,2283 +2284,sed,rerum,2284 +2285,rerum,quas,2285 +2286,aut,error,2286 +2287,quo,sit,2287 +2288,excepturi,facilis,2288 +2289,et,impedit,2289 +2290,in,qui,2290 +2291,quas,nemo,2291 +2292,sunt,et,2292 +2293,ipsum,maxime,2293 +2294,nobis,quia,2294 +2295,delectus,sint,2295 +2296,enim,omnis,2296 +2297,enim,eligendi,2297 +2298,minus,sapiente,2298 +2299,omnis,voluptatum,2299 +2300,unde,porro,2300 +2301,reiciendis,laudantium,2301 +2302,laboriosam,officia,2302 +2303,rerum,nobis,2303 +2304,qui,dolores,2304 +2305,est,eius,2305 +2306,velit,perspiciatis,2306 +2307,nam,mollitia,2307 +2308,autem,id,2308 +2309,beatae,iusto,2309 +2310,quia,rem,2310 +2311,quaerat,tempora,2311 +2312,ut,assumenda,2312 +2313,voluptas,aspernatur,2313 +2314,omnis,et,2314 +2315,aut,corrupti,2315 +2316,commodi,harum,2316 +2317,hic,at,2317 +2318,eum,facilis,2318 +2319,aut,ut,2319 +2320,quo,est,2320 +2321,voluptatibus,culpa,2321 +2322,unde,voluptatem,2322 +2323,sit,atque,2323 +2324,deserunt,voluptatem,2324 +2325,adipisci,minus,2325 +2326,dolores,velit,2326 +2327,et,beatae,2327 +2328,ipsa,voluptatem,2328 +2329,adipisci,soluta,2329 +2330,dolor,quas,2330 +2331,reiciendis,facere,2331 +2332,earum,reiciendis,2332 +2333,exercitationem,sint,2333 +2334,placeat,animi,2334 +2335,aut,eos,2335 +2336,accusamus,velit,2336 +2337,dolores,cumque,2337 +2338,eveniet,voluptatibus,2338 +2339,expedita,quia,2339 +2340,saepe,totam,2340 +2341,ipsam,quo,2341 +2342,mollitia,porro,2342 +2343,accusantium,odit,2343 +2344,facilis,nostrum,2344 +2345,id,iste,2345 +2346,in,odio,2346 +2347,aliquid,maiores,2347 +2348,quod,maxime,2348 +2349,ipsa,perspiciatis,2349 +2350,necessitatibus,eum,2350 +2351,eveniet,ut,2351 +2352,rem,dolor,2352 +2353,maxime,est,2353 +2354,at,blanditiis,2354 +2355,qui,nam,2355 +2356,eligendi,dolores,2356 +2357,nesciunt,molestias,2357 +2358,explicabo,soluta,2358 +2359,et,aut,2359 +2360,quis,sunt,2360 +2361,illum,similique,2361 +2362,et,aperiam,2362 +2363,et,fugiat,2363 +2364,dignissimos,beatae,2364 +2365,sed,praesentium,2365 +2366,amet,id,2366 +2367,accusantium,ad,2367 +2368,iure,rem,2368 +2369,sed,tenetur,2369 +2370,laudantium,placeat,2370 +2371,nobis,doloribus,2371 +2372,qui,in,2372 +2373,in,aliquid,2373 +2374,culpa,omnis,2374 +2375,pariatur,facilis,2375 +2376,quia,aspernatur,2376 +2377,nisi,et,2377 +2378,eos,aut,2378 +2379,quidem,iusto,2379 +2380,numquam,reiciendis,2380 +2381,debitis,consequatur,2381 +2382,ea,amet,2382 +2383,aut,dicta,2383 +2384,cumque,aspernatur,2384 +2385,quas,adipisci,2385 +2386,eligendi,ipsam,2386 +2387,esse,labore,2387 +2388,recusandae,et,2388 +2389,ea,et,2389 +2390,alias,est,2390 +2391,dolor,qui,2391 +2392,quibusdam,in,2392 +2393,minima,id,2393 +2394,iste,possimus,2394 +2395,ipsum,iure,2395 +2396,ullam,rerum,2396 +2397,qui,molestias,2397 +2398,sit,eos,2398 +2399,voluptatem,officia,2399 +2400,pariatur,voluptas,2400 +2401,quos,cumque,2401 +2402,repellat,rem,2402 +2403,distinctio,aut,2403 +2404,esse,consequatur,2404 +2405,cum,natus,2405 +2406,cum,libero,2406 +2407,laudantium,vero,2407 +2408,officia,est,2408 +2409,eos,quas,2409 +2410,aut,eaque,2410 +2411,accusantium,molestias,2411 +2412,dignissimos,rerum,2412 +2413,sed,voluptates,2413 +2414,dolore,rerum,2414 +2415,perferendis,aut,2415 +2416,ipsa,vero,2416 +2417,vel,eum,2417 +2418,soluta,iure,2418 +2419,quibusdam,exercitationem,2419 +2420,et,unde,2420 +2421,provident,sunt,2421 +2422,deleniti,sit,2422 +2423,omnis,est,2423 +2424,et,doloribus,2424 +2425,consectetur,cumque,2425 +2426,ea,magnam,2426 +2427,distinctio,autem,2427 +2428,molestiae,et,2428 +2429,reprehenderit,consequatur,2429 +2430,accusantium,magni,2430 +2431,ratione,quae,2431 +2432,mollitia,odit,2432 +2433,tempora,vero,2433 +2434,nostrum,rerum,2434 +2435,tenetur,molestiae,2435 +2436,dignissimos,cum,2436 +2437,ipsum,laboriosam,2437 +2438,quasi,inventore,2438 +2439,perferendis,et,2439 +2440,quasi,voluptas,2440 +2441,qui,esse,2441 +2442,suscipit,animi,2442 +2443,ullam,qui,2443 +2444,veniam,est,2444 +2445,facilis,sit,2445 +2446,incidunt,autem,2446 +2447,sint,est,2447 +2448,dolorem,eveniet,2448 +2449,facere,ut,2449 +2450,iste,earum,2450 +2451,et,esse,2451 +2452,perspiciatis,minima,2452 +2453,et,consequatur,2453 +2454,magni,voluptatum,2454 +2455,soluta,officia,2455 +2456,vitae,harum,2456 +2457,inventore,nisi,2457 +2458,pariatur,tempora,2458 +2459,accusantium,iste,2459 +2460,non,quam,2460 +2461,esse,aut,2461 +2462,nulla,cumque,2462 +2463,nobis,deleniti,2463 +2464,rerum,maxime,2464 +2465,doloremque,rem,2465 +2466,iusto,molestiae,2466 +2467,temporibus,itaque,2467 +2468,sit,hic,2468 +2469,sapiente,qui,2469 +2470,sed,corporis,2470 +2471,maxime,ratione,2471 +2472,voluptatem,voluptatem,2472 +2473,corporis,id,2473 +2474,natus,pariatur,2474 +2475,nemo,dolor,2475 +2476,ex,enim,2476 +2477,dolorem,quo,2477 +2478,voluptas,provident,2478 +2479,repellendus,sunt,2479 +2480,non,pariatur,2480 +2481,illum,est,2481 +2482,officiis,dolor,2482 +2483,dicta,dolor,2483 +2484,sed,earum,2484 +2485,placeat,ullam,2485 +2486,voluptatem,officia,2486 +2487,non,et,2487 +2488,modi,corporis,2488 +2489,cum,ipsum,2489 +2490,qui,reiciendis,2490 +2491,distinctio,eos,2491 +2492,eos,possimus,2492 +2493,vel,maiores,2493 +2494,assumenda,doloremque,2494 +2495,optio,ad,2495 +2496,fugiat,voluptatem,2496 +2497,facere,nobis,2497 +2498,eos,et,2498 +2499,asperiores,vero,2499 +2500,omnis,nisi,2500 +2501,sed,occaecati,2501 +2502,commodi,sit,2502 +2503,incidunt,ipsa,2503 +2504,non,aliquam,2504 +2505,omnis,voluptas,2505 +2506,est,magni,2506 +2507,tempore,sint,2507 +2508,aliquam,praesentium,2508 +2509,nulla,fugiat,2509 +2510,iste,et,2510 +2511,quia,odit,2511 +2512,blanditiis,a,2512 +2513,numquam,et,2513 +2514,veniam,enim,2514 +2515,ipsam,eligendi,2515 +2516,nam,et,2516 +2517,ut,fuga,2517 +2518,eos,rem,2518 +2519,cupiditate,nemo,2519 +2520,sint,fuga,2520 +2521,ab,minima,2521 +2522,doloribus,voluptatem,2522 +2523,amet,tempore,2523 +2524,veniam,quae,2524 +2525,magnam,nesciunt,2525 +2526,quidem,vitae,2526 +2527,perferendis,et,2527 +2528,earum,aut,2528 +2529,consequatur,aut,2529 +2530,eveniet,placeat,2530 +2531,amet,autem,2531 +2532,in,ipsa,2532 +2533,doloremque,non,2533 +2534,dolores,corporis,2534 +2535,rerum,fugiat,2535 +2536,aliquam,rerum,2536 +2537,aut,eos,2537 +2538,magnam,veniam,2538 +2539,aut,architecto,2539 +2540,ullam,est,2540 +2541,voluptate,qui,2541 +2542,blanditiis,delectus,2542 +2543,eum,repudiandae,2543 +2544,necessitatibus,blanditiis,2544 +2545,aut,ut,2545 +2546,nostrum,neque,2546 +2547,aut,dolores,2547 +2548,voluptates,sapiente,2548 +2549,unde,ut,2549 +2550,ut,autem,2550 +2551,harum,nemo,2551 +2552,quo,quibusdam,2552 +2553,eos,ut,2553 +2554,ut,aliquid,2554 +2555,nulla,sunt,2555 +2556,harum,quidem,2556 +2557,ratione,rem,2557 +2558,et,explicabo,2558 +2559,eum,voluptatum,2559 +2560,dolore,doloribus,2560 +2561,voluptas,hic,2561 +2562,incidunt,qui,2562 +2563,iste,et,2563 +2564,blanditiis,eum,2564 +2565,quidem,nesciunt,2565 +2566,error,ab,2566 +2567,illo,magnam,2567 +2568,ad,blanditiis,2568 +2569,voluptas,quas,2569 +2570,id,facere,2570 +2571,repellendus,consequatur,2571 +2572,sunt,quas,2572 +2573,aut,sit,2573 +2574,nobis,architecto,2574 +2575,ipsum,et,2575 +2576,et,rerum,2576 +2577,eos,voluptatibus,2577 +2578,quasi,saepe,2578 +2579,repellendus,porro,2579 +2580,assumenda,sit,2580 +2581,eveniet,enim,2581 +2582,voluptatum,debitis,2582 +2583,ullam,fugiat,2583 +2584,libero,placeat,2584 +2585,libero,accusantium,2585 +2586,aut,fugit,2586 +2587,et,enim,2587 +2588,velit,commodi,2588 +2589,culpa,harum,2589 +2590,explicabo,et,2590 +2591,optio,dolorem,2591 +2592,sed,aspernatur,2592 +2593,iusto,voluptas,2593 +2594,explicabo,voluptates,2594 +2595,nostrum,sint,2595 +2596,repellendus,pariatur,2596 +2597,quasi,iste,2597 +2598,et,odio,2598 +2599,fuga,sapiente,2599 +2600,dolorem,recusandae,2600 +2601,et,non,2601 +2602,natus,rem,2602 +2603,mollitia,veniam,2603 +2604,a,voluptatem,2604 +2605,vitae,aut,2605 +2606,voluptas,error,2606 +2607,et,sunt,2607 +2608,quis,sit,2608 +2609,et,earum,2609 +2610,modi,deserunt,2610 +2611,quod,aut,2611 +2612,dolores,vero,2612 +2613,autem,ullam,2613 +2614,illo,libero,2614 +2615,placeat,aperiam,2615 +2616,maiores,iste,2616 +2617,in,magnam,2617 +2618,accusantium,architecto,2618 +2619,nobis,velit,2619 +2620,delectus,ipsam,2620 +2621,ut,rem,2621 +2622,voluptates,ipsa,2622 +2623,inventore,nisi,2623 +2624,nostrum,deserunt,2624 +2625,sequi,at,2625 +2626,et,illo,2626 +2627,voluptatem,nam,2627 +2628,qui,incidunt,2628 +2629,adipisci,impedit,2629 +2630,voluptate,temporibus,2630 +2631,blanditiis,et,2631 +2632,quidem,quia,2632 +2633,harum,blanditiis,2633 +2634,et,inventore,2634 +2635,ea,iure,2635 +2636,error,sapiente,2636 +2637,tenetur,assumenda,2637 +2638,molestias,debitis,2638 +2639,deserunt,odio,2639 +2640,in,repellendus,2640 +2641,dolorem,labore,2641 +2642,perferendis,voluptates,2642 +2643,quaerat,aut,2643 +2644,corrupti,quia,2644 +2645,minus,eius,2645 +2646,molestiae,voluptatem,2646 +2647,reiciendis,error,2647 +2648,quia,est,2648 +2649,sunt,praesentium,2649 +2650,delectus,sapiente,2650 +2651,modi,dolores,2651 +2652,sit,natus,2652 +2653,non,voluptatem,2653 +2654,quis,reprehenderit,2654 +2655,nemo,animi,2655 +2656,eos,minus,2656 +2657,dolore,omnis,2657 +2658,deleniti,sit,2658 +2659,accusantium,nobis,2659 +2660,et,ducimus,2660 +2661,corrupti,expedita,2661 +2662,quaerat,nam,2662 +2663,magnam,rerum,2663 +2664,ipsa,aut,2664 +2665,nihil,dolores,2665 +2666,consequatur,iusto,2666 +2667,voluptatum,odit,2667 +2668,vero,quas,2668 +2669,ut,cumque,2669 +2670,aut,minima,2670 +2671,qui,dolores,2671 +2672,suscipit,ut,2672 +2673,quaerat,amet,2673 +2674,et,inventore,2674 +2675,iste,quos,2675 +2676,quae,voluptatum,2676 +2677,cum,neque,2677 +2678,id,aliquid,2678 +2679,eos,voluptatem,2679 +2680,itaque,qui,2680 +2681,sapiente,omnis,2681 +2682,quibusdam,at,2682 +2683,vitae,aperiam,2683 +2684,qui,perspiciatis,2684 +2685,dolorem,doloremque,2685 +2686,deserunt,esse,2686 +2687,suscipit,eos,2687 +2688,beatae,molestias,2688 +2689,magni,rerum,2689 +2690,et,quisquam,2690 +2691,voluptatem,aut,2691 +2692,rerum,dignissimos,2692 +2693,omnis,ad,2693 +2694,a,dignissimos,2694 +2695,dolore,aut,2695 +2696,tempore,tempora,2696 +2697,magni,autem,2697 +2698,dolor,accusamus,2698 +2699,perspiciatis,molestias,2699 +2700,quaerat,similique,2700 +2701,aut,quos,2701 +2702,facere,doloremque,2702 +2703,doloremque,delectus,2703 +2704,magni,exercitationem,2704 +2705,ea,culpa,2705 +2706,culpa,assumenda,2706 +2707,officiis,dicta,2707 +2708,qui,laboriosam,2708 +2709,modi,eos,2709 +2710,consequuntur,repudiandae,2710 +2711,dolor,mollitia,2711 +2712,quisquam,illum,2712 +2713,sunt,unde,2713 +2714,quo,voluptas,2714 +2715,fugit,deleniti,2715 +2716,culpa,provident,2716 +2717,labore,praesentium,2717 +2718,cupiditate,numquam,2718 +2719,quis,qui,2719 +2720,deserunt,vel,2720 +2721,expedita,cupiditate,2721 +2722,ut,voluptatibus,2722 +2723,sapiente,voluptatem,2723 +2724,sed,recusandae,2724 +2725,et,animi,2725 +2726,iure,est,2726 +2727,odio,est,2727 +2728,blanditiis,amet,2728 +2729,laborum,reiciendis,2729 +2730,maxime,officiis,2730 +2731,explicabo,iure,2731 +2732,modi,minus,2732 +2733,sed,animi,2733 +2734,est,facere,2734 +2735,cum,sed,2735 +2736,eius,molestias,2736 +2737,nihil,dolorem,2737 +2738,aut,unde,2738 +2739,commodi,omnis,2739 +2740,cum,quas,2740 +2741,iusto,nostrum,2741 +2742,voluptatem,et,2742 +2743,aut,et,2743 +2744,qui,eos,2744 +2745,non,in,2745 +2746,reiciendis,et,2746 +2747,inventore,perferendis,2747 +2748,modi,commodi,2748 +2749,aut,vel,2749 +2750,perspiciatis,optio,2750 +2751,quis,iusto,2751 +2752,ea,qui,2752 +2753,architecto,corporis,2753 +2754,in,recusandae,2754 +2755,fugiat,voluptatem,2755 +2756,libero,quia,2756 +2757,nihil,similique,2757 +2758,quis,quam,2758 +2759,deleniti,sed,2759 +2760,eius,fugiat,2760 +2761,nulla,iusto,2761 +2762,nihil,et,2762 +2763,quisquam,sint,2763 +2764,iste,iste,2764 +2765,et,nobis,2765 +2766,recusandae,quia,2766 +2767,consequatur,alias,2767 +2768,excepturi,molestiae,2768 +2769,sed,ipsum,2769 +2770,ut,labore,2770 +2771,qui,quos,2771 +2772,dolor,ut,2772 +2773,ullam,quas,2773 +2774,iusto,maxime,2774 +2775,dolor,est,2775 +2776,nobis,deleniti,2776 +2777,fugit,culpa,2777 +2778,est,velit,2778 +2779,dolores,molestiae,2779 +2780,sit,suscipit,2780 +2781,unde,in,2781 +2782,molestiae,voluptas,2782 +2783,repellat,eius,2783 +2784,non,ab,2784 +2785,sint,sint,2785 +2786,voluptatibus,earum,2786 +2787,dolore,in,2787 +2788,sapiente,eos,2788 +2789,quis,sequi,2789 +2790,voluptates,beatae,2790 +2791,sapiente,quia,2791 +2792,sit,dolorem,2792 +2793,omnis,doloremque,2793 +2794,adipisci,dignissimos,2794 +2795,beatae,necessitatibus,2795 +2796,vel,doloribus,2796 +2797,sit,nulla,2797 +2798,corrupti,et,2798 +2799,a,sapiente,2799 +2800,quaerat,optio,2800 +2801,dicta,animi,2801 +2802,numquam,et,2802 +2803,et,aliquid,2803 +2804,accusamus,dolores,2804 +2805,est,adipisci,2805 +2806,non,iure,2806 +2807,nihil,veniam,2807 +2808,et,autem,2808 +2809,nesciunt,ducimus,2809 +2810,minus,vel,2810 +2811,cum,sit,2811 +2812,maxime,ea,2812 +2813,officia,veniam,2813 +2814,qui,minus,2814 +2815,similique,perspiciatis,2815 +2816,est,ut,2816 +2817,in,fuga,2817 +2818,necessitatibus,incidunt,2818 +2819,voluptatibus,et,2819 +2820,dolore,minus,2820 +2821,velit,id,2821 +2822,laudantium,et,2822 +2823,vel,recusandae,2823 +2824,delectus,nulla,2824 +2825,mollitia,sint,2825 +2826,ut,aut,2826 +2827,dolorem,quod,2827 +2828,ut,dolores,2828 +2829,soluta,aut,2829 +2830,occaecati,et,2830 +2831,debitis,qui,2831 +2832,suscipit,adipisci,2832 +2833,facilis,at,2833 +2834,animi,aut,2834 +2835,veritatis,itaque,2835 +2836,dolore,aliquam,2836 +2837,aut,voluptatem,2837 +2838,vero,est,2838 +2839,aliquid,mollitia,2839 +2840,qui,voluptatum,2840 +2841,omnis,ea,2841 +2842,delectus,quam,2842 +2843,modi,doloribus,2843 +2844,necessitatibus,ducimus,2844 +2845,voluptas,nulla,2845 +2846,sit,rem,2846 +2847,possimus,sequi,2847 +2848,id,similique,2848 +2849,quis,dolorum,2849 +2850,sit,rerum,2850 +2851,ex,voluptas,2851 +2852,et,quis,2852 +2853,saepe,quia,2853 +2854,laboriosam,temporibus,2854 +2855,nihil,est,2855 +2856,est,inventore,2856 +2857,voluptate,sit,2857 +2858,nesciunt,ipsa,2858 +2859,excepturi,sequi,2859 +2860,quos,ad,2860 +2861,ut,laboriosam,2861 +2862,est,id,2862 +2863,sit,doloribus,2863 +2864,qui,veritatis,2864 +2865,soluta,est,2865 +2866,eligendi,consequatur,2866 +2867,saepe,voluptatem,2867 +2868,eos,iusto,2868 +2869,veniam,dicta,2869 +2870,suscipit,nulla,2870 +2871,neque,aperiam,2871 +2872,modi,maxime,2872 +2873,aliquam,aut,2873 +2874,a,inventore,2874 +2875,qui,alias,2875 +2876,voluptates,consequatur,2876 +2877,natus,dolores,2877 +2878,et,sunt,2878 +2879,eligendi,ab,2879 +2880,odio,eos,2880 +2881,quia,dolorem,2881 +2882,voluptas,neque,2882 +2883,autem,voluptas,2883 +2884,facilis,harum,2884 +2885,commodi,ut,2885 +2886,facere,necessitatibus,2886 +2887,nesciunt,omnis,2887 +2888,consequuntur,ab,2888 +2889,maiores,iure,2889 +2890,rem,ratione,2890 +2891,aspernatur,facere,2891 +2892,vel,deserunt,2892 +2893,nihil,esse,2893 +2894,inventore,aspernatur,2894 +2895,fugit,fugit,2895 +2896,error,neque,2896 +2897,quos,omnis,2897 +2898,laudantium,quia,2898 +2899,officiis,quia,2899 +2900,voluptas,suscipit,2900 +2901,id,id,2901 +2902,at,officiis,2902 +2903,natus,dolore,2903 +2904,repudiandae,qui,2904 +2905,voluptatibus,dolor,2905 +2906,sint,temporibus,2906 +2907,ut,explicabo,2907 +2908,et,et,2908 +2909,iste,et,2909 +2910,mollitia,facere,2910 +2911,adipisci,quod,2911 +2912,quia,nihil,2912 +2913,magni,eum,2913 +2914,et,voluptatem,2914 +2915,quae,recusandae,2915 +2916,harum,adipisci,2916 +2917,unde,dolorem,2917 +2918,qui,ut,2918 +2919,eaque,occaecati,2919 +2920,voluptas,amet,2920 +2921,doloremque,dolor,2921 +2922,dolorem,provident,2922 +2923,quas,omnis,2923 +2924,nulla,cumque,2924 +2925,consectetur,magni,2925 +2926,laudantium,recusandae,2926 +2927,vitae,quod,2927 +2928,numquam,quia,2928 +2929,mollitia,est,2929 +2930,explicabo,dolores,2930 +2931,velit,odio,2931 +2932,ut,dolor,2932 +2933,qui,nam,2933 +2934,eos,quaerat,2934 +2935,ullam,libero,2935 +2936,fuga,non,2936 +2937,cum,nisi,2937 +2938,accusantium,dolorum,2938 +2939,provident,non,2939 +2940,blanditiis,ipsum,2940 +2941,veniam,iste,2941 +2942,non,nihil,2942 +2943,iure,voluptatem,2943 +2944,necessitatibus,explicabo,2944 +2945,aut,inventore,2945 +2946,impedit,velit,2946 +2947,repellat,vel,2947 +2948,qui,omnis,2948 +2949,repudiandae,officia,2949 +2950,consequuntur,corrupti,2950 +2951,et,esse,2951 +2952,autem,rem,2952 +2953,mollitia,in,2953 +2954,perspiciatis,nesciunt,2954 +2955,doloribus,animi,2955 +2956,sunt,provident,2956 +2957,quis,consequatur,2957 +2958,nihil,accusamus,2958 +2959,libero,est,2959 +2960,eaque,et,2960 +2961,aut,porro,2961 +2962,distinctio,impedit,2962 +2963,amet,consequatur,2963 +2964,quod,sed,2964 +2965,in,suscipit,2965 +2966,ratione,et,2966 +2967,minus,eius,2967 +2968,culpa,sint,2968 +2969,tempore,quasi,2969 +2970,qui,voluptatem,2970 +2971,enim,laborum,2971 +2972,voluptates,sapiente,2972 +2973,numquam,autem,2973 +2974,alias,fugit,2974 +2975,accusantium,magni,2975 +2976,sit,voluptates,2976 +2977,aut,voluptas,2977 +2978,assumenda,ut,2978 +2979,qui,voluptatem,2979 +2980,minus,reprehenderit,2980 +2981,fugiat,temporibus,2981 +2982,doloribus,quis,2982 +2983,est,voluptatem,2983 +2984,et,consequatur,2984 +2985,nostrum,laudantium,2985 +2986,quasi,itaque,2986 +2987,enim,in,2987 +2988,et,magnam,2988 +2989,alias,aperiam,2989 +2990,dolor,ut,2990 +2991,non,aut,2991 +2992,et,quos,2992 +2993,nisi,nisi,2993 +2994,dolor,ut,2994 +2995,voluptate,quasi,2995 +2996,adipisci,blanditiis,2996 +2997,repellat,voluptas,2997 +2998,velit,dolores,2998 +2999,exercitationem,facere,2999 +3000,debitis,doloribus,3000 +3001,ducimus,nostrum,3001 +3002,quod,dolorem,3002 +3003,ducimus,aut,3003 +3004,quidem,perferendis,3004 +3005,sed,ducimus,3005 +3006,voluptate,voluptatem,3006 +3007,laboriosam,tempore,3007 +3008,nesciunt,odio,3008 +3009,asperiores,nam,3009 +3010,dolor,esse,3010 +3011,similique,sunt,3011 +3012,in,ipsam,3012 +3013,quo,sequi,3013 +3014,quidem,voluptas,3014 +3015,explicabo,iusto,3015 +3016,voluptatem,error,3016 +3017,asperiores,aut,3017 +3018,repellendus,nesciunt,3018 +3019,nesciunt,est,3019 +3020,in,vitae,3020 +3021,aliquid,quas,3021 +3022,quae,ipsum,3022 +3023,eveniet,quaerat,3023 +3024,quae,est,3024 +3025,voluptas,id,3025 +3026,soluta,explicabo,3026 +3027,sunt,in,3027 +3028,molestiae,et,3028 +3029,qui,enim,3029 +3030,voluptates,vel,3030 +3031,officia,facere,3031 +3032,nam,quidem,3032 +3033,iusto,et,3033 +3034,consequuntur,eveniet,3034 +3035,nulla,id,3035 +3036,tenetur,ut,3036 +3037,ea,quod,3037 +3038,explicabo,modi,3038 +3039,consequatur,necessitatibus,3039 +3040,iste,voluptas,3040 +3041,vel,praesentium,3041 +3042,et,earum,3042 +3043,et,assumenda,3043 +3044,inventore,deserunt,3044 +3045,sint,quis,3045 +3046,amet,ex,3046 +3047,explicabo,sed,3047 +3048,aut,consequuntur,3048 +3049,et,soluta,3049 +3050,dolores,occaecati,3050 +3051,quo,voluptatem,3051 +3052,molestiae,perspiciatis,3052 +3053,a,commodi,3053 +3054,sed,alias,3054 +3055,suscipit,numquam,3055 +3056,ea,veritatis,3056 +3057,corrupti,inventore,3057 +3058,temporibus,at,3058 +3059,rerum,et,3059 +3060,amet,et,3060 +3061,repellat,ex,3061 +3062,commodi,quia,3062 +3063,velit,eveniet,3063 +3064,quod,quasi,3064 +3065,eum,nesciunt,3065 +3066,eligendi,dolorum,3066 +3067,fuga,corporis,3067 +3068,voluptatem,praesentium,3068 +3069,eveniet,ut,3069 +3070,molestias,deserunt,3070 +3071,laborum,laborum,3071 +3072,voluptas,beatae,3072 +3073,tenetur,voluptatem,3073 +3074,eum,ut,3074 +3075,ipsa,fuga,3075 +3076,id,porro,3076 +3077,qui,iusto,3077 +3078,sit,consequatur,3078 +3079,eos,rerum,3079 +3080,harum,esse,3080 +3081,quia,quas,3081 +3082,nesciunt,repellendus,3082 +3083,autem,exercitationem,3083 +3084,qui,vel,3084 +3085,suscipit,consequatur,3085 +3086,dolorem,consectetur,3086 +3087,et,eaque,3087 +3088,repellendus,officia,3088 +3089,praesentium,nulla,3089 +3090,doloribus,minima,3090 +3091,ut,laborum,3091 +3092,ducimus,molestiae,3092 +3093,eum,placeat,3093 +3094,eligendi,vero,3094 +3095,accusamus,rerum,3095 +3096,est,quia,3096 +3097,aliquam,iste,3097 +3098,quia,consequatur,3098 +3099,labore,facilis,3099 +3100,quo,inventore,3100 +3101,quos,molestiae,3101 +3102,itaque,illo,3102 +3103,nam,qui,3103 +3104,minus,inventore,3104 +3105,eaque,aut,3105 +3106,iste,nobis,3106 +3107,vitae,assumenda,3107 +3108,temporibus,aliquid,3108 +3109,et,corrupti,3109 +3110,sunt,dolore,3110 +3111,quibusdam,cupiditate,3111 +3112,eaque,voluptate,3112 +3113,commodi,voluptates,3113 +3114,omnis,facilis,3114 +3115,at,perferendis,3115 +3116,amet,voluptatem,3116 +3117,qui,enim,3117 +3118,est,consequatur,3118 +3119,accusamus,alias,3119 +3120,ducimus,ut,3120 +3121,delectus,odit,3121 +3122,a,debitis,3122 +3123,voluptas,modi,3123 +3124,enim,et,3124 +3125,pariatur,omnis,3125 +3126,aut,deserunt,3126 +3127,cum,voluptas,3127 +3128,rerum,nihil,3128 +3129,beatae,quo,3129 +3130,et,voluptatem,3130 +3131,eum,voluptates,3131 +3132,est,commodi,3132 +3133,eveniet,quae,3133 +3134,enim,cupiditate,3134 +3135,unde,in,3135 +3136,molestias,molestiae,3136 +3137,asperiores,sed,3137 +3138,rerum,qui,3138 +3139,et,possimus,3139 +3140,quia,reprehenderit,3140 +3141,excepturi,tempora,3141 +3142,voluptatibus,voluptatibus,3142 +3143,eaque,rerum,3143 +3144,dignissimos,beatae,3144 +3145,dolores,et,3145 +3146,qui,dolor,3146 +3147,inventore,atque,3147 +3148,iusto,eum,3148 +3149,voluptates,temporibus,3149 +3150,debitis,et,3150 +3151,sint,perspiciatis,3151 +3152,hic,adipisci,3152 +3153,assumenda,ex,3153 +3154,repellat,magni,3154 +3155,delectus,consectetur,3155 +3156,quis,aut,3156 +3157,quo,quod,3157 +3158,ad,quo,3158 +3159,non,quia,3159 +3160,accusamus,enim,3160 +3161,nemo,dignissimos,3161 +3162,molestias,molestiae,3162 +3163,voluptatibus,et,3163 +3164,voluptatibus,est,3164 +3165,sequi,cumque,3165 +3166,cumque,id,3166 +3167,cum,iste,3167 +3168,est,nihil,3168 +3169,et,voluptatem,3169 +3170,sint,quia,3170 +3171,amet,odio,3171 +3172,omnis,et,3172 +3173,qui,explicabo,3173 +3174,et,sit,3174 +3175,nobis,sunt,3175 +3176,excepturi,eos,3176 +3177,quia,veniam,3177 +3178,temporibus,sint,3178 +3179,animi,totam,3179 +3180,optio,incidunt,3180 +3181,fugit,et,3181 +3182,nostrum,sint,3182 +3183,maiores,qui,3183 +3184,aspernatur,voluptatem,3184 +3185,quam,omnis,3185 +3186,quis,magnam,3186 +3187,sit,dolor,3187 +3188,eaque,voluptatibus,3188 +3189,enim,autem,3189 +3190,quia,totam,3190 +3191,eligendi,architecto,3191 +3192,sunt,et,3192 +3193,quia,et,3193 +3194,assumenda,perferendis,3194 +3195,ut,est,3195 +3196,et,architecto,3196 +3197,dolorum,fugit,3197 +3198,libero,possimus,3198 +3199,quasi,voluptatem,3199 +3200,magni,qui,3200 +3201,quia,dignissimos,3201 +3202,ipsa,molestiae,3202 +3203,sed,laborum,3203 +3204,dolore,animi,3204 +3205,minima,officia,3205 +3206,quod,maxime,3206 +3207,non,rem,3207 +3208,adipisci,rerum,3208 +3209,voluptate,accusamus,3209 +3210,deleniti,placeat,3210 +3211,officia,harum,3211 +3212,provident,id,3212 +3213,id,voluptatem,3213 +3214,minus,doloremque,3214 +3215,libero,temporibus,3215 +3216,sed,iusto,3216 +3217,dolores,ab,3217 +3218,quia,nihil,3218 +3219,est,sed,3219 +3220,sit,repellat,3220 +3221,quia,aliquam,3221 +3222,ut,rem,3222 +3223,dolorem,explicabo,3223 +3224,reprehenderit,sint,3224 +3225,est,molestiae,3225 +3226,quia,quis,3226 +3227,hic,enim,3227 +3228,provident,eum,3228 +3229,magnam,dolores,3229 +3230,illum,laboriosam,3230 +3231,maxime,aliquid,3231 +3232,dolores,officia,3232 +3233,aliquid,placeat,3233 +3234,et,dolor,3234 +3235,minima,rem,3235 +3236,ipsum,blanditiis,3236 +3237,impedit,quaerat,3237 +3238,aut,enim,3238 +3239,consequatur,tenetur,3239 +3240,placeat,maiores,3240 +3241,quia,cupiditate,3241 +3242,et,maiores,3242 +3243,natus,earum,3243 +3244,doloremque,aut,3244 +3245,neque,adipisci,3245 +3246,et,consectetur,3246 +3247,quia,odit,3247 +3248,aliquam,alias,3248 +3249,recusandae,omnis,3249 +3250,doloremque,est,3250 +3251,fuga,nulla,3251 +3252,ut,impedit,3252 +3253,quam,vel,3253 +3254,qui,illo,3254 +3255,voluptas,dicta,3255 +3256,veniam,rerum,3256 +3257,qui,reprehenderit,3257 +3258,officia,sed,3258 +3259,accusamus,temporibus,3259 +3260,recusandae,autem,3260 +3261,maxime,reprehenderit,3261 +3262,nostrum,labore,3262 +3263,laboriosam,iste,3263 +3264,porro,aut,3264 +3265,et,dolorum,3265 +3266,qui,labore,3266 +3267,laborum,numquam,3267 +3268,repudiandae,soluta,3268 +3269,et,quos,3269 +3270,ut,qui,3270 +3271,excepturi,doloremque,3271 +3272,dolor,reprehenderit,3272 +3273,quis,labore,3273 +3274,dolorem,est,3274 +3275,cupiditate,optio,3275 +3276,quo,consequatur,3276 +3277,sed,voluptate,3277 +3278,laboriosam,veritatis,3278 +3279,et,dolor,3279 +3280,odio,eum,3280 +3281,quo,iusto,3281 +3282,aspernatur,vitae,3282 +3283,hic,voluptatem,3283 +3284,mollitia,assumenda,3284 +3285,quo,occaecati,3285 +3286,enim,hic,3286 +3287,est,quo,3287 +3288,accusamus,accusamus,3288 +3289,molestiae,tenetur,3289 +3290,dolores,et,3290 +3291,qui,voluptate,3291 +3292,quis,velit,3292 +3293,architecto,modi,3293 +3294,est,illum,3294 +3295,est,a,3295 +3296,et,unde,3296 +3297,quasi,quia,3297 +3298,laudantium,voluptas,3298 +3299,veritatis,et,3299 +3300,at,voluptatem,3300 +3301,maxime,eius,3301 +3302,velit,rem,3302 +3303,voluptatem,nemo,3303 +3304,consequatur,in,3304 +3305,exercitationem,debitis,3305 +3306,error,repudiandae,3306 +3307,consequatur,eveniet,3307 +3308,aut,voluptatibus,3308 +3309,blanditiis,deserunt,3309 +3310,facilis,unde,3310 +3311,in,quam,3311 +3312,et,est,3312 +3313,maxime,praesentium,3313 +3314,dolores,sapiente,3314 +3315,quia,at,3315 +3316,numquam,corporis,3316 +3317,omnis,cumque,3317 +3318,occaecati,commodi,3318 +3319,molestiae,repellat,3319 +3320,voluptate,velit,3320 +3321,fuga,cumque,3321 +3322,minus,nesciunt,3322 +3323,voluptatem,a,3323 +3324,minima,dolores,3324 +3325,labore,cupiditate,3325 +3326,blanditiis,in,3326 +3327,iste,non,3327 +3328,ipsum,magni,3328 +3329,labore,debitis,3329 +3330,ad,veniam,3330 +3331,perferendis,ipsam,3331 +3332,similique,et,3332 +3333,qui,dolor,3333 +3334,dolorem,eius,3334 +3335,ut,a,3335 +3336,ea,consequatur,3336 +3337,aspernatur,nisi,3337 +3338,accusamus,aut,3338 +3339,quibusdam,sint,3339 +3340,unde,omnis,3340 +3341,dolorem,distinctio,3341 +3342,sapiente,dolorum,3342 +3343,vero,a,3343 +3344,voluptas,officiis,3344 +3345,quia,velit,3345 +3346,fugit,debitis,3346 +3347,voluptas,dolor,3347 +3348,dicta,quia,3348 +3349,minus,consequatur,3349 +3350,velit,et,3350 +3351,aut,et,3351 +3352,laudantium,non,3352 +3353,laborum,iste,3353 +3354,cum,dolor,3354 +3355,est,occaecati,3355 +3356,ducimus,officia,3356 +3357,distinctio,quasi,3357 +3358,tempora,soluta,3358 +3359,doloremque,quo,3359 +3360,ut,quia,3360 +3361,quasi,autem,3361 +3362,ullam,minus,3362 +3363,et,praesentium,3363 +3364,omnis,est,3364 +3365,nihil,hic,3365 +3366,qui,et,3366 +3367,consequatur,qui,3367 +3368,cumque,quis,3368 +3369,voluptas,vitae,3369 +3370,dolor,corporis,3370 +3371,et,magni,3371 +3372,unde,minus,3372 +3373,recusandae,rerum,3373 +3374,non,cumque,3374 +3375,dolore,voluptatum,3375 +3376,qui,aut,3376 +3377,qui,quis,3377 +3378,sint,omnis,3378 +3379,deserunt,id,3379 +3380,nemo,aliquam,3380 +3381,asperiores,a,3381 +3382,et,tempore,3382 +3383,eaque,et,3383 +3384,odio,et,3384 +3385,omnis,deserunt,3385 +3386,rem,dolorum,3386 +3387,asperiores,sed,3387 +3388,modi,sed,3388 +3389,aut,error,3389 +3390,cumque,quis,3390 +3391,omnis,praesentium,3391 +3392,praesentium,eveniet,3392 +3393,aut,quasi,3393 +3394,sint,commodi,3394 +3395,fugit,ut,3395 +3396,iusto,magnam,3396 +3397,debitis,quidem,3397 +3398,voluptatibus,aut,3398 +3399,ea,aspernatur,3399 +3400,in,odit,3400 +3401,nemo,est,3401 +3402,cum,ducimus,3402 +3403,consectetur,quae,3403 +3404,praesentium,hic,3404 +3405,recusandae,consectetur,3405 +3406,doloribus,amet,3406 +3407,et,sed,3407 +3408,et,ut,3408 +3409,nihil,vitae,3409 +3410,ullam,iusto,3410 +3411,qui,aut,3411 +3412,sapiente,officia,3412 +3413,rerum,adipisci,3413 +3414,omnis,rem,3414 +3415,unde,ut,3415 +3416,ut,illum,3416 +3417,et,et,3417 +3418,aliquid,rerum,3418 +3419,enim,facere,3419 +3420,esse,qui,3420 +3421,animi,eum,3421 +3422,modi,possimus,3422 +3423,reiciendis,incidunt,3423 +3424,soluta,dolor,3424 +3425,enim,id,3425 +3426,et,laboriosam,3426 +3427,aut,aliquid,3427 +3428,corporis,rerum,3428 +3429,officiis,et,3429 +3430,autem,qui,3430 +3431,et,expedita,3431 +3432,dolorem,suscipit,3432 +3433,quidem,voluptas,3433 +3434,dolore,est,3434 +3435,qui,porro,3435 +3436,omnis,et,3436 +3437,quos,dignissimos,3437 +3438,reiciendis,voluptatum,3438 +3439,omnis,quo,3439 +3440,id,saepe,3440 +3441,sint,illo,3441 +3442,voluptate,ab,3442 +3443,provident,iste,3443 +3444,numquam,eveniet,3444 +3445,fugiat,omnis,3445 +3446,nulla,nam,3446 +3447,ut,voluptatem,3447 +3448,omnis,dolores,3448 +3449,dolorem,id,3449 +3450,sit,non,3450 +3451,consequatur,minus,3451 +3452,recusandae,temporibus,3452 +3453,eveniet,vero,3453 +3454,nulla,blanditiis,3454 +3455,eius,dolorum,3455 +3456,voluptates,sit,3456 +3457,deserunt,nam,3457 +3458,consequatur,ducimus,3458 +3459,sed,aut,3459 +3460,tenetur,id,3460 +3461,recusandae,et,3461 +3462,ea,autem,3462 +3463,aut,eaque,3463 +3464,velit,enim,3464 +3465,unde,dolores,3465 +3466,architecto,repellendus,3466 +3467,reiciendis,qui,3467 +3468,pariatur,blanditiis,3468 +3469,eum,voluptatem,3469 +3470,consequatur,earum,3470 +3471,optio,soluta,3471 +3472,quibusdam,saepe,3472 +3473,sed,eos,3473 +3474,ipsum,eaque,3474 +3475,nobis,dolorem,3475 +3476,quo,rerum,3476 +3477,provident,vel,3477 +3478,corporis,laboriosam,3478 +3479,repudiandae,accusantium,3479 +3480,animi,illo,3480 +3481,aliquam,nisi,3481 +3482,officia,nisi,3482 +3483,atque,harum,3483 +3484,earum,sed,3484 +3485,ut,dicta,3485 +3486,ipsum,doloremque,3486 +3487,recusandae,doloribus,3487 +3488,laboriosam,dolorum,3488 +3489,aut,rem,3489 +3490,voluptatem,a,3490 +3491,quia,nisi,3491 +3492,ut,quis,3492 +3493,ut,dolores,3493 +3494,tempore,veritatis,3494 +3495,voluptatibus,iste,3495 +3496,necessitatibus,non,3496 +3497,quibusdam,aut,3497 +3498,delectus,molestiae,3498 +3499,reiciendis,id,3499 +3500,blanditiis,sed,3500 +3501,eaque,aut,3501 +3502,atque,doloremque,3502 +3503,aut,sed,3503 +3504,quam,quibusdam,3504 +3505,minus,consequatur,3505 +3506,odio,velit,3506 +3507,praesentium,et,3507 +3508,deserunt,nobis,3508 +3509,qui,laboriosam,3509 +3510,qui,quasi,3510 +3511,est,earum,3511 +3512,architecto,veniam,3512 +3513,sit,et,3513 +3514,possimus,blanditiis,3514 +3515,dolores,iusto,3515 +3516,molestiae,aut,3516 +3517,est,libero,3517 +3518,aliquid,officia,3518 +3519,tempora,impedit,3519 +3520,fuga,iure,3520 +3521,reprehenderit,aperiam,3521 +3522,voluptatem,tempore,3522 +3523,consequatur,iusto,3523 +3524,excepturi,quibusdam,3524 +3525,optio,enim,3525 +3526,quam,omnis,3526 +3527,possimus,consequatur,3527 +3528,praesentium,doloribus,3528 +3529,ea,quaerat,3529 +3530,pariatur,libero,3530 +3531,maxime,pariatur,3531 +3532,quae,hic,3532 +3533,minima,odit,3533 +3534,corrupti,hic,3534 +3535,suscipit,fugiat,3535 +3536,dolores,eos,3536 +3537,omnis,labore,3537 +3538,eligendi,nesciunt,3538 +3539,unde,sunt,3539 +3540,sed,perferendis,3540 +3541,qui,cumque,3541 +3542,occaecati,earum,3542 +3543,molestiae,aut,3543 +3544,nihil,excepturi,3544 +3545,dolor,esse,3545 +3546,ut,praesentium,3546 +3547,quia,deserunt,3547 +3548,quaerat,omnis,3548 +3549,quo,sunt,3549 +3550,repellendus,accusamus,3550 +3551,et,a,3551 +3552,perspiciatis,earum,3552 +3553,laboriosam,in,3553 +3554,tempore,molestiae,3554 +3555,unde,minima,3555 +3556,est,enim,3556 +3557,repudiandae,ut,3557 +3558,qui,eum,3558 +3559,vel,aut,3559 +3560,magni,animi,3560 +3561,libero,quo,3561 +3562,nulla,quibusdam,3562 +3563,ut,voluptatum,3563 +3564,voluptatem,et,3564 +3565,sit,qui,3565 +3566,et,architecto,3566 +3567,ipsum,et,3567 +3568,maiores,molestiae,3568 +3569,qui,dolor,3569 +3570,et,qui,3570 +3571,ex,aut,3571 +3572,expedita,asperiores,3572 +3573,autem,quisquam,3573 +3574,exercitationem,consequatur,3574 +3575,quae,omnis,3575 +3576,officiis,et,3576 +3577,vitae,praesentium,3577 +3578,explicabo,quasi,3578 +3579,quia,et,3579 +3580,repellendus,veniam,3580 +3581,necessitatibus,odio,3581 +3582,cumque,atque,3582 +3583,itaque,provident,3583 +3584,nulla,in,3584 +3585,rerum,facere,3585 +3586,ut,autem,3586 +3587,veritatis,occaecati,3587 +3588,voluptatibus,aliquam,3588 +3589,temporibus,autem,3589 +3590,voluptatem,ea,3590 +3591,dolore,est,3591 +3592,enim,est,3592 +3593,earum,nam,3593 +3594,vel,omnis,3594 +3595,et,deleniti,3595 +3596,dolorum,voluptatem,3596 +3597,nostrum,soluta,3597 +3598,dignissimos,quia,3598 +3599,cum,iure,3599 +3600,aspernatur,est,3600 +3601,dolorem,fugiat,3601 +3602,neque,laborum,3602 +3603,et,vel,3603 +3604,voluptatem,expedita,3604 +3605,sunt,rerum,3605 +3606,mollitia,et,3606 +3607,ad,quaerat,3607 +3608,illo,iusto,3608 +3609,sed,necessitatibus,3609 +3610,quidem,nihil,3610 +3611,quo,voluptatem,3611 +3612,vitae,autem,3612 +3613,et,aspernatur,3613 +3614,ea,inventore,3614 +3615,qui,voluptatem,3615 +3616,voluptates,consectetur,3616 +3617,illum,quibusdam,3617 +3618,nesciunt,ab,3618 +3619,repellat,illum,3619 +3620,optio,ut,3620 +3621,quisquam,voluptas,3621 +3622,ut,ipsa,3622 +3623,minus,voluptatem,3623 +3624,accusamus,sed,3624 +3625,eligendi,iste,3625 +3626,at,est,3626 +3627,culpa,et,3627 +3628,ex,dolores,3628 +3629,debitis,earum,3629 +3630,laborum,similique,3630 +3631,temporibus,consequatur,3631 +3632,qui,iste,3632 +3633,modi,non,3633 +3634,fugiat,et,3634 +3635,deserunt,odit,3635 +3636,dignissimos,quibusdam,3636 +3637,quia,dignissimos,3637 +3638,et,enim,3638 +3639,et,culpa,3639 +3640,voluptatem,nostrum,3640 +3641,doloribus,magni,3641 +3642,harum,sint,3642 +3643,similique,quis,3643 +3644,nihil,quia,3644 +3645,qui,sit,3645 +3646,rem,ratione,3646 +3647,molestias,dignissimos,3647 +3648,minima,aut,3648 +3649,molestias,sapiente,3649 +3650,qui,dolore,3650 +3651,ad,qui,3651 +3652,commodi,doloremque,3652 +3653,illum,atque,3653 +3654,dignissimos,rem,3654 +3655,ab,eaque,3655 +3656,qui,deserunt,3656 +3657,dolores,occaecati,3657 +3658,omnis,ut,3658 +3659,omnis,eum,3659 +3660,consequatur,pariatur,3660 +3661,sit,impedit,3661 +3662,itaque,labore,3662 +3663,quae,et,3663 +3664,sed,deleniti,3664 +3665,laudantium,autem,3665 +3666,voluptate,sed,3666 +3667,pariatur,officia,3667 +3668,labore,odit,3668 +3669,nisi,qui,3669 +3670,et,nihil,3670 +3671,occaecati,voluptas,3671 +3672,alias,magnam,3672 +3673,dolores,optio,3673 +3674,accusantium,rem,3674 +3675,qui,atque,3675 +3676,culpa,numquam,3676 +3677,veniam,sit,3677 +3678,sed,corporis,3678 +3679,amet,dolorem,3679 +3680,et,ut,3680 +3681,dolores,corrupti,3681 +3682,voluptates,dolor,3682 +3683,doloribus,unde,3683 +3684,perspiciatis,vitae,3684 +3685,odio,quo,3685 +3686,eaque,consequuntur,3686 +3687,mollitia,delectus,3687 +3688,odit,consequatur,3688 +3689,necessitatibus,eos,3689 +3690,perspiciatis,in,3690 +3691,officia,in,3691 +3692,a,error,3692 +3693,impedit,voluptas,3693 +3694,vitae,omnis,3694 +3695,quaerat,quis,3695 +3696,quo,asperiores,3696 +3697,quia,explicabo,3697 +3698,nulla,quam,3698 +3699,accusantium,expedita,3699 +3700,officiis,dolores,3700 +3701,nulla,quia,3701 +3702,doloribus,vel,3702 +3703,doloribus,beatae,3703 +3704,voluptatem,labore,3704 +3705,voluptate,rerum,3705 +3706,non,sint,3706 +3707,inventore,sit,3707 +3708,quisquam,quos,3708 +3709,aut,et,3709 +3710,blanditiis,repudiandae,3710 +3711,iusto,et,3711 +3712,eligendi,libero,3712 +3713,consequatur,consequatur,3713 +3714,maiores,ducimus,3714 +3715,eaque,nostrum,3715 +3716,nostrum,aut,3716 +3717,perspiciatis,nesciunt,3717 +3718,aut,quis,3718 +3719,veniam,quis,3719 +3720,veniam,maxime,3720 +3721,ullam,id,3721 +3722,sint,in,3722 +3723,modi,voluptas,3723 +3724,blanditiis,laudantium,3724 +3725,velit,voluptatibus,3725 +3726,aspernatur,rerum,3726 +3727,animi,et,3727 +3728,velit,aspernatur,3728 +3729,atque,quas,3729 +3730,minus,aut,3730 +3731,et,aspernatur,3731 +3732,delectus,modi,3732 +3733,repellendus,eius,3733 +3734,architecto,commodi,3734 +3735,sit,a,3735 +3736,molestiae,culpa,3736 +3737,corporis,maiores,3737 +3738,sapiente,dolor,3738 +3739,repellendus,dolores,3739 +3740,sit,mollitia,3740 +3741,cumque,sit,3741 +3742,excepturi,qui,3742 +3743,ipsa,voluptatibus,3743 +3744,totam,aut,3744 +3745,necessitatibus,molestias,3745 +3746,id,quia,3746 +3747,cum,voluptatem,3747 +3748,eum,earum,3748 +3749,rerum,vel,3749 +3750,est,ea,3750 +3751,enim,ut,3751 +3752,beatae,ipsam,3752 +3753,unde,in,3753 +3754,maiores,nihil,3754 +3755,magnam,et,3755 +3756,consequatur,perspiciatis,3756 +3757,voluptatem,odio,3757 +3758,qui,sunt,3758 +3759,sunt,et,3759 +3760,exercitationem,voluptas,3760 +3761,rerum,corporis,3761 +3762,aliquid,ratione,3762 +3763,minima,delectus,3763 +3764,est,quas,3764 +3765,placeat,consectetur,3765 +3766,expedita,iure,3766 +3767,reiciendis,doloremque,3767 +3768,molestias,tempora,3768 +3769,ullam,culpa,3769 +3770,dolorem,aliquid,3770 +3771,a,laudantium,3771 +3772,est,quo,3772 +3773,sit,qui,3773 +3774,et,minima,3774 +3775,tempora,cum,3775 +3776,quia,impedit,3776 +3777,occaecati,ducimus,3777 +3778,doloribus,facere,3778 +3779,et,porro,3779 +3780,et,consectetur,3780 +3781,incidunt,ab,3781 +3782,rerum,quod,3782 +3783,officia,aut,3783 +3784,dolorum,quod,3784 +3785,quidem,magni,3785 +3786,nemo,fugit,3786 +3787,aliquam,quaerat,3787 +3788,velit,soluta,3788 +3789,exercitationem,ut,3789 +3790,nesciunt,beatae,3790 +3791,dolores,tempora,3791 +3792,quaerat,autem,3792 +3793,delectus,exercitationem,3793 +3794,quia,et,3794 +3795,consequatur,architecto,3795 +3796,accusantium,possimus,3796 +3797,qui,rerum,3797 +3798,voluptatem,rem,3798 +3799,optio,rem,3799 +3800,earum,culpa,3800 +3801,et,eligendi,3801 +3802,ea,alias,3802 +3803,eum,dolores,3803 +3804,earum,similique,3804 +3805,rem,beatae,3805 +3806,voluptatem,animi,3806 +3807,veritatis,non,3807 +3808,accusamus,error,3808 +3809,aliquid,minus,3809 +3810,et,est,3810 +3811,et,error,3811 +3812,minima,quidem,3812 +3813,veniam,veritatis,3813 +3814,iste,asperiores,3814 +3815,enim,quaerat,3815 +3816,vero,consequatur,3816 +3817,laborum,itaque,3817 +3818,natus,neque,3818 +3819,eum,ut,3819 +3820,quae,officiis,3820 +3821,esse,accusantium,3821 +3822,consectetur,ut,3822 +3823,sunt,harum,3823 +3824,quos,rerum,3824 +3825,totam,consequatur,3825 +3826,similique,dolorem,3826 +3827,voluptas,quaerat,3827 +3828,maxime,minima,3828 +3829,velit,deserunt,3829 +3830,perspiciatis,placeat,3830 +3831,omnis,quaerat,3831 +3832,ipsa,repellat,3832 +3833,eius,aliquam,3833 +3834,maiores,et,3834 +3835,omnis,sint,3835 +3836,ut,soluta,3836 +3837,nobis,perferendis,3837 +3838,quaerat,et,3838 +3839,blanditiis,rerum,3839 +3840,quasi,repellendus,3840 +3841,commodi,deserunt,3841 +3842,veniam,officia,3842 +3843,voluptatem,qui,3843 +3844,cupiditate,aut,3844 +3845,quia,labore,3845 +3846,nobis,est,3846 +3847,labore,sint,3847 +3848,quis,officiis,3848 +3849,ullam,voluptatum,3849 +3850,enim,dignissimos,3850 +3851,officia,aliquid,3851 +3852,quis,et,3852 +3853,est,dolorum,3853 +3854,aliquam,rerum,3854 +3855,earum,aut,3855 +3856,voluptate,ad,3856 +3857,laborum,sit,3857 +3858,et,eius,3858 +3859,reprehenderit,qui,3859 +3860,est,ut,3860 +3861,facilis,modi,3861 +3862,beatae,qui,3862 +3863,architecto,tempora,3863 +3864,asperiores,sit,3864 +3865,id,et,3865 +3866,quis,delectus,3866 +3867,unde,et,3867 +3868,qui,quia,3868 +3869,ut,non,3869 +3870,sed,sit,3870 +3871,repudiandae,illum,3871 +3872,voluptas,quia,3872 +3873,ipsa,tempora,3873 +3874,cum,qui,3874 +3875,non,delectus,3875 +3876,sint,consequatur,3876 +3877,ratione,ratione,3877 +3878,est,est,3878 +3879,impedit,voluptate,3879 +3880,ab,iure,3880 +3881,et,asperiores,3881 +3882,id,vel,3882 +3883,ab,omnis,3883 +3884,sit,esse,3884 +3885,repellat,ab,3885 +3886,unde,et,3886 +3887,suscipit,doloribus,3887 +3888,dolore,doloribus,3888 +3889,non,natus,3889 +3890,molestias,molestiae,3890 +3891,occaecati,est,3891 +3892,quod,laborum,3892 +3893,sed,a,3893 +3894,quis,quos,3894 +3895,quo,earum,3895 +3896,delectus,et,3896 +3897,sit,et,3897 +3898,aut,deserunt,3898 +3899,et,ea,3899 +3900,numquam,sunt,3900 +3901,dolorem,et,3901 +3902,non,et,3902 +3903,a,eveniet,3903 +3904,magnam,voluptas,3904 +3905,laudantium,reprehenderit,3905 +3906,sed,unde,3906 +3907,sed,ea,3907 +3908,saepe,hic,3908 +3909,commodi,magnam,3909 +3910,suscipit,voluptate,3910 +3911,consequatur,incidunt,3911 +3912,laborum,cumque,3912 +3913,quo,velit,3913 +3914,inventore,est,3914 +3915,reiciendis,ut,3915 +3916,rem,dolor,3916 +3917,quia,eligendi,3917 +3918,debitis,et,3918 +3919,nemo,eos,3919 +3920,odit,rerum,3920 +3921,necessitatibus,dolorem,3921 +3922,consequatur,inventore,3922 +3923,repellendus,sed,3923 +3924,ratione,repellat,3924 +3925,qui,animi,3925 +3926,maxime,impedit,3926 +3927,quas,autem,3927 +3928,reprehenderit,unde,3928 +3929,neque,est,3929 +3930,et,excepturi,3930 +3931,ex,at,3931 +3932,voluptas,nihil,3932 +3933,maiores,ut,3933 +3934,molestiae,occaecati,3934 +3935,labore,fugit,3935 +3936,voluptatum,aliquid,3936 +3937,maxime,laborum,3937 +3938,quaerat,eos,3938 +3939,modi,animi,3939 +3940,accusantium,voluptatum,3940 +3941,alias,ducimus,3941 +3942,optio,sint,3942 +3943,nemo,et,3943 +3944,facilis,odio,3944 +3945,saepe,natus,3945 +3946,libero,et,3946 +3947,aliquid,illum,3947 +3948,reprehenderit,id,3948 +3949,at,et,3949 +3950,aut,ex,3950 +3951,facere,sequi,3951 +3952,natus,esse,3952 +3953,delectus,et,3953 +3954,qui,voluptas,3954 +3955,est,eaque,3955 +3956,consectetur,quos,3956 +3957,quas,commodi,3957 +3958,quis,hic,3958 +3959,commodi,asperiores,3959 +3960,consequuntur,qui,3960 +3961,perspiciatis,maxime,3961 +3962,et,velit,3962 +3963,incidunt,officiis,3963 +3964,architecto,consectetur,3964 +3965,nam,numquam,3965 +3966,in,sed,3966 +3967,harum,omnis,3967 +3968,eum,labore,3968 +3969,ullam,omnis,3969 +3970,praesentium,et,3970 +3971,ea,at,3971 +3972,culpa,voluptas,3972 +3973,aliquam,quae,3973 +3974,sint,quasi,3974 +3975,ut,doloremque,3975 +3976,in,est,3976 +3977,cumque,velit,3977 +3978,et,et,3978 +3979,explicabo,sint,3979 +3980,dolorum,aut,3980 +3981,odit,temporibus,3981 +3982,praesentium,voluptatem,3982 +3983,omnis,maiores,3983 +3984,dolores,accusantium,3984 +3985,autem,assumenda,3985 +3986,repudiandae,sequi,3986 +3987,eius,omnis,3987 +3988,magnam,accusantium,3988 +3989,ratione,tempore,3989 +3990,ut,aut,3990 +3991,est,ut,3991 +3992,cumque,dolore,3992 +3993,neque,id,3993 +3994,repellat,fugiat,3994 +3995,quod,aspernatur,3995 +3996,suscipit,facilis,3996 +3997,reprehenderit,debitis,3997 +3998,placeat,repudiandae,3998 +3999,velit,quia,3999 +4000,dolorem,nam,4000 +4001,voluptatem,non,4001 +4002,explicabo,in,4002 +4003,ullam,quas,4003 +4004,minima,sit,4004 +4005,omnis,accusamus,4005 +4006,ratione,magnam,4006 +4007,corporis,repudiandae,4007 +4008,eius,est,4008 +4009,commodi,aperiam,4009 +4010,ut,velit,4010 +4011,expedita,ea,4011 +4012,doloribus,dolorum,4012 +4013,ducimus,laborum,4013 +4014,possimus,sunt,4014 +4015,tenetur,et,4015 +4016,mollitia,distinctio,4016 +4017,qui,eum,4017 +4018,voluptas,architecto,4018 +4019,magni,quidem,4019 +4020,nostrum,labore,4020 +4021,maiores,quasi,4021 +4022,eos,id,4022 +4023,quia,consectetur,4023 +4024,doloribus,in,4024 +4025,maxime,reiciendis,4025 +4026,amet,aut,4026 +4027,sed,culpa,4027 +4028,sint,iusto,4028 +4029,quo,natus,4029 +4030,ea,et,4030 +4031,quo,omnis,4031 +4032,sint,nemo,4032 +4033,vitae,omnis,4033 +4034,quo,quod,4034 +4035,recusandae,animi,4035 +4036,qui,animi,4036 +4037,dolorem,nesciunt,4037 +4038,numquam,dolores,4038 +4039,sequi,id,4039 +4040,saepe,hic,4040 +4041,minus,est,4041 +4042,explicabo,mollitia,4042 +4043,perspiciatis,nihil,4043 +4044,eaque,et,4044 +4045,animi,sint,4045 +4046,mollitia,nisi,4046 +4047,ut,perspiciatis,4047 +4048,quo,consequatur,4048 +4049,est,quia,4049 +4050,rem,debitis,4050 +4051,fuga,et,4051 +4052,fugit,porro,4052 +4053,quam,iure,4053 +4054,cumque,eos,4054 +4055,ipsum,autem,4055 +4056,at,aspernatur,4056 +4057,unde,explicabo,4057 +4058,mollitia,rerum,4058 +4059,debitis,officia,4059 +4060,sunt,quo,4060 +4061,voluptas,ipsam,4061 +4062,asperiores,ut,4062 +4063,consequatur,iure,4063 +4064,sit,qui,4064 +4065,magni,aut,4065 +4066,asperiores,ipsum,4066 +4067,id,mollitia,4067 +4068,quam,a,4068 +4069,esse,sequi,4069 +4070,delectus,suscipit,4070 +4071,quas,exercitationem,4071 +4072,vero,necessitatibus,4072 +4073,est,culpa,4073 +4074,eius,non,4074 +4075,sed,quia,4075 +4076,quam,eum,4076 +4077,consequatur,praesentium,4077 +4078,eius,numquam,4078 +4079,et,id,4079 +4080,sint,quia,4080 +4081,perferendis,et,4081 +4082,perferendis,omnis,4082 +4083,praesentium,in,4083 +4084,quas,corrupti,4084 +4085,sunt,sed,4085 +4086,fuga,illo,4086 +4087,veritatis,vel,4087 +4088,laboriosam,harum,4088 +4089,beatae,commodi,4089 +4090,quisquam,nostrum,4090 +4091,et,placeat,4091 +4092,vitae,unde,4092 +4093,nesciunt,tenetur,4093 +4094,omnis,sint,4094 +4095,facilis,explicabo,4095 +4096,perferendis,magnam,4096 +4097,consectetur,eaque,4097 +4098,cumque,qui,4098 +4099,sit,ut,4099 +4100,non,ea,4100 +4101,est,saepe,4101 +4102,eos,qui,4102 +4103,et,et,4103 +4104,aut,voluptas,4104 +4105,quibusdam,sed,4105 +4106,enim,natus,4106 +4107,voluptate,dolores,4107 +4108,ducimus,omnis,4108 +4109,labore,et,4109 +4110,distinctio,eius,4110 +4111,optio,totam,4111 +4112,nisi,sed,4112 +4113,officiis,expedita,4113 +4114,mollitia,sit,4114 +4115,in,consequatur,4115 +4116,excepturi,nisi,4116 +4117,debitis,dolorem,4117 +4118,natus,doloremque,4118 +4119,assumenda,sit,4119 +4120,laudantium,expedita,4120 +4121,consequatur,voluptatem,4121 +4122,molestias,distinctio,4122 +4123,consequatur,eveniet,4123 +4124,enim,voluptates,4124 +4125,voluptas,quia,4125 +4126,provident,repellat,4126 +4127,id,commodi,4127 +4128,voluptatem,et,4128 +4129,reiciendis,sit,4129 +4130,incidunt,eos,4130 +4131,consequuntur,vero,4131 +4132,explicabo,corporis,4132 +4133,voluptate,voluptatem,4133 +4134,id,ab,4134 +4135,recusandae,nisi,4135 +4136,molestias,at,4136 +4137,fugiat,provident,4137 +4138,tenetur,accusantium,4138 +4139,quis,voluptatem,4139 +4140,hic,quaerat,4140 +4141,illum,earum,4141 +4142,rerum,et,4142 +4143,est,sit,4143 +4144,dolore,corrupti,4144 +4145,nihil,aut,4145 +4146,sint,illum,4146 +4147,sit,distinctio,4147 +4148,laudantium,quo,4148 +4149,et,pariatur,4149 +4150,impedit,quia,4150 +4151,at,debitis,4151 +4152,aut,quas,4152 +4153,nesciunt,soluta,4153 +4154,perspiciatis,et,4154 +4155,est,nostrum,4155 +4156,aliquid,expedita,4156 +4157,qui,tenetur,4157 +4158,distinctio,sint,4158 +4159,tempore,harum,4159 +4160,nulla,laborum,4160 +4161,voluptatem,iusto,4161 +4162,dicta,harum,4162 +4163,molestiae,a,4163 +4164,deserunt,minima,4164 +4165,dolore,animi,4165 +4166,sed,dolores,4166 +4167,aut,aliquid,4167 +4168,eligendi,nostrum,4168 +4169,quia,placeat,4169 +4170,modi,nesciunt,4170 +4171,aut,sed,4171 +4172,in,itaque,4172 +4173,et,amet,4173 +4174,dolores,ex,4174 +4175,modi,reiciendis,4175 +4176,ipsa,dolorem,4176 +4177,non,veritatis,4177 +4178,cum,sunt,4178 +4179,molestias,ut,4179 +4180,nostrum,et,4180 +4181,ab,aut,4181 +4182,nihil,voluptatem,4182 +4183,sequi,optio,4183 +4184,impedit,eum,4184 +4185,ut,aliquid,4185 +4186,ex,mollitia,4186 +4187,reiciendis,tenetur,4187 +4188,rerum,ipsam,4188 +4189,sit,dolor,4189 +4190,quas,aut,4190 +4191,sequi,sit,4191 +4192,consequatur,sequi,4192 +4193,et,minus,4193 +4194,reprehenderit,repellat,4194 +4195,doloremque,est,4195 +4196,qui,modi,4196 +4197,voluptatum,deleniti,4197 +4198,amet,et,4198 +4199,laborum,culpa,4199 +4200,accusamus,nisi,4200 +4201,suscipit,occaecati,4201 +4202,est,laboriosam,4202 +4203,eius,quia,4203 +4204,cupiditate,quasi,4204 +4205,quisquam,dolores,4205 +4206,et,id,4206 +4207,dolorem,et,4207 +4208,unde,ex,4208 +4209,quidem,et,4209 +4210,quibusdam,eligendi,4210 +4211,atque,eligendi,4211 +4212,sed,quam,4212 +4213,dolorem,laudantium,4213 +4214,sit,minima,4214 +4215,saepe,magni,4215 +4216,repudiandae,alias,4216 +4217,sed,qui,4217 +4218,quis,ex,4218 +4219,explicabo,error,4219 +4220,omnis,consectetur,4220 +4221,officiis,magnam,4221 +4222,id,officiis,4222 +4223,porro,enim,4223 +4224,cum,atque,4224 +4225,nobis,asperiores,4225 +4226,minus,repellendus,4226 +4227,et,sint,4227 +4228,id,sint,4228 +4229,ut,enim,4229 +4230,eveniet,tempora,4230 +4231,libero,aut,4231 +4232,assumenda,laudantium,4232 +4233,at,nesciunt,4233 +4234,et,rerum,4234 +4235,asperiores,consequuntur,4235 +4236,soluta,doloribus,4236 +4237,et,et,4237 +4238,natus,rerum,4238 +4239,fugit,occaecati,4239 +4240,dolores,debitis,4240 +4241,numquam,saepe,4241 +4242,et,tenetur,4242 +4243,quod,omnis,4243 +4244,aut,et,4244 +4245,ex,sint,4245 +4246,temporibus,autem,4246 +4247,et,provident,4247 +4248,doloribus,iusto,4248 +4249,ut,facilis,4249 +4250,eum,a,4250 +4251,placeat,et,4251 +4252,rerum,aliquid,4252 +4253,dicta,quibusdam,4253 +4254,explicabo,molestiae,4254 +4255,et,officia,4255 +4256,dolores,provident,4256 +4257,corrupti,aliquid,4257 +4258,consequatur,quia,4258 +4259,itaque,non,4259 +4260,quia,adipisci,4260 +4261,dolorem,dolore,4261 +4262,unde,autem,4262 +4263,vitae,voluptas,4263 +4264,sint,quos,4264 +4265,vel,non,4265 +4266,ullam,corporis,4266 +4267,quam,occaecati,4267 +4268,vel,harum,4268 +4269,sint,quos,4269 +4270,fugit,quia,4270 +4271,qui,illo,4271 +4272,ipsam,deleniti,4272 +4273,omnis,magnam,4273 +4274,delectus,atque,4274 +4275,qui,iste,4275 +4276,voluptates,dolores,4276 +4277,voluptatem,illo,4277 +4278,aspernatur,sapiente,4278 +4279,maiores,fugiat,4279 +4280,qui,molestiae,4280 +4281,consequuntur,ipsum,4281 +4282,quia,modi,4282 +4283,est,eum,4283 +4284,at,aperiam,4284 +4285,culpa,soluta,4285 +4286,nulla,nisi,4286 +4287,quas,accusamus,4287 +4288,provident,id,4288 +4289,rerum,culpa,4289 +4290,autem,odit,4290 +4291,laborum,aspernatur,4291 +4292,unde,tempore,4292 +4293,aut,minus,4293 +4294,quae,eius,4294 +4295,quo,quas,4295 +4296,minus,deserunt,4296 +4297,nisi,et,4297 +4298,consequatur,hic,4298 +4299,earum,et,4299 +4300,vero,consequatur,4300 +4301,libero,et,4301 +4302,est,quia,4302 +4303,suscipit,sed,4303 +4304,rem,qui,4304 +4305,quae,quam,4305 +4306,tempora,eos,4306 +4307,ipsum,iusto,4307 +4308,debitis,qui,4308 +4309,eum,non,4309 +4310,aut,necessitatibus,4310 +4311,occaecati,quo,4311 +4312,atque,quidem,4312 +4313,non,ea,4313 +4314,et,et,4314 +4315,quia,praesentium,4315 +4316,placeat,iusto,4316 +4317,quia,cumque,4317 +4318,laboriosam,nam,4318 +4319,porro,dolorem,4319 +4320,neque,accusantium,4320 +4321,natus,corporis,4321 +4322,non,itaque,4322 +4323,reiciendis,officiis,4323 +4324,ut,ut,4324 +4325,alias,accusamus,4325 +4326,et,nihil,4326 +4327,consectetur,illum,4327 +4328,expedita,ipsa,4328 +4329,repellendus,repellat,4329 +4330,non,maxime,4330 +4331,itaque,ut,4331 +4332,itaque,aut,4332 +4333,velit,at,4333 +4334,quod,harum,4334 +4335,et,aut,4335 +4336,suscipit,et,4336 +4337,omnis,repellat,4337 +4338,est,fugiat,4338 +4339,assumenda,consequatur,4339 +4340,sed,et,4340 +4341,exercitationem,unde,4341 +4342,enim,velit,4342 +4343,sit,iusto,4343 +4344,qui,laudantium,4344 +4345,dolor,voluptas,4345 +4346,cupiditate,et,4346 +4347,et,nisi,4347 +4348,labore,doloribus,4348 +4349,rerum,molestiae,4349 +4350,qui,qui,4350 +4351,ut,minima,4351 +4352,et,dolorem,4352 +4353,sit,ut,4353 +4354,fugiat,veritatis,4354 +4355,inventore,rem,4355 +4356,iure,voluptatem,4356 +4357,illo,sint,4357 +4358,magnam,recusandae,4358 +4359,qui,et,4359 +4360,fuga,a,4360 +4361,voluptates,aliquid,4361 +4362,nihil,similique,4362 +4363,ut,cumque,4363 +4364,corrupti,omnis,4364 +4365,harum,iure,4365 +4366,recusandae,saepe,4366 +4367,sint,magni,4367 +4368,nemo,voluptatem,4368 +4369,enim,necessitatibus,4369 +4370,et,aut,4370 +4371,sapiente,ducimus,4371 +4372,voluptas,cumque,4372 +4373,perspiciatis,neque,4373 +4374,quasi,nobis,4374 +4375,sit,debitis,4375 +4376,rerum,cupiditate,4376 +4377,quas,fuga,4377 +4378,iste,voluptatem,4378 +4379,rerum,voluptas,4379 +4380,temporibus,quis,4380 +4381,minima,ratione,4381 +4382,dolores,eveniet,4382 +4383,reiciendis,dolor,4383 +4384,repudiandae,quas,4384 +4385,beatae,odio,4385 +4386,ut,ad,4386 +4387,autem,doloribus,4387 +4388,dolor,ut,4388 +4389,rem,in,4389 +4390,natus,ut,4390 +4391,amet,enim,4391 +4392,sit,ut,4392 +4393,aut,quia,4393 +4394,id,enim,4394 +4395,tempore,optio,4395 +4396,ut,in,4396 +4397,sed,ratione,4397 +4398,quo,laborum,4398 +4399,suscipit,totam,4399 +4400,ad,dignissimos,4400 +4401,consequatur,et,4401 +4402,laudantium,non,4402 +4403,soluta,atque,4403 +4404,cum,esse,4404 +4405,ad,fuga,4405 +4406,dolor,sint,4406 +4407,et,sunt,4407 +4408,earum,atque,4408 +4409,fugit,exercitationem,4409 +4410,aut,praesentium,4410 +4411,neque,natus,4411 +4412,nemo,ea,4412 +4413,autem,fuga,4413 +4414,autem,fugit,4414 +4415,eaque,vel,4415 +4416,eum,optio,4416 +4417,sit,ut,4417 +4418,ea,earum,4418 +4419,voluptatum,facilis,4419 +4420,sit,ut,4420 +4421,vitae,assumenda,4421 +4422,voluptate,est,4422 +4423,at,sed,4423 +4424,eligendi,libero,4424 +4425,quia,natus,4425 +4426,laudantium,non,4426 +4427,minus,sequi,4427 +4428,facilis,ratione,4428 +4429,quis,quasi,4429 +4430,sunt,porro,4430 +4431,accusantium,magni,4431 +4432,quibusdam,sunt,4432 +4433,cupiditate,quo,4433 +4434,accusamus,nostrum,4434 +4435,praesentium,facilis,4435 +4436,debitis,tempora,4436 +4437,consectetur,ut,4437 +4438,temporibus,saepe,4438 +4439,minus,nobis,4439 +4440,qui,deserunt,4440 +4441,exercitationem,in,4441 +4442,quibusdam,maiores,4442 +4443,odit,ullam,4443 +4444,id,omnis,4444 +4445,suscipit,voluptatem,4445 +4446,perferendis,consequatur,4446 +4447,et,similique,4447 +4448,nemo,ipsum,4448 +4449,vel,occaecati,4449 +4450,ut,ratione,4450 +4451,modi,enim,4451 +4452,esse,placeat,4452 +4453,autem,soluta,4453 +4454,consequatur,perferendis,4454 +4455,qui,rerum,4455 +4456,soluta,quaerat,4456 +4457,sint,id,4457 +4458,aut,dignissimos,4458 +4459,ipsa,facilis,4459 +4460,nulla,numquam,4460 +4461,enim,et,4461 +4462,similique,laudantium,4462 +4463,voluptas,facere,4463 +4464,magni,sed,4464 +4465,temporibus,quia,4465 +4466,aut,esse,4466 +4467,possimus,molestiae,4467 +4468,assumenda,corporis,4468 +4469,minus,sunt,4469 +4470,dolores,dolores,4470 +4471,excepturi,consequuntur,4471 +4472,enim,consectetur,4472 +4473,incidunt,cum,4473 +4474,distinctio,aliquid,4474 +4475,mollitia,sed,4475 +4476,voluptas,et,4476 +4477,provident,ad,4477 +4478,eligendi,quia,4478 +4479,provident,aperiam,4479 +4480,quia,vitae,4480 +4481,nemo,et,4481 +4482,dolor,a,4482 +4483,labore,totam,4483 +4484,eveniet,quod,4484 +4485,id,omnis,4485 +4486,et,esse,4486 +4487,non,quo,4487 +4488,aliquam,accusamus,4488 +4489,qui,eveniet,4489 +4490,consequatur,temporibus,4490 +4491,distinctio,natus,4491 +4492,aliquam,non,4492 +4493,pariatur,minima,4493 +4494,magnam,nihil,4494 +4495,corrupti,voluptas,4495 +4496,eum,voluptas,4496 +4497,sed,dicta,4497 +4498,quis,sequi,4498 +4499,voluptas,exercitationem,4499 +4500,neque,qui,4500 +4501,eum,consequatur,4501 +4502,ut,perferendis,4502 +4503,quaerat,dolorum,4503 +4504,soluta,officiis,4504 +4505,porro,ea,4505 +4506,itaque,laboriosam,4506 +4507,autem,aliquid,4507 +4508,odio,aut,4508 +4509,blanditiis,illum,4509 +4510,non,tempore,4510 +4511,error,itaque,4511 +4512,maxime,et,4512 +4513,eaque,fugiat,4513 +4514,esse,debitis,4514 +4515,sed,aut,4515 +4516,velit,qui,4516 +4517,molestias,inventore,4517 +4518,ipsa,libero,4518 +4519,velit,tempora,4519 +4520,recusandae,error,4520 +4521,qui,eos,4521 +4522,amet,ipsa,4522 +4523,voluptas,neque,4523 +4524,rerum,voluptatem,4524 +4525,enim,laboriosam,4525 +4526,laboriosam,in,4526 +4527,rerum,rerum,4527 +4528,minima,nulla,4528 +4529,earum,labore,4529 +4530,molestiae,non,4530 +4531,et,ipsam,4531 +4532,molestias,eum,4532 +4533,nemo,voluptatem,4533 +4534,similique,consequatur,4534 +4535,omnis,ab,4535 +4536,nisi,aut,4536 +4537,molestias,ipsam,4537 +4538,eligendi,quo,4538 +4539,voluptatem,ut,4539 +4540,ut,sit,4540 +4541,et,possimus,4541 +4542,sint,delectus,4542 +4543,consequatur,aut,4543 +4544,nisi,optio,4544 +4545,nam,sit,4545 +4546,iusto,est,4546 +4547,earum,nostrum,4547 +4548,nihil,quam,4548 +4549,consectetur,dignissimos,4549 +4550,et,et,4550 +4551,quia,corporis,4551 +4552,molestiae,sequi,4552 +4553,voluptas,est,4553 +4554,impedit,dolor,4554 +4555,vel,commodi,4555 +4556,dolores,explicabo,4556 +4557,dolores,amet,4557 +4558,asperiores,culpa,4558 +4559,ullam,necessitatibus,4559 +4560,voluptatem,quam,4560 +4561,asperiores,exercitationem,4561 +4562,et,vel,4562 +4563,omnis,expedita,4563 +4564,doloremque,dignissimos,4564 +4565,recusandae,quia,4565 +4566,tempore,eum,4566 +4567,voluptas,officiis,4567 +4568,impedit,suscipit,4568 +4569,sed,facilis,4569 +4570,aut,aliquam,4570 +4571,eos,omnis,4571 +4572,possimus,rerum,4572 +4573,consequatur,mollitia,4573 +4574,voluptas,tempore,4574 +4575,pariatur,sapiente,4575 +4576,deleniti,veritatis,4576 +4577,sunt,id,4577 +4578,ad,et,4578 +4579,quod,quod,4579 +4580,minus,beatae,4580 +4581,est,aut,4581 +4582,maiores,et,4582 +4583,eius,laboriosam,4583 +4584,consectetur,temporibus,4584 +4585,unde,omnis,4585 +4586,possimus,aut,4586 +4587,quos,animi,4587 +4588,in,quae,4588 +4589,quia,qui,4589 +4590,tempore,possimus,4590 +4591,aliquam,praesentium,4591 +4592,est,non,4592 +4593,minus,fuga,4593 +4594,vel,fuga,4594 +4595,et,enim,4595 +4596,beatae,magni,4596 +4597,nisi,voluptatem,4597 +4598,et,nemo,4598 +4599,qui,minima,4599 +4600,facilis,non,4600 +4601,fugiat,non,4601 +4602,non,sint,4602 +4603,maxime,est,4603 +4604,porro,qui,4604 +4605,unde,modi,4605 +4606,inventore,consectetur,4606 +4607,est,qui,4607 +4608,illum,sit,4608 +4609,illo,ea,4609 +4610,corrupti,est,4610 +4611,et,est,4611 +4612,porro,distinctio,4612 +4613,qui,autem,4613 +4614,sunt,delectus,4614 +4615,similique,quos,4615 +4616,molestiae,nihil,4616 +4617,qui,maxime,4617 +4618,quas,libero,4618 +4619,voluptate,id,4619 +4620,libero,modi,4620 +4621,voluptas,qui,4621 +4622,architecto,minus,4622 +4623,itaque,reiciendis,4623 +4624,rerum,praesentium,4624 +4625,temporibus,est,4625 +4626,blanditiis,est,4626 +4627,accusamus,inventore,4627 +4628,aperiam,voluptatibus,4628 +4629,sunt,minima,4629 +4630,ipsam,id,4630 +4631,aut,pariatur,4631 +4632,at,itaque,4632 +4633,nihil,fugit,4633 +4634,vero,sed,4634 +4635,eaque,non,4635 +4636,assumenda,veritatis,4636 +4637,ipsam,eum,4637 +4638,dolorem,sed,4638 +4639,esse,tempora,4639 +4640,doloremque,odit,4640 +4641,sit,ipsam,4641 +4642,a,qui,4642 +4643,reprehenderit,dolore,4643 +4644,labore,necessitatibus,4644 +4645,velit,quia,4645 +4646,vitae,dignissimos,4646 +4647,incidunt,eaque,4647 +4648,ab,commodi,4648 +4649,perspiciatis,itaque,4649 +4650,ullam,voluptas,4650 +4651,qui,sit,4651 +4652,ducimus,rerum,4652 +4653,voluptas,voluptates,4653 +4654,eos,animi,4654 +4655,assumenda,deleniti,4655 +4656,repellat,sunt,4656 +4657,voluptate,illo,4657 +4658,est,similique,4658 +4659,vel,corporis,4659 +4660,pariatur,dicta,4660 +4661,sapiente,quisquam,4661 +4662,aut,quibusdam,4662 +4663,molestiae,in,4663 +4664,eligendi,ea,4664 +4665,tenetur,corrupti,4665 +4666,itaque,quia,4666 +4667,sed,facere,4667 +4668,occaecati,excepturi,4668 +4669,et,veritatis,4669 +4670,veniam,repudiandae,4670 +4671,itaque,nobis,4671 +4672,iusto,qui,4672 +4673,suscipit,voluptate,4673 +4674,sit,beatae,4674 +4675,commodi,nobis,4675 +4676,qui,voluptas,4676 +4677,enim,fugiat,4677 +4678,quod,dolor,4678 +4679,accusamus,et,4679 +4680,veniam,ut,4680 +4681,necessitatibus,consequatur,4681 +4682,vitae,magni,4682 +4683,velit,odit,4683 +4684,debitis,accusamus,4684 +4685,perferendis,eum,4685 +4686,ipsam,repellat,4686 +4687,hic,voluptatem,4687 +4688,est,rerum,4688 +4689,sequi,sit,4689 +4690,sit,qui,4690 +4691,ullam,animi,4691 +4692,voluptatibus,ipsum,4692 +4693,voluptatem,nam,4693 +4694,aliquam,iste,4694 +4695,ipsam,enim,4695 +4696,neque,reiciendis,4696 +4697,ut,et,4697 +4698,voluptatem,aut,4698 +4699,maiores,accusantium,4699 +4700,pariatur,dolor,4700 +4701,doloribus,voluptatum,4701 +4702,architecto,perspiciatis,4702 +4703,officia,ad,4703 +4704,voluptas,quod,4704 +4705,dolor,esse,4705 +4706,omnis,at,4706 +4707,esse,accusantium,4707 +4708,atque,tempora,4708 +4709,a,dicta,4709 +4710,maiores,et,4710 +4711,sed,rerum,4711 +4712,explicabo,dolorem,4712 +4713,vel,ipsum,4713 +4714,omnis,est,4714 +4715,dolorum,aut,4715 +4716,animi,repellat,4716 +4717,cumque,veniam,4717 +4718,cumque,dolorum,4718 +4719,animi,placeat,4719 +4720,cupiditate,vel,4720 +4721,eius,deleniti,4721 +4722,nostrum,est,4722 +4723,nemo,quam,4723 +4724,odio,doloribus,4724 +4725,odio,reiciendis,4725 +4726,nulla,non,4726 +4727,temporibus,vel,4727 +4728,veritatis,dicta,4728 +4729,maiores,error,4729 +4730,est,officia,4730 +4731,omnis,magnam,4731 +4732,laborum,repellendus,4732 +4733,expedita,est,4733 +4734,aut,quaerat,4734 +4735,ut,quia,4735 +4736,esse,sunt,4736 +4737,accusamus,consequatur,4737 +4738,magnam,eum,4738 +4739,qui,asperiores,4739 +4740,amet,temporibus,4740 +4741,veniam,illo,4741 +4742,culpa,delectus,4742 +4743,occaecati,maiores,4743 +4744,necessitatibus,consequatur,4744 +4745,inventore,ad,4745 +4746,qui,voluptatem,4746 +4747,earum,ipsam,4747 +4748,eveniet,rerum,4748 +4749,minima,error,4749 +4750,aliquam,dicta,4750 +4751,necessitatibus,et,4751 +4752,earum,sed,4752 +4753,veritatis,et,4753 +4754,tempora,rerum,4754 +4755,consequatur,nostrum,4755 +4756,fugiat,officiis,4756 +4757,explicabo,ea,4757 +4758,odio,alias,4758 +4759,nam,distinctio,4759 +4760,et,animi,4760 +4761,est,non,4761 +4762,quae,numquam,4762 +4763,et,velit,4763 +4764,deserunt,ut,4764 +4765,quia,minus,4765 +4766,nihil,voluptas,4766 +4767,nulla,voluptatem,4767 +4768,possimus,quis,4768 +4769,unde,nam,4769 +4770,sed,qui,4770 +4771,omnis,recusandae,4771 +4772,dolorem,id,4772 +4773,laborum,minima,4773 +4774,aut,rem,4774 +4775,dolores,pariatur,4775 +4776,officiis,atque,4776 +4777,quia,esse,4777 +4778,ex,asperiores,4778 +4779,et,magni,4779 +4780,omnis,aut,4780 +4781,sunt,et,4781 +4782,eveniet,minima,4782 +4783,tenetur,ea,4783 +4784,similique,debitis,4784 +4785,aut,sed,4785 +4786,occaecati,unde,4786 +4787,similique,officiis,4787 +4788,possimus,repudiandae,4788 +4789,consequuntur,ducimus,4789 +4790,impedit,consectetur,4790 +4791,sunt,eum,4791 +4792,similique,eaque,4792 +4793,distinctio,ea,4793 +4794,numquam,atque,4794 +4795,dolor,et,4795 +4796,molestias,eos,4796 +4797,distinctio,quidem,4797 +4798,et,similique,4798 +4799,officia,occaecati,4799 +4800,sit,qui,4800 +4801,nam,vero,4801 +4802,dolore,laborum,4802 +4803,dolorum,id,4803 +4804,id,et,4804 +4805,quos,non,4805 +4806,esse,nesciunt,4806 +4807,omnis,maxime,4807 +4808,est,ullam,4808 +4809,praesentium,repellendus,4809 +4810,et,reprehenderit,4810 +4811,hic,veniam,4811 +4812,non,voluptas,4812 +4813,omnis,adipisci,4813 +4814,totam,nihil,4814 +4815,sunt,ut,4815 +4816,numquam,est,4816 +4817,repellat,occaecati,4817 +4818,doloribus,natus,4818 +4819,delectus,sapiente,4819 +4820,minima,nostrum,4820 +4821,molestias,sequi,4821 +4822,eum,odio,4822 +4823,id,aut,4823 +4824,porro,non,4824 +4825,nihil,et,4825 +4826,quisquam,esse,4826 +4827,ea,facilis,4827 +4828,tempora,suscipit,4828 +4829,ut,aspernatur,4829 +4830,unde,quia,4830 +4831,quae,at,4831 +4832,error,voluptas,4832 +4833,aut,eum,4833 +4834,quia,aut,4834 +4835,incidunt,sed,4835 +4836,quasi,qui,4836 +4837,minima,beatae,4837 +4838,perferendis,veniam,4838 +4839,quaerat,cupiditate,4839 +4840,quisquam,quia,4840 +4841,nam,dicta,4841 +4842,et,nam,4842 +4843,perspiciatis,ullam,4843 +4844,aspernatur,dolores,4844 +4845,esse,autem,4845 +4846,sit,minima,4846 +4847,quasi,vitae,4847 +4848,et,non,4848 +4849,pariatur,doloribus,4849 +4850,eum,aperiam,4850 +4851,velit,a,4851 +4852,et,vitae,4852 +4853,aut,culpa,4853 +4854,quaerat,doloribus,4854 +4855,quia,eos,4855 +4856,eligendi,quam,4856 +4857,doloribus,ipsam,4857 +4858,quaerat,nisi,4858 +4859,laudantium,qui,4859 +4860,eum,quisquam,4860 +4861,voluptas,et,4861 +4862,animi,quis,4862 +4863,suscipit,nemo,4863 +4864,ab,cupiditate,4864 +4865,corporis,et,4865 +4866,odit,amet,4866 +4867,sed,qui,4867 +4868,voluptatibus,placeat,4868 +4869,cumque,temporibus,4869 +4870,dolor,quos,4870 +4871,eum,nemo,4871 +4872,inventore,architecto,4872 +4873,molestias,nemo,4873 +4874,incidunt,earum,4874 +4875,consequatur,aut,4875 +4876,ut,non,4876 +4877,facere,aut,4877 +4878,cumque,soluta,4878 +4879,nisi,fugiat,4879 +4880,corporis,perspiciatis,4880 +4881,ut,voluptatem,4881 +4882,reprehenderit,vitae,4882 +4883,et,qui,4883 +4884,fugiat,est,4884 +4885,laudantium,aliquid,4885 +4886,sunt,facilis,4886 +4887,voluptate,ut,4887 +4888,aut,omnis,4888 +4889,aliquam,eos,4889 +4890,maxime,quidem,4890 +4891,sapiente,qui,4891 +4892,inventore,porro,4892 +4893,rerum,labore,4893 +4894,odit,repudiandae,4894 +4895,aut,laudantium,4895 +4896,suscipit,inventore,4896 +4897,ad,ratione,4897 +4898,maiores,esse,4898 +4899,qui,a,4899 +4900,rem,accusantium,4900 +4901,id,est,4901 +4902,dolorem,aperiam,4902 +4903,tempora,vel,4903 +4904,aliquam,aperiam,4904 +4905,omnis,amet,4905 +4906,reiciendis,quam,4906 +4907,ex,eos,4907 +4908,autem,ad,4908 +4909,corrupti,magnam,4909 +4910,cupiditate,aspernatur,4910 +4911,cupiditate,consequatur,4911 +4912,sint,dicta,4912 +4913,fugiat,saepe,4913 +4914,perspiciatis,quia,4914 +4915,aut,expedita,4915 +4916,et,et,4916 +4917,vel,sunt,4917 +4918,iste,illum,4918 +4919,exercitationem,omnis,4919 +4920,quas,voluptatem,4920 +4921,perspiciatis,velit,4921 +4922,iure,quo,4922 +4923,unde,eum,4923 +4924,vero,maiores,4924 +4925,a,quis,4925 +4926,labore,sapiente,4926 +4927,vel,expedita,4927 +4928,qui,qui,4928 +4929,qui,eius,4929 +4930,exercitationem,non,4930 +4931,nam,ut,4931 +4932,qui,nihil,4932 +4933,et,esse,4933 +4934,incidunt,saepe,4934 +4935,et,nihil,4935 +4936,quos,culpa,4936 +4937,repudiandae,quo,4937 +4938,voluptatibus,autem,4938 +4939,dolores,voluptatem,4939 +4940,sed,labore,4940 +4941,quaerat,deserunt,4941 +4942,et,nostrum,4942 +4943,officiis,architecto,4943 +4944,laboriosam,nesciunt,4944 +4945,ducimus,distinctio,4945 +4946,repellendus,saepe,4946 +4947,aut,fugit,4947 +4948,architecto,iste,4948 +4949,porro,illum,4949 +4950,pariatur,qui,4950 +4951,ea,nam,4951 +4952,voluptas,est,4952 +4953,nostrum,error,4953 +4954,delectus,suscipit,4954 +4955,consectetur,error,4955 +4956,repellat,velit,4956 +4957,aliquid,ut,4957 +4958,pariatur,maxime,4958 +4959,ut,ea,4959 +4960,facilis,non,4960 +4961,in,iusto,4961 +4962,ipsa,est,4962 +4963,repellendus,distinctio,4963 +4964,nobis,eos,4964 +4965,laborum,voluptatibus,4965 +4966,tempore,ut,4966 +4967,ea,vel,4967 +4968,consequatur,doloribus,4968 +4969,aliquam,officiis,4969 +4970,ipsum,a,4970 +4971,iusto,soluta,4971 +4972,sunt,facilis,4972 +4973,nobis,veritatis,4973 +4974,qui,minima,4974 +4975,dolorem,sint,4975 +4976,mollitia,tenetur,4976 +4977,aut,atque,4977 +4978,ducimus,optio,4978 +4979,ipsa,voluptas,4979 +4980,blanditiis,voluptatem,4980 +4981,error,porro,4981 +4982,sequi,nam,4982 +4983,omnis,possimus,4983 +4984,sit,inventore,4984 +4985,quisquam,suscipit,4985 +4986,voluptatum,id,4986 +4987,voluptatibus,dolores,4987 +4988,nesciunt,et,4988 +4989,fuga,quos,4989 +4990,sed,veniam,4990 +4991,est,maiores,4991 +4992,ut,autem,4992 +4993,quia,voluptatem,4993 +4994,et,dolores,4994 +4995,nisi,voluptatibus,4995 +4996,quae,nostrum,4996 +4997,accusantium,animi,4997 +4998,animi,veniam,4998 +4999,velit,sed,4999 +5000,reprehenderit,eos,5000 diff --git a/Java-Executor/java-executor-tutorial/docs/1-java-concurrent-v1.0.docx b/Java-Executor/java-executor-tutorial/docs/1-java-concurrent-v1.0.docx new file mode 100644 index 0000000..11a5b78 Binary files /dev/null and b/Java-Executor/java-executor-tutorial/docs/1-java-concurrent-v1.0.docx differ diff --git a/Java-Executor/java-executor-tutorial/log/retry/thread.txt b/Java-Executor/java-executor-tutorial/log/retry/thread.txt new file mode 100644 index 0000000..e69de29 diff --git a/Java-Executor/java-executor-tutorial/mvnw b/Java-Executor/java-executor-tutorial/mvnw new file mode 100644 index 0000000..841f63a --- /dev/null +++ b/Java-Executor/java-executor-tutorial/mvnw @@ -0,0 +1,331 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ]; then + + if [ -f /usr/local/etc/mavenrc ]; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ]; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ]; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false +darwin=false +mingw=false +case "$(uname)" in +CYGWIN*) cygwin=true ;; +MINGW*) mingw=true ;; +Darwin*) + darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="$(/usr/libexec/java_home)" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ]; then + if [ -r /etc/gentoo-release ]; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +if [ -z "$M2_HOME" ]; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ]; do + ls=$(ls -ld "$PRG") + link=$(expr "$ls" : '.*-> \(.*\)$') + if expr "$link" : '/.*' >/dev/null; then + PRG="$link" + else + PRG="$(dirname "$PRG")/$link" + fi + done + + saveddir=$(pwd) + + M2_HOME=$(dirname "$PRG")/.. + + # make it fully qualified + M2_HOME=$(cd "$M2_HOME" && pwd) + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --unix "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw; then + [ -n "$M2_HOME" ] && + M2_HOME="$( ( + cd "$M2_HOME" + pwd + ))" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="$( ( + cd "$JAVA_HOME" + pwd + ))" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then + if $darwin; then + javaHome="$(dirname \"$javaExecutable\")" + javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac" + else + javaExecutable="$(readlink -f \"$javaExecutable\")" + fi + javaHome="$(dirname \"$javaExecutable\")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ]; then + if [ -n "$JAVA_HOME" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$( + \unset -f command + \command -v java + )" + fi +fi + +if [ ! -x "$JAVACMD" ]; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ]; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ]; then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ]; do + if [ -d "$wdir"/.mvn ]; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$( + cd "$wdir/.." + pwd + ) + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' <"$1")" + fi +} + +BASE_DIR=$(find_maven_basedir "$(pwd)") +if [ -z "$BASE_DIR" ]; then + exit 1 +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in wrapperUrl) + jarUrl="$value" + break + ;; + esac + done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --path --windows "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/Java-Executor/java-executor-tutorial/mvnw.cmd b/Java-Executor/java-executor-tutorial/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/Java-Executor/java-executor-tutorial/pom.xml b/Java-Executor/java-executor-tutorial/pom.xml new file mode 100644 index 0000000..42e16ac --- /dev/null +++ b/Java-Executor/java-executor-tutorial/pom.xml @@ -0,0 +1,62 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.7.9 + + + com.msoft.core + java-executor-tutorial + 0.0.1-SNAPSHOT + java-executor-tutorial + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-test + test + + + + mysql + mysql-connector-java + 8.0.27 + + + + com.zaxxer + HikariCP + 4.0.3 + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/Application.java b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/Application.java new file mode 100644 index 0000000..1114222 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/Application.java @@ -0,0 +1,23 @@ +package com.msoft.core; + +import com.msoft.core.service.CustomerService; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ApplicationContext; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + String directionFile = "data"; + + ApplicationContext context = SpringApplication.run(Application.class, args); + + CustomerService customerService = context.getBean(CustomerService.class); + + System.out.println("SERVER_IS_READY"); + + customerService.loadCustomersFromFiles(directionFile); + } + +} diff --git a/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/config/DatabaseConfig.java b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/config/DatabaseConfig.java new file mode 100644 index 0000000..1072906 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/config/DatabaseConfig.java @@ -0,0 +1,27 @@ +package com.msoft.core.config; + +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @author ManhKM on 3/8/2023 + * @project java-executor-tutorial + */ +@Configuration +public class DatabaseConfig { + + @Bean + public HikariDataSource dataSource() { + HikariConfig config = new HikariConfig(); + config.setJdbcUrl("jdbc:mysql://localhost:3306/example"); + config.setUsername("root"); + config.setPassword("12345678aA"); + config.addDataSourceProperty("cachePrepStmts", "true"); + config.addDataSourceProperty("prepStmtCacheSize", "250"); + config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048"); + HikariDataSource dataSource = new HikariDataSource(config); + return dataSource; + } +} diff --git a/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/config/ExecutorServiceConfig.java b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/config/ExecutorServiceConfig.java new file mode 100644 index 0000000..e668b3a --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/config/ExecutorServiceConfig.java @@ -0,0 +1,42 @@ +package com.msoft.core.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +/** + * @author ManhKM on 3/8/2023 + * @project java-executor-tutorial + *

+ * Trong đó, ta sử dụng @Configuration và @EnableAsync để đánh dấu rằng đây là một class cấu hình và + * sử dụng các tính năng của Spring Async để tạo ExecutorService + */ +@Configuration +@EnableAsync +public class ExecutorServiceConfig { + + @Value("${app.executor.core-pool-size}") + private String corePoolSize; + + @Value("${app.executor.max-pool-size}") + private String maxPoolSize; + + @Value("${app.executor.queue-capacity}") + private String queueCapacity; + + @Value("${app.executor.name-prefix}") + private String namePrefix; + + @Bean + public ThreadPoolTaskExecutor executor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setCorePoolSize(Integer.parseInt(corePoolSize)); + executor.setMaxPoolSize(Integer.parseInt(maxPoolSize)); + executor.setQueueCapacity(Integer.parseInt(queueCapacity)); + executor.setThreadNamePrefix(namePrefix); + executor.initialize(); + return executor; + } +} diff --git a/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/config/SqlUtility.java b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/config/SqlUtility.java new file mode 100644 index 0000000..dba53b9 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/config/SqlUtility.java @@ -0,0 +1,700 @@ +package com.msoft.core.config; + +import com.msoft.core.utils.SQLUtils; +import com.msoft.core.utils.StringUtils; +import com.zaxxer.hikari.HikariDataSource; +import java.sql.CallableStatement; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Configuration; + +/** + * @author ManhKM on 3/8/2023 + * @project java-executor-tutorial + */ +@Configuration("sqlUtility") +public class SqlUtility { + + public static final String PRIMARY_DATA_SOURCE = "primaryDataSource"; + private final HikariDataSource ds; + private final Map mapDS; + private int refCursor; + + public SqlUtility(ApplicationContext context) { + this.ds = (HikariDataSource) context.getBean(HikariDataSource.class); + this.mapDS = context.getBeansOfType(HikariDataSource.class); + if (this.ds instanceof HikariDataSource) { + HikariDataSource hikari = this.ds; + if (hikari.getDriverClassName().toLowerCase().contains("oracle")) { + this.refCursor = -10; + } else { + this.refCursor = 2012; + } + } else { + this.refCursor = 2012; + } + + } + + public List extractSQL(String sql) { + return SQLUtils.extractSQL(sql); + } + + public Map toMap(ResultSet rs) throws SQLException { + List columnNames = this.extractRSMD(rs); + Map row = new HashMap(); + if (rs.next()) { + Iterator var4 = columnNames.iterator(); + + while (var4.hasNext()) { + String columnName = (String) var4.next(); + row.put(columnName, rs.getString(columnName)); + } + } + + return row; + } + + public List extractRSMD(ResultSet rs) throws SQLException { + ResultSetMetaData rsmd = rs.getMetaData(); + int columnCount = rsmd.getColumnCount(); + List columnNames = new ArrayList(); + + for (int i = 1; i <= columnCount; ++i) { + String columnName = ""; + + try { + columnName = rsmd.getColumnLabel(i); + } catch (Exception var8) { + columnName = rsmd.getColumnName(i); + } + + columnNames.add(columnName.toUpperCase()); + } + + return columnNames; + } + + public List> rsToListMap(ResultSet rs) throws SQLException { + List columnNames = this.extractRSMD(rs); + ArrayList result = new ArrayList(); + + while (rs.next()) { + Map row = new HashMap(); + Iterator var5 = columnNames.iterator(); + + while (var5.hasNext()) { + String columnName = (String) var5.next(); + row.put(columnName, rs.getString(columnName)); + } + + result.add(row); + } + + return result; + } + + public int executeDll(String dll) throws SQLException { + Connection conn = null; + + int var3; + try { + conn = this.getConnection(); + var3 = this.executeDll(conn, dll); + } finally { + this.close(conn); + } + + return var3; + } + + /** + * @deprecated + */ + @Deprecated + public int executeDll(String dsName, String dll) throws SQLException { + Connection conn = null; + + int var4; + try { + conn = this.getConnection(dsName); + var4 = this.executeDll(conn, dll); + } finally { + this.close(conn); + } + + return var4; + } + + public int executeDllDS(String dsName, String dll) throws SQLException { + Connection conn = null; + + int var4; + try { + conn = this.getConnection(dsName); + var4 = this.executeDll(conn, dll); + } finally { + this.close(conn); + } + + return var4; + } + + public int executeDll(Connection conn, String dll) throws SQLException { + Statement stmt = null; + + int var4; + try { + stmt = conn.createStatement(); + var4 = stmt.executeUpdate(dll); + } finally { + if (stmt != null) { + try { + stmt.close(); + } catch (Exception var11) { + } + } + + } + + return var4; + } + + public List> toListMapFunc(String sql, Object... params) + throws SQLException { + Connection conn = null; + + List var4; + try { + conn = this.getConnection(); + var4 = this.toListMapFunc(conn, sql, params); + } finally { + if (conn != null) { + try { + conn.close(); + } catch (Exception var11) { + } + } + + } + + return var4; + } + + /** + * @deprecated + */ + @Deprecated + public List> toListMapFunc(String dsName, String sql, Object... params) + throws SQLException { + Connection conn = null; + + List var5; + try { + conn = this.getConnection(dsName); + var5 = this.toListMapFunc(conn, sql, params); + } finally { + if (conn != null) { + try { + conn.close(); + } catch (Exception var12) { + } + } + + } + + return var5; + } + + public List> toListMapFuncDS(String dsName, String sql, Object... params) + throws SQLException { + Connection conn = null; + + List var5; + try { + conn = this.getConnection(dsName); + var5 = this.toListMapFunc(conn, sql, params); + } finally { + if (conn != null) { + try { + conn.close(); + } catch (Exception var12) { + } + } + + } + + return var5; + } + + public List> toListMapFunc(Connection conn, String sql, Object... params) + throws SQLException { + CallableStatement cstmt = null; + ResultSet rs = null; + + List var10; + try { + cstmt = conn.prepareCall(sql); + cstmt.registerOutParameter(1, this.refCursor); + cstmt.execute(); + rs = (ResultSet) cstmt.getObject(1); + if (params != null && params.length > 0) { + for (int i = 0; i < params.length; ++i) { + cstmt.setObject(i + 2, params[i]); + } + } + + cstmt.execute(); + rs = (ResultSet) cstmt.getObject(1); + var10 = this.rsToListMap(rs); + } finally { + this.close(rs); + this.close(cstmt); + } + + return var10; + } + + public List> toListMap(String sql, Object... params) throws SQLException { + Connection conn = null; + + List var4; + try { + conn = this.ds.getConnection(); + var4 = this.toListMap(conn, sql, params); + } finally { + this.close(conn); + } + + return var4; + } + + /** + * @deprecated + */ + @Deprecated + public List> toListMap(String dsName, String sql, Object... params) + throws SQLException { + Connection conn = null; + + List var5; + try { + conn = this.getConnection(dsName); + var5 = this.toListMap(conn, sql, params); + } finally { + this.close(conn); + } + + return var5; + } + + public List> toListMapDS(String dsName, String sql, Object... params) + throws SQLException { + Connection conn = null; + + List var5; + try { + conn = this.getConnection(dsName); + var5 = this.toListMap(conn, sql, params); + } finally { + this.close(conn); + } + + return var5; + } + + public List> toListMap(Connection conn, String sql, Object... params) + throws SQLException { + PreparedStatement ptsm = null; + ResultSet rs = null; + + List var10; + try { + ptsm = conn.prepareCall(sql); + if (params != null && params.length > 0) { + for (int i = 0; i < params.length; ++i) { + ptsm.setObject(i + 1, params[i]); + } + } + + rs = ptsm.executeQuery(); + var10 = this.rsToListMap(rs); + } finally { + this.close(rs); + this.close((PreparedStatement) ptsm); + } + + return var10; + } + + public Map toMap(String sql, Object... params) throws SQLException { + Connection conn = null; + + Map var4; + try { + conn = this.getConnection(); + var4 = this.toMap(conn, sql, params); + } finally { + this.close(conn); + } + + return var4; + } + + /** + * @deprecated + */ + @Deprecated + public Map toMap(String dsName, String sql, Object... params) + throws SQLException { + Connection conn = null; + + Map var5; + try { + conn = this.getConnection(dsName); + var5 = this.toMap(conn, sql, params); + } finally { + this.close(conn); + } + + return var5; + } + + public Map toMapDS(String dsName, String sql, Object... params) + throws SQLException { + Connection conn = null; + + Map var5; + try { + conn = this.getConnection(dsName); + var5 = this.toMap(conn, sql, params); + } finally { + this.close(conn); + } + + return var5; + } + + public Map toMap(Connection conn, String sql, Object... params) + throws SQLException { + PreparedStatement ptsm = null; + ResultSet rs = null; + + Map var10; + try { + ptsm = conn.prepareCall(sql); + if (params != null && params.length > 0) { + for (int i = 0; i < params.length; ++i) { + ptsm.setObject(i + 1, params[i]); + } + } + + rs = ptsm.executeQuery(); + var10 = this.toMap(rs); + } finally { + this.close(rs); + this.close((PreparedStatement) ptsm); + } + + return var10; + } + + public String getValue(String sql, Object... params) throws SQLException { + Connection conn = null; + + String var4; + try { + conn = this.getConnection(); + var4 = this.getValue(conn, sql, params); + } finally { + this.close(conn); + } + + return var4; + } + + /** + * @deprecated + */ + @Deprecated + public String getValue(String dsName, String sql, Object... params) throws SQLException { + Connection conn = null; + + String var5; + try { + conn = this.getConnection(dsName); + var5 = this.getValue(conn, sql, params); + } finally { + this.close(conn); + } + + return var5; + } + + public String getValueDS(String dsName, String sql, Object... params) throws SQLException { + Connection conn = null; + + String var5; + try { + conn = this.getConnection(dsName); + var5 = this.getValue(conn, sql, params); + } finally { + this.close(conn); + } + + return var5; + } + + public String getValue(Connection conn, String sql, Object... params) throws SQLException { + PreparedStatement ptsm = null; + ResultSet rs = null; + + String var10; + try { + ptsm = conn.prepareCall(sql); + if (params != null && params.length > 0) { + for (int i = 0; i < params.length; ++i) { + ptsm.setObject(i + 1, params[i]); + } + } + + rs = ptsm.executeQuery(); + if (rs.next()) { + var10 = rs.getString(1); + return var10; + } + + var10 = null; + } finally { + this.close(rs); + this.close((PreparedStatement) ptsm); + } + + return var10; + } + + public int executeUpdate(String sql, Object... params) throws SQLException { + Connection connection = null; + + int var4; + try { + connection = this.ds.getConnection(); + var4 = this.executeUpdate(connection, sql, params); + } finally { + this.closeAndCommit(connection); + } + + return var4; + } + + /** + * @deprecated + */ + @Deprecated + public int executeUpdate(String dsName, String sql, Object... params) throws SQLException { + Connection connection = null; + + int var5; + try { + connection = this.getConnection(dsName); + var5 = this.executeUpdate(connection, sql, params); + } finally { + this.closeAndCommit(connection); + } + + return var5; + } + + public int executeUpdateDS(String dsName, String sql, Object... params) throws SQLException { + Connection connection = null; + + int var5; + try { + connection = this.getConnection(dsName); + var5 = this.executeUpdate(connection, sql, params); + } finally { + this.closeAndCommit(connection); + } + + return var5; + } + + public int executeUpdate(Connection conn, String sql, Object... params) throws SQLException { + CallableStatement pstmt = null; + + int i; + try { + pstmt = conn.prepareCall(sql); + if (params != null && params.length > 0) { + for (i = 0; i < params.length; ++i) { + pstmt.setObject(i + 1, params[i]); + } + } + + i = pstmt.executeUpdate(); + } finally { + this.close((PreparedStatement) pstmt); + } + + return i; + } + + public Connection getConnection() throws SQLException { + return this.ds.getConnection(); + } + + public Connection getConnection(String name) throws SQLException { + if (StringUtils.isEmpty(name)) { + return this.getConnection(); + } else { + HikariDataSource ds = (HikariDataSource) this.mapDS.get(name); + if (ds == null) { + throw new NullPointerException("not found datasource name " + name); + } else { + return ds.getConnection(); + } + } + } + + public Set getAllDsName() { + return this.mapDS.keySet(); + } + + public Map getMapDS() { + return this.mapDS; + } + + public String getValueFunc(String sql, Object... params) throws SQLException { + Connection conn = null; + + String var4; + try { + conn = this.getConnection(); + var4 = this.getValueFunc(conn, sql, params); + } finally { + this.closeAndCommit(conn); + } + + return var4; + } + + /** + * @deprecated + */ + @Deprecated + public String getValueFunc(String dsName, String sql, Object... params) throws SQLException { + Connection conn = null; + + String var5; + try { + conn = this.getConnection(dsName); + var5 = this.getValueFunc(conn, sql, params); + } finally { + this.closeAndCommit(conn); + } + + return var5; + } + + public String getValueFuncDS(String dsName, String sql, Object... params) throws SQLException { + Connection conn = null; + + String var5; + try { + conn = this.getConnection(dsName); + var5 = this.getValueFunc(conn, sql, params); + } finally { + this.closeAndCommit(conn); + } + + return var5; + } + + public String getValueFunc(Connection conn, String sql, Object... params) throws SQLException { + CallableStatement cstmt = null; + + String var9; + try { + cstmt = conn.prepareCall(sql); + cstmt.registerOutParameter(1, 12); + if (params != null && params.length > 0) { + for (int i = 0; i < params.length; ++i) { + cstmt.setObject(i + 2, params[i]); + } + } + + cstmt.execute(); + var9 = cstmt.getString(1); + } finally { + this.close(cstmt); + } + + return var9; + } + + public void close(Connection conn) { + if (conn != null) { + try { + conn.close(); + } catch (Exception var3) { + } + } + + } + + public void closeAndCommit(Connection conn) { + if (conn != null) { + try { + conn.commit(); + } catch (Exception var4) { + } + + try { + conn.close(); + } catch (Exception var3) { + } + } + + } + + public void close(CallableStatement stmt) { + if (stmt != null) { + try { + stmt.close(); + } catch (Exception var3) { + } + } + + } + + public void close(PreparedStatement pstmt) { + if (pstmt != null) { + try { + pstmt.close(); + } catch (Exception var3) { + } + } + + } + + public void close(ResultSet rs) { + if (rs != null) { + try { + rs.close(); + } catch (Exception var3) { + } + } + + } +} diff --git a/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/entity/Customer.java b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/entity/Customer.java new file mode 100644 index 0000000..8611b97 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/entity/Customer.java @@ -0,0 +1,70 @@ +package com.msoft.core.entity; + +/** + * @author ManhKM on 3/8/2023 + * @project java-executor-tutorial + */ +public class Customer{ + private int id; + private String name; + private String address; + private int productId; + + public Customer() { + } + + public Customer(String name, String address, int productId){ + this.name = name; + this.address = address; + this.productId = productId; + } + + public Customer(int id, String name, String address, int productId) { + this.id = id; + this.name = name; + this.address = address; + this.productId = productId; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public int getProductId() { + return productId; + } + + public void setProductId(int productId) { + this.productId = productId; + } + + @Override + public String toString() { + return "Customer{" + + "id=" + id + + ", name='" + name + '\'' + + ", address='" + address + '\'' + + ", productId=" + productId + + '}'; + } +} diff --git a/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/repository/CustomerRepository.java b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/repository/CustomerRepository.java new file mode 100644 index 0000000..36d6c18 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/repository/CustomerRepository.java @@ -0,0 +1,41 @@ +package com.msoft.core.repository; + +import com.msoft.core.entity.Customer; +import com.zaxxer.hikari.HikariDataSource; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +/** + * @author ManhKM on 3/8/2023 + * @project java-executor-tutorial + */ +@Repository +public class CustomerRepository { + + @Autowired + private HikariDataSource dataSource; + + public void save(List customers){ + String sql = "INSERT INTO customers (name, address, productId) VALUES (?, ?, ?)"; + + try (Connection connection = dataSource.getConnection()) { + PreparedStatement preparedStatement = connection.prepareStatement(sql); + for (Customer customer : customers) { + preparedStatement.setString(1, customer.getName()); + preparedStatement.setString(2, customer.getAddress()); + preparedStatement.setInt(3, customer.getProductId()); + preparedStatement.addBatch(); + } + preparedStatement.executeBatch(); + System.out.println("Save done: " + customers.size()); + + } catch (SQLException e) { + e.printStackTrace(); + } + } + +} diff --git a/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/service/CustomerService.java b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/service/CustomerService.java new file mode 100644 index 0000000..952427b --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/service/CustomerService.java @@ -0,0 +1,69 @@ +package com.msoft.core.service; + +import com.msoft.core.entity.Customer; +import com.msoft.core.repository.CustomerRepository; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.stereotype.Service; + +/** + * @author ManhKM on 3/8/2023 + * @project java-executor-tutorial + */ +@Service +public class CustomerService { + + @Autowired + private ThreadPoolTaskExecutor taskExecutor; + + @Autowired + private CustomerRepository repository; + + public void loadCustomersFromFiles(String dataDirectory) { + File directory = new File(dataDirectory); + File[] files = directory.listFiles((dir, name) -> name.endsWith(".txt")); + + for (File file : files) { + taskExecutor.execute(() -> { + System.out.println("Current execute file: " + file.getName()); + List customers = readCustomersFromList(file); + saveCustomersToDatabase(customers); + }); + } + } + + private void saveCustomersToDatabase(List customers) { + repository.save(customers); + } + + private List readCustomersFromList(File file) { + List customers = new ArrayList<>(); + + try { + BufferedReader reader = new BufferedReader(new FileReader(file)); + String line; + while ((line = reader.readLine()) != null) { + String[] fields = line.split(","); + Customer customer = new Customer(Integer.parseInt(fields[0]), fields[1], fields[2], + Integer.parseInt(fields[3])); + customers.add(customer); + } + reader.close(); + return customers; + } catch (FileNotFoundException e) { + e.printStackTrace(); + return Collections.emptyList(); + } catch (IOException e) { + e.printStackTrace(); + return Collections.emptyList(); + } + } +} diff --git a/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/task/InsertData.java b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/task/InsertData.java new file mode 100644 index 0000000..2b7b795 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/task/InsertData.java @@ -0,0 +1,31 @@ +package com.msoft.core.task; + +import com.msoft.core.config.SqlUtility; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; + +/** + * @author ManhKM on 3/8/2023 + * @project java-executor-tutorial + */ +public class InsertData implements Runnable{ + private SqlUtility sqlUtility; + + @Override + public void run() { + + Connection conn = null; + PreparedStatement preparedStatement = null; + String sql = "INSERT INTO customers (name, address, productId) VALUES (?, ?, ?)"; + + try{ + long time = System.currentTimeMillis(); + conn = this.sqlUtility.getConnection(); + conn.setAutoCommit(false); + preparedStatement = conn.prepareStatement(sql); + } catch (SQLException e) { + e.printStackTrace(); + } + } +} diff --git a/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/utils/SQLUtils.java b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/utils/SQLUtils.java new file mode 100644 index 0000000..c79da49 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/utils/SQLUtils.java @@ -0,0 +1,101 @@ +package com.msoft.core.utils; + +import java.io.PrintStream; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @author ManhKM on 3/8/2023 + * @project java-executor-tutorial + */ +public class SQLUtils { + private static final Pattern PATTERN_VALUE = Pattern.compile("\\'(.*?)\\'"); + + public SQLUtils() { + } + + private static boolean isLetterOrDigit(char c) { + return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == '-' || c == '_'; + } + + public static List extractSQLNormal(String sql) { + if (sql == null) { + return null; + } else { + String s = sql; + + for(Matcher m = PATTERN_VALUE.matcher(sql); m.find(); s = s.replace(m.group(), "")) { + } + + s = s.replace("?:=", ""); + List listParam = new ArrayList(); + char[] cr = s.toCharArray(); + int counter = 1; + int len = cr.length; + + for(int i = 0; i < len; ++i) { + if (cr[i] == '?') { + listParam.add(String.valueOf(counter)); + ++counter; + } else if (cr[i] == ':') { + ++i; + + StringBuilder sb; + for(sb = new StringBuilder(); i < len && isLetterOrDigit(cr[i]); ++i) { + sb.append(cr[i]); + } + + listParam.add(sb.toString()); + ++counter; + } + } + + return listParam; + } + } + + public static List extractSQL(String sql) { + if (sql == null) { + return null; + } else { + String s = sql.toUpperCase(); + + for(Matcher m = PATTERN_VALUE.matcher(s); m.find(); s = s.replace(m.group(), "")) { + } + + s = s.replace("?:=", ""); + List listParam = new ArrayList(); + char[] cr = s.toCharArray(); + int counter = 1; + int len = cr.length; + + for(int i = 0; i < len; ++i) { + if (cr[i] == '?') { + listParam.add(String.valueOf(counter)); + ++counter; + } else if (cr[i] == ':') { + ++i; + + StringBuilder sb; + for(sb = new StringBuilder(); i < len && isLetterOrDigit(cr[i]); ++i) { + sb.append(cr[i]); + } + + listParam.add(sb.toString()); + ++counter; + } + } + + return listParam; + } + } + + public static void main(String[] args) { + String call = "select 'SMSMT_' || CASE WHEN sc.pkg_id is null and sc.act_id != 7 THEN sc.service_id ELSE sc.id END || '_' || mt.key from mt_value mt, service_cmd sc where sc.id = mt.cmd_id and mt.cmd_id = :cmd_id UNION select 'SMSMT_' || CASE WHEN sc.pkg_id is null and sc.act_id != 7 THEN sc.service_id ELSE sc.id END || '_' || mt.key from mt_value mt, service_cmd sc where sc.id = mt.cmd_id and mt.service_id = :service_id and sc.pkg_id is null and sc.act_id = decode(:cmd_act, '3', '1',:cmd_act)"; + List list = extractSQL(call); + PrintStream var10001 = System.out; + list.forEach(var10001::println); + } +} diff --git a/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/utils/StringUtils.java b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/utils/StringUtils.java new file mode 100644 index 0000000..760e6b5 --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/main/java/com/msoft/core/utils/StringUtils.java @@ -0,0 +1,130 @@ +package com.msoft.core.utils; + +import java.io.UnsupportedEncodingException; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.List; + +/** + * @author ManhKM on 3/8/2023 + * @project java-executor-tutorial + */ +public class StringUtils { + + public StringUtils() { + } + + public static boolean isEmpty(String s) { + return s == null || s.trim().length() == 0; + } + + public static boolean isEmpty(String[] s) { + return s == null || s.length == 0; + } + + public static byte[] toBytes(String s) { + try { + return s.getBytes("UTF-8"); + } catch (UnsupportedEncodingException var2) { + throw new RuntimeException(var2); + } + } + + public static String fromBytes(byte[] bytes) { + try { + return new String(bytes, "UTF-8"); + } catch (UnsupportedEncodingException var2) { + throw new RuntimeException(var2); + } + } + + public static boolean isNumeric(final CharSequence cs) { + if (isEmpty(cs)) { + return false; + } else { + int sz = cs.length(); + + for (int i = 0; i < sz; ++i) { + if (!Character.isDigit(cs.charAt(i))) { + return false; + } + } + + return true; + } + } + + public static boolean isEmpty(final CharSequence cs) { + return cs == null || cs.length() == 0; + } + + public static Object toPrimitives(Class clazz, String s) { + if (clazz == String.class) { + return s; + } else if (clazz == Integer.class) { + return Integer.valueOf(s); + } else if (clazz == Long.class) { + return Long.valueOf(s); + } else if (clazz == Float.class) { + return Float.valueOf(s); + } else if (clazz == Short.class) { + return Short.valueOf(s); + } else if (clazz == Double.class) { + return Double.valueOf(s); + } else { + throw new IllegalArgumentException("Unsupport primitive type " + clazz.getName()); + } + } + + public static String formatNumber(String value, String delimiter) { + StringBuilder price = new StringBuilder(value); + price.reverse(); + StringBuilder priceNew = new StringBuilder(); + int len = price.length(); + + for (int j = 1; j <= len; ++j) { + priceNew.append(price.charAt(j - 1)); + if (j % 3 == 0 && j < len) { + priceNew.append(delimiter); + } + } + + priceNew.reverse(); + return priceNew.toString(); + } + + public static String checkPath(String value) { + String v = value.trim(); + if (!v.contains("/")) { + return "/" + v; + } else { + if (!v.startsWith("/")) { + v = "/" + v; + } + + if (v.endsWith("/")) { + v = v.substring(0, v.lastIndexOf("/")); + } + + return v; + } + } + + public static String capitalize(String s) { + return s.length() == 0 ? s : s.substring(0, 1).toUpperCase() + s.substring(1); + } + + public static List getFieldNamesForClass(Class clazz) throws Exception { + List fieldNames = new ArrayList(); + Field[] fields = clazz.getDeclaredFields(); + + for (int i = 0; i < fields.length; ++i) { + if (!Modifier.isFinal(fields[i].getModifiers())) { + fieldNames.add(fields[i].getName()); + } + } + + return fieldNames; + } +} diff --git a/Java-Executor/java-executor-tutorial/src/test/java/com/msoft/core/JavaExecutorTutorialApplicationTests.java b/Java-Executor/java-executor-tutorial/src/test/java/com/msoft/core/JavaExecutorTutorialApplicationTests.java new file mode 100644 index 0000000..512851a --- /dev/null +++ b/Java-Executor/java-executor-tutorial/src/test/java/com/msoft/core/JavaExecutorTutorialApplicationTests.java @@ -0,0 +1,13 @@ +package com.msoft.core; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class JavaExecutorTutorialApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/Java-FTP b/Java-FTP new file mode 160000 index 0000000..517dd81 --- /dev/null +++ b/Java-FTP @@ -0,0 +1 @@ +Subproject commit 517dd817542e3016ed1c42498027bb83f2de4335 diff --git a/Java-File-Manager/java-file-manager/.gitignore b/Java-File-Manager/java-file-manager/.gitignore new file mode 100644 index 0000000..35c1233 --- /dev/null +++ b/Java-File-Manager/java-file-manager/.gitignore @@ -0,0 +1,41 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/** +!**/src/test/** + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ + +### VS Code ### +.vscode/ + +# Compiled class file +*.class +**/target/ +design/ +uml/ + +# Log file +*.log +*.log.gz \ No newline at end of file diff --git a/Java-File-Manager/java-file-manager/data/input/01/token.txt b/Java-File-Manager/java-file-manager/data/input/01/token.txt new file mode 100644 index 0000000..237d73f --- /dev/null +++ b/Java-File-Manager/java-file-manager/data/input/01/token.txt @@ -0,0 +1 @@ +eyJzdWIiOiIxIiwiaWF0IjoxNjg1NDIxNzU1LCJleHAiOjE2ODU0NTMyOTF9 \ No newline at end of file diff --git a/Java-File-Manager/java-file-manager/data/input/02/info-person.txt b/Java-File-Manager/java-file-manager/data/input/02/info-person.txt new file mode 100644 index 0000000..d25b435 --- /dev/null +++ b/Java-File-Manager/java-file-manager/data/input/02/info-person.txt @@ -0,0 +1,2000 @@ +0,KHONG MINH MANH_0,NEO_0 +1,KHONG MINH MANH_1,NEO_1 +2,KHONG MINH MANH_2,NEO_2 +3,KHONG MINH MANH_3,NEO_3 +4,KHONG MINH MANH_4,NEO_4 +5,KHONG MINH MANH_5,NEO_5 +6,KHONG MINH MANH_6,NEO_6 +7,KHONG MINH MANH_7,NEO_7 +8,KHONG MINH MANH_8,NEO_8 +9,KHONG MINH MANH_9,NEO_9 +10,KHONG MINH MANH_10,NEO_10 +11,KHONG MINH MANH_11,NEO_11 +12,KHONG MINH MANH_12,NEO_12 +13,KHONG MINH MANH_13,NEO_13 +14,KHONG MINH MANH_14,NEO_14 +15,KHONG MINH MANH_15,NEO_15 +16,KHONG MINH MANH_16,NEO_16 +17,KHONG MINH MANH_17,NEO_17 +18,KHONG MINH MANH_18,NEO_18 +19,KHONG MINH MANH_19,NEO_19 +20,KHONG MINH MANH_20,NEO_20 +21,KHONG MINH MANH_21,NEO_21 +22,KHONG MINH MANH_22,NEO_22 +23,KHONG MINH MANH_23,NEO_23 +24,KHONG MINH MANH_24,NEO_24 +25,KHONG MINH MANH_25,NEO_25 +26,KHONG MINH MANH_26,NEO_26 +27,KHONG MINH MANH_27,NEO_27 +28,KHONG MINH MANH_28,NEO_28 +29,KHONG MINH MANH_29,NEO_29 +30,KHONG MINH MANH_30,NEO_30 +31,KHONG MINH MANH_31,NEO_31 +32,KHONG MINH MANH_32,NEO_32 +33,KHONG MINH MANH_33,NEO_33 +34,KHONG MINH MANH_34,NEO_34 +35,KHONG MINH MANH_35,NEO_35 +36,KHONG MINH MANH_36,NEO_36 +37,KHONG MINH MANH_37,NEO_37 +38,KHONG MINH MANH_38,NEO_38 +39,KHONG MINH MANH_39,NEO_39 +40,KHONG MINH MANH_40,NEO_40 +41,KHONG MINH MANH_41,NEO_41 +42,KHONG MINH MANH_42,NEO_42 +43,KHONG MINH MANH_43,NEO_43 +44,KHONG MINH MANH_44,NEO_44 +45,KHONG MINH MANH_45,NEO_45 +46,KHONG MINH MANH_46,NEO_46 +47,KHONG MINH MANH_47,NEO_47 +48,KHONG MINH MANH_48,NEO_48 +49,KHONG MINH MANH_49,NEO_49 +50,KHONG MINH MANH_50,NEO_50 +51,KHONG MINH MANH_51,NEO_51 +52,KHONG MINH MANH_52,NEO_52 +53,KHONG MINH MANH_53,NEO_53 +54,KHONG MINH MANH_54,NEO_54 +55,KHONG MINH MANH_55,NEO_55 +56,KHONG MINH MANH_56,NEO_56 +57,KHONG MINH MANH_57,NEO_57 +58,KHONG MINH MANH_58,NEO_58 +59,KHONG MINH MANH_59,NEO_59 +60,KHONG MINH MANH_60,NEO_60 +61,KHONG MINH MANH_61,NEO_61 +62,KHONG MINH MANH_62,NEO_62 +63,KHONG MINH MANH_63,NEO_63 +64,KHONG MINH MANH_64,NEO_64 +65,KHONG MINH MANH_65,NEO_65 +66,KHONG MINH MANH_66,NEO_66 +67,KHONG MINH MANH_67,NEO_67 +68,KHONG MINH MANH_68,NEO_68 +69,KHONG MINH MANH_69,NEO_69 +70,KHONG MINH MANH_70,NEO_70 +71,KHONG MINH MANH_71,NEO_71 +72,KHONG MINH MANH_72,NEO_72 +73,KHONG MINH MANH_73,NEO_73 +74,KHONG MINH MANH_74,NEO_74 +75,KHONG MINH MANH_75,NEO_75 +76,KHONG MINH MANH_76,NEO_76 +77,KHONG MINH MANH_77,NEO_77 +78,KHONG MINH MANH_78,NEO_78 +79,KHONG MINH MANH_79,NEO_79 +80,KHONG MINH MANH_80,NEO_80 +81,KHONG MINH MANH_81,NEO_81 +82,KHONG MINH MANH_82,NEO_82 +83,KHONG MINH MANH_83,NEO_83 +84,KHONG MINH MANH_84,NEO_84 +85,KHONG MINH MANH_85,NEO_85 +86,KHONG MINH MANH_86,NEO_86 +87,KHONG MINH MANH_87,NEO_87 +88,KHONG MINH MANH_88,NEO_88 +89,KHONG MINH MANH_89,NEO_89 +90,KHONG MINH MANH_90,NEO_90 +91,KHONG MINH MANH_91,NEO_91 +92,KHONG MINH MANH_92,NEO_92 +93,KHONG MINH MANH_93,NEO_93 +94,KHONG MINH MANH_94,NEO_94 +95,KHONG MINH MANH_95,NEO_95 +96,KHONG MINH MANH_96,NEO_96 +97,KHONG MINH MANH_97,NEO_97 +98,KHONG MINH MANH_98,NEO_98 +99,KHONG MINH MANH_99,NEO_99 +100,KHONG MINH MANH_100,NEO_100 +101,KHONG MINH MANH_101,NEO_101 +102,KHONG MINH MANH_102,NEO_102 +103,KHONG MINH MANH_103,NEO_103 +104,KHONG MINH MANH_104,NEO_104 +105,KHONG MINH MANH_105,NEO_105 +106,KHONG MINH MANH_106,NEO_106 +107,KHONG MINH MANH_107,NEO_107 +108,KHONG MINH MANH_108,NEO_108 +109,KHONG MINH MANH_109,NEO_109 +110,KHONG MINH MANH_110,NEO_110 +111,KHONG MINH MANH_111,NEO_111 +112,KHONG MINH MANH_112,NEO_112 +113,KHONG MINH MANH_113,NEO_113 +114,KHONG MINH MANH_114,NEO_114 +115,KHONG MINH MANH_115,NEO_115 +116,KHONG MINH MANH_116,NEO_116 +117,KHONG MINH MANH_117,NEO_117 +118,KHONG MINH MANH_118,NEO_118 +119,KHONG MINH MANH_119,NEO_119 +120,KHONG MINH MANH_120,NEO_120 +121,KHONG MINH MANH_121,NEO_121 +122,KHONG MINH MANH_122,NEO_122 +123,KHONG MINH MANH_123,NEO_123 +124,KHONG MINH MANH_124,NEO_124 +125,KHONG MINH MANH_125,NEO_125 +126,KHONG MINH MANH_126,NEO_126 +127,KHONG MINH MANH_127,NEO_127 +128,KHONG MINH MANH_128,NEO_128 +129,KHONG MINH MANH_129,NEO_129 +130,KHONG MINH MANH_130,NEO_130 +131,KHONG MINH MANH_131,NEO_131 +132,KHONG MINH MANH_132,NEO_132 +133,KHONG MINH MANH_133,NEO_133 +134,KHONG MINH MANH_134,NEO_134 +135,KHONG MINH MANH_135,NEO_135 +136,KHONG MINH MANH_136,NEO_136 +137,KHONG MINH MANH_137,NEO_137 +138,KHONG MINH MANH_138,NEO_138 +139,KHONG MINH MANH_139,NEO_139 +140,KHONG MINH MANH_140,NEO_140 +141,KHONG MINH MANH_141,NEO_141 +142,KHONG MINH MANH_142,NEO_142 +143,KHONG MINH MANH_143,NEO_143 +144,KHONG MINH MANH_144,NEO_144 +145,KHONG MINH MANH_145,NEO_145 +146,KHONG MINH MANH_146,NEO_146 +147,KHONG MINH MANH_147,NEO_147 +148,KHONG MINH MANH_148,NEO_148 +149,KHONG MINH MANH_149,NEO_149 +150,KHONG MINH MANH_150,NEO_150 +151,KHONG MINH MANH_151,NEO_151 +152,KHONG MINH MANH_152,NEO_152 +153,KHONG MINH MANH_153,NEO_153 +154,KHONG MINH MANH_154,NEO_154 +155,KHONG MINH MANH_155,NEO_155 +156,KHONG MINH MANH_156,NEO_156 +157,KHONG MINH MANH_157,NEO_157 +158,KHONG MINH MANH_158,NEO_158 +159,KHONG MINH MANH_159,NEO_159 +160,KHONG MINH MANH_160,NEO_160 +161,KHONG MINH MANH_161,NEO_161 +162,KHONG MINH MANH_162,NEO_162 +163,KHONG MINH MANH_163,NEO_163 +164,KHONG MINH MANH_164,NEO_164 +165,KHONG MINH MANH_165,NEO_165 +166,KHONG MINH MANH_166,NEO_166 +167,KHONG MINH MANH_167,NEO_167 +168,KHONG MINH MANH_168,NEO_168 +169,KHONG MINH MANH_169,NEO_169 +170,KHONG MINH MANH_170,NEO_170 +171,KHONG MINH MANH_171,NEO_171 +172,KHONG MINH MANH_172,NEO_172 +173,KHONG MINH MANH_173,NEO_173 +174,KHONG MINH MANH_174,NEO_174 +175,KHONG MINH MANH_175,NEO_175 +176,KHONG MINH MANH_176,NEO_176 +177,KHONG MINH MANH_177,NEO_177 +178,KHONG MINH MANH_178,NEO_178 +179,KHONG MINH MANH_179,NEO_179 +180,KHONG MINH MANH_180,NEO_180 +181,KHONG MINH MANH_181,NEO_181 +182,KHONG MINH MANH_182,NEO_182 +183,KHONG MINH MANH_183,NEO_183 +184,KHONG MINH MANH_184,NEO_184 +185,KHONG MINH MANH_185,NEO_185 +186,KHONG MINH MANH_186,NEO_186 +187,KHONG MINH MANH_187,NEO_187 +188,KHONG MINH MANH_188,NEO_188 +189,KHONG MINH MANH_189,NEO_189 +190,KHONG MINH MANH_190,NEO_190 +191,KHONG MINH MANH_191,NEO_191 +192,KHONG MINH MANH_192,NEO_192 +193,KHONG MINH MANH_193,NEO_193 +194,KHONG MINH MANH_194,NEO_194 +195,KHONG MINH MANH_195,NEO_195 +196,KHONG MINH MANH_196,NEO_196 +197,KHONG MINH MANH_197,NEO_197 +198,KHONG MINH MANH_198,NEO_198 +199,KHONG MINH MANH_199,NEO_199 +200,KHONG MINH MANH_200,NEO_200 +201,KHONG MINH MANH_201,NEO_201 +202,KHONG MINH MANH_202,NEO_202 +203,KHONG MINH MANH_203,NEO_203 +204,KHONG MINH MANH_204,NEO_204 +205,KHONG MINH MANH_205,NEO_205 +206,KHONG MINH MANH_206,NEO_206 +207,KHONG MINH MANH_207,NEO_207 +208,KHONG MINH MANH_208,NEO_208 +209,KHONG MINH MANH_209,NEO_209 +210,KHONG MINH MANH_210,NEO_210 +211,KHONG MINH MANH_211,NEO_211 +212,KHONG MINH MANH_212,NEO_212 +213,KHONG MINH MANH_213,NEO_213 +214,KHONG MINH MANH_214,NEO_214 +215,KHONG MINH MANH_215,NEO_215 +216,KHONG MINH MANH_216,NEO_216 +217,KHONG MINH MANH_217,NEO_217 +218,KHONG MINH MANH_218,NEO_218 +219,KHONG MINH MANH_219,NEO_219 +220,KHONG MINH MANH_220,NEO_220 +221,KHONG MINH MANH_221,NEO_221 +222,KHONG MINH MANH_222,NEO_222 +223,KHONG MINH MANH_223,NEO_223 +224,KHONG MINH MANH_224,NEO_224 +225,KHONG MINH MANH_225,NEO_225 +226,KHONG MINH MANH_226,NEO_226 +227,KHONG MINH MANH_227,NEO_227 +228,KHONG MINH MANH_228,NEO_228 +229,KHONG MINH MANH_229,NEO_229 +230,KHONG MINH MANH_230,NEO_230 +231,KHONG MINH MANH_231,NEO_231 +232,KHONG MINH MANH_232,NEO_232 +233,KHONG MINH MANH_233,NEO_233 +234,KHONG MINH MANH_234,NEO_234 +235,KHONG MINH MANH_235,NEO_235 +236,KHONG MINH MANH_236,NEO_236 +237,KHONG MINH MANH_237,NEO_237 +238,KHONG MINH MANH_238,NEO_238 +239,KHONG MINH MANH_239,NEO_239 +240,KHONG MINH MANH_240,NEO_240 +241,KHONG MINH MANH_241,NEO_241 +242,KHONG MINH MANH_242,NEO_242 +243,KHONG MINH MANH_243,NEO_243 +244,KHONG MINH MANH_244,NEO_244 +245,KHONG MINH MANH_245,NEO_245 +246,KHONG MINH MANH_246,NEO_246 +247,KHONG MINH MANH_247,NEO_247 +248,KHONG MINH MANH_248,NEO_248 +249,KHONG MINH MANH_249,NEO_249 +250,KHONG MINH MANH_250,NEO_250 +251,KHONG MINH MANH_251,NEO_251 +252,KHONG MINH MANH_252,NEO_252 +253,KHONG MINH MANH_253,NEO_253 +254,KHONG MINH MANH_254,NEO_254 +255,KHONG MINH MANH_255,NEO_255 +256,KHONG MINH MANH_256,NEO_256 +257,KHONG MINH MANH_257,NEO_257 +258,KHONG MINH MANH_258,NEO_258 +259,KHONG MINH MANH_259,NEO_259 +260,KHONG MINH MANH_260,NEO_260 +261,KHONG MINH MANH_261,NEO_261 +262,KHONG MINH MANH_262,NEO_262 +263,KHONG MINH MANH_263,NEO_263 +264,KHONG MINH MANH_264,NEO_264 +265,KHONG MINH MANH_265,NEO_265 +266,KHONG MINH MANH_266,NEO_266 +267,KHONG MINH MANH_267,NEO_267 +268,KHONG MINH MANH_268,NEO_268 +269,KHONG MINH MANH_269,NEO_269 +270,KHONG MINH MANH_270,NEO_270 +271,KHONG MINH MANH_271,NEO_271 +272,KHONG MINH MANH_272,NEO_272 +273,KHONG MINH MANH_273,NEO_273 +274,KHONG MINH MANH_274,NEO_274 +275,KHONG MINH MANH_275,NEO_275 +276,KHONG MINH MANH_276,NEO_276 +277,KHONG MINH MANH_277,NEO_277 +278,KHONG MINH MANH_278,NEO_278 +279,KHONG MINH MANH_279,NEO_279 +280,KHONG MINH MANH_280,NEO_280 +281,KHONG MINH MANH_281,NEO_281 +282,KHONG MINH MANH_282,NEO_282 +283,KHONG MINH MANH_283,NEO_283 +284,KHONG MINH MANH_284,NEO_284 +285,KHONG MINH MANH_285,NEO_285 +286,KHONG MINH MANH_286,NEO_286 +287,KHONG MINH MANH_287,NEO_287 +288,KHONG MINH MANH_288,NEO_288 +289,KHONG MINH MANH_289,NEO_289 +290,KHONG MINH MANH_290,NEO_290 +291,KHONG MINH MANH_291,NEO_291 +292,KHONG MINH MANH_292,NEO_292 +293,KHONG MINH MANH_293,NEO_293 +294,KHONG MINH MANH_294,NEO_294 +295,KHONG MINH MANH_295,NEO_295 +296,KHONG MINH MANH_296,NEO_296 +297,KHONG MINH MANH_297,NEO_297 +298,KHONG MINH MANH_298,NEO_298 +299,KHONG MINH MANH_299,NEO_299 +300,KHONG MINH MANH_300,NEO_300 +301,KHONG MINH MANH_301,NEO_301 +302,KHONG MINH MANH_302,NEO_302 +303,KHONG MINH MANH_303,NEO_303 +304,KHONG MINH MANH_304,NEO_304 +305,KHONG MINH MANH_305,NEO_305 +306,KHONG MINH MANH_306,NEO_306 +307,KHONG MINH MANH_307,NEO_307 +308,KHONG MINH MANH_308,NEO_308 +309,KHONG MINH MANH_309,NEO_309 +310,KHONG MINH MANH_310,NEO_310 +311,KHONG MINH MANH_311,NEO_311 +312,KHONG MINH MANH_312,NEO_312 +313,KHONG MINH MANH_313,NEO_313 +314,KHONG MINH MANH_314,NEO_314 +315,KHONG MINH MANH_315,NEO_315 +316,KHONG MINH MANH_316,NEO_316 +317,KHONG MINH MANH_317,NEO_317 +318,KHONG MINH MANH_318,NEO_318 +319,KHONG MINH MANH_319,NEO_319 +320,KHONG MINH MANH_320,NEO_320 +321,KHONG MINH MANH_321,NEO_321 +322,KHONG MINH MANH_322,NEO_322 +323,KHONG MINH MANH_323,NEO_323 +324,KHONG MINH MANH_324,NEO_324 +325,KHONG MINH MANH_325,NEO_325 +326,KHONG MINH MANH_326,NEO_326 +327,KHONG MINH MANH_327,NEO_327 +328,KHONG MINH MANH_328,NEO_328 +329,KHONG MINH MANH_329,NEO_329 +330,KHONG MINH MANH_330,NEO_330 +331,KHONG MINH MANH_331,NEO_331 +332,KHONG MINH MANH_332,NEO_332 +333,KHONG MINH MANH_333,NEO_333 +334,KHONG MINH MANH_334,NEO_334 +335,KHONG MINH MANH_335,NEO_335 +336,KHONG MINH MANH_336,NEO_336 +337,KHONG MINH MANH_337,NEO_337 +338,KHONG MINH MANH_338,NEO_338 +339,KHONG MINH MANH_339,NEO_339 +340,KHONG MINH MANH_340,NEO_340 +341,KHONG MINH MANH_341,NEO_341 +342,KHONG MINH MANH_342,NEO_342 +343,KHONG MINH MANH_343,NEO_343 +344,KHONG MINH MANH_344,NEO_344 +345,KHONG MINH MANH_345,NEO_345 +346,KHONG MINH MANH_346,NEO_346 +347,KHONG MINH MANH_347,NEO_347 +348,KHONG MINH MANH_348,NEO_348 +349,KHONG MINH MANH_349,NEO_349 +350,KHONG MINH MANH_350,NEO_350 +351,KHONG MINH MANH_351,NEO_351 +352,KHONG MINH MANH_352,NEO_352 +353,KHONG MINH MANH_353,NEO_353 +354,KHONG MINH MANH_354,NEO_354 +355,KHONG MINH MANH_355,NEO_355 +356,KHONG MINH MANH_356,NEO_356 +357,KHONG MINH MANH_357,NEO_357 +358,KHONG MINH MANH_358,NEO_358 +359,KHONG MINH MANH_359,NEO_359 +360,KHONG MINH MANH_360,NEO_360 +361,KHONG MINH MANH_361,NEO_361 +362,KHONG MINH MANH_362,NEO_362 +363,KHONG MINH MANH_363,NEO_363 +364,KHONG MINH MANH_364,NEO_364 +365,KHONG MINH MANH_365,NEO_365 +366,KHONG MINH MANH_366,NEO_366 +367,KHONG MINH MANH_367,NEO_367 +368,KHONG MINH MANH_368,NEO_368 +369,KHONG MINH MANH_369,NEO_369 +370,KHONG MINH MANH_370,NEO_370 +371,KHONG MINH MANH_371,NEO_371 +372,KHONG MINH MANH_372,NEO_372 +373,KHONG MINH MANH_373,NEO_373 +374,KHONG MINH MANH_374,NEO_374 +375,KHONG MINH MANH_375,NEO_375 +376,KHONG MINH MANH_376,NEO_376 +377,KHONG MINH MANH_377,NEO_377 +378,KHONG MINH MANH_378,NEO_378 +379,KHONG MINH MANH_379,NEO_379 +380,KHONG MINH MANH_380,NEO_380 +381,KHONG MINH MANH_381,NEO_381 +382,KHONG MINH MANH_382,NEO_382 +383,KHONG MINH MANH_383,NEO_383 +384,KHONG MINH MANH_384,NEO_384 +385,KHONG MINH MANH_385,NEO_385 +386,KHONG MINH MANH_386,NEO_386 +387,KHONG MINH MANH_387,NEO_387 +388,KHONG MINH MANH_388,NEO_388 +389,KHONG MINH MANH_389,NEO_389 +390,KHONG MINH MANH_390,NEO_390 +391,KHONG MINH MANH_391,NEO_391 +392,KHONG MINH MANH_392,NEO_392 +393,KHONG MINH MANH_393,NEO_393 +394,KHONG MINH MANH_394,NEO_394 +395,KHONG MINH MANH_395,NEO_395 +396,KHONG MINH MANH_396,NEO_396 +397,KHONG MINH MANH_397,NEO_397 +398,KHONG MINH MANH_398,NEO_398 +399,KHONG MINH MANH_399,NEO_399 +400,KHONG MINH MANH_400,NEO_400 +401,KHONG MINH MANH_401,NEO_401 +402,KHONG MINH MANH_402,NEO_402 +403,KHONG MINH MANH_403,NEO_403 +404,KHONG MINH MANH_404,NEO_404 +405,KHONG MINH MANH_405,NEO_405 +406,KHONG MINH MANH_406,NEO_406 +407,KHONG MINH MANH_407,NEO_407 +408,KHONG MINH MANH_408,NEO_408 +409,KHONG MINH MANH_409,NEO_409 +410,KHONG MINH MANH_410,NEO_410 +411,KHONG MINH MANH_411,NEO_411 +412,KHONG MINH MANH_412,NEO_412 +413,KHONG MINH MANH_413,NEO_413 +414,KHONG MINH MANH_414,NEO_414 +415,KHONG MINH MANH_415,NEO_415 +416,KHONG MINH MANH_416,NEO_416 +417,KHONG MINH MANH_417,NEO_417 +418,KHONG MINH MANH_418,NEO_418 +419,KHONG MINH MANH_419,NEO_419 +420,KHONG MINH MANH_420,NEO_420 +421,KHONG MINH MANH_421,NEO_421 +422,KHONG MINH MANH_422,NEO_422 +423,KHONG MINH MANH_423,NEO_423 +424,KHONG MINH MANH_424,NEO_424 +425,KHONG MINH MANH_425,NEO_425 +426,KHONG MINH MANH_426,NEO_426 +427,KHONG MINH MANH_427,NEO_427 +428,KHONG MINH MANH_428,NEO_428 +429,KHONG MINH MANH_429,NEO_429 +430,KHONG MINH MANH_430,NEO_430 +431,KHONG MINH MANH_431,NEO_431 +432,KHONG MINH MANH_432,NEO_432 +433,KHONG MINH MANH_433,NEO_433 +434,KHONG MINH MANH_434,NEO_434 +435,KHONG MINH MANH_435,NEO_435 +436,KHONG MINH MANH_436,NEO_436 +437,KHONG MINH MANH_437,NEO_437 +438,KHONG MINH MANH_438,NEO_438 +439,KHONG MINH MANH_439,NEO_439 +440,KHONG MINH MANH_440,NEO_440 +441,KHONG MINH MANH_441,NEO_441 +442,KHONG MINH MANH_442,NEO_442 +443,KHONG MINH MANH_443,NEO_443 +444,KHONG MINH MANH_444,NEO_444 +445,KHONG MINH MANH_445,NEO_445 +446,KHONG MINH MANH_446,NEO_446 +447,KHONG MINH MANH_447,NEO_447 +448,KHONG MINH MANH_448,NEO_448 +449,KHONG MINH MANH_449,NEO_449 +450,KHONG MINH MANH_450,NEO_450 +451,KHONG MINH MANH_451,NEO_451 +452,KHONG MINH MANH_452,NEO_452 +453,KHONG MINH MANH_453,NEO_453 +454,KHONG MINH MANH_454,NEO_454 +455,KHONG MINH MANH_455,NEO_455 +456,KHONG MINH MANH_456,NEO_456 +457,KHONG MINH MANH_457,NEO_457 +458,KHONG MINH MANH_458,NEO_458 +459,KHONG MINH MANH_459,NEO_459 +460,KHONG MINH MANH_460,NEO_460 +461,KHONG MINH MANH_461,NEO_461 +462,KHONG MINH MANH_462,NEO_462 +463,KHONG MINH MANH_463,NEO_463 +464,KHONG MINH MANH_464,NEO_464 +465,KHONG MINH MANH_465,NEO_465 +466,KHONG MINH MANH_466,NEO_466 +467,KHONG MINH MANH_467,NEO_467 +468,KHONG MINH MANH_468,NEO_468 +469,KHONG MINH MANH_469,NEO_469 +470,KHONG MINH MANH_470,NEO_470 +471,KHONG MINH MANH_471,NEO_471 +472,KHONG MINH MANH_472,NEO_472 +473,KHONG MINH MANH_473,NEO_473 +474,KHONG MINH MANH_474,NEO_474 +475,KHONG MINH MANH_475,NEO_475 +476,KHONG MINH MANH_476,NEO_476 +477,KHONG MINH MANH_477,NEO_477 +478,KHONG MINH MANH_478,NEO_478 +479,KHONG MINH MANH_479,NEO_479 +480,KHONG MINH MANH_480,NEO_480 +481,KHONG MINH MANH_481,NEO_481 +482,KHONG MINH MANH_482,NEO_482 +483,KHONG MINH MANH_483,NEO_483 +484,KHONG MINH MANH_484,NEO_484 +485,KHONG MINH MANH_485,NEO_485 +486,KHONG MINH MANH_486,NEO_486 +487,KHONG MINH MANH_487,NEO_487 +488,KHONG MINH MANH_488,NEO_488 +489,KHONG MINH MANH_489,NEO_489 +490,KHONG MINH MANH_490,NEO_490 +491,KHONG MINH MANH_491,NEO_491 +492,KHONG MINH MANH_492,NEO_492 +493,KHONG MINH MANH_493,NEO_493 +494,KHONG MINH MANH_494,NEO_494 +495,KHONG MINH MANH_495,NEO_495 +496,KHONG MINH MANH_496,NEO_496 +497,KHONG MINH MANH_497,NEO_497 +498,KHONG MINH MANH_498,NEO_498 +499,KHONG MINH MANH_499,NEO_499 +500,KHONG MINH MANH_500,NEO_500 +501,KHONG MINH MANH_501,NEO_501 +502,KHONG MINH MANH_502,NEO_502 +503,KHONG MINH MANH_503,NEO_503 +504,KHONG MINH MANH_504,NEO_504 +505,KHONG MINH MANH_505,NEO_505 +506,KHONG MINH MANH_506,NEO_506 +507,KHONG MINH MANH_507,NEO_507 +508,KHONG MINH MANH_508,NEO_508 +509,KHONG MINH MANH_509,NEO_509 +510,KHONG MINH MANH_510,NEO_510 +511,KHONG MINH MANH_511,NEO_511 +512,KHONG MINH MANH_512,NEO_512 +513,KHONG MINH MANH_513,NEO_513 +514,KHONG MINH MANH_514,NEO_514 +515,KHONG MINH MANH_515,NEO_515 +516,KHONG MINH MANH_516,NEO_516 +517,KHONG MINH MANH_517,NEO_517 +518,KHONG MINH MANH_518,NEO_518 +519,KHONG MINH MANH_519,NEO_519 +520,KHONG MINH MANH_520,NEO_520 +521,KHONG MINH MANH_521,NEO_521 +522,KHONG MINH MANH_522,NEO_522 +523,KHONG MINH MANH_523,NEO_523 +524,KHONG MINH MANH_524,NEO_524 +525,KHONG MINH MANH_525,NEO_525 +526,KHONG MINH MANH_526,NEO_526 +527,KHONG MINH MANH_527,NEO_527 +528,KHONG MINH MANH_528,NEO_528 +529,KHONG MINH MANH_529,NEO_529 +530,KHONG MINH MANH_530,NEO_530 +531,KHONG MINH MANH_531,NEO_531 +532,KHONG MINH MANH_532,NEO_532 +533,KHONG MINH MANH_533,NEO_533 +534,KHONG MINH MANH_534,NEO_534 +535,KHONG MINH MANH_535,NEO_535 +536,KHONG MINH MANH_536,NEO_536 +537,KHONG MINH MANH_537,NEO_537 +538,KHONG MINH MANH_538,NEO_538 +539,KHONG MINH MANH_539,NEO_539 +540,KHONG MINH MANH_540,NEO_540 +541,KHONG MINH MANH_541,NEO_541 +542,KHONG MINH MANH_542,NEO_542 +543,KHONG MINH MANH_543,NEO_543 +544,KHONG MINH MANH_544,NEO_544 +545,KHONG MINH MANH_545,NEO_545 +546,KHONG MINH MANH_546,NEO_546 +547,KHONG MINH MANH_547,NEO_547 +548,KHONG MINH MANH_548,NEO_548 +549,KHONG MINH MANH_549,NEO_549 +550,KHONG MINH MANH_550,NEO_550 +551,KHONG MINH MANH_551,NEO_551 +552,KHONG MINH MANH_552,NEO_552 +553,KHONG MINH MANH_553,NEO_553 +554,KHONG MINH MANH_554,NEO_554 +555,KHONG MINH MANH_555,NEO_555 +556,KHONG MINH MANH_556,NEO_556 +557,KHONG MINH MANH_557,NEO_557 +558,KHONG MINH MANH_558,NEO_558 +559,KHONG MINH MANH_559,NEO_559 +560,KHONG MINH MANH_560,NEO_560 +561,KHONG MINH MANH_561,NEO_561 +562,KHONG MINH MANH_562,NEO_562 +563,KHONG MINH MANH_563,NEO_563 +564,KHONG MINH MANH_564,NEO_564 +565,KHONG MINH MANH_565,NEO_565 +566,KHONG MINH MANH_566,NEO_566 +567,KHONG MINH MANH_567,NEO_567 +568,KHONG MINH MANH_568,NEO_568 +569,KHONG MINH MANH_569,NEO_569 +570,KHONG MINH MANH_570,NEO_570 +571,KHONG MINH MANH_571,NEO_571 +572,KHONG MINH MANH_572,NEO_572 +573,KHONG MINH MANH_573,NEO_573 +574,KHONG MINH MANH_574,NEO_574 +575,KHONG MINH MANH_575,NEO_575 +576,KHONG MINH MANH_576,NEO_576 +577,KHONG MINH MANH_577,NEO_577 +578,KHONG MINH MANH_578,NEO_578 +579,KHONG MINH MANH_579,NEO_579 +580,KHONG MINH MANH_580,NEO_580 +581,KHONG MINH MANH_581,NEO_581 +582,KHONG MINH MANH_582,NEO_582 +583,KHONG MINH MANH_583,NEO_583 +584,KHONG MINH MANH_584,NEO_584 +585,KHONG MINH MANH_585,NEO_585 +586,KHONG MINH MANH_586,NEO_586 +587,KHONG MINH MANH_587,NEO_587 +588,KHONG MINH MANH_588,NEO_588 +589,KHONG MINH MANH_589,NEO_589 +590,KHONG MINH MANH_590,NEO_590 +591,KHONG MINH MANH_591,NEO_591 +592,KHONG MINH MANH_592,NEO_592 +593,KHONG MINH MANH_593,NEO_593 +594,KHONG MINH MANH_594,NEO_594 +595,KHONG MINH MANH_595,NEO_595 +596,KHONG MINH MANH_596,NEO_596 +597,KHONG MINH MANH_597,NEO_597 +598,KHONG MINH MANH_598,NEO_598 +599,KHONG MINH MANH_599,NEO_599 +600,KHONG MINH MANH_600,NEO_600 +601,KHONG MINH MANH_601,NEO_601 +602,KHONG MINH MANH_602,NEO_602 +603,KHONG MINH MANH_603,NEO_603 +604,KHONG MINH MANH_604,NEO_604 +605,KHONG MINH MANH_605,NEO_605 +606,KHONG MINH MANH_606,NEO_606 +607,KHONG MINH MANH_607,NEO_607 +608,KHONG MINH MANH_608,NEO_608 +609,KHONG MINH MANH_609,NEO_609 +610,KHONG MINH MANH_610,NEO_610 +611,KHONG MINH MANH_611,NEO_611 +612,KHONG MINH MANH_612,NEO_612 +613,KHONG MINH MANH_613,NEO_613 +614,KHONG MINH MANH_614,NEO_614 +615,KHONG MINH MANH_615,NEO_615 +616,KHONG MINH MANH_616,NEO_616 +617,KHONG MINH MANH_617,NEO_617 +618,KHONG MINH MANH_618,NEO_618 +619,KHONG MINH MANH_619,NEO_619 +620,KHONG MINH MANH_620,NEO_620 +621,KHONG MINH MANH_621,NEO_621 +622,KHONG MINH MANH_622,NEO_622 +623,KHONG MINH MANH_623,NEO_623 +624,KHONG MINH MANH_624,NEO_624 +625,KHONG MINH MANH_625,NEO_625 +626,KHONG MINH MANH_626,NEO_626 +627,KHONG MINH MANH_627,NEO_627 +628,KHONG MINH MANH_628,NEO_628 +629,KHONG MINH MANH_629,NEO_629 +630,KHONG MINH MANH_630,NEO_630 +631,KHONG MINH MANH_631,NEO_631 +632,KHONG MINH MANH_632,NEO_632 +633,KHONG MINH MANH_633,NEO_633 +634,KHONG MINH MANH_634,NEO_634 +635,KHONG MINH MANH_635,NEO_635 +636,KHONG MINH MANH_636,NEO_636 +637,KHONG MINH MANH_637,NEO_637 +638,KHONG MINH MANH_638,NEO_638 +639,KHONG MINH MANH_639,NEO_639 +640,KHONG MINH MANH_640,NEO_640 +641,KHONG MINH MANH_641,NEO_641 +642,KHONG MINH MANH_642,NEO_642 +643,KHONG MINH MANH_643,NEO_643 +644,KHONG MINH MANH_644,NEO_644 +645,KHONG MINH MANH_645,NEO_645 +646,KHONG MINH MANH_646,NEO_646 +647,KHONG MINH MANH_647,NEO_647 +648,KHONG MINH MANH_648,NEO_648 +649,KHONG MINH MANH_649,NEO_649 +650,KHONG MINH MANH_650,NEO_650 +651,KHONG MINH MANH_651,NEO_651 +652,KHONG MINH MANH_652,NEO_652 +653,KHONG MINH MANH_653,NEO_653 +654,KHONG MINH MANH_654,NEO_654 +655,KHONG MINH MANH_655,NEO_655 +656,KHONG MINH MANH_656,NEO_656 +657,KHONG MINH MANH_657,NEO_657 +658,KHONG MINH MANH_658,NEO_658 +659,KHONG MINH MANH_659,NEO_659 +660,KHONG MINH MANH_660,NEO_660 +661,KHONG MINH MANH_661,NEO_661 +662,KHONG MINH MANH_662,NEO_662 +663,KHONG MINH MANH_663,NEO_663 +664,KHONG MINH MANH_664,NEO_664 +665,KHONG MINH MANH_665,NEO_665 +666,KHONG MINH MANH_666,NEO_666 +667,KHONG MINH MANH_667,NEO_667 +668,KHONG MINH MANH_668,NEO_668 +669,KHONG MINH MANH_669,NEO_669 +670,KHONG MINH MANH_670,NEO_670 +671,KHONG MINH MANH_671,NEO_671 +672,KHONG MINH MANH_672,NEO_672 +673,KHONG MINH MANH_673,NEO_673 +674,KHONG MINH MANH_674,NEO_674 +675,KHONG MINH MANH_675,NEO_675 +676,KHONG MINH MANH_676,NEO_676 +677,KHONG MINH MANH_677,NEO_677 +678,KHONG MINH MANH_678,NEO_678 +679,KHONG MINH MANH_679,NEO_679 +680,KHONG MINH MANH_680,NEO_680 +681,KHONG MINH MANH_681,NEO_681 +682,KHONG MINH MANH_682,NEO_682 +683,KHONG MINH MANH_683,NEO_683 +684,KHONG MINH MANH_684,NEO_684 +685,KHONG MINH MANH_685,NEO_685 +686,KHONG MINH MANH_686,NEO_686 +687,KHONG MINH MANH_687,NEO_687 +688,KHONG MINH MANH_688,NEO_688 +689,KHONG MINH MANH_689,NEO_689 +690,KHONG MINH MANH_690,NEO_690 +691,KHONG MINH MANH_691,NEO_691 +692,KHONG MINH MANH_692,NEO_692 +693,KHONG MINH MANH_693,NEO_693 +694,KHONG MINH MANH_694,NEO_694 +695,KHONG MINH MANH_695,NEO_695 +696,KHONG MINH MANH_696,NEO_696 +697,KHONG MINH MANH_697,NEO_697 +698,KHONG MINH MANH_698,NEO_698 +699,KHONG MINH MANH_699,NEO_699 +700,KHONG MINH MANH_700,NEO_700 +701,KHONG MINH MANH_701,NEO_701 +702,KHONG MINH MANH_702,NEO_702 +703,KHONG MINH MANH_703,NEO_703 +704,KHONG MINH MANH_704,NEO_704 +705,KHONG MINH MANH_705,NEO_705 +706,KHONG MINH MANH_706,NEO_706 +707,KHONG MINH MANH_707,NEO_707 +708,KHONG MINH MANH_708,NEO_708 +709,KHONG MINH MANH_709,NEO_709 +710,KHONG MINH MANH_710,NEO_710 +711,KHONG MINH MANH_711,NEO_711 +712,KHONG MINH MANH_712,NEO_712 +713,KHONG MINH MANH_713,NEO_713 +714,KHONG MINH MANH_714,NEO_714 +715,KHONG MINH MANH_715,NEO_715 +716,KHONG MINH MANH_716,NEO_716 +717,KHONG MINH MANH_717,NEO_717 +718,KHONG MINH MANH_718,NEO_718 +719,KHONG MINH MANH_719,NEO_719 +720,KHONG MINH MANH_720,NEO_720 +721,KHONG MINH MANH_721,NEO_721 +722,KHONG MINH MANH_722,NEO_722 +723,KHONG MINH MANH_723,NEO_723 +724,KHONG MINH MANH_724,NEO_724 +725,KHONG MINH MANH_725,NEO_725 +726,KHONG MINH MANH_726,NEO_726 +727,KHONG MINH MANH_727,NEO_727 +728,KHONG MINH MANH_728,NEO_728 +729,KHONG MINH MANH_729,NEO_729 +730,KHONG MINH MANH_730,NEO_730 +731,KHONG MINH MANH_731,NEO_731 +732,KHONG MINH MANH_732,NEO_732 +733,KHONG MINH MANH_733,NEO_733 +734,KHONG MINH MANH_734,NEO_734 +735,KHONG MINH MANH_735,NEO_735 +736,KHONG MINH MANH_736,NEO_736 +737,KHONG MINH MANH_737,NEO_737 +738,KHONG MINH MANH_738,NEO_738 +739,KHONG MINH MANH_739,NEO_739 +740,KHONG MINH MANH_740,NEO_740 +741,KHONG MINH MANH_741,NEO_741 +742,KHONG MINH MANH_742,NEO_742 +743,KHONG MINH MANH_743,NEO_743 +744,KHONG MINH MANH_744,NEO_744 +745,KHONG MINH MANH_745,NEO_745 +746,KHONG MINH MANH_746,NEO_746 +747,KHONG MINH MANH_747,NEO_747 +748,KHONG MINH MANH_748,NEO_748 +749,KHONG MINH MANH_749,NEO_749 +750,KHONG MINH MANH_750,NEO_750 +751,KHONG MINH MANH_751,NEO_751 +752,KHONG MINH MANH_752,NEO_752 +753,KHONG MINH MANH_753,NEO_753 +754,KHONG MINH MANH_754,NEO_754 +755,KHONG MINH MANH_755,NEO_755 +756,KHONG MINH MANH_756,NEO_756 +757,KHONG MINH MANH_757,NEO_757 +758,KHONG MINH MANH_758,NEO_758 +759,KHONG MINH MANH_759,NEO_759 +760,KHONG MINH MANH_760,NEO_760 +761,KHONG MINH MANH_761,NEO_761 +762,KHONG MINH MANH_762,NEO_762 +763,KHONG MINH MANH_763,NEO_763 +764,KHONG MINH MANH_764,NEO_764 +765,KHONG MINH MANH_765,NEO_765 +766,KHONG MINH MANH_766,NEO_766 +767,KHONG MINH MANH_767,NEO_767 +768,KHONG MINH MANH_768,NEO_768 +769,KHONG MINH MANH_769,NEO_769 +770,KHONG MINH MANH_770,NEO_770 +771,KHONG MINH MANH_771,NEO_771 +772,KHONG MINH MANH_772,NEO_772 +773,KHONG MINH MANH_773,NEO_773 +774,KHONG MINH MANH_774,NEO_774 +775,KHONG MINH MANH_775,NEO_775 +776,KHONG MINH MANH_776,NEO_776 +777,KHONG MINH MANH_777,NEO_777 +778,KHONG MINH MANH_778,NEO_778 +779,KHONG MINH MANH_779,NEO_779 +780,KHONG MINH MANH_780,NEO_780 +781,KHONG MINH MANH_781,NEO_781 +782,KHONG MINH MANH_782,NEO_782 +783,KHONG MINH MANH_783,NEO_783 +784,KHONG MINH MANH_784,NEO_784 +785,KHONG MINH MANH_785,NEO_785 +786,KHONG MINH MANH_786,NEO_786 +787,KHONG MINH MANH_787,NEO_787 +788,KHONG MINH MANH_788,NEO_788 +789,KHONG MINH MANH_789,NEO_789 +790,KHONG MINH MANH_790,NEO_790 +791,KHONG MINH MANH_791,NEO_791 +792,KHONG MINH MANH_792,NEO_792 +793,KHONG MINH MANH_793,NEO_793 +794,KHONG MINH MANH_794,NEO_794 +795,KHONG MINH MANH_795,NEO_795 +796,KHONG MINH MANH_796,NEO_796 +797,KHONG MINH MANH_797,NEO_797 +798,KHONG MINH MANH_798,NEO_798 +799,KHONG MINH MANH_799,NEO_799 +800,KHONG MINH MANH_800,NEO_800 +801,KHONG MINH MANH_801,NEO_801 +802,KHONG MINH MANH_802,NEO_802 +803,KHONG MINH MANH_803,NEO_803 +804,KHONG MINH MANH_804,NEO_804 +805,KHONG MINH MANH_805,NEO_805 +806,KHONG MINH MANH_806,NEO_806 +807,KHONG MINH MANH_807,NEO_807 +808,KHONG MINH MANH_808,NEO_808 +809,KHONG MINH MANH_809,NEO_809 +810,KHONG MINH MANH_810,NEO_810 +811,KHONG MINH MANH_811,NEO_811 +812,KHONG MINH MANH_812,NEO_812 +813,KHONG MINH MANH_813,NEO_813 +814,KHONG MINH MANH_814,NEO_814 +815,KHONG MINH MANH_815,NEO_815 +816,KHONG MINH MANH_816,NEO_816 +817,KHONG MINH MANH_817,NEO_817 +818,KHONG MINH MANH_818,NEO_818 +819,KHONG MINH MANH_819,NEO_819 +820,KHONG MINH MANH_820,NEO_820 +821,KHONG MINH MANH_821,NEO_821 +822,KHONG MINH MANH_822,NEO_822 +823,KHONG MINH MANH_823,NEO_823 +824,KHONG MINH MANH_824,NEO_824 +825,KHONG MINH MANH_825,NEO_825 +826,KHONG MINH MANH_826,NEO_826 +827,KHONG MINH MANH_827,NEO_827 +828,KHONG MINH MANH_828,NEO_828 +829,KHONG MINH MANH_829,NEO_829 +830,KHONG MINH MANH_830,NEO_830 +831,KHONG MINH MANH_831,NEO_831 +832,KHONG MINH MANH_832,NEO_832 +833,KHONG MINH MANH_833,NEO_833 +834,KHONG MINH MANH_834,NEO_834 +835,KHONG MINH MANH_835,NEO_835 +836,KHONG MINH MANH_836,NEO_836 +837,KHONG MINH MANH_837,NEO_837 +838,KHONG MINH MANH_838,NEO_838 +839,KHONG MINH MANH_839,NEO_839 +840,KHONG MINH MANH_840,NEO_840 +841,KHONG MINH MANH_841,NEO_841 +842,KHONG MINH MANH_842,NEO_842 +843,KHONG MINH MANH_843,NEO_843 +844,KHONG MINH MANH_844,NEO_844 +845,KHONG MINH MANH_845,NEO_845 +846,KHONG MINH MANH_846,NEO_846 +847,KHONG MINH MANH_847,NEO_847 +848,KHONG MINH MANH_848,NEO_848 +849,KHONG MINH MANH_849,NEO_849 +850,KHONG MINH MANH_850,NEO_850 +851,KHONG MINH MANH_851,NEO_851 +852,KHONG MINH MANH_852,NEO_852 +853,KHONG MINH MANH_853,NEO_853 +854,KHONG MINH MANH_854,NEO_854 +855,KHONG MINH MANH_855,NEO_855 +856,KHONG MINH MANH_856,NEO_856 +857,KHONG MINH MANH_857,NEO_857 +858,KHONG MINH MANH_858,NEO_858 +859,KHONG MINH MANH_859,NEO_859 +860,KHONG MINH MANH_860,NEO_860 +861,KHONG MINH MANH_861,NEO_861 +862,KHONG MINH MANH_862,NEO_862 +863,KHONG MINH MANH_863,NEO_863 +864,KHONG MINH MANH_864,NEO_864 +865,KHONG MINH MANH_865,NEO_865 +866,KHONG MINH MANH_866,NEO_866 +867,KHONG MINH MANH_867,NEO_867 +868,KHONG MINH MANH_868,NEO_868 +869,KHONG MINH MANH_869,NEO_869 +870,KHONG MINH MANH_870,NEO_870 +871,KHONG MINH MANH_871,NEO_871 +872,KHONG MINH MANH_872,NEO_872 +873,KHONG MINH MANH_873,NEO_873 +874,KHONG MINH MANH_874,NEO_874 +875,KHONG MINH MANH_875,NEO_875 +876,KHONG MINH MANH_876,NEO_876 +877,KHONG MINH MANH_877,NEO_877 +878,KHONG MINH MANH_878,NEO_878 +879,KHONG MINH MANH_879,NEO_879 +880,KHONG MINH MANH_880,NEO_880 +881,KHONG MINH MANH_881,NEO_881 +882,KHONG MINH MANH_882,NEO_882 +883,KHONG MINH MANH_883,NEO_883 +884,KHONG MINH MANH_884,NEO_884 +885,KHONG MINH MANH_885,NEO_885 +886,KHONG MINH MANH_886,NEO_886 +887,KHONG MINH MANH_887,NEO_887 +888,KHONG MINH MANH_888,NEO_888 +889,KHONG MINH MANH_889,NEO_889 +890,KHONG MINH MANH_890,NEO_890 +891,KHONG MINH MANH_891,NEO_891 +892,KHONG MINH MANH_892,NEO_892 +893,KHONG MINH MANH_893,NEO_893 +894,KHONG MINH MANH_894,NEO_894 +895,KHONG MINH MANH_895,NEO_895 +896,KHONG MINH MANH_896,NEO_896 +897,KHONG MINH MANH_897,NEO_897 +898,KHONG MINH MANH_898,NEO_898 +899,KHONG MINH MANH_899,NEO_899 +900,KHONG MINH MANH_900,NEO_900 +901,KHONG MINH MANH_901,NEO_901 +902,KHONG MINH MANH_902,NEO_902 +903,KHONG MINH MANH_903,NEO_903 +904,KHONG MINH MANH_904,NEO_904 +905,KHONG MINH MANH_905,NEO_905 +906,KHONG MINH MANH_906,NEO_906 +907,KHONG MINH MANH_907,NEO_907 +908,KHONG MINH MANH_908,NEO_908 +909,KHONG MINH MANH_909,NEO_909 +910,KHONG MINH MANH_910,NEO_910 +911,KHONG MINH MANH_911,NEO_911 +912,KHONG MINH MANH_912,NEO_912 +913,KHONG MINH MANH_913,NEO_913 +914,KHONG MINH MANH_914,NEO_914 +915,KHONG MINH MANH_915,NEO_915 +916,KHONG MINH MANH_916,NEO_916 +917,KHONG MINH MANH_917,NEO_917 +918,KHONG MINH MANH_918,NEO_918 +919,KHONG MINH MANH_919,NEO_919 +920,KHONG MINH MANH_920,NEO_920 +921,KHONG MINH MANH_921,NEO_921 +922,KHONG MINH MANH_922,NEO_922 +923,KHONG MINH MANH_923,NEO_923 +924,KHONG MINH MANH_924,NEO_924 +925,KHONG MINH MANH_925,NEO_925 +926,KHONG MINH MANH_926,NEO_926 +927,KHONG MINH MANH_927,NEO_927 +928,KHONG MINH MANH_928,NEO_928 +929,KHONG MINH MANH_929,NEO_929 +930,KHONG MINH MANH_930,NEO_930 +931,KHONG MINH MANH_931,NEO_931 +932,KHONG MINH MANH_932,NEO_932 +933,KHONG MINH MANH_933,NEO_933 +934,KHONG MINH MANH_934,NEO_934 +935,KHONG MINH MANH_935,NEO_935 +936,KHONG MINH MANH_936,NEO_936 +937,KHONG MINH MANH_937,NEO_937 +938,KHONG MINH MANH_938,NEO_938 +939,KHONG MINH MANH_939,NEO_939 +940,KHONG MINH MANH_940,NEO_940 +941,KHONG MINH MANH_941,NEO_941 +942,KHONG MINH MANH_942,NEO_942 +943,KHONG MINH MANH_943,NEO_943 +944,KHONG MINH MANH_944,NEO_944 +945,KHONG MINH MANH_945,NEO_945 +946,KHONG MINH MANH_946,NEO_946 +947,KHONG MINH MANH_947,NEO_947 +948,KHONG MINH MANH_948,NEO_948 +949,KHONG MINH MANH_949,NEO_949 +950,KHONG MINH MANH_950,NEO_950 +951,KHONG MINH MANH_951,NEO_951 +952,KHONG MINH MANH_952,NEO_952 +953,KHONG MINH MANH_953,NEO_953 +954,KHONG MINH MANH_954,NEO_954 +955,KHONG MINH MANH_955,NEO_955 +956,KHONG MINH MANH_956,NEO_956 +957,KHONG MINH MANH_957,NEO_957 +958,KHONG MINH MANH_958,NEO_958 +959,KHONG MINH MANH_959,NEO_959 +960,KHONG MINH MANH_960,NEO_960 +961,KHONG MINH MANH_961,NEO_961 +962,KHONG MINH MANH_962,NEO_962 +963,KHONG MINH MANH_963,NEO_963 +964,KHONG MINH MANH_964,NEO_964 +965,KHONG MINH MANH_965,NEO_965 +966,KHONG MINH MANH_966,NEO_966 +967,KHONG MINH MANH_967,NEO_967 +968,KHONG MINH MANH_968,NEO_968 +969,KHONG MINH MANH_969,NEO_969 +970,KHONG MINH MANH_970,NEO_970 +971,KHONG MINH MANH_971,NEO_971 +972,KHONG MINH MANH_972,NEO_972 +973,KHONG MINH MANH_973,NEO_973 +974,KHONG MINH MANH_974,NEO_974 +975,KHONG MINH MANH_975,NEO_975 +976,KHONG MINH MANH_976,NEO_976 +977,KHONG MINH MANH_977,NEO_977 +978,KHONG MINH MANH_978,NEO_978 +979,KHONG MINH MANH_979,NEO_979 +980,KHONG MINH MANH_980,NEO_980 +981,KHONG MINH MANH_981,NEO_981 +982,KHONG MINH MANH_982,NEO_982 +983,KHONG MINH MANH_983,NEO_983 +984,KHONG MINH MANH_984,NEO_984 +985,KHONG MINH MANH_985,NEO_985 +986,KHONG MINH MANH_986,NEO_986 +987,KHONG MINH MANH_987,NEO_987 +988,KHONG MINH MANH_988,NEO_988 +989,KHONG MINH MANH_989,NEO_989 +990,KHONG MINH MANH_990,NEO_990 +991,KHONG MINH MANH_991,NEO_991 +992,KHONG MINH MANH_992,NEO_992 +993,KHONG MINH MANH_993,NEO_993 +994,KHONG MINH MANH_994,NEO_994 +995,KHONG MINH MANH_995,NEO_995 +996,KHONG MINH MANH_996,NEO_996 +997,KHONG MINH MANH_997,NEO_997 +998,KHONG MINH MANH_998,NEO_998 +999,KHONG MINH MANH_999,NEO_999 +1000,KHONG MINH MANH_1000,NEO_1000 +1001,KHONG MINH MANH_1001,NEO_1001 +1002,KHONG MINH MANH_1002,NEO_1002 +1003,KHONG MINH MANH_1003,NEO_1003 +1004,KHONG MINH MANH_1004,NEO_1004 +1005,KHONG MINH MANH_1005,NEO_1005 +1006,KHONG MINH MANH_1006,NEO_1006 +1007,KHONG MINH MANH_1007,NEO_1007 +1008,KHONG MINH MANH_1008,NEO_1008 +1009,KHONG MINH MANH_1009,NEO_1009 +1010,KHONG MINH MANH_1010,NEO_1010 +1011,KHONG MINH MANH_1011,NEO_1011 +1012,KHONG MINH MANH_1012,NEO_1012 +1013,KHONG MINH MANH_1013,NEO_1013 +1014,KHONG MINH MANH_1014,NEO_1014 +1015,KHONG MINH MANH_1015,NEO_1015 +1016,KHONG MINH MANH_1016,NEO_1016 +1017,KHONG MINH MANH_1017,NEO_1017 +1018,KHONG MINH MANH_1018,NEO_1018 +1019,KHONG MINH MANH_1019,NEO_1019 +1020,KHONG MINH MANH_1020,NEO_1020 +1021,KHONG MINH MANH_1021,NEO_1021 +1022,KHONG MINH MANH_1022,NEO_1022 +1023,KHONG MINH MANH_1023,NEO_1023 +1024,KHONG MINH MANH_1024,NEO_1024 +1025,KHONG MINH MANH_1025,NEO_1025 +1026,KHONG MINH MANH_1026,NEO_1026 +1027,KHONG MINH MANH_1027,NEO_1027 +1028,KHONG MINH MANH_1028,NEO_1028 +1029,KHONG MINH MANH_1029,NEO_1029 +1030,KHONG MINH MANH_1030,NEO_1030 +1031,KHONG MINH MANH_1031,NEO_1031 +1032,KHONG MINH MANH_1032,NEO_1032 +1033,KHONG MINH MANH_1033,NEO_1033 +1034,KHONG MINH MANH_1034,NEO_1034 +1035,KHONG MINH MANH_1035,NEO_1035 +1036,KHONG MINH MANH_1036,NEO_1036 +1037,KHONG MINH MANH_1037,NEO_1037 +1038,KHONG MINH MANH_1038,NEO_1038 +1039,KHONG MINH MANH_1039,NEO_1039 +1040,KHONG MINH MANH_1040,NEO_1040 +1041,KHONG MINH MANH_1041,NEO_1041 +1042,KHONG MINH MANH_1042,NEO_1042 +1043,KHONG MINH MANH_1043,NEO_1043 +1044,KHONG MINH MANH_1044,NEO_1044 +1045,KHONG MINH MANH_1045,NEO_1045 +1046,KHONG MINH MANH_1046,NEO_1046 +1047,KHONG MINH MANH_1047,NEO_1047 +1048,KHONG MINH MANH_1048,NEO_1048 +1049,KHONG MINH MANH_1049,NEO_1049 +1050,KHONG MINH MANH_1050,NEO_1050 +1051,KHONG MINH MANH_1051,NEO_1051 +1052,KHONG MINH MANH_1052,NEO_1052 +1053,KHONG MINH MANH_1053,NEO_1053 +1054,KHONG MINH MANH_1054,NEO_1054 +1055,KHONG MINH MANH_1055,NEO_1055 +1056,KHONG MINH MANH_1056,NEO_1056 +1057,KHONG MINH MANH_1057,NEO_1057 +1058,KHONG MINH MANH_1058,NEO_1058 +1059,KHONG MINH MANH_1059,NEO_1059 +1060,KHONG MINH MANH_1060,NEO_1060 +1061,KHONG MINH MANH_1061,NEO_1061 +1062,KHONG MINH MANH_1062,NEO_1062 +1063,KHONG MINH MANH_1063,NEO_1063 +1064,KHONG MINH MANH_1064,NEO_1064 +1065,KHONG MINH MANH_1065,NEO_1065 +1066,KHONG MINH MANH_1066,NEO_1066 +1067,KHONG MINH MANH_1067,NEO_1067 +1068,KHONG MINH MANH_1068,NEO_1068 +1069,KHONG MINH MANH_1069,NEO_1069 +1070,KHONG MINH MANH_1070,NEO_1070 +1071,KHONG MINH MANH_1071,NEO_1071 +1072,KHONG MINH MANH_1072,NEO_1072 +1073,KHONG MINH MANH_1073,NEO_1073 +1074,KHONG MINH MANH_1074,NEO_1074 +1075,KHONG MINH MANH_1075,NEO_1075 +1076,KHONG MINH MANH_1076,NEO_1076 +1077,KHONG MINH MANH_1077,NEO_1077 +1078,KHONG MINH MANH_1078,NEO_1078 +1079,KHONG MINH MANH_1079,NEO_1079 +1080,KHONG MINH MANH_1080,NEO_1080 +1081,KHONG MINH MANH_1081,NEO_1081 +1082,KHONG MINH MANH_1082,NEO_1082 +1083,KHONG MINH MANH_1083,NEO_1083 +1084,KHONG MINH MANH_1084,NEO_1084 +1085,KHONG MINH MANH_1085,NEO_1085 +1086,KHONG MINH MANH_1086,NEO_1086 +1087,KHONG MINH MANH_1087,NEO_1087 +1088,KHONG MINH MANH_1088,NEO_1088 +1089,KHONG MINH MANH_1089,NEO_1089 +1090,KHONG MINH MANH_1090,NEO_1090 +1091,KHONG MINH MANH_1091,NEO_1091 +1092,KHONG MINH MANH_1092,NEO_1092 +1093,KHONG MINH MANH_1093,NEO_1093 +1094,KHONG MINH MANH_1094,NEO_1094 +1095,KHONG MINH MANH_1095,NEO_1095 +1096,KHONG MINH MANH_1096,NEO_1096 +1097,KHONG MINH MANH_1097,NEO_1097 +1098,KHONG MINH MANH_1098,NEO_1098 +1099,KHONG MINH MANH_1099,NEO_1099 +1100,KHONG MINH MANH_1100,NEO_1100 +1101,KHONG MINH MANH_1101,NEO_1101 +1102,KHONG MINH MANH_1102,NEO_1102 +1103,KHONG MINH MANH_1103,NEO_1103 +1104,KHONG MINH MANH_1104,NEO_1104 +1105,KHONG MINH MANH_1105,NEO_1105 +1106,KHONG MINH MANH_1106,NEO_1106 +1107,KHONG MINH MANH_1107,NEO_1107 +1108,KHONG MINH MANH_1108,NEO_1108 +1109,KHONG MINH MANH_1109,NEO_1109 +1110,KHONG MINH MANH_1110,NEO_1110 +1111,KHONG MINH MANH_1111,NEO_1111 +1112,KHONG MINH MANH_1112,NEO_1112 +1113,KHONG MINH MANH_1113,NEO_1113 +1114,KHONG MINH MANH_1114,NEO_1114 +1115,KHONG MINH MANH_1115,NEO_1115 +1116,KHONG MINH MANH_1116,NEO_1116 +1117,KHONG MINH MANH_1117,NEO_1117 +1118,KHONG MINH MANH_1118,NEO_1118 +1119,KHONG MINH MANH_1119,NEO_1119 +1120,KHONG MINH MANH_1120,NEO_1120 +1121,KHONG MINH MANH_1121,NEO_1121 +1122,KHONG MINH MANH_1122,NEO_1122 +1123,KHONG MINH MANH_1123,NEO_1123 +1124,KHONG MINH MANH_1124,NEO_1124 +1125,KHONG MINH MANH_1125,NEO_1125 +1126,KHONG MINH MANH_1126,NEO_1126 +1127,KHONG MINH MANH_1127,NEO_1127 +1128,KHONG MINH MANH_1128,NEO_1128 +1129,KHONG MINH MANH_1129,NEO_1129 +1130,KHONG MINH MANH_1130,NEO_1130 +1131,KHONG MINH MANH_1131,NEO_1131 +1132,KHONG MINH MANH_1132,NEO_1132 +1133,KHONG MINH MANH_1133,NEO_1133 +1134,KHONG MINH MANH_1134,NEO_1134 +1135,KHONG MINH MANH_1135,NEO_1135 +1136,KHONG MINH MANH_1136,NEO_1136 +1137,KHONG MINH MANH_1137,NEO_1137 +1138,KHONG MINH MANH_1138,NEO_1138 +1139,KHONG MINH MANH_1139,NEO_1139 +1140,KHONG MINH MANH_1140,NEO_1140 +1141,KHONG MINH MANH_1141,NEO_1141 +1142,KHONG MINH MANH_1142,NEO_1142 +1143,KHONG MINH MANH_1143,NEO_1143 +1144,KHONG MINH MANH_1144,NEO_1144 +1145,KHONG MINH MANH_1145,NEO_1145 +1146,KHONG MINH MANH_1146,NEO_1146 +1147,KHONG MINH MANH_1147,NEO_1147 +1148,KHONG MINH MANH_1148,NEO_1148 +1149,KHONG MINH MANH_1149,NEO_1149 +1150,KHONG MINH MANH_1150,NEO_1150 +1151,KHONG MINH MANH_1151,NEO_1151 +1152,KHONG MINH MANH_1152,NEO_1152 +1153,KHONG MINH MANH_1153,NEO_1153 +1154,KHONG MINH MANH_1154,NEO_1154 +1155,KHONG MINH MANH_1155,NEO_1155 +1156,KHONG MINH MANH_1156,NEO_1156 +1157,KHONG MINH MANH_1157,NEO_1157 +1158,KHONG MINH MANH_1158,NEO_1158 +1159,KHONG MINH MANH_1159,NEO_1159 +1160,KHONG MINH MANH_1160,NEO_1160 +1161,KHONG MINH MANH_1161,NEO_1161 +1162,KHONG MINH MANH_1162,NEO_1162 +1163,KHONG MINH MANH_1163,NEO_1163 +1164,KHONG MINH MANH_1164,NEO_1164 +1165,KHONG MINH MANH_1165,NEO_1165 +1166,KHONG MINH MANH_1166,NEO_1166 +1167,KHONG MINH MANH_1167,NEO_1167 +1168,KHONG MINH MANH_1168,NEO_1168 +1169,KHONG MINH MANH_1169,NEO_1169 +1170,KHONG MINH MANH_1170,NEO_1170 +1171,KHONG MINH MANH_1171,NEO_1171 +1172,KHONG MINH MANH_1172,NEO_1172 +1173,KHONG MINH MANH_1173,NEO_1173 +1174,KHONG MINH MANH_1174,NEO_1174 +1175,KHONG MINH MANH_1175,NEO_1175 +1176,KHONG MINH MANH_1176,NEO_1176 +1177,KHONG MINH MANH_1177,NEO_1177 +1178,KHONG MINH MANH_1178,NEO_1178 +1179,KHONG MINH MANH_1179,NEO_1179 +1180,KHONG MINH MANH_1180,NEO_1180 +1181,KHONG MINH MANH_1181,NEO_1181 +1182,KHONG MINH MANH_1182,NEO_1182 +1183,KHONG MINH MANH_1183,NEO_1183 +1184,KHONG MINH MANH_1184,NEO_1184 +1185,KHONG MINH MANH_1185,NEO_1185 +1186,KHONG MINH MANH_1186,NEO_1186 +1187,KHONG MINH MANH_1187,NEO_1187 +1188,KHONG MINH MANH_1188,NEO_1188 +1189,KHONG MINH MANH_1189,NEO_1189 +1190,KHONG MINH MANH_1190,NEO_1190 +1191,KHONG MINH MANH_1191,NEO_1191 +1192,KHONG MINH MANH_1192,NEO_1192 +1193,KHONG MINH MANH_1193,NEO_1193 +1194,KHONG MINH MANH_1194,NEO_1194 +1195,KHONG MINH MANH_1195,NEO_1195 +1196,KHONG MINH MANH_1196,NEO_1196 +1197,KHONG MINH MANH_1197,NEO_1197 +1198,KHONG MINH MANH_1198,NEO_1198 +1199,KHONG MINH MANH_1199,NEO_1199 +1200,KHONG MINH MANH_1200,NEO_1200 +1201,KHONG MINH MANH_1201,NEO_1201 +1202,KHONG MINH MANH_1202,NEO_1202 +1203,KHONG MINH MANH_1203,NEO_1203 +1204,KHONG MINH MANH_1204,NEO_1204 +1205,KHONG MINH MANH_1205,NEO_1205 +1206,KHONG MINH MANH_1206,NEO_1206 +1207,KHONG MINH MANH_1207,NEO_1207 +1208,KHONG MINH MANH_1208,NEO_1208 +1209,KHONG MINH MANH_1209,NEO_1209 +1210,KHONG MINH MANH_1210,NEO_1210 +1211,KHONG MINH MANH_1211,NEO_1211 +1212,KHONG MINH MANH_1212,NEO_1212 +1213,KHONG MINH MANH_1213,NEO_1213 +1214,KHONG MINH MANH_1214,NEO_1214 +1215,KHONG MINH MANH_1215,NEO_1215 +1216,KHONG MINH MANH_1216,NEO_1216 +1217,KHONG MINH MANH_1217,NEO_1217 +1218,KHONG MINH MANH_1218,NEO_1218 +1219,KHONG MINH MANH_1219,NEO_1219 +1220,KHONG MINH MANH_1220,NEO_1220 +1221,KHONG MINH MANH_1221,NEO_1221 +1222,KHONG MINH MANH_1222,NEO_1222 +1223,KHONG MINH MANH_1223,NEO_1223 +1224,KHONG MINH MANH_1224,NEO_1224 +1225,KHONG MINH MANH_1225,NEO_1225 +1226,KHONG MINH MANH_1226,NEO_1226 +1227,KHONG MINH MANH_1227,NEO_1227 +1228,KHONG MINH MANH_1228,NEO_1228 +1229,KHONG MINH MANH_1229,NEO_1229 +1230,KHONG MINH MANH_1230,NEO_1230 +1231,KHONG MINH MANH_1231,NEO_1231 +1232,KHONG MINH MANH_1232,NEO_1232 +1233,KHONG MINH MANH_1233,NEO_1233 +1234,KHONG MINH MANH_1234,NEO_1234 +1235,KHONG MINH MANH_1235,NEO_1235 +1236,KHONG MINH MANH_1236,NEO_1236 +1237,KHONG MINH MANH_1237,NEO_1237 +1238,KHONG MINH MANH_1238,NEO_1238 +1239,KHONG MINH MANH_1239,NEO_1239 +1240,KHONG MINH MANH_1240,NEO_1240 +1241,KHONG MINH MANH_1241,NEO_1241 +1242,KHONG MINH MANH_1242,NEO_1242 +1243,KHONG MINH MANH_1243,NEO_1243 +1244,KHONG MINH MANH_1244,NEO_1244 +1245,KHONG MINH MANH_1245,NEO_1245 +1246,KHONG MINH MANH_1246,NEO_1246 +1247,KHONG MINH MANH_1247,NEO_1247 +1248,KHONG MINH MANH_1248,NEO_1248 +1249,KHONG MINH MANH_1249,NEO_1249 +1250,KHONG MINH MANH_1250,NEO_1250 +1251,KHONG MINH MANH_1251,NEO_1251 +1252,KHONG MINH MANH_1252,NEO_1252 +1253,KHONG MINH MANH_1253,NEO_1253 +1254,KHONG MINH MANH_1254,NEO_1254 +1255,KHONG MINH MANH_1255,NEO_1255 +1256,KHONG MINH MANH_1256,NEO_1256 +1257,KHONG MINH MANH_1257,NEO_1257 +1258,KHONG MINH MANH_1258,NEO_1258 +1259,KHONG MINH MANH_1259,NEO_1259 +1260,KHONG MINH MANH_1260,NEO_1260 +1261,KHONG MINH MANH_1261,NEO_1261 +1262,KHONG MINH MANH_1262,NEO_1262 +1263,KHONG MINH MANH_1263,NEO_1263 +1264,KHONG MINH MANH_1264,NEO_1264 +1265,KHONG MINH MANH_1265,NEO_1265 +1266,KHONG MINH MANH_1266,NEO_1266 +1267,KHONG MINH MANH_1267,NEO_1267 +1268,KHONG MINH MANH_1268,NEO_1268 +1269,KHONG MINH MANH_1269,NEO_1269 +1270,KHONG MINH MANH_1270,NEO_1270 +1271,KHONG MINH MANH_1271,NEO_1271 +1272,KHONG MINH MANH_1272,NEO_1272 +1273,KHONG MINH MANH_1273,NEO_1273 +1274,KHONG MINH MANH_1274,NEO_1274 +1275,KHONG MINH MANH_1275,NEO_1275 +1276,KHONG MINH MANH_1276,NEO_1276 +1277,KHONG MINH MANH_1277,NEO_1277 +1278,KHONG MINH MANH_1278,NEO_1278 +1279,KHONG MINH MANH_1279,NEO_1279 +1280,KHONG MINH MANH_1280,NEO_1280 +1281,KHONG MINH MANH_1281,NEO_1281 +1282,KHONG MINH MANH_1282,NEO_1282 +1283,KHONG MINH MANH_1283,NEO_1283 +1284,KHONG MINH MANH_1284,NEO_1284 +1285,KHONG MINH MANH_1285,NEO_1285 +1286,KHONG MINH MANH_1286,NEO_1286 +1287,KHONG MINH MANH_1287,NEO_1287 +1288,KHONG MINH MANH_1288,NEO_1288 +1289,KHONG MINH MANH_1289,NEO_1289 +1290,KHONG MINH MANH_1290,NEO_1290 +1291,KHONG MINH MANH_1291,NEO_1291 +1292,KHONG MINH MANH_1292,NEO_1292 +1293,KHONG MINH MANH_1293,NEO_1293 +1294,KHONG MINH MANH_1294,NEO_1294 +1295,KHONG MINH MANH_1295,NEO_1295 +1296,KHONG MINH MANH_1296,NEO_1296 +1297,KHONG MINH MANH_1297,NEO_1297 +1298,KHONG MINH MANH_1298,NEO_1298 +1299,KHONG MINH MANH_1299,NEO_1299 +1300,KHONG MINH MANH_1300,NEO_1300 +1301,KHONG MINH MANH_1301,NEO_1301 +1302,KHONG MINH MANH_1302,NEO_1302 +1303,KHONG MINH MANH_1303,NEO_1303 +1304,KHONG MINH MANH_1304,NEO_1304 +1305,KHONG MINH MANH_1305,NEO_1305 +1306,KHONG MINH MANH_1306,NEO_1306 +1307,KHONG MINH MANH_1307,NEO_1307 +1308,KHONG MINH MANH_1308,NEO_1308 +1309,KHONG MINH MANH_1309,NEO_1309 +1310,KHONG MINH MANH_1310,NEO_1310 +1311,KHONG MINH MANH_1311,NEO_1311 +1312,KHONG MINH MANH_1312,NEO_1312 +1313,KHONG MINH MANH_1313,NEO_1313 +1314,KHONG MINH MANH_1314,NEO_1314 +1315,KHONG MINH MANH_1315,NEO_1315 +1316,KHONG MINH MANH_1316,NEO_1316 +1317,KHONG MINH MANH_1317,NEO_1317 +1318,KHONG MINH MANH_1318,NEO_1318 +1319,KHONG MINH MANH_1319,NEO_1319 +1320,KHONG MINH MANH_1320,NEO_1320 +1321,KHONG MINH MANH_1321,NEO_1321 +1322,KHONG MINH MANH_1322,NEO_1322 +1323,KHONG MINH MANH_1323,NEO_1323 +1324,KHONG MINH MANH_1324,NEO_1324 +1325,KHONG MINH MANH_1325,NEO_1325 +1326,KHONG MINH MANH_1326,NEO_1326 +1327,KHONG MINH MANH_1327,NEO_1327 +1328,KHONG MINH MANH_1328,NEO_1328 +1329,KHONG MINH MANH_1329,NEO_1329 +1330,KHONG MINH MANH_1330,NEO_1330 +1331,KHONG MINH MANH_1331,NEO_1331 +1332,KHONG MINH MANH_1332,NEO_1332 +1333,KHONG MINH MANH_1333,NEO_1333 +1334,KHONG MINH MANH_1334,NEO_1334 +1335,KHONG MINH MANH_1335,NEO_1335 +1336,KHONG MINH MANH_1336,NEO_1336 +1337,KHONG MINH MANH_1337,NEO_1337 +1338,KHONG MINH MANH_1338,NEO_1338 +1339,KHONG MINH MANH_1339,NEO_1339 +1340,KHONG MINH MANH_1340,NEO_1340 +1341,KHONG MINH MANH_1341,NEO_1341 +1342,KHONG MINH MANH_1342,NEO_1342 +1343,KHONG MINH MANH_1343,NEO_1343 +1344,KHONG MINH MANH_1344,NEO_1344 +1345,KHONG MINH MANH_1345,NEO_1345 +1346,KHONG MINH MANH_1346,NEO_1346 +1347,KHONG MINH MANH_1347,NEO_1347 +1348,KHONG MINH MANH_1348,NEO_1348 +1349,KHONG MINH MANH_1349,NEO_1349 +1350,KHONG MINH MANH_1350,NEO_1350 +1351,KHONG MINH MANH_1351,NEO_1351 +1352,KHONG MINH MANH_1352,NEO_1352 +1353,KHONG MINH MANH_1353,NEO_1353 +1354,KHONG MINH MANH_1354,NEO_1354 +1355,KHONG MINH MANH_1355,NEO_1355 +1356,KHONG MINH MANH_1356,NEO_1356 +1357,KHONG MINH MANH_1357,NEO_1357 +1358,KHONG MINH MANH_1358,NEO_1358 +1359,KHONG MINH MANH_1359,NEO_1359 +1360,KHONG MINH MANH_1360,NEO_1360 +1361,KHONG MINH MANH_1361,NEO_1361 +1362,KHONG MINH MANH_1362,NEO_1362 +1363,KHONG MINH MANH_1363,NEO_1363 +1364,KHONG MINH MANH_1364,NEO_1364 +1365,KHONG MINH MANH_1365,NEO_1365 +1366,KHONG MINH MANH_1366,NEO_1366 +1367,KHONG MINH MANH_1367,NEO_1367 +1368,KHONG MINH MANH_1368,NEO_1368 +1369,KHONG MINH MANH_1369,NEO_1369 +1370,KHONG MINH MANH_1370,NEO_1370 +1371,KHONG MINH MANH_1371,NEO_1371 +1372,KHONG MINH MANH_1372,NEO_1372 +1373,KHONG MINH MANH_1373,NEO_1373 +1374,KHONG MINH MANH_1374,NEO_1374 +1375,KHONG MINH MANH_1375,NEO_1375 +1376,KHONG MINH MANH_1376,NEO_1376 +1377,KHONG MINH MANH_1377,NEO_1377 +1378,KHONG MINH MANH_1378,NEO_1378 +1379,KHONG MINH MANH_1379,NEO_1379 +1380,KHONG MINH MANH_1380,NEO_1380 +1381,KHONG MINH MANH_1381,NEO_1381 +1382,KHONG MINH MANH_1382,NEO_1382 +1383,KHONG MINH MANH_1383,NEO_1383 +1384,KHONG MINH MANH_1384,NEO_1384 +1385,KHONG MINH MANH_1385,NEO_1385 +1386,KHONG MINH MANH_1386,NEO_1386 +1387,KHONG MINH MANH_1387,NEO_1387 +1388,KHONG MINH MANH_1388,NEO_1388 +1389,KHONG MINH MANH_1389,NEO_1389 +1390,KHONG MINH MANH_1390,NEO_1390 +1391,KHONG MINH MANH_1391,NEO_1391 +1392,KHONG MINH MANH_1392,NEO_1392 +1393,KHONG MINH MANH_1393,NEO_1393 +1394,KHONG MINH MANH_1394,NEO_1394 +1395,KHONG MINH MANH_1395,NEO_1395 +1396,KHONG MINH MANH_1396,NEO_1396 +1397,KHONG MINH MANH_1397,NEO_1397 +1398,KHONG MINH MANH_1398,NEO_1398 +1399,KHONG MINH MANH_1399,NEO_1399 +1400,KHONG MINH MANH_1400,NEO_1400 +1401,KHONG MINH MANH_1401,NEO_1401 +1402,KHONG MINH MANH_1402,NEO_1402 +1403,KHONG MINH MANH_1403,NEO_1403 +1404,KHONG MINH MANH_1404,NEO_1404 +1405,KHONG MINH MANH_1405,NEO_1405 +1406,KHONG MINH MANH_1406,NEO_1406 +1407,KHONG MINH MANH_1407,NEO_1407 +1408,KHONG MINH MANH_1408,NEO_1408 +1409,KHONG MINH MANH_1409,NEO_1409 +1410,KHONG MINH MANH_1410,NEO_1410 +1411,KHONG MINH MANH_1411,NEO_1411 +1412,KHONG MINH MANH_1412,NEO_1412 +1413,KHONG MINH MANH_1413,NEO_1413 +1414,KHONG MINH MANH_1414,NEO_1414 +1415,KHONG MINH MANH_1415,NEO_1415 +1416,KHONG MINH MANH_1416,NEO_1416 +1417,KHONG MINH MANH_1417,NEO_1417 +1418,KHONG MINH MANH_1418,NEO_1418 +1419,KHONG MINH MANH_1419,NEO_1419 +1420,KHONG MINH MANH_1420,NEO_1420 +1421,KHONG MINH MANH_1421,NEO_1421 +1422,KHONG MINH MANH_1422,NEO_1422 +1423,KHONG MINH MANH_1423,NEO_1423 +1424,KHONG MINH MANH_1424,NEO_1424 +1425,KHONG MINH MANH_1425,NEO_1425 +1426,KHONG MINH MANH_1426,NEO_1426 +1427,KHONG MINH MANH_1427,NEO_1427 +1428,KHONG MINH MANH_1428,NEO_1428 +1429,KHONG MINH MANH_1429,NEO_1429 +1430,KHONG MINH MANH_1430,NEO_1430 +1431,KHONG MINH MANH_1431,NEO_1431 +1432,KHONG MINH MANH_1432,NEO_1432 +1433,KHONG MINH MANH_1433,NEO_1433 +1434,KHONG MINH MANH_1434,NEO_1434 +1435,KHONG MINH MANH_1435,NEO_1435 +1436,KHONG MINH MANH_1436,NEO_1436 +1437,KHONG MINH MANH_1437,NEO_1437 +1438,KHONG MINH MANH_1438,NEO_1438 +1439,KHONG MINH MANH_1439,NEO_1439 +1440,KHONG MINH MANH_1440,NEO_1440 +1441,KHONG MINH MANH_1441,NEO_1441 +1442,KHONG MINH MANH_1442,NEO_1442 +1443,KHONG MINH MANH_1443,NEO_1443 +1444,KHONG MINH MANH_1444,NEO_1444 +1445,KHONG MINH MANH_1445,NEO_1445 +1446,KHONG MINH MANH_1446,NEO_1446 +1447,KHONG MINH MANH_1447,NEO_1447 +1448,KHONG MINH MANH_1448,NEO_1448 +1449,KHONG MINH MANH_1449,NEO_1449 +1450,KHONG MINH MANH_1450,NEO_1450 +1451,KHONG MINH MANH_1451,NEO_1451 +1452,KHONG MINH MANH_1452,NEO_1452 +1453,KHONG MINH MANH_1453,NEO_1453 +1454,KHONG MINH MANH_1454,NEO_1454 +1455,KHONG MINH MANH_1455,NEO_1455 +1456,KHONG MINH MANH_1456,NEO_1456 +1457,KHONG MINH MANH_1457,NEO_1457 +1458,KHONG MINH MANH_1458,NEO_1458 +1459,KHONG MINH MANH_1459,NEO_1459 +1460,KHONG MINH MANH_1460,NEO_1460 +1461,KHONG MINH MANH_1461,NEO_1461 +1462,KHONG MINH MANH_1462,NEO_1462 +1463,KHONG MINH MANH_1463,NEO_1463 +1464,KHONG MINH MANH_1464,NEO_1464 +1465,KHONG MINH MANH_1465,NEO_1465 +1466,KHONG MINH MANH_1466,NEO_1466 +1467,KHONG MINH MANH_1467,NEO_1467 +1468,KHONG MINH MANH_1468,NEO_1468 +1469,KHONG MINH MANH_1469,NEO_1469 +1470,KHONG MINH MANH_1470,NEO_1470 +1471,KHONG MINH MANH_1471,NEO_1471 +1472,KHONG MINH MANH_1472,NEO_1472 +1473,KHONG MINH MANH_1473,NEO_1473 +1474,KHONG MINH MANH_1474,NEO_1474 +1475,KHONG MINH MANH_1475,NEO_1475 +1476,KHONG MINH MANH_1476,NEO_1476 +1477,KHONG MINH MANH_1477,NEO_1477 +1478,KHONG MINH MANH_1478,NEO_1478 +1479,KHONG MINH MANH_1479,NEO_1479 +1480,KHONG MINH MANH_1480,NEO_1480 +1481,KHONG MINH MANH_1481,NEO_1481 +1482,KHONG MINH MANH_1482,NEO_1482 +1483,KHONG MINH MANH_1483,NEO_1483 +1484,KHONG MINH MANH_1484,NEO_1484 +1485,KHONG MINH MANH_1485,NEO_1485 +1486,KHONG MINH MANH_1486,NEO_1486 +1487,KHONG MINH MANH_1487,NEO_1487 +1488,KHONG MINH MANH_1488,NEO_1488 +1489,KHONG MINH MANH_1489,NEO_1489 +1490,KHONG MINH MANH_1490,NEO_1490 +1491,KHONG MINH MANH_1491,NEO_1491 +1492,KHONG MINH MANH_1492,NEO_1492 +1493,KHONG MINH MANH_1493,NEO_1493 +1494,KHONG MINH MANH_1494,NEO_1494 +1495,KHONG MINH MANH_1495,NEO_1495 +1496,KHONG MINH MANH_1496,NEO_1496 +1497,KHONG MINH MANH_1497,NEO_1497 +1498,KHONG MINH MANH_1498,NEO_1498 +1499,KHONG MINH MANH_1499,NEO_1499 +1500,KHONG MINH MANH_1500,NEO_1500 +1501,KHONG MINH MANH_1501,NEO_1501 +1502,KHONG MINH MANH_1502,NEO_1502 +1503,KHONG MINH MANH_1503,NEO_1503 +1504,KHONG MINH MANH_1504,NEO_1504 +1505,KHONG MINH MANH_1505,NEO_1505 +1506,KHONG MINH MANH_1506,NEO_1506 +1507,KHONG MINH MANH_1507,NEO_1507 +1508,KHONG MINH MANH_1508,NEO_1508 +1509,KHONG MINH MANH_1509,NEO_1509 +1510,KHONG MINH MANH_1510,NEO_1510 +1511,KHONG MINH MANH_1511,NEO_1511 +1512,KHONG MINH MANH_1512,NEO_1512 +1513,KHONG MINH MANH_1513,NEO_1513 +1514,KHONG MINH MANH_1514,NEO_1514 +1515,KHONG MINH MANH_1515,NEO_1515 +1516,KHONG MINH MANH_1516,NEO_1516 +1517,KHONG MINH MANH_1517,NEO_1517 +1518,KHONG MINH MANH_1518,NEO_1518 +1519,KHONG MINH MANH_1519,NEO_1519 +1520,KHONG MINH MANH_1520,NEO_1520 +1521,KHONG MINH MANH_1521,NEO_1521 +1522,KHONG MINH MANH_1522,NEO_1522 +1523,KHONG MINH MANH_1523,NEO_1523 +1524,KHONG MINH MANH_1524,NEO_1524 +1525,KHONG MINH MANH_1525,NEO_1525 +1526,KHONG MINH MANH_1526,NEO_1526 +1527,KHONG MINH MANH_1527,NEO_1527 +1528,KHONG MINH MANH_1528,NEO_1528 +1529,KHONG MINH MANH_1529,NEO_1529 +1530,KHONG MINH MANH_1530,NEO_1530 +1531,KHONG MINH MANH_1531,NEO_1531 +1532,KHONG MINH MANH_1532,NEO_1532 +1533,KHONG MINH MANH_1533,NEO_1533 +1534,KHONG MINH MANH_1534,NEO_1534 +1535,KHONG MINH MANH_1535,NEO_1535 +1536,KHONG MINH MANH_1536,NEO_1536 +1537,KHONG MINH MANH_1537,NEO_1537 +1538,KHONG MINH MANH_1538,NEO_1538 +1539,KHONG MINH MANH_1539,NEO_1539 +1540,KHONG MINH MANH_1540,NEO_1540 +1541,KHONG MINH MANH_1541,NEO_1541 +1542,KHONG MINH MANH_1542,NEO_1542 +1543,KHONG MINH MANH_1543,NEO_1543 +1544,KHONG MINH MANH_1544,NEO_1544 +1545,KHONG MINH MANH_1545,NEO_1545 +1546,KHONG MINH MANH_1546,NEO_1546 +1547,KHONG MINH MANH_1547,NEO_1547 +1548,KHONG MINH MANH_1548,NEO_1548 +1549,KHONG MINH MANH_1549,NEO_1549 +1550,KHONG MINH MANH_1550,NEO_1550 +1551,KHONG MINH MANH_1551,NEO_1551 +1552,KHONG MINH MANH_1552,NEO_1552 +1553,KHONG MINH MANH_1553,NEO_1553 +1554,KHONG MINH MANH_1554,NEO_1554 +1555,KHONG MINH MANH_1555,NEO_1555 +1556,KHONG MINH MANH_1556,NEO_1556 +1557,KHONG MINH MANH_1557,NEO_1557 +1558,KHONG MINH MANH_1558,NEO_1558 +1559,KHONG MINH MANH_1559,NEO_1559 +1560,KHONG MINH MANH_1560,NEO_1560 +1561,KHONG MINH MANH_1561,NEO_1561 +1562,KHONG MINH MANH_1562,NEO_1562 +1563,KHONG MINH MANH_1563,NEO_1563 +1564,KHONG MINH MANH_1564,NEO_1564 +1565,KHONG MINH MANH_1565,NEO_1565 +1566,KHONG MINH MANH_1566,NEO_1566 +1567,KHONG MINH MANH_1567,NEO_1567 +1568,KHONG MINH MANH_1568,NEO_1568 +1569,KHONG MINH MANH_1569,NEO_1569 +1570,KHONG MINH MANH_1570,NEO_1570 +1571,KHONG MINH MANH_1571,NEO_1571 +1572,KHONG MINH MANH_1572,NEO_1572 +1573,KHONG MINH MANH_1573,NEO_1573 +1574,KHONG MINH MANH_1574,NEO_1574 +1575,KHONG MINH MANH_1575,NEO_1575 +1576,KHONG MINH MANH_1576,NEO_1576 +1577,KHONG MINH MANH_1577,NEO_1577 +1578,KHONG MINH MANH_1578,NEO_1578 +1579,KHONG MINH MANH_1579,NEO_1579 +1580,KHONG MINH MANH_1580,NEO_1580 +1581,KHONG MINH MANH_1581,NEO_1581 +1582,KHONG MINH MANH_1582,NEO_1582 +1583,KHONG MINH MANH_1583,NEO_1583 +1584,KHONG MINH MANH_1584,NEO_1584 +1585,KHONG MINH MANH_1585,NEO_1585 +1586,KHONG MINH MANH_1586,NEO_1586 +1587,KHONG MINH MANH_1587,NEO_1587 +1588,KHONG MINH MANH_1588,NEO_1588 +1589,KHONG MINH MANH_1589,NEO_1589 +1590,KHONG MINH MANH_1590,NEO_1590 +1591,KHONG MINH MANH_1591,NEO_1591 +1592,KHONG MINH MANH_1592,NEO_1592 +1593,KHONG MINH MANH_1593,NEO_1593 +1594,KHONG MINH MANH_1594,NEO_1594 +1595,KHONG MINH MANH_1595,NEO_1595 +1596,KHONG MINH MANH_1596,NEO_1596 +1597,KHONG MINH MANH_1597,NEO_1597 +1598,KHONG MINH MANH_1598,NEO_1598 +1599,KHONG MINH MANH_1599,NEO_1599 +1600,KHONG MINH MANH_1600,NEO_1600 +1601,KHONG MINH MANH_1601,NEO_1601 +1602,KHONG MINH MANH_1602,NEO_1602 +1603,KHONG MINH MANH_1603,NEO_1603 +1604,KHONG MINH MANH_1604,NEO_1604 +1605,KHONG MINH MANH_1605,NEO_1605 +1606,KHONG MINH MANH_1606,NEO_1606 +1607,KHONG MINH MANH_1607,NEO_1607 +1608,KHONG MINH MANH_1608,NEO_1608 +1609,KHONG MINH MANH_1609,NEO_1609 +1610,KHONG MINH MANH_1610,NEO_1610 +1611,KHONG MINH MANH_1611,NEO_1611 +1612,KHONG MINH MANH_1612,NEO_1612 +1613,KHONG MINH MANH_1613,NEO_1613 +1614,KHONG MINH MANH_1614,NEO_1614 +1615,KHONG MINH MANH_1615,NEO_1615 +1616,KHONG MINH MANH_1616,NEO_1616 +1617,KHONG MINH MANH_1617,NEO_1617 +1618,KHONG MINH MANH_1618,NEO_1618 +1619,KHONG MINH MANH_1619,NEO_1619 +1620,KHONG MINH MANH_1620,NEO_1620 +1621,KHONG MINH MANH_1621,NEO_1621 +1622,KHONG MINH MANH_1622,NEO_1622 +1623,KHONG MINH MANH_1623,NEO_1623 +1624,KHONG MINH MANH_1624,NEO_1624 +1625,KHONG MINH MANH_1625,NEO_1625 +1626,KHONG MINH MANH_1626,NEO_1626 +1627,KHONG MINH MANH_1627,NEO_1627 +1628,KHONG MINH MANH_1628,NEO_1628 +1629,KHONG MINH MANH_1629,NEO_1629 +1630,KHONG MINH MANH_1630,NEO_1630 +1631,KHONG MINH MANH_1631,NEO_1631 +1632,KHONG MINH MANH_1632,NEO_1632 +1633,KHONG MINH MANH_1633,NEO_1633 +1634,KHONG MINH MANH_1634,NEO_1634 +1635,KHONG MINH MANH_1635,NEO_1635 +1636,KHONG MINH MANH_1636,NEO_1636 +1637,KHONG MINH MANH_1637,NEO_1637 +1638,KHONG MINH MANH_1638,NEO_1638 +1639,KHONG MINH MANH_1639,NEO_1639 +1640,KHONG MINH MANH_1640,NEO_1640 +1641,KHONG MINH MANH_1641,NEO_1641 +1642,KHONG MINH MANH_1642,NEO_1642 +1643,KHONG MINH MANH_1643,NEO_1643 +1644,KHONG MINH MANH_1644,NEO_1644 +1645,KHONG MINH MANH_1645,NEO_1645 +1646,KHONG MINH MANH_1646,NEO_1646 +1647,KHONG MINH MANH_1647,NEO_1647 +1648,KHONG MINH MANH_1648,NEO_1648 +1649,KHONG MINH MANH_1649,NEO_1649 +1650,KHONG MINH MANH_1650,NEO_1650 +1651,KHONG MINH MANH_1651,NEO_1651 +1652,KHONG MINH MANH_1652,NEO_1652 +1653,KHONG MINH MANH_1653,NEO_1653 +1654,KHONG MINH MANH_1654,NEO_1654 +1655,KHONG MINH MANH_1655,NEO_1655 +1656,KHONG MINH MANH_1656,NEO_1656 +1657,KHONG MINH MANH_1657,NEO_1657 +1658,KHONG MINH MANH_1658,NEO_1658 +1659,KHONG MINH MANH_1659,NEO_1659 +1660,KHONG MINH MANH_1660,NEO_1660 +1661,KHONG MINH MANH_1661,NEO_1661 +1662,KHONG MINH MANH_1662,NEO_1662 +1663,KHONG MINH MANH_1663,NEO_1663 +1664,KHONG MINH MANH_1664,NEO_1664 +1665,KHONG MINH MANH_1665,NEO_1665 +1666,KHONG MINH MANH_1666,NEO_1666 +1667,KHONG MINH MANH_1667,NEO_1667 +1668,KHONG MINH MANH_1668,NEO_1668 +1669,KHONG MINH MANH_1669,NEO_1669 +1670,KHONG MINH MANH_1670,NEO_1670 +1671,KHONG MINH MANH_1671,NEO_1671 +1672,KHONG MINH MANH_1672,NEO_1672 +1673,KHONG MINH MANH_1673,NEO_1673 +1674,KHONG MINH MANH_1674,NEO_1674 +1675,KHONG MINH MANH_1675,NEO_1675 +1676,KHONG MINH MANH_1676,NEO_1676 +1677,KHONG MINH MANH_1677,NEO_1677 +1678,KHONG MINH MANH_1678,NEO_1678 +1679,KHONG MINH MANH_1679,NEO_1679 +1680,KHONG MINH MANH_1680,NEO_1680 +1681,KHONG MINH MANH_1681,NEO_1681 +1682,KHONG MINH MANH_1682,NEO_1682 +1683,KHONG MINH MANH_1683,NEO_1683 +1684,KHONG MINH MANH_1684,NEO_1684 +1685,KHONG MINH MANH_1685,NEO_1685 +1686,KHONG MINH MANH_1686,NEO_1686 +1687,KHONG MINH MANH_1687,NEO_1687 +1688,KHONG MINH MANH_1688,NEO_1688 +1689,KHONG MINH MANH_1689,NEO_1689 +1690,KHONG MINH MANH_1690,NEO_1690 +1691,KHONG MINH MANH_1691,NEO_1691 +1692,KHONG MINH MANH_1692,NEO_1692 +1693,KHONG MINH MANH_1693,NEO_1693 +1694,KHONG MINH MANH_1694,NEO_1694 +1695,KHONG MINH MANH_1695,NEO_1695 +1696,KHONG MINH MANH_1696,NEO_1696 +1697,KHONG MINH MANH_1697,NEO_1697 +1698,KHONG MINH MANH_1698,NEO_1698 +1699,KHONG MINH MANH_1699,NEO_1699 +1700,KHONG MINH MANH_1700,NEO_1700 +1701,KHONG MINH MANH_1701,NEO_1701 +1702,KHONG MINH MANH_1702,NEO_1702 +1703,KHONG MINH MANH_1703,NEO_1703 +1704,KHONG MINH MANH_1704,NEO_1704 +1705,KHONG MINH MANH_1705,NEO_1705 +1706,KHONG MINH MANH_1706,NEO_1706 +1707,KHONG MINH MANH_1707,NEO_1707 +1708,KHONG MINH MANH_1708,NEO_1708 +1709,KHONG MINH MANH_1709,NEO_1709 +1710,KHONG MINH MANH_1710,NEO_1710 +1711,KHONG MINH MANH_1711,NEO_1711 +1712,KHONG MINH MANH_1712,NEO_1712 +1713,KHONG MINH MANH_1713,NEO_1713 +1714,KHONG MINH MANH_1714,NEO_1714 +1715,KHONG MINH MANH_1715,NEO_1715 +1716,KHONG MINH MANH_1716,NEO_1716 +1717,KHONG MINH MANH_1717,NEO_1717 +1718,KHONG MINH MANH_1718,NEO_1718 +1719,KHONG MINH MANH_1719,NEO_1719 +1720,KHONG MINH MANH_1720,NEO_1720 +1721,KHONG MINH MANH_1721,NEO_1721 +1722,KHONG MINH MANH_1722,NEO_1722 +1723,KHONG MINH MANH_1723,NEO_1723 +1724,KHONG MINH MANH_1724,NEO_1724 +1725,KHONG MINH MANH_1725,NEO_1725 +1726,KHONG MINH MANH_1726,NEO_1726 +1727,KHONG MINH MANH_1727,NEO_1727 +1728,KHONG MINH MANH_1728,NEO_1728 +1729,KHONG MINH MANH_1729,NEO_1729 +1730,KHONG MINH MANH_1730,NEO_1730 +1731,KHONG MINH MANH_1731,NEO_1731 +1732,KHONG MINH MANH_1732,NEO_1732 +1733,KHONG MINH MANH_1733,NEO_1733 +1734,KHONG MINH MANH_1734,NEO_1734 +1735,KHONG MINH MANH_1735,NEO_1735 +1736,KHONG MINH MANH_1736,NEO_1736 +1737,KHONG MINH MANH_1737,NEO_1737 +1738,KHONG MINH MANH_1738,NEO_1738 +1739,KHONG MINH MANH_1739,NEO_1739 +1740,KHONG MINH MANH_1740,NEO_1740 +1741,KHONG MINH MANH_1741,NEO_1741 +1742,KHONG MINH MANH_1742,NEO_1742 +1743,KHONG MINH MANH_1743,NEO_1743 +1744,KHONG MINH MANH_1744,NEO_1744 +1745,KHONG MINH MANH_1745,NEO_1745 +1746,KHONG MINH MANH_1746,NEO_1746 +1747,KHONG MINH MANH_1747,NEO_1747 +1748,KHONG MINH MANH_1748,NEO_1748 +1749,KHONG MINH MANH_1749,NEO_1749 +1750,KHONG MINH MANH_1750,NEO_1750 +1751,KHONG MINH MANH_1751,NEO_1751 +1752,KHONG MINH MANH_1752,NEO_1752 +1753,KHONG MINH MANH_1753,NEO_1753 +1754,KHONG MINH MANH_1754,NEO_1754 +1755,KHONG MINH MANH_1755,NEO_1755 +1756,KHONG MINH MANH_1756,NEO_1756 +1757,KHONG MINH MANH_1757,NEO_1757 +1758,KHONG MINH MANH_1758,NEO_1758 +1759,KHONG MINH MANH_1759,NEO_1759 +1760,KHONG MINH MANH_1760,NEO_1760 +1761,KHONG MINH MANH_1761,NEO_1761 +1762,KHONG MINH MANH_1762,NEO_1762 +1763,KHONG MINH MANH_1763,NEO_1763 +1764,KHONG MINH MANH_1764,NEO_1764 +1765,KHONG MINH MANH_1765,NEO_1765 +1766,KHONG MINH MANH_1766,NEO_1766 +1767,KHONG MINH MANH_1767,NEO_1767 +1768,KHONG MINH MANH_1768,NEO_1768 +1769,KHONG MINH MANH_1769,NEO_1769 +1770,KHONG MINH MANH_1770,NEO_1770 +1771,KHONG MINH MANH_1771,NEO_1771 +1772,KHONG MINH MANH_1772,NEO_1772 +1773,KHONG MINH MANH_1773,NEO_1773 +1774,KHONG MINH MANH_1774,NEO_1774 +1775,KHONG MINH MANH_1775,NEO_1775 +1776,KHONG MINH MANH_1776,NEO_1776 +1777,KHONG MINH MANH_1777,NEO_1777 +1778,KHONG MINH MANH_1778,NEO_1778 +1779,KHONG MINH MANH_1779,NEO_1779 +1780,KHONG MINH MANH_1780,NEO_1780 +1781,KHONG MINH MANH_1781,NEO_1781 +1782,KHONG MINH MANH_1782,NEO_1782 +1783,KHONG MINH MANH_1783,NEO_1783 +1784,KHONG MINH MANH_1784,NEO_1784 +1785,KHONG MINH MANH_1785,NEO_1785 +1786,KHONG MINH MANH_1786,NEO_1786 +1787,KHONG MINH MANH_1787,NEO_1787 +1788,KHONG MINH MANH_1788,NEO_1788 +1789,KHONG MINH MANH_1789,NEO_1789 +1790,KHONG MINH MANH_1790,NEO_1790 +1791,KHONG MINH MANH_1791,NEO_1791 +1792,KHONG MINH MANH_1792,NEO_1792 +1793,KHONG MINH MANH_1793,NEO_1793 +1794,KHONG MINH MANH_1794,NEO_1794 +1795,KHONG MINH MANH_1795,NEO_1795 +1796,KHONG MINH MANH_1796,NEO_1796 +1797,KHONG MINH MANH_1797,NEO_1797 +1798,KHONG MINH MANH_1798,NEO_1798 +1799,KHONG MINH MANH_1799,NEO_1799 +1800,KHONG MINH MANH_1800,NEO_1800 +1801,KHONG MINH MANH_1801,NEO_1801 +1802,KHONG MINH MANH_1802,NEO_1802 +1803,KHONG MINH MANH_1803,NEO_1803 +1804,KHONG MINH MANH_1804,NEO_1804 +1805,KHONG MINH MANH_1805,NEO_1805 +1806,KHONG MINH MANH_1806,NEO_1806 +1807,KHONG MINH MANH_1807,NEO_1807 +1808,KHONG MINH MANH_1808,NEO_1808 +1809,KHONG MINH MANH_1809,NEO_1809 +1810,KHONG MINH MANH_1810,NEO_1810 +1811,KHONG MINH MANH_1811,NEO_1811 +1812,KHONG MINH MANH_1812,NEO_1812 +1813,KHONG MINH MANH_1813,NEO_1813 +1814,KHONG MINH MANH_1814,NEO_1814 +1815,KHONG MINH MANH_1815,NEO_1815 +1816,KHONG MINH MANH_1816,NEO_1816 +1817,KHONG MINH MANH_1817,NEO_1817 +1818,KHONG MINH MANH_1818,NEO_1818 +1819,KHONG MINH MANH_1819,NEO_1819 +1820,KHONG MINH MANH_1820,NEO_1820 +1821,KHONG MINH MANH_1821,NEO_1821 +1822,KHONG MINH MANH_1822,NEO_1822 +1823,KHONG MINH MANH_1823,NEO_1823 +1824,KHONG MINH MANH_1824,NEO_1824 +1825,KHONG MINH MANH_1825,NEO_1825 +1826,KHONG MINH MANH_1826,NEO_1826 +1827,KHONG MINH MANH_1827,NEO_1827 +1828,KHONG MINH MANH_1828,NEO_1828 +1829,KHONG MINH MANH_1829,NEO_1829 +1830,KHONG MINH MANH_1830,NEO_1830 +1831,KHONG MINH MANH_1831,NEO_1831 +1832,KHONG MINH MANH_1832,NEO_1832 +1833,KHONG MINH MANH_1833,NEO_1833 +1834,KHONG MINH MANH_1834,NEO_1834 +1835,KHONG MINH MANH_1835,NEO_1835 +1836,KHONG MINH MANH_1836,NEO_1836 +1837,KHONG MINH MANH_1837,NEO_1837 +1838,KHONG MINH MANH_1838,NEO_1838 +1839,KHONG MINH MANH_1839,NEO_1839 +1840,KHONG MINH MANH_1840,NEO_1840 +1841,KHONG MINH MANH_1841,NEO_1841 +1842,KHONG MINH MANH_1842,NEO_1842 +1843,KHONG MINH MANH_1843,NEO_1843 +1844,KHONG MINH MANH_1844,NEO_1844 +1845,KHONG MINH MANH_1845,NEO_1845 +1846,KHONG MINH MANH_1846,NEO_1846 +1847,KHONG MINH MANH_1847,NEO_1847 +1848,KHONG MINH MANH_1848,NEO_1848 +1849,KHONG MINH MANH_1849,NEO_1849 +1850,KHONG MINH MANH_1850,NEO_1850 +1851,KHONG MINH MANH_1851,NEO_1851 +1852,KHONG MINH MANH_1852,NEO_1852 +1853,KHONG MINH MANH_1853,NEO_1853 +1854,KHONG MINH MANH_1854,NEO_1854 +1855,KHONG MINH MANH_1855,NEO_1855 +1856,KHONG MINH MANH_1856,NEO_1856 +1857,KHONG MINH MANH_1857,NEO_1857 +1858,KHONG MINH MANH_1858,NEO_1858 +1859,KHONG MINH MANH_1859,NEO_1859 +1860,KHONG MINH MANH_1860,NEO_1860 +1861,KHONG MINH MANH_1861,NEO_1861 +1862,KHONG MINH MANH_1862,NEO_1862 +1863,KHONG MINH MANH_1863,NEO_1863 +1864,KHONG MINH MANH_1864,NEO_1864 +1865,KHONG MINH MANH_1865,NEO_1865 +1866,KHONG MINH MANH_1866,NEO_1866 +1867,KHONG MINH MANH_1867,NEO_1867 +1868,KHONG MINH MANH_1868,NEO_1868 +1869,KHONG MINH MANH_1869,NEO_1869 +1870,KHONG MINH MANH_1870,NEO_1870 +1871,KHONG MINH MANH_1871,NEO_1871 +1872,KHONG MINH MANH_1872,NEO_1872 +1873,KHONG MINH MANH_1873,NEO_1873 +1874,KHONG MINH MANH_1874,NEO_1874 +1875,KHONG MINH MANH_1875,NEO_1875 +1876,KHONG MINH MANH_1876,NEO_1876 +1877,KHONG MINH MANH_1877,NEO_1877 +1878,KHONG MINH MANH_1878,NEO_1878 +1879,KHONG MINH MANH_1879,NEO_1879 +1880,KHONG MINH MANH_1880,NEO_1880 +1881,KHONG MINH MANH_1881,NEO_1881 +1882,KHONG MINH MANH_1882,NEO_1882 +1883,KHONG MINH MANH_1883,NEO_1883 +1884,KHONG MINH MANH_1884,NEO_1884 +1885,KHONG MINH MANH_1885,NEO_1885 +1886,KHONG MINH MANH_1886,NEO_1886 +1887,KHONG MINH MANH_1887,NEO_1887 +1888,KHONG MINH MANH_1888,NEO_1888 +1889,KHONG MINH MANH_1889,NEO_1889 +1890,KHONG MINH MANH_1890,NEO_1890 +1891,KHONG MINH MANH_1891,NEO_1891 +1892,KHONG MINH MANH_1892,NEO_1892 +1893,KHONG MINH MANH_1893,NEO_1893 +1894,KHONG MINH MANH_1894,NEO_1894 +1895,KHONG MINH MANH_1895,NEO_1895 +1896,KHONG MINH MANH_1896,NEO_1896 +1897,KHONG MINH MANH_1897,NEO_1897 +1898,KHONG MINH MANH_1898,NEO_1898 +1899,KHONG MINH MANH_1899,NEO_1899 +1900,KHONG MINH MANH_1900,NEO_1900 +1901,KHONG MINH MANH_1901,NEO_1901 +1902,KHONG MINH MANH_1902,NEO_1902 +1903,KHONG MINH MANH_1903,NEO_1903 +1904,KHONG MINH MANH_1904,NEO_1904 +1905,KHONG MINH MANH_1905,NEO_1905 +1906,KHONG MINH MANH_1906,NEO_1906 +1907,KHONG MINH MANH_1907,NEO_1907 +1908,KHONG MINH MANH_1908,NEO_1908 +1909,KHONG MINH MANH_1909,NEO_1909 +1910,KHONG MINH MANH_1910,NEO_1910 +1911,KHONG MINH MANH_1911,NEO_1911 +1912,KHONG MINH MANH_1912,NEO_1912 +1913,KHONG MINH MANH_1913,NEO_1913 +1914,KHONG MINH MANH_1914,NEO_1914 +1915,KHONG MINH MANH_1915,NEO_1915 +1916,KHONG MINH MANH_1916,NEO_1916 +1917,KHONG MINH MANH_1917,NEO_1917 +1918,KHONG MINH MANH_1918,NEO_1918 +1919,KHONG MINH MANH_1919,NEO_1919 +1920,KHONG MINH MANH_1920,NEO_1920 +1921,KHONG MINH MANH_1921,NEO_1921 +1922,KHONG MINH MANH_1922,NEO_1922 +1923,KHONG MINH MANH_1923,NEO_1923 +1924,KHONG MINH MANH_1924,NEO_1924 +1925,KHONG MINH MANH_1925,NEO_1925 +1926,KHONG MINH MANH_1926,NEO_1926 +1927,KHONG MINH MANH_1927,NEO_1927 +1928,KHONG MINH MANH_1928,NEO_1928 +1929,KHONG MINH MANH_1929,NEO_1929 +1930,KHONG MINH MANH_1930,NEO_1930 +1931,KHONG MINH MANH_1931,NEO_1931 +1932,KHONG MINH MANH_1932,NEO_1932 +1933,KHONG MINH MANH_1933,NEO_1933 +1934,KHONG MINH MANH_1934,NEO_1934 +1935,KHONG MINH MANH_1935,NEO_1935 +1936,KHONG MINH MANH_1936,NEO_1936 +1937,KHONG MINH MANH_1937,NEO_1937 +1938,KHONG MINH MANH_1938,NEO_1938 +1939,KHONG MINH MANH_1939,NEO_1939 +1940,KHONG MINH MANH_1940,NEO_1940 +1941,KHONG MINH MANH_1941,NEO_1941 +1942,KHONG MINH MANH_1942,NEO_1942 +1943,KHONG MINH MANH_1943,NEO_1943 +1944,KHONG MINH MANH_1944,NEO_1944 +1945,KHONG MINH MANH_1945,NEO_1945 +1946,KHONG MINH MANH_1946,NEO_1946 +1947,KHONG MINH MANH_1947,NEO_1947 +1948,KHONG MINH MANH_1948,NEO_1948 +1949,KHONG MINH MANH_1949,NEO_1949 +1950,KHONG MINH MANH_1950,NEO_1950 +1951,KHONG MINH MANH_1951,NEO_1951 +1952,KHONG MINH MANH_1952,NEO_1952 +1953,KHONG MINH MANH_1953,NEO_1953 +1954,KHONG MINH MANH_1954,NEO_1954 +1955,KHONG MINH MANH_1955,NEO_1955 +1956,KHONG MINH MANH_1956,NEO_1956 +1957,KHONG MINH MANH_1957,NEO_1957 +1958,KHONG MINH MANH_1958,NEO_1958 +1959,KHONG MINH MANH_1959,NEO_1959 +1960,KHONG MINH MANH_1960,NEO_1960 +1961,KHONG MINH MANH_1961,NEO_1961 +1962,KHONG MINH MANH_1962,NEO_1962 +1963,KHONG MINH MANH_1963,NEO_1963 +1964,KHONG MINH MANH_1964,NEO_1964 +1965,KHONG MINH MANH_1965,NEO_1965 +1966,KHONG MINH MANH_1966,NEO_1966 +1967,KHONG MINH MANH_1967,NEO_1967 +1968,KHONG MINH MANH_1968,NEO_1968 +1969,KHONG MINH MANH_1969,NEO_1969 +1970,KHONG MINH MANH_1970,NEO_1970 +1971,KHONG MINH MANH_1971,NEO_1971 +1972,KHONG MINH MANH_1972,NEO_1972 +1973,KHONG MINH MANH_1973,NEO_1973 +1974,KHONG MINH MANH_1974,NEO_1974 +1975,KHONG MINH MANH_1975,NEO_1975 +1976,KHONG MINH MANH_1976,NEO_1976 +1977,KHONG MINH MANH_1977,NEO_1977 +1978,KHONG MINH MANH_1978,NEO_1978 +1979,KHONG MINH MANH_1979,NEO_1979 +1980,KHONG MINH MANH_1980,NEO_1980 +1981,KHONG MINH MANH_1981,NEO_1981 +1982,KHONG MINH MANH_1982,NEO_1982 +1983,KHONG MINH MANH_1983,NEO_1983 +1984,KHONG MINH MANH_1984,NEO_1984 +1985,KHONG MINH MANH_1985,NEO_1985 +1986,KHONG MINH MANH_1986,NEO_1986 +1987,KHONG MINH MANH_1987,NEO_1987 +1988,KHONG MINH MANH_1988,NEO_1988 +1989,KHONG MINH MANH_1989,NEO_1989 +1990,KHONG MINH MANH_1990,NEO_1990 +1991,KHONG MINH MANH_1991,NEO_1991 +1992,KHONG MINH MANH_1992,NEO_1992 +1993,KHONG MINH MANH_1993,NEO_1993 +1994,KHONG MINH MANH_1994,NEO_1994 +1995,KHONG MINH MANH_1995,NEO_1995 +1996,KHONG MINH MANH_1996,NEO_1996 +1997,KHONG MINH MANH_1997,NEO_1997 +1998,KHONG MINH MANH_1998,NEO_1998 +1999,KHONG MINH MANH_1999,NEO_1999 diff --git a/Java-File-Manager/java-file-manager/data/input/03/03-01-temp/backup-data-01.txt b/Java-File-Manager/java-file-manager/data/input/03/03-01-temp/backup-data-01.txt new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/03-01-temp/backup-data-02.txt b/Java-File-Manager/java-file-manager/data/input/03/03-01-temp/backup-data-02.txt new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/03-01-temp/backup-data-03.txt b/Java-File-Manager/java-file-manager/data/input/03/03-01-temp/backup-data-03.txt new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/03-01-temp/backup-data.txt b/Java-File-Manager/java-file-manager/data/input/03/03-01-temp/backup-data.txt new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/03-01/backup-data-01.txt b/Java-File-Manager/java-file-manager/data/input/03/03-01/backup-data-01.txt new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/03-01/backup-data-02.txt b/Java-File-Manager/java-file-manager/data/input/03/03-01/backup-data-02.txt new file mode 100644 index 0000000..66692ac --- /dev/null +++ b/Java-File-Manager/java-file-manager/data/input/03/03-01/backup-data-02.txt @@ -0,0 +1 @@ +NEO Company \ No newline at end of file diff --git a/Java-File-Manager/java-file-manager/data/input/03/03-01/backup-data-03.txt b/Java-File-Manager/java-file-manager/data/input/03/03-01/backup-data-03.txt new file mode 100644 index 0000000..e5c4645 --- /dev/null +++ b/Java-File-Manager/java-file-manager/data/input/03/03-01/backup-data-03.txt @@ -0,0 +1 @@ +Thái Bình \ No newline at end of file diff --git a/Java-File-Manager/java-file-manager/data/input/03/03-01/backup-data.txt b/Java-File-Manager/java-file-manager/data/input/03/03-01/backup-data.txt new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/03-01/manhkm01.txt b/Java-File-Manager/java-file-manager/data/input/03/03-01/manhkm01.txt new file mode 100644 index 0000000..930d85f --- /dev/null +++ b/Java-File-Manager/java-file-manager/data/input/03/03-01/manhkm01.txt @@ -0,0 +1 @@ +manhkm \ No newline at end of file diff --git a/Java-File-Manager/java-file-manager/data/input/03/03-01/manhkm02.txt b/Java-File-Manager/java-file-manager/data/input/03/03-01/manhkm02.txt new file mode 100644 index 0000000..b681456 --- /dev/null +++ b/Java-File-Manager/java-file-manager/data/input/03/03-01/manhkm02.txt @@ -0,0 +1,3 @@ +Khong Minh Manh +NEO +Thái Bình \ No newline at end of file diff --git a/Java-File-Manager/java-file-manager/data/input/03/customer-01.txt b/Java-File-Manager/java-file-manager/data/input/03/customer-01.txt new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/customer-02.html b/Java-File-Manager/java-file-manager/data/input/03/customer-02.html new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/customer-02.java b/Java-File-Manager/java-file-manager/data/input/03/customer-02.java new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/customer-02.mp3 b/Java-File-Manager/java-file-manager/data/input/03/customer-02.mp3 new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/customer-02.mp4 b/Java-File-Manager/java-file-manager/data/input/03/customer-02.mp4 new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/customer-02.sql b/Java-File-Manager/java-file-manager/data/input/03/customer-02.sql new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/data/input/03/customer-02.txt b/Java-File-Manager/java-file-manager/data/input/03/customer-02.txt new file mode 100644 index 0000000..e69de29 diff --git a/Java-File-Manager/java-file-manager/pom.xml b/Java-File-Manager/java-file-manager/pom.xml new file mode 100644 index 0000000..9c1a070 --- /dev/null +++ b/Java-File-Manager/java-file-manager/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + com.msoft + java-file-manager + 1.0 + + + 8 + 8 + + + + + + org.apache.logging.log4j + log4j-core + 2.17.1 + + + + + \ No newline at end of file diff --git a/Java-File-Manager/java-file-manager/readme.md b/Java-File-Manager/java-file-manager/readme.md new file mode 100644 index 0000000..941da52 --- /dev/null +++ b/Java-File-Manager/java-file-manager/readme.md @@ -0,0 +1,32 @@ +# Java-File-Manager + +## List API sử dụng đối với File + +### Loại 1: CREATE + +Tạo file rỗng + +Tạo file với nội dung được fix trong hàm + +Tạo file với nội dung được lấy từ một Collection khác + +Tạo file với nội dung được lấy từ execute QUERY trong Database. + +Tạo file với nội dung được custom từ nội dung của file khác. + + + +### Loại 2: READ + +Đọc thông tin chi tiết, liên quan của file + +Đọc nội dung của file theo dữ liệu gốc + +Đọc nội dung của file theo chuyển đổi thành Object + + + + +## Reference document + +[1. ManageFile](https://github.com/Ben-MTP/ManageFile) \ No newline at end of file diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/App.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/App.java new file mode 100644 index 0000000..42bf65b --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/App.java @@ -0,0 +1,16 @@ +package com.msoft.core; + +import com.msoft.core.utils.FileUtil; + +/** + * @author ManhKM on 9/13/2022 + * @project java-file-manager + */ +public class App { + + public static void main(String[] args) { + FileUtil fileUtil = new FileUtil(); + String path = "data/input/03"; + fileUtil.discovery(path, false); + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/DirectoriesManager.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/DirectoriesManager.java new file mode 100644 index 0000000..9aedb6c --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/DirectoriesManager.java @@ -0,0 +1,24 @@ +package com.msoft.core; + +import com.msoft.core.crud.DirectoriesService; +import com.msoft.core.crud.impl.DirectoriesServiceImpl; + +/** + * Quản lý thông tin các thư mục + * ---- + * CRUD Directories: Tạo, đọc nội dung, + * chỉnh sửa nội dung trong thư mục, + * chỉnh sửa tên của thư mục, + * xóa tên của thư mục + */ +public class DirectoriesManager { + + public static void main(String[] args) { + String pathDirectory = "data/input/03/03-06"; + DirectoriesService directoriesService = new DirectoriesServiceImpl(); + + String sourceDirectory = "data/input/03/03-01-temp"; + String targetDirectory = "data/input/03/03-08898"; + System.out.println(directoriesService.copyDirectory(sourceDirectory, targetDirectory)); + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/FileManager.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/FileManager.java new file mode 100644 index 0000000..a7c17a4 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/FileManager.java @@ -0,0 +1,12 @@ +package com.msoft.core; + +import com.msoft.core.crud.FilesService; +import com.msoft.core.crud.impl.FilesServiceImpl; + +public class FileManager { + public static void main(String[] args) { + String pathFile = "data/input/03/03-01/backup-data-03.txt"; + FilesService filesService = new FilesServiceImpl(); + System.out.println(filesService.getInfoFileUsingPathFile(pathFile)); + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/MonitorFile.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/MonitorFile.java new file mode 100644 index 0000000..98e71a7 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/MonitorFile.java @@ -0,0 +1,13 @@ +package com.msoft.core; + +import com.msoft.core.monitor.FileWatcher; +import com.msoft.core.monitor.impl.FileWatcherImpl; + +public class MonitorFile { + public static void main(String[] args) { + System.out.println("----- MONITOR FILE -----"); + FileWatcher fileWatcher = new FileWatcherImpl(); + + fileWatcher.run(); + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/DirectoriesService.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/DirectoriesService.java new file mode 100644 index 0000000..e710797 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/DirectoriesService.java @@ -0,0 +1,22 @@ +package com.msoft.core.crud; + +import com.msoft.core.entity.DirectionEntity; + +import java.util.List; + +/** + * Định nghĩa các Service cần có của một thư mục trong hệ thống + */ +public interface DirectoriesService { + List getFileOfDirectory(String pathDirectory); + + DirectionEntity getInfoDirectionUsingPathDirectory(String pathDirector); + + DirectionEntity createDirectoryUsingPathDirectory(String pathDirector); + + Boolean renameDirectory(String currentPathDirectory, String newPathDirectory); + + Boolean deleteDirectory(String pathDirector); + + Boolean copyDirectory(String sourceDirectory, String targetDirectory); +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/FilesService.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/FilesService.java new file mode 100644 index 0000000..28a1c9b --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/FilesService.java @@ -0,0 +1,24 @@ +package com.msoft.core.crud; + +import com.msoft.core.entity.FileEntity; +import com.msoft.core.entity.Person; + +import java.io.File; +import java.util.List; + +public interface FilesService { + + FileEntity getInfoFileUsingPathFile(String pathFile); + + FileEntity getInfoFileUsingFile(File file); + + FileEntity createAndWriteContent2File(String pathFile, int numberOfLine); + + List readContentOfFile(String pathFile); + + Person convertString2Object(String keyDetect, String line, int size); + + FileEntity onlyCreateFileWithPathFile(String pathFile); + + +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/impl/DirectoriesServiceImpl.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/impl/DirectoriesServiceImpl.java new file mode 100644 index 0000000..abcc592 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/impl/DirectoriesServiceImpl.java @@ -0,0 +1,143 @@ +package com.msoft.core.crud.impl; + +import com.msoft.core.crud.DirectoriesService; +import com.msoft.core.entity.DirectionEntity; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; + +/** + * Triển khai các nghiệp vụ liên quan của Directory + */ +public class DirectoriesServiceImpl implements DirectoriesService { + + public DirectoriesServiceImpl() { + } + + /** + * Lấy danh sách file số liệu theo đường dẫn thư mục được chỉ định + * + * @param pathDirectory + * @return + */ + @Override + public List getFileOfDirectory(String pathDirectory) { + File file = new File(pathDirectory); + List listName = new ArrayList<>(); + String fileNames[] = file.list(); + + for (String fileName : fileNames) { + listName.add(fileName); + } + return listName; + } + + @Override + public DirectionEntity getInfoDirectionUsingPathDirectory(String pathDirector) { + return null; + } + + /** + * Tạo thư mục mới sử dụng PathDirectory + * + * @param pathDirector - đường dẫn path đến thư mục cần quản lý + * @return + */ + @Override + public DirectionEntity createDirectoryUsingPathDirectory(String pathDirector) { + Path directoryPath = Paths.get(pathDirector); + boolean isExists = Files.exists(directoryPath); + if (!isExists) { + try { + DirectionEntity directionEntity = new DirectionEntity(); + Path path = Files.createDirectories(directoryPath); + directionEntity.setName(path.getFileName().toString()); + directionEntity.setPath(path.getParent().toAbsolutePath().toString()); + directionEntity.setCountFile(Long.valueOf(path.getNameCount())); + directionEntity.setCountDirection(0L); + System.out.println("... CREATED DIRECTION "); + + return directionEntity; + } catch (IOException e) { + e.printStackTrace(); + System.out.println("... FAILED CREATE DIRECTION "); + } + } else { + System.out.println("... FILE ALREADY EXISTS"); + } + return null; + } + + /** + * Hàm sửa tên của thư mục + * + * @param currentPathDirectory + * @param newPathDirectory + * @return + */ + @Override + public Boolean renameDirectory(String currentPathDirectory, String newPathDirectory) { + Path currentPath = Paths.get(currentPathDirectory); + Path newPath = Paths.get(newPathDirectory); + + try { + Files.move(currentPath, newPath); + System.out.println("RENAME SUCCESS..."); + return true; + } catch (IOException e) { + e.printStackTrace(); + System.out.println("CANNOT RENAME FILE..."); + return false; + } + } + + @Override + public Boolean deleteDirectory(String pathDirector) { + Path path = Paths.get(pathDirector); + + try { + if (!Files.isDirectory(path)) { + System.out.println("NOT A DIRECTORY"); + return false; + } + if (Files.list(path).findFirst().isPresent()) { + System.out.println("DIRECTORY CONTAINS FILES"); + return false; + } + Files.delete(path); + return true; + } catch (IOException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public Boolean copyDirectory(String sourceDirectory, String targetDirectory) { + Path sourcePath = Paths.get(sourceDirectory); + Path targetPath = Paths.get(targetDirectory); + + try { + if (!Files.exists(targetPath)) { + Files.createDirectories(targetPath); + } + Files.walk(sourcePath).forEach(source -> { + Path target = targetPath.resolve(sourcePath.relativize(source)); + try { + Files.copy(source, target); + } catch (IOException e) { + e.printStackTrace(); + } + }); + return true; + } catch (IOException e) { + e.printStackTrace(); + return false; + } + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/impl/FilesServiceImpl.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/impl/FilesServiceImpl.java new file mode 100644 index 0000000..e3bf088 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/crud/impl/FilesServiceImpl.java @@ -0,0 +1,152 @@ +package com.msoft.core.crud.impl; + +import com.msoft.core.crud.FilesService; +import com.msoft.core.entity.FileEntity; +import com.msoft.core.entity.Person; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Formatter; +import java.util.List; +import java.util.Scanner; + +public class FilesServiceImpl implements FilesService { + + public FilesServiceImpl(){} + + /** + * Lấy thông tin liên quan của file + * + * @param pathFile + * @return + */ + @Override + public FileEntity getInfoFileUsingPathFile(String pathFile) { + File file = new File(pathFile); + FileEntity fileEntity = new FileEntity(file.getName(), file.getParent(), file.getPath(), + file.getAbsolutePath(), file.getAbsoluteFile().toString(), file.exists()); + if (fileEntity.isExists()) { + return fileEntity; + } else { + System.out.println("File not exists...."); + return null; + } + } + + /** + * Khi đã chuyển đổi thông tin file từ pathFile thành Object File + * + * @param file - Object file sau khi đã lấy theo đường dẫn pathFile + * @return + */ + @Override + public FileEntity getInfoFileUsingFile(File file) { + FileEntity fileEntity = new FileEntity(file.getName(), file.getParent(), file.getPath(), + file.getAbsolutePath(), file.getAbsoluteFile().toString(), file.exists()); + if (fileEntity.isExists()) { + return fileEntity; + } else { + System.out.println("File not exists...."); + return null; + } + } + + /** + * Tạo file và ghi nội dung vào file + * + * @param pathFile + * @return + */ + @Override + public FileEntity createAndWriteContent2File(String pathFile, int numberOfLine) { + try { + Formatter formatter = new Formatter(pathFile); + for (int i = 0; i < numberOfLine; i++) { + formatter.format("%s,%s,%s", i, "KHONG MINH MANH_" + i, "NEO_" + i + "\r\n"); + } + formatter.close(); + + return getInfoFileUsingPathFile(pathFile); + } catch (FileNotFoundException e) { + e.printStackTrace(); + System.out.println("Can't formatter data of file..."); + return null; + } + } + + /** + * Đọc nội dung của File + * + * @param pathFile - đường dẫn path của File + * @return + */ + @Override + public List readContentOfFile(String pathFile) { + System.out.println(" ... START READING CONTENT OF FILE"); + File file = new File(pathFile); + try { + Scanner scanner = new Scanner(file); + List list = new ArrayList<>(); + while (scanner.hasNextLine()) { + Person person = convertString2Object(",", scanner.nextLine(), 3); + list.add(person); + } + scanner.close(); + return list; + } catch (FileNotFoundException e) { + e.printStackTrace(); + return null; + } + } + + /** + * Chuyển đổi từ một String sang dạng Object + * + * @param keyDetect - keyword dùng cho việc phân tách phần tử + * @param line - đầu vào dòng dữ liệu + * @param size - kích thước số thuộc tính, phần tử trên 1 dòng + * @return + */ + @Override + public Person convertString2Object(String keyDetect, String line, int size) { + Person person = new Person(); + if (!(line.length() == 0)) { + String[] parts = line.split(keyDetect); + if (parts.length == size) { + person.setId(Long.parseLong(parts[0])); + person.setName(parts[1]); + person.setCompany(parts[2]); + } + return person; + } else { + return null; + } + } + + /** + * Chỉ tạo file thôi mà chưa làm gì đối với nó hết + * + * @param pathFile + * @return + */ + @Override + public FileEntity onlyCreateFileWithPathFile(String pathFile) { + File file = new File(pathFile); + try { + if (file.createNewFile()) { + System.out.println("... CREATED FILE"); + return getInfoFileUsingFile(file); + } else { + System.out.println("... CAN'T CREATE FILE"); + if (file.exists()) { + System.out.println(" ... FILE EXISTS ALREADY"); + } + } + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/entity/DirectionEntity.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/entity/DirectionEntity.java new file mode 100644 index 0000000..756023f --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/entity/DirectionEntity.java @@ -0,0 +1,73 @@ +package com.msoft.core.entity; + +import java.util.List; + +public class DirectionEntity { + private String name; + private String path; + private List files; + private Long countFile; + private Long countDirection; + + public DirectionEntity() { + } + + public DirectionEntity(String name, String path, List files, Long countFile, Long countDirection) { + this.name = name; + this.path = path; + this.files = files; + this.countFile = countFile; + this.countDirection = countDirection; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public List getFiles() { + return files; + } + + public void setFiles(List files) { + this.files = files; + } + + public Long getCountFile() { + return countFile; + } + + public void setCountFile(Long countFile) { + this.countFile = countFile; + } + + public Long getCountDirection() { + return countDirection; + } + + public void setCountDirection(Long countDirection) { + this.countDirection = countDirection; + } + + @Override + public String toString() { + return "DirectionEntity{" + + "name='" + name + '\'' + + ", path='" + path + '\'' + + ", files=" + files + + ", countFile=" + countFile + + ", countDirection=" + countDirection + + '}'; + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/entity/FileEntity.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/entity/FileEntity.java new file mode 100644 index 0000000..ecdf334 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/entity/FileEntity.java @@ -0,0 +1,90 @@ +package com.msoft.core.entity; + +public class FileEntity { + private String name; + private String parent; + private String path; + private String absolutePath; + private String absoluteFile; + private boolean exists; + + public FileEntity(String name, String parent, String path, + String absolutePath, String absoluteFile, + boolean exists) { + this.name = name; + this.parent = parent; + this.path = path; + this.absolutePath = absolutePath; + this.absoluteFile = absoluteFile; + this.exists = exists; + } + + public FileEntity(){} + + public FileEntity(String name, String parent, String path, boolean exists) { + this.name = name; + this.parent = parent; + this.path = path; + this.exists = exists; + } + + public String getAbsolutePath() { + return absolutePath; + } + + public void setAbsolutePath(String absolutePath) { + this.absolutePath = absolutePath; + } + + public String getAbsoluteFile() { + return absoluteFile; + } + + public void setAbsoluteFile(String absoluteFile) { + this.absoluteFile = absoluteFile; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getParent() { + return parent; + } + + public void setParent(String parent) { + this.parent = parent; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public boolean isExists() { + return exists; + } + + public void setExists(boolean exists) { + this.exists = exists; + } + + @Override + public String toString() { + return "FileEntity{" + + "name='" + name + '\'' + + ", parent='" + parent + '\'' + + ", path='" + path + '\'' + + ", absolutePath='" + absolutePath + '\'' + + ", absoluteFile='" + absoluteFile + '\'' + + ", exists=" + exists + + '}'; + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/entity/Person.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/entity/Person.java new file mode 100644 index 0000000..8da01e2 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/entity/Person.java @@ -0,0 +1,49 @@ +package com.msoft.core.entity; + +public class Person { + private Long id; + private String name; + private String company; + + public Person() { + } + + public Person(Long id, String name, String company) { + this.id = id; + this.name = name; + this.company = company; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + @Override + public String toString() { + return "Person{" + + "id=" + id + + ", name='" + name + '\'' + + ", company='" + company + '\'' + + '}'; + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/monitor/FileWatcher.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/monitor/FileWatcher.java new file mode 100644 index 0000000..227efc9 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/monitor/FileWatcher.java @@ -0,0 +1,8 @@ +package com.msoft.core.monitor; + +import java.util.Map; + +public interface FileWatcher extends Runnable{ + + Map getFileMonitor(String pathDirectory); +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/monitor/impl/FileWatcherImpl.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/monitor/impl/FileWatcherImpl.java new file mode 100644 index 0000000..fded5a9 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/monitor/impl/FileWatcherImpl.java @@ -0,0 +1,80 @@ +package com.msoft.core.monitor.impl; + +import com.msoft.core.monitor.FileWatcher; + +import java.io.File; +import java.io.IOException; +import java.nio.file.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +public class FileWatcherImpl implements FileWatcher { + /** + * Xử lý các vấn đề monitor file + * Đường dẫn tuyệt đối của file + Thời gian sửa đổi lần cuối + * + * @param pathDirectory + * @return + */ + @Override + public Map getFileMonitor(String pathDirectory) { + + // Lưu thông tin của file trong thư mục cần monitor + Map mapFile = new HashMap<>(); + + try { + // Tạo một WatchService: + WatchService watchService = FileSystems.getDefault().newWatchService(); + + // Đường dẫn đến thư mục muốn theo dõi: + Path directory = Paths.get(pathDirectory); + + // Đăng ký thư mục với WatchService để bắt sự kiện: + directory.register(watchService, StandardWatchEventKinds.ENTRY_MODIFY); + + // Vòng lặp để bắt sự kiện: + while (true) { + WatchKey key = null; + try { + key = watchService.take(); + } catch (InterruptedException e) { + return Collections.emptyMap(); + } + + // Xử lý các sự kiện trong WatchKey: + for (WatchEvent event : key.pollEvents()) { + WatchEvent.Kind kind = event.kind(); + + // Kiểm tra loại sự kiện là chỉnh sửa file + if (kind == StandardWatchEventKinds.ENTRY_MODIFY) { + // Lấy tên file đã được thay đổi + WatchEvent pathEvent = (WatchEvent) event; + Path path = pathEvent.context(); + File file = path.toFile(); + System.out.println("File: " + file.getAbsolutePath() + ", đã được chỉnh sửa: " + file.lastModified()); + mapFile.put(file.getAbsolutePath(), file.lastModified()); + } + } + + // Reset WatchKey để tiếp tục theo dõi sự kiện + boolean valid = key.reset(); + + // Nếu WatchKey không còn hợp lệ (ví dụ: thư mục bị xóa), thoát khỏi vòng lặp + if (!valid) { + break; + } + } + } catch (IOException e) { + e.printStackTrace(); + return Collections.emptyMap(); + } + return mapFile; + } + + @Override + public void run() { + System.out.println(" execute method run/FileWatcherImpl"); + this.getFileMonitor("data/input/03/03-01"); + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/utils/FileUtil.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/utils/FileUtil.java new file mode 100644 index 0000000..56f41d7 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/utils/FileUtil.java @@ -0,0 +1,107 @@ +package com.msoft.core.utils; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @author ManhKM on 9/13/2022 + * @project java-file-manager + */ +public class FileUtil { + + private final Logger logger = LogManager.getLogger(FileUtil.class); + + private String pattern = "register*"; + + /** + * Kiểm tra các file thuộc thư mục path. + * Lấy ra danh sách các file thuộc thư mục + đường dẫn đó. + * nếu số lượng file có trong thư mục đó > 0 thì khởi tạo connection + * Sau khi khởi tạo connection thì đọc toàn bộ danh sách các file đó. + * @param path - Đường dẫn path đến mơi chứa thư mục cần thực hiện | work/wait/register/retry + * @param isReload - true | có reload, false | không reload + */ + public void discovery(String path, boolean isReload) { + File directory = new File(path); + File[] fileList = directory.listFiles(new LogFilter(pattern)); + if (fileList == null) { + return; + } + if (fileList.length > 0) { + logger.info("Stating discovery path: {}, isReload: {}", path, isReload); + } + for (File f : fileList) { + if (f.isFile()) + logger.info(f.getName()); + readFile(f, isReload); + } + + } + + private void readFile(File f, boolean isReload) { + BufferedReader reader = null; + try { + long s = System.nanoTime(); + reader = new BufferedReader(new InputStreamReader(new FileInputStream(f), "UTF-8")); + List arrUpdate = new ArrayList<>(); + + for (String content; (content = reader.readLine()) != null;) { + if (!isReload) { + // begin logic khong thi reload: + } + + String[] data = content.split(";"); + String method = data[0]; + String serviceId = data[2]; + String pkgId = data[3]; + String msisdn = data[4]; + String subId = data[5]; + String regDate = data[6]; + String channel = data[7]; + String numReg = data[8]; + String state = data[9]; + String isExtend = data[10]; + String startDate = data[11]; + String endDate = data[12]; + String nextExtend = data[13]; + String pkg = data[14]; + String numFree = data[15]; + String pkgCK = data[16]; + String progId = data[17] == null ? "" : data[17]; + String lastUpdate = data[18]; + String price = data[19]; + String firstTime = data[20]; + String numExt = data[21]; + String subMsisdn = data[22]; + String syntax = data[23] == null ? "" : data[23]; + // String cancelDate = data[24]; + String badDebit = data[25] == null ? "0" : data[25]; + System.out.println(method + " - " + badDebit); + } + + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + + + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/utils/LogFilter.java b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/utils/LogFilter.java new file mode 100644 index 0000000..ee3ea73 --- /dev/null +++ b/Java-File-Manager/java-file-manager/src/main/java/com/msoft/core/utils/LogFilter.java @@ -0,0 +1,56 @@ +package com.msoft.core.utils; + +import java.io.File; +import java.io.FilenameFilter; +import java.util.regex.Pattern; + +/** + * @author ManhKM on 9/13/2022 + * @project java-file-manager + */ +public class LogFilter implements FilenameFilter { + + private int type = 0; + private String pattern = ""; + private Pattern p = null; + + /** + * + * @param pattern + */ + public LogFilter(String pattern) { + this.pattern = pattern.replace("*", ""); + boolean isStartWith = pattern.startsWith("*"); + boolean isEndWith = pattern.endsWith("*"); + if (isStartWith && isEndWith) { + this.type = 1; + } else if (isStartWith) { + this.type = 2; + } else if (isEndWith) { + this.type = 3; + } else { + this.p = Pattern.compile(pattern); + } + + } + + /** + * + * @param dir - Đường dẫn đến trực tiếp file + * @param name - Tên của file + * @return + */ + @Override + public boolean accept(File dir, String name) { + switch(this.type) { + case 1: + return name.indexOf(this.pattern) > -1; + case 2: + return name.endsWith(this.pattern); + case 3: + return name.startsWith(this.pattern); + default: + return this.p.matcher(name).find(); + } + } +} diff --git a/Java-Http/pom.xml b/Java-Http/pom.xml new file mode 100644 index 0000000..463320d --- /dev/null +++ b/Java-Http/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + + com.core + Java-Http + 1.0-SNAPSHOT + + + 8 + 8 + 4.5.2 + 4.5.13 + + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + org.apache.httpcomponents + fluent-hc + ${fluent-hc.version} + + + + + \ No newline at end of file diff --git a/Java-Http/readme.md b/Java-Http/readme.md new file mode 100644 index 0000000..e4cc69b --- /dev/null +++ b/Java-Http/readme.md @@ -0,0 +1,4 @@ + +## Reference Document + +[Tạo và sử dụng HTTP Client Connection pool](https://huongdanjava.com/vi/tao-va-su-dung-http-client-connection-pool.html) \ No newline at end of file diff --git a/Java-Http/src/main/java/com/core/HttpClientExample.java b/Java-Http/src/main/java/com/core/HttpClientExample.java new file mode 100644 index 0000000..aba8298 --- /dev/null +++ b/Java-Http/src/main/java/com/core/HttpClientExample.java @@ -0,0 +1,44 @@ +package com.core; + +import java.io.IOException; +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + +/** + * @author ManhKM on 8/3/2022 + * @project Java-Http + * ----- + * Thiết lập tunnel trên server 10.2.19.2 --> port 5000 -> connect đến webadmin + api + * Tạo HttpClient -> call đến local:8080 + */ +public class HttpClientExample { + + public static void main(String[] args) throws InterruptedException { + final String url = "http://localhost:5000/"; + final CloseableHttpClient httpclient = HttpClients.createSystem(); + + for(int i = 0; i < 10; i++){ + System.out.println("Starting index [" + i + "]"); + new Thread(new Runnable() { + @Override + public void run() { + try { + HttpGet httpGet = new HttpGet(url); + CloseableHttpResponse response = httpclient.execute(httpGet); + HttpEntity entity = response.getEntity(); + EntityUtils.consume(entity); + + response.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + }).start(); + } + Thread.sleep(10000); + } +} diff --git a/Java-Http/src/main/java/com/core/HttpClientPool.java b/Java-Http/src/main/java/com/core/HttpClientPool.java new file mode 100644 index 0000000..541a42e --- /dev/null +++ b/Java-Http/src/main/java/com/core/HttpClientPool.java @@ -0,0 +1,146 @@ +package com.core; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import org.apache.http.HttpEntity; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpUriRequest; +import org.apache.http.conn.HttpClientConnectionManager; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; + +/** + * @author ManhKM on 8/10/2022 + * @project Java-Http + */ +public class HttpClientPool { + private static final PoolingHttpClientConnectionManager POOLING_CONN_MANAGER = new PoolingHttpClientConnectionManager(); + + static { + POOLING_CONN_MANAGER.setMaxTotal(20000); + POOLING_CONN_MANAGER.setDefaultMaxPerRoute(15000); + } + + private static final CloseableHttpClient client = HttpClients.custom().setConnectionManager((HttpClientConnectionManager)POOLING_CONN_MANAGER).build(); + + public static String sendPostSOAP(String request, String urlApi, int timeout, String contentType) throws IOException { + HttpPost httpPost = new HttpPost(urlApi); + RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(timeout).setConnectTimeout(timeout).setSocketTimeout(timeout).build(); + StringEntity stringEntity = new StringEntity(request, StandardCharsets.UTF_8); + httpPost.setConfig(requestConfig); + httpPost.setHeader("Content-Type", contentType); + httpPost.setHeader("SOAPAction", ""); + httpPost.setEntity((HttpEntity)stringEntity); + StringBuilder response = new StringBuilder(); + InputStreamReader isr = null; + BufferedReader in = null; + OutputStream out = null; + try (CloseableHttpResponse httpResponse = client.execute((HttpUriRequest)httpPost)) { + InputStream inputStream = httpResponse.getEntity().getContent(); + isr = new InputStreamReader(inputStream); + in = new BufferedReader(isr); + String value = null; + while ((value = in.readLine()) != null) + response.append(value); + in.close(); + return response.toString(); + } finally { + if (out != null) + try { + out.close(); + } catch (IOException iOException) {} + if (isr != null) + try { + isr.close(); + } catch (IOException iOException) {} + if (in != null) + try { + in.close(); + } catch (IOException iOException) {} + } + } + + public static String sendPostAPI(String request, String urlApi, int timeout, String cookie) throws IOException { + HttpPost httpPost = new HttpPost(urlApi); + RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(timeout).setConnectTimeout(timeout).setSocketTimeout(timeout).build(); + StringEntity stringEntity = new StringEntity(request, StandardCharsets.UTF_8); + httpPost.setConfig(requestConfig); + httpPost.setHeader("Accept", "application/json"); + httpPost.setHeader("Content-Type", "application/json"); + httpPost.setHeader("Cookie", cookie); + httpPost.setEntity((HttpEntity)stringEntity); + StringBuilder response = new StringBuilder(); + InputStreamReader isr = null; + BufferedReader in = null; + OutputStream out = null; + try (CloseableHttpResponse httpResponse = client.execute((HttpUriRequest)httpPost)) { + InputStream inputStream = httpResponse.getEntity().getContent(); + isr = new InputStreamReader(inputStream); + in = new BufferedReader(isr); + String value = null; + while ((value = in.readLine()) != null) + response.append(value); + in.close(); + return response.toString(); + } finally { + if (out != null) + try { + out.close(); + } catch (IOException iOException) {} + if (isr != null) + try { + isr.close(); + } catch (IOException iOException) {} + if (in != null) + try { + in.close(); + } catch (IOException iOException) {} + } + } + + public static String sendPostAPI(String request, String urlApi, int timeout) throws IOException { + HttpPost httpPost = new HttpPost(urlApi); + RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(timeout).setConnectTimeout(timeout).setSocketTimeout(timeout).build(); + StringEntity stringEntity = new StringEntity(request, StandardCharsets.UTF_8); + httpPost.setConfig(requestConfig); + httpPost.setHeader("Accept", "application/json"); + httpPost.setHeader("Content-Type", "application/json"); +// httpPost.setHeader("Cookie", cookie); + httpPost.setEntity((HttpEntity)stringEntity); + StringBuilder response = new StringBuilder(); + InputStreamReader isr = null; + BufferedReader in = null; + OutputStream out = null; + try (CloseableHttpResponse httpResponse = client.execute((HttpUriRequest)httpPost)) { + InputStream inputStream = httpResponse.getEntity().getContent(); + isr = new InputStreamReader(inputStream); + in = new BufferedReader(isr); + String value = null; + while ((value = in.readLine()) != null) + response.append(value); + in.close(); + return response.toString(); + } finally { + if (out != null) + try { + out.close(); + } catch (IOException iOException) {} + if (isr != null) + try { + isr.close(); + } catch (IOException iOException) {} + if (in != null) + try { + in.close(); + } catch (IOException iOException) {} + } + } +} diff --git a/Java-Http/src/main/java/com/core/HttpClientPoolExample.java b/Java-Http/src/main/java/com/core/HttpClientPoolExample.java new file mode 100644 index 0000000..d9a67b1 --- /dev/null +++ b/Java-Http/src/main/java/com/core/HttpClientPoolExample.java @@ -0,0 +1,46 @@ +package com.core; + +import java.io.IOException; +import org.apache.http.HttpEntity; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.apache.http.util.EntityUtils; + +/** + * @author ManhKM on 8/3/2022 + * @project Java-Http + */ +public class HttpClientPoolExample { + + public static void main(String[] args) throws InterruptedException { + PoolingHttpClientConnectionManager pool = new PoolingHttpClientConnectionManager(); + pool.setDefaultMaxPerRoute(1); + pool.setMaxTotal(1); + final CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(pool).build(); + + final String url = "http://localhost:5000/"; + + for (int i = 0; i < 10; i++){ + new Thread(new Runnable() { + @Override + public void run() { + HttpGet httpGet = new HttpGet(url); + try { + CloseableHttpResponse response = httpClient.execute(httpGet); + HttpEntity entity = response.getEntity(); + EntityUtils.consume(entity); + + } catch (IOException e) { + e.printStackTrace(); + } + + } + }).start(); + } + Thread.sleep(1000); + } +} diff --git a/Java-Interface/out/production/Java-Interface/com/core/interfacedemo/Shape.class b/Java-Interface/out/production/Java-Interface/com/core/interfacedemo/Shape.class new file mode 100644 index 0000000..3ecee42 Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/interfacedemo/Shape.class differ diff --git a/Java-Interface/out/production/Java-Interface/com/core/interfacedemo/Square.class b/Java-Interface/out/production/Java-Interface/com/core/interfacedemo/Square.class new file mode 100644 index 0000000..890c4e9 Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/interfacedemo/Square.class differ diff --git a/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Interface1.class b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Interface1.class new file mode 100644 index 0000000..20cc8ab Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Interface1.class differ diff --git a/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Interface2.class b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Interface2.class new file mode 100644 index 0000000..f862c2b Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Interface2.class differ diff --git a/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Interface3.class b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Interface3.class new file mode 100644 index 0000000..8ccf8c3 Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Interface3.class differ diff --git a/Java-Interface/out/production/Java-Interface/com/core/multi_interface/MainMultiInheritance.class b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/MainMultiInheritance.class new file mode 100644 index 0000000..39eba60 Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/MainMultiInheritance.class differ diff --git a/Java-Interface/out/production/Java-Interface/com/core/multi_interface/MultiInheritance.class b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/MultiInheritance.class new file mode 100644 index 0000000..9d98e53 Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/MultiInheritance.class differ diff --git a/Java-Interface/out/production/Java-Interface/com/core/multi_interface/MultiInheritance2.class b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/MultiInheritance2.class new file mode 100644 index 0000000..d84b30c Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/MultiInheritance2.class differ diff --git a/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Parent.class b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Parent.class new file mode 100644 index 0000000..82e7f6b Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/multi_interface/Parent.class differ diff --git a/Java-Interface/out/production/Java-Interface/com/core/static_method/Car.class b/Java-Interface/out/production/Java-Interface/com/core/static_method/Car.class new file mode 100644 index 0000000..165fcef Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/static_method/Car.class differ diff --git a/Java-Interface/out/production/Java-Interface/com/core/static_method/Vehicle.class b/Java-Interface/out/production/Java-Interface/com/core/static_method/Vehicle.class new file mode 100644 index 0000000..cc88682 Binary files /dev/null and b/Java-Interface/out/production/Java-Interface/com/core/static_method/Vehicle.class differ diff --git a/Java-Interface/readme.md b/Java-Interface/readme.md new file mode 100644 index 0000000..e4650d4 --- /dev/null +++ b/Java-Interface/readme.md @@ -0,0 +1,13 @@ +## Reference Document: + 1: Interface trong Java 8 - Default method và Static method + https://gpcoder.com/3854-interface-trong-java-8-default-method-va-static-method/ + + +## Interface trong Java 8 - Default method và static method + 1. Phương thức default trong Interface - Default method + 1.1. Giới thiệu + 1.2. Điều gì xảy ra khi có đa thừa kế + 1.3. Tóm tắt một số đặc điểm quan trong về default methods trong Interface. + 2. Phương thức static trong Interface - Static method + + 3. Nhìn lại Abstract Classes vs Interfaces trong Java 8 \ No newline at end of file diff --git a/Java-Interface/src/com/core/interfacedemo/Shape.java b/Java-Interface/src/com/core/interfacedemo/Shape.java new file mode 100644 index 0000000..c8607ba --- /dev/null +++ b/Java-Interface/src/com/core/interfacedemo/Shape.java @@ -0,0 +1,17 @@ +package com.core.interfacedemo; + +/** + * Thực hiện khởi tạo một Interface Shape -> theo mô hình của Java 8 + * + draw() + * + setColor() -> mặc khi setColor sẽ in ra... + * -> Khi implement lại Shape thì nó không bắt buộc phải implement default method. + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public interface Shape { + void draw(); + + default void setColor(String color){ + System.out.println("Draw shape with color: " + color); + } +} diff --git a/Java-Interface/src/com/core/interfacedemo/Square.java b/Java-Interface/src/com/core/interfacedemo/Square.java new file mode 100644 index 0000000..001f735 --- /dev/null +++ b/Java-Interface/src/com/core/interfacedemo/Square.java @@ -0,0 +1,12 @@ +package com.core.interfacedemo; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public class Square implements Shape{ + @Override + public void draw() { + System.out.println("Draw one Square"); + } +} diff --git a/Java-Interface/src/com/core/multi_interface/Interface1.java b/Java-Interface/src/com/core/multi_interface/Interface1.java new file mode 100644 index 0000000..e178a11 --- /dev/null +++ b/Java-Interface/src/com/core/multi_interface/Interface1.java @@ -0,0 +1,11 @@ +package com.core.multi_interface; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public interface Interface1 { + default void doSomething(){ + System.out.println("Default method doSomething() in Interface1"); + } +} diff --git a/Java-Interface/src/com/core/multi_interface/Interface2.java b/Java-Interface/src/com/core/multi_interface/Interface2.java new file mode 100644 index 0000000..134e57c --- /dev/null +++ b/Java-Interface/src/com/core/multi_interface/Interface2.java @@ -0,0 +1,11 @@ +package com.core.multi_interface; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public interface Interface2 { + default void doSomething(){ + System.out.println("Default method doSomething() in Interface2"); + } +} diff --git a/Java-Interface/src/com/core/multi_interface/Interface3.java b/Java-Interface/src/com/core/multi_interface/Interface3.java new file mode 100644 index 0000000..00b5351 --- /dev/null +++ b/Java-Interface/src/com/core/multi_interface/Interface3.java @@ -0,0 +1,11 @@ +package com.core.multi_interface; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public interface Interface3 { + default void doSomething(){ + System.out.println("Execute in Interface3"); + } +} diff --git a/Java-Interface/src/com/core/multi_interface/MainMultiInheritance.java b/Java-Interface/src/com/core/multi_interface/MainMultiInheritance.java new file mode 100644 index 0000000..98baa73 --- /dev/null +++ b/Java-Interface/src/com/core/multi_interface/MainMultiInheritance.java @@ -0,0 +1,12 @@ +package com.core.multi_interface; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public class MainMultiInheritance { + public static void main(String[] args) { + MultiInheritance multiInheritance = new MultiInheritance(); + multiInheritance.doSomething(); + } +} diff --git a/Java-Interface/src/com/core/multi_interface/MultiInheritance.java b/Java-Interface/src/com/core/multi_interface/MultiInheritance.java new file mode 100644 index 0000000..37dacfd --- /dev/null +++ b/Java-Interface/src/com/core/multi_interface/MultiInheritance.java @@ -0,0 +1,20 @@ +package com.core.multi_interface; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public class MultiInheritance implements Interface1, Interface2{ + + public MultiInheritance(){ + + } + + @Override + public void doSomething() { + Interface1.super.doSomething(); + Interface2.super.doSomething(); +// Interface2.super.doSomething(); + } + +} diff --git a/Java-Interface/src/com/core/multi_interface/MultiInheritance2.java b/Java-Interface/src/com/core/multi_interface/MultiInheritance2.java new file mode 100644 index 0000000..9816540 --- /dev/null +++ b/Java-Interface/src/com/core/multi_interface/MultiInheritance2.java @@ -0,0 +1,19 @@ +package com.core.multi_interface; + +/** + * Bài toán: + * Nếu có một MultiInheritance -> kế thừa từ Parent + * -> implement Interface3 + * ??? Thì nếu triển khai hàm doSomething thì chúng sẽ tìm ở đâu? + * Interface hay ParentClass. + * + Các method trong Interface sẽ bị bỏ qua + * + Sẽ triển khai trong các Parent Class. + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public class MultiInheritance2 extends Parent implements Interface3{ + public static void main(String[] args) { + MultiInheritance2 m = new MultiInheritance2(); + m.doSomething(); //???? + } +} diff --git a/Java-Interface/src/com/core/multi_interface/Parent.java b/Java-Interface/src/com/core/multi_interface/Parent.java new file mode 100644 index 0000000..c1cb2b9 --- /dev/null +++ b/Java-Interface/src/com/core/multi_interface/Parent.java @@ -0,0 +1,11 @@ +package com.core.multi_interface; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public class Parent { + public void doSomething(){ + System.out.println("Execute in Parent"); + } +} diff --git a/Java-Interface/src/com/core/static_method/Car.java b/Java-Interface/src/com/core/static_method/Car.java new file mode 100644 index 0000000..a620a68 --- /dev/null +++ b/Java-Interface/src/com/core/static_method/Car.java @@ -0,0 +1,18 @@ +package com.core.static_method; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public class Car implements Vehicle{ + @Override + public void showLog() { + print(); + Vehicle.isValid(); + } + + public static void main(String[] args) { + Car car = new Car(); + car.showLog(); + } +} diff --git a/Java-Interface/src/com/core/static_method/Vehicle.java b/Java-Interface/src/com/core/static_method/Vehicle.java new file mode 100644 index 0000000..aba48db --- /dev/null +++ b/Java-Interface/src/com/core/static_method/Vehicle.java @@ -0,0 +1,20 @@ +package com.core.static_method; + +/** + * @author ManhKM on 4/12/2022 + * @project Java-Interface + */ +public interface Vehicle { + default void print(){ + if(isValid()){ + System.out.println("Vehicle printed"); + } + } + + static boolean isValid(){ + System.out.println("Vehicle is valid"); + return true; + } + + void showLog(); +} diff --git a/Java-JSON/video-api/img.png b/Java-JSON/video-api/img.png new file mode 100644 index 0000000..f1cc00d Binary files /dev/null and b/Java-JSON/video-api/img.png differ diff --git a/Java-JSON/video-api/img_1.png b/Java-JSON/video-api/img_1.png new file mode 100644 index 0000000..79569cb Binary files /dev/null and b/Java-JSON/video-api/img_1.png differ diff --git a/Java-JSON/video-api/img_2.png b/Java-JSON/video-api/img_2.png new file mode 100644 index 0000000..84843a2 Binary files /dev/null and b/Java-JSON/video-api/img_2.png differ diff --git a/Java-JSON/video-api/img_3.png b/Java-JSON/video-api/img_3.png new file mode 100644 index 0000000..1f4a16d Binary files /dev/null and b/Java-JSON/video-api/img_3.png differ diff --git a/Java-JSON/video-api/img_4.png b/Java-JSON/video-api/img_4.png new file mode 100644 index 0000000..2dd0fe6 Binary files /dev/null and b/Java-JSON/video-api/img_4.png differ diff --git a/Java-JSON/video-api/pom.xml b/Java-JSON/video-api/pom.xml new file mode 100644 index 0000000..e4fa883 --- /dev/null +++ b/Java-JSON/video-api/pom.xml @@ -0,0 +1,47 @@ + + + 4.0.0 + + org.roomdecor + video-api + 1.0-SNAPSHOT + + + 8 + 8 + + + + org.springframework.boot + spring-boot-starter-parent + 2.3.3.RELEASE + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-jpa + + + com.h2database + h2 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + \ No newline at end of file diff --git a/Java-JSON/video-api/readme.md b/Java-JSON/video-api/readme.md new file mode 100644 index 0000000..f6374b1 --- /dev/null +++ b/Java-JSON/video-api/readme.md @@ -0,0 +1,24 @@ +## Hoàn thành việc tạo các API thao tác với BasicVideo. + +# URL H2 Database + http://localhost:8080/h2-console + user: sa + pass: trống + + +# Create +![img.png](img.png) + +# Update +![img_1.png](img_1.png) + +# Delete +![img_2.png](img_2.png) + +# FindAll +![img_3.png](img_3.png) + +# FindById +![img_4.png](img_4.png) + + diff --git a/Java-JSON/video-api/src/main/java/techvid/Application.java b/Java-JSON/video-api/src/main/java/techvid/Application.java new file mode 100644 index 0000000..f593c5a --- /dev/null +++ b/Java-JSON/video-api/src/main/java/techvid/Application.java @@ -0,0 +1,17 @@ +package techvid; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * File entry -> dùng cho việc chạy ứng dụng của toàn project. + * @author ManhKM on 2/10/2022 + * @project video-api + */ +@SpringBootApplication +public class Application { + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + System.out.println("Running Application - [video-api]"); + } +} diff --git a/Java-JSON/video-api/src/main/java/techvid/controller/VideoController.java b/Java-JSON/video-api/src/main/java/techvid/controller/VideoController.java new file mode 100644 index 0000000..2a73662 --- /dev/null +++ b/Java-JSON/video-api/src/main/java/techvid/controller/VideoController.java @@ -0,0 +1,142 @@ +package techvid.controller; + +import org.springframework.web.bind.annotation.*; +import techvid.model.BasicVideo; +import techvid.model.Video; +import techvid.repository.VideoRepository; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +/** + * TH1: Đang xây dựng một Video API + * Các request mapping + * localhost:8080/.... + * TH2: Sử dụng với Database H2. + * + Sử dụng dependency với H2 database. + * + com.h2database + * + + * @author ManhKM on 2/10/2022 + * @project video-api + */ +@RestController +public class VideoController { + + private VideoRepository videoRepository; + public VideoController(VideoRepository videoRepository){ + this.videoRepository = videoRepository; + } + + /** + * Thực hiện việc demo sử dụng RequestMapping + * HTML hoặc các template khác + * Khi đó trả về html, string, hoặc là template.html + * @return + */ + @RequestMapping("/") + public String index(){ + String body = "\n" + + "Techzone-fun" + + "\n" + + "

My First Heading

\n" + + "

My first paragraph.

\n" + + "\n" + + ""; + return body; + } + + /** + * Thực hiện việc findAll video -> extend BasicVideo. + * Trong đó các thuộc tính của Video được kế thừa và tái sử dụng lại. + * + * @return + * + @RequestMapping("/videos") + public List