From 2774737d12ce4fe788e4ed2f1f0d06ef134420f2 Mon Sep 17 00:00:00 2001 From: Lawrence Babb Date: Sun, 8 Sep 2024 21:48:24 -0400 Subject: [PATCH] relink cat-vrs to vrs 2.x --- .gitmodules | 2 +- schema/cat-vrs/cat-vrs-source.yaml | 36 +++++++++---------- schema/cat-vrs/def/CanonicalAllele.rst | 4 +-- schema/cat-vrs/def/CategoricalCnv.rst | 4 +-- .../def/ProteinSequenceConsequence.rst | 4 +-- schema/cat-vrs/json/CanonicalAllele | 16 ++++----- schema/cat-vrs/json/CategoricalCnv | 18 +++++----- schema/cat-vrs/json/DescribedVariation | 8 ++--- schema/cat-vrs/json/NumberChange | 2 +- schema/cat-vrs/json/NumberCount | 2 +- .../cat-vrs/json/ProteinSequenceConsequence | 16 ++++----- submodules/vrs | 2 +- 12 files changed, 57 insertions(+), 57 deletions(-) diff --git a/.gitmodules b/.gitmodules index d56ef35..b54d0cc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "submodules/vrs"] path = submodules/vrs url = https://github.com/ga4gh/vrs.git - branch = 2.x + branch = 2.x \ No newline at end of file diff --git a/schema/cat-vrs/cat-vrs-source.yaml b/schema/cat-vrs/cat-vrs-source.yaml index c7597ec..3ee1535 100644 --- a/schema/cat-vrs/cat-vrs-source.yaml +++ b/schema/cat-vrs/cat-vrs-source.yaml @@ -38,8 +38,8 @@ $defs: this categorical variant. items: oneOf: - - $ref: "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Variation" - - $ref: "/ga4gh/schema/gks-common/1.0.0-ballot.2024-08.1/data-types/json/IRI" + - $ref: "/ga4gh/schema/vrs/2.x/json/Variation" + - $ref: "/ga4gh/schema/gks-common/1.x/json/IRI" ProteinSequenceConsequence: type: object @@ -49,7 +49,7 @@ $defs: A change that occurs in a protein sequence as a result of genomic changes. Due to the degenerate nature of the genetic code, there are often several genomic changes that can cause a protein sequence consequence. The protein sequence consequence, like a :ref:`CanonicalAllele`, is defined by an - `Allele ` + `Allele ` that is representative of a collection of congruent Protein Alleles that share the same altered codon(s). properties: type: @@ -59,10 +59,10 @@ $defs: description: 'MUST be "ProteinSequenceConsequence"' definingContext: oneOf: - - $ref: "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Allele" - - $ref: "/ga4gh/schema/gks-common/1.0.0-ballot.2024-08.1/data-types/json/IRI" + - $ref: "/ga4gh/schema/vrs/2.x/json/Allele" + - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" description: >- - The `Allele `_ + The `Allele `_ object that is congruent with (projects to the same codons) as alleles on other protein reference sequences. required: @@ -72,7 +72,7 @@ $defs: inherits: CategoricalVariation maturity: draft description: >- - A canonical allele is defined by an `Allele `_ + A canonical allele is defined by an `Allele `_ that is representative of a collection of congruent Alleles, each of which depict the same nucleic acid change on different underlying reference sequences. Congruent representations of an Allele often exist across different genome assemblies and associated cDNA transcript representations. @@ -85,10 +85,10 @@ $defs: description: 'MUST be "CanonicalAllele"' definingContext: oneOf: - - $ref: "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Allele" - - $ref: "/ga4gh/schema/gks-common/1.0.0-ballot.2024-08.1/data-types/json/IRI" + - $ref: "/ga4gh/schema/vrs/2.x/json/Allele" + - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" description: >- - The `Allele `_ + The `Allele `_ object that is congruent with variants on alternate reference sequences. required: - definingContext @@ -99,7 +99,7 @@ $defs: maturity: draft description: >- A categorical variation domain is defined first by a sequence derived from a canonical `SequenceLocation - `_ , + `_ , which is representative of a collection of congruent Locations. The change or count of this sequence is also described, either by a numeric value (e.g. "3 or more copies") or categorical representation (e.g. "high-level gain"). Categorical CNVs may optionally be defined by rules specifying the location @@ -112,10 +112,10 @@ $defs: description: 'MUST be "CategoricalCnv"' location: oneOf: - - $ref: "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/SequenceLocation" - - $ref: "/ga4gh/schema/gks-common/1.0.0-ballot.2024-08.1/data-types/json/IRI" + - $ref: "/ga4gh/schema/vrs/2.x/json/SequenceLocation" + - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" description: >- - A `SequenceLocation `_ + A `SequenceLocation `_ object that represents a sequence derived from that location, and is congruent with locations on alternate reference sequences. locationMatchCharacteristic: @@ -139,7 +139,7 @@ $defs: copies: oneOf: - type: integer - - $ref: "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Range" + - $ref: "/ga4gh/schema/vrs/2.x/json/Range" description: >- The integral number of copies of the subject in a system. required: @@ -240,7 +240,7 @@ $defs: count: oneOf: - type: integer - - $ref: "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Range" + - $ref: "/ga4gh/schema/vrs/2.x/json/Range" description: >- The integral quantity or quantity range of the subject in a system required: [ "count" ] @@ -266,7 +266,7 @@ $defs: change: oneOf: - type: integer - - $ref: "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Range" + - $ref: "/ga4gh/schema/vrs/2.x/json/Range" - copyChange: type: string enum: [ "EFO:0030069", "EFO:0020073", "EFO:0030068", "EFO:0030067", "EFO:0030064", "EFO:0030070", @@ -323,7 +323,7 @@ $defs: # copies: # oneOf: # - type: integer - # - $ref: "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Range" + # - $ref: "/ga4gh/schema/vrs/2.x/json/Range" # description: >- # The integral number of copies of the subject in a system. # required: diff --git a/schema/cat-vrs/def/CanonicalAllele.rst b/schema/cat-vrs/def/CanonicalAllele.rst index 69e7cea..68a4a5c 100644 --- a/schema/cat-vrs/def/CanonicalAllele.rst +++ b/schema/cat-vrs/def/CanonicalAllele.rst @@ -1,6 +1,6 @@ **Computational Definition** -A canonical allele is defined by an `Allele `_ that is representative of a collection of congruent Alleles, each of which depict the same nucleic acid change on different underlying reference sequences. Congruent representations of an Allele often exist across different genome assemblies and associated cDNA transcript representations. +A canonical allele is defined by an `Allele `_ that is representative of a collection of congruent Alleles, each of which depict the same nucleic acid change on different underlying reference sequences. Congruent representations of an Allele often exist across different genome assemblies and associated cDNA transcript representations. **Information Model** @@ -51,4 +51,4 @@ Some CanonicalAllele attributes are inherited from :ref:`CategoricalVariation`. * - definingContext - :ref:`Allele` | :ref:`IRI` - 1..1 - - The `Allele `_ object that is congruent with variants on alternate reference sequences. + - The `Allele `_ object that is congruent with variants on alternate reference sequences. diff --git a/schema/cat-vrs/def/CategoricalCnv.rst b/schema/cat-vrs/def/CategoricalCnv.rst index 4cb6c65..7bca66f 100644 --- a/schema/cat-vrs/def/CategoricalCnv.rst +++ b/schema/cat-vrs/def/CategoricalCnv.rst @@ -1,6 +1,6 @@ **Computational Definition** -A categorical variation domain is defined first by a sequence derived from a canonical `SequenceLocation `_ , which is representative of a collection of congruent Locations. The change or count of this sequence is also described, either by a numeric value (e.g. "3 or more copies") or categorical representation (e.g. "high-level gain"). Categorical CNVs may optionally be defined by rules specifying the location match characteristics for member CNVs. +A categorical variation domain is defined first by a sequence derived from a canonical `SequenceLocation `_ , which is representative of a collection of congruent Locations. The change or count of this sequence is also described, either by a numeric value (e.g. "3 or more copies") or categorical representation (e.g. "high-level gain"). Categorical CNVs may optionally be defined by rules specifying the location match characteristics for member CNVs. **Information Model** @@ -51,7 +51,7 @@ Some CategoricalCnv attributes are inherited from :ref:`CategoricalVariation`. * - location - :ref:`SequenceLocation` | :ref:`IRI` - 1..1 - - A `SequenceLocation `_ object that represents a sequence derived from that location, and is congruent with locations on alternate reference sequences. + - A `SequenceLocation `_ object that represents a sequence derived from that location, and is congruent with locations on alternate reference sequences. * - locationMatchCharacteristic - string - 0..1 diff --git a/schema/cat-vrs/def/ProteinSequenceConsequence.rst b/schema/cat-vrs/def/ProteinSequenceConsequence.rst index 38b1e79..63910f5 100644 --- a/schema/cat-vrs/def/ProteinSequenceConsequence.rst +++ b/schema/cat-vrs/def/ProteinSequenceConsequence.rst @@ -1,6 +1,6 @@ **Computational Definition** -A change that occurs in a protein sequence as a result of genomic changes. Due to the degenerate nature of the genetic code, there are often several genomic changes that can cause a protein sequence consequence. The protein sequence consequence, like a :ref:`CanonicalAllele`, is defined by an `Allele ` that is representative of a collection of congruent Protein Alleles that share the same altered codon(s). +A change that occurs in a protein sequence as a result of genomic changes. Due to the degenerate nature of the genetic code, there are often several genomic changes that can cause a protein sequence consequence. The protein sequence consequence, like a :ref:`CanonicalAllele`, is defined by an `Allele ` that is representative of a collection of congruent Protein Alleles that share the same altered codon(s). **Information Model** @@ -51,4 +51,4 @@ Some ProteinSequenceConsequence attributes are inherited from :ref:`CategoricalV * - definingContext - :ref:`Allele` | :ref:`IRI` - 1..1 - - The `Allele `_ object that is congruent with (projects to the same codons) as alleles on other protein reference sequences. + - The `Allele `_ object that is congruent with (projects to the same codons) as alleles on other protein reference sequences. diff --git a/schema/cat-vrs/json/CanonicalAllele b/schema/cat-vrs/json/CanonicalAllele index 1f16c92..df290f6 100644 --- a/schema/cat-vrs/json/CanonicalAllele +++ b/schema/cat-vrs/json/CanonicalAllele @@ -4,7 +4,7 @@ "title": "CanonicalAllele", "type": "object", "maturity": "draft", - "description": "A canonical allele is defined by an [Allele](https://vrs.ga4gh.org/en/2.0.0-ballot.2024-08/concepts/MolecularVariation/Allele.html#) that is representative of a collection of congruent Alleles, each of which depict the same nucleic acid change on different underlying reference sequences. Congruent representations of an Allele often exist across different genome assemblies and associated cDNA transcript representations.", + "description": "A canonical allele is defined by an [Allele](https://vrs.ga4gh.org/en/2.x/concepts/MolecularVariation/Allele.html#) that is representative of a collection of congruent Alleles, each of which depict the same nucleic acid change on different underlying reference sequences. Congruent representations of an Allele often exist across different genome assemblies and associated cDNA transcript representations.", "properties": { "id": { "type": "string", @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,7 +40,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, @@ -51,10 +51,10 @@ "items": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" }, { - "$ref": "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Variation" + "$ref": "/ga4gh/schema/vrs/2.x/json/Variation" } ] } @@ -69,13 +69,13 @@ "definingContext": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" }, { - "$ref": "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Allele" + "$ref": "/ga4gh/schema/vrs/2.x/json/Allele" } ], - "description": "The [Allele](https://vrs.ga4gh.org/en/2.0.0-ballot.2024-08/concepts/MolecularVariation/Allele.html#) object that is congruent with variants on alternate reference sequences." + "description": "The [Allele](https://vrs.ga4gh.org/en/2.x/concepts/MolecularVariation/Allele.html#) object that is congruent with variants on alternate reference sequences." } }, "required": [ diff --git a/schema/cat-vrs/json/CategoricalCnv b/schema/cat-vrs/json/CategoricalCnv index 39d9cf8..fb071ef 100644 --- a/schema/cat-vrs/json/CategoricalCnv +++ b/schema/cat-vrs/json/CategoricalCnv @@ -4,7 +4,7 @@ "title": "CategoricalCnv", "type": "object", "maturity": "draft", - "description": "A categorical variation domain is defined first by a sequence derived from a canonical [SequenceLocation](https://vrs.ga4gh.org/en/2.0.0-ballot.2024-08/concepts/LocationAndReference/SequenceLocation.html) , which is representative of a collection of congruent Locations. The change or count of this sequence is also described, either by a numeric value (e.g. \"3 or more copies\") or categorical representation (e.g. \"high-level gain\"). Categorical CNVs may optionally be defined by rules specifying the location match characteristics for member CNVs.", + "description": "A categorical variation domain is defined first by a sequence derived from a canonical [SequenceLocation](https://vrs.ga4gh.org/en/2.x/concepts/LocationAndReference/SequenceLocation.html) , which is representative of a collection of congruent Locations. The change or count of this sequence is also described, either by a numeric value (e.g. \"3 or more copies\") or categorical representation (e.g. \"high-level gain\"). Categorical CNVs may optionally be defined by rules specifying the location match characteristics for member CNVs.", "properties": { "id": { "type": "string", @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,7 +40,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, @@ -51,10 +51,10 @@ "items": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" }, { - "$ref": "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Variation" + "$ref": "/ga4gh/schema/vrs/2.x/json/Variation" } ] } @@ -69,13 +69,13 @@ "location": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" }, { - "$ref": "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/SequenceLocation" + "$ref": "/ga4gh/schema/vrs/2.x/json/SequenceLocation" } ], - "description": "A [SequenceLocation](https://vrs.ga4gh.org/en/2.0.0-ballot.2024-08/concepts/LocationAndReference/SequenceLocation.html) object that represents a sequence derived from that location, and is congruent with locations on alternate reference sequences." + "description": "A [SequenceLocation](https://vrs.ga4gh.org/en/2.x/concepts/LocationAndReference/SequenceLocation.html) object that represents a sequence derived from that location, and is congruent with locations on alternate reference sequences." }, "locationMatchCharacteristic": { "type": "string", @@ -104,7 +104,7 @@ "copies": { "oneOf": [ { - "$ref": "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Range" + "$ref": "/ga4gh/schema/vrs/2.x/json/Range" }, { "type": "integer" diff --git a/schema/cat-vrs/json/DescribedVariation b/schema/cat-vrs/json/DescribedVariation index 255b4aa..7f4f03e 100644 --- a/schema/cat-vrs/json/DescribedVariation +++ b/schema/cat-vrs/json/DescribedVariation @@ -23,7 +23,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -32,7 +32,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, @@ -43,10 +43,10 @@ "items": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" }, { - "$ref": "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Variation" + "$ref": "/ga4gh/schema/vrs/2.x/json/Variation" } ] } diff --git a/schema/cat-vrs/json/NumberChange b/schema/cat-vrs/json/NumberChange index 589e273..6cd1885 100644 --- a/schema/cat-vrs/json/NumberChange +++ b/schema/cat-vrs/json/NumberChange @@ -15,7 +15,7 @@ "change": { "oneOf": [ { - "$ref": "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Range" + "$ref": "/ga4gh/schema/vrs/2.x/json/Range" }, { "type": "integer" diff --git a/schema/cat-vrs/json/NumberCount b/schema/cat-vrs/json/NumberCount index 299678d..7f402bd 100644 --- a/schema/cat-vrs/json/NumberCount +++ b/schema/cat-vrs/json/NumberCount @@ -15,7 +15,7 @@ "count": { "oneOf": [ { - "$ref": "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Range" + "$ref": "/ga4gh/schema/vrs/2.x/json/Range" }, { "type": "integer" diff --git a/schema/cat-vrs/json/ProteinSequenceConsequence b/schema/cat-vrs/json/ProteinSequenceConsequence index 8955787..e7ef54c 100644 --- a/schema/cat-vrs/json/ProteinSequenceConsequence +++ b/schema/cat-vrs/json/ProteinSequenceConsequence @@ -4,7 +4,7 @@ "title": "ProteinSequenceConsequence", "type": "object", "maturity": "draft", - "description": "A change that occurs in a protein sequence as a result of genomic changes. Due to the degenerate nature of the genetic code, there are often several genomic changes that can cause a protein sequence consequence. The protein sequence consequence, like a CanonicalAllele, is defined by an `Allele ` that is representative of a collection of congruent Protein Alleles that share the same altered codon(s).", + "description": "A change that occurs in a protein sequence as a result of genomic changes. Due to the degenerate nature of the genetic code, there are often several genomic changes that can cause a protein sequence consequence. The protein sequence consequence, like a CanonicalAllele, is defined by an `Allele ` that is representative of a collection of congruent Protein Alleles that share the same altered codon(s).", "properties": { "id": { "type": "string", @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,7 +40,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, @@ -51,10 +51,10 @@ "items": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" }, { - "$ref": "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Variation" + "$ref": "/ga4gh/schema/vrs/2.x/json/Variation" } ] } @@ -69,13 +69,13 @@ "definingContext": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.0.0-ballot.2024.08.1/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" }, { - "$ref": "/ga4gh/schema/vrs/2.0.0-ballot.2024-08.1/json/Allele" + "$ref": "/ga4gh/schema/vrs/2.x/json/Allele" } ], - "description": "The [Allele](https://vrs.ga4gh.org/en/2.0.0-ballot.2024-08/concepts/MolecularVariation/Allele.html#) object that is congruent with (projects to the same codons) as alleles on other protein reference sequences." + "description": "The [Allele](https://vrs.ga4gh.org/en/2.x/concepts/MolecularVariation/Allele.html#) object that is congruent with (projects to the same codons) as alleles on other protein reference sequences." } }, "required": [ diff --git a/submodules/vrs b/submodules/vrs index 5411cac..e18bb42 160000 --- a/submodules/vrs +++ b/submodules/vrs @@ -1 +1 @@ -Subproject commit 5411cac823b7d2cde7183852b439697f019f62a5 +Subproject commit e18bb42559985182d0e54dd8393f43289e1fba5b