Reference, Resources and Data

Nature Protocols volume 8, pages 1494-1512 (2013)

AWS instance: m4.xlarge

CentOS 7 on Virtual Box

Directory and subdirectory contents:

Note that the S_pombe_refTrans.fasta and samples_n_reads_described.txt won’t be used for de novo assembly

trinity$ ls

TrinityNatureProtocolTutorial

TrinityNatureProtocolTutorial.tgz

TrinityNatureProtocolTutorial$ ls -l

drwxrwxr-x 3 ubuntu ubuntu 4096 Mar 5 03:25 1M_READS_sample

-rw-rw-r– 1 ubuntu ubuntu 7830629 Feb 6 2013 S_pombe_refTrans.fasta

-rw-rw-r– 1 ubuntu ubuntu 422 Feb 6 2013 samples_n_reads_described.txt

1M_READS_sample$ ls -l

-rw-rw-r– 1 ubuntu ubuntu 703222969 Mar 4 23:53 ALL.LEFT.fq

-rw-rw-r– 1 ubuntu ubuntu 703222969 Mar 4 23:54 ALL.RIGHT.fq

-rw-rw-r– 1 ubuntu ubuntu 175846179 Feb 6 2013 Sp.ds.1M.left.fq

-rw-rw-r– 1 ubuntu ubuntu 175846179 Feb 6 2013 Sp.ds.1M.right.fq

-rw-rw-r– 1 ubuntu ubuntu 175736042 Feb 6 2013 Sp.hs.1M.left.fq

-rw-rw-r– 1 ubuntu ubuntu 175736042 Feb 6 2013 Sp.hs.1M.right.fq

-rw-rw-r– 1 ubuntu ubuntu 175741215 Feb 6 2013 Sp.log.1M.left.fq

-rw-rw-r– 1 ubuntu ubuntu 175741215 Feb 6 2013 Sp.log.1M.right.fq

-rw-rw-r– 1 ubuntu ubuntu 175899533 Feb 6 2013 Sp.plat.1M.left.fq

-rw-rw-r– 1 ubuntu ubuntu 175899533 Feb 6 2013 Sp.plat.1M.right.fq

Run trinity to assemble the data files

1M_READS_sample$ Trinity –seqType fq –SS_lib_type RF –left ALL.LEFT.fq –right ALL.RIGHT.fq –CPU 4 –max_memory 4G

Some logs and outputs from the above command

 ______  ____   ____  ____   ____  ______  __ __
|      ||    \ |    ||    \ |    ||      ||  |  |
|      ||  D  ) |  | |  _  | |  | |      ||  |  |
|_|  |_||    /  |  | |  |  | |  | |_|  |_||  ~  |
  |  |  |    \  |  | |  |  | |  |   |  |  |___, |
  |  |  |  .  \ |  | |  |  | |  |   |  |  |     |
  |__|  |__|\_||____||__|__||____|  |__|  |____/

Left read files: $VAR1 = [ ‘ALL.LEFT.fq’ ]; Right read files: $VAR1 = [ ‘ALL.RIGHT.fq’ ];

Trinity version: Trinity-v2.6.6

NOTE: Latest version of Trinity is Trinity-v2.8.4, and can be obtained at: https://github.com/trinityrnaseq/trinityrnaseq/releases

Sunday, March 24, 2019: 18:10:34 CMD: java -Xmx64m -XX:ParallelGCThreads=2 -jar /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/support_scripts/ExitTester.jar 0

Sunday, March 24, 2019: 18:10:34 CMD: java -Xmx64m -XX:ParallelGCThreads=2 -jar /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/support_scripts/ExitTester.jar 1

Sunday, March 24, 2019: 18:10:34 CMD: mkdir -p /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir

Sunday, March 24, 2019: 18:10:34 CMD: mkdir -p /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis

————– Trinity Phase 1: Clustering of RNA-Seq Reads ———————
———— In silico Read Normalization ———————
– (Removing Excess Reads Beyond 50 Coverage –

running normalization on reads: $VAR1 = [ [ ‘/home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/ALL.LEFT.fq’ ], [ ‘/home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/ALL.RIGHT.fq’ ] ];

Sunday, March 24, 2019: 18:10:34 CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/insilico_read_normalization.pl –seqType fq –JM 10G –max_cov 50 –min_cov 1 –CPU 4 –output /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization –max_pct_stdev 10000 –SS_lib_type RF –left /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/ALL.LEFT.fq –right /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/ALL.RIGHT.fq –pairs_together –PARALLEL_STATS
Converting input files. (both directions in parallel)CMD: seqtk-trinity seq -r -A /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/ALL.LEFT.fq >> left.fa CMD: seqtk-trinity seq -A /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/ALL.RIGHT.fq >> right.fa

CMD finished (14 seconds) CMD finished (14 seconds) CMD: touch left.fa.ok CMD finished (0 seconds) CMD: touch right.fa.ok CMD finished (0 seconds)

Done converting input files.CMD: cat left.fa right.fa > both.fa

CMD finished (1 seconds) CMD: touch both.fa.ok CMD finished (0 seconds)

———– Jellyfish ——————–
– (building a k-mer catalog from reads) –

CMD: jellyfish count -t 4 -m 25 -s 100000000 both.fa CMD finished (86 seconds) CMD: jellyfish histo -t 4 -o jellyfish.K25.min2.kmers.fa.histo mer_counts.jf CMD finished (4 seconds) CMD: jellyfish dump -L 2 mer_counts.jf > jellyfish.K25.min2.kmers.fa CMD finished (9 seconds) CMD: touch jellyfish.K25.min2.kmers.fa.success CMD finished (0 seconds)

CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/..//Inchworm/bin/fastaToKmerCoverageStats –reads left.fa –kmers jellyfish.K25.min2.kmers.fa –kmer_size 25 –num_threads 2 > left.fa.K25.stats

CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/..//Inchworm/bin/fastaToKmerCoverageStats –reads right.fa –kmers jellyfish.K25.min2.kmers.fa –kmer_size 25 –num_threads 2 > right.fa.K25.stats -reading Kmer occurrences… -reading Kmer occurrences…

done parsing 11516918 Kmers, 10858353 added, taking 40 seconds.

done parsing 11516918 Kmers, 10858353 added, taking 41 seconds.

STATS_GENERATION_TIME: 231 seconds. STATS_GENERATION_TIME: 231 seconds. CMD finished (273 seconds) CMD finished (274 seconds) CMD: touch left.fa.K25.stats.ok CMD finished (0 seconds) CMD: touch right.fa.K25.stats.ok CMD finished (0 seconds) -sorting each stats file by read name.

CMD: /usr/bin/sort –parallel=4 -k5,5 -T . -S 5G left.fa.K25.stats > left.fa.K25.stats.sort

CMD: /usr/bin/sort –parallel=4 -k5,5 -T . -S 5G right.fa.K25.stats > right.fa.K25.stats.sort

CMD finished (2 seconds) CMD finished (2 seconds) CMD: touch left.fa.K25.stats.sort.ok CMD finished (0 seconds) CMD: touch right.fa.K25.stats.sort.ok CMD finished (0 seconds)

CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/..//util/support_scripts//nbkc_merge_left_right_stats.pl –left left.fa.K25.stats.sort –right right.fa.K25.stats.sort –sorted > pairs.K25.stats

-opening left.fa.K25.stats.sort -opening right.fa.K25.stats.sort -done opening files. CMD finished (20 seconds) CMD: touch pairs.K25.stats.ok CMD finished (0 seconds)

CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/..//util/support_scripts//nbkc_normalize.pl –stats_file pairs.K25.stats –max_cov 50 –min_cov 1 –max_pct_stdev 10000 > pairs.K25.stats.C50.pctSD10000.accs 1964251 / 4000000 = 49.11% reads selected during normalization. 0 / 4000000 = 0.00% reads discarded as likely aberrant based on coverage profiles. 0 / 4000000 = 0.00% reads missing kmer coverage (N chars included?). 0 / 4000000 = 0.00% reads discarded as below minimum coverage threshold=1 CMD finished (5 seconds)

CMD: touch pairs.K25.stats.C50.pctSD10000.accs.ok CMD finished (0 seconds)

CMD: touch /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/ALL.LEFT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq.ok CMD finished (0 seconds)

CMD: touch /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/ALL.RIGHT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq.ok CMD finished (0 seconds)

CMD: ln -sf /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/ALL.LEFT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq left.norm.fq CMD finished (0 seconds)

CMD: ln -sf /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/ALL.RIGHT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq right.norm.fq CMD finished (0 seconds) -removing tmp dir /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/tmp_normalized_reads

Normalization complete. See outputs:

/home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/ALL.LEFT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq
/home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/ALL.RIGHT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq

Sunday, March 24, 2019: 18:18:19 CMD: touch /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/normalization.ok Converting input files. (in parallel)Sunday, March 24, 2019: 18:18:19 CMD: cat /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/left.norm.fq | seqtk-trinity seq -r -A - >> left.fa Sunday, March 24, 2019: 18:18:19 CMD: cat /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/right.norm.fq | seqtk-trinity seq -A - >> right.fa Sunday, March 24, 2019: 18:18:20 CMD: touch right.fa.ok Sunday, March 24, 2019: 18:18:21 CMD: touch left.fa.ok Sunday, March 24, 2019: 18:18:21 CMD: touch left.fa.ok right.fa.ok Sunday, March 24, 2019: 18:18:21 CMD: cat left.fa right.fa > /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/both.fa Sunday, March 24, 2019: 18:18:21 CMD: touch /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/both.fa.ok

———– Jellyfish ——————–
– (building a k-mer catalog from reads) –
  • Running CMD: jellyfish count -t 4 -m 25 -s 100000000 /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/both.fa
  • Running CMD: jellyfish dump -L 1 mer_counts.jf > jellyfish.kmers.fa
  • Running CMD: jellyfish histo -t 4 -o jellyfish.kmers.fa.histo mer_counts.jf
————— Inchworm ———————
– (Linear contig construction from k-mers) –
  • Running CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/Inchworm/bin//inchworm –kmers jellyfish.kmers.fa –run_inchworm -K 25 -L 25 –monitor 1 –num_threads 4 –PARALLEL_IWORM > /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/inchworm.K25.L25.fa.tmp
  • Running CMD: mv /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/inchworm.K25.L25.fa.tmp /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/inchworm.K25.L25.fa Sunday, March 24, 2019: 18:23:16 CMD: touch /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/inchworm.K25.L25.fa.finished
——————– Chrysalis ————————-
– (Contig Clustering & de Bruijn Graph Construction) –

inchworm_target: /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/both.fa

bowite_reads_fa: /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/both.fa

chrysalis_reads_fa: /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/both.fa

  • Running CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/support_scripts/filter_iworm_by_min_length_or_cov.pl /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/inchworm.K25.L25.fa 100 10 > /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/inchworm.K25.L25.fa.min100

  • Running CMD: /home/ubuntu/miniconda3/bin/bowtie2-build –threads 4 -o 3 /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/inchworm.K25.L25.fa.min100 /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/inchworm.K25.L25.fa.min100 1>/dev/null

  • Running CMD: bash -c " set -o pipefail;/home/ubuntu/miniconda3/bin/bowtie2 –local -k 2 –no-unal –threads 4 -f –score-min G,20,4 -x /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/inchworm.K25.L25.fa.min100 /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/both.fa | samtools view -@ 4 -F4 -Sb - | samtools sort -m 1342177280 -@ 4 -no - - > /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/iworm.bowtie.nameSorted.bam"

  • Running CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/support_scripts/scaffold_iworm_contigs.pl /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/iworm.bowtie.nameSorted.bam /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/inchworm.K25.L25.fa > /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/iworm_scaffolds.txt

  • Running CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/Chrysalis/GraphFromFasta -i /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/inchworm.K25.L25.fa -r /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/both.fa -min_contig_length 200 -min_glue 2 -glue_factor 0.05 -min_iso_ratio 0.05 -t 4 -k 24 -kk 48 -strand -scaffolding /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/iworm_scaffolds.txt > /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/iworm_cluster_welds_graph.txt

  • Running CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/Chrysalis/BubbleUpClustering -i /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/inchworm.K25.L25.fa -weld_graph /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/iworm_cluster_welds_graph.txt -min_contig_length 200 > /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/GraphFromIwormFasta.out

  • Running CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/Chrysalis/CreateIwormFastaBundle -i /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/GraphFromIwormFasta.out -o /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/bundled_iworm_contigs.fasta -min 200

  • Running CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/Chrysalis/ReadsToTranscripts -i /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/both.fa -f /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/bundled_iworm_contigs.fasta -o /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/readsToComponents.out -t 4 -max_mem_reads 50000000 -strand

  • Running CMD: /usr/bin/sort –parallel=4 -T . -S 10G -k 1,1n /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/readsToComponents.out > /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/chrysalis/readsToComponents.out.sort

Sunday, March 24, 2019: 18:29:13 CMD: mkdir -p /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/read_partitions/Fb_0/CBin_0

Sunday, March 24, 2019: 18:29:13 CMD: mkdir -p /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/read_partitions/Fb_0/CBin_1

Sunday, March 24, 2019: 18:29:14 CMD: mkdir -p /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/read_partitions/Fb_0/CBin_2

Sunday, March 24, 2019: 18:29:14 CMD: mkdir -p /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/read_partitions/Fb_0/CBin_3

Sunday, March 24, 2019: 18:29:14 CMD: mkdir -p /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/read_partitions/Fb_0/CBin_4

Sunday, March 24, 2019: 18:29:14 CMD: mkdir -p /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/read_partitions/Fb_0/CBin_5

…………………. ………………….

Sunday, March 24, 2019: 18:29:24 CMD: mkdir -p /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/read_partitions/Fb_0/CBin_61

Sunday, March 24, 2019: 18:29:24 CMD: touch /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/partitioned_reads.files.list.ok

Sunday, March 24, 2019: 18:29:24 CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/support_scripts/write_partitioned_trinity_cmds.pl –reads_list_file /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/partitioned_reads.files.list –CPU 1 –max_memory 1G –run_as_paired –SS_lib_type F –seqType fa –trinity_complete –full_cleanup > recursive_trinity.cmds Sunday, March 24, 2019: 18:29:24 CMD: touch recursive_trinity.cmds.ok Sunday, March 24, 2019: 18:29:24 CMD: touch recursive_trinity.cmds.ok

———— Trinity Phase 2: Assembling Clusters of Reads ———————

Sunday, March 24, 2019: 18:29:24 CMD: ParaFly -c recursive_trinity.cmds -CPU 4 -v -shuffle

Number of Commands: 6168

………………… ………………..

All commands completed successfully. :-)

** Harvesting all assembled transcripts into a single multi-fasta file…

Sunday, March 24, 2019: 21:09:42 CMD: find /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/read_partitions/ -name ’*inity.fasta’ | /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/support_scripts/partitioned_trinity_aggregator.pl TRINITY_DN > /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/Trinity.fasta.tmp -relocating /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/Trinity.fasta.tmp to /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/Trinity.fasta

Sunday, March 24, 2019: 21:09:42 CMD: mv /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/Trinity.fasta.tmp /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/Trinity.fasta

Trinity assemblies are written to /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/Trinity.fasta ###################################################################

Sunday, March 24, 2019: 21:09:42 CMD: /home/ubuntu/miniconda3/opt/trinity-2.6.6/util/support_scripts/get_Trinity_gene_to_trans_map.pl /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/Trinity.fasta > /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/Trinity.fasta.gene_trans_map

Additional Directory/subdirectory/files following the run

trinity_out_dir$ ls -l

-rw-rw-r– 1 ubuntu ubuntu 9882912 Mar 24 21:09 Trinity.fasta

-rw-rw-r– 1 ubuntu ubuntu 414104 Mar 24 21:09 Trinity.fasta.gene_trans_map

-rw-rw-r– 1 ubuntu ubuntu 656 Mar 24 21:09 Trinity.timing

-rw-rw-r– 1 ubuntu ubuntu 411748816 Mar 24 18:18 both.fa

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:18 both.fa.ok

-rw-rw-r– 1 ubuntu ubuntu 8 Mar 24 18:18 both.fa.read_count

drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 24 18:29 chrysalis

-rw-rw-r– 1 ubuntu ubuntu 15101793 Mar 24 18:23 inchworm.K25.L25.fa

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:23 inchworm.K25.L25.fa.finished

-rw-rw-r– 1 ubuntu ubuntu 9 Mar 24 18:20 inchworm.kmer_count

drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 24 18:18 insilico_read_normalization

-rw-rw-r– 1 ubuntu ubuntu 971810373 Mar 24 18:19 jellyfish.kmers.fa

-rw-rw-r– 1 ubuntu ubuntu 1863 Mar 24 18:19 jellyfish.kmers.fa.histo

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:18 left.fa.ok

-rw-rw-r– 1 ubuntu ubuntu 830570 Mar 24 18:29 partitioned_reads.files.list

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:29 partitioned_reads.files.list.ok

-rw-rw-r– 1 ubuntu ubuntu 2134 Mar 24 18:29 pipeliner.10579.cmds

-rw-rw-r– 1 ubuntu ubuntu 2134 Mar 24 20:54 pipeliner.16726.cmds

drwxrwxr-x 3 ubuntu ubuntu 4096 Mar 24 18:29 read_partitions

-rw-rw-r– 1 ubuntu ubuntu 2944084 Mar 24 18:29 recursive_trinity.cmds

-rw-rw-r– 1 ubuntu ubuntu 2944084 Mar 24 21:09 recursive_trinity.cmds.completed

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:29 recursive_trinity.cmds.ok

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:18 right.fa.ok

-rw-rw-r– 1 ubuntu ubuntu 1042464724 Mar 24 18:26 scaffolding_entries.sam

ls -l trinity_out_dir/chrysalis

-rw-rw-r– 1 ubuntu ubuntu 11709350 Mar 24 18:26 GraphFromIwormFasta.out

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:26 GraphFromIwormFasta.out.ok

-rw-rw-r– 1 ubuntu ubuntu 9779774 Mar 24 18:26 bundled_iworm_contigs.fasta

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:26 bundled_iworm_contigs.fasta.ok

-rw-rw-r– 1 ubuntu ubuntu 11215382 Mar 24 18:23 inchworm.K25.L25.fa.min100

-rw-rw-r– 1 ubuntu ubuntu 8815987 Mar 24 18:23 inchworm.K25.L25.fa.min100.1.bt2

-rw-rw-r– 1 ubuntu ubuntu 5018856 Mar 24 18:23 inchworm.K25.L25.fa.min100.2.bt2

-rw-rw-r– 1 ubuntu ubuntu 164285 Mar 24 18:23 inchworm.K25.L25.fa.min100.3.bt2

-rw-rw-r– 1 ubuntu ubuntu 2509425 Mar 24 18:23 inchworm.K25.L25.fa.min100.4.bt2

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:23 inchworm.K25.L25.fa.min100.bowtie2-build.ok

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:23 inchworm.K25.L25.fa.min100.ok

-rw-rw-r– 1 ubuntu ubuntu 8815987 Mar 24 18:23 inchworm.K25.L25.fa.min100.rev.1.bt2

-rw-rw-r– 1 ubuntu ubuntu 5018856 Mar 24 18:23 inchworm.K25.L25.fa.min100.rev.2.bt2

-rw-rw-r– 1 ubuntu ubuntu 169011748 Mar 24 18:25 iworm.bowtie.nameSorted.bam

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:25 iworm.bowtie.nameSorted.bam.ok

-rw-rw-r– 1 ubuntu ubuntu 281954 Mar 24 18:26 iworm_cluster_welds_graph.txt

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:26 iworm_cluster_welds_graph.txt.ok

-rw-rw-r– 1 ubuntu ubuntu 561543 Mar 24 18:26 iworm_scaffolds.txt

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:26 iworm_scaffolds.txt.ok

-rw-rw-r– 1 ubuntu ubuntu 408262320 Mar 24 18:29 readsToComponents.out

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:29 readsToComponents.out.ok

-rw-rw-r– 1 ubuntu ubuntu 8 Mar 24 18:29 readsToComponents.out.rcts.out

-rw-rw-r– 1 ubuntu ubuntu 408262320 Mar 24 18:29 readsToComponents.out.sort

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:29 readsToComponents.out.sort.ok

ls -l trinity_out_dir/insilico_read_normalization/

-rw-rw-r– 1 ubuntu ubuntu 345336229 Mar 24 18:18 ALL.LEFT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:18 ALL.LEFT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq.ok

-rw-rw-r– 1 ubuntu ubuntu 345336229 Mar 24 18:18 ALL.RIGHT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:18 ALL.RIGHT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq.ok

lrwxrwxrwx 1 ubuntu ubuntu 164 Mar 24 18:18 left.norm.fq [0m -> /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/ALL.LEFT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq

-rw-rw-r– 1 ubuntu ubuntu 0 Mar 24 18:18 normalization.ok

lrwxrwxrwx 1 ubuntu ubuntu 165 Mar 24 18:18 right.norm.fq [0m -> /home/ubuntu/trinity/TrinityNatureProtocolTutorial/1M_READS_sample/trinity_out_dir/insilico_read_normalization/ALL.RIGHT.fq.normalized_K25_maxC50_minC1_pctSD10000.fq

ls -l trinity_out_dir/read_partitions/Fb_0/

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:09 CBin_0

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:07 CBin_1

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:09 CBin_10

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:07 CBin_11

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:06 CBin_12

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:09 CBin_13

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:08 CBin_14

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:08 CBin_15

drwxrwxr-x 3 ubuntu ubuntu 12288 Mar 24 21:08 CBin_16

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:09 CBin_17

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:09 CBin_18

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:09 CBin_19

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:09 CBin_2

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_20

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_21

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:07 CBin_22

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_23

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_24

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_25

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_26

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_27

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:05 CBin_28

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_29

drwxrwxr-x 3 ubuntu ubuntu 12288 Mar 24 21:09 CBin_3

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:08 CBin_30

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_31

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_32

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_33

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:08 CBin_34

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:07 CBin_35

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_36

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_37

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:06 CBin_38

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_39

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_4

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_40

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_41

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_42

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:06 CBin_43

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:06 CBin_44

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_45

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:07 CBin_46

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_47

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:07 CBin_48

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_49

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:07 CBin_5

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_50

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_51

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:09 CBin_52

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_53

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:07 CBin_54

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_55

drwxrwxr-x 3 ubuntu ubuntu 16384 Mar 24 21:09 CBin_56

drwxrwxr-x 3 ubuntu ubuntu 16384 Mar 24 21:08 CBin_57

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_58

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_59

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:04 CBin_6

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_60

drwxrwxr-x 2 ubuntu ubuntu 12288 Mar 24 21:09 CBin_61

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_7

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:08 CBin_8

drwxrwxr-x 2 ubuntu ubuntu 16384 Mar 24 21:09 CBin_9

Derive stats on genes, transcripts and contigs

trinity_out_dir$ TrinityStats.pl Trinity.fasta

Counts of transcripts, etc.:

Total trinity ‘genes’: 8666

Total trinity transcripts: 9249

Percent GC: 38.08

Stats based on ALL transcript contigs:

Contig N10: 3139

Contig N20: 2571

Contig N30: 2157

Contig N40: 1846

Contig N50: 1592

Median contig length: 732

Average contig: 1015.35

Total assembled bases: 9390975

Stats based on ONLY LONGEST ISOFORM per ‘GENE’:

Contig N10: 3170

Contig N20: 2589

Contig N30: 2166

Contig N40: 1862

Contig N50: 1595

Median contig length: 718

Average contig: 1009.77

Total assembled bases: 8750698

Some readouts:

head trinity_out_dir/Trinity.fasta

TRINITY_DN4108_c0_g1_i1 len=1465 path=[0:0-1464] CCATTATATTTAATTTAAATAAAACCCTTACATCGGGGAGAAAACATGTCAGAACATACAAGAAAATCATTCTCTGATTTAGGAATATCGCCATGGCTTATCGATACGCTAAAAGCACTTGCAATATATGAACCTACAGATATTCAGGAAGGAGTAATTGCTCAGATTTTAGAAGGACGTAATTGTATTGGAGGTGCTAAAACAGGTTCTGGTAAAACTGCTGCTTTTGCTTTGCCTATTATTGAAAAATGGTCTAAGGATCCATCAGGAATATTTGCTCTTATTTTGACACCAACCAGAGAACTTGCAATACAGATTGATGAACAATTTGCTGCTTTAGGTGCTAATCTTAATTTAAAGCATGCGCTCATCGTTGGAGGCATGGATATGATACGACAATCTATTGATTTATCGAAACGGCCCCATGTTGTTGTAGCTACTCCTGGTCGCCTAGCTGACTTGATTAGAAGTAATGGTGAAGAAACGATAGCCGGACTACGTCGAATAAAATTTTTGGTAATGGACGAAGCCGACCGTTTGTTGTCTCCTACCTTTGCTGATGACTTGGATGATTGCTTTTCTGTTCTTCCAGCCTCTGAAGATCGTCAAACGCTTTTGTTTACTGCAACTGTTACTGATGCTATTCGTCAGCTCAAATATCAGCCACAGAAAAATAATAAGCCTCCCCTTTGGTTATACGAAGTTGAAACTGATAACATTTCCGTACCTTCTACTTTGCAGCAAAGTTACATATTTGTTTCCTCACAAGTACGAGAAGCTTATTTGGTGCATTTGTTAACGATTCCTGAGAACGCTAAAAAGTCTGCAATTATCTTTGTAAATCGGACTCGCACTGCTGAATTGATATATTCTATTCTTCGATTGCTCGAGCTTCGTGTCACCGAACTTCATTCAGAAATGGTACAACGTGAAAGGATCAATTCACTTGGACGGTTTCGTGCGGAAGCTGCAAAAATTTTGGTAGCCACTGACGTTGCAAGCAGAGGTTTGGATATTCCTTCTGTGCAACTAGTAATTAACTTCGACCTTCCTCGTGACCCAGACGACTATATTCACCGAGTAGGTCGTACAGCTCGTGCTGGACGCAGTGGCGAGTCCATTTCCATTGTAACGGAGAGAGATGTTGATTTAGTCCATGCTATTGAGGATCGAGTAGGAACTAAGCTTTCTGAATATGAACACGTGTCAGAGAATAAGATGCTTGAATACATCAAGGAAGTTACGGACGCTAAACGCCAGGCTTCTCTTGAGATGATCGATAGGGGATTTGGTGAAAGGAGACAGAAGCGAAACGAGAAAAGGCTGATGGCCAATGGTATTTCTAATAAATTAAAAAATTCTGGACGCAAAAAGAAAGCGAAGAATACTTTATCTACGGAAAAGTAGTATAAAAGTTTTGAAGTTCAAGGTTGTTTTAGTGGTTTAAGGTATATATATATACGGA

TRINITY_DN4127_c0_g1_i1 len=1610 path=[0:0-1609] CAAAAAACCAAAGTGTTTGGAGCGGCGGAATTAAAAAGAAAATATATTATTGATAATGCCCAAGGCTCCAAAAACTAAACTGCATCATGCTCCTCTTTATAAGGACATTGCAGAATCTTCAGAAAGTGGTGTCTTGAGACAGAAACCTAGCAAACAGAAAAAGTCGAAAGAAAGCAACACCGGAAACGGCTTCTTGGATGCCAAGACTTCTAAAAAAATTTTACAATTAGCAAGGGAACAAAAAGAGGAGTTGGATGAAGAAGAAAATGGAAAACCTTCACAGATCAGTGCTTTTATTAGTAATGGACATCAAAAAGACACTTTAGAAAATCCGGCAATTGAATCAAGCTATGAAGAATCAGAGCATGCTAGAAATGTATCCGATAGTGAAAGCATTACTTCTCAAGAAGAAGAAGAGTATGAGGAGCTTGAGATAGATGATGCTGACCGAGATTTATTCGATCGATTCCTCCCAACCGTGTCAGGCGAGGAAGGAGATCTAACAGAGGAAAAAACCACCTCACTATCCGATTTGATCATGCAAAAAATCAACGAGGCTGAAGCTCGCGCTCGTGGTGAATATATCCCTTCTGCAGAAGAGGAGGAAAATGCCTTACCTCCCTTGCCTCCCAAGGTAATAGAGGTCTATTCAAAGGTTGGGGTTTTACTTAGTAAATACCGCTCAGGAAAAATTCCTAAAGCTTTCAAAATTATCCCTACGTTGTCTAATTGGGAAGACATACTTTATCTCACTCGACCTGACATGTGGACACCTCATGCTTGTTATGAAGCTACTCGTATTTTTATTTCCAACTTAAAACCTGTACAAGCTCAACACTTCCTCACAGTCATTATTTTGGAAAGAGTTCGTGATGACATTCGTGAAAATAAAAAATTAAATTACCATTTATATATGGCTTTGAAAAAGGCATTATACAAACCGTCTTCTTGGTTTAAGGGTTTCTTGTTTCCTCTAGTTCAAGAGAATTGCACTTTGCGCGAAGCCGCAATCATCGGTAGTATCCTTCAAAAAGTTTCTGTGCCGGTTCTGCATTCTGCAGCCGCGTTATTACGTTTAACTGAGTTTGACTTGAGTGGTGCTACTTCCGTATTTATTAGGATATTACTCGACAAAAAATATGCTCTACCGTATAAGGTGCTTGATTCTTTGGTTTTTTATTTTATGCGATGGAAATCATTGGAACGTCCACTTGCTGTATTAGAACATCAATCGATGTTGGTCTTTGCTCAACGGTACAAATTTGATATTACACCCGAACAAAAGGATGCACTCTTAGAAGTTGTTCGCCTGAAAGGACATTATTCTATTGGTCCAGAAATTAGACGTGAGCTGCTTAACAGTGCTAGTCGTGGTGAAGAAATTCCTGTGGAAATGGAATATTAATTGAATGGTTTTGGTTTTCTTGGGTTCACTTGGCATTTGTTTCTTTTGTAAAAAAAATTGAATAAAAAGACTTCGGATTAGCCGCTGTTTTTCAATGTTGGGAATATTTTTACTTAAATTGTGGGTTTTATGTTCACCAATTAATAGGATTATTGAGGTCTATAGATTTGTTAATTAATTTTTATTAAACAGACTTAAATATAAT

TRINITY_DN4193_c0_g1_i1 len=1271 path=[0:0-1270] GTTCCTTAGCATCTGCCACCTCCACTATATTGTTTATTTTGAAATATTATATTTTGAGGCGTGTTCTCAAATTATTTAGACCAGAAAATTTTTAACTTCAACCAAAGTTATTAATTTGCTTGAAAAGATTGTTCTACCACCCAACTTACATCAAATAACGAAAAACTGAGATTGACTTCTGGTGAAATATCTTGTTTCAGAAACATCAAATAAGGCTGGTCTTCGTATTTTAGAAACATAATTGAGGTGCTACCAATACTTTTTGACTGTAGGTTAGCTGCAATCAGGCTTTTCATTCATTGACTAAATTTATTCCTTGGTTTACGAGTCCAAAAATTTAGTCGCAACTTTAAATTTCTCTTTTTTCCCTTTCAAGATGCACATTAACGAAGAAACAGATTGGATCGATTTGGTCAAACCAGCGTTAGCAAAGAAGCCCAAAAAGATCGTTGACAATTCTGACAAGTTCCCTACGCCTCGAGGATTTCAACAGAAGTCGTTGGTTTCCAAAAACATTCATTCAGGAAATTCAGCTTCCTCAACTTCCATATTTGCTAAACGAGAGGAAGAATTACAAAAGGATCTCTTACTAAAGAAAGCATGGGAGCTTGCATATTCCCCCCTTAAACAAATTCCTATGAACGCTATTTTAGCATACATGTCTGGTAATTCACTACAAATTTTCAGTATTATGACGACTCTTATGTTGCTTGTAAATCCACTGAAAGCAATAACATCTACAGGATCTGCCTTCACCCCATTTAAAGGCACCCACCCAGGAACCCTTTGGCCCGCTATGGGTGCTTATATTTTATTCCAATTATTGCTTATGGGGATTGGAGTCTATAAGCTGCAAAGAATGGGATTATTGCCAACGACTACCAGCGATTGGCTTGCCTGGGAAGTCTCGAAGGTCTTTATGGATCGATCTTATGGTCCTAGTAAAACTGTTTTGTAAGAATTTCATTTACTCCAAAATTTTAAAGATATACGAGTGAAATCGTTAAATTATAGTACCTCCTAATGCCATTGCTTCTAGCTGACCTAGAAAATAATAAATTCATATAAAGAAGGAATGCTTGGAGTTCGGAAACATATTGTCTTCTGGATTAATAATTTATCCTCCATTATGCGGCATTAAACGTTCAATGCCTTTAATCGATATCATGCACGCCATAAACGAACCTCGAAAATACTTGATTATCCAGTTCTTTTTACCCATCCATAGTTTTCGAGAGCATGAAATTTTTGATAGAATACTTTCTTTTACG

TRINITY_DN4104_c0_g1_i1 len=605 path=[0:0-604] TCACAACCTCATTTTCCAAGTATGTTCTCTGACTCTTACTCAAGGTGAAATCTTTGTGGATCGTAGACAAAATGTAGCTTAAGAAAATCTGGTGATTTCTGCAGTCTTATTTATGTGAATAATTTTGTTCGCCTACTCCGGTTTATTCAAACCAAAAAAACTCTGTCAAAAAAAGGCATCATTTTTTGCTTGCTTTAAATCATTTGCATTATCGTTGAATATACCAATAGAAAAACCTAAGCGTTGTTAAATGAATAAAACGACACTTCTGTATGAAAGCTTCGTTGCTTCCTATATTACCATGTTTCAAGGAGATTCGTTGATATACATGGATCAAATTTAGGAATTGCCGGATAAAGCTATGTTCATTTATCCTATTGAGAATGCAAAGGTCCTGATAGTAAATTTTTTTTTTCACCTGAAATTACCGTTTTTCAATTACCTGAACGAATCATGCTTTAATGCTCTCCATTAAGCATCAGTGCTGGATATTAGTTTTGGGAGTACTTCCGCAAAAACGGATCGAAATCCATGTTTCCGTCTGTGTGCTAGTCGTCAATCGCCCTGATACCGATCAACTACTCCAATAGTTAGTTGCTTTTCCC

TRINITY_DN4130_c0_g1_i1 len=2777 path=[0:0-2776] CATAGGCCCAAAATTGTAAACAATGAGCCAGTATGTATCGTCCATGATTAAATATGCCCAAAGCGGTGATAGTTTTAATATTTTAATAAAAGATAATGCCAAAAAAATTACAGAGAAACAGTTCTCTCTCGCGTACGTAGAATGTCCGCGTTTTCGTCGTGAAGGTGATGAACCATTTGCCTTTGAAGCCCAAGAATTTTCTAGGCGACTCGTTGTTGGACGTCCTGCTTCAGTTTCTACTTTGTACGTGATTCCTACGTCGAAACGCGAGTATGGACGTATCCGTACTTCTGAATTTGACTTGGCTGAATCGTTATTGCGCGAAGGCCTTGCAAAATTAAGACCTGAGGCTACCCGTAATGAGGGTACTTCTGAGAACTCCTATTTTGTTTCTCTAGAAGAAGCGCAAGATCATGCCCAGCAGTACAAATTAGGAATATGGGGCCCTTCTGACGATGTTGTTGTAACTGAGAAAGCCAACCCAGCAAACCCAGCTAAGTTTTTAAAGGCCCATAAAGGTAAAAAACTGAACGGTATCGTTGAAACCATCCGCAATGGAGACCAAGTTCGTGTTCGACTATTTTTGAGCCCCAAGCAACATCAACTGGTTACAATCAGTCTTGCTGGAGTTAGATGCCCTCGTTCTACTTTCACTGCTACTTCACCTGAGCAGACTAGCTCAGAGCAAGAACCTTGTGGTGATGAAGCTAAGCAGTTTGTTGTCACTCGTCTCCTTCAAAGAAACGTGGTAATTGAACTTCTCGATTTAGCTCCAAACGGTGTCTCGTTTTTGGGTAATGTTTTACATCCTGCAGGAAATATCGCAACTTTCTTGTTAAGCTCTGGATTGGGACGTGTTGCTGACAACCACATATCTGCTTTGGGACCTGAGACTATGCAAAGTTTACGGACCATTGAACGTAAAGCTAAGATTTCTCGTTTAGGAATTTGGAAAAATATTTCTGTCTCTATCCCTGATATCAATTCTCTCTCGTTAAAGGATTATTCTGCAGTTGTATCCAGGGTCATTTCCACCGATACTCTCGAAGTTCGCAAAGATAATGGCGTGGAGTGTAGAATTCAGCTTAGCAGCATCCGTCATCCCAGACCTTCAAATGAAAAGGAAGCCCCTTACCAATTGGAAGCTCGCGAGTTTCTTCGCAAGAAAATTATTGGGAAGCGTGTTCAGGTCTCGCTAGACTTCATCCGACCTGGTCAAAATGACCTTCCTGCTATTAACAACTGTACTGTCAAGCTTTCTGATGGTACAAATGTTGCTTTAATGGTCGTAAAGAGTGGATACGCTACAGTTATAAGATATCGAATGGATAGCGTTGATCGTTCACCCATTTATGATTTTCTTATAGAAGCTGAAAAGGCCGCTCAAGAAGGACGCAAGGGTATGTGGTCTGGTAAAAAACCCGCTTACGAGAATATCGTTAATGCTTCTGAATCTTCTTTACGCTCTCGGCAATACCTTTCCTCTTTGCAAAGGACCCGTAAGCTTTCTGTCATCATCGAAAACGTAATTAGTGGGTCTCGTTTCCGTTGCTTTTGCCCTAAAGAAAACTGCTATTTTATGTTTGCATGTGCAGGTATTCGAACTCCTCGCACTGCTCGTAACGATCAGGAAAAAGGTGAACCTTTTGCAGAAGAATCTCTTTCTTTAGCAAAGTCCTTGTTGCAGCATGATGCTCAAGTTGAGATTTTGTCTGTTGATAATAATGGGTGCTTTTTAGGTGATATTTATGTCAATCATGATACTAACTTTGCTTTGAAATTGCTCAGTCAAGGTCTTGCTTGGTGCCAAGGTTATGCCAGTCAATCAAACGTACAATACTCGCAATATCATGATACCGAAGCTGCTGCTAAGGAGCAAAAGGTTGGCATGTGGCACGATTACGTTCCCCCTGAAAAGAAAGCTGCTAGTACCGAGAAGGAAAGTGAAAATACCGTTAAAGAGCCTATCTATCTCGATATTGTACTAAGCGATATTGCAGAAGACGGGAAGTTTTCATTCCAAATTATTGGTACTGGTATTCAACAATTAGAAACTTTAATGTCTGATTTAGGTTCTTTAAAGAAGTCCTTTAAACCATCCGAGAAAATTAATGTTGGAATGAACGTTGCAGCAATATCTGCTCTTGACAACGCTATGTATCGAGGCCGGGTGTTGCGTTGTGACCGAGAAAACCAGGCCGCTGATGTTTTGCTTTATGATTATGGTAGTGTAGAGCAAATTCCTTTCAAAAACATATCCTCTTTACCAGATACCTATACTAAATTGAAGCCTCAAGCGCAACTTGCTCGTCTCAGTTACGTTCAATTACCTCCTCCCAGCTCTGATTACTATGAAGACGCAAGACTCGTTTTCAGGGAGCTAGCCATGAATAAAGGTCTAGTGGCTAAAGTCGATGGACACGAAGGAAACGTGTATTCTGTAACTTTGTATAATCCTAGTGATGGTTCAGATTTTTCTGACTGTATTAATGCCCAACTGGTTGCGCTCGGCATGGCTAGTGTTATTCCCAAGAAAAAAACATCTCACTTTGAAAAAGATACCGCATCCCTCAATATTCTAGAAGAGCATCAGCAAGAAGCACGTCTAAATCATATCGGTTTCTGGGTATATGGTGATCCCCTAGAATATGAGGACTAAAAATATTTTACTTCTAGTATAGTAACATTGATCATATTCGCTAGTACTTTTTGCCTACAATATATCTAGTTATTCACTTTAAAATATTGTTAACGTATATATTTTAAAAAAATCTTAT

head trinity_out_dir/Trinity.fasta.gene_trans_map

TRINITY_DN4108_c0_g1 TRINITY_DN4108_c0_g1_i1 TRINITY_DN4127_c0_g1 TRINITY_DN4127_c0_g1_i1 TRINITY_DN4193_c0_g1 TRINITY_DN4193_c0_g1_i1 TRINITY_DN4104_c0_g1 TRINITY_DN4104_c0_g1_i1 TRINITY_DN4130_c0_g1 TRINITY_DN4130_c0_g1_i1 TRINITY_DN4196_c0_g1 TRINITY_DN4196_c0_g1_i1 TRINITY_DN4185_c0_g1 TRINITY_DN4185_c0_g1_i1 TRINITY_DN4175_c0_g1 TRINITY_DN4175_c0_g1_i1 TRINITY_DN4184_c0_g1 TRINITY_DN4184_c0_g1_i1 TRINITY_DN4160_c0_g1 TRINITY_DN4160_c0_g1_i1

LS0tDQp0aXRsZTogIlRyaW5pdHkgdG9vbHMgKFBhcnQgSSkuIERlIG5vdm8gdHJhbnNjcmlwdCBhc3NlbWJseSINCmF1dGhvcjogIkJoYWdpcmF0aGkgRGFzaCINCmRhdGU6ICJNYXJjaCAxOSwgMjAxOSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMjIFJlZmVyZW5jZSwgUmVzb3VyY2VzIGFuZCBEYXRhDQoNCiMjIyBOYXR1cmUgUHJvdG9jb2xzIHZvbHVtZSA4LCBwYWdlcyAxNDk0LTE1MTIgKDIwMTMpDQoNCiMjIyBEYXRhIEAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy90cmluaXR5cm5hc2VxL2ZpbGVzL21pc2MvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwudGd6DQoNCiMjIyBBV1MgaW5zdGFuY2U6IG00LnhsYXJnZQ0KDQojIyMgQ2VudE9TIDcgb24gVmlydHVhbCBCb3ggDQoNCg0KDQojIyBEaXJlY3RvcnkgYW5kIHN1YmRpcmVjdG9yeSBjb250ZW50czoNCg0KTm90ZSB0aGF0IHRoZSAqU19wb21iZV9yZWZUcmFucy5mYXN0YSogYW5kICpzYW1wbGVzX25fcmVhZHNfZGVzY3JpYmVkLnR4dCogd29uJ3QgYmUgdXNlZCBmb3IgZGUgbm92byBhc3NlbWJseQ0KDQoNCiMjIyB0cmluaXR5JCBscw0KDQoqKlRyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsKioNCg0KVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwudGd6DQoNCg0KIyMjIFRyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsJCBscyAtbA0KDQoqKmRyd3hyd3hyLXggMyB1YnVudHUgdWJ1bnR1ICAgIDQwOTYgTWFyICA1IDAzOjI1IDFNX1JFQURTX3NhbXBsZSoqDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1IDc4MzA2MjkgRmViICA2ICAyMDEzIFNfcG9tYmVfcmVmVHJhbnMuZmFzdGENCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgIDQyMiBGZWIgIDYgIDIwMTMgc2FtcGxlc19uX3JlYWRzX2Rlc2NyaWJlZC50eHQNCg0KDQojIyMjIDFNX1JFQURTX3NhbXBsZSQgbHMgLWwNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgNzAzMjIyOTY5IE1hciAgNCAyMzo1MyBBTEwuTEVGVC5mcQ0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSA3MDMyMjI5NjkgTWFyICA0IDIzOjU0IEFMTC5SSUdIVC5mcQ0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAxNzU4NDYxNzkgRmViICA2ICAyMDEzIFNwLmRzLjFNLmxlZnQuZnENCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgMTc1ODQ2MTc5IEZlYiAgNiAgMjAxMyBTcC5kcy4xTS5yaWdodC5mcQ0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAxNzU3MzYwNDIgRmViICA2ICAyMDEzIFNwLmhzLjFNLmxlZnQuZnENCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgMTc1NzM2MDQyIEZlYiAgNiAgMjAxMyBTcC5ocy4xTS5yaWdodC5mcQ0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAxNzU3NDEyMTUgRmViICA2ICAyMDEzIFNwLmxvZy4xTS5sZWZ0LmZxDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1IDE3NTc0MTIxNSBGZWIgIDYgIDIwMTMgU3AubG9nLjFNLnJpZ2h0LmZxDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1IDE3NTg5OTUzMyBGZWIgIDYgIDIwMTMgU3AucGxhdC4xTS5sZWZ0LmZxDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1IDE3NTg5OTUzMyBGZWIgIDYgIDIwMTMgU3AucGxhdC4xTS5yaWdodC5mcQ0KDQoNCg0KIyMgUnVuIHRyaW5pdHkgdG8gYXNzZW1ibGUgdGhlIGRhdGEgZmlsZXMNCg0KIyMjIDFNX1JFQURTX3NhbXBsZSQgVHJpbml0eSAtLXNlcVR5cGUgZnEgLS1TU19saWJfdHlwZSBSRiAtLWxlZnQgQUxMLkxFRlQuZnEgLS1yaWdodCBBTEwuUklHSFQuZnEgLS1DUFUgNCAtLW1heF9tZW1vcnkgNEcNCg0KIyMjIFNvbWUgbG9ncyBhbmQgb3V0cHV0cyBmcm9tIHRoZSBhYm92ZSBjb21tYW5kDQoNCiAgICAgX19fX19fICBfX19fICAgX19fXyAgX19fXyAgIF9fX18gIF9fX19fXyAgX18gX18NCiAgICB8ICAgICAgfHwgICAgXCB8ICAgIHx8ICAgIFwgfCAgICB8fCAgICAgIHx8ICB8ICB8DQogICAgfCAgICAgIHx8ICBEICApIHwgIHwgfCAgXyAgfCB8ICB8IHwgICAgICB8fCAgfCAgfA0KICAgIHxffCAgfF98fCAgICAvICB8ICB8IHwgIHwgIHwgfCAgfCB8X3wgIHxffHwgIH4gIHwNCiAgICAgIHwgIHwgIHwgICAgXCAgfCAgfCB8ICB8ICB8IHwgIHwgICB8ICB8ICB8X19fLCB8DQogICAgICB8ICB8ICB8ICAuICBcIHwgIHwgfCAgfCAgfCB8ICB8ICAgfCAgfCAgfCAgICAgfA0KICAgICAgfF9ffCAgfF9ffFxffHxfX19ffHxfX3xfX3x8X19fX3wgIHxfX3wgIHxfX19fLw0KDQoNCkxlZnQgcmVhZCBmaWxlczogJFZBUjEgPSBbDQogICAgICAgICAgJ0FMTC5MRUZULmZxJw0KICAgICAgICBdOw0KUmlnaHQgcmVhZCBmaWxlczogJFZBUjEgPSBbDQogICAgICAgICAgJ0FMTC5SSUdIVC5mcScNCiAgICAgICAgXTsNCiAgICAgICAgDQpUcmluaXR5IHZlcnNpb246IFRyaW5pdHktdjIuNi42DQoNCk5PVEU6IExhdGVzdCB2ZXJzaW9uIG9mIFRyaW5pdHkgaXMgVHJpbml0eS12Mi44LjQsIGFuZCBjYW4gYmUgb2J0YWluZWQgYXQ6DQoJaHR0cHM6Ly9naXRodWIuY29tL3RyaW5pdHlybmFzZXEvdHJpbml0eXJuYXNlcS9yZWxlYXNlcw0KDQpTdW5kYXksIE1hcmNoIDI0LCAyMDE5OiAxODoxMDozNAlDTUQ6IGphdmEgLVhteDY0bSAtWFg6UGFyYWxsZWxHQ1RocmVhZHM9MiAgLWphciAvaG9tZS91YnVudHUvbWluaWNvbmRhMy9vcHQvdHJpbml0eS0yLjYuNi91dGlsL3N1cHBvcnRfc2NyaXB0cy9FeGl0VGVzdGVyLmphciAwDQoNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjEwOjM0CUNNRDogamF2YSAtWG14NjRtIC1YWDpQYXJhbGxlbEdDVGhyZWFkcz0yICAtamFyIC9ob21lL3VidW50dS9taW5pY29uZGEzL29wdC90cmluaXR5LTIuNi42L3V0aWwvc3VwcG9ydF9zY3JpcHRzL0V4aXRUZXN0ZXIuamFyIDENCg0KU3VuZGF5LCBNYXJjaCAyNCwgMjAxOTogMTg6MTA6MzQJQ01EOiBta2RpciAtcCAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvKip0cmluaXR5X291dF9kaXIqKg0KDQpTdW5kYXksIE1hcmNoIDI0LCAyMDE5OiAxODoxMDozNAlDTUQ6IG1rZGlyIC1wIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS8qKnRyaW5pdHlfb3V0X2Rpci9jaHJ5c2FsaXMqKg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0tLS0tLS0tLS0tLS0tIFRyaW5pdHkgUGhhc2UgMTogQ2x1c3RlcmluZyBvZiBSTkEtU2VxIFJlYWRzICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotLS0tLS0tLS0tLS0gSW4gc2lsaWNvIFJlYWQgTm9ybWFsaXphdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0tIChSZW1vdmluZyBFeGNlc3MgUmVhZHMgQmV5b25kIDUwIENvdmVyYWdlIC0tDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KcnVubmluZyBub3JtYWxpemF0aW9uIG9uIHJlYWRzOiAkVkFSMSA9IFsNCiAgICAgICAgICBbDQogICAgICAgICAgICAnL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL0FMTC5MRUZULmZxJw0KICAgICAgICAgIF0sDQogICAgICAgICAgWw0KICAgICAgICAgICAgJy9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS9BTEwuUklHSFQuZnEnDQogICAgICAgICAgXQ0KICAgICAgICBdOw0KDQoNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjEwOjM0CUNNRDogL2hvbWUvdWJ1bnR1L21pbmljb25kYTMvb3B0L3RyaW5pdHktMi42LjYvdXRpbC8qKmluc2lsaWNvX3JlYWRfbm9ybWFsaXphdGlvbi5wbCoqIC0tc2VxVHlwZSBmcSAtLUpNIDEwRyAgLS1tYXhfY292IDUwIC0tbWluX2NvdiAxIC0tQ1BVIDQgLS1vdXRwdXQgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9pbnNpbGljb19yZWFkX25vcm1hbGl6YXRpb24gICAtLW1heF9wY3Rfc3RkZXYgMTAwMDAgIC0tU1NfbGliX3R5cGUgUkYgIC0tbGVmdCAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvQUxMLkxFRlQuZnEgLS1yaWdodCAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvQUxMLlJJR0hULmZxIC0tcGFpcnNfdG9nZXRoZXIgLS1QQVJBTExFTF9TVEFUUyAgDQpDb252ZXJ0aW5nIGlucHV0IGZpbGVzLiAoYm90aCBkaXJlY3Rpb25zIGluIHBhcmFsbGVsKUNNRDogc2VxdGstdHJpbml0eSBzZXEgLXIgLUEgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL0FMTC5MRUZULmZxID4+IGxlZnQuZmENCkNNRDogc2VxdGstdHJpbml0eSBzZXEgLUEgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL0FMTC5SSUdIVC5mcSA+PiByaWdodC5mYQ0KDQoNCkNNRCBmaW5pc2hlZCAoMTQgc2Vjb25kcykNCkNNRCBmaW5pc2hlZCAoMTQgc2Vjb25kcykNCkNNRDogdG91Y2ggbGVmdC5mYS5vaw0KQ01EIGZpbmlzaGVkICgwIHNlY29uZHMpDQpDTUQ6IHRvdWNoIHJpZ2h0LmZhLm9rDQpDTUQgZmluaXNoZWQgKDAgc2Vjb25kcykNCg0KRG9uZSBjb252ZXJ0aW5nIGlucHV0IGZpbGVzLkNNRDogY2F0IGxlZnQuZmEgcmlnaHQuZmEgPiAqKmJvdGguZmEqKg0KDQpDTUQgZmluaXNoZWQgKDEgc2Vjb25kcykNCkNNRDogdG91Y2ggYm90aC5mYS5vaw0KQ01EIGZpbmlzaGVkICgwIHNlY29uZHMpDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLS0tLS0tLS0tLS0gSmVsbHlmaXNoICAtLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLS0gKGJ1aWxkaW5nIGEgay1tZXIgY2F0YWxvZyBmcm9tIHJlYWRzKSAtLQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpDTUQ6IGplbGx5ZmlzaCBjb3VudCAtdCA0IC1tIDI1IC1zIDEwMDAwMDAwMCAgYm90aC5mYQ0KQ01EIGZpbmlzaGVkICg4NiBzZWNvbmRzKQ0KQ01EOiBqZWxseWZpc2ggaGlzdG8gLXQgNCAtbyBqZWxseWZpc2guSzI1Lm1pbjIua21lcnMuZmEuaGlzdG8gbWVyX2NvdW50cy5qZg0KQ01EIGZpbmlzaGVkICg0IHNlY29uZHMpDQpDTUQ6IGplbGx5ZmlzaCBkdW1wIC1MIDIgbWVyX2NvdW50cy5qZiA+IGplbGx5ZmlzaC5LMjUubWluMi5rbWVycy5mYQ0KQ01EIGZpbmlzaGVkICg5IHNlY29uZHMpDQpDTUQ6IHRvdWNoIGplbGx5ZmlzaC5LMjUubWluMi5rbWVycy5mYS5zdWNjZXNzDQpDTUQgZmluaXNoZWQgKDAgc2Vjb25kcykNCg0KDQpDTUQ6IC9ob21lL3VidW50dS9taW5pY29uZGEzL29wdC90cmluaXR5LTIuNi42L3V0aWwvLi4vL0luY2h3b3JtL2Jpbi8qKmZhc3RhVG9LbWVyQ292ZXJhZ2VTdGF0cyoqIC0tcmVhZHMgbGVmdC5mYSAtLWttZXJzIGplbGx5ZmlzaC5LMjUubWluMi5rbWVycy5mYSAtLWttZXJfc2l6ZSAyNSAgLS1udW1fdGhyZWFkcyAyICA+IGxlZnQuZmEuSzI1LnN0YXRzDQoNCkNNRDogL2hvbWUvdWJ1bnR1L21pbmljb25kYTMvb3B0L3RyaW5pdHktMi42LjYvdXRpbC8uLi8vSW5jaHdvcm0vYmluLyoqZmFzdGFUb0ttZXJDb3ZlcmFnZVN0YXRzKiogLS1yZWFkcyByaWdodC5mYSAtLWttZXJzIGplbGx5ZmlzaC5LMjUubWluMi5rbWVycy5mYSAtLWttZXJfc2l6ZSAyNSAgLS1udW1fdGhyZWFkcyAyICA+IHJpZ2h0LmZhLksyNS5zdGF0cw0KLXJlYWRpbmcgS21lciBvY2N1cnJlbmNlcy4uLg0KLXJlYWRpbmcgS21lciBvY2N1cnJlbmNlcy4uLg0KDQogZG9uZSBwYXJzaW5nIDExNTE2OTE4IEttZXJzLCAxMDg1ODM1MyBhZGRlZCwgdGFraW5nIDQwIHNlY29uZHMuDQoNCiBkb25lIHBhcnNpbmcgMTE1MTY5MTggS21lcnMsIDEwODU4MzUzIGFkZGVkLCB0YWtpbmcgNDEgc2Vjb25kcy4NCiANClNUQVRTX0dFTkVSQVRJT05fVElNRTogMjMxIHNlY29uZHMuDQpTVEFUU19HRU5FUkFUSU9OX1RJTUU6IDIzMSBzZWNvbmRzLg0KQ01EIGZpbmlzaGVkICgyNzMgc2Vjb25kcykNCkNNRCBmaW5pc2hlZCAoMjc0IHNlY29uZHMpDQpDTUQ6IHRvdWNoIGxlZnQuZmEuSzI1LnN0YXRzLm9rDQpDTUQgZmluaXNoZWQgKDAgc2Vjb25kcykNCkNNRDogdG91Y2ggcmlnaHQuZmEuSzI1LnN0YXRzLm9rDQpDTUQgZmluaXNoZWQgKDAgc2Vjb25kcykNCi1zb3J0aW5nIGVhY2ggc3RhdHMgZmlsZSBieSByZWFkIG5hbWUuDQoNCkNNRDogL3Vzci9iaW4vc29ydCAtLXBhcmFsbGVsPTQgLWs1LDUgLVQgLiAtUyA1RyBsZWZ0LmZhLksyNS5zdGF0cyA+IGxlZnQuZmEuSzI1LnN0YXRzLnNvcnQNCg0KQ01EOiAvdXNyL2Jpbi9zb3J0IC0tcGFyYWxsZWw9NCAtazUsNSAtVCAuIC1TIDVHIHJpZ2h0LmZhLksyNS5zdGF0cyA+IHJpZ2h0LmZhLksyNS5zdGF0cy5zb3J0DQoNCkNNRCBmaW5pc2hlZCAoMiBzZWNvbmRzKQ0KQ01EIGZpbmlzaGVkICgyIHNlY29uZHMpDQpDTUQ6IHRvdWNoIGxlZnQuZmEuSzI1LnN0YXRzLnNvcnQub2sNCkNNRCBmaW5pc2hlZCAoMCBzZWNvbmRzKQ0KQ01EOiB0b3VjaCByaWdodC5mYS5LMjUuc3RhdHMuc29ydC5vaw0KQ01EIGZpbmlzaGVkICgwIHNlY29uZHMpDQoNCkNNRDogL2hvbWUvdWJ1bnR1L21pbmljb25kYTMvb3B0L3RyaW5pdHktMi42LjYvdXRpbC8uLi8vdXRpbC9zdXBwb3J0X3NjcmlwdHMvL25ia2NfbWVyZ2VfbGVmdF9yaWdodF9zdGF0cy5wbCAtLWxlZnQgbGVmdC5mYS5LMjUuc3RhdHMuc29ydCAtLXJpZ2h0IHJpZ2h0LmZhLksyNS5zdGF0cy5zb3J0IC0tc29ydGVkID4gcGFpcnMuSzI1LnN0YXRzDQoNCi1vcGVuaW5nIGxlZnQuZmEuSzI1LnN0YXRzLnNvcnQNCi1vcGVuaW5nIHJpZ2h0LmZhLksyNS5zdGF0cy5zb3J0DQotZG9uZSBvcGVuaW5nIGZpbGVzLg0KQ01EIGZpbmlzaGVkICgyMCBzZWNvbmRzKQ0KQ01EOiB0b3VjaCBwYWlycy5LMjUuc3RhdHMub2sNCkNNRCBmaW5pc2hlZCAoMCBzZWNvbmRzKQ0KDQpDTUQ6IC9ob21lL3VidW50dS9taW5pY29uZGEzL29wdC90cmluaXR5LTIuNi42L3V0aWwvLi4vL3V0aWwvc3VwcG9ydF9zY3JpcHRzLy8qKm5ia2Nfbm9ybWFsaXplLnBsKiogLS1zdGF0c19maWxlIHBhaXJzLksyNS5zdGF0cyAtLW1heF9jb3YgNTAgIC0tbWluX2NvdiAxIC0tbWF4X3BjdF9zdGRldiAxMDAwMCA+IHBhaXJzLksyNS5zdGF0cy5DNTAucGN0U0QxMDAwMC5hY2NzDQoxOTY0MjUxIC8gNDAwMDAwMCA9IDQ5LjExJSByZWFkcyBzZWxlY3RlZCBkdXJpbmcgbm9ybWFsaXphdGlvbi4NCjAgLyA0MDAwMDAwID0gMC4wMCUgcmVhZHMgZGlzY2FyZGVkIGFzIGxpa2VseSBhYmVycmFudCBiYXNlZCBvbiBjb3ZlcmFnZSBwcm9maWxlcy4NCjAgLyA0MDAwMDAwID0gMC4wMCUgcmVhZHMgbWlzc2luZyBrbWVyIGNvdmVyYWdlIChOIGNoYXJzIGluY2x1ZGVkPykuDQowIC8gNDAwMDAwMCA9IDAuMDAlIHJlYWRzIGRpc2NhcmRlZCBhcyBiZWxvdyBtaW5pbXVtIGNvdmVyYWdlIHRocmVzaG9sZD0xDQpDTUQgZmluaXNoZWQgKDUgc2Vjb25kcykNCg0KQ01EOiB0b3VjaCBwYWlycy5LMjUuc3RhdHMuQzUwLnBjdFNEMTAwMDAuYWNjcy5vaw0KQ01EIGZpbmlzaGVkICgwIHNlY29uZHMpDQoNCkNNRDogdG91Y2ggL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9pbnNpbGljb19yZWFkX25vcm1hbGl6YXRpb24vQUxMLkxFRlQuZnEubm9ybWFsaXplZF9LMjVfbWF4QzUwX21pbkMxX3BjdFNEMTAwMDAuZnEub2sNCkNNRCBmaW5pc2hlZCAoMCBzZWNvbmRzKQ0KDQpDTUQ6IHRvdWNoIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvaW5zaWxpY29fcmVhZF9ub3JtYWxpemF0aW9uL0FMTC5SSUdIVC5mcS5ub3JtYWxpemVkX0syNV9tYXhDNTBfbWluQzFfcGN0U0QxMDAwMC5mcS5vaw0KQ01EIGZpbmlzaGVkICgwIHNlY29uZHMpDQoNCkNNRDogbG4gLXNmIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvaW5zaWxpY29fcmVhZF9ub3JtYWxpemF0aW9uL0FMTC5MRUZULmZxLm5vcm1hbGl6ZWRfSzI1X21heEM1MF9taW5DMV9wY3RTRDEwMDAwLmZxIGxlZnQubm9ybS5mcQ0KQ01EIGZpbmlzaGVkICgwIHNlY29uZHMpDQoNCkNNRDogbG4gLXNmIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvaW5zaWxpY29fcmVhZF9ub3JtYWxpemF0aW9uL0FMTC5SSUdIVC5mcS5ub3JtYWxpemVkX0syNV9tYXhDNTBfbWluQzFfcGN0U0QxMDAwMC5mcSByaWdodC5ub3JtLmZxDQpDTUQgZmluaXNoZWQgKDAgc2Vjb25kcykNCi1yZW1vdmluZyB0bXAgZGlyIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvaW5zaWxpY29fcmVhZF9ub3JtYWxpemF0aW9uL3RtcF9ub3JtYWxpemVkX3JlYWRzDQoNCg0KTm9ybWFsaXphdGlvbiBjb21wbGV0ZS4gU2VlIG91dHB1dHM6IA0KDQoJL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9pbnNpbGljb19yZWFkX25vcm1hbGl6YXRpb24vQUxMLkxFRlQuZnEubm9ybWFsaXplZF9LMjVfbWF4QzUwX21pbkMxX3BjdFNEMTAwMDAuZnENCgkvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2luc2lsaWNvX3JlYWRfbm9ybWFsaXphdGlvbi9BTEwuUklHSFQuZnEubm9ybWFsaXplZF9LMjVfbWF4QzUwX21pbkMxX3BjdFNEMTAwMDAuZnENClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjE4OjE5CUNNRDogdG91Y2ggL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9pbnNpbGljb19yZWFkX25vcm1hbGl6YXRpb24vbm9ybWFsaXphdGlvbi5vaw0KQ29udmVydGluZyBpbnB1dCBmaWxlcy4gKGluIHBhcmFsbGVsKVN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjE4OjE5CUNNRDogY2F0IC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvaW5zaWxpY29fcmVhZF9ub3JtYWxpemF0aW9uL2xlZnQubm9ybS5mcSB8IHNlcXRrLXRyaW5pdHkgc2VxIC1yIC1BIC0gPj4gbGVmdC5mYQ0KU3VuZGF5LCBNYXJjaCAyNCwgMjAxOTogMTg6MTg6MTkJQ01EOiBjYXQgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9pbnNpbGljb19yZWFkX25vcm1hbGl6YXRpb24vcmlnaHQubm9ybS5mcSB8IHNlcXRrLXRyaW5pdHkgc2VxIC1BIC0gPj4gcmlnaHQuZmENClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjE4OjIwCUNNRDogdG91Y2ggcmlnaHQuZmEub2sNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjE4OjIxCUNNRDogdG91Y2ggbGVmdC5mYS5vaw0KU3VuZGF5LCBNYXJjaCAyNCwgMjAxOTogMTg6MTg6MjEJQ01EOiB0b3VjaCBsZWZ0LmZhLm9rIHJpZ2h0LmZhLm9rDQpTdW5kYXksIE1hcmNoIDI0LCAyMDE5OiAxODoxODoyMQlDTUQ6IGNhdCBsZWZ0LmZhIHJpZ2h0LmZhID4gL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9ib3RoLmZhDQpTdW5kYXksIE1hcmNoIDI0LCAyMDE5OiAxODoxODoyMQlDTUQ6IHRvdWNoIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvYm90aC5mYS5vaw0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0tLS0tLS0tLS0tIEplbGx5ZmlzaCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0tIChidWlsZGluZyBhIGstbWVyIGNhdGFsb2cgZnJvbSByZWFkcykgLS0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KKiBSdW5uaW5nIENNRDogamVsbHlmaXNoIGNvdW50IC10IDQgLW0gMjUgLXMgMTAwMDAwMDAwICAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2JvdGguZmENCiogUnVubmluZyBDTUQ6IGplbGx5ZmlzaCBkdW1wIC1MIDEgbWVyX2NvdW50cy5qZiA+IGplbGx5ZmlzaC5rbWVycy5mYQ0KKiBSdW5uaW5nIENNRDogamVsbHlmaXNoIGhpc3RvIC10IDQgLW8gamVsbHlmaXNoLmttZXJzLmZhLmhpc3RvIG1lcl9jb3VudHMuamYNCg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotLS0tLS0tLS0tLS0tLS0gSW5jaHdvcm0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotLSAoTGluZWFyIGNvbnRpZyBjb25zdHJ1Y3Rpb24gZnJvbSBrLW1lcnMpIC0tDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiogUnVubmluZyBDTUQ6IC9ob21lL3VidW50dS9taW5pY29uZGEzL29wdC90cmluaXR5LTIuNi42L0luY2h3b3JtL2Jpbi8vaW5jaHdvcm0gLS1rbWVycyBqZWxseWZpc2gua21lcnMuZmEgLS1ydW5faW5jaHdvcm0gLUsgMjUgLUwgMjUgLS1tb25pdG9yIDEgICAtLW51bV90aHJlYWRzIDQgIC0tUEFSQUxMRUxfSVdPUk0gID4gL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9pbmNod29ybS5LMjUuTDI1LmZhLnRtcA0KKiBSdW5uaW5nIENNRDogbXYgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9pbmNod29ybS5LMjUuTDI1LmZhLnRtcCAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2luY2h3b3JtLksyNS5MMjUuZmENClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjIzOjE2CUNNRDogdG91Y2ggL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9pbmNod29ybS5LMjUuTDI1LmZhLmZpbmlzaGVkDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotLS0tLS0tLS0tLS0tLS0tLS0tLSBDaHJ5c2FsaXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLS0gKENvbnRpZyBDbHVzdGVyaW5nICYgZGUgQnJ1aWpuIEdyYXBoIENvbnN0cnVjdGlvbikgLS0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmluY2h3b3JtX3RhcmdldDogL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9ib3RoLmZhDQoNCmJvd2l0ZV9yZWFkc19mYTogL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9ib3RoLmZhDQoNCmNocnlzYWxpc19yZWFkc19mYTogL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9ib3RoLmZhDQoNCiogUnVubmluZyBDTUQ6IC9ob21lL3VidW50dS9taW5pY29uZGEzL29wdC90cmluaXR5LTIuNi42L3V0aWwvc3VwcG9ydF9zY3JpcHRzL2ZpbHRlcl9pd29ybV9ieV9taW5fbGVuZ3RoX29yX2Nvdi5wbCAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2luY2h3b3JtLksyNS5MMjUuZmEgMTAwIDEwID4gL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9jaHJ5c2FsaXMvaW5jaHdvcm0uSzI1LkwyNS5mYS5taW4xMDANCg0KKiBSdW5uaW5nIENNRDogL2hvbWUvdWJ1bnR1L21pbmljb25kYTMvYmluL2Jvd3RpZTItYnVpbGQgLS10aHJlYWRzIDQgLW8gMyAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2NocnlzYWxpcy9pbmNod29ybS5LMjUuTDI1LmZhLm1pbjEwMCAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2NocnlzYWxpcy9pbmNod29ybS5LMjUuTDI1LmZhLm1pbjEwMCAxPi9kZXYvbnVsbA0KDQoqIFJ1bm5pbmcgQ01EOiBiYXNoIC1jICIgc2V0IC1vIHBpcGVmYWlsOy9ob21lL3VidW50dS9taW5pY29uZGEzL2Jpbi9ib3d0aWUyIC0tbG9jYWwgLWsgMiAtLW5vLXVuYWwgLS10aHJlYWRzIDQgLWYgLS1zY29yZS1taW4gRywyMCw0IC14IC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvY2hyeXNhbGlzL2luY2h3b3JtLksyNS5MMjUuZmEubWluMTAwIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvYm90aC5mYSAgfCBzYW10b29scyB2aWV3IC1AIDQgLUY0IC1TYiAtIHwgc2FtdG9vbHMgc29ydCAtbSAxMzQyMTc3MjgwIC1AIDQgLW5vIC0gLSA+IC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvY2hyeXNhbGlzL2l3b3JtLmJvd3RpZS5uYW1lU29ydGVkLmJhbSIgDQoNCiogUnVubmluZyBDTUQ6IC9ob21lL3VidW50dS9taW5pY29uZGEzL29wdC90cmluaXR5LTIuNi42L3V0aWwvc3VwcG9ydF9zY3JpcHRzL3NjYWZmb2xkX2l3b3JtX2NvbnRpZ3MucGwgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9jaHJ5c2FsaXMvaXdvcm0uYm93dGllLm5hbWVTb3J0ZWQuYmFtIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvaW5jaHdvcm0uSzI1LkwyNS5mYSA+IC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvY2hyeXNhbGlzL2l3b3JtX3NjYWZmb2xkcy50eHQNCg0KKiBSdW5uaW5nIENNRDogL2hvbWUvdWJ1bnR1L21pbmljb25kYTMvb3B0L3RyaW5pdHktMi42LjYvQ2hyeXNhbGlzL0dyYXBoRnJvbUZhc3RhIC1pIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvaW5jaHdvcm0uSzI1LkwyNS5mYSAtciAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2JvdGguZmEgLW1pbl9jb250aWdfbGVuZ3RoIDIwMCAtbWluX2dsdWUgMiAtZ2x1ZV9mYWN0b3IgMC4wNSAtbWluX2lzb19yYXRpbyAwLjA1IC10IDQgLWsgMjQgLWtrIDQ4ICAtc3RyYW5kICAtc2NhZmZvbGRpbmcgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9jaHJ5c2FsaXMvaXdvcm1fc2NhZmZvbGRzLnR4dCAgPiAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2NocnlzYWxpcy9pd29ybV9jbHVzdGVyX3dlbGRzX2dyYXBoLnR4dA0KDQoqIFJ1bm5pbmcgQ01EOiAvaG9tZS91YnVudHUvbWluaWNvbmRhMy9vcHQvdHJpbml0eS0yLjYuNi9DaHJ5c2FsaXMvQnViYmxlVXBDbHVzdGVyaW5nIC1pIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvaW5jaHdvcm0uSzI1LkwyNS5mYSAgLXdlbGRfZ3JhcGggL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9jaHJ5c2FsaXMvaXdvcm1fY2x1c3Rlcl93ZWxkc19ncmFwaC50eHQgLW1pbl9jb250aWdfbGVuZ3RoIDIwMCAgPiAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2NocnlzYWxpcy9HcmFwaEZyb21Jd29ybUZhc3RhLm91dA0KDQoqIFJ1bm5pbmcgQ01EOiAvaG9tZS91YnVudHUvbWluaWNvbmRhMy9vcHQvdHJpbml0eS0yLjYuNi9DaHJ5c2FsaXMvQ3JlYXRlSXdvcm1GYXN0YUJ1bmRsZSAtaSAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2NocnlzYWxpcy9HcmFwaEZyb21Jd29ybUZhc3RhLm91dCAtbyAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2NocnlzYWxpcy9idW5kbGVkX2l3b3JtX2NvbnRpZ3MuZmFzdGEgLW1pbiAyMDANCg0KKiBSdW5uaW5nIENNRDogL2hvbWUvdWJ1bnR1L21pbmljb25kYTMvb3B0L3RyaW5pdHktMi42LjYvQ2hyeXNhbGlzL1JlYWRzVG9UcmFuc2NyaXB0cyAtaSAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL2JvdGguZmEgLWYgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9jaHJ5c2FsaXMvYnVuZGxlZF9pd29ybV9jb250aWdzLmZhc3RhIC1vIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvY2hyeXNhbGlzL3JlYWRzVG9Db21wb25lbnRzLm91dCAtdCA0IC1tYXhfbWVtX3JlYWRzIDUwMDAwMDAwICAtc3RyYW5kIA0KDQoqIFJ1bm5pbmcgQ01EOiAvdXNyL2Jpbi9zb3J0IC0tcGFyYWxsZWw9NCAtVCAuIC1TIDEwRyAtayAxLDFuIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvY2hyeXNhbGlzL3JlYWRzVG9Db21wb25lbnRzLm91dCA+IC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvY2hyeXNhbGlzL3JlYWRzVG9Db21wb25lbnRzLm91dC5zb3J0DQoNCg0KU3VuZGF5LCBNYXJjaCAyNCwgMjAxOTogMTg6Mjk6MTMJQ01EOiBta2RpciAtcCAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL3JlYWRfcGFydGl0aW9ucy9GYl8wL0NCaW5fMA0KDQpTdW5kYXksIE1hcmNoIDI0LCAyMDE5OiAxODoyOToxMwlDTUQ6IG1rZGlyIC1wIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvcmVhZF9wYXJ0aXRpb25zL0ZiXzAvQ0Jpbl8xDQoNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjI5OjE0CUNNRDogbWtkaXIgLXAgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9yZWFkX3BhcnRpdGlvbnMvRmJfMC9DQmluXzINCg0KU3VuZGF5LCBNYXJjaCAyNCwgMjAxOTogMTg6Mjk6MTQJQ01EOiBta2RpciAtcCAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL3JlYWRfcGFydGl0aW9ucy9GYl8wL0NCaW5fMw0KDQpTdW5kYXksIE1hcmNoIDI0LCAyMDE5OiAxODoyOToxNAlDTUQ6IG1rZGlyIC1wIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvcmVhZF9wYXJ0aXRpb25zL0ZiXzAvQ0Jpbl80DQoNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjI5OjE0CUNNRDogbWtkaXIgLXAgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9yZWFkX3BhcnRpdGlvbnMvRmJfMC9DQmluXzUNCg0KDQouLi4uLi4uLi4uLi4uLi4uLi4uLi4uDQouLi4uLi4uLi4uLi4uLi4uLi4uLi4uDQoNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjI5OjI0CUNNRDogbWtkaXIgLXAgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9yZWFkX3BhcnRpdGlvbnMvRmJfMC9DQmluXzYxDQoNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjI5OjI0CUNNRDogdG91Y2ggL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9wYXJ0aXRpb25lZF9yZWFkcy5maWxlcy5saXN0Lm9rDQoNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjI5OjI0CUNNRDogL2hvbWUvdWJ1bnR1L21pbmljb25kYTMvb3B0L3RyaW5pdHktMi42LjYvdXRpbC9zdXBwb3J0X3NjcmlwdHMvKip3cml0ZV9wYXJ0aXRpb25lZF90cmluaXR5X2NtZHMucGwqKiAtLXJlYWRzX2xpc3RfZmlsZSAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL3BhcnRpdGlvbmVkX3JlYWRzLmZpbGVzLmxpc3QgLS1DUFUgMSAtLW1heF9tZW1vcnkgMUcgIC0tcnVuX2FzX3BhaXJlZCAgLS1TU19saWJfdHlwZSBGICAtLXNlcVR5cGUgZmEgLS10cmluaXR5X2NvbXBsZXRlIC0tZnVsbF9jbGVhbnVwICA+IHJlY3Vyc2l2ZV90cmluaXR5LmNtZHMNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjI5OjI0CUNNRDogdG91Y2ggcmVjdXJzaXZlX3RyaW5pdHkuY21kcy5vaw0KU3VuZGF5LCBNYXJjaCAyNCwgMjAxOTogMTg6Mjk6MjQJQ01EOiB0b3VjaCByZWN1cnNpdmVfdHJpbml0eS5jbWRzLm9rDQoNCg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLS0tLS0tLS0tLS0tIFRyaW5pdHkgUGhhc2UgMjogQXNzZW1ibGluZyBDbHVzdGVycyBvZiBSZWFkcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDE4OjI5OjI0CUNNRDogUGFyYUZseSAtYyByZWN1cnNpdmVfdHJpbml0eS5jbWRzIC1DUFUgNCAtdiAtc2h1ZmZsZSANCg0KKipOdW1iZXIgb2YgIENvbW1hbmRzOiA2MTY4KioNCg0KLi4uLi4uLi4uLi4uLi4uLi4uLi4uDQouLi4uLi4uLi4uLi4uLi4uLi4uLg0KDQpBbGwgY29tbWFuZHMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4gOi0pDQoNCg0KDQoqKiBIYXJ2ZXN0aW5nIGFsbCBhc3NlbWJsZWQgdHJhbnNjcmlwdHMgaW50byBhIHNpbmdsZSBtdWx0aS1mYXN0YSBmaWxlLi4uDQoNClN1bmRheSwgTWFyY2ggMjQsIDIwMTk6IDIxOjA5OjQyCUNNRDogZmluZCAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL3JlYWRfcGFydGl0aW9ucy8gLW5hbWUgJyppbml0eS5mYXN0YScgIHwgL2hvbWUvdWJ1bnR1L21pbmljb25kYTMvb3B0L3RyaW5pdHktMi42LjYvdXRpbC9zdXBwb3J0X3NjcmlwdHMvKipwYXJ0aXRpb25lZF90cmluaXR5X2FnZ3JlZ2F0b3IucGwqKiBUUklOSVRZX0ROID4gL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9UcmluaXR5LmZhc3RhLnRtcA0KLXJlbG9jYXRpbmcgL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9UcmluaXR5LmZhc3RhLnRtcCB0byAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL1RyaW5pdHkuZmFzdGENCg0KU3VuZGF5LCBNYXJjaCAyNCwgMjAxOTogMjE6MDk6NDIJQ01EOiBtdiAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL1RyaW5pdHkuZmFzdGEudG1wIC9ob21lL3VidW50dS90cmluaXR5L1RyaW5pdHlOYXR1cmVQcm90b2NvbFR1dG9yaWFsLzFNX1JFQURTX3NhbXBsZS90cmluaXR5X291dF9kaXIvVHJpbml0eS5mYXN0YQ0KDQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNClRyaW5pdHkgYXNzZW1ibGllcyBhcmUgd3JpdHRlbiB0byAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL1RyaW5pdHkuZmFzdGENCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KDQpTdW5kYXksIE1hcmNoIDI0LCAyMDE5OiAyMTowOTo0MglDTUQ6IC9ob21lL3VidW50dS9taW5pY29uZGEzL29wdC90cmluaXR5LTIuNi42L3V0aWwvc3VwcG9ydF9zY3JpcHRzLyoqZ2V0X1RyaW5pdHlfZ2VuZV90b190cmFuc19tYXAucGwqKiAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL1RyaW5pdHkuZmFzdGEgPiAvaG9tZS91YnVudHUvdHJpbml0eS9UcmluaXR5TmF0dXJlUHJvdG9jb2xUdXRvcmlhbC8xTV9SRUFEU19zYW1wbGUvdHJpbml0eV9vdXRfZGlyL1RyaW5pdHkuZmFzdGEuZ2VuZV90cmFuc19tYXANCg0KDQoNCg0KDQojIyBBZGRpdGlvbmFsIERpcmVjdG9yeS9zdWJkaXJlY3RvcnkvZmlsZXMgZm9sbG93aW5nIHRoZSBydW4NCg0KIyMjIHRyaW5pdHlfb3V0X2RpciQgbHMgLWwNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgOTg4MjkxMiBNYXIgMjQgMjE6MDkgVHJpbml0eS5mYXN0YQ0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAgNDE0MTA0IE1hciAyNCAyMTowOSBUcmluaXR5LmZhc3RhLmdlbmVfdHJhbnNfbWFwDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICAgICAgICA2NTYgTWFyIDI0IDIxOjA5IFRyaW5pdHkudGltaW5nDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICA0MTE3NDg4MTYgTWFyIDI0IDE4OjE4IGJvdGguZmENCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICAgMCBNYXIgMjQgMTg6MTggYm90aC5mYS5vaw0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAgICAgICA4IE1hciAyNCAxODoxOCBib3RoLmZhLnJlYWRfY291bnQNCg0KKipkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAgICAgICA0MDk2IE1hciAyNCAxODoyOSBjaHJ5c2FsaXMqKg0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgIDE1MTAxNzkzIE1hciAyNCAxODoyMyBpbmNod29ybS5LMjUuTDI1LmZhDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICAgICAgICAgIDAgTWFyIDI0IDE4OjIzIGluY2h3b3JtLksyNS5MMjUuZmEuZmluaXNoZWQNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICAgOSBNYXIgMjQgMTg6MjAgaW5jaHdvcm0ua21lcl9jb3VudA0KDQoqKmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1ICAgICAgIDQwOTYgTWFyIDI0IDE4OjE4IGluc2lsaWNvX3JlYWRfbm9ybWFsaXphdGlvbioqDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICA5NzE4MTAzNzMgTWFyIDI0IDE4OjE5IGplbGx5ZmlzaC5rbWVycy5mYQ0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAgICAxODYzIE1hciAyNCAxODoxOSBqZWxseWZpc2gua21lcnMuZmEuaGlzdG8NCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICAgMCBNYXIgMjQgMTg6MTggbGVmdC5mYS5vaw0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAgODMwNTcwIE1hciAyNCAxODoyOSBwYXJ0aXRpb25lZF9yZWFkcy5maWxlcy5saXN0DQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICAgICAgICAgIDAgTWFyIDI0IDE4OjI5IHBhcnRpdGlvbmVkX3JlYWRzLmZpbGVzLmxpc3Qub2sNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgMjEzNCBNYXIgMjQgMTg6MjkgcGlwZWxpbmVyLjEwNTc5LmNtZHMNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgMjEzNCBNYXIgMjQgMjA6NTQgcGlwZWxpbmVyLjE2NzI2LmNtZHMNCg0KKipkcnd4cnd4ci14IDMgdWJ1bnR1IHVidW50dSAgICAgICA0MDk2IE1hciAyNCAxODoyOSByZWFkX3BhcnRpdGlvbnMqKg0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAyOTQ0MDg0IE1hciAyNCAxODoyOSByZWN1cnNpdmVfdHJpbml0eS5jbWRzDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICAgIDI5NDQwODQgTWFyIDI0IDIxOjA5IHJlY3Vyc2l2ZV90cmluaXR5LmNtZHMuY29tcGxldGVkDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICAgICAgICAgIDAgTWFyIDI0IDE4OjI5IHJlY3Vyc2l2ZV90cmluaXR5LmNtZHMub2sNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICAgMCBNYXIgMjQgMTg6MTggcmlnaHQuZmEub2sNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgMTA0MjQ2NDcyNCBNYXIgMjQgMTg6MjYgc2NhZmZvbGRpbmdfZW50cmllcy5zYW0NCg0KDQoNCiMjIyBscyAtbCB0cmluaXR5X291dF9kaXIvY2hyeXNhbGlzDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICAxMTcwOTM1MCBNYXIgMjQgMTg6MjYgR3JhcGhGcm9tSXdvcm1GYXN0YS5vdXQNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICAwIE1hciAyNCAxODoyNiBHcmFwaEZyb21Jd29ybUZhc3RhLm91dC5vaw0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgIDk3Nzk3NzQgTWFyIDI0IDE4OjI2IGJ1bmRsZWRfaXdvcm1fY29udGlncy5mYXN0YQ0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAgICAgIDAgTWFyIDI0IDE4OjI2IGJ1bmRsZWRfaXdvcm1fY29udGlncy5mYXN0YS5vaw0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgMTEyMTUzODIgTWFyIDI0IDE4OjIzIGluY2h3b3JtLksyNS5MMjUuZmEubWluMTAwDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICAgODgxNTk4NyBNYXIgMjQgMTg6MjMgaW5jaHdvcm0uSzI1LkwyNS5mYS5taW4xMDAuMS5idDINCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICA1MDE4ODU2IE1hciAyNCAxODoyMyBpbmNod29ybS5LMjUuTDI1LmZhLm1pbjEwMC4yLmJ0Mg0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAxNjQyODUgTWFyIDI0IDE4OjIzIGluY2h3b3JtLksyNS5MMjUuZmEubWluMTAwLjMuYnQyDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICAgMjUwOTQyNSBNYXIgMjQgMTg6MjMgaW5jaHdvcm0uSzI1LkwyNS5mYS5taW4xMDAuNC5idDINCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICAwIE1hciAyNCAxODoyMyBpbmNod29ybS5LMjUuTDI1LmZhLm1pbjEwMC5ib3d0aWUyLWJ1aWxkLm9rDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICAgICAgICAgMCBNYXIgMjQgMTg6MjMgaW5jaHdvcm0uSzI1LkwyNS5mYS5taW4xMDAub2sNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICA4ODE1OTg3IE1hciAyNCAxODoyMyBpbmNod29ybS5LMjUuTDI1LmZhLm1pbjEwMC5yZXYuMS5idDINCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICA1MDE4ODU2IE1hciAyNCAxODoyMyBpbmNod29ybS5LMjUuTDI1LmZhLm1pbjEwMC5yZXYuMi5idDINCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgMTY5MDExNzQ4IE1hciAyNCAxODoyNSBpd29ybS5ib3d0aWUubmFtZVNvcnRlZC5iYW0NCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICAwIE1hciAyNCAxODoyNSBpd29ybS5ib3d0aWUubmFtZVNvcnRlZC5iYW0ub2sNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgMjgxOTU0IE1hciAyNCAxODoyNiBpd29ybV9jbHVzdGVyX3dlbGRzX2dyYXBoLnR4dA0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAgICAgIDAgTWFyIDI0IDE4OjI2IGl3b3JtX2NsdXN0ZXJfd2VsZHNfZ3JhcGgudHh0Lm9rDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1ICAgIDU2MTU0MyBNYXIgMjQgMTg6MjYgaXdvcm1fc2NhZmZvbGRzLnR4dA0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAgICAgIDAgTWFyIDI0IDE4OjI2IGl3b3JtX3NjYWZmb2xkcy50eHQub2sNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgNDA4MjYyMzIwIE1hciAyNCAxODoyOSByZWFkc1RvQ29tcG9uZW50cy5vdXQNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICAwIE1hciAyNCAxODoyOSByZWFkc1RvQ29tcG9uZW50cy5vdXQub2sNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICA4IE1hciAyNCAxODoyOSByZWFkc1RvQ29tcG9uZW50cy5vdXQucmN0cy5vdXQNCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgNDA4MjYyMzIwIE1hciAyNCAxODoyOSByZWFkc1RvQ29tcG9uZW50cy5vdXQuc29ydA0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAgICAgIDAgTWFyIDI0IDE4OjI5IHJlYWRzVG9Db21wb25lbnRzLm91dC5zb3J0Lm9rDQoNCg0KDQoNCg0KIyMjIGxzIC1sIHRyaW5pdHlfb3V0X2Rpci9pbnNpbGljb19yZWFkX25vcm1hbGl6YXRpb24vDQoNCi1ydy1ydy1yLS0gMSB1YnVudHUgdWJ1bnR1IDM0NTMzNjIyOSBNYXIgMjQgMTg6MTggQUxMLkxFRlQuZnEubm9ybWFsaXplZF9LMjVfbWF4QzUwX21pbkMxX3BjdFNEMTAwMDAuZnENCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICAwIE1hciAyNCAxODoxOCBBTEwuTEVGVC5mcS5ub3JtYWxpemVkX0syNV9tYXhDNTBfbWluQzFfcGN0U0QxMDAwMC5mcS5vaw0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAzNDUzMzYyMjkgTWFyIDI0IDE4OjE4IEFMTC5SSUdIVC5mcS5ub3JtYWxpemVkX0syNV9tYXhDNTBfbWluQzFfcGN0U0QxMDAwMC5mcQ0KDQotcnctcnctci0tIDEgdWJ1bnR1IHVidW50dSAgICAgICAgIDAgTWFyIDI0IDE4OjE4IEFMTC5SSUdIVC5mcS5ub3JtYWxpemVkX0syNV9tYXhDNTBfbWluQzFfcGN0U0QxMDAwMC5mcS5vaw0KDQpscnd4cnd4cnd4IDEgdWJ1bnR1IHVidW50dSAgICAgICAxNjQgTWFyIDI0IDE4OjE4IGxlZnQubm9ybS5mcSBbMG0gLT4gL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9pbnNpbGljb19yZWFkX25vcm1hbGl6YXRpb24vQUxMLkxFRlQuZnEubm9ybWFsaXplZF9LMjVfbWF4QzUwX21pbkMxX3BjdFNEMTAwMDAuZnENCg0KLXJ3LXJ3LXItLSAxIHVidW50dSB1YnVudHUgICAgICAgICAwIE1hciAyNCAxODoxOCBub3JtYWxpemF0aW9uLm9rDQoNCmxyd3hyd3hyd3ggMSB1YnVudHUgdWJ1bnR1ICAgICAgIDE2NSBNYXIgMjQgMTg6MTggcmlnaHQubm9ybS5mcSBbMG0gLT4gL2hvbWUvdWJ1bnR1L3RyaW5pdHkvVHJpbml0eU5hdHVyZVByb3RvY29sVHV0b3JpYWwvMU1fUkVBRFNfc2FtcGxlL3RyaW5pdHlfb3V0X2Rpci9pbnNpbGljb19yZWFkX25vcm1hbGl6YXRpb24vQUxMLlJJR0hULmZxLm5vcm1hbGl6ZWRfSzI1X21heEM1MF9taW5DMV9wY3RTRDEwMDAwLmZxDQoNCg0KDQoNCiMjIyBscyAtbCB0cmluaXR5X291dF9kaXIvcmVhZF9wYXJ0aXRpb25zL0ZiXzAvDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDEyMjg4IE1hciAyNCAyMTowOSAgIENCaW5fMA0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxMjI4OCBNYXIgMjQgMjE6MDcgICBDQmluXzENCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTIyODggTWFyIDI0IDIxOjA5ICAgQ0Jpbl8xMA0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxMjI4OCBNYXIgMjQgMjE6MDcgICBDQmluXzExDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDEyMjg4IE1hciAyNCAyMTowNiAgIENCaW5fMTINCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTIyODggTWFyIDI0IDIxOjA5ICAgQ0Jpbl8xMw0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxMjI4OCBNYXIgMjQgMjE6MDggICBDQmluXzE0DQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDEyMjg4IE1hciAyNCAyMTowOCAgIENCaW5fMTUNCg0KZHJ3eHJ3eHIteCAzIHVidW50dSB1YnVudHUgMTIyODggTWFyIDI0IDIxOjA4ICAgQ0Jpbl8xNg0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxMjI4OCBNYXIgMjQgMjE6MDkgICBDQmluXzE3DQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDEyMjg4IE1hciAyNCAyMTowOSAgIENCaW5fMTgNCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTIyODggTWFyIDI0IDIxOjA5ICAgQ0Jpbl8xOQ0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxMjI4OCBNYXIgMjQgMjE6MDkgICBDQmluXzINCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl8yMA0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxNjM4NCBNYXIgMjQgMjE6MDggICBDQmluXzIxDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDE2Mzg0IE1hciAyNCAyMTowNyAgIENCaW5fMjINCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA4ICAgQ0Jpbl8yMw0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxNjM4NCBNYXIgMjQgMjE6MDkgICBDQmluXzI0DQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDE2Mzg0IE1hciAyNCAyMTowOSAgIENCaW5fMjUNCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl8yNg0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxNjM4NCBNYXIgMjQgMjE6MDkgICBDQmluXzI3DQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDEyMjg4IE1hciAyNCAyMTowNSAgIENCaW5fMjggDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDE2Mzg0IE1hciAyNCAyMTowOCAgIENCaW5fMjkgDQoNCmRyd3hyd3hyLXggMyB1YnVudHUgdWJ1bnR1IDEyMjg4IE1hciAyNCAyMTowOSAgIENCaW5fMyANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTIyODggTWFyIDI0IDIxOjA4ICAgQ0Jpbl8zMCANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA4ICAgQ0Jpbl8zMSANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl8zMiANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA4ICAgQ0Jpbl8zMyANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTIyODggTWFyIDI0IDIxOjA4ICAgQ0Jpbl8zNCANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA3ICAgQ0Jpbl8zNSANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl8zNiANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA4ICAgQ0Jpbl8zNyANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA2ICAgQ0Jpbl8zOCANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA4ICAgQ0Jpbl8zOSANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl80IA0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxNjM4NCBNYXIgMjQgMjE6MDkgICBDQmluXzQwIA0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxNjM4NCBNYXIgMjQgMjE6MDggICBDQmluXzQxIA0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxNjM4NCBNYXIgMjQgMjE6MDkgICBDQmluXzQyIA0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxNjM4NCBNYXIgMjQgMjE6MDYgICBDQmluXzQzDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDE2Mzg0IE1hciAyNCAyMTowNiAgIENCaW5fNDQgDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDE2Mzg0IE1hciAyNCAyMTowOCAgIENCaW5fNDUgDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDE2Mzg0IE1hciAyNCAyMTowNyAgIENCaW5fNDYgDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDE2Mzg0IE1hciAyNCAyMTowOSAgIENCaW5fNDcgDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDE2Mzg0IE1hciAyNCAyMTowNyAgIENCaW5fNDggDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDE2Mzg0IE1hciAyNCAyMTowOCAgIENCaW5fNDkgDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDEyMjg4IE1hciAyNCAyMTowNyAgIENCaW5fNSANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl81MCANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl81MSANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTIyODggTWFyIDI0IDIxOjA5ICAgQ0Jpbl81MiANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA4ICAgQ0Jpbl81MyANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA3ICAgQ0Jpbl81NCANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl81NSANCg0KZHJ3eHJ3eHIteCAzIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl81NiANCg0KZHJ3eHJ3eHIteCAzIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA4ICAgQ0Jpbl81NyANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl81OCANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl81OSANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTIyODggTWFyIDI0IDIxOjA0ICAgQ0Jpbl82IA0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxNjM4NCBNYXIgMjQgMjE6MDkgICBDQmluXzYwIA0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxMjI4OCBNYXIgMjQgMjE6MDkgICBDQmluXzYxIA0KDQpkcnd4cnd4ci14IDIgdWJ1bnR1IHVidW50dSAxNjM4NCBNYXIgMjQgMjE6MDkgICBDQmluXzcgDQoNCmRyd3hyd3hyLXggMiB1YnVudHUgdWJ1bnR1IDE2Mzg0IE1hciAyNCAyMTowOCAgIENCaW5fOCANCg0KZHJ3eHJ3eHIteCAyIHVidW50dSB1YnVudHUgMTYzODQgTWFyIDI0IDIxOjA5ICAgQ0Jpbl85IA0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQojIyBEZXJpdmUgc3RhdHMgb24gZ2VuZXMsIHRyYW5zY3JpcHRzIGFuZCBjb250aWdzDQoNCiMjIyB0cmluaXR5X291dF9kaXIkIFRyaW5pdHlTdGF0cy5wbCBUcmluaXR5LmZhc3RhDQoNCg0KIyMjIyBDb3VudHMgb2YgdHJhbnNjcmlwdHMsIGV0Yy46DQoNClRvdGFsIHRyaW5pdHkgJ2dlbmVzJzoJODY2Ng0KDQpUb3RhbCB0cmluaXR5IHRyYW5zY3JpcHRzOgk5MjQ5DQoNClBlcmNlbnQgR0M6IDM4LjA4DQoNCg0KDQojIyMjIFN0YXRzIGJhc2VkIG9uIEFMTCB0cmFuc2NyaXB0IGNvbnRpZ3M6DQoNCglDb250aWcgTjEwOiAzMTM5DQoJDQoJQ29udGlnIE4yMDogMjU3MQ0KCQ0KCUNvbnRpZyBOMzA6IDIxNTcNCgkNCglDb250aWcgTjQwOiAxODQ2DQoJDQoJQ29udGlnIE41MDogMTU5Mg0KDQoJTWVkaWFuIGNvbnRpZyBsZW5ndGg6IDczMg0KCQ0KCUF2ZXJhZ2UgY29udGlnOiAxMDE1LjM1DQoJDQoJVG90YWwgYXNzZW1ibGVkIGJhc2VzOiA5MzkwOTc1DQoNCg0KIyMjIyBTdGF0cyBiYXNlZCBvbiBPTkxZIExPTkdFU1QgSVNPRk9STSBwZXIgJ0dFTkUnOg0KDQoJQ29udGlnIE4xMDogMzE3MA0KCQ0KCUNvbnRpZyBOMjA6IDI1ODkNCgkNCglDb250aWcgTjMwOiAyMTY2DQoJDQoJQ29udGlnIE40MDogMTg2Mg0KCQ0KCUNvbnRpZyBONTA6IDE1OTUNCg0KCU1lZGlhbiBjb250aWcgbGVuZ3RoOiA3MTgNCgkNCglBdmVyYWdlIGNvbnRpZzogMTAwOS43Nw0KCQ0KCVRvdGFsIGFzc2VtYmxlZCBiYXNlczogODc1MDY5OA0KDQoNCg0KIyMgU29tZSByZWFkb3V0czoNCg0KIyMjIGhlYWQgdHJpbml0eV9vdXRfZGlyL1RyaW5pdHkuZmFzdGENCg0KPlRSSU5JVFlfRE40MTA4X2MwX2cxX2kxIGxlbj0xNDY1IHBhdGg9WzA6MC0xNDY0XQ0KQ0NBVFRBVEFUVFRBQVRUVEFBQVRBQUFBQ0NDVFRBQ0FUQ0dHR0dBR0FBQUFDQVRHVENBR0FBQ0FUQUNBQUdBQUFBVENBVFRDVENUR0FUVFRBR0dBQVRBVENHQ0NBVEdHQ1RUQVRDR0FUQUNHQ1RBQUFBR0NBQ1RUR0NBQVRBVEFUR0FBQ0NUQUNBR0FUQVRUQ0FHR0FBR0dBR1RBQVRUR0NUQ0FHQVRUVFRBR0FBR0dBQ0dUQUFUVEdUQVRUR0dBR0dUR0NUQUFBQUNBR0dUVENUR0dUQUFBQUNUR0NUR0NUVFRUR0NUVFRHQ0NUQVRUQVRUR0FBQUFBVEdHVENUQUFHR0FUQ0NBVENBR0dBQVRBVFRUR0NUQ1RUQVRUVFRHQUNBQ0NBQUNDQUdBR0FBQ1RUR0NBQVRBQ0FHQVRUR0FUR0FBQ0FBVFRUR0NUR0NUVFRBR0dUR0NUQUFUQ1RUQUFUVFRBQUFHQ0FUR0NHQ1RDQVRDR1RUR0dBR0dDQVRHR0FUQVRHQVRBQ0dBQ0FBVENUQVRUR0FUVFRBVENHQUFBQ0dHQ0NDQ0FUR1RUR1RUR1RBR0NUQUNUQ0NUR0dUQ0dDQ1RBR0NUR0FDVFRHQVRUQUdBQUdUQUFUR0dUR0FBR0FBQUNHQVRBR0NDR0dBQ1RBQ0dUQ0dBQVRBQUFBVFRUVFRHR1RBQVRHR0FDR0FBR0NDR0FDQ0dUVFRHVFRHVENUQ0NUQUNDVFRUR0NUR0FUR0FDVFRHR0FUR0FUVEdDVFRUVENUR1RUQ1RUQ0NBR0NDVENUR0FBR0FUQ0dUQ0FBQUNHQ1RUVFRHVFRUQUNUR0NBQUNUR1RUQUNUR0FUR0NUQVRUQ0dUQ0FHQ1RDQUFBVEFUQ0FHQ0NBQ0FHQUFBQUFUQUFUQUFHQ0NUQ0NDQ1RUVEdHVFRBVEFDR0FBR1RUR0FBQUNUR0FUQUFDQVRUVENDR1RBQ0NUVENUQUNUVFRHQ0FHQ0FBQUdUVEFDQVRBVFRUR1RUVENDVENBQ0FBR1RBQ0dBR0FBR0NUVEFUVFRHR1RHQ0FUVFRHVFRBQUNHQVRUQ0NUR0FHQUFDR0NUQUFBQUFHVENUR0NBQVRUQVRDVFRUR1RBQUFUQ0dHQUNUQ0dDQUNUR0NUR0FBVFRHQVRBVEFUVENUQVRUQ1RUQ0dBVFRHQ1RDR0FHQ1RUQ0dUR1RDQUNDR0FBQ1RUQ0FUVENBR0FBQVRHR1RBQ0FBQ0dUR0FBQUdHQVRDQUFUVENBQ1RUR0dBQ0dHVFRUQ0dUR0NHR0FBR0NUR0NBQUFBQVRUVFRHR1RBR0NDQUNUR0FDR1RUR0NBQUdDQUdBR0dUVFRHR0FUQVRUQ0NUVENUR1RHQ0FBQ1RBR1RBQVRUQUFDVFRDR0FDQ1RUQ0NUQ0dUR0FDQ0NBR0FDR0FDVEFUQVRUQ0FDQ0dBR1RBR0dUQ0dUQUNBR0NUQ0dUR0NUR0dBQ0dDQUdUR0dDR0FHVENDQVRUVENDQVRUR1RBQUNHR0FHQUdBR0FUR1RUR0FUVFRBR1RDQ0FUR0NUQVRUR0FHR0FUQ0dBR1RBR0dBQUNUQUFHQ1RUVENUR0FBVEFUR0FBQ0FDR1RHVENBR0FHQUFUQUFHQVRHQ1RUR0FBVEFDQVRDQUFHR0FBR1RUQUNHR0FDR0NUQUFBQ0dDQ0FHR0NUVENUQ1RUR0FHQVRHQVRDR0FUQUdHR0dBVFRUR0dUR0FBQUdHQUdBQ0FHQUFHQ0dBQUFDR0FHQUFBQUdHQ1RHQVRHR0NDQUFUR0dUQVRUVENUQUFUQUFBVFRBQUFBQUFUVENUR0dBQ0dDQUFBQUFHQUFBR0NHQUFHQUFUQUNUVFRBVENUQUNHR0FBQUFHVEFHVEFUQUFBQUdUVFRUR0FBR1RUQ0FBR0dUVEdUVFRUQUdUR0dUVFRBQUdHVEFUQVRBVEFUQVRBQ0dHQQ0KDQo+VFJJTklUWV9ETjQxMjdfYzBfZzFfaTEgbGVuPTE2MTAgcGF0aD1bMDowLTE2MDldDQpDQUFBQUFBQ0NBQUFHVEdUVFRHR0FHQ0dHQ0dHQUFUVEFBQUFBR0FBQUFUQVRBVFRBVFRHQVRBQVRHQ0NDQUFHR0NUQ0NBQUFBQUNUQUFBQ1RHQ0FUQ0FUR0NUQ0NUQ1RUVEFUQUFHR0FDQVRUR0NBR0FBVENUVENBR0FBQUdUR0dUR1RDVFRHQUdBQ0FHQUFBQ0NUQUdDQUFBQ0FHQUFBQUFHVENHQUFBR0FBQUdDQUFDQUNDR0dBQUFDR0dDVFRDVFRHR0FUR0NDQUFHQUNUVENUQUFBQUFBQVRUVFRBQ0FBVFRBR0NBQUdHR0FBQ0FBQUFBR0FHR0FHVFRHR0FUR0FBR0FBR0FBQUFUR0dBQUFBQ0NUVENBQ0FHQVRDQUdUR0NUVFRUQVRUQUdUQUFUR0dBQ0FUQ0FBQUFBR0FDQUNUVFRBR0FBQUFUQ0NHR0NBQVRUR0FBVENBQUdDVEFUR0FBR0FBVENBR0FHQ0FUR0NUQUdBQUFUR1RBVENDR0FUQUdUR0FBQUdDQVRUQUNUVENUQ0FBR0FBR0FBR0FBR0FHVEFUR0FHR0FHQ1RUR0FHQVRBR0FUR0FUR0NUR0FDQ0dBR0FUVFRBVFRDR0FUQ0dBVFRDQ1RDQ0NBQUNDR1RHVENBR0dDR0FHR0FBR0dBR0FUQ1RBQUNBR0FHR0FBQUFBQUNDQUNDVENBQ1RBVENDR0FUVFRHQVRDQVRHQ0FBQUFBQVRDQUFDR0FHR0NUR0FBR0NUQ0dDR0NUQ0dUR0dUR0FBVEFUQVRDQ0NUVENUR0NBR0FBR0FHR0FHR0FBQUFUR0NDVFRBQ0NUQ0NDVFRHQ0NUQ0NDQUFHR1RBQVRBR0FHR1RDVEFUVENBQUFHR1RUR0dHR1RUVFRBQ1RUQUdUQUFBVEFDQ0dDVENBR0dBQUFBQVRUQ0NUQUFBR0NUVFRDQUFBQVRUQVRDQ0NUQUNHVFRHVENUQUFUVEdHR0FBR0FDQVRBQ1RUVEFUQ1RDQUNUQ0dBQ0NUR0FDQVRHVEdHQUNBQ0NUQ0FUR0NUVEdUVEFUR0FBR0NUQUNUQ0dUQVRUVFRUQVRUVENDQUFDVFRBQUFBQ0NUR1RBQ0FBR0NUQ0FBQ0FDVFRDQ1RDQUNBR1RDQVRUQVRUVFRHR0FBQUdBR1RUQ0dUR0FUR0FDQVRUQ0dUR0FBQUFUQUFBQUFBVFRBQUFUVEFDQ0FUVFRBVEFUQVRHR0NUVFRHQUFBQUFHR0NBVFRBVEFDQUFBQ0NHVENUVENUVEdHVFRUQUFHR0dUVFRDVFRHVFRUQ0NUQ1RBR1RUQ0FBR0FHQUFUVEdDQUNUVFRHQ0dDR0FBR0NDR0NBQVRDQVRDR0dUQUdUQVRDQ1RUQ0FBQUFBR1RUVENUR1RHQ0NHR1RUQ1RHQ0FUVENUR0NBR0NDR0NHVFRBVFRBQ0dUVFRBQUNUR0FHVFRUR0FDVFRHQUdUR0dUR0NUQUNUVENDR1RBVFRUQVRUQUdHQVRBVFRBQ1RDR0FDQUFBQUFBVEFUR0NUQ1RBQ0NHVEFUQUFHR1RHQ1RUR0FUVENUVFRHR1RUVFRUVEFUVFRUQVRHQ0dBVEdHQUFBVENBVFRHR0FBQ0dUQ0NBQ1RUR0NUR1RBVFRBR0FBQ0FUQ0FBVENHQVRHVFRHR1RDVFRUR0NUQ0FBQ0dHVEFDQUFBVFRUR0FUQVRUQUNBQ0NDR0FBQ0FBQUFHR0FUR0NBQ1RDVFRBR0FBR1RUR1RUQ0dDQ1RHQUFBR0dBQ0FUVEFUVENUQVRUR0dUQ0NBR0FBQVRUQUdBQ0dUR0FHQ1RHQ1RUQUFDQUdUR0NUQUdUQ0dUR0dUR0FBR0FBQVRUQ0NUR1RHR0FBQVRHR0FBVEFUVEFBVFRHQUFUR0dUVFRUR0dUVFRUQ1RUR0dHVFRDQUNUVEdHQ0FUVFRHVFRUQ1RUVFRHVEFBQUFBQUFBVFRHQUFUQUFBQUFHQUNUVENHR0FUVEFHQ0NHQ1RHVFRUVFRDQUFUR1RUR0dHQUFUQVRUVFRUQUNUVEFBQVRUR1RHR0dUVFRUQVRHVFRDQUNDQUFUVEFBVEFHR0FUVEFUVEdBR0dUQ1RBVEFHQVRUVEdUVEFBVFRBQVRUVFRUQVRUQUFBQ0FHQUNUVEFBQVRBVEFBVA0KDQo+VFJJTklUWV9ETjQxOTNfYzBfZzFfaTEgbGVuPTEyNzEgcGF0aD1bMDowLTEyNzBdDQpHVFRDQ1RUQUdDQVRDVEdDQ0FDQ1RDQ0FDVEFUQVRUR1RUVEFUVFRUR0FBQVRBVFRBVEFUVFRUR0FHR0NHVEdUVENUQ0FBQVRUQVRUVEFHQUNDQUdBQUFBVFRUVFRBQUNUVENBQUNDQUFBR1RUQVRUQUFUVFRHQ1RUR0FBQUFHQVRUR1RUQ1RBQ0NBQ0NDQUFDVFRBQ0FUQ0FBQVRBQUNHQUFBQUFDVEdBR0FUVEdBQ1RUQ1RHR1RHQUFBVEFUQ1RUR1RUVENBR0FBQUNBVENBQUFUQUFHR0NUR0dUQ1RUQ0dUQVRUVFRBR0FBQUNBVEFBVFRHQUdHVEdDVEFDQ0FBVEFDVFRUVFRHQUNUR1RBR0dUVEFHQ1RHQ0FBVENBR0dDVFRUVENBVFRDQVRUR0FDVEFBQVRUVEFUVENDVFRHR1RUVEFDR0FHVENDQUFBQUFUVFRBR1RDR0NBQUNUVFRBQUFUVFRDVENUVFRUVFRDQ0NUVFRDQUFHQVRHQ0FDQVRUQUFDR0FBR0FBQUNBR0FUVEdHQVRDR0FUVFRHR1RDQUFBQ0NBR0NHVFRBR0NBQUFHQUFHQ0NDQUFBQUFHQVRDR1RUR0FDQUFUVENUR0FDQUFHVFRDQ0NUQUNHQ0NUQ0dBR0dBVFRUQ0FBQ0FHQUFHVENHVFRHR1RUVENDQUFBQUFDQVRUQ0FUVENBR0dBQUFUVENBR0NUVENDVENBQUNUVENDQVRBVFRUR0NUQUFBQ0dBR0FHR0FBR0FBVFRBQ0FBQUFHR0FUQ1RDVFRBQ1RBQUFHQUFBR0NBVEdHR0FHQ1RUR0NBVEFUVENDQ0NDQ1RUQUFBQ0FBQVRUQ0NUQVRHQUFDR0NUQVRUVFRBR0NBVEFDQVRHVENUR0dUQUFUVENBQ1RBQ0FBQVRUVFRDQUdUQVRUQVRHQUNHQUNUQ1RUQVRHVFRHQ1RUR1RBQUFUQ0NBQ1RHQUFBR0NBQVRBQUNBVENUQUNBR0dBVENUR0NDVFRDQUNDQ0NBVFRUQUFBR0dDQUNDQ0FDQ0NBR0dBQUNDQ1RUVEdHQ0NDR0NUQVRHR0dUR0NUVEFUQVRUVFRBVFRDQ0FBVFRBVFRHQ1RUQVRHR0dHQVRUR0dBR1RDVEFUQUFHQ1RHQ0FBQUdBQVRHR0dBVFRBVFRHQ0NBQUNHQUNUQUNDQUdDR0FUVEdHQ1RUR0NDVEdHR0FBR1RDVENHQUFHR1RDVFRUQVRHR0FUQ0dBVENUVEFUR0dUQ0NUQUdUQUFBQUNUR1RUVFRHVEFBR0FBVFRUQ0FUVFRBQ1RDQ0FBQUFUVFRUQUFBR0FUQVRBQ0dBR1RHQUFBVENHVFRBQUFUVEFUQUdUQUNDVENDVEFBVEdDQ0FUVEdDVFRDVEFHQ1RHQUNDVEFHQUFBQVRBQVRBQUFUVENBVEFUQUFBR0FBR0dBQVRHQ1RUR0dBR1RUQ0dHQUFBQ0FUQVRUR1RDVFRDVEdHQVRUQUFUQUFUVFRBVENDVENDQVRUQVRHQ0dHQ0FUVEFBQUNHVFRDQUFUR0NDVFRUQUFUQ0dBVEFUQ0FUR0NBQ0dDQ0FUQUFBQ0dBQUNDVENHQUFBQVRBQ1RUR0FUVEFUQ0NBR1RUQ1RUVFRUQUNDQ0FUQ0NBVEFHVFRUVENHQUdBR0NBVEdBQUFUVFRUVEdBVEFHQUFUQUNUVFRDVFRUVEFDRw0KDQo+VFJJTklUWV9ETjQxMDRfYzBfZzFfaTEgbGVuPTYwNSBwYXRoPVswOjAtNjA0XQ0KVENBQ0FBQ0NUQ0FUVFRUQ0NBQUdUQVRHVFRDVENUR0FDVENUVEFDVENBQUdHVEdBQUFUQ1RUVEdUR0dBVENHVEFHQUNBQUFBVEdUQUdDVFRBQUdBQUFBVENUR0dUR0FUVFRDVEdDQUdUQ1RUQVRUVEFUR1RHQUFUQUFUVFRUR1RUQ0dDQ1RBQ1RDQ0dHVFRUQVRUQ0FBQUNDQUFBQUFBQUNUQ1RHVENBQUFBQUFBR0dDQVRDQVRUVFRUVEdDVFRHQ1RUVEFBQVRDQVRUVEdDQVRUQVRDR1RUR0FBVEFUQUNDQUFUQUdBQUFBQUNDVEFBR0NHVFRHVFRBQUFUR0FBVEFBQUFDR0FDQUNUVENUR1RBVEdBQUFHQ1RUQ0dUVEdDVFRDQ1RBVEFUVEFDQ0FUR1RUVENBQUdHQUdBVFRDR1RUR0FUQVRBQ0FUR0dBVENBQUFUVFRBR0dBQVRUR0NDR0dBVEFBQUdDVEFUR1RUQ0FUVFRBVENDVEFUVEdBR0FBVEdDQUFBR0dUQ0NUR0FUQUdUQUFBVFRUVFRUVFRUVENBQ0NUR0FBQVRUQUNDR1RUVFRUQ0FBVFRBQ0NUR0FBQ0dBQVRDQVRHQ1RUVEFBVEdDVENUQ0NBVFRBQUdDQVRDQUdUR0NUR0dBVEFUVEFHVFRUVEdHR0FHVEFDVFRDQ0dDQUFBQUFDR0dBVENHQUFBVENDQVRHVFRUQ0NHVENUR1RHVEdDVEFHVENHVENBQVRDR0NDQ1RHQVRBQ0NHQVRDQUFDVEFDVENDQUFUQUdUVEFHVFRHQ1RUVFRDQ0MNCg0KPlRSSU5JVFlfRE40MTMwX2MwX2cxX2kxIGxlbj0yNzc3IHBhdGg9WzA6MC0yNzc2XQ0KQ0FUQUdHQ0NDQUFBQVRUR1RBQUFDQUFUR0FHQ0NBR1RBVEdUQVRDR1RDQ0FUR0FUVEFBQVRBVEdDQ0NBQUFHQ0dHVEdBVEFHVFRUVEFBVEFUVFRUQUFUQUFBQUdBVEFBVEdDQ0FBQUFBQUFUVEFDQUdBR0FBQUNBR1RUQ1RDVENUQ0dDR1RBQ0dUQUdBQVRHVENDR0NHVFRUVENHVENHVEdBQUdHVEdBVEdBQUNDQVRUVEdDQ1RUVEdBQUdDQ0NBQUdBQVRUVFRDVEFHR0NHQUNUQ0dUVEdUVEdHQUNHVENDVEdDVFRDQUdUVFRDVEFDVFRUR1RBQ0dUR0FUVENDVEFDR1RDR0FBQUNHQ0dBR1RBVEdHQUNHVEFUQ0NHVEFDVFRDVEdBQVRUVEdBQ1RUR0dDVEdBQVRDR1RUQVRUR0NHQ0dBQUdHQ0NUVEdDQUFBQVRUQUFHQUNDVEdBR0dDVEFDQ0NHVEFBVEdBR0dHVEFDVFRDVEdBR0FBQ1RDQ1RBVFRUVEdUVFRDVENUQUdBQUdBQUdDR0NBQUdBVENBVEdDQ0NBR0NBR1RBQ0FBQVRUQUdHQUFUQVRHR0dHQ0NDVFRDVEdBQ0dBVEdUVEdUVEdUQUFDVEdBR0FBQUdDQ0FBQ0NDQUdDQUFBQ0NDQUdDVEFBR1RUVFRUQUFBR0dDQ0NBVEFBQUdHVEFBQUFBQUNUR0FBQ0dHVEFUQ0dUVEdBQUFDQ0FUQ0NHQ0FBVEdHQUdBQ0NBQUdUVENHVEdUVENHQUNUQVRUVFRUR0FHQ0NDQ0FBR0NBQUNBVENBQUNUR0dUVEFDQUFUQ0FHVENUVEdDVEdHQUdUVEFHQVRHQ0NDVENHVFRDVEFDVFRUQ0FDVEdDVEFDVFRDQUNDVEdBR0NBR0FDVEFHQ1RDQUdBR0NBQUdBQUNDVFRHVEdHVEdBVEdBQUdDVEFBR0NBR1RUVEdUVEdUQ0FDVENHVENUQ0NUVENBQUFHQUFBQ0dUR0dUQUFUVEdBQUNUVENUQ0dBVFRUQUdDVENDQUFBQ0dHVEdUQ1RDR1RUVFRUR0dHVEFBVEdUVFRUQUNBVENDVEdDQUdHQUFBVEFUQ0dDQUFDVFRUQ1RUR1RUQUFHQ1RDVEdHQVRUR0dHQUNHVEdUVEdDVEdBQ0FBQ0NBQ0FUQVRDVEdDVFRUR0dHQUNDVEdBR0FDVEFUR0NBQUFHVFRUQUNHR0FDQ0FUVEdBQUNHVEFBQUdDVEFBR0FUVFRDVENHVFRUQUdHQUFUVFRHR0FBQUFBVEFUVFRDVEdUQ1RDVEFUQ0NDVEdBVEFUQ0FBVFRDVENUQ1RDR1RUQUFBR0dBVFRBVFRDVEdDQUdUVEdUQVRDQ0FHR0dUQ0FUVFRDQ0FDQ0dBVEFDVENUQ0dBQUdUVENHQ0FBQUdBVEFBVEdHQ0dUR0dBR1RHVEFHQUFUVENBR0NUVEFHQ0FHQ0FUQ0NHVENBVENDQ0FHQUNDVFRDQUFBVEdBQUFBR0dBQUdDQ0NDVFRBQ0NBQVRUR0dBQUdDVENHQ0dBR1RUVENUVENHQ0FBR0FBQUFUVEFUVEdHR0FBR0NHVEdUVENBR0dUQ1RDR0NUQUdBQ1RUQ0FUQ0NHQUNDVEdHVENBQUFBVEdBQ0NUVENDVEdDVEFUVEFBQ0FBQ1RHVEFDVEdUQ0FBR0NUVFRDVEdBVEdHVEFDQUFBVEdUVEdDVFRUQUFUR0dUQ0dUQUFBR0FHVEdHQVRBQ0dDVEFDQUdUVEFUQUFHQVRBVENHQUFUR0dBVEFHQ0dUVEdBVENHVFRDQUNDQ0FUVFRBVEdBVFRUVENUVEFUQUdBQUdDVEdBQUFBR0dDQ0dDVENBQUdBQUdHQUNHQ0FBR0dHVEFUR1RHR1RDVEdHVEFBQUFBQUNDQ0dDVFRBQ0dBR0FBVEFUQ0dUVEFBVEdDVFRDVEdBQVRDVFRDVFRUQUNHQ1RDVENHR0NBQVRBQ0NUVFRDQ1RDVFRUR0NBQUFHR0FDQ0NHVEFBR0NUVFRDVEdUQ0FUQ0FUQ0dBQUFBQ0dUQUFUVEFHVEdHR1RDVENHVFRUQ0NHVFRHQ1RUVFRHQ0NDVEFBQUdBQUFBQ1RHQ1RBVFRUVEFUR1RUVEdDQVRHVEdDQUdHVEFUVENHQUFDVENDVENHQ0FDVEdDVENHVEFBQ0dBVENBR0dBQUFBQUdHVEdBQUNDVFRUVEdDQUdBQUdBQVRDVENUVFRDVFRUQUdDQUFBR1RDQ1RUR1RUR0NBR0NBVEdBVEdDVENBQUdUVEdBR0FUVFRUR1RDVEdUVEdBVEFBVEFBVEdHR1RHQ1RUVFRUQUdHVEdBVEFUVFRBVEdUQ0FBVENBVEdBVEFDVEFBQ1RUVEdDVFRUR0FBQVRUR0NUQ0FHVENBQUdHVENUVEdDVFRHR1RHQ0NBQUdHVFRBVEdDQ0FHVENBQVRDQUFBQ0dUQUNBQVRBQ1RDR0NBQVRBVENBVEdBVEFDQ0dBQUdDVEdDVEdDVEFBR0dBR0NBQUFBR0dUVEdHQ0FUR1RHR0NBQ0dBVFRBQ0dUVENDQ0NDVEdBQUFBR0FBQUdDVEdDVEFHVEFDQ0dBR0FBR0dBQUFHVEdBQUFBVEFDQ0dUVEFBQUdBR0NDVEFUQ1RBVENUQ0dBVEFUVEdUQUNUQUFHQ0dBVEFUVEdDQUdBQUdBQ0dHR0FBR1RUVFRDQVRUQ0NBQUFUVEFUVEdHVEFDVEdHVEFUVENBQUNBQVRUQUdBQUFDVFRUQUFUR1RDVEdBVFRUQUdHVFRDVFRUQUFBR0FBR1RDQ1RUVEFBQUNDQVRDQ0dBR0FBQUFUVEFBVEdUVEdHQUFUR0FBQ0dUVEdDQUdDQUFUQVRDVEdDVENUVEdBQ0FBQ0dDVEFUR1RBVENHQUdHQ0NHR0dUR1RUR0NHVFRHVEdBQ0NHQUdBQUFBQ0NBR0dDQ0dDVEdBVEdUVFRUR0NUVFRBVEdBVFRBVEdHVEFHVEdUQUdBR0NBQUFUVENDVFRUQ0FBQUFBQ0FUQVRDQ1RDVFRUQUNDQUdBVEFDQ1RBVEFDVEFBQVRUR0FBR0NDVENBQUdDR0NBQUNUVEdDVENHVENUQ0FHVFRBQ0dUVENBQVRUQUNDVENDVENDQ0FHQ1RDVEdBVFRBQ1RBVEdBQUdBQ0dDQUFHQUNUQ0dUVFRUQ0FHR0dBR0NUQUdDQ0FUR0FBVEFBQUdHVENUQUdUR0dDVEFBQUdUQ0dBVEdHQUNBQ0dBQUdHQUFBQ0dUR1RBVFRDVEdUQUFDVFRUR1RBVEFBVENDVEFHVEdBVEdHVFRDQUdBVFRUVFRDVEdBQ1RHVEFUVEFBVEdDQ0NBQUNUR0dUVEdDR0NUQ0dHQ0FUR0dDVEFHVEdUVEFUVENDQ0FBR0FBQUFBQUFDQVRDVENBQ1RUVEdBQUFBQUdBVEFDQ0dDQVRDQ0NUQ0FBVEFUVENUQUdBQUdBR0NBVENBR0NBQUdBQUdDQUNHVENUQUFBVENBVEFUQ0dHVFRUQ1RHR0dUQVRBVEdHVEdBVENDQ0NUQUdBQVRBVEdBR0dBQ1RBQUFBQVRBVFRUVEFDVFRDVEFHVEFUQUdUQUFDQVRUR0FUQ0FUQVRUQ0dDVEFHVEFDVFRUVFRHQ0NUQUNBQVRBVEFUQ1RBR1RUQVRUQ0FDVFRUQUFBQVRBVFRHVFRBQUNHVEFUQVRBVFRUVEFBQUFBQUFUQ1RUQVQNCg0KDQojIyMgaGVhZCB0cmluaXR5X291dF9kaXIvVHJpbml0eS5mYXN0YS5nZW5lX3RyYW5zX21hcCANCg0KVFJJTklUWV9ETjQxMDhfYzBfZzEJVFJJTklUWV9ETjQxMDhfYzBfZzFfaTENClRSSU5JVFlfRE40MTI3X2MwX2cxCVRSSU5JVFlfRE40MTI3X2MwX2cxX2kxDQpUUklOSVRZX0RONDE5M19jMF9nMQlUUklOSVRZX0RONDE5M19jMF9nMV9pMQ0KVFJJTklUWV9ETjQxMDRfYzBfZzEJVFJJTklUWV9ETjQxMDRfYzBfZzFfaTENClRSSU5JVFlfRE40MTMwX2MwX2cxCVRSSU5JVFlfRE40MTMwX2MwX2cxX2kxDQpUUklOSVRZX0RONDE5Nl9jMF9nMQlUUklOSVRZX0RONDE5Nl9jMF9nMV9pMQ0KVFJJTklUWV9ETjQxODVfYzBfZzEJVFJJTklUWV9ETjQxODVfYzBfZzFfaTENClRSSU5JVFlfRE40MTc1X2MwX2cxCVRSSU5JVFlfRE40MTc1X2MwX2cxX2kxDQpUUklOSVRZX0RONDE4NF9jMF9nMQlUUklOSVRZX0RONDE4NF9jMF9nMV9pMQ0KVFJJTklUWV9ETjQxNjBfYzBfZzEJVFJJTklUWV9ETjQxNjBfYzBfZzFfaTENCg0KDQo=