Commit 0eb817bb authored by david Chavalarias's avatar david Chavalarias

graph added

parent 34709541
......@@ -18,7 +18,7 @@ name<-"database_d_chavalarias_2020-05-15" # name of the csv to be loaded
AllData <-read.csv(paste("data/",name,".csv",sep=""),head=TRUE,sep="\t")
AllData$Inclusion.criteria <- NULL
AllData$Exclusion.criteria <- NULL
AllData <- filter(AllData,!is.na(AllData$Registration.date))
#AllData <- filter(AllData,!is.na(AllData$Registration.date))
nrow(AllData)
x <- unique(AllData$Trial.registration.number)
head(x)[[1]]
......@@ -33,7 +33,7 @@ library(stringr)
Prevention<- filter(AllData,grepl("Prevention",AllData$Study.aim)) # CTs taggés prevention
Treatments <- filter(AllData,grepl("Treatment",AllData$Study.aim)) # # CTs taggés Treaments
Posttreatment<- filter(AllData,grepl("Post treatment",AllData$Study.aim)) # CTs taggé Post-Treatment
print(paste(count(Prevention)," Prevention CTs,", count(Treatments)," Treatments CTs and ",count(Posttreatment)," Post-treatment CTs."))
print(paste(count(Prevention)," Prevention arms,", count(Treatments)," Treatments arms and ",count(Posttreatment)," Post-treatment arms."))
```
## Export of data and viz
Data are exported in several formats. The list of all treatments is also exported assuming that treatments are separated by a '+' signe in the column treatment of the original db.
......
......@@ -1777,7 +1777,7 @@ $(document).ready(function () {
<p>First define what is the name of the file to be processed. This file should be in the folder /data</p>
<!-- rnb-text-end -->
<!-- rnb-chunk-begin -->
<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxubGlicmFyeShsdWJyaWRhdGUpXG5zb3VyY2UoXCJjb3JvbmFsaWIuUlwiKSAjIFIgbGlicmFyaWVzIFxubmFtZTwtXCJkYXRhYmFzZV9kX2NoYXZhbGFyaWFzXzIwMjAtMDUtMTVcIiAjIG5hbWUgb2YgdGhlIGNzdiB0byBiZSBsb2FkZWRcblxuQWxsRGF0YSA8LXJlYWQuY3N2KHBhc3RlKFwiZGF0YS9cIixuYW1lLFwiLmNzdlwiLHNlcD1cIlwiKSxoZWFkPVRSVUUsc2VwPVwiXFx0XCIpXG5BbGxEYXRhJEluY2x1c2lvbi5jcml0ZXJpYSA8LSBOVUxMXG5BbGxEYXRhJEV4Y2x1c2lvbi5jcml0ZXJpYSA8LSBOVUxMXG5BbGxEYXRhIDwtIGZpbHRlcihBbGxEYXRhLCFpcy5uYShBbGxEYXRhJFJlZ2lzdHJhdGlvbi5kYXRlKSlcbm5yb3coQWxsRGF0YSlcbmBgYCJ9 -->
<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxubGlicmFyeShsdWJyaWRhdGUpXG5zb3VyY2UoXCJjb3JvbmFsaWIuUlwiKSAjIFIgbGlicmFyaWVzIFxubmFtZTwtXCJkYXRhYmFzZV9kX2NoYXZhbGFyaWFzXzIwMjAtMDUtMTVcIiAjIG5hbWUgb2YgdGhlIGNzdiB0byBiZSBsb2FkZWRcblxuQWxsRGF0YSA8LXJlYWQuY3N2KHBhc3RlKFwiZGF0YS9cIixuYW1lLFwiLmNzdlwiLHNlcD1cIlwiKSxoZWFkPVRSVUUsc2VwPVwiXFx0XCIpXG5BbGxEYXRhJEluY2x1c2lvbi5jcml0ZXJpYSA8LSBOVUxMXG5BbGxEYXRhJEV4Y2x1c2lvbi5jcml0ZXJpYSA8LSBOVUxMXG4jQWxsRGF0YSA8LSBmaWx0ZXIoQWxsRGF0YSwhaXMubmEoQWxsRGF0YSRSZWdpc3RyYXRpb24uZGF0ZSkpXG5ucm93KEFsbERhdGEpXG5gYGAifQ== -->
<pre class="r"><code>library(lubridate)
source(&quot;coronalib.R&quot;) # R libraries
name&lt;-&quot;database_d_chavalarias_2020-05-15&quot; # name of the csv to be loaded
......@@ -1785,7 +1785,7 @@ name&lt;-&quot;database_d_chavalarias_2020-05-15&quot; # name of the csv to be l
AllData &lt;-read.csv(paste(&quot;data/&quot;,name,&quot;.csv&quot;,sep=&quot;&quot;),head=TRUE,sep=&quot;\t&quot;)
AllData$Inclusion.criteria &lt;- NULL
AllData$Exclusion.criteria &lt;- NULL
AllData &lt;- filter(AllData,!is.na(AllData$Registration.date))
#AllData &lt;- filter(AllData,!is.na(AllData$Registration.date))
nrow(AllData)</code></pre>
<!-- rnb-source-end -->
<!-- rnb-output-begin eyJkYXRhIjoiWzFdIDE5MDJcbiJ9 -->
......@@ -1807,16 +1807,16 @@ head(x)[[1]]</code></pre>
<p>Several dataframe are generated according to which are the CTs under study.</p>
<!-- rnb-text-end -->
<!-- rnb-chunk-begin -->
<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxubGlicmFyeShkcGx5cikgXG5saWJyYXJ5KHN0cmluZ3IpIFxuUHJldmVudGlvbjwtIGZpbHRlcihBbGxEYXRhLGdyZXBsKFwiUHJldmVudGlvblwiLEFsbERhdGEkU3R1ZHkuYWltKSkgIyBDVHMgdGFnZ8OpcyBwcmV2ZW50aW9uXG5UcmVhdG1lbnRzIDwtIGZpbHRlcihBbGxEYXRhLGdyZXBsKFwiVHJlYXRtZW50XCIsQWxsRGF0YSRTdHVkeS5haW0pKSAjwqAjIENUcyB0YWdnw6lzIFRyZWFtZW50c1xuUG9zdHRyZWF0bWVudDwtIGZpbHRlcihBbGxEYXRhLGdyZXBsKFwiUG9zdCB0cmVhdG1lbnRcIixBbGxEYXRhJFN0dWR5LmFpbSkpICMgQ1RzIHRhZ2fDqSBQb3N0LVRyZWF0bWVudFxucHJpbnQocGFzdGUoY291bnQoUHJldmVudGlvbiksXCIgUHJldmVudGlvbiBDVHMsXCIsIGNvdW50KFRyZWF0bWVudHMpLFwiIFRyZWF0bWVudHMgQ1RzIGFuZCBcIixjb3VudChQb3N0dHJlYXRtZW50KSxcIiBQb3N0LXRyZWF0bWVudCBDVHMuXCIpKVxuYGBgIn0= -->
<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxubGlicmFyeShkcGx5cikgXG5saWJyYXJ5KHN0cmluZ3IpIFxuUHJldmVudGlvbjwtIGZpbHRlcihBbGxEYXRhLGdyZXBsKFwiUHJldmVudGlvblwiLEFsbERhdGEkU3R1ZHkuYWltKSkgIyBDVHMgdGFnZ8OpcyBwcmV2ZW50aW9uXG5UcmVhdG1lbnRzIDwtIGZpbHRlcihBbGxEYXRhLGdyZXBsKFwiVHJlYXRtZW50XCIsQWxsRGF0YSRTdHVkeS5haW0pKSAjwqAjIENUcyB0YWdnw6lzIFRyZWFtZW50c1xuUG9zdHRyZWF0bWVudDwtIGZpbHRlcihBbGxEYXRhLGdyZXBsKFwiUG9zdCB0cmVhdG1lbnRcIixBbGxEYXRhJFN0dWR5LmFpbSkpICMgQ1RzIHRhZ2fDqSBQb3N0LVRyZWF0bWVudFxucHJpbnQocGFzdGUoY291bnQoUHJldmVudGlvbiksXCIgUHJldmVudGlvbiBhcm1zLFwiLCBjb3VudChUcmVhdG1lbnRzKSxcIiBUcmVhdG1lbnRzIGFybXMgYW5kIFwiLGNvdW50KFBvc3R0cmVhdG1lbnQpLFwiIFBvc3QtdHJlYXRtZW50IGFybXMuXCIpKVxuYGBgIn0= -->
<pre class="r"><code>library(dplyr)
library(stringr)
Prevention&lt;- filter(AllData,grepl(&quot;Prevention&quot;,AllData$Study.aim)) # CTs taggés prevention
Treatments &lt;- filter(AllData,grepl(&quot;Treatment&quot;,AllData$Study.aim)) # # CTs taggés Treaments
Posttreatment&lt;- filter(AllData,grepl(&quot;Post treatment&quot;,AllData$Study.aim)) # CTs taggé Post-Treatment
print(paste(count(Prevention),&quot; Prevention CTs,&quot;, count(Treatments),&quot; Treatments CTs and &quot;,count(Posttreatment),&quot; Post-treatment CTs.&quot;))</code></pre>
print(paste(count(Prevention),&quot; Prevention arms,&quot;, count(Treatments),&quot; Treatments arms and &quot;,count(Posttreatment),&quot; Post-treatment arms.&quot;))</code></pre>
<!-- rnb-source-end -->
<!-- rnb-output-begin eyJkYXRhIjoiWzFdIFwiMjgyICBQcmV2ZW50aW9uIENUcywgMTYwNCAgVHJlYXRtZW50cyBDVHMgYW5kICAxNSAgUG9zdC10cmVhdG1lbnQgQ1RzLlwiXG4ifQ== -->
<pre><code>[1] &quot;282 Prevention CTs, 1604 Treatments CTs and 15 Post-treatment CTs.&quot;</code></pre>
<!-- rnb-output-begin eyJkYXRhIjoiWzFdIFwiMjgyICBQcmV2ZW50aW9uIGFybXMsIDE2MDQgIFRyZWF0bWVudHMgYXJtcyBhbmQgIDE1ICBQb3N0LXRyZWF0bWVudCBhcm1zLlwiXG4ifQ== -->
<pre><code>[1] &quot;282 Prevention arms, 1604 Treatments arms and 15 Post-treatment arms.&quot;</code></pre>
<!-- rnb-output-end -->
<!-- rnb-chunk-end -->
<!-- rnb-text-begin -->
......@@ -1880,7 +1880,7 @@ TreatmentsCloud(Treatments)</code></pre>
<!-- rnb-chunk-end -->
</div>
<div id="rmd-source-code">LS0tCnRpdGxlOiAiQ29yb25hdmlydXMgQ2xpbmljYWwgVHJpYWxzIFIgbGlicmFyeSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQojIyMgRGVzY3JpcHRpb24KClRoaXMgUiBwcm9qZWN0IGNvbnRhaW50IHNvbWUgc2NyaXB0IHRvIGZvcm1hdCB0aGUgZGF0YWJhc2Ugb2YgY2xpbmljYWwgdHJpYWxzIG9uIGNvdmlkLTE5IGluIEdhcmdhbnRleHQgcmVhZGFibGUgZmlsZXMgKHNlZSBodHRwOi8vR2FyZ2FybnRleHQub3JnKS4KClRoZSBkYXRhYmFzZSBzaG91bGQgYmUgaW4gdGhlIHRzdiBmb3JtYXQgKHNlcGFyYXRvciA9IHRhYnVsYXRpb24gOyBubyBkZWxpbWl0ZXJzKSBhbmQgYmUgZm9ybWF0ZWQgaW4gVVRGOC4KCiMjIyBMb2FkIG9mIERhdGEKRmlyc3QgZGVmaW5lIHdoYXQgaXMgdGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgcHJvY2Vzc2VkLiBUaGlzIGZpbGUgc2hvdWxkIGJlIGluIHRoZSBmb2xkZXIgL2RhdGEKYGBge3J9CmxpYnJhcnkobHVicmlkYXRlKQpzb3VyY2UoImNvcm9uYWxpYi5SIikgIyBSIGxpYnJhcmllcyAKbmFtZTwtImRhdGFiYXNlX2RfY2hhdmFsYXJpYXNfMjAyMC0wNS0xNSIgIyBuYW1lIG9mIHRoZSBjc3YgdG8gYmUgbG9hZGVkCgpBbGxEYXRhIDwtcmVhZC5jc3YocGFzdGUoImRhdGEvIixuYW1lLCIuY3N2IixzZXA9IiIpLGhlYWQ9VFJVRSxzZXA9Ilx0IikKQWxsRGF0YSRJbmNsdXNpb24uY3JpdGVyaWEgPC0gTlVMTApBbGxEYXRhJEV4Y2x1c2lvbi5jcml0ZXJpYSA8LSBOVUxMCkFsbERhdGEgPC0gZmlsdGVyKEFsbERhdGEsIWlzLm5hKEFsbERhdGEkUmVnaXN0cmF0aW9uLmRhdGUpKQpucm93KEFsbERhdGEpCnggPC0gdW5pcXVlKEFsbERhdGEkVHJpYWwucmVnaXN0cmF0aW9uLm51bWJlcikKaGVhZCh4KVtbMV1dCgpgYGAKIyMjIERhdGEgc2VnbWVudGF0aW9uClNldmVyYWwgZGF0YWZyYW1lIGFyZSBnZW5lcmF0ZWQgYWNjb3JkaW5nIHRvIHdoaWNoIGFyZSB0aGUgQ1RzIHVuZGVyIHN0dWR5LgoKYGBge3J9CmxpYnJhcnkoZHBseXIpIApsaWJyYXJ5KHN0cmluZ3IpIApQcmV2ZW50aW9uPC0gZmlsdGVyKEFsbERhdGEsZ3JlcGwoIlByZXZlbnRpb24iLEFsbERhdGEkU3R1ZHkuYWltKSkgIyBDVHMgdGFnZ8OpcyBwcmV2ZW50aW9uClRyZWF0bWVudHMgPC0gZmlsdGVyKEFsbERhdGEsZ3JlcGwoIlRyZWF0bWVudCIsQWxsRGF0YSRTdHVkeS5haW0pKSAjwqAjIENUcyB0YWdnw6lzIFRyZWFtZW50cwpQb3N0dHJlYXRtZW50PC0gZmlsdGVyKEFsbERhdGEsZ3JlcGwoIlBvc3QgdHJlYXRtZW50IixBbGxEYXRhJFN0dWR5LmFpbSkpICMgQ1RzIHRhZ2fDqSBQb3N0LVRyZWF0bWVudApwcmludChwYXN0ZShjb3VudChQcmV2ZW50aW9uKSwiIFByZXZlbnRpb24gQ1RzLCIsIGNvdW50KFRyZWF0bWVudHMpLCIgVHJlYXRtZW50cyBDVHMgYW5kICIsY291bnQoUG9zdHRyZWF0bWVudCksIiBQb3N0LXRyZWF0bWVudCBDVHMuIikpCmBgYAojIyBFeHBvcnQgb2YgZGF0YSBhbmQgdml6CkRhdGEgYXJlIGV4cG9ydGVkIGluIHNldmVyYWwgZm9ybWF0cy4gVGhlIGxpc3Qgb2YgYWxsIHRyZWF0bWVudHMgaXMgYWxzbyBleHBvcnRlZCBhc3N1bWluZyB0aGF0IHRyZWF0bWVudHMgYXJlIHNlcGFyYXRlZCBieSBhICcrJyBzaWduZSBpbiB0aGUgY29sdW1uIHRyZWF0bWVudCBvZiB0aGUgb3JpZ2luYWwgZGIuCgpgYGB7cn0Kc291cmNlKCJjb3JvbmFsaWIuUiIpCmxpYnJhcnkocmVzaGFwZSkKbGlicmFyeSh3b3JkY2xvdWQpCmxpYnJhcnkoZ2dwbG90MikKCiMgSHRtbCBmb3JtYXQKIyBleHBvcnQgb2YgYSBjb3JwdXMgd2l0aCB0cmVhdG1lbnRzIGFuZCBvdXRjb21lcwpnYXJnX2V4cG9ydF93aXRoX2h0bWwoVHJlYXRtZW50cywiVHJlYXRtZW50IikgIyBleHBvcnRlIFRyZWF0bWVhbnQgZXQgT3V0Y29tZXMgZGVzIGVzc2FpcyBjbGluaXF1ZXMgZGUgdHlwZSBUcmVhdG1lbnQKZ2FyZ19leHBvcnRfd2l0aF9odG1sKEFsbERhdGEsIkFsbERhdGEiKSAjIGV4cG9ydGUgVHJlYXRtZWFudCBldCBPdXRjb21lcyBkZXMgZXNzYWlzIGNsaW5pcXVlcyBkZSB0b3VzIHR5cGVzCmdhcmdfZXhwb3J0X3RyZWF0bWVudHNfd2l0aF9odG1sKEFsbERhdGEsIkFsbERhdGEiKSAjIGV4cG9ydGUgVHJlYXRtZWFudCBkZXMgZXNzYWlzIGNsaW5pcXVlcyBkZSB0b3VzIHR5cGVzCgoKIyBleHBvcnQgb2YgdGhlIGxpc3Qgb2YgYWxsIHR5cGVzIG9mIHRyZWF0bWVudHMgd2hhdGV2ZXIgdGhlIHBoYXNlIGluIHRoZSBmb3JtYXQgR2FyZ2FudGV4dCBtYXAgbGlzdCBHYXJnYW50ZXh0IFYzICYgVjQKZ2FyZ1Y0X2V4cG9ydF90cmVhbWVudHNfbGlzdChBbGxEYXRhLCJBbGxEYiIpCmdhcmdWM19leHBvcnRfdHJlYW1lbnRzX2xpc3QoQWxsRGF0YSwiQWxsRGIiKQoKCiMgQ29udmVyc2lvbiBvZiB0aGUgdHN2IGZpbGUgaW50byBHYXJnYW50ZXh0IHJlYWRhYmxlIHRzdiBkaWxlCiMgU2VsZWNpdG9uIG9mIHRoZSBraW5kIG9mIENUIHRvIGV4cG9ydCA6IEFsbCAvIFByZXZlbnRpb24gLyBUcmVhdG1lbnQgLyBQb3N0LXRyZWF0bWVudAojwqBTZWxlY3Rpb24gb2YgdGhlIGtpbmQgb2YgaW5mb3JtYXRpb25zIHRvIGluY2x1ZGUgaW4gdGhlIG1haW4gdGV4dCB0byBiZSBwcm9jZXNzZWQgYnkgR2FyZ2FudGV4dCAoYmFzdHJhY3QgY29sdW1uKTogVHJlYXRtZWFudCBhbmQvb3IgT3V0Y29tZXMKCgojwqBzaW1wbGUgdHh0IGV4cG9ydApnYXJnX2V4cG9ydF9hbGxfcGxhaW4oVHJlYXRtZW50cywiVHJlYXRtZW50IikgIyBleHBvcnQgbWFpbiBpbmZvcm1hdGlvbiBpbiBwbGFpbiB0ZXh0CmdhcmdfZXhwb3J0X09ubHlUcmVhdG1lbnRzKFRyZWF0bWVudHMsIlRyZWF0bWVudCIpICMgZXhwb3J0IG9ubHkgdHJlYXRtZW50cyBpbiBwbGFpbiB0ZXh0CmdhcmdfZXhwb3J0X09ubHlPdXRjb21lcyhUcmVhdG1lbnRzLCJUcmVhdG1lbnQiKSAjIGV4cG9ydCBvbmx5IG91dGNvbWVzIGluIHBsYWluIHRleHQKZ2FyZ19leHBvcnRfYWxsX3BsYWluKEFsbERhdGEsIkFsbCIpICMgZXhwb3J0IG1haW4gaW5mb3JtYXRpb24gaW4gcGxhaW4gdGV4dAoKIyByYXcgZXhwb3J0IChqdXN0IHRvIGhhdmUgc3BlY2lmaWMgbWFwcykKZ2FyZ19leHBvcnRfcmF3X3RyZWF0bWVudHMoQWxsRGF0YSwiQWxsRGF0YSIpICMjIGV4cG9ydCBvbmx5IGluZm8gcmVsYXRpdmUgdG8gdHJlYXRtZW50cyB3aXRob3V0IGFueSBmb3JtYXRpbmcuCgojIFNvbWUgc2ltcGxlIHZpeiAtIFRhZyBjbG91ZCBvZiB0aGUgdHJlYW1lbnRzIHBlciBjYXRlZ29yeSBvZiBDVApUcmVhdG1lbnRzQ2xvdWQoVHJlYXRtZW50cykKVHJlYXRtZW50c0Nsb3VkKFByZXZlbnRpb24pClRyZWF0bWVudHNDbG91ZChQb3N0dHJlYXRtZW50KQoKYGBgCg==</div>
<div id="rmd-source-code">LS0tCnRpdGxlOiAiQ29yb25hdmlydXMgQ2xpbmljYWwgVHJpYWxzIFIgbGlicmFyeSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQojIyMgRGVzY3JpcHRpb24KClRoaXMgUiBwcm9qZWN0IGNvbnRhaW50IHNvbWUgc2NyaXB0IHRvIGZvcm1hdCB0aGUgZGF0YWJhc2Ugb2YgY2xpbmljYWwgdHJpYWxzIG9uIGNvdmlkLTE5IGluIEdhcmdhbnRleHQgcmVhZGFibGUgZmlsZXMgKHNlZSBodHRwOi8vR2FyZ2FybnRleHQub3JnKS4KClRoZSBkYXRhYmFzZSBzaG91bGQgYmUgaW4gdGhlIHRzdiBmb3JtYXQgKHNlcGFyYXRvciA9IHRhYnVsYXRpb24gOyBubyBkZWxpbWl0ZXJzKSBhbmQgYmUgZm9ybWF0ZWQgaW4gVVRGOC4KCiMjIyBMb2FkIG9mIERhdGEKRmlyc3QgZGVmaW5lIHdoYXQgaXMgdGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgcHJvY2Vzc2VkLiBUaGlzIGZpbGUgc2hvdWxkIGJlIGluIHRoZSBmb2xkZXIgL2RhdGEKYGBge3J9CmxpYnJhcnkobHVicmlkYXRlKQpzb3VyY2UoImNvcm9uYWxpYi5SIikgIyBSIGxpYnJhcmllcyAKbmFtZTwtImRhdGFiYXNlX2RfY2hhdmFsYXJpYXNfMjAyMC0wNS0xNSIgIyBuYW1lIG9mIHRoZSBjc3YgdG8gYmUgbG9hZGVkCgpBbGxEYXRhIDwtcmVhZC5jc3YocGFzdGUoImRhdGEvIixuYW1lLCIuY3N2IixzZXA9IiIpLGhlYWQ9VFJVRSxzZXA9Ilx0IikKQWxsRGF0YSRJbmNsdXNpb24uY3JpdGVyaWEgPC0gTlVMTApBbGxEYXRhJEV4Y2x1c2lvbi5jcml0ZXJpYSA8LSBOVUxMCiNBbGxEYXRhIDwtIGZpbHRlcihBbGxEYXRhLCFpcy5uYShBbGxEYXRhJFJlZ2lzdHJhdGlvbi5kYXRlKSkKbnJvdyhBbGxEYXRhKQp4IDwtIHVuaXF1ZShBbGxEYXRhJFRyaWFsLnJlZ2lzdHJhdGlvbi5udW1iZXIpCmhlYWQoeClbWzFdXQoKYGBgCiMjIyBEYXRhIHNlZ21lbnRhdGlvbgpTZXZlcmFsIGRhdGFmcmFtZSBhcmUgZ2VuZXJhdGVkIGFjY29yZGluZyB0byB3aGljaCBhcmUgdGhlIENUcyB1bmRlciBzdHVkeS4KCmBgYHtyfQpsaWJyYXJ5KGRwbHlyKSAKbGlicmFyeShzdHJpbmdyKSAKUHJldmVudGlvbjwtIGZpbHRlcihBbGxEYXRhLGdyZXBsKCJQcmV2ZW50aW9uIixBbGxEYXRhJFN0dWR5LmFpbSkpICMgQ1RzIHRhZ2fDqXMgcHJldmVudGlvbgpUcmVhdG1lbnRzIDwtIGZpbHRlcihBbGxEYXRhLGdyZXBsKCJUcmVhdG1lbnQiLEFsbERhdGEkU3R1ZHkuYWltKSkgI8KgIyBDVHMgdGFnZ8OpcyBUcmVhbWVudHMKUG9zdHRyZWF0bWVudDwtIGZpbHRlcihBbGxEYXRhLGdyZXBsKCJQb3N0IHRyZWF0bWVudCIsQWxsRGF0YSRTdHVkeS5haW0pKSAjIENUcyB0YWdnw6kgUG9zdC1UcmVhdG1lbnQKcHJpbnQocGFzdGUoY291bnQoUHJldmVudGlvbiksIiBQcmV2ZW50aW9uIGFybXMsIiwgY291bnQoVHJlYXRtZW50cyksIiBUcmVhdG1lbnRzIGFybXMgYW5kICIsY291bnQoUG9zdHRyZWF0bWVudCksIiBQb3N0LXRyZWF0bWVudCBhcm1zLiIpKQpgYGAKIyMgRXhwb3J0IG9mIGRhdGEgYW5kIHZpegpEYXRhIGFyZSBleHBvcnRlZCBpbiBzZXZlcmFsIGZvcm1hdHMuIFRoZSBsaXN0IG9mIGFsbCB0cmVhdG1lbnRzIGlzIGFsc28gZXhwb3J0ZWQgYXNzdW1pbmcgdGhhdCB0cmVhdG1lbnRzIGFyZSBzZXBhcmF0ZWQgYnkgYSAnKycgc2lnbmUgaW4gdGhlIGNvbHVtbiB0cmVhdG1lbnQgb2YgdGhlIG9yaWdpbmFsIGRiLgoKYGBge3J9CnNvdXJjZSgiY29yb25hbGliLlIiKQpsaWJyYXJ5KHJlc2hhcGUpCmxpYnJhcnkod29yZGNsb3VkKQpsaWJyYXJ5KGdncGxvdDIpCgojIEh0bWwgZm9ybWF0CiMgZXhwb3J0IG9mIGEgY29ycHVzIHdpdGggdHJlYXRtZW50cyBhbmQgb3V0Y29tZXMKZ2FyZ19leHBvcnRfd2l0aF9odG1sKFRyZWF0bWVudHMsIlRyZWF0bWVudCIpICMgZXhwb3J0ZSBUcmVhdG1lYW50IGV0IE91dGNvbWVzIGRlcyBlc3NhaXMgY2xpbmlxdWVzIGRlIHR5cGUgVHJlYXRtZW50CmdhcmdfZXhwb3J0X3dpdGhfaHRtbChBbGxEYXRhLCJBbGxEYXRhIikgIyBleHBvcnRlIFRyZWF0bWVhbnQgZXQgT3V0Y29tZXMgZGVzIGVzc2FpcyBjbGluaXF1ZXMgZGUgdG91cyB0eXBlcwpnYXJnX2V4cG9ydF90cmVhdG1lbnRzX3dpdGhfaHRtbChBbGxEYXRhLCJBbGxEYXRhIikgIyBleHBvcnRlIFRyZWF0bWVhbnQgZGVzIGVzc2FpcyBjbGluaXF1ZXMgZGUgdG91cyB0eXBlcwoKCiMgZXhwb3J0IG9mIHRoZSBsaXN0IG9mIGFsbCB0eXBlcyBvZiB0cmVhdG1lbnRzIHdoYXRldmVyIHRoZSBwaGFzZSBpbiB0aGUgZm9ybWF0IEdhcmdhbnRleHQgbWFwIGxpc3QgR2FyZ2FudGV4dCBWMyAmIFY0CmdhcmdWNF9leHBvcnRfdHJlYW1lbnRzX2xpc3QoQWxsRGF0YSwiQWxsRGIiKQpnYXJnVjNfZXhwb3J0X3RyZWFtZW50c19saXN0KEFsbERhdGEsIkFsbERiIikKCgojIENvbnZlcnNpb24gb2YgdGhlIHRzdiBmaWxlIGludG8gR2FyZ2FudGV4dCByZWFkYWJsZSB0c3YgZGlsZQojIFNlbGVjaXRvbiBvZiB0aGUga2luZCBvZiBDVCB0byBleHBvcnQgOiBBbGwgLyBQcmV2ZW50aW9uIC8gVHJlYXRtZW50IC8gUG9zdC10cmVhdG1lbnQKI8KgU2VsZWN0aW9uIG9mIHRoZSBraW5kIG9mIGluZm9ybWF0aW9ucyB0byBpbmNsdWRlIGluIHRoZSBtYWluIHRleHQgdG8gYmUgcHJvY2Vzc2VkIGJ5IEdhcmdhbnRleHQgKGJhc3RyYWN0IGNvbHVtbik6IFRyZWF0bWVhbnQgYW5kL29yIE91dGNvbWVzCgoKI8Kgc2ltcGxlIHR4dCBleHBvcnQKZ2FyZ19leHBvcnRfYWxsX3BsYWluKFRyZWF0bWVudHMsIlRyZWF0bWVudCIpICMgZXhwb3J0IG1haW4gaW5mb3JtYXRpb24gaW4gcGxhaW4gdGV4dApnYXJnX2V4cG9ydF9Pbmx5VHJlYXRtZW50cyhUcmVhdG1lbnRzLCJUcmVhdG1lbnQiKSAjIGV4cG9ydCBvbmx5IHRyZWF0bWVudHMgaW4gcGxhaW4gdGV4dApnYXJnX2V4cG9ydF9Pbmx5T3V0Y29tZXMoVHJlYXRtZW50cywiVHJlYXRtZW50IikgIyBleHBvcnQgb25seSBvdXRjb21lcyBpbiBwbGFpbiB0ZXh0CmdhcmdfZXhwb3J0X2FsbF9wbGFpbihBbGxEYXRhLCJBbGwiKSAjIGV4cG9ydCBtYWluIGluZm9ybWF0aW9uIGluIHBsYWluIHRleHQKCiMgcmF3IGV4cG9ydCAoanVzdCB0byBoYXZlIHNwZWNpZmljIG1hcHMpCmdhcmdfZXhwb3J0X3Jhd190cmVhdG1lbnRzKEFsbERhdGEsIkFsbERhdGEiKSAjIyBleHBvcnQgb25seSBpbmZvIHJlbGF0aXZlIHRvIHRyZWF0bWVudHMgd2l0aG91dCBhbnkgZm9ybWF0aW5nLgoKIyBTb21lIHNpbXBsZSB2aXogLSBUYWcgY2xvdWQgb2YgdGhlIHRyZWFtZW50cyBwZXIgY2F0ZWdvcnkgb2YgQ1QKVHJlYXRtZW50c0Nsb3VkKFRyZWF0bWVudHMpClRyZWF0bWVudHNDbG91ZChQcmV2ZW50aW9uKQpUcmVhdG1lbnRzQ2xvdWQoUG9zdHRyZWF0bWVudCkKCmBgYAo=</div>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment