Received: from localhost (unknown [200.46.208.211]) by mail.postgresql.org (Postfix) with ESMTP id ACF3A633D88 for ; Tue, 12 Jan 2010 15:22:31 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.208.211]) (amavisd-maia, port 10024) with ESMTP id 63742-06-4 for ; Tue, 12 Jan 2010 19:22:16 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from hook.sigaev.ru (hook.sigaev.ru [212.192.243.50]) by mail.postgresql.org (Postfix) with ESMTP id D6FDB633C43 for ; Tue, 12 Jan 2010 15:21:20 -0400 (AST) Received: by hook.sigaev.ru (Postfix, from userid 1003) id E699F398F2; Tue, 12 Jan 2010 22:21:13 +0300 (MSK) Received: from xor.sai.msu.ru (xor.sai.msu.ru [212.192.243.97]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: teodor) by hook.sigaev.ru (Postfix) with ESMTPSA id E8EE2398F5; Tue, 12 Jan 2010 22:21:03 +0300 (MSK) Message-ID: <4B4CCB9F.8080708@sigaev.ru> Date: Tue, 12 Jan 2010 22:21:03 +0300 From: Teodor Sigaev User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1.6) Gecko/20091223 SeaMonkey/2.0.1 MIME-Version: 1.0 To: Robert Haas CC: Pgsql Hackers Subject: Re: KNNGiST for knn-search (WIP) References: <4B0AC9E1.5050509@sigaev.ru> <4B0EAE0D.606@sigaev.ru> <603c8f070912292255u30e1983bi22ed5778bd2ce890@mail.gmail.com> <4B3B6AE9.1000901@sigaev.ru> <603c8f070912300916k5cc252b9ia217076dcb2e9aea@mail.gmail.com> <603c8f070912301137n1a97d945ua41d675e737a4c09@mail.gmail.com> In-Reply-To: <603c8f070912301137n1a97d945ua41d675e737a4c09@mail.gmail.com> Content-Type: multipart/mixed; boundary="------------060401050900060007010407" X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.058 tagged_above=-10 required=5 tests=AWL=-1.059, BAYES_50=0.001 X-Spam-Level: X-Archive-Number: 201001/1284 X-Sequence-Number: 154505 This is a multi-part message in MIME format. --------------060401050900060007010407 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Changes: - split patch to several ones - sync with current CVS Patch set is based on 0.5.1 version, difference between 0.5 and 0.6 should be only in planner patch. builtin_knngist_itself-0.6.gz - patch to the gist itself builtin_knngist_proc-0.6.gz - patch for support knnsearch in point_ops builtin_knngist_planner-0.6.gz - planner patch to support knnearch builtin_knngist_contrib_btree_gist-0.6.gz - patch for contrib/btree_gist module patch provides <-> operation for various scalar types which is exactly abs(a - b) function builtin_knngist_contrib_pg_trgm-0.6.gz - contrib/pg_trgm, like above,patch provides <-> distance between strings Patch set sill requires rbtree patch and point_ops patch (with Robert's changes) -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/ --------------060401050900060007010407 Content-Type: application/x-tar; name="builtin_knngist_contrib_btree_gist-0.6.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="builtin_knngist_contrib_btree_gist-0.6.gz" H4sICHahTEsAA2J0cmVlAO1d/1fbOLb/mf4V6uyemYQ61LIdf4EtsxTSDm8p9EG6b2bfeYeT gIGchoQmpjNldv73dyVZtmzLjvwtMN369EssXV/pSp/7RbIkX06urlDvAvUWqHeMLuazYDEZ b80Xk+uX42Dh++fXk2UQ/rwYLW+2LjhRXv6zzc1NJUYbhq57PWz0TB3h/rZpbxv2ls4v9EI3 df1Zr9dbVWCKj2VtYzfDZzN50Uo6WHNsRG9JMXDrYgS/es8Q2lj4wf1ihjqTUW93Ov/VX6Bd NBmHv7voR4TRNurhHaD9A/4+e4GWwSiYXKCr6XwUuCThehzQKp5fQpU7IMUyQJ/nk0u0OdKQ eDvuAvXv8DcqlTHp7o2Xnc1OZx+YoM0uGnVRDwn34253B56i5SNePmN8zVpoNpldzVFA/30F NL9LG8IFyT3WECA5r7b/SRNvp37yNtCePY9vP/pfzi9u70hr7LDqwJ+Xm6UveAptIirg/G5J +8W1Naz3o46pU71EGu2WqMIv0Pu3528+HO8PD0+Ozw+P35yc/xN3Ijra0Aej4P52YyPuU/GR vdO3ZzEV/F9AxrubyLmxMUKvSOFvB0PIPN/fO/upo1NOYf44m49pPiGBjNPB8MPpMctABDIj gMm4i0Rw1O8KGXAwdjVsWBF0oJm3mLK8Qp23r4fnxx/e/WPwC8Hq9x8/fgy1Z4eT3t/d5ZPS TNo1z0UpX5+cHHUIA7iggqQzZ/e35wT10NT+LOh8D6w11GGqBdw+3fsLSPh+GSxGgX8NP98e ng3PjwZ7bzpAv/jShUyqIl3Kt8t0mkAPm5aGLT3C3hrke3N0sjd01yLhZQnbfwmMi2w/y6eg UGFU3/ZL+ajbfteKTB61MZbmOWnbv/CXeeadWPfLMa1ECes+mQUW4QqQoEbirR8czgLT6JDM jY2DycK/CN7czy6CyXy2P5pOjQ4t4XaikQf8vYMhPEIfJW4hTGKeobuKBJxFl5bDTIvE00DN mvEnHmiNbiQcCpFDsNjkVrDY9Da22OS2WYdCOEYOBeoGVstMeJSq9WNpIhRWeJSILvYViF0x mArdSgFZEziLHc3B3vDDO/BE2TQsIinphA6Ph1AO4nBC3Am9aKwHZYDDpqlh0/t6/VAfNMr+ 5of8c2qurCJPxCkoMNSY1fdGOZxKjEV0zekLYxFdc/WmxiLhUITVsfZghLERhyNxSmMDEhDf TfgPVoZgoVmCYKPDhNhKs4Rm/UgoajQ06YOjsxKOpG5FU6kqLkWgzDgVsdML3UohYYiImGHI HSWHLtRmWHzwkqQcyyhlw5gwq/GBjNB1Mshh7NCggIPuq3MhoYv85kKYOVvpQlx1F+I25kKy nJ7GdJboQtzyLkR0HW7GdbjtzmWxMtIW2U1bZDdtkd0WXIdbNKtVt6KpVGXX4Ra4DlfVdeQR pl2HW+A63ITrcAtch5vvOtyWXIf7bRbsP951kJ9by0/Trcks35ALRBQeyizr+5B8ZqVmxjw9 MTNmmPFcydnw5HTv7QC6c/DzcHB8MDh4Rsf41ML0esQGjGYXZKTuQy9M5jNI3j8d7A0H6OQU nQ7eH+3tDxA3EcIc+e18RrqT/keMBgPCGUuA+70z9MO7k4MPR4Pz93vDn4733g1+gOSjveO3 H0iF9tHhu3cfhnuvjwbobHh6uD8M7QMv/f3gdA8qj/7W20V0IuRo8IYYFBCFlU3STg/f/pRJ fH96sj84+HBKpI4qTHP2T2iZhO0r9ANwJlXqpgqWiB3P4ZBfGr0XhSYTOBVlRooy04JTIkdp osRRXWtJLA4v2G8tTBPlZikt93ZYfEp2IVWUXqh3ffldQX43lN/NyO+uQ35XKr8rl9+tLz8g 2mDSk18avU8h3mhZblpwSuooTZQ5qmtdia1IYotKbDWk4yUkzuA8SktJ3ADGgYsbSexSid2U xG1jmxaclTiL66iudSX2F59H00hqeqdF6SnpaVr7LcAqkW2FOD3VErEMtVoDAjHWEPBDI3ei +HDbsuSk1JTQPEmUl9eylqjB5DZ04OSXRu8fobNp4SmZozRR6Ki+9aRexjJDnAcjThT9fCTp WTUkTRBnJNph2UQrBA+pdggehJYIHh6zLaAqea0RZiXbI5SlsEXo6JnG//CPbMzgkXlwzAfA ISW69K8mMx8FNz56OzkboiUM9uaLAN36wc38cglEBa1MBnxEVYUBH23KGZgwotbUc4c/aGoX RpC80cfz+RTYSxscrYyfybDHMF3NsKKp/ccXKQwNKwslnbiwTBjYu/Fgz3BtzfCMaLTHEbdh brxCSEskWRu7r1JJ/Y1dQvVCSML9DcARJePtsIE3si2B4qagVptFZtFP1hxJNkbE5n4GA03U GX8J/FEuuSmUenu38JfLuEwglbaPbWjYdhvHNQ0wZSigQreMbFO3NRMbjSO7hlBtYNvQdc3Q hVeqpmVpZl9fC7ZTbSGCOx7+qKCbMioB77BgRXwbGIxcPHHZJBSsPChYrePbNjXT9trAd1Wh WsF3H0y1jWN8WzrWLN1ZF76tfHxbpfBtlcS3VQLfjqUZrt4Gvt08KLht49sydM0y7DbwXVWo NvANLgrclCPgu+9qlm2tC99uPr7dUvh2S+LbVce3aWLNNJ3G8R1OesrAEE6Tto1xB/rabT76 rilYKzi3Pc10rBjnfWxrfWM9MXimPUSk82l6VayHzEqgPSpeFe+erpme3Q7e5cYvnBZvGe99 GG32Wxht1hSsDbxbBqi2aQp4dwDv7hrxnmfZ+WuZUngvZd2j4hXxblmOBm4vgffVnR4spR0e T4q1CGaFygUPxdULHlqsILsY7jxbs+N4eS2NW1eh1tC8NasYNrAUzV5f6+vC0gIbRuT2mkbk iX4TtV6Yy1ZVfOBVQulpyYoK38eW1sfCviTbhiZy1tVECexIG4lMdLfVTLR01YYyTeowS1pG 8hYkTzse1yxCBQo0t1WbyIDmAtC8fllrWL1B2zeF9Zq0jdin72IIdcQ1uqahOaa7HvVO9lVa vUvoNWFURrNZwYqabWNHs+N1+IpApIuUZF1NlzS1rDsODOEcp6zu1KhyG9i0+33NtsWFf7qj udhcCzZTbSFiky2QU8UmZVQCm2HBqth0wEim5hOVJtY+502ssSUZLePTNaAn4zWc66l2Gxh1 wDY4hiFglOyTc2w5RpUgWmJG8HP+jGC87Ed1VvBzyVnBz+oodcy+5ljNv42nS19lgGArZdsG setpbipAeWypWsG4Y4IzEd7Je6C9npljhxvFeKopRIyHq7NVAU45lQB4WLIqwD2sOV7z0963 o4uRfHUGzblctI1xz7I1r9/8q/magrWy9AQbloax2cbLOT/I8Vt+0HYPYsPxNGy4zdupGmLV 7b8yO2RIbYq2VrJ8CgEVRvW3xEj5VNoNE+7BIwyFPXrkVtihR2/j/XnkVrKNkB85E+/PrMOZ ph1/ODoSi5AqHUQGOI4M1rZRTXnz1jO232uDbfpS2cnVjXassp1qNggYv0tY3061tYhYThED o1gRSb6SIhLCJhRRwudJHZAxifao1DgeA5hgW9ziHCU0eDiGh1MmKTAShiMwEoYDbkXDERjS nc1AEP2uslU2OhCjn7Jq1SqXSEvuZc7dzhyRZjYzx31buJW5gOxZvJGZUMm3MR8eD7HNdzGL ZGMJGe5mzQnLSe1gfs5BU7FnZCjCBoZAxfmKNy0zX/dt0zLAsPDAJJZPQaHCqBFPUOuopPbP uZjMGjgoaUKOXEt5ApbQ3lkXpOJJY2slja2VNLYNH4/EJCw44qJq/RJpKgdbRHQyT6ByHlIB WdIT5JyFxA7Ciz1BzkFIjEx2mIVwkl6TZ1nEXSRD1LejLP6DvELhGUgsn4JChVEjXuGJn340 mVU5+yjrFWwr5RXsZg/Pk3kFN2l13aTVdZNWt+GTj5iExV6hUv0SaYpeIeewo7hvV3kFhYOO mMA5XsG2BK8QkWW8gi0/HY/ltOEV7KKz8b55hf8Yr0DfZa7wDCENBYcqw0Y8hJxXielcMzpY lNoiU/OstJcAFRuc/nPv6Hx4cn422O9Muqv9wud6fgE4LAzo/U7nMJRxs0v9gywj8hMvmMoz Dea1Pjv81wAtb+b300s0Zi8cRhfB/WiKlpMHvzefkTOaPqL5FRqBqNGr69GSPPTrjJsDdHd9 Hny587c2hjeTJbqdXN8EhN+UvKALbuBZwm5+FdWriyZXtDTyGm8y9RfS9vc8MP5O2jl9Thr/ z0nj/zlp/D837pxo/YXTwfsaNu20g6pUx0Ra2kHxlkObcDMaLyN8d+KcUYSaEHhR1oO/gCAA /a5riPz5g7sK6IUOP/T79Xw+7chO++YlnUO1I5bvo4PjR11Z6vekyG54ijytE/1yhXDCOHtA UiKOS7y/lZfIQL3xRyhGqCSjCOm5Dj0+vETm1IXjWVY59iJS3guRFm5sZM5Xz5VeaO/biaZ4 wHp3B8mcP7NM7ztJwNCj1psKBGJ1kGkwdsFXCq/EnmIsUCMUMLCpGfipH5O7hkggXBlQFAhE JBQYiuzqhwF5rOq81KU8BQtP7wUTz+5jG0/vlV/s1uFe4uUue/f5lSomNh0Qz/ymmFBSkVLS bAWFpHT1lVHGptakjd3wpE10KJnaF3ogetrsdE5Yb0II/jcU347Dz56kAvhOgoRN6sQMWFjj T5c+yjDfLcd8lGQ+FpmLz+pbeksTSdBaghmDO8GIkbvYhMFds3E6EZqH6B7WMHYSJrZKzcQk ldkjTpaJMyOMFYaY+VTC1BERM7xS34U7OTzgE0ci0ThDhGMiGqWKI4MRYG7MgUbiVzqJlITo CECfoBkDzSiNNJJBYSYYTFI6/e5QI6Eo73EZNL/6GSkLnHn/MRYyPbUZKbJ7qMjfsXwKChVG 9T2elI+6y8PYoMaLJtCuJglmZi3Tio/P8X1V6q6NpQ7hIfpBuBGxLp1UYjfU81TyeCylZXaD j3wBMpuTyNYoD42pFLeT8+jYyvgKi+KTBG9GICrUu6tCNh7zGQXJdFt2hi/1lbLqPhMbrDe5 YeIdJTgncit4J3obuydy26znJBzj2S2yLEYwLHXql0hTcaARXcaDxlgudKEFZOkZGgLHRTUU SmZopBM0qpMzDU3NRP0oxR2JibyvdznXn2NepqqEsh41DKwZT36B3qdPFfvTgv60nn5/VpGv VHizLAxulmqhzbKRwCbLRT2ssTTh1Ary+Vfes3+ZzC6m95c++k74RMnNd5Kc+2AyXZIOSWfT jJdkqy6NvSD3RSZ3fD+ZQk8s2bPwh7y8uvSvwJUv7i+CfH+NdQjH+mI4BobUzCwdUQjHlurB GLnicIqerJGNyMLkbEwWZqSjsog+GZcxByuEZjDEGx6+G5wN9969Pz8+GZ6/OTw+HA5oaIX+ /W8kzxynJiiu/eg8I1CAyWwSfOl0q4V/tOLk1UgyrkOxVKtCwFzSamFg7RgQMGUkZ06CpRhh LcX4ailGV8vmYz+GCxI4kKTS18toZ42hJ6e1y8okpCiu5w8Js+HiUiVYzCPioWKEmdRMS6QA ZL4FJSnHOZSYUZIrpXiLlYpXoHZj8W1r/Fr4DmpxB/ozv+ikX8NHOrhx19u9HH0BSsD5+bu9 n3d46i14gJtk+l8mV8RY/rT3zwFbYhSLxp+i4Sd9yLb2T47Phh39N+dN8urubBBm0TRR/NjB 66OoLH8GHpLmS6Pnu/hNMJ9wogpczaa0FsznvpOOztSXwJZ/OWAFcHPJMtAdPuSBd/ivLHyB OgfAQP0Nwm1A+IlC97F9SprzJj2y3YUx3tc7qWu4umYIL7ie6pinwTGsCaM800v0aIEY/wvq tXd0+Pa4Q9lvEcPQ/T/aADAQ458rCeYkgLi+DTq0ppJNdGscx5p6XzNxcpvZGiR8kmPZeABX MKQViChElFnWH+DmMysxfe86Gvai48kgZciPdBBOTmGnOpD8l6zrwpMlJL0UdyEbacSYOT9F m6QL0xSsQ8Pd5DQ2D+sUYlC1TtGxEM3XStpyngO2oM9brkuHTwzXpHXowJJEBq/Qm72js0E4 MNhY/joJLm5QZ5MDl8Lzd1r8xWjpo9fDI3+5HHy6H03PQpLj+9uxv9gmrAW2nU0K797u1fm1 30Wd0M6BMHxNwQ4TarzwRx930iWkmVNSEhBNludTf3TVZcXJywuKyqOxRsHDJSsrbYoytfU/ 1ajtlNQ2fkpjS2LA/HyfoRKLoDYzX6a3kAJhTB2ppuk+SBSpIlX5+pZDpXIhEOeO7qdBmlWk Nxt/hIrFJz0YSbyOnR+XQVTSivbiiCrJjIPAvIfJqpL16yT6kaxnoSt9WAXWqaCywqtpq5oY bamushxNKbKivO2pdYWeyxGllCSNKHyqxOdCic95if84Pj7zR4uLG2lhpO2iUshMAnr1CpFF pLwl/en8ujM4PT051b4DVkvKCk2WaDYP+NlU/uV33Z2YHxKqLYNYppMSFZD6k+e8V1CygGtf 1iolCuCG83let+uyrswxq1G/p6wqIxBtarVg+UYlYr0pFSzfNBksp5mVeClka33xC1XkwybR SIkFfZ3NUA3EKDL51qS7s/Fyk2088ol6sQBWfD5QfT648Wfh45NZsMEev7i9U3gecEW3No0W ProK52wIqxexryTM6LyfGjdCOppdJNkBmBIvG4pWfHtY86KPQ2yAtfx81+VTY5uoYxIjsonO Bvtn5+8Hp+cHe790iaMOJ6/4mT/+b+TEODpCkY0E8uJ/WdifGhIkTRPajIeetLDQuGceS7xr YcaSjYDZaZga1uPFUhWEfsEljuci83df7STaiHX0E28lNSPk/3bnX4CJf0mO3tya3wcyS5Ah KjRCGeo6RmgVM3UjZBqaKSy3g9s44oXL6Jvwo4PRYv5rl+HjbHA02B+ikYZG9FO7PxjYcowt x/sBvTk9eccOQw1u79DJ6cHgFL3+JUt3dPjucIjMnXA+HQjo9W/048V8en87+5GU0xOuF/FP 8sxfDawxXvAMXH8FWOtRhu1tGf0ww9zqWzzDw/0tHZOMv1qWsWUYkNExiWTLLpv0DQ+ZPDw+ GPzM5Jhc/oZOjmOZPpwdHr9FpA/AI4/Y13/PBkPkz0bjqX++9D8tL0azV/OrK5ZDm+pifg9K sNlNtc///DQ4HZDGQdA2hm15W7b1w/Y2zd+Rdhb53IW4IcAQttLIO2vw8/ujvcNj1Nk/ORue oZM3b7rtdGHy+u8Pg9NfEBR9LMlM9a3KRUo5mtxOAlYcVAXs06X/GzqD1kb3y8nsOu4vcBVc ALF2Z+RA0f357HKbLuIm4sQ44u3eTWHiK4Z7SUtIFpistIScSM0ScupGLGEOs8YsoYkVLKGu 455u9LAZgoOuypFhQyCsiw7Kpkc4MhCQS+cZOJVh0Awgt5IZpldsDIkgoS3kMjVgCjmrhCWM m2Z7mxBUMoWS3lI1hU30YZvGUMUW8u4CUxhWf4UljEEUtrqKIfx60F7SFrIvM660hjGZmj2M 6RuxiLnsmrOJurHSJvaw423pIUJYlWQY4WQpfIwK0ZHCBlUHzL1khIwedoG1YZFkDK7ToN0P yX13CzsOSTb0LRdCsGIbyCofWsFYkgbsYMxMsISsRba3WWY1K5jtH0UrWK/XHt3+xV01n8XV L7aBHSJMd3t74ZPz4Vdavz8xrqtYO1fN2rklrZ3brLWTsWvQ2tkK1s719CQsXDksQrqM5oQO kfReBI6slrwQbwRcU74xTjhSoEXMLdu0+tiATIz5DX0SoAVjCMeEJAolAI1hm7aKNXRFa+g2 aQ3djDWkDRaaQ7eiOcx0oLI5rNutpYxiJbtY1jy6onl0VcwjyAb28XJ+Dz2J7hb+xWQ5mc+U bOVXqxUlbSk95n+VJeVEanaUUzdiRXOYNTefaLmrR9GmEyKF1EY6oCAUCYyMpM405UfhsZQL NUwjTunTFMONU1YMikn1QgPIa9qA+eOsBOMHFd/eJunVpgWzba46Fq7QE8pmrpyFUzFrvD/A qIX1LTZptFmXt6PpFMhVBrxPFpjlrdDq0SsnUrZCzY1cc5g9nhWShvZPxwpZsRVqakjKWUms ULWxaENWSLEnHtcKWbEVWj3uhMqXtT1PCo7lbc/qsSQnUrY9zY0jc5g1Z3scfaXtsWyr72DD w2bfci0cd7w0as5QSzSBx8+sG+MQWq4AL9IJhFOqGDGcjqADFEbfseEyPNOgExaOiU3bsCA9 jKwtxzUMB3u2bhlOn4TlQNDve7plu46nr7Z2bmztmhpyclaCtUuJSy1ftWGnpMcVLV/zOFA1 i+VNY1kb6cY2cvXgM9MZ48m1Wsz2TZXqWGp2oLiCtY4IlS129ERTVjuP4VotN/Y8dDn6skQG 3iZ/zBhwtH4y0EmeKdTcUTYpBaAEKitodAa0+Zr+dyRUH93M7xf0x+1kBv+baOlfLKF2f2eY BmLXZMR2SNs3GK3lMlpKjG1GhC3O0WVUZp9SMV6GoYdkHmcW8jIEXlAZStQzQqIeDsl6oHkh t2KHQ3sudjpRRzbjeCJ24lvwLCaoA6K0a3ZC64B06lo1OVoB0oqXovOKEMEcGG+HYif2g4Ku CN2s4Ny+WZs/vbUp6ZPpET+r/DEnUvPFnLoRP5zDrDkf7K1ecYD17b6zjXmsR6okVYSILOfd bBrZz3Je0Qr45DxjEIYpOkMaQQBPhSY2wlQACDI9BWdEZAkdERerASfEWSUcEG+d7W2SXc3n ZDtL1efU7EL5peRW6jsUFR/COxL8RyjcCt+R6g/06yS4IXaA3jzMZyoLtr4mxahgN+mpHErG M6JUt6DRI42Z0TyOzdlS11NZ0Wr1sN4zbKS7pGt0V0APrWLOir/sYzk6mgwwUrGFPLQo1FGl cILUYXjvo5OLAAmVRKTiMUbP7meUwsRIt7dNoDBjCisVhwBOqaPvx1HDO1Dv4/lnMITw2DY2 ti3heTNkgDkD7KTDjhWegDa/4A6i7mjIJ0T8UutzM13LbBIlr+YoskhUX63bNj5zrxKjlJWg rX6pepsILKHL4W2zwu/kKYnY55Wc0TfL8lQsS1VXGjyoO1NGW9KdsoeadahSnuou1QPLJbhU ut9S9Km47yj4VOySsrFLwx1vu2+ht++GL4wM/h/kGpD7eK4FSw/ik7pQQRVU1YFrw4F/AaNx pPfDChMh0PuzYRjnEZhS0pt79F9gtiAs1M1tHW+blNSLSA0j1A0+vmYxoqVHmsFZGBYCtTBc UI4kCwiJKAsnNdrHbhm3GzxkHO9D4673Iet85X1viuY4eJA7YfptOldwwxjga2BcDF9lR7x2 UOdcJd1yW365nGNmcEq45gc158w1y0ppVsZBl/TO32zUn8ZGqTnw5acp2y4OP2S+UswvdNQi YR3nXMCnxIlzNpgwwaTBbXTUm/IO7F1xB/ZOG9vcK28uL3AfsuYwPM0UmsPEZAYgbA7Ftngl 241etTEjBi/WtRu9SW7qikV3HxcoFs9fqVicsK5i5fBpV7HS+3l3k/t5czWr5kbSipuVS6qW qWumkZhNi1WrYoPwDc7r3J/cMEN1FQm3oxYoSUyxUk1i0rqKksupXVXJbvnc5Vs+89Sk+o7D GjtZ2/Y/knZ4ldn6WqkZ48fL+J7qjdwYq5Iq5a5UKVddpdzGVErGaQ0q5WawQLeU5etU9Z1p NXZErkWr3IxWpbZQVmvK+PlyelW9oRtkpq5bdCdcgWbx/JV6xQnralUOn3Z1Kr0ZbZduGMgN 5EpvkKq4pW4NoZtccr4Nr91ddLVZlIJ5YUzG81Vg3kg8lsOndZingwhVmCvtxam4Z2s9MJdI zvd5tbtNqzaLUjAvjJN4vgrMG4mRcvi0DvO0U09tRciDfHPbKCpu6FmPKqxoHb4J6HH28LTG upQasW0WxaoU0aioU0TcgErl8WpdrTKL+Heli/jz1Kv5hdw1tzGsR90UW03c+vC4OxdaL0Jd FelK6wI15PkrVZAT1lW/HD7tql566fKuuHQ5V9tqrIOtuCJ7DfpU2BR8Ffe6FmE3yKycSrBV syv0IiJSUo6IugkNyWPWvppkVnPu5qzmLHhN08aKvdorW9ekW8rtl1gN+wQWs66nnApqGjwo KSojU1dVRt+YskrZlViE72hW9EG8kku+dguWfIULFZ6H38Cuv0qNaQOtrbI2lK/tY6w0aqqB ZN3rWJojrmy3NFcvnJrPa7xXRY2XWt3XcNekuJdaqrGOdWKPUaqaObufTWZQ0HR6Hifm2bQ8 2kLDlvdQHeumyFPdxBmOqxkA+0gLSAI5syLUg4PTk/do+Mv7QfhZlo/+Fxft753t7x3wD1lK SKyYhCKSkpy8H5zuDU9OSUd26FIeja3o6eZSkeUMGl3UkE/D3s5q4VvaFXRuSOfm05FZeo3O 1RfSWJSmoDwyl0NpisuiQ00tGnTm084nlxqCf/IpiOpoVIGKaah6abGmKVAHD5qomYkn+Hfc EVkQyL5Yltu7ES3pU0ab08cRJetXRlvQ10l6V6CX93lET3qaUef0vEhpRZSy/hcp3YhShgKR kvZ7RF2Eh+gpgAF7QAqKiIz0GKPLgUZMuYzpCuEhPBE8pJ6RguT/AfmaO9WHBQEA --------------060401050900060007010407 Content-Type: application/x-tar; name="builtin_knngist_contrib_pg_trgm-0.6.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="builtin_knngist_contrib_pg_trgm-0.6.gz" H4sICI+hTEsAA3BnX3RyZ20A7Vptc9pIEv4s/4pOUjkLLDACjN/WSREsE64wcAJSu/eFEmLA OmMJS8M5riT//bpnJCRAYOysd/eubpJY1nRPd0+/POqRMnLGY8jZkPMh1wLbc7nvDPOe70wO Z5MB9yd3h+zrjNmcjaKJvDfnEedWpr1sNru7SKVYKJzm9GKuVAD96KxUOSse5wvRgINCqVDY y+VyO6leEVYun+kna8Kyy0OYq+snx5qunxZBTJG+aOoU8C63BwD3D8znj/PC6ckJfIdCviQG UlQdfO8hg7/tHUDApmgXcPgl9wH275H7OF63ryFh7Ht3wFnAhd3g+SPmw/Bx0xKYOncOh+I5 CoePtjed37kf0QAxuLwgKbcYB7nkoFWFfFnXjytHuCqxCaKIUcgvU46RohZpT0EGf8V92T6z OAPHHbGvQFYPnNFX8NzENuaB405g4gQcVC6uYn7gzYLMOYoIGAfmWsMpGwTsPrAt98IbjyVF ekwLcKNTy3f4o8q1/YSl+xmwAgjupqu+e7hhPkMnvIcl9tintGbEAhv9fp4a+WJJP9KKpWIh jjzeFXGqXHpm5DEjp5bjgmp7AQ8Ad5d59XxIG//oG+Zv0GlWW6nkpVzZfZC2JmmWatEyaIh0 6GIow+inZkbSzK7nc6h57uiMkiR1e2dnnH3l5Dm1FKfg/2hdjXxvtlJV588rN1dWm7tbsY2e xv0IToP7aR6lr8LuMnkz1i/zvRjlt4rZHd9Lx1o5ge14e1ReVHc4/t5utOBCWPAvz3Ex35Ao vImxqplGtWdA2wTTwMqqGXDVb9V6jXYLYtQajBD1VEpfLcph0+j1zVYXxlPP4mWcqHZh/7p9 2W8ag06197lVvTb2cRqLtd6v1g2oQbdnNmo9vFQ/NY1zmfyR+o5hVntoBCW0miispnHVq5p1 NF9oT1DMRv3zBlLHbNeMy75pIG1lE0m2Wvv6ut8Tai9gHzWTvZlzmcDoTAH5t+wR77Z4aSLT 2FXtAAPsTggzI+cIWmrcjipaJYwbhOqC+WxGKDKeuzZ3PDeAsecLI3YxAKMbICtzueq4nPmu NRWx0vBO85yRFs1m9t4s7Bt6HuVCauggGbqG8BSGLQwiJQ+IjKucaMeLjPvTNiKy8OQntpIW o9MjTS8kHp96gfqmxcPzCvfQ+61jiPSDfrfRqkebrHYT5bfI7XDo4fU9yIoS6zPJxFxdUQyv ojiW1sRaFl5c0bLqVIi9KusGyK9AjoWFZ7cJLi4JnrsYYFCHj5xZOwoorVh2N/NZEMR24eId 0BxxM4mha/i6Qt+M5yuMLwb07XJ2R/RiRSvpiZ4Nb4tRyv1hDeVGVZPnqZr8vCr9ear0Lape tdeCVz5OpD79S1rpJPH0L1Mz8P9c+X1y5U849bx2er5OV74DWgtuyvW8vQacCdpmlE4wvRih N8vYHZ2pJYgLDu/0RO/zznHt6XzE4K1l2/hMOxTKbt6mkRw+nxHpYJ0UYM+5YRUu4p6FD3J/ lSHgnm9N2OFwPp7hdZU85840OLR83xKi07amH51qeOaLmlLlB/74ITd2afH53d56M6F26oPo 8T7AXrxLze83WlxvdHtGq4fHdcgio/+ILbYaT2YzgEvrBjXwgw6eT3qGqRYE/inUlSjYH2Tv 50ysizl7xq+9QUfVkfEN4F/lMAtd7mPyTh5b87sh1kIQ3pK+ZVJSZR816hW1mDmH7CEpRUFt Z6QowXzIH2dsSWu7camWFpzUMwvzfGbfMPuWFNFc+p7Kck89s34tFmFoaQHd0wLh2DrjHU90 P6pwVe4Dcq2su0fP06alegU7JhQztqYBE3z2jeULPttCo0gDzZCGse24Yy/3YTwNr+4A/etb ISLQxqtTbJ+sAEUGzP83Gwk8uXGCRQMPFgIn+2ohNKEPRCtcKWj66XGU+3GuYDqP2NhxmdJd APRyGBQ9wXSJeWS5NlthUYrhqxFuccemtpJOmLbLB4jRg8CZuNQ33nlu6EjyjgafGr0vRq0D RCeo/ob/FFqrKLY3x9b3Agrn8dwttdwKjilzkVQ1zZbRNK5VEiZOgQplu/DqjPvIIUJrJuhS Dr+bRZJpks466q2YgVv4BVA6/nJwQBYpwiSl1iGzVXURpL+hjIwGpOYAbqXw0OYDoRe3ptK2 NPhc7X7+Um2qtEIy/ggV+4zPfXqvgcuI8EMeZP+Stav8ZNX+V5WsPJyKov3DizUV6E9LWjE6 Y0jBZGtyk6o07QCuq79Wm416S/1SNbuNfxqqCGwmI18f4eacscyNQdOoXklnZOhkrnxT5ECb LbR5yqxxIB7J2FNhN4UPd9FqkJHILZ0kq4n6sIuo2lV0rAZhzUmVJJISxp0wGM4nYFFbxNgw GMFRvpjXwXJHMLFtKOXxT6RAQqaapXNmVHNC0wUk5qhGZM/0/TuEHB8gns7AR7ybMziL0PcN VSD+YHgH5I1Gt9ps9sy+Qaav+cL13Bz5InYF1TXmFEZtyVLSsiz9+ZLWwC+eRPR7I9BvA/wR cSv+EUOIuFiDqFlydClZZDHEyhYQGQZwM0YS9Zu07GmUFGw7wSRxkh/fOWN88sBl40u/hbiX TAzhhgsJn4koq2LI7MxE1EOIp8TCXEjBAR8utuSLsOVdFM0V3QXiFmy7KMZFu6pzsUWPHtOk F0FPvjkbfGq3mypaIYor7PaST13xCkIva8VKJdHo/gReBA8Ot2/UCPBleQhfEKrBpq7hTAZ7 I9ooz8WbCHHku6hdUOeFuPN7Ik8hX8DI5vR8WMoSG5St2KM8EzMie1HXORxmKZveRKSEupeJ ppyCCI/S+jnZySVxJKpzuXYTWEU840QxRQAn95PwWmIDi+gsiu1kvdhONhfbpogM8Uh9ex7n dXqj+wpZLbeD9hAmpSTzi9LmOapF3vy102VR0CnwS6HEiEoHPpkSG4OOTxlrPuVnkQe8iWqY ZtvU4G3fvXW9BzfueV2ZC/B+9FZbzMpmch2wr5rtau9kG2Tv+jrGm216GUOUJ17FEMvPvYhJ kfCMz55Hp1qpUk68+qSJ4/hAuuKw8rLDDiB5+Gm0rtqDL7q68qlQnK5Et0/9zfKn0LWz04KX Tq1PMUdn06jnlWkYHSyuxKx66eBphV+FXX0NS7CohgfWeCR0aevE+GxzWe31r/GQtgOTnlnn CU+aa04Ny4TszySOnE8415uJSKy71pulOTY6wu6Q13MXgYSjqwbbPg2lcm3O91T2F+f+LtKe UQcrHwBKiQ8A5Diz3Un9no+ejr/mh/8TQDAvf4hPfGsMX29slLjyPwTCr+ib2Fe1r3HeeA/C O2rI8x8uYW5H2CcAAA== --------------060401050900060007010407 Content-Type: application/x-tar; name="builtin_knngist_itself-0.6.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="builtin_knngist_itself-0.6.gz" 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 PYEamwAA --------------060401050900060007010407 Content-Type: application/x-tar; name="builtin_knngist_planner-0.6.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="builtin_knngist_planner-0.6.gz" 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 --------------060401050900060007010407 Content-Type: application/x-tar; name="builtin_knngist_proc-0.6.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="builtin_knngist_proc-0.6.gz" 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 --------------060401050900060007010407--