From 434561113e71b414a100e625743090addb35d9ee Mon Sep 17 00:00:00 2001 From: Evgeniya Sukhodolskaya Date: Tue, 15 Oct 2024 18:00:12 +0200 Subject: [PATCH] ColBERT FastEmbed docs revamp + a couple of fixes --- .../documentation/concepts/collections.md | 3 +- .../content/documentation/concepts/vectors.md | 2 +- .../fastembed/fastembed-colbert.md | 262 +++++++++++------- .../static/docs/cluster_signup_example.jpg | Bin 0 -> 30838 bytes .../static/docs/toy_dataset_colBERT.jpg | Bin 0 -> 62463 bytes 5 files changed, 171 insertions(+), 96 deletions(-) create mode 100644 qdrant-landing/static/docs/cluster_signup_example.jpg create mode 100644 qdrant-landing/static/docs/toy_dataset_colBERT.jpg diff --git a/qdrant-landing/content/documentation/concepts/collections.md b/qdrant-landing/content/documentation/concepts/collections.md index 548aa6020..873f8917b 100644 --- a/qdrant-landing/content/documentation/concepts/collections.md +++ b/qdrant-landing/content/documentation/concepts/collections.md @@ -633,7 +633,7 @@ And additionally, sparse vectors and dense vectors must have different names wit PUT /collections/{collection_name} { "sparse_vectors": { - "text": { }, + "text": { } } } ``` @@ -656,6 +656,7 @@ client = QdrantClient(url="http://localhost:6333") client.create_collection( collection_name="{collection_name}", + vectors_config={}, sparse_vectors_config={ "text": models.SparseVectorParams(), }, diff --git a/qdrant-landing/content/documentation/concepts/vectors.md b/qdrant-landing/content/documentation/concepts/vectors.md index 66291f032..cfb2a720c 100644 --- a/qdrant-landing/content/documentation/concepts/vectors.md +++ b/qdrant-landing/content/documentation/concepts/vectors.md @@ -534,7 +534,7 @@ client.create_collection( collection_name="{collection_name}", vectors_config=models.VectorParams( size=128, - distance=models.Distance.Cosine, + distance=models.Distance.COSINE, multivector_config=models.MultiVectorConfig( comparator=models.MultiVectorComparator.MAX_SIM ), diff --git a/qdrant-landing/content/documentation/fastembed/fastembed-colbert.md b/qdrant-landing/content/documentation/fastembed/fastembed-colbert.md index 908865297..c571759f0 100644 --- a/qdrant-landing/content/documentation/fastembed/fastembed-colbert.md +++ b/qdrant-landing/content/documentation/fastembed/fastembed-colbert.md @@ -5,25 +5,44 @@ weight: 6 # How to Generate ColBERT Multivectors with FastEmbed -With FastEmbed, you can use ColBERT to generate multivector embeddings. ColBERT is a powerful retrieval model that combines the strength of BERT embeddings with efficient late interaction techniques. FastEmbed will provide you with an optimized pipeline to utilize these embeddings in your search tasks. +Qdrant supports [multivector representations](https://qdrant.tech/documentation/concepts/vectors/#multivectors) and with FastEmbed you can use ColBERT to generate multivector embeddings. +FastEmbed will provide an optimized pipeline to utilize these embeddings in your search tasks. -Please note that ColBERT requires more resources than other no-interaction models. We recommend you use ColBERT as a re-ranker instead of a first-stage retriever. +ColBERT is a powerful model created as a more production-suitable alternative to [cross-encoders](https://sbert.net/examples/applications/cross-encoder/README.html) +for reranking. Its improved inference time with preserved high reranking quality is possible due to the `late interaction` mechanism. -The first-stage retriever can retrieve 100-500 examples. This task would be done by a simpler model. Then, you can rank the leftover results with ColBERT. +What is `late interaction`? Cross-encoders ingest both a query and a document as one input, and all the interactions between query +and document parts happen "early", inside the model, which produces the similarity score based on how related these parts are. +Late interaction models, such as ColBERT, generate one vector per term (token) in a document (quer separately +(this is why the embeddings the model produces are multivectors) and the similarity score is computed "later" +between these vectors (query/document parts), outside of the model. +ColBERT with multivector embeddings is more precise than dense embedding models like `BAAI/bge-small-en-v1.5`, +which embed a whole document (and query) into just a single vector. +Consequently, ColBERT requires significantly more resources, so it should be primarily used for reranking rather than first-stage retrieval. +The first-stage simple fast retriever can retrieve 100-500 examples. Then, you can rank the remaining results using ColBERT. + +However, in this section, we are just showing you how to use the ColBERT with FastEmbed, so we use it as a first-stage retriever on a toy dataset. +You can see how to use ColBERT as a reranker in our [Multi-stage queries documentation](https://qdrant.tech/documentation/concepts/hybrid-queries/#multi-stage-queries). ## Setup -This command imports all late interaction models for text embedding. +Install `fastembed`. + +```python +pip install fastembed +``` + +Imports late interaction models for text embedding. ```python from fastembed import LateInteractionTextEmbedding ``` -You can list which models are supported in your version of FastEmbed. +You can list which late interaction models are supported in FastEmbed. ```python LateInteractionTextEmbedding.list_supported_models() ``` -This command displays the available models. The output shows details about the ColBERT model, including its dimensions, description, size, sources, and model file. +This command displays the available models. The output shows details about the model, including output embedding dimensions, model description, model size, model sources, and model file. ```python [{'model': 'colbert-ir/colbertv2.0', @@ -31,7 +50,13 @@ This command displays the available models. The output shows details about the C 'description': 'Late interaction model', 'size_in_GB': 0.44, 'sources': {'hf': 'colbert-ir/colbertv2.0'}, - 'model_file': 'model.onnx'}] + 'model_file': 'model.onnx'}, + {'model': 'answerdotai/answerai-colbert-small-v1', + 'dim': 96, + 'description': 'Text embeddings, Unimodal (text), Multilingual (~100 languages), 512 input tokens truncation, 2024 year', + 'size_in_GB': 0.13, + 'sources': {'hf': 'answerdotai/answerai-colbert-small-v1'}, + 'model_file': 'vespa_colbert.onnx'}] ``` Now, load the model. @@ -42,105 +67,154 @@ The model files will be fetched and downloaded, with progress showing. ## Embed data -First, you need to define both documents and queries. +Here is our toy dataset of movies. +![Toy Movie Dataset](/docs/toy_dataset_colBERT.jpg) + +We will vectorize movies descriptions with ColBERT: ```python -documents = [ - "ColBERT is a late interaction text embedding model, however, there are also other models such as TwinBERT.", - "On the contrary to the late interaction models, the early interaction models contains interaction steps at embedding generation process", -] -queries = [ - "Are there any other late interaction text embedding models except ColBERT?", - "What is the difference between late interaction and early interaction text embedding models?", -] +descriptions = ["In 1431, Jeanne d'Arc is placed on trial on charges of heresy. The ecclesiastical jurists attempt to force Jeanne to recant her claims of holy visions.", + "A film projectionist longs to be a detective, and puts his meagre skills to work when he is framed by a rival for stealing his girlfriend's father's pocketwatch.", + "A group of high-end professional thieves start to feel the heat from the LAPD when they unknowingly leave a clue at their latest heist.", + "A petty thief with an utter resemblance to a samurai warlord is hired as the lord's double. When the warlord later dies the thief is forced to take up arms in his place.", + "A young boy named Kubo must locate a magical suit of armour worn by his late father in order to defeat a vengeful spirit from the past.", + "A biopic detailing the 2 decades that Punjabi Sikh revolutionary Udham Singh spent planning the assassination of the man responsible for the Jallianwala Bagh massacre.", + "When a machine that allows therapists to enter their patients' dreams is stolen, all hell breaks loose. Only a young female therapist, Paprika, can stop it.", + "An ordinary word processor has the worst night of his life after he agrees to visit a girl in Soho whom he met that evening at a coffee shop.", + "A story that revolves around drug abuse in the affluent north Indian State of Punjab and how the youth there have succumbed to it en-masse resulting in a socio-economic decline.", + "A world-weary political journalist picks up the story of a woman's search for her son, who was taken away from her decades ago after she became pregnant and was forced to live in a convent.", + "Concurrent theatrical ending of the TV series Neon Genesis Evangelion (1995).", + "During World War II, a rebellious U.S. Army Major is assigned a dozen convicted murderers to train and lead them into a mass assassination mission of German officers.", + "The toys are mistakenly delivered to a day-care center instead of the attic right before Andy leaves for college, and it's up to Woody to convince the other toys that they weren't abandoned and to return home.", + "A soldier fighting aliens gets to relive the same day over and over again, the day restarting every time he dies.", + "After two male musicians witness a mob hit, they flee the state in an all-female band disguised as women, but further complications set in.", + "Exiled into the dangerous forest by her wicked stepmother, a princess is rescued by seven dwarf miners who make her part of their household.", + "A renegade reporter trailing a young runaway heiress for a big story joins her on a bus heading from Florida to New York, and they end up stuck with each other when the bus leaves them behind at one of the stops.", + "Story of 40-man Turkish task force who must defend a relay station.", + "Spinal Tap, one of England's loudest bands, is chronicled by film director Marty DiBergi on what proves to be a fateful tour.", + "Oskar, an overlooked and bullied boy, finds love and revenge through Eli, a beautiful but peculiar girl."] ``` -**Note:** ColBERT computes document and query embeddings differently. Make sure to use the corresponding methods. - -Now, create embeddings from both documents and queries. +The vectorization is done with an `embed` generator function. ```python -document_embeddings = list( - embedding_model.embed(documents) -) # embed and qury_embed return generators, -# which we need to evaluate by writing them to a list -query_embeddings = list(embedding_model.query_embed(queries)) - -``` -Display the shapes of document and query embeddings. - -```python -document_embeddings[0].shape, query_embeddings[0].shape -``` - -You should get something like this: - -```python -((26, 128), (32, 128)) -``` - -Don't worry about query embeddings having the bigger shape in this case. ColBERT authors recommend to pad queries with [MASK] tokens to 32 tokens. They also recommend truncating queries to 32 tokens, however, we don't do that in FastEmbed so that you can put some straight into the queries. - -## Compute similarity - -This function calculates the relevance scores using the MaxSim operator, sorts the documents based on these scores, and returns the indices of the top-k documents. - -```python -import numpy as np - - -def compute_relevance_scores(query_embedding: np.array, document_embeddings: np.array, k: int): - """ - Compute relevance scores for top-k documents given a query. - - :param query_embedding: Numpy array representing the query embedding, shape: [num_query_terms, embedding_dim] - :param document_embeddings: Numpy array representing embeddings for documents, shape: [num_documents, max_doc_length, embedding_dim] - :param k: Number of top documents to return - :return: Indices of the top-k documents based on their relevance scores - """ - # Compute batch dot-product of query_embedding and document_embeddings - # Resulting shape: [num_documents, num_query_terms, max_doc_length] - scores = np.matmul(query_embedding, document_embeddings.transpose(0, 2, 1)) - - # Apply max-pooling across document terms (axis=2) to find the max similarity per query term - # Shape after max-pool: [num_documents, num_query_terms] - max_scores_per_query_term = np.max(scores, axis=2) - - # Sum the scores across query terms to get the total score for each document - # Shape after sum: [num_documents] - total_scores = np.sum(max_scores_per_query_term, axis=1) - - # Sort the documents based on their total scores and get the indices of the top-k documents - sorted_indices = np.argsort(total_scores)[::-1][:k] - - return sorted_indices -``` -Calculate sorted indices. - -```python -sorted_indices = compute_relevance_scores( - np.array(query_embeddings[0]), np.array(document_embeddings), k=3 +descriptions_embeddings = list( + embedding_model.embed(descriptions) ) -print("Sorted document indices:", sorted_indices) ``` -The output shows the sorted document indices based on the relevance to the query. +Let's check the size of one of the produced embeddings. ```python -Sorted document indices: [0 1] +descriptions_embeddings[0].shape ``` -## Show results - -```python -print(f"Query: {queries[0]}") -for index in sorted_indices: - print(f"Document: {documents[index]}") -``` - -The query and corresponding sorted documents are displayed, showing the relevance of each document to the query. +We get the following result ```bash -Query: Are there any other late interaction text embedding models except ColBERT? -Document: ColBERT is a late interaction text embedding model, however, there are also other models such as TwinBERT. -Document: On the contrary to the late interaction models, the early interaction models contains interaction steps at embedding generation process +(48, 128) +``` +That means that for the first description, we have **48** vectors of lengths **128** representing it. + +## Upload embeddings to Qdrant + +Install `qdrant_client` + +```python +pip install qdrant_client +``` + +Here, we're using a free cluster created in Qdrant Cloud. To get it, you need to [register](https://qdrant.tech/documentation/cloud/qdrant-cloud-setup/#registration) in Qdrant Cloud, +[create a free cluster](https://qdrant.tech/documentation/cloud/create-cluster/#create-a-cluster), and [create an API key](https://qdrant.tech/documentation/cloud/authentication/#create-api-keys). +You can find cluster endpoint and API keys in "Cluster Details" section. + +![Cluster details](/docs/cluster_signup_example.jpg) + +```python +from qdrant_client import QdrantClient, models + +qdrant_client = QdrantClient( + "", + api_key="", +) +``` + +Now, let's create a small [collection](https://qdrant.tech/documentation/concepts/collections/) with our movie data. +For that, we will use the [multivectors](https://qdrant.tech/documentation/concepts/vectors/#multivectors) functionality supported in Qdrant. +To configure multivector collection, we need to specify: +- similarity metric between vectors; +- the size of each vector (for ColBERT, it's **128**); +- similarity metric between multivectors (matrices), for example, `maximum`, so for vector from matrix A, we find the most similar vector from matrix B, and their similarity score will be out matrix similarity. + +```python +qdrant_client.create_collection( + collection_name="movies", + vectors_config=models.VectorParams( + size=len(descriptions_embeddings[0][0]), #128, size of each vector produced by ColBERT + distance=models.Distance.COSINE, #similaraity metric between each vector + multivector_config=models.MultiVectorConfig( + comparator=models.MultiVectorComparator.MAX_SIM #similarity metric between multivectors (matrices) + ), + ), +) +``` +To make this collection human-readable, let's save movie metadata (name, description in text form and movie's length) together with an embedded description. + +```python +metadata = [{"movie_name": "The Passion of Joan of Arc", "movie_watch_time_min": 114, "movie_description": "In 1431, Jeanne d'Arc is placed on trial on charges of heresy. The ecclesiastical jurists attempt to force Jeanne to recant her claims of holy visions."}, +{"movie_name": "Sherlock Jr.", "movie_watch_time_min": 45, "movie_description": "A film projectionist longs to be a detective, and puts his meagre skills to work when he is framed by a rival for stealing his girlfriend's father's pocketwatch."}, +{"movie_name": "Heat", "movie_watch_time_min": 170, "movie_description": "A group of high-end professional thieves start to feel the heat from the LAPD when they unknowingly leave a clue at their latest heist."}, +{"movie_name": "Kagemusha", "movie_watch_time_min": 162, "movie_description": "A petty thief with an utter resemblance to a samurai warlord is hired as the lord's double. When the warlord later dies the thief is forced to take up arms in his place."}, +{"movie_name": "Kubo and the Two Strings", "movie_watch_time_min": 101, "movie_description": "A young boy named Kubo must locate a magical suit of armour worn by his late father in order to defeat a vengeful spirit from the past."}, +{"movie_name": "Sardar Udham", "movie_watch_time_min": 164, "movie_description": "A biopic detailing the 2 decades that Punjabi Sikh revolutionary Udham Singh spent planning the assassination of the man responsible for the Jallianwala Bagh massacre."}, +{"movie_name": "Paprika", "movie_watch_time_min": 90, "movie_description": "When a machine that allows therapists to enter their patients' dreams is stolen, all hell breaks loose. Only a young female therapist, Paprika, can stop it."}, +{"movie_name": "After Hours", "movie_watch_time_min": 97, "movie_description": "An ordinary word processor has the worst night of his life after he agrees to visit a girl in Soho whom he met that evening at a coffee shop."}, +{"movie_name": "Udta Punjab", "movie_watch_time_min": 148, "movie_description": "A story that revolves around drug abuse in the affluent north Indian State of Punjab and how the youth there have succumbed to it en-masse resulting in a socio-economic decline."}, +{"movie_name": "Philomena", "movie_watch_time_min": 98, "movie_description": "A world-weary political journalist picks up the story of a woman's search for her son, who was taken away from her decades ago after she became pregnant and was forced to live in a convent."}, +{"movie_name": "Neon Genesis Evangelion: The End of Evangelion", "movie_watch_time_min": 87, "movie_description": "Concurrent theatrical ending of the TV series Neon Genesis Evangelion (1995)."}, +{"movie_name": "The Dirty Dozen", "movie_watch_time_min": 150, "movie_description": "During World War II, a rebellious U.S. Army Major is assigned a dozen convicted murderers to train and lead them into a mass assassination mission of German officers."}, +{"movie_name": "Toy Story 3", "movie_watch_time_min": 103, "movie_description": "The toys are mistakenly delivered to a day-care center instead of the attic right before Andy leaves for college, and it's up to Woody to convince the other toys that they weren't abandoned and to return home."}, +{"movie_name": "Edge of Tomorrow", "movie_watch_time_min": 113, "movie_description": "A soldier fighting aliens gets to relive the same day over and over again, the day restarting every time he dies."}, +{"movie_name": "Some Like It Hot", "movie_watch_time_min": 121, "movie_description": "After two male musicians witness a mob hit, they flee the state in an all-female band disguised as women, but further complications set in."}, +{"movie_name": "Snow White and the Seven Dwarfs", "movie_watch_time_min": 83, "movie_description": "Exiled into the dangerous forest by her wicked stepmother, a princess is rescued by seven dwarf miners who make her part of their household."}, +{"movie_name": "It Happened One Night", "movie_watch_time_min": 105, "movie_description": "A renegade reporter trailing a young runaway heiress for a big story joins her on a bus heading from Florida to New York, and they end up stuck with each other when the bus leaves them behind at one of the stops."}, +{"movie_name": "Nefes: Vatan Sagolsun", "movie_watch_time_min": 128, "movie_description": "Story of 40-man Turkish task force who must defend a relay station."}, +{"movie_name": "This Is Spinal Tap", "movie_watch_time_min": 82, "movie_description": "Spinal Tap, one of England's loudest bands, is chronicled by film director Marty DiBergi on what proves to be a fateful tour."}, +{"movie_name": "Let the Right One In", "movie_watch_time_min": 114, "movie_description": "Oskar, an overlooked and bullied boy, finds love and revenge through Eli, a beautiful but peculiar girl."}] + +qdrant_client.upload_points( + collection_name="movies", + points=[ + models.PointStruct( + id=idx, + payload=metadata[idx], + vector=vector + ) + for idx, vector in enumerate(descriptions_embeddings) + ], +) +``` + +## Querying + +ColBERT uses two distinct methods for embedding documents and queries, as do we in Fastembed. However, we altered query pre-processing used in ColBERT, so we don't have to cut all queries after 32-token length but ingest longer queries directly. + + + +```python +qdrant_client.query_points( + collection_name="movies", + query=list(embedding_model.query_embed("A movie for kids with fantasy elements and wonders"))[0], #converting generator object into numpy.ndarray + limit=1, #How many closest to the query movies we would like to get + #with_vectors=True, #If this option is used, vectors will also be returned + with_payload=True #So metadata is provided in the output +) +``` + +The result is the following: + +```bash +QueryResponse(points=[ScoredPoint(id=4, version=0, score=12.063469, +payload={'movie_name': 'Kubo and the Two Strings', 'movie_watch_time_min': 101, +'movie_description': 'A young boy named Kubo must locate a magical suit of armour worn by his late father in order to defeat a vengeful spirit from the past.'}, +vector=None, shard_key=None, order_value=None)]) ``` diff --git a/qdrant-landing/static/docs/cluster_signup_example.jpg b/qdrant-landing/static/docs/cluster_signup_example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7056b12b82283921e32de04f7885a8930434e937 GIT binary patch literal 30838 zcmeFZWk6j?5-@skx8MZV;4TU75;V94C%C)2YjAgW37+5(+}+(B5+KNT2{W^^yED79 z-`jof&+F5-PPJ5@ma6LNK7G&Q?Bgl`Swciy1ONg80Du55z~cfy5C8)S2@MGW0}TZY z3j+g-fPshr508L@iiV6qfJ;P3fQye$Lcv5uLPk%9k5A1>L(k00!NEa9#m&#f#?Qpg z!TMAP2n;MN0vrN1A|f^`DLyIdf9xJR04UHPx!~DgAjAMr6c8{JkjE~-OJF6zK!6VL zn*#xb00W1F0w!WVB>>%TNx(*df`LOk&I91VKmee~V93Cj^A9!bX>8gPh6w)*PC|Ei z-;?0P!YI8{#86O`GZ2pZ7-=0g!6}*t=re0p?m; zc3%Fo8`k$Na7yZ@T7454@4vXnYt$BXBpvPVY?tj!4DDT*_T#LBjqMzJd?~e^n#7dV zM}(A#wAz>W>^XT&z?G{X0ybk`UUj&4Go&?-J0Y zLg-$7f=L1Ahl7om$X6aAl) zX?rcqE$W@yCzm8IIrjtmZodS%UAhCA{Er=IVO8XW+=s}aVy1)A(w@ZOG;sZcb`xex zkeCI2_N0Y*4x4Xu2H;-td}lL@Ef=+=^5F!;2A_WEho;;r{K>|=rOpx*`l3cjA1$Coi z=Y6qFfPMF~y}Ls+@g=aORF%aY|NC2!AM9N-vkbe~(L1Hj5G0wocDPGW?EFKcwoeGp zT~kJRm^#F-&4NyZCDwlRYv>>EeCc4#fdc!Xgc9JH;^3J;C;^@=7X0*t?xQnfkCx9h zt}XMx^a@=%3^yKbcv2oY(YcmwR4>PFr_XK(wn`r7 z2h!8vH=f#aa%m1<&nKpb*(L5waDPeI@+b(nRhql2Uzt$<$IAQ?1|>)0B@mW){|3)( zxmzeePyEH@m$jKSUtb+gOLpW4`j454D%$vRw z15LXm{YmFFcgiB|-#z$`Q6Wh}<$u-<7*n;hPA*VMd$@SLSjQaAh^&`L+_w=5mxzkT zTo;R0k$e}Th0Z$-Wp6?iNxlBK*vNDw)phwa&-Ne;}-!8rKI^OOwS_qUxq>*5FVOI z1xbbDL&}yiUMA-wA{AU~W!q;6aN9ut3V?U*7&#+C>$77!vASE4joa|1Z}JrYg%H?A zzj%8~ZZ>`L90ubSp1DTb^)Gp5nVJ8(@xKj|uSiXr9ejQ^(|iu)CqbfeCY)3K3JH*v zK&N{<-C6o%H#Ymx45HrIt+p$z&Vx5F#{P%rPWSf9LudC$^rP9<005*zWOPQxQO5Mm z?d8RbZ<_>i7dY6Lu1xL>(<3>cw!6#P3C=$3i6s9Cz@Hp{x%&4l_}dt9d}ffy*sH`x^gm>l!+M?$OZ6t z?lLg$&A+xB8tdp=zH=!Z`py3Moi(EWb6$!Qjv_<;X`y^n#JD-hyt#An@JG1G1C=HF zGcRW#)b;Cd{$fi!3!E8d%E-8BsagW2|4f1!oG;b9-pemhgZY&Mm$z*I2FFV4-HCHk zk-O_Jk(PqI0cBwk4?nPKDw&Q7Alapim^qFndoGRPix1$NjlD;^Ct+{qD0$Zd)mLu{w$F zuwT{=--iCb2dx>GCQ^>76Mc&QO6V$zI)8psYX6(47E~mH1d*;V~vXC@NWr!h&-E8 z;bs+CrRpx!_`IT~*q^>RwPpS?@lT}F&P^2M;N#%PAT`Mcf-RnkA7!8;K%XK&dg@I& z>rD<8z@K--q<$MHZi!kJn5z9 zm0@qH;N!1=tjfXg9zWB>>_2q-uN_^&G_;2H=F1^fjn z1Tq>rArT9!HVFeGA2E|GKeGTSaFGNJTsnb3fR2pxg>p7-mG8tir>h-1oBju=2|h{e z-WSiV`++OMD}vYLevKm@?;jHMHep_$@!F_dGi|;)J3C$AMTpR$LGoVlK$07HJ7szAxcMaEcGxKG20V~eFM7L6~n!C-JaJEIl=M~ z4qDwZ6Gq*lFlW&&Z1e;TKPR@~OgaFA171&0J3Ray-yBB3a+DtpJdLr%0_^Cd%6OPL zg`lN*ot};WA)Fcx96z7(SFy?-==r>`w-^dYT~T9^e%eva*1R^B-_{Z6x_bMKy5nw_ zlJ@8=aVX*DuqVQLc~r6Q*U(AdC49j|p*bOYc*QL`oZj>GWgr+555@6Y)UYD!tYk_x zEL(0GTO&*Pt>(*|81scAM6-EK+!PD5Wc_$K!ZZGTo~J&Iwe5qQJd$=z_qfB)*}0Qh zY<-6$ckw`RtW^Y6c=HHA{Z2pWJL&ca2>y|<&%gg#JPw}1KE=$+)%gXKkNAeaD3{Fz z}+PCi}e+O)u)Z+7sOnw37$`Vs0N@Z%FOs1|mG8#Q{@w3E^P^?t--%RWB4}C zyA%F!&3s*6G={YMyoUBVl>pM&z_TrION)Vj%L9g7U%XNFb6?3Lpj^%S6qUci^rrsy z5wNVhGsuBy-%f8J(Nf>Y2Muz?blEW2%ZX)CfLCRzH)89ZI6(Y=<;8{sfA{KADA7us=ayAg~bd+I<^(Yqcfe zV`}wiYsaPEjq^|5h$rXL7#?l?gfck#89Lp_RFsZ?Dmb;i9LdvEHTxj zhhNo>%kl6O)FSjyndV4uoVi&nhWkv8v8fyM_i#lFeu5~Z6^y&NZpdh4KJ`YY_%=zcq8{`$^?<;5C5T(}_1a4C?0El} z-x^_?Rb=Mv22N#~_myhrfaa)*FUn|XsyyfI8%?CqNSI8!H#V;3bu@UeW{{0`ly^K| zJ84ZhtRdk=yXhPl`$7u_YA{qKd-}CGl9(}=1<_95IOB|touWXanjwI~#)`^F8&+W6 z@8lV&fsXaJ+-b-xCVNVC|01J6y@!vy>S5n?-{+wqD-5qHYbM6fXKIxi@UkNYs~1yp zX!xT z+;c0}Us6@CHn$WvPaBt-E6=a-V`btUFJL!L=An#QMS%9EDFM(;+~=w##U=M$8-X57VXz@x5c zr){~?63jd-vetm(K+YU&P39Icee`);y8cBU+|tGSXQg`jE&@`>&c6>s$o~5R#7(TSTwh_^%ZJ) zJIq6BUXExvH%zMMHAEJD+~}R1L-)pE9!KrA5QbsLc)=++BJdGF5C)t}HV5A#g;lX5 zb0Xzfln0q#O5hs4jW|TsVBq)U-x_1#(DqRe7;u`P@IjJW?GKT<6MNsCH7{vF89p8+ zJ*l#ugQGe?b6|#2&Az3_IHoO=d!L$6%>kw#d)Y{x-=|3@v1g+!^)Y}=Dwx@a=>vKR ztHlS}#jED@dfVw^m!%Q)#sf!gi=DFnZq(#odu0%(^xEXzl&D1<>POrhF{AwZp^@E zJ2fTZs1%Cc<^6?QcWc>S$V#-j?y+?nTIg-+OIzvSJKxQ7 zilI_I{31B{Ml?y>mJ#lXNh>#ptY)*}sOg=Jj(hPqd<9eE6*WHF`yG~J9(Hlg6ikKH zr9GBX;Gv&2V>m$*|2=3gML1eS1&nAD{~20BDolZ|Q1MYgQ1Q_&FV)m)eSnvr8Z=7n8!rWP zxN(eVeb5XnCo^*+eRJ(`I{#gBV`!04mJr|sSg5wXGIMABl3%bLs5M2Fr0sOdXbsEa z%QDlK=zmnYL_+E#eUubS@4{NG8;A&eHLsT33nel>@%=hf(zchzrtU9~DR9_@J{3E{ zx6J!k%%v3qGknw;RO^-yHK183!*R@yJd+W+>Zkka2`)Mx>13(T^#$u+yVTUbYhMwp6ZFCo zbar<0244fMJ5sLDY67a^R4KwiE6oq52QB9x_VIuXgXNRd=Athv&J%Q5U!s>+)pG=G zWO0A{AnkPkvf!O##er?Y?Gk%rt@uh!tE_2Kt+q&IgMLcV&CgwvR}N`Ed8RhJYp5rn zNnqP#tfTcbk-MvB9iN~=Ask_*vAeZ2GjTW*IyTTGOe2@qR(Uf2*!10U0%ihKOa5{! z&Z@{B&gKmMRs$-q#Kpx&z%TP9Z&w8kc1oDbS4>sV142y=xKeLJ38w8G60r9Exqt(%^msvT31iL= zMWJoYTSh6fo3rp?UxoHpD<%-V49>QFD}^-5FkaMCFo6~wulcnph26YnHHFzVJa;eo zt*~p{r9IxRJ=o<(h3$$$)?1v`F%v4FbD+&WS9FIO(_yXUlfPi0F&)_#E~^!&930d0 z5M9GlTu#wCD$6oVAHPW|*}YI69Aa%>hHgM2;H+LiKkVv(oOekUQO^+osZ?f*wXY40QS zb9Km}^1*73M*wn=?VT$(yKV3fg3vwpUHrGA?^@|UOk8JNdeG;6@9eWgNZ}c#SZXTn zqPS~NwmMkT?5yy2MEruj_~!b*9Aq8qUY?M@28nJG6e(p1MIh$p@={8-*7Ew$=y`W} z`Q_Rj1$7?8v<3FQb;)DpIQd$SEk*5tAIKW7fUNPftcUvBi%t+wloxVfjL3w1vZzGF zO#IqbUf@630rV$32+MQDoCd6yT4!W&NHa8NE=`NQgMJ6TaAVUIPa{^sr5&MqpXDU; zHb2aF)MRGk2PB$5k%xcLLw-)NFH4-Ng{p72An@Y1M-iH&Q>oJJ4#lAP-7V&mu~7-S zzFt!P$I$-!ruw5rys6fOMcj{m&EWs>1(i~N2cn2-v#SYL;OO%P;yVSNjHTl_R}+Lx zEcb^}1)CfCU0z@>@B%kCz(BzuAi*KPKp~!9%K!xgg@_UC1v4@+zfCkD6Q7)pHLA9i zH#iA{fb6@hDwdCEg7UiUK4WXAXTNNAK=Oii>oKO{Ab`%;{IyG)W7x;TOV8FxgGc9L zna`%mvAC1v0wa@oor z0n}beK@Bpv!e0CxTwkTp;#VF4&>yKL&=i-x&pBP)_}ZArC+~$PMl}=@*!vPpX*Mi= zbCERoTQ{P{Ly-ev?yFkjsT3p6NN;D6X6sf(9%V6l+_D$Bu`@|hN=wxWv*jOoZ5=(AovPf{*=2|ZW4qjnJUBEGK((fe zp{;hZ3+2A5Sc?nq{>77g**^;l0v!b8VAa2dQqeJURTC}G=)W>_+&0dVa# zUkg>>JFMv2FV-ttkry+tvvDVMtG-Zl8oO$ObA)}fa$r0d1lS>)=m;Z#;8swUMNzkubq_D-}5 z3%h|oj9Sbq3&vH1A+RS+{8%_k?6Ld)!36wlW53~6>FXkr9b7*6v~2F^sT3G2;R?M; zx(2F=yF6fRzp^hGb_xKmR8*Ce)hxiN57Fa3bF*8VYt7yA%nQmquROl6v-M}Y#le17 zoRTQm2XaI_P3hlUSzZ4xZYh-d7w2HzSSQ=js7ys#{IOh7@}Zo7;T9x(XwB*;lbKhW zW(>V9V}Z7?*o+C@lwD~Uxqccm-g>s!JTp4gRNOM7~J3wwyuwLWDAki7Q4D(GsBkYxFcb?o=D4bXo zNlq4l!Old*H_>sg1N^YQ^AB60K|rz$jSla|L9ELvn4lgu{!B!wbM+(AQOX#B&;%)-0{9g_g4 zkT@Y?@C(B28)DT~T`M1vzKLR&`*?PAK-~9iu{3oK z9?tPYP0M@WveOdIVc8?T$CnWF>tn??UW*(^%F2d_CR;Bb;@^WQcObMfwF!A;>7O`v!{ZsBOw==` zAK;5A3!}*@x{?M&7|VVk^n*#~{mHzhpD`#`N0|z6N7Xyf5(A>fQ>VLxQ7#Zem9zD_ zlmnBbG0`Ql($+z!M3X`8JhXeZPaE7iYasi{me2jfA{EgiU5WM-lfO8=qc~P_8EFc- zP_Nl~=bPG2T%Aub3f$SDP7acRBLbb4e_tH)oto8c-6*Yr-4DHM+C)iTnhyp=xW{d~ z5QT)kIQfb%7@63gUqF*_?*fvY-M@1iFQw$V`K~p5=#wu*R(r2g*~IeNX7c#U=x#)?*Tp!RF{0T*DJf5$(0olrSAyTfuuHJ=YXPYwxI5(X!udRz&y)EuYr5vVEulPhleixUS#Pzu@25Sfaq2kn zC)rB<$#9&UTZTGONPF0xv`<;Mhj3f*tKeYaO$m3Cqfq-Nt~ zRCtjvjOp=ZvT2fwgI2K5y^yD9nKrZZ`3`^+3(%PzLIMlXE?>7;dZ`q55G9S%1^Ny^Ss(rUzRXhe9 z0z_~4FlVDp$JpH*nH4mV#mrx&K^`MWGtiE4xbb_OJ6s4^U1U3UJ*4*F`Zar;B}oQ~ z*G|g8|ES;|#m#8FC+;WZbPFpCD>tX3^24z>djxcJov@z|LRS;h44+$BkD!3dF&HkJ zNuRShGj}U&dBz(AE`#dMWbUYN2Hq;_(dQii$>3sW)THVkiuSdCpGHsu{7dy1) z#p?*P7CizKjgJ+M}0WVXo2W?|ElZd@fj@6b~k$rqE6zO^omh%MY8pf z5ome{KNz*)OmWZPUXho-C`f`K!OFD@Isb{4&f%~9zkT57Q--{ZzVM>Z4U(X4fM%3T zg_;_+u%Ad$QH9E%QBfAQI4XngOyu1UjD*Y`Y5aZjsU)Ln&If zqQE0y4ggV_389^j22AQW2TscQY&!Rk03gH6K}gB_8}IweHbqVYHA|EldAe0bs?cpw z3p#mvKL;37ahbl`=Q~IYjzaUvs+E-+sSN`Az(9Z5@AbW}%qiFY& zjBv3Ft^AltdZ@zX|Lc(@L0b(xkAPoz_{lUibzHE#HCdhT^6MKgoaRMn{t>V*{7jkeJ;q-LCP{d5Jr38$@^?{ zosM+&yp}AJ{e<&LVA5m~4hasZe_bG&50=>dSf05?1UD&znf~F%>+;2dXWYh00uk_415_53Oow@(}4h& zi*o!r-qFZ})~9FMSz~Jqe6m&TR=>Up=Ot=0)tk62KmOGnV2b|14PWQf)hAmN3MfYAi(}=;uc2paxhOZ8D z2?QYljZ|-Y1Y`+s5S1jz^Y=#S&k~@tg%TrvQpP8H)#!6tF>9{ysbz!r@VzVY#~3xX z1=(bmH(Z|M`1zK+1zXkpLw>aqC97jIL~*@ds}F54$yxQ7QAwvop@)n^nJXx5k@rlG z0GqZ0_Dn;Xo8W9_L6*dnQIi5NMcmmrBte`LhG~PUR^ArN)!x)dmKSH)$)O}cG2XU; zxRaC;V$oF@QQd(!sLT4Y2J#Koi`leW-i6@@BJDM2Flto^vSD+kBGZAmIH{ANTurGs z)7P7C)GC5RQS}4Rk*1(kf@!UxQ0AaIhJuyEc|!Y*QVpKQ|CU{FEsWO+nc zhbn{eF8U)6aAasmOc8=jN7pR)# zmm8!1<`1T55pUiXJ>!B8?E=|=QJ*TxSL~9d8$LOM`a{Y}F41M*Pcnl3Co!}Pqb_W8 zURIA=_k?HW_wYx+*}H#)r_k$Rwv2Ue5D|usorU z*HR(B{7Zqat+F?aD(hMsg}iocc@mGG$)Z-)A<3+0Wuy*%2e+Rq^f#2>f~bYYg})0v zr@my}Z^3eLMUv6kJLKjLEU5gB@(Yq~`h)D`<@IZfGF=G5_oz$&OOCd88oi0%;*BL2 zQ$fL(IzJDQCZ&IQH7hNF4bm3c9-sV{eBDpT_^h8KKuHZbc>X(7JG7!hJ{?#`mkWaQ z%o@`;%b}nuY8-8}l9?h}iCn>uJJk1d81+tR(~WGTv1_4EPKyJD;Vh97l-w-h*G3*W z6MO5mU2 zY$>90NfM|DN7FFI3fP;zhKhBpc=X@<3^ zaY^z{P#VB8qAI%F0gRrxCs^69*28yZAEQaF)_@v2$qhc2YF;f`C|qF$&WBl|ahV%J zkuBK)dXw6)DfEzIV`HD=SpORVqGelJ4zmuve={XlPJ0p#W9VAeZKO zCJ{;|e*+R_NAC$TB(um2g^HE#Tl?Ngtnw51+r5mGMV>hI6Gx?eMMI(4ym{#( zfWF1@vRQn;=&QqP#9pG=O-|fEy{JPQya>UnzeN>T;>%a{JG_?erJUX3#4XT^J+w)S zkgtLhY9X84Lj32np!m>1WkmC_l<3}1TBE<_um18 zcU|$bbrHU!zxZd~qGp->Hio9LmyO$Ya@)Pz zm}M?)IM+4$ShNv;(>2J@k%Gzg$uk#Crhfg7eCJ=Znv{(%6qbvF5EB-DN^$;h)*9_n z*MN!HjyOHWEMIOyZfvNfXnCt|o!j1!N*$ea%C=ysxQ0&X{N*YQXnR$d56LnQVY`C6dHZ4JY2bj;&&ppbqM$80PqOk9 zjP=Z=aa!=|u^ncv6&f)YQZ5t2t%R^xvIoLpmN8T$6<4t)dxJJs>4njq80v89^kHuS z_&%df>cABh4hwvY2=2>na}3+OFMg!CBu$Zq5|W>&y+&QHv#711C2Bb$dqZ(JZ2h+O zDd@GphbGT7L^tWbIf+!1>YvkcU}2JGu2}VipY?}{LUcgCe+2aX2zU@?GYzMJtWI1Y zX%~w)De_P&(|!byt3dX}r;R7a00l)9K2}d1cpfA68;gcMVg)rN+tKUMh6bNXRIlHTj7t5RG@Ekkn} zS@UYjk0m#m>=JBL4ca%vh8<2Zf-X+!1Q({x=erj#+#_HWn@g>PSe_qheXLn4^P@qN zk-=&t_}oUfH9=HtEKn?;1XMk{Y)oml#7?p44)i#Pqns#VRRRsj8-h+@K#S z0f$fbivV^ExnvTPeqRhR!8f=?_VaoKfJcUUDL^C3fJKJ}z= zGP{p{r+f|BSeO0WymCM)!Ux0%;SqkV-q3_lZ{s^2AkQ^0kPM)zkzwFBlAr{2=`v!4 ziTok*9j79HB{6Eg9>FR;B8p0y zhlyRiXRbXDQg0_sT?6!0S7#u~_6>H&E$Xob!Z|N8xgI#L~CQ1^wOE9ciBQxrG+RQ?jeFvZWvk* z#yWGbuS#~PE$BY#n(?*q!R5k3`%_iLtTfF|&nFMgE&MUO`XR08lhyoqR{ta|IbwF*Bfy&a zqcHB*bP6i!9@H)ofg)p}N_3N)V0;{xd$zl7-n^5SH#oVTpl;wx-^fp@@E-xX7C%r< z{)VGE&Zd0n`d#AhBG}!7n-8T{fE2*UNYARDVUZUZQmvH4CMhAQN~6l4(*gWMSM+vQ z?tW@P6NN+`Z}2mS?CQ`z%cs$Wf3$xDP_$TH9bCM4M_SHbqhx-37uTmT?FpPKHYDD~ z=28Ba0Pi6tu*CnKS|@_$Wqe;bXA;07lEDZ?Ji(KT!j7ic7E?_%sT&9q9n~||fGABf zOVq?-j_XUc+7cELn9RKJ8a>;ZA&XUSQ)iS_ zwTu8%*>7e7#|AIGhD28AKy6`@b7Q={d&#ebmQ%gTjNST0Ih|PpiVyDM>B5MO-5g|a zG<*&_>(Rgva40nft*YemB0%M*$2H*j;^DaPg;{CUEx|0-4j*bfXX%|*`u9Evj7y1- z=d&W@8{6Z!f+rT<&D#2sp8OwC4)3^YjV`GlH08Ai6au3Fbrp3_(#UygPcv{!7rPoBCsDRuD( z5R_|?R?&O2xHxlXKV`N!jg^E6W(%*$rK>yu>>6!JbxyR>cB0n^+)_4@A8#&JU%xQc z!?aF#*?T|gnN`JVw`hv+?o7n=t&V2gNj&8|D+_si#rlr_872k~`?ZC~PTkDr_xZcj z75f|Rx>gF_B@ZFFE%uCPmUkMhhS_iEzb;+RY`&FqNZ7oNoI4|^S?B%G`YcLx4wtpou;GqcV^m8IJtvG71^=Ic&_)S zB3yZ9=S!jx8COq-NBgNoe~`;L`5=JHPRI5LAZ~=@#{DpIU4QQbq;B|b(M(y?^Ondb zQKc7!wMc5$=(A9|WD{CnWIlTMZi~ITGXb(2zm4s;v+Odw3s+A$cynwgOP?{pV7Y=E zOu5penweMj#9BwZvZ)0eW0A$2N}Jl`*sEU^Avai8(TH)$*L_iws?#C5uiMtlH2 z>)xHYe*w=Hu8dA0p|5UD|H9sQwOIG4bLjY9GCJ#v_h50eMh6Pw{)n6%_RM+Q+ZmEq zjLh*`Kk%$!tR)XuPuk*N_NsJ{#(yk$Gv&If&}>46K^ zpyqO2p4Y5xUZeiHE@iXHE^-QsdT}Z5@|nA>D23lESJU;Nisx?hIHOmvNmQ`52~>-v z!sKD9rn+l@xn-HW1+T0go%Nf{=f?EBB~6-wJ|wC1rM5Cmnz7@uv9{2|+WVLxJDCE@9pkPUTc_*TM(yjpwoigP6s+eX z8^)R$mkIK*)4MjtEO-lpS62GjI(45_VhlHMGPIG`pf|u%P;9d>5RK(JQZe*@d?SfH zByE44Ic`c8{gK5gupLF5fizph0(mhkybO0#LSJaP97TIO4tZ+bG+d~GpqT81YB9IQ z(p@ zla*`pQY_b@QWW9LYrXrtlq9byK<`pGgT*8Kw&2S@2u56S4`>YnWvuLdQ9KNs?DeO% z0j9PJFu(Zf&myrROfC5~EFttq^_N4L}7n5?QCx)^r6Usm%K5zwz5qG6{Wh zd|GW*Ja5|l29edbDUFtT)7)&V7F}Hpfu|&Zrp+TDB%#If0sHfzSuXG(jqhS>`?1#Q zcluLT%xe@z6lLY{&78gLS5wMpGiWTtB>H|A1SFq_AYtQFxLNKZa#E5Xw47GDIXB!A zdahU2zqoE1o#-pJv^!mEk&=%uyEt!qJ-uREFwLzEpb$E^ahK zl5NCpvFJAZofZ3&{RuDB63E?`vsND{Iqi^n$?NdJ*RPScK~8nM-^5sGMW4}OUadwJ zx42`Xq87K=3-ozr_e>4oXd8Fk(^wm|;$)jg#vqKOMR?(0QKp4Y$&&2VEKZqjhBXG_f5$qHc>CUnr_KX=Yw7I-ztMX}pKPi6DIQ2)OsN z@frU5qxBjYV|gH?ksU=ZC~zHZ0nA(kXBjI_(^8;DH=$s&69Tm?fTT!IgXQj;T5M4n zxp+)kqG~v7EdFB+m#8tRfs;yRn5BJNQJ$d#K0?b1_yj0xUtF6vWRfJC$hggnCNGI~ z2wU&CKXA{A7v_%nT8FDh24>Tba4&ubUccmPY5i%2V2nK%g|C!2uNKz}TFkK1P~F^H z4ItM*yk1Za6>%%Pkvq@X5^5hx9Gl#?f0HI%AYb%nNRHYU?~KE9=gfOTsBnbY){4#ajSPuaa7%=ypAq0;Sp z@oinhtfqZ?XtL+QaoU~<-zVybpjmfg{aI~=9lo0}-SV7uavRq~UQT#J)_@BHup3k0k(2_z?-%Z4CTnpnCW~I*6lxu+08VkilYvWdb+=2%dKn!2XY9xERLitoXBm z;HZK_ZkGb4a%kWbuDoak9ySGD6}K-Xuex{|dq=(jO8ozXwwo}Tn?rY)&gO~i2SY>p0N+uL?zCJ zk{FGP5!h{xy6lr@f&LXPwfsXl8aSum$a12{d|HnH-n&~Dw3CL50TzP+0N{xa!I6Og zs31C_8J_+X{5uy2Y~ynf*v6iz>;ZEAKCX*I9IS$mvw9JsMj_X0bq7WHZ>Ycg!vn2_ z+snPcpGbjiJpWN){j+!OepLj&>tWL0;ZJ;01#DwYJCG2>4I940*aX<&O zRsX2qKc)iaBzXGr5j6?`c+?jH3gT~HKLWnpL}na2J!9aPmDASoCgih@uFA4%|M_zB z>6AF~Zm{e}YQ0#Ku1{T*V+y8A{6(DtO~qA1iW^6&id06D>d-}QVMjY~#SkdS8mtl? zBIV*=JRs@87w=%)z;@B*8*lX|rQ7Y)c0X07zu2W9u4!LAC5qd2<_c*Zs4EFd`})Eg z*7rlhBB*|*azZdp-D0q_q@dWhk`UlhQYtEl&_-MicE**<&VC+;NV`BHax*#;CQN)?6*&S$-46>-*D%n(p)x35^J(%$GIq zIsI})e&j|$);{8)(oAb>!PK)p87lJV|S7WhZ0 z$d8MNAH^<56Y}XR9PWK%A2L9dn#Nt(R0ozGR(jjw%I=y;^kDZDha3!U-W+aS55{-( znMwX%gBTkMG`|8*P)&@_sj~47GxJ?X6`z9cCh4Sjd%G25bY54Rr5MhU_mMi?@b33f z%ZzMPi`SWb6kjvx)30Ltw&y|js@%^=#L^!m zU~h6tk^uaQ!CUYUqsliB$555z;;H%UI}pj~oR>|dSi3ErUZr;FoMn_QZ}BL?iJ-rd zN(Bix*uRHN{(3tAjG=U*l=wkr_P*Opse4|9C&(hfTQB!)3HTDoPKh;d-D&(U?M2d+ z;88?8)T-c>qIcAxx>~zioxe67kXEyKjVPaR8RJKs_xSIl+c97#pN@~6AUTmYx~lbxul{)b(ES4^Oo)g@Xc|>a@V*1NFPDfV zS-^n|`0$Led!+L1X(3PO2jswLPGJ5G3C+KcsgLA6U}d(g$z_g-c=0RgnaF?&#VXh(f}{A9S9&xPNa>jrc27xi zW##B9>FfI2n_7W%t6ck%?i6~-f4Ul>46Lj4A%UoSJ6*)>@O)1gYo|EmEYYc8kkw?`o2?XWWvG82hoHO zMtZ6+u9VElOi_?_kBV$IQqHj12MNgUJfl`JjCYVbw%95`gXt;bFV@b-UBOcN%DTj7zK>~S6 zUjqf6sm)vzqv?w_mdG7NXf^;{twF1qpMYsRDwd=8VNI++C%~MolvxP|8UQ9pL)N|d zN_vot@Dp{g?MR{uBp^Fc15gfL$l|XoTEA2ZK0wU&JwSPx(Awbh?j#!)p7$$|OMcqk z(!;*i#V=^JXlnE4{S8=;0Ie@x@62D(>tcF%FBLs}P@7kPHEz9maRDKp9z%vAAv-8I zG5ipGiW5WC9-4jKaZxCC6-v~_cn~(664TJ1kotlA6&O<<3;JYAdv$NSmuTs$2|hnP zK%q=YpDnD^gjLDeibWF0Lp>S`TITp90K#v|nnF6e1psWJ^h2jA)pfOzk?M*jHdM_v zwydw!PH8H*NfcOVLz0*(JpwY?jDjP~%9af*E~p)o)LZ(Owv|qp>Yd}72mk-bzt$li zYzL2>(?*^ejx+O#%{Rl%!-Nf2p0#a$!GwW21Bm=nV%6ZE>bxn&h^5YSZc2BT> zhY_>`JpDNQ5P9VRCuIBZ2uNnDmkM6#a6C=Bqws|JE67wcLQJU@_l^(=e=rTBwydd@ z&CzGy4->grl?v!u*DPwVGGK2avpPm&KWn1{Fv^7xqd&6o_$nP4)?6CqIs6L$wZ`9HG`;qsS=#1ya2YQiz=imQa(!6h zO_Z#6F5g?%5ec)q& zil~n;(b8avDKxliqSc>FX73pAajV}O?yD(o+qiR&@x5H!SmN8v4qZId+eu0|qSxq^ zNaJ=p*?j~kuhxok7|#+;S_QlFF`AQ8&fBRou#l5}hH#qi71u$w1K1B*w)6|nxW_{> zgBL?G^bWdkf#S0(FP%|Ry#%4gS>(evYY}HW?Be1j)kQ^Y6n%jXW(^WWbIk_@E?2W8 zRsuIPjUriiKv{!jV+EV@!W0ueE3fK6qy&#_%>9*#$prjXuqm(!hWkQmO#A2!^9Q5EJQT3oMXrvSCjHcc&#%CxLGTL77GU3B3dq5l8@0dW{gIBT5G)NEZ;LN=HSSdH~@Cy!U+fz3;w% z-aYqw_m#|iduJv)li4$St@T@L&8)a=4~Wv3_9Hh}Bee5F*haj`4V#>=yvp~{=1gKm z17#iVNWV^4d#A;*c##u+M~=}-tsL;aq9Av>i5>*hzrXqW8GYl#DEtD}$Np{_mhA|? zCInNxJX-o6Qr;$W&03^N_)y;E;mgCNf0Oc)NotNS1n-3*Ub*)pCtYo2TLaQp1dIzb z-t}q=!x+Up#Q45>lfI1B@sUic{?&&Q0Pz;8{8#MSc7l#?5{K{v&_+Zu8}DP2m7|s~ zX7W84yZhBha5+l25GooHTaS{bKAPU9Hb|q9$!Q8;CmTn*Gfc`EJp3&mH2OjL@-`lCe^MOq3rq0dXp{^_^VqnwE>y;fqdq1+yq`xG;zIoXchGH@`+n)jAQ%{`-~xlc|ffF3Ojy^UF-Rt9w4-IP9cLUw>V zwVEl1&R-*{w^$_3>%1J6oI<6T#@rz>y`2hPYzt^r9L$?&&m%AeMw&@Ju<(84FL-mx zQzThtiyrsRedc2-nb6w_A<9X~$N?nYT%b_j2`7g(Wr_H9<=drqd*|}&3>ntcueC?0 z3?#)d4gs>v(SB>ld%H{z8bRZ8HYKVDCdU11u1Be+A4@zZZ22|NkbG(*ONJskj2kW%7`G3>|39(7ASN{k6g_fXd+vS=7P<) zQ|XG}zNGMXsMb=W14qXwU7oi0=;Ag~)zyObnaAnyv6zGsqy8qVe5l<)U%)vmoP>vm zzb+d%QP1jg^$2F4EUW3?M_u-)y=C#ab@)h82{hMPL@P`-2xDZ6x7|OVLwie)8uq=0x*}~4-<)tymh`af4ThO<{wpOMfDRv4I|uo{THP?{X6kuOi0U((_V-kFs72sWJeCL z7iQrDWa*LX0kR7E7-__cD^J0Bo;M`v^xnRfkU#}Y-ilpxRv0~U?Qh>^w(xXl44!J2 zBBlfdvqyg$nr3tRl)qe4v5I8$Rr(zC^Vwgc)`ZrkhQi)U5|56>g?N5-Z{U_+E}(WxS5B#u?%7=)@9h=OR4^YIgI7c-$P2G|&?L5MxyR9O;G zrgENE;$rvtbVfi07x%1GOth*y@0e0(0vD8$x_i%dNu32;3~n)DBTqQUARpkdUhDcO z&9%Uz@BE&FnSB-{6YoIZcDFTS7RizJU1v>N zOO5)xWFmfxL2X@Q#S7n0chF*v$-oV91lOx2Ns6X7Xv0-yIB<}-`H2U5uMM^H!!qK2JmO?Y7toE?BMa=)(d33R`&pW81ZL1uk*BcV z|Hx+%2^wCw_aaX*YKgVphbOOR=J2@jl+PDVN2l_KfbJA2%z#hhijHpg}Oa5_VRepP}gi#F-ZPR_9 zD1bWOGaN$0GN%6ou-Dff#e!&Ie}JX{8Tv{!;xwT1$es~|wIAqGg`)sHw;hA$wX6!J zPha}R*{IzoYTnp2FZL7;myFP8wtp#SLqNrP<*y7nv)*Cn?n|+acCmC^ttsN`iR-6k z+bu^=BD1=9_2jQ4`Crw9H|xTma%1&qC)0Mx0x+^PULTX1YuWhnMq>HKWyniNsZx!4 z8zUJKqq1ZkK|4vxj#|Q8f+MWYsAuCcug7S1iwAt5E$0+^yM!^6{u~Dh3JUV^5i{}S zD4=&6Os)KM^^A6!5oDtdcVaV2Jc_)V*(cFNY7a2%2Xlh@*yJvhS-a_aUbZUp9d!UY zFn`;;Fy>5i{Y#7x0chIAI>r%kvBUMA@4)f*v(X=)$7s-xg|UcAWvovSRvf~W!0gU;WW@wqXdE<5~>EvV|8a;#E#kVmm@t*EqMJ0<^$ zqgot`;L`#cRNuq4&^x8JJ2`650oMnYR@O=ji&iV`Hb!Nx7ONh0EZ;`$S&aCq8KUJr^) zCT;-xB>*-9j@2CZ<`M*@xE%WAi=aTSjJpfLJ@3Bs+*(A?W>b11?{Rhuu!=lev^P`# zseAn5j1Z38Eq;kf`{iGtRtF_28P(t3I+twxlE76{j$(D3u(5$R57|Fj4QFvD3;WQf zNx&Sjvo_I~y^6I}TS%{8JRB)J2V)a4r%x=-+JZWIODD z+t4m<%g`?F)QYRhu~4&b@5 z%bO4PUmq;}^uODzZ1be*=H#DIA&C06@j-Dkyl~;F8&bN|ws!00vEA8_Yh22kT4z=@ zt5@uroUYiuWt=>8eJKWlva@gSRf{FlCTIc9^O|0K@?MZnc z>RTn7+>=n>a9WEoVKbFV&bWu#U}-U$jcZS}>SR0UrQ)PFq18WCHe} z#>(n3#Km+MQSyn1@-6PD@m#|0%!+*#FD}hC9%TQQ3B#dAjsaX^&v<;+ZoEO5r1qMaTD@>=S>^& z(4~F)k=JsLkL1{|nt|J`#7kw5P7ii)TTG^BYb|m)M*{LL)P>lNo#nHgH<(QRF#^{K z;P9_SKIfe-{pEzcP=~_hduRgP#a~xL{ZFqozyGH0?>6%1R>HF|nde4MJArJse)jKX z!EU~vj%rCIwNY0%@xIv#VQLXR>A98^pMnjV2)qZRkF#$I6PMZp$vZ@Ac9s2X7vV3n zyV7OV0U3m0+pWEh0A{5>0c?5!qIc^rWN>`&9G;NT zzmBMM?`C<>y^kF8+1Z{ezmc8h40pOvgX7@`?e>*C*x9`zi}W3{Oqiz}Caa0;6KueS z{l)?JS7z!cqQ=X|Xo^f}@k!Gvu|;iiXD*Cv@w)F=(DF>yCSG!T?`x3RnY`dy4tP*8-~a5SR3G(XtLP=Km7EB4V0A_4k-BB3nA6*4R1;$y1;8ARZO3bSYQ|1K-OTIE zq2(Ab;p?<|Yhmf$YDtQNi=u-?wJXxLrFe{%+&mJq%s1kn>Cv=iX!sON^d5MqB;*Qt z*|3-=^RnCE$uKChSh`z}&QYOYr2rh)W+lfUv)X{R(Qx^1^N6Cws!#Cqekkx8e5{Z$ zT`0!zX_B}sl81Vm?(+&rpIz5mIG%CA0mO6=l!W(gTk^&_ILMQDyiAs~tZ2NW(Hs37 z2liUwc`aN@?Hg%Z7IvO<+h*&9Y5^}NuNe1waHhK01=1>E@$ZA5tOz*Ht}vl*IXMJYlnWI5cl3_U~u$-3@7%VCk_%lBTZBUFwp5tmi;A%k4& zOAb}h40SGH>{*JYLtkHI4cY(2%RyAb3TV?2@s5{Xlm*I!N=5e(_e6B)j(V|x3rZAP zLY&eGvQCMVjGYt`R-DF3S1eKEg*wK?TrlDm2UtNhQ>2RCc9Lx6IOpc9wFd}d1e@~k zNQMo&$G%v6hq1Es!C<4Av+1pd2oS|Zaa#daxSOw`BOWvp-t%x{?aF7_w`s%}@17S$ zrdI%lf*d9#MpUjvXxwfBfY11n?FA6cRY~KrV%fk^F<&<`I4oKUAYr#FcRn(l^I=q^ z&u=b-8S>l$7DE$=6bd3ROCg46ufdaJli)HLSt?uvvhN=3^Z$89vF2Rb#j+@gkf&wXw6CL(3n7qC?Ha(Tb7GFhBRXuk z^8ol1i9ro>_H-r0hN(l0TPpUNxmfS^gk@xYCp$awtByo%!U)N5>AGy0$~y@H$T^b;U2sKuc4+ zIjIs#%|cv|Y9mClt1ie;*xc0jvnZ1w3x7f@?_)5C=8p1T6s5NL@jx2$h{wj#3C+WDp|`1aAc+1vjenM-sADhm2FPg>J0 z{CY6G8cnpNMGnu$Xf$oj??qkIEt35rNoH?|zAL#i&~XBAJ(gijl>Nc>(rYW1 zW)_P%A~a!_O6-Z6O;*J6nWDX4QdB$o=H}{|q2|f#?&Ft42Sx&zgaz7ay$iY9%$YOX zX}!@*ZEPX!6lH2T98|c?|64QClRSIFWScBqr3o&4C*b(h`Ln_sQ*E?pp`B=ZK_D@=KR zmLD(LeQ&*Hq&`t6nNC=3rKc0zz`}}W=M(J(j!^yNm09dSE1%wnd_DQw`)(oQt>Qq^ zZsY;+PbJcpyUCh@GX=1ObpKvUiV?Rj1nv@>7m|W^)487QVZ`lZB*tmXEgwsLiw?60 z_3N+H=HM^4_5wyUh{5)C6>VyF#clXyqNP=}b5;W3q%}-%m1aKoo8#-kK_P@a-@P`g zY4}7SVR9sFfyo_H+)q?e=ZLntF*5H-BYvS9iUT|;uN`TFiqY0gF}AMP{3>zyxb7b< z`Q7GxWr%x?R8^QoKPxp8mx;Zzr~jjuzNEQyNR5eKSFHtCqze>ZQ8T;2dnx5j$*&BM z@oIoQ9%_dhD2ctSivWGRhgc->$Xt3Kp#Y_tNfwutC*}hQke*%aXI33T^|pjL7eJ*r9&`4VO)4Z@=mueU$ywOO zF4c(e#qPHU_DiB_!LQB@xC#jH3~61V`-+?9zr#3Q=neEZ5HTe0mwsMtQ>tnn%``C! z%t0ZR#)^JF6yydz*X@_vjCWPigLt~f1z9jv0#>s!fA4LDYZz8Dgu}GJEk!uL&Ey|q z;3hS31T}YYYQ?9jN^`nEahFtu3XYhgp2ZY68K`#Pd3wX6)C$eJ-t+32V(|A@P#q$| zw1~H#gMn(FN@A@Q!ob%jyy&4GtN@qr^ZeIsNSJV<#paU0RQUAO1A#lWppv+TamOpT zvc|j>X(nF-a;21+<7HYS@}vdz6=7+ML{1zNWj~&S?tG0__NrFL%9o3WvqWxZ@l;>3 z-=l5!)FvngW4<_E;0P1nFcRuCE!QYF%VbJR0E&>o_R5VTZ3Q^(GDHA*B#KlT#UH9w z%5`*1z!DskQ`E=+-RVkd-6PiPJx_>=((CUKeOOT6hVWKRu`f_PC@2i{p&VAO+3zVQ zavI^D3>i}mb7M1PXQe#>bQrP$UE-uL{`jhFm_Wo9(bsTXeJWSTT+-v6pC}Ml;;$-y zyS;im^ymaIbz|%tofs@ABzpxh{5E-ZbD!nah`~Kl| z$rHe>Ugb|e`hGqkuDE)(&r-a2*9Q3y|HPlt&wp|wU~{j7zs^C#+|eJaMV$VZIn&RU Q2NbdVaj(BD<|ps|4GIziQvd(} literal 0 HcmV?d00001 diff --git a/qdrant-landing/static/docs/toy_dataset_colBERT.jpg b/qdrant-landing/static/docs/toy_dataset_colBERT.jpg new file mode 100644 index 0000000000000000000000000000000000000000..88a1794cb826cc09458e1e8fb30875857c171364 GIT binary patch literal 62463 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 A5dZ)H literal 0 HcmV?d00001