logo

Summary

This report was generated with RLSeq v1.3.0.

Sample information

Sample name: SRX1025890

Sample type: DRIP

Label: POS

Genome: hg38

Time: Tue Aug 9 11:04:31 2022

Results

1. RLFS analysis

Z-Score distribution

R-loop forming sequences (RLFS) were compared to the ranges in SRX1025890 to measure enrichment. The resulting Z-score distribution is visualized below:

Note: for samples which map R-loop successfully, enrichment is expected. See representative examples for POS and NEG sample types here.

Details

Additional details

RLFS were derived across the genome using QmRLFS-finder.py. R-loop broad peaks were called with macs and then compared with RLFS using permTest from the regioneR R package. An empirical distribution of RLFS was generated using the circularRandomizeRegions method and compared to the peaks in order to calculate enrichment p value and zscore (effect size of enrichment). For additional detail, please refer to the RLSeq::analyzeRLFS documentation (link).

From this analysis, the empirically-determined p value was 0.009901 (with 100 permutations, the minimum possible p value was 0.009901). The enrichment z-score was 31.6933.


2. Sample classification

Predicted label for sample SRX1025890 is “POS” (i.e., robust R-loop mapping).

Details

Additional Details

To evaluate sample quality, a binary classifier was developed via the online-learning approach described in the RLSuite manuscript. The classifier evaluates features engineered from the RLFS Z score distribution, specifically, the following features:

Abbreviations: Z, Z-score distribution; ACF, autocorrelation function; FT, Fourier Transform.
feature description raw_value processed_value
Z1 mean of Z 0.6966205 28.2355969
Z2 variance of Z 0.4351710 401.6240703
Zacf1 mean of Z ACF -0.9231130 0.0130549
Zacf2 variance of Z ACF -0.7314256 31.4625557
ReW1 mean of FT of Z (real part) 1.2283389 24.5862351
ReW2 variance of FT of Z (real part) 0.4374915 5693.9733450
ImW1 mean of FT of Z (imaginary part) 0.2544294 0.0000000
ImW2 variance of FT of Z (imaginary part) -1.9820652 18.6602661
ReWacf1 mean of FT of Z ACF (real part) -0.8562213 5.2480522
ReWacf2 variance of FT of Z ACF (real part) -0.6786350 374.0282701
ImWacf1 mean of FT of Z ACF (imaginary part) -0.5589524 0.0000000
ImWacf2 variance of FT of Z ACF (imaginary part) -0.7555390 243.0457326

From these features, classification was performed to derive a prediction (predicted label) regarding whether the sample mapped R-loops or not. In short, “POS” indicates any sample for which all the following are true:

  1. Criteria 1: The RLFS Permutation test P value is significant (p < .05)
  2. Criteria 2: The Z-score distribution middle is > 0.
  3. Criteria 3: The Z-score distribution middle is > the start and the end.
  4. Criteria 4: The model predicts a label of “POS”.

The criteria for SRX1025890 are shown below:

Results from quality analysis of SRX1025890
Criteria Result
  1. PVal Significant
TRUE
  1. ZApex > 0
TRUE
  1. ZApex > ZEdges
TRUE
  1. Predicted ‘POS’
TRUE

These results led to the final prediction: “POS” (i.e., robust R-loop mapping).

For additional detail, please refer to the RLSeq::predictCondition documentation (link).


3. Noise analysis

Fingerprint plot

To visualize the results of noiseAnalyze we can use a “fingerprint plot” (named after the deepTools implementation by the same name).

This plot shows the proportion of signal contained in the corresponding proportion of coverage bins. In the plot above, we can observe that relatively few bins contain nearly all the signal. This is exactly what we would expect to see when our sample has good signal-to-noise ratio, a sign of good quality in R-loop mapping datasets.

Noise comparison plot

While a fingerprint plot is useful for getting a quick view of the dataset, it is also useful to compare the analyzed sample to publicly-available the datasets provided by RLBase. The noiseComparisonPlot enables this comparison.


4. Feature enrichment test

Enrichment plots

The results were then visualized with the plotEnrichment() function:

CpG_Islands

Encode_CREs

G4Qpred

knownGene_RNAs

PolyA

Repeat_Masker

skewr

snoRNA_miRNA_scaRNA

Transcript_Features

tRNAs

Note: If < 200 peaks in user-supplied sample, ◇ will be missing from plots.

Summary table

Additional Details

Annotations were derived from a variety of sources and accessed using RLHub (unless custom annotations were supplied by the user). Detailed explanations of each database and type can be found here. The valr R package was implemented to test the enrichment of these features within the supplied ranges for SRX1025890. For additional detail, please refer to the RLSeq::featureEnrich documentation (link).



5. Transcript feature overlap

Transcript feature overlap plot

The results were then visualized with the plotTxFeatureOverlap() function:


6. Correlation analysis

Using the method described in Chedin et al. 2020, the inter-sample correlations between SRX1025890 and the samples in RLBase were calculated. For additional detail, please refer to the RLSeq::corrAnalyze documentation (link).

In the resulting heatmap, SRX1025890 is identified via the group annotation.

Note: In the plot legend (mode panel), misc includes the modes with < 12 samples: BisMapR, DREAM, DRIP-RNA-Seq, DRIPc-HBD, DRIVE, DRNA, m6A-DIP, RNH-CnR, RR-ChIP, S1-DRIP.


7. Gene annotations

hg38 Gene annotations were downloaded from AnnotationHub and overlapped with R-loop ranges in SRX1025890. For additional detail, please refer to the RLSeq::geneAnnotation documentation (link). The resulting gene table was then filtered for the top 2000 peaks (by p-adjusted value) and is observed here:


8. RL-Regions test

RL-Regions are consensus R-loop sites derived from a meta-analysis of all high-confidence R-loop mapping samples in RLBase (see the RLSuite manuscript for a full description). The ranges supplied for SRX1025890 were compared to the RL-Regions to determine the degree and significance of overlap. For additional detail, please refer to the RLSeq::rlRegionTest documentation (link).



Other

For more information about RLSeq please visit the package homepage here.

Note: if you use RLSeq in published research, please reference:

Miller et al., RLSeq, (2021), GitHub repository, Bishop-Laboratory/RLSeq

Session info

Session info
## R version 4.2.0 (2022-04-22)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.4 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] RLHub_1.3.0 RLSeq_1.3.0 dplyr_1.0.9
## 
## loaded via a namespace (and not attached):
##   [1] utf8_1.2.2                    tidyselect_1.1.2             
##   [3] RSQLite_2.2.15                AnnotationDbi_1.59.1         
##   [5] htmlwidgets_1.5.4             grid_4.2.0                   
##   [7] BiocParallel_1.31.12          pROC_1.18.0                  
##   [9] aws.signature_0.6.0           munsell_0.5.0                
##  [11] codetools_0.2-18              DT_0.23                      
##  [13] future_1.27.0                 withr_2.5.0                  
##  [15] colorspace_2.0-3              Biobase_2.57.1               
##  [17] filelock_1.0.2                highr_0.9                    
##  [19] knitr_1.39                    rstudioapi_0.13              
##  [21] stats4_4.2.0                  listenv_0.8.0                
##  [23] MatrixGenerics_1.9.1          labeling_0.4.2               
##  [25] GenomeInfoDbData_1.2.8        bit64_4.0.5                  
##  [27] farver_2.1.1                  parallelly_1.32.1            
##  [29] vctrs_0.4.1                   generics_0.1.3               
##  [31] lambda.r_1.2.4                ipred_0.9-13                 
##  [33] xfun_0.31                     BiocFileCache_2.5.0          
##  [35] doParallel_1.0.17             regioneR_1.29.1              
##  [37] R6_2.5.1                      GenomeInfoDb_1.33.3          
##  [39] clue_0.3-61                   gridGraphics_0.5-1           
##  [41] bitops_1.0-7                  cachem_1.0.6                 
##  [43] DelayedArray_0.23.1           assertthat_0.2.1             
##  [45] promises_1.2.0.1              BiocIO_1.7.1                 
##  [47] scales_1.2.0                  nnet_7.3-17                  
##  [49] gtable_0.3.0                  valr_0.6.4                   
##  [51] globals_0.15.1                processx_3.7.0               
##  [53] timeDate_4021.104             rlang_1.0.4                  
##  [55] systemfonts_1.0.4             GlobalOptions_0.1.2          
##  [57] splines_4.2.0                 rtracklayer_1.57.0           
##  [59] ModelMetrics_1.2.2.2          broom_1.0.0                  
##  [61] BiocManager_1.30.18           yaml_2.3.5                   
##  [63] reshape2_1.4.4                GenomicFeatures_1.49.5       
##  [65] crosstalk_1.2.0               backports_1.4.1              
##  [67] httpuv_1.6.5                  caret_6.0-92                 
##  [69] tools_4.2.0                   lava_1.6.10                  
##  [71] ggplotify_0.1.0               ggplot2_3.3.6                
##  [73] ellipsis_0.3.2                kableExtra_1.3.4             
##  [75] jquerylib_0.1.4               RColorBrewer_1.1-3           
##  [77] BiocGenerics_0.43.1           Rcpp_1.0.9                   
##  [79] plyr_1.8.7                    base64enc_0.1-3              
##  [81] progress_1.2.2                zlibbioc_1.43.0              
##  [83] purrr_0.3.4                   RCurl_1.98-1.8               
##  [85] ps_1.7.1                      prettyunits_1.1.1            
##  [87] rpart_4.1.16                  GetoptLong_1.0.5             
##  [89] pbapply_1.5-0                 S4Vectors_0.35.1             
##  [91] cluster_2.1.3                 SummarizedExperiment_1.27.1  
##  [93] magrittr_2.0.3                futile.options_1.0.1         
##  [95] magick_2.7.3                  data.table_1.14.2            
##  [97] caretEnsemble_2.0.1           circlize_0.4.15              
##  [99] matrixStats_0.62.0            hms_1.1.1                    
## [101] mime_0.12                     evaluate_0.15                
## [103] xtable_1.8-4                  XML_3.99-0.10                
## [105] VennDiagram_1.7.3             shape_1.4.6                  
## [107] IRanges_2.31.0                gridExtra_2.3                
## [109] compiler_4.2.0                biomaRt_2.53.2               
## [111] tibble_3.1.8                  crayon_1.5.1                 
## [113] htmltools_0.5.3               later_1.3.0                  
## [115] tzdb_0.3.0                    ggprism_1.0.3                
## [117] tidyr_1.2.0                   lubridate_1.8.0              
## [119] aws.s3_0.3.21                 DBI_1.1.3                    
## [121] formatR_1.12                  ExperimentHub_2.5.0          
## [123] ComplexHeatmap_2.13.0         dbplyr_2.2.1                 
## [125] MASS_7.3-57                   rappdirs_0.3.3               
## [127] Matrix_1.4-1                  readr_2.1.2                  
## [129] cli_3.3.0                     parallel_4.2.0               
## [131] gower_1.0.0                   GenomicRanges_1.49.0         
## [133] pkgconfig_2.0.3               GenomicAlignments_1.33.1     
## [135] recipes_1.0.1                 xml2_1.3.3                   
## [137] foreach_1.5.2                 svglite_2.1.0                
## [139] bslib_0.4.0                   hardhat_1.2.0                
## [141] webshot_0.5.3                 XVector_0.37.0               
## [143] prodlim_2019.11.13            rvest_1.0.2                  
## [145] yulab.utils_0.0.5             stringr_1.4.0                
## [147] callr_3.7.1                   digest_0.6.29                
## [149] Biostrings_2.65.1             rmarkdown_2.14               
## [151] restfulr_0.0.15               curl_4.3.2                   
## [153] shiny_1.7.2                   Rsamtools_2.13.3             
## [155] rjson_0.2.21                  lifecycle_1.0.1              
## [157] nlme_3.1-157                  jsonlite_1.8.0               
## [159] futile.logger_1.4.3           viridisLite_0.4.0            
## [161] BSgenome_1.65.2               fansi_1.0.3                  
## [163] pillar_1.8.0                  lattice_0.20-45              
## [165] KEGGREST_1.37.3               fastmap_1.1.0                
## [167] httr_1.4.3                    survival_3.2-13              
## [169] interactiveDisplayBase_1.35.0 glue_1.6.2                   
## [171] png_0.1-7                     iterators_1.0.14             
## [173] BiocVersion_3.16.0            bit_4.0.4                    
## [175] class_7.3-20                  stringi_1.7.8                
## [177] sass_0.4.2                    blob_1.2.3                   
## [179] AnnotationHub_3.5.0           memoise_2.0.1                
## [181] future.apply_1.9.0
 

RLSeq © 2022, Bishop Lab, UT Health San Antonio

RLSeq maintainer: Henry Miller

 

LS0tCnRpdGxlOiAiUkxTZXEgUmVwb3J0IgpzdWJ0aXRsZTogIjxzdHJvbmc+YHIgb2JqZWN0QG1ldGFkYXRhJHNhbXBsZU5hbWVgPC9zdHJvbmc+IgpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiCm91dHB1dDogCiAgaHRtbF9kb2N1bWVudDoKICAgIGNzczogInJlcG9ydF9zdHlsZS5jc3MiCiAgICB0aGVtZTogImZsYXRseSIKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OgogICAgICBjb2xsYXBzZWQ6IGZhbHNlCiAgICAgIHNtb290aF9zY3JvbGw6IGZhbHNlIAogICAgdG9jX2RlcHRoOiAyCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCiAgICBpbmNsdWRlczoKICAgICAgaW5faGVhZGVyOiAiaGVhZGVyLmh0bWwiCnBhcmFtczoKICBvYmplY3Q6ICJwbGFjZWhvbGRlciIKLS0tCgo8aW1nIHNyYz0iaHR0cHM6Ly9ybGJhc2UtZGF0YS5zMy5hbWF6b25hd3MuY29tL21pc2MvYXNzZXRzL3doaXRlYmdSTFNlcStMb2dvLnBuZyIgYWxpZ249InJpZ2h0IiBhbHQ9ImxvZ28iIHdpZHRoPSIyMjAiIHN0eWxlID0gImJvcmRlcjogbm9uZTsgZmxvYXQ6IHJpZ2h0OyI+CgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRSwgZWNobz1GQUxTRX0KCiMgU2V0dXAgY2h1bmsgb3B0aW9ucwprbml0cjo6b3B0c19jaHVuayRzZXQoCiAgd2FybmluZyA9IEZBTFNFLAogIG1lc3NhZ2UgPSBGQUxTRSwKICBjYWNoZSA9IEZBTFNFLAogIGVjaG8gPSBGQUxTRQopCgojIExpYnJhcmllcwpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KFJMU2VxKQoKIyBFbmFibGUKRFQ6OmRhdGF0YWJsZShtYXRyaXgoKSwgZXh0ZW5zaW9ucz0iQnV0dG9ucyIpCgojIFdyYW5nbGUgcmVzdWx0cyBhbmQgdHJpZ2dlciBjb25kaXRpb25hbCB0ZW1wbGF0ZXMKb2JqZWN0IDwtIHBhcmFtcyRvYmplY3QKcmxyZXMgPC0gb2JqZWN0QG1ldGFkYXRhJHJlc3VsdHMKcmxyZXNsc3QgPC0gbGFwcGx5KHNsb3ROYW1lcyhybHJlcyksIGZ1bmN0aW9uKHNuKSB7CiAgdHJ5Q2F0Y2gocmxyZXN1bHQob2JqZWN0LCBzbiksIGVycm9yID0gZnVuY3Rpb24oZSkge05VTEx9KQp9KQpuYW1lcyhybHJlc2xzdCkgPC0gc2xvdE5hbWVzKHJscmVzKQpyZXNfb3JkZXIgPC0gYygKICAicmxmc1JlcyIsICJwcmVkaWN0UmVzIiwgCiAgIm5vaXNlQW5hbHlzaXMiLAogICJmZWF0dXJlRW5yaWNobWVudCIsIAogICJ0eEZlYXR1cmVPdmVybGFwIiwKICAiY29ycmVsYXRpb25NYXQiLCAiZ2VuZUFubm9SZXMiLCAicmxSZWdpb25SZXMiCikKZnVuY3MgPC0gYygKICAiYW5hbHl6ZVJMRlMiLCAicHJlZGljdENvbmRpdGlvbiIsIAogICJub2lzZUFuYWx5emUiLAogICJmZWF0dXJlRW5yaWNoIiwgCiAgInR4RmVhdHVyZU92ZXJsYXAiLAogICJjb3JyQW5hbHl6ZSIsICJnZW5lQW5ub3RhdGlvbiIsICJybFJlZ2lvblRlc3QiCikKbmFtZXMocmVzX29yZGVyKSA8LSBjKAogICJSTEZTIGFuYWx5c2lzIiwgCiAgIlNhbXBsZSBjbGFzc2lmaWNhdGlvbiIsCiAgIk5vaXNlIGFuYWx5c2lzIiwKICAiRmVhdHVyZSBlbnJpY2htZW50IHRlc3QiLAogICJUcmFuc2NyaXB0IGZlYXR1cmUgb3ZlcmxhcCIsCiAgIkNvcnJlbGF0aW9uIGFuYWx5c2lzIiwKICAiR2VuZSBhbm5vdGF0aW9ucyIsCiAgIlJMLVJlZ2lvbnMgdGVzdCIKKQpybHJlc2xzdCA8LSBybHJlc2xzdFtyZXNfb3JkZXJdCmlzbnVsbCA8LSB2YXBwbHkocmxyZXNsc3QsIGlzLm51bGwsIEZVTi5WQUxVRSA9IGxvZ2ljYWwoMSkpCmBgYAoKIyBTdW1tYXJ5CgpUaGlzIHJlcG9ydCB3YXMgZ2VuZXJhdGVkIHdpdGggKipSTFNlcSB2YHIgcGFja2FnZVZlcnNpb24oIlJMU2VxIilgKiouCgojIyMgU2FtcGxlIGluZm9ybWF0aW9uCgpTYW1wbGUgbmFtZTogPHN0cm9uZz5gciBvYmplY3RAbWV0YWRhdGEkc2FtcGxlTmFtZWA8L3N0cm9uZz4KClNhbXBsZSB0eXBlOiA8c3Ryb25nPmByIG9iamVjdEBtZXRhZGF0YSRtb2RlYDwvc3Ryb25nPgoKTGFiZWw6IDxzdHJvbmc+YHIgb2JqZWN0QG1ldGFkYXRhJGxhYmVsYDwvc3Ryb25nPgoKR2Vub21lOiA8c3Ryb25nPmByIEdlbm9tZUluZm9EYjo6Z2Vub21lKG9iamVjdClbMV1gPC9zdHJvbmc+CgpUaW1lOiA8c3Ryb25nPmByIGRhdGUoKWA8L3N0cm9uZz4KCiMjIyBSZXN1bHRzIHN1bW1hcnkKCmBgYHtyfQpkcGx5cjo6dGliYmxlKAogIFJlc3VsdCA9IHBhc3RlMCgiPGEgaHJlZj1cIiMiLCByZXNfb3JkZXIsIlwiPiIsIG5hbWVzKHJlc19vcmRlciksICI8L2E+IiksCiAgQXZhaWxhYmxlID0gISBpc251bGwKKSAlPiUKICBrYWJsZUV4dHJhOjprYmwoZXNjYXBlID0gRkFMU0UpICU+JQogIGthYmxlRXh0cmE6OmthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiKSkgJT4lCiAga2FibGVFeHRyYTo6Y29sdW1uX3NwZWMoCiAgICBjb2x1bW4gPSAxLAogICAgYm9sZCA9IFRSVUUKICApICU+JQogIGthYmxlRXh0cmE6OmNvbHVtbl9zcGVjKAogICAgY29sdW1uID0gMiwKICAgIGNvbG9yID0gaWZlbHNlKCEgaXNudWxsLCAiYmxhY2siLCAiZ3JleSIpLAogICAgYm9sZCA9ICEgaXNudWxsCiAgKSAKYGBgCgojIFJlc3VsdHMKCmBgYHtyIGNoaWxkUk1ELCByZXN1bHRzPSdhc2lzJ30Kcm1kbHN0IDwtIGxhcHBseSgKICAgIHNlcShyZXNfb3JkZXIpLAogICAgZnVuY3Rpb24oaSkgewogICAgICAgIHJlc0FuY2hvciA8LSByZXNfb3JkZXJbaV0KICAgICAgICBmdW5jIDwtIGZ1bmNzW2ldCiAgICAgICAgaWYgKGlzbnVsbFtpXSkgewogICAgICAgICAgICBrbml0cjo6a25pdF9jaGlsZCgKICAgICAgICAgICAgICAgIHRleHQ9YygKICAgICAgICAgICAgICAgICAgICAnIyMgYHIgaWAuIGByIG5hbWVzKHJlc0FuY2hvcilgIHsjYHIgcmVzQW5jaG9yYH0nLAogICAgICAgICAgICAgICAgICAgICcnLAogICAgICAgICAgICAgICAgICAgIHBhc3RlMCgnKlVuYXZhaWxhYmxlKi4gUnVuIGAnLCBmdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAnKClgIGFuZCB0aGVuIGByZXBvcnQoKWAgYWdhaW4gdG8gdmlldyB0aGlzIHJlc3VsdC4nKSwKICAgICAgICAgICAgICAgICAgICAnJywKICAgICAgICAgICAgICAgICAgICAnKioqJywKICAgICAgICAgICAgICAgICAgICAnJwogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIGVudmlyID0gZW52aXJvbm1lbnQoKSwgCiAgICAgICAgICAgICAgICBxdWlldCA9IFRSVUUKICAgICAgICAgICAgKQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGtuaXRyOjprbml0X2NoaWxkKAogICAgICAgICAgICAgICAgc3lzdGVtLmZpbGUoCiAgICAgICAgICAgICAgICAgICAgIlJtZCIsCiAgICAgICAgICAgICAgICAgICAgcGFzdGUwKHJlc0FuY2hvciwgIi5SbWQiKSwKICAgICAgICAgICAgICAgICAgICBwYWNrYWdlID0gIlJMU2VxIgogICAgICAgICAgICAgICAgKSwgCiAgICAgICAgICAgICAgICBlbnZpciA9IGVudmlyb25tZW50KCksIAogICAgICAgICAgICAgICAgcXVpZXQgPSBUUlVFCiAgICAgICAgICAgICkKICAgICAgICB9CiAgICB9CikKY2F0KHVubGlzdChybWRsc3QpLCBzZXAgPSAiXG4iKQpgYGAKCiMgT3RoZXIKCj4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgKlJMU2VxKiBwbGVhc2UgdmlzaXQgdGhlIHBhY2thZ2UgaG9tZXBhZ2UgW2hlcmVdKGh0dHBzOi8vZ2l0aHViLmNvbS9CaXNob3AtTGFib3JhdG9yeS9STFNlcSl7dGFyZ2V0PSJfYmxhbmsifS4KCioqTm90ZSoqOiBpZiB5b3UgdXNlICpSTFNlcSogaW4gcHVibGlzaGVkIHJlc2VhcmNoLCBwbGVhc2UgcmVmZXJlbmNlOgoKPiBNaWxsZXIgZXQgYWwuLCBSTFNlcSwgKDIwMjEpLCBHaXRIdWIgcmVwb3NpdG9yeSwgW0Jpc2hvcC1MYWJvcmF0b3J5L1JMU2VxXShodHRwczovL2dpdGh1Yi5jb20vQmlzaG9wLUxhYm9yYXRvcnkvUkxTZXEpe3RhcmdldD0iX2JsYW5rIn0KCiMjIFNlc3Npb24gaW5mbwoKPGRldGFpbHM+Cgo8c3VtbWFyeT5TZXNzaW9uIGluZm88L3N1bW1hcnk+CgpgYGB7cn0Kc2Vzc2lvbkluZm8oKQpgYGAKCjwvZGV0YWlscz4KCiZuYnNwOwo8aHIgLz4KPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPlJMU2VxIMKpIGByIGZvcm1hdChTeXMuRGF0ZSgpLCAiJVkiKWAsIDxhIGhyZWY9Imh0dHBzOi8vZ2NjcmkuYmlzaG9wLWxhYi51dGhzY3NhLmVkdS8iICB0YXJnZXQ9Il9ibGFuayI+QmlzaG9wIExhYjwvYT4sIFVUIEhlYWx0aCBTYW4gQW50b25pbzwvcD4KPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPlJMU2VxIG1haW50YWluZXI6IDxzcGFuIHN0eWxlPSJjb2xvcjogIzgwODA4MDsiPjxlbT48YSBocmVmPSJtYWlsdG86bWlsbGVyaDFAdXRoc2NzYS5lZHUiPkhlbnJ5IE1pbGxlcjwvYT48L2VtPjwvc3Bhbj48L3A+CgombmJzcDsK