{"data":{"id":"10.5061/dryad.ghx3ffc05","type":"dois","attributes":{"doi":"10.5061/dryad.ghx3ffc05","prefix":"10.5061","suffix":"dryad.ghx3ffc05","identifiers":[],"alternateIdentifiers":[],"creators":[{"name":"Zhao, Peiqing","nameType":"Personal","givenName":"Peiqing","familyName":"Zhao","affiliation":["Central Hospital of Zibo"],"nameIdentifiers":[{"schemeUri":"https://orcid.org","nameIdentifier":"https://orcid.org/0000-0002-9311-1927","nameIdentifierScheme":"ORCID"}]},{"name":"Tian, Maojin","nameType":"Personal","givenName":"Maojin","familyName":"Tian","affiliation":["Central Hospital of Zibo"],"nameIdentifiers":[]},{"name":"Du, Jianxin","nameType":"Personal","givenName":"Jianxin","familyName":"Du","affiliation":["Central Hospital of Zibo"],"nameIdentifiers":[]}],"titles":[{"title":"Data from: TIPE drives a cancer stem-like phenotype by promoting glycolysis via PKM2/HIF-1α axis in melanoma"}],"publisher":"Dryad","container":{},"publicationYear":2024,"subjects":[{"subject":"FOS: Basic medicine","schemeUri":"https://web-archive.oecd.org/2012-06-15/138575-38235147.pdf","subjectScheme":"fos"},{"subject":"FOS: Basic medicine","schemeUri":"http://www.oecd.org/science/inno/38235147.pdf","subjectScheme":"Fields of Science and Technology (FOS)"},{"subject":"transcriptomics"},{"subject":"Metabolomics","schemeUri":"https://github.com/PLOS/plos-thesaurus","subjectScheme":"PLOS Subject Area Thesaurus"},{"subject":"Gene interference and overexpression"}],"contributors":[],"dates":[{"date":"2024-11-04T03:10:05Z","dateType":"Created"},{"date":"2024-11-04T03:10:38Z","dateType":"Submitted"},{"date":"2024-12-13T00:00:00Z","dateType":"Issued"},{"date":"2024-12-13T00:00:00Z","dateType":"Available"}],"language":"en","types":{"ris":"DATA","bibtex":"misc","citeproc":"dataset","schemaOrg":"Dataset","resourceType":"dataset","resourceTypeGeneral":"Dataset"},"relatedIdentifiers":[{"relationType":"IsCitedBy","relatedIdentifier":"10.7554/elife.92741.2","relatedIdentifierType":"DOI"}],"relatedItems":[],"sizes":["15027808 bytes"],"formats":[],"version":"4","rightsList":[{"rights":"Creative Commons Zero v1.0 Universal","rightsUri":"https://creativecommons.org/publicdomain/zero/1.0/legalcode","schemeUri":"https://spdx.org/licenses/","rightsIdentifier":"cc0-1.0","rightsIdentifierScheme":"SPDX"}],"descriptions":[{"description":"TIPE (TNFAIP8) has been identified as an oncogene and participates in\n tumor biology. However, how its role in the metabolism of tumor cells\n during melanoma development remains unclear. Here, we demonstrated that\n TIPE promoted glycolysis by interacting with pyruvate kinase M2 (PKM2) in\n melanoma. We found that TIPE induced PKM2 dimerization, thereby\n facilitating its translocation from the cytoplasm to the nucleus.\n TIPE-mediated PKM2 dimerization consequently promoted HIF-1α activation\n and glycolysis, which contributed to melanoma progression and increased\n its stemness features. Notably, TIPE specifically phosphorylated PKM2 at\n Ser 37 in an ERK-dependent manner. Consistently, the expression of TIPE\n was positively correlated with the levels of PKM2 Ser37 phosphorylation\n and cancer stem cell markers in melanoma tissues from clinical samples and\n tumor bearing mice. In summary, our findings indicate that the\n TIPE/PKM2/HIF-1α signaling pathway plays a pivotal role in promoting\n cancer stem cell properties by facilitating the glycolysis, which would\n provide a promising therapeutic target for melanoma intervention.","descriptionType":"Abstract"},{"description":"Transcriptomics  Sample collection and\n preparation RNA quantification and\n qualification ①     RNA degradation and contamination\n was monitored on 1% agarose gels. ②     RNA purity was\n checked using the NanoPhotometer® spectrophotometer (IMPLEN, CA, USA)\n . ③     RNA integrity was assessed using the RNA Nano\n 6000 Assay Kit of the Bioanalyzer 2100 system (Agilent Technologies, CA,\n USA). \u003cstrong\u003eLibrary preparation for\n Transcriptome sequencing\u003c/strong\u003e A total amount\n of 1 μg RNA per sample was used as input material for the RNA sample\n preparations. Sequencing libraries were generated using NEBNext® UltraTM\n RNA Library Prep Kit for Illumina® (NEB, USA) following manufacturer’s\n recommendations and index codes were added to attribute sequences to each\n sample. Briefly, mRNA was purified from total RNA using poly-T\n oligo-attached magnetic beads. Fragmentation was carried out using\n divalent cations under elevated temperature in NEBNext First Strand\n Synthesis Reaction Buffer(5X). First strand cDNA was synthesized using\n random hexamer primer and M-MuLV Reverse Transcriptase(RNase H-). Second\n strand cDNA synthesis was subsequently performed using DNA Polymerase I\n and RNase H. Remaining overhangs were converted into blunt ends via\n exonuclease/polymerase activities. After adenylation of 3’ ends of DNA\n fragments, NEBNext Adaptor with hairpin loop structure were ligated to\n prepare for hybridization. In order to select cDNA fragments of\n preferentially 250~300 bp in length, the library fragments were purified\n with AMPure XP system (Beckman Coulter, Beverly, USA). Then 3 μl USER\n Enzyme (NEB, USA) was used with size-selected, adaptor-ligated cDNA at\n 37°C for 15 min followed by 5 min at 95 °C before PCR. Then PCR was\n performed with Phusion High-Fidelity DNA polymerase, Universal PCR primers\n and Index (X) Primer. At last, PCR products were purified (AMPure XP\n system) and library quality was assessed on the Agilent Bioanalyzer 2100\n system. \u003cstrong\u003eClustering and sequencing\n (Novogene Experimental Department)\u003c/strong\u003e The\n clustering of the index-coded samples was performed on a cBot Cluster\n Generation System using TruSeq PE Cluster Kit v3-cBot-HS (Illumia)\n according to the manufacturer’s instructions. After cluster generation,\n the library preparations were sequenced on an Illumina Novaseq platform\n and 150 bp paired-end reads were generated.\n \u003cstrong\u003eData Analysis\u003c/strong\u003e\n \u003cstrong\u003eQuality control\u003c/strong\u003e\n Raw data (raw reads) of fastq format were firstly processed\n through in-house perl scripts. In this step, clean data (clean reads) were\n obtained by removing reads containing adapter, reads containing ploy-N and\n low quality reads from raw data. At the same time, Q20, Q30 and GC content\n the clean data were calculated. All the downstream analyses were based on\n the clean data with high quality. \u003cstrong\u003eReads\n mapping to the reference genome\u003c/strong\u003e\n Reference genome and gene model annotation files were downloaded\n from genome website directly. Index of the reference genome was built\n using Hisat2 v2.0.5 and paired-end clean reads were aligned to the\n reference genome using Hisat2 v2.0.5. We selected Hisat2 as the mapping\n tool for that Hisat2 can generate a database of splice junctions based on\n the gene model annotation file and thus a better mapping result than other\n non-splice mapping tools. \u003cstrong\u003eNovel\n transcripts prediction\u003c/strong\u003e The mapped reads\n of each sample were assembled by StringTie (v1.3.3b) (Mihaela Pertea.et\n al. 2015) in a reference-based approach. StringTie uses a novel network\n flow algorithm as well as an optional de novo assembly step to assemble\n and quantitate fulllength transcripts representing multiple splice\n variants for each gene locus.\n \u003cstrong\u003eQuantification of gene expression\n level\u003c/strong\u003e featureCounts v1.5.0-p3 was used\n to count the reads numbers mapped to each gene. And then FPKM of each gene\n was calculated based on the length of the gene and reads count mapped to\n this gene. FPKM, expected number of Fragments Per Kilobase of transcript\n sequence per Millions base pairs sequenced, considers the effect of\n sequencing depth and gene length for the reads count at the same time, and\n is currently the most commonly used method for estimating gene expression\n levels. \u003cstrong\u003eDifferential expression\n analysis\u003c/strong\u003e \u003cem\u003e(For DESeq2 with\n biological replicates) \u003c/em\u003eDifferential expression analysis of two\n conditions/groups (two biological replicates per condition) was performed\n using the DESeq2 R package (1.16.1). DESeq2 provide statistical routines\n for determining differential expression in digital gene expression data\n using a model based on the negative binomial distribution. The resulting\n P-values were adjusted using the Benjamini and Hochberg’s approach for\n controlling the false discovery rate . Genes with an adjusted P-value\n \u0026lt;0.05 found by DESeq2 were assigned as differentially expressed.\n \u003cem\u003e(For edgeR without biological replicates) \u003c/em\u003ePrior to\n differential gene expression analysis, for each sequenced library, the\n read counts were adjusted by edgeR program package through one scaling\n normalized factor. Differential expression analysis of two conditions was\n performed using the edgeR R package (3.18.1). The P values were adjusted\n using the Benjamini \u0026amp; Hochberg method. Corrected P-value of 0.05\n and absolute foldchange of 2 were set as the threshold for significantly\n differential expression. \u003cstrong\u003eGO and KEGG\n enrichment analysis of differentially expressed\n genes\u003c/strong\u003e Gene Ontology (GO) enrichment\n analysis of differentially expressed genes was implemented by the\n clusterProfiler R package, in which gene length bias wascorrected. GO\n terms with corrected Pvalue less than 0.05 were considered significantly\n enriched by differential expressed genes. KEGG is a database resource for\n understanding high-level functions and utilities of the biological system,\n such as the cell, the organism and the ecosystem, from molecular-level\n information, especially large-scale molecular datasets generated by genome\n sequencing and other high-through put experimental technologies\n (http://www.genome.jp/kegg/). We used clusterProfiler R package to test\n the statistical enrichment of differential expression genes in KEGG\n pathways.\n \u003cstrong\u003eMetabolomics \u003c/strong\u003e\n \u003cstrong\u003eSample Extraction Method\u003c/strong\u003e\n After slowly thawing the sample at 4°C, an appropriate amount of\n the sample is taken and added to a pre-cooled methanol/acetonitrile/water\n solution (2:2:1, v/v). The mixture is vortexed for mixing, followed by\n low-temperature ultrasonic treatment for 30 minutes. The sample is then\n allowed to stand at -20°C for 10 minutes and centrifuged at 14,000 g at\n 4°C for 20 minutes. The supernatant is collected and vacuum-dried. For\n mass spectrometry analysis, 100 μL of acetonitrile/water solution\n (acetonitrile:water = 1:1, v/v) is added to redissolve the dried sample,\n which is then vortexed. The sample is centrifuged again at 14,000 g at 4°C\n for 15 minutes, and the supernatant is taken for injection and\n analysis. \u003cstrong\u003eChromatographic\n Conditions\u003c/strong\u003e The samples were separated\n using an Agilent 1290 Infinity LC Ultra-High-Performance Liquid\n Chromatography (UHPLC) system with a HILIC column. The column temperature\n was maintained at 25°C, and the flow rate was set to 0.5 mL/min. The\n injection volume was 2 μL. The mobile phase composition was as follows: A\n = water + 25 mM ammonium acetate + 25 mM ammonia solution, and B =\n acetonitrile. The gradient elution program was as follows: 0 to 0.5 min,\n 95% B; 0.5 to 7 min, a linear decrease from 95% B to 65% B; 7 to 8 min, a\n linear decrease from 65% B to 40% B; 8 to 9 min, B maintained at 40%; 9 to\n 9.1 min, a linear increase from 40% B to 95% B; and 9.1 to 12 min, B\n maintained at 95%. During the entire analysis, the samples were kept in a\n 4°C autosampler. To avoid the impact of fluctuations in instrument\n detection signals, the samples were analyzed consecutively in a random\n order. Quality control (QC) samples were inserted into the sample queue to\n monitor and evaluate the stability of the system and the reliability of\n the experimental data. \u003cstrong\u003eQ-TOF Mass\n Spectrometry Conditions\u003c/strong\u003e The AB Triple\n TOF 6600 mass spectrometer was used to collect the first-order and\n second-order spectra of the samples. The ESI source\n conditions after HILIC chromatographic separation were as follows: Ion\n Source Gas1 (Gas1): 60, Ion Source Gas2 (Gas2): 60, Curtain gas (CUR): 30,\n source temperature: 600°C, IonSpray Voltage Floating (ISVF): ±5500 V (both\n positive and negative modes); TOF MS scan m/z range: 60-1000 Da, product\n ion scan m/z range: 25-1000 Da, TOF MS scan accumulation time: 0.20\n s/spectrum, product ion scan accumulation time: 0.05 s/spectrum. The\n second-order mass spectrometry was acquired using information-dependent\n acquisition (IDA) in high sensitivity mode. The Declustering Potential\n (DP) was set to ±60 V (both positive and negative modes), and the\n Collision Energy was 35 ± 15 eV. The IDA settings were as follows:\n isotopes within 4 Da were excluded, and 10 candidate ions were monitored\n per cycle. \u003cstrong\u003eData Analysis\n Workflow\u003c/strong\u003e The raw data in Wiff format is\n converted to .mzXML format using ProteoWizard. Subsequently, XCMS software\n is utilized for peak alignment, retention time correction, and peak area\n extraction. The data obtained through XCMS extraction undergoes initial\n metabolite structure identification and data preprocessing. Following\n this, the quality of the experimental data is evaluated, and finally, the\n data analysis is conducted. The data analysis encompasses univariate\n statistical analysis, multivariate statistical analysis, differential\n metabolite screening, correlation analysis of differential metabolites,\n and KEGG pathway analysis.","descriptionType":"Methods"},{"description":"# Data from: TIPE drives a cancer stem-like phenotype by promoting\n glycolysis via PKM2/HIF-1α axis in melanoma\n [https://doi.org/10.5061/dryad.ghx3ffc05](https://doi.org/10.5061/dryad.ghx3ffc05) ## Description of the data and file structure Transcriptomics Data We conducted RNA sequencing analysis by overexpressing TIPE in G361 cells, which comprised three experimental groups and three control groups. Metabolomics Data We conducted a metabolomic analysis after interfering with TIPE in A375 cells, which consisted of six experimental groups and six control groups. ### Files and variables #### **File: Metabolomics\\_Data.xlsx** **Description:**  ID: The identification number of the metabolite in mass spectrometry detection m/z: Mass-to-charge ratio rt (s): Retention time of the metabolite on the chromatography, also known as the peak emergence time, with the unit being seconds Name: The name of the metabolite Adduct: Information on the adduct ions of the compound Score: A scoring value ranging from 0 to 1. The higher the value, the higher the degree of matching and the more reliable the qualitative result HMDB: The HMDB number can be used to obtain detailed annotation information about the metabolite on the HMDB official website KEGG: The corresponding C number in KEGG. The C number can be used to query detailed information about the metabolite and the metabolic pathways it participates in on the KEGG official website Superclass: Parent class, representing the classification of the metabolite Class: Subclass, further classifying the metabolite Subclass: Sub-subclass, providing an even more detailed classification of the metabolite Sample: The relative content of each metabolite in the corresponding sample. In this test, control group including NC1, NC2, NC3, NC4, NC5, NC6, and the treatment group including KD1, KD2, KD3, KD4, KD5, KD6 The missing values are displayed as \"blank cells\" #### **File: Transcriptomics\\_Data.xlsx** **Description:**  gene_id: A unique identifier for each gene. samples: The standardized readcount values for each sample. The control group including N1, N2, and N3. The treatment group(overexpression of TIPE) including V1, V2, and V3. log2FoldChange: The ratio of gene expression levels between the treatment group and the control group, followed by taking the logarithm to the base 2. pvalue: P-value of significance test padj: Adjusted p-value for multiple hypothesis testing gene_name: The name assigned to the gene. gene_chr: Chromosome name where the gene is located. gene_start: Start position of the gene on the chromosome. gene_end: End position of the gene on the chromosome. gene_strand: Positive or negative strand information of the chromosome where the gene is located. gene_length: The sum of all non-overlapping exon regions from the start to the end of the gene. gene_biotype: Gene type, such as protein-coding gene, long non-coding RNA, etc. gene_description: Functional description of the gene. gene_tf_family: Transcription factor family annotation of the gene. Used NA\" to indicate missing values.","descriptionType":"TechnicalInfo"}],"geoLocations":[],"fundingReferences":[{"schemeUri":"https://ror.org","funderName":"National Natural Science Foundation of China","awardNumber":"81972002","funderIdentifier":"https://ror.org/01h0zpd94","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"National Natural Science Foundation of China","awardNumber":"12304241","funderIdentifier":"https://ror.org/01h0zpd94","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"National Natural Science Foundation of China","awardNumber":"81971491","funderIdentifier":"https://ror.org/01h0zpd94","funderIdentifierType":"ROR"}],"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTA2MS9EUllBRC5HSFgzRkZDMDU8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPlpoYW8sIFBlaXFpbmc8L2NyZWF0b3JOYW1lPgogICAgICA8bmFtZUlkZW50aWZpZXIgbmFtZUlkZW50aWZpZXJTY2hlbWU9Ik9SQ0lEIiBzY2hlbWVVUkk9Imh0dHA6Ly9vcmNpZC5vcmcvIj4wMDAwLTAwMDItOTMxMS0xOTI3PC9uYW1lSWRlbnRpZmllcj4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzA0bjNoMHA5MyIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5DZW50cmFsIEhvc3BpdGFsIG9mIFppYm88L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPlRpYW4sIE1hb2ppbjwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wNG4zaDBwOTMiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+Q2VudHJhbCBIb3NwaXRhbCBvZiBaaWJvPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5EdSwgSmlhbnhpbjwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wNG4zaDBwOTMiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+Q2VudHJhbCBIb3NwaXRhbCBvZiBaaWJvPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICA8L2NyZWF0b3JzPgogIDx0aXRsZXM+CiAgICA8dGl0bGU+CiAgICAgIERhdGEgZnJvbTogVElQRSBkcml2ZXMgYSBjYW5jZXIgc3RlbS1saWtlIHBoZW5vdHlwZSBieSBwcm9tb3RpbmcKICAgICAgZ2x5Y29seXNpcyB2aWEgUEtNMi9ISUYtMc6xIGF4aXMgaW4gbWVsYW5vbWEKICAgIDwvdGl0bGU+CiAgPC90aXRsZXM+CiAgPHB1Ymxpc2hlciBwdWJsaXNoZXJJZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDB4Nmg1bjk1IiBwdWJsaXNoZXJJZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnLyI+RHJ5YWQ8L3B1Ymxpc2hlcj4KICA8cmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZUdlbmVyYWw9IkRhdGFzZXQiPmRhdGFzZXQ8L3Jlc291cmNlVHlwZT4KICA8cHVibGljYXRpb25ZZWFyPjIwMjQ8L3B1YmxpY2F0aW9uWWVhcj4KICA8c3ViamVjdHM+CiAgICA8c3ViamVjdCBzdWJqZWN0U2NoZW1lPSJmb3MiIHNjaGVtZVVSST0iaHR0cHM6Ly93ZWItYXJjaGl2ZS5vZWNkLm9yZy8yMDEyLTA2LTE1LzEzODU3NS0zODIzNTE0Ny5wZGYiPkZPUzogQmFzaWMgbWVkaWNpbmU8L3N1YmplY3Q+CiAgICA8c3ViamVjdD50cmFuc2NyaXB0b21pY3M8L3N1YmplY3Q+CiAgICA8c3ViamVjdCBzdWJqZWN0U2NoZW1lPSJQTE9TIFN1YmplY3QgQXJlYSBUaGVzYXVydXMiIHNjaGVtZVVSST0iaHR0cHM6Ly9naXRodWIuY29tL1BMT1MvcGxvcy10aGVzYXVydXMiPk1ldGFib2xvbWljczwvc3ViamVjdD4KICAgIDxzdWJqZWN0PkdlbmUgaW50ZXJmZXJlbmNlIGFuZCBvdmVyZXhwcmVzc2lvbjwvc3ViamVjdD4KICA8L3N1YmplY3RzPgogIDxmdW5kaW5nUmVmZXJlbmNlcz4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5OYXRpb25hbCBOYXR1cmFsIFNjaWVuY2UgRm91bmRhdGlvbiBvZiBDaGluYTwvZnVuZGVyTmFtZT4KICAgICAgPGZ1bmRlcklkZW50aWZpZXIgZnVuZGVySWRlbnRpZmllclR5cGU9IlJPUiI+aHR0cHM6Ly9yb3Iub3JnLzAxaDB6cGQ5NDwvZnVuZGVySWRlbnRpZmllcj4KICAgICAgPGF3YXJkTnVtYmVyPjgxOTcyMDAyPC9hd2FyZE51bWJlcj4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5OYXRpb25hbCBOYXR1cmFsIFNjaWVuY2UgRm91bmRhdGlvbiBvZiBDaGluYTwvZnVuZGVyTmFtZT4KICAgICAgPGZ1bmRlcklkZW50aWZpZXIgZnVuZGVySWRlbnRpZmllclR5cGU9IlJPUiI+aHR0cHM6Ly9yb3Iub3JnLzAxaDB6cGQ5NDwvZnVuZGVySWRlbnRpZmllcj4KICAgICAgPGF3YXJkTnVtYmVyPjEyMzA0MjQxPC9hd2FyZE51bWJlcj4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5OYXRpb25hbCBOYXR1cmFsIFNjaWVuY2UgRm91bmRhdGlvbiBvZiBDaGluYTwvZnVuZGVyTmFtZT4KICAgICAgPGZ1bmRlcklkZW50aWZpZXIgZnVuZGVySWRlbnRpZmllclR5cGU9IlJPUiI+aHR0cHM6Ly9yb3Iub3JnLzAxaDB6cGQ5NDwvZnVuZGVySWRlbnRpZmllcj4KICAgICAgPGF3YXJkTnVtYmVyPjgxOTcxNDkxPC9hd2FyZE51bWJlcj4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICA8L2Z1bmRpbmdSZWZlcmVuY2VzPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJDcmVhdGVkIj4yMDI0LTExLTA0VDAzOjEwOjA1WjwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJTdWJtaXR0ZWQiPjIwMjQtMTEtMDRUMDM6MTA6MzhaPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAyNC0xMi0xM1QwMDowMDowMFo8L2RhdGU+CiAgICA8ZGF0ZSBkYXRlVHlwZT0iQXZhaWxhYmxlIj4yMDI0LTEyLTEzVDAwOjAwOjAwWjwvZGF0ZT4KICA8L2RhdGVzPgogIDxsYW5ndWFnZT5lbjwvbGFuZ3VhZ2U+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9IklzQ2l0ZWRCeSIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0kiPmh0dHBzOi8vZG9pLm9yZy8xMC43NTU0L2VMaWZlLjkyNzQxLjI8L3JlbGF0ZWRJZGVudGlmaWVyPgogIDwvcmVsYXRlZElkZW50aWZpZXJzPgogIDxzaXplcz4KICAgIDxzaXplPjE1MDI3ODA4IGJ5dGVzPC9zaXplPgogIDwvc2l6ZXM+CiAgPHZlcnNpb24+NDwvdmVyc2lvbj4KICA8cmlnaHRzTGlzdD4KICAgIDxyaWdodHMgcmlnaHRzVVJJPSJodHRwczovL3NwZHgub3JnL2xpY2Vuc2VzL0NDMC0xLjAuaHRtbCI+Q3JlYXRpdmUgQ29tbW9ucyBaZXJvIHYxLjAgVW5pdmVyc2FsPC9yaWdodHM+CiAgPC9yaWdodHNMaXN0PgogIDxkZXNjcmlwdGlvbnM+CiAgICA8ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJBYnN0cmFjdCI+CiAgICAgIFRJUEUgKFRORkFJUDgpIGhhcyBiZWVuIGlkZW50aWZpZWQgYXMgYW4gb25jb2dlbmUgYW5kIHBhcnRpY2lwYXRlcyBpbgogICAgICB0dW1vciBiaW9sb2d5LiBIb3dldmVyLCBob3cgaXRzIHJvbGUgaW4gdGhlIG1ldGFib2xpc20gb2YgdHVtb3IgY2VsbHMKICAgICAgZHVyaW5nIG1lbGFub21hIGRldmVsb3BtZW50IHJlbWFpbnMgdW5jbGVhci4gSGVyZSwgd2UgZGVtb25zdHJhdGVkIHRoYXQKICAgICAgVElQRSBwcm9tb3RlZCBnbHljb2x5c2lzIGJ5IGludGVyYWN0aW5nIHdpdGggcHlydXZhdGUga2luYXNlIE0yIChQS00yKSBpbgogICAgICBtZWxhbm9tYS4gV2UgZm91bmQgdGhhdCBUSVBFIGluZHVjZWQgUEtNMiBkaW1lcml6YXRpb24sIHRoZXJlYnkKICAgICAgZmFjaWxpdGF0aW5nIGl0cyB0cmFuc2xvY2F0aW9uIGZyb20gdGhlIGN5dG9wbGFzbSB0byB0aGUgbnVjbGV1cy4KICAgICAgVElQRS1tZWRpYXRlZCBQS00yIGRpbWVyaXphdGlvbiBjb25zZXF1ZW50bHkgcHJvbW90ZWQgSElGLTHOsSBhY3RpdmF0aW9uCiAgICAgIGFuZCBnbHljb2x5c2lzLCB3aGljaCBjb250cmlidXRlZCB0byBtZWxhbm9tYSBwcm9ncmVzc2lvbiBhbmQgaW5jcmVhc2VkCiAgICAgIGl0cyBzdGVtbmVzcyBmZWF0dXJlcy4gTm90YWJseSwgVElQRSBzcGVjaWZpY2FsbHkgcGhvc3Bob3J5bGF0ZWQgUEtNMiBhdAogICAgICBTZXIgMzcgaW4gYW4gRVJLLWRlcGVuZGVudCBtYW5uZXIuIENvbnNpc3RlbnRseSwgdGhlIGV4cHJlc3Npb24gb2YgVElQRQogICAgICB3YXMgcG9zaXRpdmVseSBjb3JyZWxhdGVkIHdpdGggdGhlIGxldmVscyBvZiBQS00yIFNlcjM3IHBob3NwaG9yeWxhdGlvbgogICAgICBhbmQgY2FuY2VyIHN0ZW0gY2VsbCBtYXJrZXJzIGluIG1lbGFub21hIHRpc3N1ZXMgZnJvbSBjbGluaWNhbCBzYW1wbGVzIGFuZAogICAgICB0dW1vciBiZWFyaW5nIG1pY2UuIEluIHN1bW1hcnksIG91ciBmaW5kaW5ncyBpbmRpY2F0ZSB0aGF0IHRoZQogICAgICBUSVBFL1BLTTIvSElGLTHOsSBzaWduYWxpbmcgcGF0aHdheSBwbGF5cyBhIHBpdm90YWwgcm9sZSBpbiBwcm9tb3RpbmcKICAgICAgY2FuY2VyIHN0ZW0gY2VsbCBwcm9wZXJ0aWVzIGJ5IGZhY2lsaXRhdGluZyB0aGUgZ2x5Y29seXNpcywgd2hpY2ggd291bGQKICAgICAgcHJvdmlkZSBhIHByb21pc2luZyB0aGVyYXBldXRpYyB0YXJnZXQgZm9yIG1lbGFub21hIGludGVydmVudGlvbi4KICAgIDwvZGVzY3JpcHRpb24+CiAgICA8ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJNZXRob2RzIj4KICAgICAgJmx0O3AmZ3Q7VHJhbnNjcmlwdG9taWNzwqAmbHQ7L3AmZ3Q7ICZsdDtwJmd0O1NhbXBsZSBjb2xsZWN0aW9uIGFuZAogICAgICBwcmVwYXJhdGlvbiZsdDsvcCZndDsgJmx0O3AmZ3Q7Uk5BIHF1YW50aWZpY2F0aW9uIGFuZAogICAgICBxdWFsaWZpY2F0aW9uJmx0Oy9wJmd0OyAmbHQ7cCZndDvikaDCoMKgwqAgwqBSTkEgZGVncmFkYXRpb24gYW5kIGNvbnRhbWluYXRpb24KICAgICAgd2FzIG1vbml0b3JlZCBvbiAxJSBhZ2Fyb3NlIGdlbHMuJmx0Oy9wJmd0OyAmbHQ7cCZndDvikaHCoMKgwqAgwqBSTkEgcHVyaXR5IHdhcwogICAgICBjaGVja2VkIHVzaW5nIHRoZSBOYW5vUGhvdG9tZXRlcsKuIHNwZWN0cm9waG90b21ldGVyIChJTVBMRU4sIENBLCBVU0EpCiAgICAgIC4mbHQ7L3AmZ3Q7ICZsdDtwJmd0O+KRosKgwqDCoCDCoFJOQSBpbnRlZ3JpdHkgd2FzIGFzc2Vzc2VkIHVzaW5nIHRoZSBSTkEgTmFubwogICAgICA2MDAwIEFzc2F5IEtpdCBvZiB0aGUgQmlvYW5hbHl6ZXIgMjEwMCBzeXN0ZW0gKEFnaWxlbnQgVGVjaG5vbG9naWVzLCBDQSwKICAgICAgVVNBKS4mbHQ7L3AmZ3Q7ICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7TGlicmFyeSBwcmVwYXJhdGlvbiBmb3IKICAgICAgVHJhbnNjcmlwdG9tZSBzZXF1ZW5jaW5nJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9wJmd0OyAmbHQ7cCZndDtBIHRvdGFsIGFtb3VudAogICAgICBvZiAxIM68ZyBSTkEgcGVyIHNhbXBsZSB3YXMgdXNlZCBhcyBpbnB1dCBtYXRlcmlhbCBmb3IgdGhlIFJOQSBzYW1wbGUKICAgICAgcHJlcGFyYXRpb25zLiBTZXF1ZW5jaW5nIGxpYnJhcmllcyB3ZXJlIGdlbmVyYXRlZCB1c2luZyBORUJOZXh0wq4gVWx0cmFUTQogICAgICBSTkEgTGlicmFyeSBQcmVwIEtpdCBmb3IgSWxsdW1pbmHCriAoTkVCLCBVU0EpIGZvbGxvd2luZyBtYW51ZmFjdHVyZXLigJlzCiAgICAgIHJlY29tbWVuZGF0aW9ucyBhbmQgaW5kZXggY29kZXMgd2VyZSBhZGRlZCB0byBhdHRyaWJ1dGUgc2VxdWVuY2VzIHRvIGVhY2gKICAgICAgc2FtcGxlLiBCcmllZmx5LCBtUk5BIHdhcyBwdXJpZmllZCBmcm9tIHRvdGFsIFJOQSB1c2luZyBwb2x5LVQKICAgICAgb2xpZ28tYXR0YWNoZWQgbWFnbmV0aWMgYmVhZHMuIEZyYWdtZW50YXRpb24gd2FzIGNhcnJpZWQgb3V0IHVzaW5nCiAgICAgIGRpdmFsZW50IGNhdGlvbnMgdW5kZXIgZWxldmF0ZWQgdGVtcGVyYXR1cmUgaW4gTkVCTmV4dCBGaXJzdCBTdHJhbmQKICAgICAgU3ludGhlc2lzIFJlYWN0aW9uIEJ1ZmZlcig1WCkuIEZpcnN0IHN0cmFuZCBjRE5BIHdhcyBzeW50aGVzaXplZCB1c2luZwogICAgICByYW5kb20gaGV4YW1lciBwcmltZXIgYW5kIE0tTXVMViBSZXZlcnNlIFRyYW5zY3JpcHRhc2UoUk5hc2UgSC0pLiBTZWNvbmQKICAgICAgc3RyYW5kIGNETkEgc3ludGhlc2lzIHdhcyBzdWJzZXF1ZW50bHkgcGVyZm9ybWVkIHVzaW5nIEROQSBQb2x5bWVyYXNlIEkKICAgICAgYW5kIFJOYXNlIEguIFJlbWFpbmluZyBvdmVyaGFuZ3Mgd2VyZSBjb252ZXJ0ZWQgaW50byBibHVudCBlbmRzIHZpYQogICAgICBleG9udWNsZWFzZS9wb2x5bWVyYXNlIGFjdGl2aXRpZXMuIEFmdGVyIGFkZW55bGF0aW9uIG9mIDPigJkgZW5kcyBvZiBETkEKICAgICAgZnJhZ21lbnRzLCBORUJOZXh0IEFkYXB0b3Igd2l0aCBoYWlycGluIGxvb3Agc3RydWN0dXJlIHdlcmUgbGlnYXRlZCB0bwogICAgICBwcmVwYXJlIGZvciBoeWJyaWRpemF0aW9uLiBJbiBvcmRlciB0byBzZWxlY3QgY0ROQSBmcmFnbWVudHMgb2YKICAgICAgcHJlZmVyZW50aWFsbHkgMjUwfjMwMCBicCBpbiBsZW5ndGgsIHRoZSBsaWJyYXJ5IGZyYWdtZW50cyB3ZXJlIHB1cmlmaWVkCiAgICAgIHdpdGggQU1QdXJlIFhQIHN5c3RlbSAoQmVja21hbiBDb3VsdGVyLCBCZXZlcmx5LCBVU0EpLiBUaGVuIDMgzrxsIFVTRVIKICAgICAgRW56eW1lIChORUIsIFVTQSkgd2FzIHVzZWQgd2l0aCBzaXplLXNlbGVjdGVkLCBhZGFwdG9yLWxpZ2F0ZWQgY0ROQSBhdAogICAgICAzN8KwQyBmb3IgMTUgbWluIGZvbGxvd2VkIGJ5IDUgbWluIGF0IDk1IMKwQyBiZWZvcmUgUENSLiBUaGVuIFBDUiB3YXMKICAgICAgcGVyZm9ybWVkIHdpdGggUGh1c2lvbiBIaWdoLUZpZGVsaXR5IEROQSBwb2x5bWVyYXNlLCBVbml2ZXJzYWwgUENSIHByaW1lcnMKICAgICAgYW5kIEluZGV4IChYKSBQcmltZXIuIEF0IGxhc3QsIFBDUiBwcm9kdWN0cyB3ZXJlIHB1cmlmaWVkIChBTVB1cmUgWFAKICAgICAgc3lzdGVtKSBhbmQgbGlicmFyeSBxdWFsaXR5IHdhcyBhc3Nlc3NlZCBvbiB0aGUgQWdpbGVudCBCaW9hbmFseXplciAyMTAwCiAgICAgIHN5c3RlbS4mbHQ7L3AmZ3Q7ICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Q2x1c3RlcmluZyBhbmQgc2VxdWVuY2luZwogICAgICAoTm92b2dlbmUgRXhwZXJpbWVudGFsIERlcGFydG1lbnQpJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9wJmd0OyAmbHQ7cCZndDtUaGUKICAgICAgY2x1c3RlcmluZyBvZiB0aGUgaW5kZXgtY29kZWQgc2FtcGxlcyB3YXMgcGVyZm9ybWVkIG9uIGEgY0JvdCBDbHVzdGVyCiAgICAgIEdlbmVyYXRpb24gU3lzdGVtIHVzaW5nIFRydVNlcSBQRSBDbHVzdGVyIEtpdCB2My1jQm90LUhTIChJbGx1bWlhKQogICAgICBhY2NvcmRpbmcgdG8gdGhlIG1hbnVmYWN0dXJlcuKAmXMgaW5zdHJ1Y3Rpb25zLiBBZnRlciBjbHVzdGVyIGdlbmVyYXRpb24sCiAgICAgIHRoZSBsaWJyYXJ5IHByZXBhcmF0aW9ucyB3ZXJlIHNlcXVlbmNlZCBvbiBhbiBJbGx1bWluYSBOb3Zhc2VxIHBsYXRmb3JtCiAgICAgIGFuZCAxNTAgYnAgcGFpcmVkLWVuZCByZWFkcyB3ZXJlIGdlbmVyYXRlZC4mbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7RGF0YSBBbmFseXNpcyZsdDsvc3Ryb25nJmd0OyZsdDsvcCZndDsKICAgICAgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtRdWFsaXR5IGNvbnRyb2wmbHQ7L3N0cm9uZyZndDsmbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0O1JhdyBkYXRhIChyYXcgcmVhZHMpIG9mIGZhc3RxIGZvcm1hdCB3ZXJlIGZpcnN0bHkgcHJvY2Vzc2VkCiAgICAgIHRocm91Z2ggaW4taG91c2UgcGVybCBzY3JpcHRzLiBJbiB0aGlzIHN0ZXAsIGNsZWFuIGRhdGEgKGNsZWFuIHJlYWRzKSB3ZXJlCiAgICAgIG9idGFpbmVkIGJ5IHJlbW92aW5nIHJlYWRzIGNvbnRhaW5pbmcgYWRhcHRlciwgcmVhZHMgY29udGFpbmluZyBwbG95LU4gYW5kCiAgICAgIGxvdyBxdWFsaXR5IHJlYWRzIGZyb20gcmF3IGRhdGEuIEF0IHRoZSBzYW1lIHRpbWUsIFEyMCwgUTMwIGFuZCBHQyBjb250ZW50CiAgICAgIHRoZSBjbGVhbiBkYXRhIHdlcmUgY2FsY3VsYXRlZC4gQWxsIHRoZSBkb3duc3RyZWFtIGFuYWx5c2VzIHdlcmUgYmFzZWQgb24KICAgICAgdGhlIGNsZWFuIGRhdGEgd2l0aCBoaWdoIHF1YWxpdHkuJmx0Oy9wJmd0OyAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1JlYWRzCiAgICAgIG1hcHBpbmcgdG8gdGhlIHJlZmVyZW5jZSBnZW5vbWUmbHQ7L3N0cm9uZyZndDsmbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0O1JlZmVyZW5jZSBnZW5vbWUgYW5kIGdlbmUgbW9kZWwgYW5ub3RhdGlvbiBmaWxlcyB3ZXJlIGRvd25sb2FkZWQKICAgICAgZnJvbSBnZW5vbWUgd2Vic2l0ZSBkaXJlY3RseS4gSW5kZXggb2YgdGhlIHJlZmVyZW5jZSBnZW5vbWUgd2FzIGJ1aWx0CiAgICAgIHVzaW5nIEhpc2F0MiB2Mi4wLjUgYW5kIHBhaXJlZC1lbmQgY2xlYW4gcmVhZHMgd2VyZSBhbGlnbmVkIHRvIHRoZQogICAgICByZWZlcmVuY2UgZ2Vub21lIHVzaW5nIEhpc2F0MiB2Mi4wLjUuIFdlIHNlbGVjdGVkIEhpc2F0MiBhcyB0aGUgbWFwcGluZwogICAgICB0b29sIGZvciB0aGF0IEhpc2F0MiBjYW4gZ2VuZXJhdGUgYSBkYXRhYmFzZSBvZiBzcGxpY2UganVuY3Rpb25zIGJhc2VkIG9uCiAgICAgIHRoZSBnZW5lIG1vZGVsIGFubm90YXRpb24gZmlsZSBhbmQgdGh1cyBhIGJldHRlciBtYXBwaW5nIHJlc3VsdCB0aGFuIG90aGVyCiAgICAgIG5vbi1zcGxpY2UgbWFwcGluZyB0b29scy4mbHQ7L3AmZ3Q7ICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Tm92ZWwKICAgICAgdHJhbnNjcmlwdHMgcHJlZGljdGlvbiZsdDsvc3Ryb25nJmd0OyZsdDsvcCZndDsgJmx0O3AmZ3Q7VGhlIG1hcHBlZCByZWFkcwogICAgICBvZiBlYWNoIHNhbXBsZSB3ZXJlIGFzc2VtYmxlZCBieSBTdHJpbmdUaWUgKHYxLjMuM2IpIChNaWhhZWxhIFBlcnRlYS5ldAogICAgICBhbC4gMjAxNSkgaW4gYSByZWZlcmVuY2UtYmFzZWQgYXBwcm9hY2guIFN0cmluZ1RpZSB1c2VzIGEgbm92ZWwgbmV0d29yawogICAgICBmbG93IGFsZ29yaXRobSBhcyB3ZWxsIGFzIGFuIG9wdGlvbmFsIGRlIG5vdm8gYXNzZW1ibHkgc3RlcCB0byBhc3NlbWJsZQogICAgICBhbmQgcXVhbnRpdGF0ZSBmdWxsbGVuZ3RoIHRyYW5zY3JpcHRzIHJlcHJlc2VudGluZyBtdWx0aXBsZSBzcGxpY2UKICAgICAgdmFyaWFudHMgZm9yIGVhY2ggZ2VuZSBsb2N1cy4mbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7UXVhbnRpZmljYXRpb24gb2YgZ2VuZSBleHByZXNzaW9uCiAgICAgIGxldmVsJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9wJmd0OyAmbHQ7cCZndDtmZWF0dXJlQ291bnRzIHYxLjUuMC1wMyB3YXMgdXNlZAogICAgICB0byBjb3VudCB0aGUgcmVhZHMgbnVtYmVycyBtYXBwZWQgdG8gZWFjaCBnZW5lLiBBbmQgdGhlbiBGUEtNIG9mIGVhY2ggZ2VuZQogICAgICB3YXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgbGVuZ3RoIG9mIHRoZSBnZW5lIGFuZCByZWFkcyBjb3VudCBtYXBwZWQgdG8KICAgICAgdGhpcyBnZW5lLiBGUEtNLCBleHBlY3RlZCBudW1iZXIgb2YgRnJhZ21lbnRzIFBlciBLaWxvYmFzZSBvZiB0cmFuc2NyaXB0CiAgICAgIHNlcXVlbmNlIHBlciBNaWxsaW9ucyBiYXNlIHBhaXJzIHNlcXVlbmNlZCwgY29uc2lkZXJzIHRoZSBlZmZlY3Qgb2YKICAgICAgc2VxdWVuY2luZyBkZXB0aCBhbmQgZ2VuZSBsZW5ndGggZm9yIHRoZSByZWFkcyBjb3VudCBhdCB0aGUgc2FtZSB0aW1lLCBhbmQKICAgICAgaXMgY3VycmVudGx5IHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgbWV0aG9kIGZvciBlc3RpbWF0aW5nIGdlbmUgZXhwcmVzc2lvbgogICAgICBsZXZlbHMuJmx0Oy9wJmd0OyAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0RpZmZlcmVudGlhbCBleHByZXNzaW9uCiAgICAgIGFuYWx5c2lzJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9wJmd0OyAmbHQ7cCZndDsmbHQ7ZW0mZ3Q7KEZvciBERVNlcTIgd2l0aAogICAgICBiaW9sb2dpY2FsIHJlcGxpY2F0ZXMpICZsdDsvZW0mZ3Q7RGlmZmVyZW50aWFsIGV4cHJlc3Npb24gYW5hbHlzaXMgb2YgdHdvCiAgICAgIGNvbmRpdGlvbnMvZ3JvdXBzICh0d28gYmlvbG9naWNhbCByZXBsaWNhdGVzIHBlciBjb25kaXRpb24pIHdhcyBwZXJmb3JtZWQKICAgICAgdXNpbmcgdGhlIERFU2VxMiBSIHBhY2thZ2UgKDEuMTYuMSkuIERFU2VxMiBwcm92aWRlIHN0YXRpc3RpY2FsIHJvdXRpbmVzCiAgICAgIGZvciBkZXRlcm1pbmluZyBkaWZmZXJlbnRpYWwgZXhwcmVzc2lvbiBpbiBkaWdpdGFsIGdlbmUgZXhwcmVzc2lvbiBkYXRhCiAgICAgIHVzaW5nIGEgbW9kZWwgYmFzZWQgb24gdGhlIG5lZ2F0aXZlIGJpbm9taWFsIGRpc3RyaWJ1dGlvbi4gVGhlIHJlc3VsdGluZwogICAgICBQLXZhbHVlcyB3ZXJlIGFkanVzdGVkIHVzaW5nIHRoZSBCZW5qYW1pbmkgYW5kIEhvY2hiZXJn4oCZcyBhcHByb2FjaCBmb3IKICAgICAgY29udHJvbGxpbmcgdGhlIGZhbHNlIGRpc2NvdmVyeSByYXRlIC4gR2VuZXMgd2l0aCBhbiBhZGp1c3RlZCBQLXZhbHVlCiAgICAgICZhbXA7bHQ7MC4wNSBmb3VuZCBieSBERVNlcTIgd2VyZSBhc3NpZ25lZCBhcyBkaWZmZXJlbnRpYWxseSBleHByZXNzZWQuCiAgICAgICZsdDtlbSZndDsoRm9yIGVkZ2VSIHdpdGhvdXQgYmlvbG9naWNhbCByZXBsaWNhdGVzKSAmbHQ7L2VtJmd0O1ByaW9yIHRvCiAgICAgIGRpZmZlcmVudGlhbCBnZW5lIGV4cHJlc3Npb24gYW5hbHlzaXMsIGZvciBlYWNoIHNlcXVlbmNlZCBsaWJyYXJ5LCB0aGUKICAgICAgcmVhZCBjb3VudHMgd2VyZSBhZGp1c3RlZCBieSBlZGdlUiBwcm9ncmFtIHBhY2thZ2UgdGhyb3VnaCBvbmUgc2NhbGluZwogICAgICBub3JtYWxpemVkIGZhY3Rvci4gRGlmZmVyZW50aWFsIGV4cHJlc3Npb24gYW5hbHlzaXMgb2YgdHdvIGNvbmRpdGlvbnMgd2FzCiAgICAgIHBlcmZvcm1lZCB1c2luZyB0aGUgZWRnZVIgUiBwYWNrYWdlICgzLjE4LjEpLiBUaGUgUCB2YWx1ZXMgd2VyZSBhZGp1c3RlZAogICAgICB1c2luZyB0aGUgQmVuamFtaW5pICZhbXA7YW1wOyBIb2NoYmVyZyBtZXRob2QuIENvcnJlY3RlZCBQLXZhbHVlIG9mIDAuMDUKICAgICAgYW5kIGFic29sdXRlIGZvbGRjaGFuZ2Ugb2YgMiB3ZXJlIHNldCBhcyB0aGUgdGhyZXNob2xkIGZvciBzaWduaWZpY2FudGx5CiAgICAgIGRpZmZlcmVudGlhbCBleHByZXNzaW9uLiZsdDsvcCZndDsgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtHTyBhbmQgS0VHRwogICAgICBlbnJpY2htZW50IGFuYWx5c2lzIG9mIGRpZmZlcmVudGlhbGx5IGV4cHJlc3NlZAogICAgICBnZW5lcyZsdDsvc3Ryb25nJmd0OyZsdDsvcCZndDsgJmx0O3AmZ3Q7R2VuZSBPbnRvbG9neSAoR08pIGVucmljaG1lbnQKICAgICAgYW5hbHlzaXMgb2YgZGlmZmVyZW50aWFsbHkgZXhwcmVzc2VkIGdlbmVzIHdhcyBpbXBsZW1lbnRlZCBieSB0aGUKICAgICAgY2x1c3RlclByb2ZpbGVyIFIgcGFja2FnZSwgaW4gd2hpY2ggZ2VuZSBsZW5ndGggYmlhcyB3YXNjb3JyZWN0ZWQuIEdPCiAgICAgIHRlcm1zIHdpdGggY29ycmVjdGVkIFB2YWx1ZSBsZXNzIHRoYW4gMC4wNSB3ZXJlIGNvbnNpZGVyZWQgc2lnbmlmaWNhbnRseQogICAgICBlbnJpY2hlZCBieSBkaWZmZXJlbnRpYWwgZXhwcmVzc2VkIGdlbmVzLiBLRUdHIGlzIGEgZGF0YWJhc2UgcmVzb3VyY2UgZm9yCiAgICAgIHVuZGVyc3RhbmRpbmcgaGlnaC1sZXZlbCBmdW5jdGlvbnMgYW5kIHV0aWxpdGllcyBvZiB0aGUgYmlvbG9naWNhbCBzeXN0ZW0sCiAgICAgIHN1Y2ggYXMgdGhlIGNlbGwsIHRoZSBvcmdhbmlzbSBhbmQgdGhlIGVjb3N5c3RlbSwgZnJvbSBtb2xlY3VsYXItbGV2ZWwKICAgICAgaW5mb3JtYXRpb24sIGVzcGVjaWFsbHkgbGFyZ2Utc2NhbGUgbW9sZWN1bGFyIGRhdGFzZXRzIGdlbmVyYXRlZCBieSBnZW5vbWUKICAgICAgc2VxdWVuY2luZyBhbmQgb3RoZXIgaGlnaC10aHJvdWdoIHB1dCBleHBlcmltZW50YWwgdGVjaG5vbG9naWVzCiAgICAgIChodHRwOi8vd3d3Lmdlbm9tZS5qcC9rZWdnLykuIFdlIHVzZWQgY2x1c3RlclByb2ZpbGVyIFIgcGFja2FnZSB0byB0ZXN0CiAgICAgIHRoZSBzdGF0aXN0aWNhbCBlbnJpY2htZW50IG9mIGRpZmZlcmVudGlhbCBleHByZXNzaW9uIGdlbmVzIGluIEtFR0cKICAgICAgcGF0aHdheXMuJmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O01ldGFib2xvbWljc8KgJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1NhbXBsZSBFeHRyYWN0aW9uIE1ldGhvZCZsdDsvc3Ryb25nJmd0OyZsdDsvcCZndDsKICAgICAgJmx0O3AmZ3Q7QWZ0ZXIgc2xvd2x5IHRoYXdpbmcgdGhlIHNhbXBsZSBhdCA0wrBDLCBhbiBhcHByb3ByaWF0ZSBhbW91bnQgb2YKICAgICAgdGhlIHNhbXBsZSBpcyB0YWtlbiBhbmQgYWRkZWQgdG8gYSBwcmUtY29vbGVkIG1ldGhhbm9sL2FjZXRvbml0cmlsZS93YXRlcgogICAgICBzb2x1dGlvbiAoMjoyOjEsIHYvdikuIFRoZSBtaXh0dXJlIGlzIHZvcnRleGVkIGZvciBtaXhpbmcsIGZvbGxvd2VkIGJ5CiAgICAgIGxvdy10ZW1wZXJhdHVyZSB1bHRyYXNvbmljIHRyZWF0bWVudCBmb3IgMzAgbWludXRlcy4gVGhlIHNhbXBsZSBpcyB0aGVuCiAgICAgIGFsbG93ZWQgdG8gc3RhbmQgYXQgLTIwwrBDIGZvciAxMCBtaW51dGVzIGFuZCBjZW50cmlmdWdlZCBhdCAxNCwwMDAgZyBhdAogICAgICA0wrBDIGZvciAyMCBtaW51dGVzLiBUaGUgc3VwZXJuYXRhbnQgaXMgY29sbGVjdGVkIGFuZCB2YWN1dW0tZHJpZWQuIEZvcgogICAgICBtYXNzIHNwZWN0cm9tZXRyeSBhbmFseXNpcywgMTAwIM68TCBvZiBhY2V0b25pdHJpbGUvd2F0ZXIgc29sdXRpb24KICAgICAgKGFjZXRvbml0cmlsZTp3YXRlciA9IDE6MSwgdi92KSBpcyBhZGRlZCB0byByZWRpc3NvbHZlIHRoZSBkcmllZCBzYW1wbGUsCiAgICAgIHdoaWNoIGlzIHRoZW4gdm9ydGV4ZWQuIFRoZSBzYW1wbGUgaXMgY2VudHJpZnVnZWQgYWdhaW4gYXQgMTQsMDAwIGcgYXQgNMKwQwogICAgICBmb3IgMTUgbWludXRlcywgYW5kIHRoZSBzdXBlcm5hdGFudCBpcyB0YWtlbiBmb3IgaW5qZWN0aW9uIGFuZAogICAgICBhbmFseXNpcy4mbHQ7L3AmZ3Q7ICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Q2hyb21hdG9ncmFwaGljCiAgICAgIENvbmRpdGlvbnMmbHQ7L3N0cm9uZyZndDsmbHQ7L3AmZ3Q7ICZsdDtwJmd0O1RoZSBzYW1wbGVzIHdlcmUgc2VwYXJhdGVkCiAgICAgIHVzaW5nIGFuIEFnaWxlbnQgMTI5MCBJbmZpbml0eSBMQyBVbHRyYS1IaWdoLVBlcmZvcm1hbmNlIExpcXVpZAogICAgICBDaHJvbWF0b2dyYXBoeSAoVUhQTEMpIHN5c3RlbSB3aXRoIGEgSElMSUMgY29sdW1uLiBUaGUgY29sdW1uIHRlbXBlcmF0dXJlCiAgICAgIHdhcyBtYWludGFpbmVkIGF0IDI1wrBDLCBhbmQgdGhlIGZsb3cgcmF0ZSB3YXMgc2V0IHRvIDAuNSBtTC9taW4uIFRoZQogICAgICBpbmplY3Rpb24gdm9sdW1lIHdhcyAyIM68TC4gVGhlIG1vYmlsZSBwaGFzZSBjb21wb3NpdGlvbiB3YXMgYXMgZm9sbG93czogQQogICAgICA9IHdhdGVyICsgMjUgbU0gYW1tb25pdW0gYWNldGF0ZSArIDI1IG1NIGFtbW9uaWEgc29sdXRpb24sIGFuZCBCID0KICAgICAgYWNldG9uaXRyaWxlLiBUaGUgZ3JhZGllbnQgZWx1dGlvbiBwcm9ncmFtIHdhcyBhcyBmb2xsb3dzOiAwIHRvIDAuNSBtaW4sCiAgICAgIDk1JSBCOyAwLjUgdG8gNyBtaW4sIGEgbGluZWFyIGRlY3JlYXNlIGZyb20gOTUlIEIgdG8gNjUlIEI7IDcgdG8gOCBtaW4sIGEKICAgICAgbGluZWFyIGRlY3JlYXNlIGZyb20gNjUlIEIgdG8gNDAlIEI7IDggdG8gOSBtaW4sIEIgbWFpbnRhaW5lZCBhdCA0MCU7IDkgdG8KICAgICAgOS4xIG1pbiwgYSBsaW5lYXIgaW5jcmVhc2UgZnJvbSA0MCUgQiB0byA5NSUgQjsgYW5kIDkuMSB0byAxMiBtaW4sIEIKICAgICAgbWFpbnRhaW5lZCBhdCA5NSUuIER1cmluZyB0aGUgZW50aXJlIGFuYWx5c2lzLCB0aGUgc2FtcGxlcyB3ZXJlIGtlcHQgaW4gYQogICAgICA0wrBDIGF1dG9zYW1wbGVyLiBUbyBhdm9pZCB0aGUgaW1wYWN0IG9mIGZsdWN0dWF0aW9ucyBpbiBpbnN0cnVtZW50CiAgICAgIGRldGVjdGlvbiBzaWduYWxzLCB0aGUgc2FtcGxlcyB3ZXJlIGFuYWx5emVkIGNvbnNlY3V0aXZlbHkgaW4gYSByYW5kb20KICAgICAgb3JkZXIuIFF1YWxpdHkgY29udHJvbCAoUUMpIHNhbXBsZXMgd2VyZSBpbnNlcnRlZCBpbnRvIHRoZSBzYW1wbGUgcXVldWUgdG8KICAgICAgbW9uaXRvciBhbmQgZXZhbHVhdGUgdGhlIHN0YWJpbGl0eSBvZiB0aGUgc3lzdGVtIGFuZCB0aGUgcmVsaWFiaWxpdHkgb2YKICAgICAgdGhlIGV4cGVyaW1lbnRhbCBkYXRhLiZsdDsvcCZndDsgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtRLVRPRiBNYXNzCiAgICAgIFNwZWN0cm9tZXRyeSBDb25kaXRpb25zJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9wJmd0OyAmbHQ7cCZndDtUaGUgQUIgVHJpcGxlCiAgICAgIFRPRiA2NjAwIG1hc3Mgc3BlY3Ryb21ldGVyIHdhcyB1c2VkIHRvIGNvbGxlY3QgdGhlIGZpcnN0LW9yZGVyIGFuZAogICAgICBzZWNvbmQtb3JkZXIgc3BlY3RyYSBvZiB0aGUgc2FtcGxlcy4mbHQ7L3AmZ3Q7ICZsdDtwJmd0O1RoZSBFU0kgc291cmNlCiAgICAgIGNvbmRpdGlvbnMgYWZ0ZXIgSElMSUMgY2hyb21hdG9ncmFwaGljIHNlcGFyYXRpb24gd2VyZSBhcyBmb2xsb3dzOiBJb24KICAgICAgU291cmNlIEdhczEgKEdhczEpOiA2MCwgSW9uIFNvdXJjZSBHYXMyIChHYXMyKTogNjAsIEN1cnRhaW4gZ2FzIChDVVIpOiAzMCwKICAgICAgc291cmNlIHRlbXBlcmF0dXJlOiA2MDDCsEMsIElvblNwcmF5IFZvbHRhZ2UgRmxvYXRpbmcgKElTVkYpOiDCsTU1MDAgViAoYm90aAogICAgICBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgbW9kZXMpOyBUT0YgTVMgc2NhbiBtL3ogcmFuZ2U6IDYwLTEwMDAgRGEsIHByb2R1Y3QKICAgICAgaW9uIHNjYW4gbS96IHJhbmdlOiAyNS0xMDAwIERhLCBUT0YgTVMgc2NhbiBhY2N1bXVsYXRpb24gdGltZTogMC4yMAogICAgICBzL3NwZWN0cnVtLCBwcm9kdWN0IGlvbiBzY2FuIGFjY3VtdWxhdGlvbiB0aW1lOiAwLjA1IHMvc3BlY3RydW0uIFRoZQogICAgICBzZWNvbmQtb3JkZXIgbWFzcyBzcGVjdHJvbWV0cnkgd2FzIGFjcXVpcmVkIHVzaW5nIGluZm9ybWF0aW9uLWRlcGVuZGVudAogICAgICBhY3F1aXNpdGlvbiAoSURBKSBpbiBoaWdoIHNlbnNpdGl2aXR5IG1vZGUuIFRoZSBEZWNsdXN0ZXJpbmcgUG90ZW50aWFsCiAgICAgIChEUCkgd2FzIHNldCB0byDCsTYwIFYgKGJvdGggcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIG1vZGVzKSwgYW5kIHRoZQogICAgICBDb2xsaXNpb24gRW5lcmd5IHdhcyAzNSDCsSAxNSBlVi4gVGhlIElEQSBzZXR0aW5ncyB3ZXJlIGFzIGZvbGxvd3M6CiAgICAgIGlzb3RvcGVzIHdpdGhpbiA0IERhIHdlcmUgZXhjbHVkZWQsIGFuZCAxMCBjYW5kaWRhdGUgaW9ucyB3ZXJlIG1vbml0b3JlZAogICAgICBwZXIgY3ljbGUuJmx0Oy9wJmd0OyAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0RhdGEgQW5hbHlzaXMKICAgICAgV29ya2Zsb3cmbHQ7L3N0cm9uZyZndDsmbHQ7L3AmZ3Q7ICZsdDtwJmd0O1RoZSByYXcgZGF0YSBpbiBXaWZmIGZvcm1hdCBpcwogICAgICBjb252ZXJ0ZWQgdG8gLm16WE1MIGZvcm1hdCB1c2luZyBQcm90ZW9XaXphcmQuIFN1YnNlcXVlbnRseSwgWENNUyBzb2Z0d2FyZQogICAgICBpcyB1dGlsaXplZCBmb3IgcGVhayBhbGlnbm1lbnQsIHJldGVudGlvbiB0aW1lIGNvcnJlY3Rpb24sIGFuZCBwZWFrIGFyZWEKICAgICAgZXh0cmFjdGlvbi4gVGhlIGRhdGEgb2J0YWluZWQgdGhyb3VnaCBYQ01TIGV4dHJhY3Rpb24gdW5kZXJnb2VzIGluaXRpYWwKICAgICAgbWV0YWJvbGl0ZSBzdHJ1Y3R1cmUgaWRlbnRpZmljYXRpb24gYW5kIGRhdGEgcHJlcHJvY2Vzc2luZy4gRm9sbG93aW5nCiAgICAgIHRoaXMsIHRoZSBxdWFsaXR5IG9mIHRoZSBleHBlcmltZW50YWwgZGF0YSBpcyBldmFsdWF0ZWQsIGFuZCBmaW5hbGx5LCB0aGUKICAgICAgZGF0YSBhbmFseXNpcyBpcyBjb25kdWN0ZWQuIFRoZSBkYXRhIGFuYWx5c2lzIGVuY29tcGFzc2VzIHVuaXZhcmlhdGUKICAgICAgc3RhdGlzdGljYWwgYW5hbHlzaXMsIG11bHRpdmFyaWF0ZSBzdGF0aXN0aWNhbCBhbmFseXNpcywgZGlmZmVyZW50aWFsCiAgICAgIG1ldGFib2xpdGUgc2NyZWVuaW5nLCBjb3JyZWxhdGlvbiBhbmFseXNpcyBvZiBkaWZmZXJlbnRpYWwgbWV0YWJvbGl0ZXMsCiAgICAgIGFuZCBLRUdHIHBhdGh3YXkgYW5hbHlzaXMuJmx0Oy9wJmd0OwogICAgPC9kZXNjcmlwdGlvbj4KICAgIDxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9IlRlY2huaWNhbEluZm8iPgogICAgICAjIERhdGEgZnJvbTogVElQRSBkcml2ZXMgYSBjYW5jZXIgc3RlbS1saWtlIHBoZW5vdHlwZSBieSBwcm9tb3RpbmcKICAgICAgZ2x5Y29seXNpcyB2aWEgUEtNMi9ISUYtMc6xIGF4aXMgaW4gbWVsYW5vbWEKICAgICAgW2h0dHBzOi8vZG9pLm9yZy8xMC41MDYxL2RyeWFkLmdoeDNmZmMwNV0oaHR0cHM6Ly9kb2kub3JnLzEwLjUwNjEvZHJ5YWQuZ2h4M2ZmYzA1KSAjIyBEZXNjcmlwdGlvbiBvZiB0aGUgZGF0YSBhbmQgZmlsZSBzdHJ1Y3R1cmUgVHJhbnNjcmlwdG9taWNzIERhdGEgV2UgY29uZHVjdGVkIFJOQSBzZXF1ZW5jaW5nIGFuYWx5c2lzIGJ5IG92ZXJleHByZXNzaW5nIFRJUEUgaW4gRzM2MSBjZWxscywgd2hpY2ggY29tcHJpc2VkIHRocmVlIGV4cGVyaW1lbnRhbCBncm91cHMgYW5kIHRocmVlIGNvbnRyb2wgZ3JvdXBzLiBNZXRhYm9sb21pY3PCoERhdGEgV2UgY29uZHVjdGVkIGEgbWV0YWJvbG9taWMgYW5hbHlzaXMgYWZ0ZXIgaW50ZXJmZXJpbmcgd2l0aCBUSVBFIGluIEEzNzUgY2VsbHMsIHdoaWNoIGNvbnNpc3RlZCBvZiBzaXggZXhwZXJpbWVudGFsIGdyb3VwcyBhbmQgc2l4IGNvbnRyb2wgZ3JvdXBzLiAjIyMgRmlsZXMgYW5kIHZhcmlhYmxlcyAjIyMjICoqRmlsZTogTWV0YWJvbG9taWNzXF9EYXRhLnhsc3gqKiAqKkRlc2NyaXB0aW9uOioqwqAgSUQ6IFRoZSBpZGVudGlmaWNhdGlvbiBudW1iZXIgb2YgdGhlIG1ldGFib2xpdGUgaW4gbWFzcyBzcGVjdHJvbWV0cnkgZGV0ZWN0aW9uIG0vejogTWFzcy10by1jaGFyZ2UgcmF0aW8gcnQgKHMpOiBSZXRlbnRpb24gdGltZSBvZiB0aGUgbWV0YWJvbGl0ZSBvbiB0aGUgY2hyb21hdG9ncmFwaHksIGFsc28ga25vd24gYXMgdGhlIHBlYWsgZW1lcmdlbmNlIHRpbWUsIHdpdGggdGhlIHVuaXQgYmVpbmcgc2Vjb25kcyBOYW1lOiBUaGUgbmFtZSBvZiB0aGUgbWV0YWJvbGl0ZSBBZGR1Y3Q6IEluZm9ybWF0aW9uIG9uIHRoZSBhZGR1Y3QgaW9ucyBvZiB0aGUgY29tcG91bmQgU2NvcmU6IEEgc2NvcmluZyB2YWx1ZSByYW5naW5nIGZyb20gMCB0byAxLiBUaGUgaGlnaGVyIHRoZSB2YWx1ZSwgdGhlIGhpZ2hlciB0aGUgZGVncmVlIG9mIG1hdGNoaW5nIGFuZCB0aGUgbW9yZSByZWxpYWJsZSB0aGUgcXVhbGl0YXRpdmUgcmVzdWx0IEhNREI6IFRoZSBITURCIG51bWJlciBjYW4gYmUgdXNlZCB0byBvYnRhaW4gZGV0YWlsZWQgYW5ub3RhdGlvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWV0YWJvbGl0ZSBvbiB0aGUgSE1EQiBvZmZpY2lhbCB3ZWJzaXRlIEtFR0c6IFRoZSBjb3JyZXNwb25kaW5nIEMgbnVtYmVyIGluIEtFR0cuIFRoZSBDIG51bWJlciBjYW4gYmUgdXNlZCB0byBxdWVyeSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWV0YWJvbGl0ZSBhbmQgdGhlIG1ldGFib2xpYyBwYXRod2F5cyBpdCBwYXJ0aWNpcGF0ZXMgaW4gb24gdGhlIEtFR0cgb2ZmaWNpYWwgd2Vic2l0ZSBTdXBlcmNsYXNzOiBQYXJlbnQgY2xhc3MsIHJlcHJlc2VudGluZyB0aGUgY2xhc3NpZmljYXRpb24gb2YgdGhlIG1ldGFib2xpdGUgQ2xhc3M6IFN1YmNsYXNzLCBmdXJ0aGVyIGNsYXNzaWZ5aW5nIHRoZSBtZXRhYm9saXRlIFN1YmNsYXNzOiBTdWItc3ViY2xhc3MsIHByb3ZpZGluZyBhbiBldmVuIG1vcmUgZGV0YWlsZWQgY2xhc3NpZmljYXRpb24gb2YgdGhlIG1ldGFib2xpdGUgU2FtcGxlOiBUaGUgcmVsYXRpdmUgY29udGVudCBvZiBlYWNoIG1ldGFib2xpdGUgaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2FtcGxlLiBJbiB0aGlzIHRlc3QsIGNvbnRyb2wgZ3JvdXAgaW5jbHVkaW5nIE5DMSwgTkMyLCBOQzMsIE5DNCwgTkM1LCBOQzYsIGFuZCB0aGUgdHJlYXRtZW50IGdyb3VwIGluY2x1ZGluZyBLRDEsIEtEMiwgS0QzLCBLRDQsIEtENSwgS0Q2IFRoZSBtaXNzaW5nIHZhbHVlcyBhcmUgZGlzcGxheWVkIGFzICJibGFuayBjZWxscyIgIyMjIyAqKkZpbGU6IFRyYW5zY3JpcHRvbWljc1xfRGF0YS54bHN4KiogKipEZXNjcmlwdGlvbjoqKsKgIGdlbmVfaWQ6IEEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIGVhY2ggZ2VuZS4gc2FtcGxlczogVGhlIHN0YW5kYXJkaXplZCByZWFkY291bnQgdmFsdWVzIGZvciBlYWNoIHNhbXBsZS4gVGhlIGNvbnRyb2wgZ3JvdXAgaW5jbHVkaW5nIE4xLCBOMiwgYW5kIE4zLiBUaGUgdHJlYXRtZW50IGdyb3VwKG92ZXJleHByZXNzaW9uIG9mIFRJUEUpIGluY2x1ZGluZyBWMSwgVjIsIGFuZCBWMy4gbG9nMkZvbGRDaGFuZ2U6IFRoZSByYXRpbyBvZiBnZW5lIGV4cHJlc3Npb24gbGV2ZWxzIGJldHdlZW4gdGhlIHRyZWF0bWVudCBncm91cCBhbmQgdGhlIGNvbnRyb2wgZ3JvdXAsIGZvbGxvd2VkIGJ5IHRha2luZyB0aGUgbG9nYXJpdGhtIHRvIHRoZSBiYXNlIDIuIHB2YWx1ZTogUC12YWx1ZSBvZiBzaWduaWZpY2FuY2UgdGVzdCBwYWRqOiBBZGp1c3RlZCBwLXZhbHVlIGZvciBtdWx0aXBsZSBoeXBvdGhlc2lzIHRlc3RpbmcgZ2VuZV9uYW1lOiBUaGUgbmFtZSBhc3NpZ25lZCB0byB0aGUgZ2VuZS4gZ2VuZV9jaHI6IENocm9tb3NvbWUgbmFtZSB3aGVyZSB0aGUgZ2VuZSBpcyBsb2NhdGVkLiBnZW5lX3N0YXJ0OiBTdGFydCBwb3NpdGlvbiBvZiB0aGUgZ2VuZSBvbiB0aGUgY2hyb21vc29tZS4gZ2VuZV9lbmQ6IEVuZCBwb3NpdGlvbiBvZiB0aGUgZ2VuZSBvbiB0aGUgY2hyb21vc29tZS4gZ2VuZV9zdHJhbmQ6IFBvc2l0aXZlIG9yIG5lZ2F0aXZlIHN0cmFuZCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hyb21vc29tZSB3aGVyZSB0aGUgZ2VuZSBpcyBsb2NhdGVkLiBnZW5lX2xlbmd0aDogVGhlIHN1bSBvZiBhbGwgbm9uLW92ZXJsYXBwaW5nIGV4b24gcmVnaW9ucyBmcm9tIHRoZSBzdGFydCB0byB0aGUgZW5kIG9mIHRoZSBnZW5lLiBnZW5lX2Jpb3R5cGU6IEdlbmUgdHlwZSwgc3VjaCBhcyBwcm90ZWluLWNvZGluZyBnZW5lLCBsb25nIG5vbi1jb2RpbmcgUk5BLCBldGMuIGdlbmVfZGVzY3JpcHRpb246IEZ1bmN0aW9uYWwgZGVzY3JpcHRpb24gb2YgdGhlIGdlbmUuIGdlbmVfdGZfZmFtaWx5OiBUcmFuc2NyaXB0aW9uIGZhY3RvciBmYW1pbHkgYW5ub3RhdGlvbiBvZiB0aGUgZ2VuZS4gVXNlZCBOQSIgdG8gaW5kaWNhdGUgbWlzc2luZyB2YWx1ZXMuCiAgICA8L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPg==","url":"https://datadryad.org/dataset/doi:10.5061/dryad.ghx3ffc05","contentUrl":null,"metadataVersion":3,"schemaVersion":"http://datacite.org/schema/kernel-4","source":"mds","isActive":true,"state":"findable","reason":null,"viewCount":26,"viewsOverTime":[{"yearMonth":"2024-11","total":0},{"yearMonth":"2024-12","total":5},{"yearMonth":"2025-02","total":1},{"yearMonth":"2025-05","total":2},{"yearMonth":"2025-07","total":1},{"yearMonth":"2025-09","total":1},{"yearMonth":"2025-11","total":1},{"yearMonth":"2025-12","total":2},{"yearMonth":"2026-01","total":2},{"yearMonth":"2026-05","total":7},{"yearMonth":"2026-09","total":4}],"downloadCount":5,"downloadsOverTime":[{"yearMonth":"2024-11","total":1},{"yearMonth":"2024-12","total":2},{"yearMonth":"2025-02","total":0},{"yearMonth":"2025-05","total":2},{"yearMonth":"2025-07","total":0},{"yearMonth":"2025-09","total":0},{"yearMonth":"2025-11","total":0},{"yearMonth":"2025-12","total":0},{"yearMonth":"2026-01","total":0},{"yearMonth":"2026-05","total":0},{"yearMonth":"2026-09","total":0}],"referenceCount":0,"citationCount":3,"citationsOverTime":[{"year":"2024","total":1},{"year":"2026","total":2}],"partCount":0,"partOfCount":0,"versionCount":0,"versionOfCount":0,"created":"2024-12-13T11:02:41.000Z","registered":"2024-12-13T11:02:42.000Z","published":"2024","updated":"2026-01-28T21:47:24.000Z"},"relationships":{"client":{"data":{"id":"dryad.dryad","type":"clients"}},"provider":{"data":{"id":"dryad","type":"providers"}},"media":{"data":{"id":"10.5061/dryad.ghx3ffc05","type":"media"}},"references":{"data":[]},"citations":{"data":[{"id":"10.7554/elife.92741","type":"dois"},{"id":"10.7554/elife.92741.4","type":"dois"},{"id":"10.7554/elife.92741.2","type":"dois"}]},"parts":{"data":[]},"partOf":{"data":[]},"versions":{"data":[]},"versionOf":{"data":[]}}}}