From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id lJUiLDqS02B70gAAgWs5BA (envelope-from ) for ; Wed, 23 Jun 2021 21:57:46 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id KPgrJzqS02BgYAAA1q6Kng (envelope-from ) for ; Wed, 23 Jun 2021 19:57:46 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id D9B971CCA7 for ; Wed, 23 Jun 2021 21:57:45 +0200 (CEST) Received: from localhost ([::1]:35140 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lw90J-00050d-MX for larch@yhetil.org; Wed, 23 Jun 2021 15:57:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36440) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lw8zN-00050H-27 for emacs-orgmode@gnu.org; Wed, 23 Jun 2021 15:56:45 -0400 Received: from mail-lf1-x133.google.com ([2a00:1450:4864:20::133]:40711) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lw8zK-00018F-Lv for emacs-orgmode@gnu.org; Wed, 23 Jun 2021 15:56:44 -0400 Received: by mail-lf1-x133.google.com with SMTP id i13so6119358lfc.7 for ; Wed, 23 Jun 2021 12:56:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=Au58WLzg9wrOpdEyxjDGyarLWmOHxhAjwxWd2yxuFH0=; b=ld0KRNVG55vzw5FH7t9tffWfTgsnixETdqN3wfoC5YQFmjkBxqCnkRMeLXZzTocwb+ 6PvDUGNYxTq2WSzd3x3dp1X7PbyIKLSxaeAoM258ze7jT2VPeRPGnW/a+vY8D+K+YezE Db/Zw0yRZerLB8990rLzsUb6dheOuBJQalNJTIvgQqc1vRaPf6J+8ZW+wuhkck4JuUpK dauZowOcpt87uge6/lJjoQDsNFBeCu1pSrKVpu6/0yBcxBgM603CE1GHwalu7UiZjH6J Kr13fdFXBqP5kzi1XoH4YAxg1vg8VRWqxvc0GixJ7f36sDFZoPZRK1qCmjT6JbZ4O95T oz7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Au58WLzg9wrOpdEyxjDGyarLWmOHxhAjwxWd2yxuFH0=; b=BeiqkLsKhFi2JOXexOQPv5jRfsdB4kEvMLLNahimZx1nkPYd5KgkpjHLfoG6Vmkewm onAwqtv035rE3ZV8Em1s0SGXNS4/XgQor/F2H6kiBZtEQO/d+Htk3r10pGoWWCIREaBt NyO3e06BijCHOlaVZIV8E84bdxU+v1mbaQDfGT9il+TQCxcmH9xiSIGRLW1f57upAcb/ VEuXHgzjnV8AUVjQpnsV1l8Pho1b493DIA/tRkYqqU1kNxBeRDViHvUYaM7x6vsUwF6l MKG3uY3jYWM2S2Shi3Ld5hfZdCudVD8tZMAzZzQLu5uwE2CDmbmaBThvfYuG2jGjTDHN 7+OQ== X-Gm-Message-State: AOAM532toRLAQehOX44AkG8WD9NOTNVo/SxrZJakrgQHvzUqDUifwo/P aHP7RM+fQN+tSOkn5ZJXcvvkYloO05oTRGOWluLs8GC94OI= X-Google-Smtp-Source: ABdhPJz7NGfzkS8ZpTdgAAPR2gJ96HVejjWkYZRabSY9znpH8h5skDU6CFxGVtk1+f2+mBET5PkKY694y4bYC1Q6slM= X-Received: by 2002:a05:6512:2023:: with SMTP id s3mr927295lfs.169.1624478199992; Wed, 23 Jun 2021 12:56:39 -0700 (PDT) MIME-Version: 1.0 From: Anders Johansson Date: Wed, 23 Jun 2021 21:56:28 +0200 Message-ID: Subject: [wip-cite-new] Exporting to pandoc md (and from there to zotero odt) To: emacs-orgmode@gnu.org Content-Type: multipart/mixed; boundary="0000000000000e672305c5744e34" Received-SPF: pass client-ip=2a00:1450:4864:20::133; envelope-from=mejlaandersj@gmail.com; helo=mail-lf1-x133.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1624478266; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=Au58WLzg9wrOpdEyxjDGyarLWmOHxhAjwxWd2yxuFH0=; b=Y92X6L3Une/qlwU0XdxYO/D2hkcDOhQnpg4csKC+e23CSfc4CAZTEfW7aQTiZFGOztnjo5 uz2IhyCxurz9a7yJyS940+0vhD9lKuOdDfwgZWoIUtYcerDcX4CNfUpD72JhrDUFGe8zvy oNvEisYovM3r6zvGweU25fFVyTmPdXbAakW125czedVzIz7s4IsYbx2qB6B3uqhsUpONX8 t649pDAEyWOjd1oXrAKuHA1DosV4CrcWv+fEYxWlQaGer9asGXfxd2RKr6pz33AxhH1vfe O3CPtKpznu7/WUYnoGyvN8mxzEPJ9tf9N5EM+3G1AiTYR5FIyCPb1CvaixL1QA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1624478266; a=rsa-sha256; cv=none; b=Gl5UwVWP4xRH+frHTok9miszdMdFxt7djH1CCGv4WUnr8hTRGTKKWe9J7Ycbpx2ruC0C6D mZV1IkACoq0ehbipsDYmsF/9BJ8zL75i8YK/1Wgj5jdrL/ZCv6tju5h7QrcTzMwWHuEGnI yT+1L8oOolCz2vbtU+HFUGjTFbSdT/te+p8K5rGn6KOZTIMDC1Zq98lm/1BuLde6IcifHl lhO2LpkWcjYi4iZ+yKiz88+aSpQsOqEiNCop+MZ7dJrAQoduvTuhoyNGMJxjSHoUs+3NLl 2g2RfgSYM7dI7hz4OQ73KC67TM+bbhZIArKaFZP+CFF463KiabVZWlPeyQRE6Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=ld0KRNVG; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Spam-Score: -2.03 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=ld0KRNVG; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Queue-Id: D9B971CCA7 X-Spam-Score: -2.03 X-Migadu-Scanner: scn1.migadu.com X-TUID: 4YGDueZgzCdW --0000000000000e672305c5744e34 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi all, I appreciate the work done on the cite functionality! I use zotero for managing my library and have previously used zotxt and org-zotxt (along with some additions in my zotxt-extra library) for being able to cite in org-mode and export correctly to various formats. https://gitlab.com/egh/zotxt https://gitlab.com/egh/zotxt-emacs https://gitlab.com/andersjohansson/emacs-zotxt-extra Zotxt has used a custom link format for citations (similar to org-ref) which links to zotero but optionally also contains a citekey (defined via the zotero-better-bibtex extension to zotero). I actually wrote my PhD thesis with this setup, but the connection to Zotero has always felt a little wobbly and Zotero is also quite slow for my large library. Now seems to be a great time to convert to a workflow with the new cite format. To enable a conversion from org mode to word processors with Zotero =E2=80=9Dactive=E2=80=9D citations I created two libraries to m= anage this via pandoc and the pandoc filter created for the zotero-better-bibtex extension. (see: https://retorque.re/zotero-better-bibtex/exporting/pandoc/) This allows me a workflow like: 1. keep an updated .bib-file of my library in zotero (with the help of zotero-better-bibtex) 2. cite in org-mode (for me with completion via helm-bibtex and https://github.com/bdarcus/bibtex-actions/pull/113) 3. Export to an odt-file with active zotero citations (with oc-pandoc and ox-md-pandoc-zotero) I attach them here in case anyone else finds some part of this workflow usa= ble. https://gitlab.com/andersjohansson/org-cite-pandoc https://gitlab.com/andersjohansson/ox-md-pandoc-zotero I couldn=E2=80=99t find any previous definitions for exporting to the pando= c cite format so I quickly hacked up org-cite-pandoc. I suppose it could be be widely useful and included in org. Feel free to use it as suitable (I have FSF copyright assignment for emacs). Best, Anders Johansson --0000000000000e672305c5744e34 Content-Type: text/x-emacs-lisp; charset="US-ASCII"; name="oc-pandoc.el" Content-Disposition: attachment; filename="oc-pandoc.el" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kq9vvl9y0 Ozs7IG9jLXBhbmRvYy5lbCAtLS0gRXhwb3J0IG9yZyB0byBwYW5kb2MgbWFya2Rvd24gd2l0aCBj aXRhdGlvbnMgIC0qLSBsZXhpY2FsLWJpbmRpbmc6IHQ7IC0qLQoKOzsgQ29weXJpZ2h0IChDKSAy MDIxICBBbmRlcnMgSm9oYW5zc29uCgo7OyBBdXRob3I6IEFuZGVycyBKb2hhbnNzb24gPG1lamxh YW5kZXJzakBnbWFpbC5jb20+Cjs7IENyZWF0ZWQ6IDIwMjEtMDYtMjMKOzsgTW9kaWZpZWQ6IDIw MjEtMDYtMjMKOzsgS2V5d29yZHM6IG9yZywgd3AKCjs7IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cjs7IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5Cjs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCjs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgo7 OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgoKOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKOzsgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKOzs7IENvbW1l bnRhcnk6Cgo7OwoKOzs7IENvZGU6CgoocmVxdWlyZSAnb2MpCihyZXF1aXJlICdveCkKKHJlcXVp cmUgJ29yZy1lbGVtZW50KQoKKGRlZnVuIG9yZy1jaXRlLXBhbmRvYy0tZ2V0LWtleSAocmVmKQog ICJSZXR1cm4gQGtleSBmcm9tIFJFRiBvYmplY3QuIgogIChjb25jYXQgIkAiIChvcmctZWxlbWVu dC1wcm9wZXJ0eSA6a2V5IHJlZikpKQoKKGRlZnVuIG9yZy1jaXRlLXBhbmRvYy0tZm9ybWF0LWNp dGF0aW9uIChjaXRhdGlvbiBub2F1dGhvciBpbmZvKQogICJGb3JtYXQgQ0lUQVRJT04gb2JqZWN0 IGFjY29yZGluZyB0byBwYW5kb2MgZm9ybWF0LgpOT0FVVEhPUiBub24tbmlsIGZvciBub2F1dGhv ciBzdHlsZS4KSU5GTyBpcyB0aGUgZXhwb3J0IHN0YXRlLCBhcyBhIHByb3BlcnR5IGxpc3QuIgog IChvcmctZXhwb3J0LWRhdGEKICAgKG9yZy1jaXRlLWNvbmNhdCAiWyIKICAgICAgICAgICAgICAg ICAgICAod2hlbiBub2F1dGhvciAiLSIpCiAgICAgICAgICAgICAgICAgICAgOzsgbm8gc3VwcG9y dCBmb3IgZ2xvYmFsIHByZWZpeCBvciBzdWZmaXgKICAgICAgICAgICAgICAgICAgICA7OyAob3Jn LWVsZW1lbnQtcHJvcGVydHkgOnByZWZpeCBjaXRhdGlvbikKICAgICAgICAgICAgICAgICAgICAo b3JnLWNpdGUtbWFwY29uY2F0CiAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHJlZikKICAg ICAgICAgICAgICAgICAgICAgICAob3JnLWNpdGUtY29uY2F0CiAgICAgICAgICAgICAgICAgICAg ICAgIChvcmctZWxlbWVudC1wcm9wZXJ0eSA6cHJlZml4IHJlZikKICAgICAgICAgICAgICAgICAg ICAgICAgKG9yZy1jaXRlLXBhbmRvYy0tZ2V0LWtleSByZWYpCiAgICAgICAgICAgICAgICAgICAg ICAgICh3aGVuLWxldCAoKHN1ZiAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnN1ZmZpeCByZWYpKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAob3JnLWNpdGUtY29uY2F0ICIsIiBzdWYpKSkpCiAg ICAgICAgICAgICAgICAgICAgIChvcmctY2l0ZS1nZXQtcmVmZXJlbmNlcyBjaXRhdGlvbikKICAg ICAgICAgICAgICAgICAgICAgIjsiKQogICAgICAgICAgICAgICAgICAgIDs7IChvcmctZWxlbWVu dC1wcm9wZXJ0eSA6c3VmZml4IGNpdGF0aW9uKQogICAgICAgICAgICAgICAgICAgICJdIikKICAg aW5mbykpCgooZGVmdW4gb3JnLWNpdGUtcGFuZG9jLWV4cG9ydC1jaXRhdGlvbiAoY2l0YXRpb24g c3R5bGUgXyBpbmZvKQogICJFeHBvcnQgQ0lUQVRJT04gb2JqZWN0LgpTVFlMRSBpcyB0aGUgZXhw ZWN0ZWQgY2l0YXRpb24gc3R5bGUsIGFzIGEgcGFpciBvZiBzdHJpbmdzIG9yIG5pbC4gIElORk8g aXMgdGhlCmV4cG9ydCBjb21tdW5pY2F0aW9uIGNoYW5uZWwsIGFzIGEgcHJvcGVydHkgbGlzdC4i CiAgKHBjYXNlIHN0eWxlCiAgICAoYCgsKG9yICJ0ZXh0IiAidCIpIC4gLF8pCiAgICAgOzsgVGhp cyB3b3VsZCBnZW5lcmF0ZSBtdWx0aXBsZSBpbi10ZXh0IGNpdGF0aW9ucyBsaWtlOgogICAgIDs7 IEF1dGhvckEgKDIwMjApLCBBdXRob3IgQiAoMjAyMSkKICAgICAobWFwY29uY2F0ICMnb3JnLWNp dGUtcGFuZG9jLS1nZXQta2V5IChvcmctY2l0ZS1nZXQtcmVmZXJlbmNlcyBjaXRhdGlvbikgIiwg IikpCiAgICA7OyAibm9hdXRob3IiIHN0eWxlLgogICAgKGAoLChvciAibm9hdXRob3IiICJuYSIp IC4gLF8pCiAgICAgKG9yZy1jaXRlLXBhbmRvYy0tZm9ybWF0LWNpdGF0aW9uIGNpdGF0aW9uIHQg aW5mbykpCiAgICA7OyBEZWZhdWx0ICgibmlsIikgc3R5bGUuCiAgICAoYCgsXyAuICxfKQogICAg IChvcmctY2l0ZS1wYW5kb2MtLWZvcm1hdC1jaXRhdGlvbiBjaXRhdGlvbiBuaWwgaW5mbykpCiAg ICA7OyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLgogICAgKF8gKGVycm9yICJJbnZhbGlkIHN0eWxl OiAlUyIgc3R5bGUpKSkpCgooZGVmdW4gb3JnLWNpdGUtcGFuZG9jLWV4cG9ydC1iaWJsaW9ncmFw aHkgKF9rIF9mIF9zIF9wIGJhY2tlbmQgX2kpCiAgIkdlbmVyYXRlIGJpYmxpb2dyYXBoeS4KSnVz dCBvdXRwdXRzIGEgI3JlZnMgc2VjdGlvbiB3aGVuIEJBQ0tFTkQgaXMgbWFya2Rvd24uIgogICh3 aGVuIChvcmctZXhwb3J0LWRlcml2ZWQtYmFja2VuZC1wIGJhY2tlbmQgJ21kKQogICAgIjo6OiB7 I3JlZnN9XG46OjoiKSkKCgwKOzs7IFJlZ2lzdGVyIHByb2Nlc3Nvcgoob3JnLWNpdGUtcmVnaXN0 ZXItcHJvY2Vzc29yICdwYW5kb2MKICA6ZXhwb3J0LWNpdGF0aW9uICMnb3JnLWNpdGUtcGFuZG9j LWV4cG9ydC1jaXRhdGlvbgogIDpleHBvcnQtYmlibGlvZ3JhcGh5ICMnb3JnLWNpdGUtcGFuZG9j LWV4cG9ydC1iaWJsaW9ncmFwaHkpCgoocHJvdmlkZSAnb3JnLWNpdGUtcGFuZG9jKQoocHJvdmlk ZSAnb2MtcGFuZG9jKQo7Ozsgb2MtcGFuZG9jLmVsIGVuZHMgaGVyZQoKOzsgTG9jYWwgVmFyaWFi bGVzOgo7OyBuYW1lbGVzcy1jdXJyZW50LW5hbWU6ICJvcmctY2l0ZS1wYW5kb2MiCjs7IEVuZDoK --0000000000000e672305c5744e34 Content-Type: text/x-emacs-lisp; charset="UTF-8"; name="ox-md-pandoc-zotero.el" Content-Disposition: attachment; filename="ox-md-pandoc-zotero.el" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kq9vvwh71 Ozs7IG94LW1kLXBhbmRvYy16b3Rlcm8uZWwgLS0tIEV4cG9ydCBvcmcgY2l0YXRpb25zIHRvIG1k IGFuZCB0aGVuIHRvIHpvdGVybyBmb3JtYXRzIHZpYSBwYW5kb2MgIC0qLSBsZXhpY2FsLWJpbmRp bmc6IHQ7IC0qLQoKOzsgQ29weXJpZ2h0IChDKSAyMDIxICBBbmRlcnMgSm9oYW5zc29uCgo7OyBB dXRob3I6IEFuZGVycyBKb2hhbnNzb24gPG1lamxhYW5kZXJzakBnbWFpbC5jb20+Cjs7IENyZWF0 ZWQ6IDIwMjEtMDYtMjMKOzsgTW9kaWZpZWQ6IDIwMjEtMDYtMjMKOzsgS2V5d29yZHM6IG9yZywg d3AKCjs7IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Cjs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cjs7IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCjs7IChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgo7OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKOzsgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKOzsgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo7 OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoKOzsgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKOzsgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgoKOzs7IENvbW1lbnRhcnk6Cgo7OwoKOzs7IENvZGU6CgoocmVx dWlyZSAnb3gtbWQpCgooZGVmZ3JvdXAgb3gtbWQtcGFuZG9jLXpvdGVybyBuaWwKICAiQ3VzdG9t aXphdGlvbiBmb3Igb3JnIGV4cG9ydCB0byB6b3Rlcm8gdmlhIHBhbmRvYyBtZC4iCiAgOmdyb3Vw ICdvcmctZXhwb3J0KQoKKGRlZmN1c3RvbSBveC1tZC1wYW5kb2MtcGF0aC10by1iYnQtZmlsdGVy ICIiCiAgIlBhdGggdG8gdGhlIGJldHRlcmJpYnRleCBwYW5kb2MgZmlsdGVyIGZvciBjb252ZXJ0 aW5nIG1kIHRvIHpvdGVybyBvZHQvd29yZC4KCkxhdGVzdCBmaWxlIHNob3VsZCBiZSBoZXJlOgpo dHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcmV0b3JxdWVyZS96b3Rlcm8tYmV0dGVy LWJpYnRleC9tYXN0ZXIvc2l0ZS9jb250ZW50L2V4cG9ydGluZy96b3Rlcm8ubHVhIgogIDp0eXBl ICdmaWxlKQoKKGRlZmN1c3RvbSBveC1tZC1wYW5kb2MtZm9ybWF0ICJvZHQiCiAgIkZpbmFsIGV4 cG9ydCBmb3JtYXQuIG9kdCBvciBkb2N4LiIKICA6dHlwZSAnKGNob2ljZQogICAgICAgICAgKGNv bnN0ICJvZHQiKQogICAgICAgICAgKGNvbnN0ICJkb2N4IikpKQoKKGRlZmN1c3RvbSBveC1tZC1w YW5kb2Mtc3R5bGUgImFwYSIKICAiRmlsZSB0byBzZXQgaW4gem90ZXJvIG91dHB1dCBmaWxlLiBB IHZhbGlkIGNzbCBzdHlsZS4iCiAgOnR5cGUgJ3N0cmluZykKCihvcmctZXhwb3J0LWRlZmluZS1k ZXJpdmVkLWJhY2tlbmQgJ21kLXBhbmRvYy16b3Rlcm8gJ21kCiAgOm1lbnUtZW50cnkKICAnKD9w ICJNROKGknBhbmRvYyB6b3Rlcm8gZXhwb3J0IgogICAgICAgKCg/eiAiQXMgem90ZXJvIG9kdCIg b3gtbWQtcGFuZG9jLXpvdGVyby1vZHQpKSkpCgooZGVmdW4gb3gtbWQtcGFuZG9jLXpvdGVyby1v ZHQgKGFzeW5jIHN1YnRyZWVwIHZpc2libGUtb25seSBib2R5LW9ubHkpCiAgIkV4cG9ydCB0byBt ZCBhbmQgdGhlbiB0byBvZHQgd2l0aCBwYW5kb2MgYW5kIHpvdGVyby1iZXR0ZXItYmlidGV4IGZp bHRlci4iCiAgKGludGVyYWN0aXZlKQogIChsZXQgKChvdXRmaWxlIChvcmctZXhwb3J0LW91dHB1 dC1maWxlLW5hbWUgIi5tZCIgc3VidHJlZXApKSkKICAgIChvcmctZXhwb3J0LXRvLWZpbGUgJ21k IG91dGZpbGUgYXN5bmMgc3VidHJlZXAgdmlzaWJsZS1vbmx5IGJvZHktb25seSBuaWwKICAgICAg ICAgICAgICAgICAgICAgICAgIydveC1tZC1wYW5kb2MtcHJvY2Vzcy16b3Rlcm8td3BmaWxlKSkp CgooZGVmdW4gb3gtbWQtcGFuZG9jLXByb2Nlc3Mtem90ZXJvLXdwZmlsZSAoZmlsZSkKICAiUHJv Y2VzcyBtYXJrZG93biBGSUxFIHRvIHpvdGVybyBvZHQgb3IgZG9jeC4iCiAgKG9yZy1vcGVuLWZp bGUKICAgKG9yZy1jb21waWxlLWZpbGUKICAgIGZpbGUKICAgIChsaXN0CiAgICAgKGZvcm1hdAog ICAgICAicGFuZG9jIC1zIC1vICUlYi4lcyAtLWx1YS1maWx0ZXI9JXMgLS1tZXRhZGF0YT16b3Rl cm9fYXV0aG9yX2luX3RleHQ9dHJ1ZSAtLW1ldGFkYXRhPXpvdGVyb19jc2xfc3R5bGU9JXMgJSVm IgogICAgICBveC1tZC1wYW5kb2MtZm9ybWF0CiAgICAgIG94LW1kLXBhbmRvYy1wYXRoLXRvLWJi dC1maWx0ZXIKICAgICAgb3gtbWQtcGFuZG9jLXN0eWxlKSkKICAgIG94LW1kLXBhbmRvYy1mb3Jt YXQKICAgICJTZWUgKm94LW1kLXBhbmRvYy16b3Rlcm8gb3V0cHV0KiBmb3IgZGV0YWlscyIKICAg IChnZXQtYnVmZmVyLWNyZWF0ZSAiKm94LW1kLXBhbmRvYy16b3Rlcm8gb3V0cHV0KiIpKSkpCgoK KHByb3ZpZGUgJ294LW1kLXBhbmRvYy16b3Rlcm8pCjs7OyBveC1tZC1wYW5kb2Mtem90ZXJvLmVs IGVuZHMgaGVyZQo= --0000000000000e672305c5744e34--