Bug#1031635: bullseye-pu: package snakeyaml/1.28-1
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: apo@debian.org
Hi,
I would like to update snakeyaml in Bullseye. The package is currently
affected by various potential (no-dsa) security vulnerabilities. Those have
been fixed in Buster, Bookworm and Sid already. Please find attached
the debdiff.
Regards,
Markus
diff -Nru snakeyaml-1.28/debian/changelog snakeyaml-1.28/debian/changelog
--- snakeyaml-1.28/debian/changelog 2021-02-28 22:49:25.000000000 +0100
+++ snakeyaml-1.28/debian/changelog 2023-02-19 17:05:00.000000000 +0100
@@ -1,3 +1,13 @@
+snakeyaml (1.28-1+deb11u1) bullseye; urgency=medium
+
+ * Team upload.
+ Fix CVE-2022-25857, CVE-2022-38749, CVE-2022-38750 and CVE-2022-38751.
+ Several security vulnerabilities have been discovered in SnakeYaml, a YAML
+ parser for Java, which could facilitate a denial of service attack whenever
+ maliciously crafted input files are processed by SnakeYaml.
+
+ -- Markus Koschany <apo@debian.org> Sun, 19 Feb 2023 17:05:00 +0100
+
snakeyaml (1.28-1) unstable; urgency=medium
* Team upload.
diff -Nru snakeyaml-1.28/debian/patches/CVE-2022-25857.patch snakeyaml-1.28/debian/patches/CVE-2022-25857.patch
--- snakeyaml-1.28/debian/patches/CVE-2022-25857.patch 1970-01-01 01:00:00.000000000 +0100
+++ snakeyaml-1.28/debian/patches/CVE-2022-25857.patch 2023-02-19 17:05:00.000000000 +0100
@@ -0,0 +1,173 @@
+From: Markus Koschany <apo@debian.org>
+Date: Sun, 19 Feb 2023 16:57:20 +0100
+Subject: CVE-2022-25857
+
+This is also the fix for CVE-2022-38749.
+
+Bug-Debian: https://bugs.debian.org/1019218
+Origin: https://github.com/snakeyaml/snakeyaml/commit/fc300780da21f4bb92c148bc90257201220cf174
+---
+ .../java/org/yaml/snakeyaml/LoaderOptions.java | 15 +++++++++
+ .../java/org/yaml/snakeyaml/composer/Composer.java | 28 ++++++++++++++++
+ .../issues/issue525/FuzzyStackOverflowTest.java | 39 ++++++++++++++++++++++
+ .../resources/fuzzer/YamlFuzzer-4626423186325504 | 1 +
+ 4 files changed, 83 insertions(+)
+ create mode 100644 src/test/java/org/yaml/snakeyaml/issues/issue525/FuzzyStackOverflowTest.java
+ create mode 100644 src/test/resources/fuzzer/YamlFuzzer-4626423186325504
+
+diff --git a/src/main/java/org/yaml/snakeyaml/LoaderOptions.java b/src/main/java/org/yaml/snakeyaml/LoaderOptions.java
+index b45780b..b62daed 100644
+--- a/src/main/java/org/yaml/snakeyaml/LoaderOptions.java
++++ b/src/main/java/org/yaml/snakeyaml/LoaderOptions.java
+@@ -23,6 +23,7 @@ public class LoaderOptions {
+ private boolean allowRecursiveKeys = false;
+ private boolean processComments = false;
+ private boolean enumCaseSensitive = true;
++ private int nestingDepthLimit = 50;
+
+ public boolean isAllowDuplicateKeys() {
+ return allowDuplicateKeys;
+@@ -114,4 +115,18 @@ public class LoaderOptions {
+ public void setEnumCaseSensitive(boolean enumCaseSensitive) {
+ this.enumCaseSensitive = enumCaseSensitive;
+ }
++
++ public int getNestingDepthLimit() {
++ return nestingDepthLimit;
++ }
++
++ /**
++ * Set max depth of nested collections. When the limit is exceeded an exception is thrown.
++ * Aliases/Anchors are not counted.
++ * This is to prevent a DoS attack
++ * @param nestingDepthLimit - depth to be accepted (50 by default)
++ */
++ public void setNestingDepthLimit(int nestingDepthLimit) {
++ this.nestingDepthLimit = nestingDepthLimit;
++ }
+ }
+diff --git a/src/main/java/org/yaml/snakeyaml/composer/Composer.java b/src/main/java/org/yaml/snakeyaml/composer/Composer.java
+index 2135d84..35f20c3 100644
+--- a/src/main/java/org/yaml/snakeyaml/composer/Composer.java
++++ b/src/main/java/org/yaml/snakeyaml/composer/Composer.java
+@@ -45,6 +45,7 @@ import org.yaml.snakeyaml.nodes.SequenceNode;
+ import org.yaml.snakeyaml.nodes.Tag;
+ import org.yaml.snakeyaml.parser.Parser;
+ import org.yaml.snakeyaml.resolver.Resolver;
++import org.yaml.snakeyaml.error.YAMLException;
+
+ /**
+ * Creates a node graph from parser events.
+@@ -62,6 +63,9 @@ public class Composer {
+ private final LoaderOptions loadingConfig;
+ private final CommentEventsCollector blockCommentsCollector;
+ private final CommentEventsCollector inlineCommentsCollector;
++ // keep the nesting of collections inside other collections
++ private int nestingDepth = 0;
++ private final int nestingDepthLimit;
+
+ public Composer(Parser parser, Resolver resolver) {
+ this(parser, resolver, new LoaderOptions());
+@@ -77,6 +81,7 @@ public class Composer {
+ CommentType.BLANK_LINE, CommentType.BLOCK);
+ this.inlineCommentsCollector = new CommentEventsCollector(parser,
+ CommentType.IN_LINE);
++ nestingDepthLimit = loadingConfig.getNestingDepthLimit();
+ }
+
+ /**
+@@ -186,6 +191,7 @@ public class Composer {
+ } else {
+ NodeEvent event = (NodeEvent) parser.peekEvent();
+ String anchor = event.getAnchor();
++ increaseNestingDepth();
+ // the check for duplicate anchors has been removed (issue 174)
+ if (parser.checkEvent(Event.ID.Scalar)) {
+ node = composeScalarNode(anchor, blockComments);
+@@ -194,6 +200,7 @@ public class Composer {
+ } else {
+ node = composeMappingNode(anchor, blockComments);
+ }
++ decreaseNestingDepth();
+ }
+ recursiveNodes.remove(parent);
+ return node;
+@@ -312,4 +319,25 @@ public class Composer {
+ protected Node composeValueNode(MappingNode node, List<CommentLine> blockComments) {
+ return composeNode(node, blockComments);
+ }
++
++ /**
++ * Increase nesting depth and fail when it exceeds the denied limit
++ */
++ private void increaseNestingDepth() {
++ if (nestingDepth > nestingDepthLimit) {
++ throw new YAMLException("Nesting Depth exceeded max " + nestingDepthLimit);
++ }
++ nestingDepth++;
++ }
++
++ /**
++ * Indicate that the collection is finished and the nesting is decreased
++ */
++ private void decreaseNestingDepth() {
++ if (nestingDepth > 0) {
++ nestingDepth--;
++ } else {
++ throw new YAMLException("Nesting Depth cannot be negative");
++ }
++ }
+ }
+diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue525/FuzzyStackOverflowTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue525/FuzzyStackOverflowTest.java
+new file mode 100644
+index 0000000..546c226
+--- /dev/null
++++ b/src/test/java/org/yaml/snakeyaml/issues/issue525/FuzzyStackOverflowTest.java
+@@ -0,0 +1,39 @@
++/**
++ * Copyright (c) 2008, SnakeYAML
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License");
++ * you may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++package org.yaml.snakeyaml.issues.issue525;
++
++import static org.junit.Assert.assertEquals;
++import static org.junit.Assert.assertTrue;
++import static org.junit.Assert.fail;
++
++import org.junit.Test;
++import org.yaml.snakeyaml.Util;
++import org.yaml.snakeyaml.Yaml;
++import org.yaml.snakeyaml.error.YAMLException;
++
++public class FuzzyStackOverflowTest {
++ @Test
++ public void parseOpenUnmatchedMappings() {
++ try {
++ Yaml yaml = new Yaml();
++ String strYaml = Util.getLocalResource("fuzzer/YamlFuzzer-4626423186325504");
++ yaml.load(strYaml);
++ fail("Should report invalid YAML");
++ } catch (YAMLException e) {
++ assertEquals("Nesting Depth exceeded max 50", e.getMessage());
++ }
++ }
++}
+diff --git a/src/test/resources/fuzzer/YamlFuzzer-4626423186325504 b/src/test/resources/fuzzer/YamlFuzzer-4626423186325504
+new file mode 100644
+index 0000000..8e5dac8
+--- /dev/null
++++ b/src/test/resources/fuzzer/YamlFuzzer-4626423186325504
+@@ -0,0 +1 @@
++{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{
+\ No newline at end of file
diff -Nru snakeyaml-1.28/debian/patches/CVE-2022-38750.patch snakeyaml-1.28/debian/patches/CVE-2022-38750.patch
--- snakeyaml-1.28/debian/patches/CVE-2022-38750.patch 1970-01-01 01:00:00.000000000 +0100
+++ snakeyaml-1.28/debian/patches/CVE-2022-38750.patch 2023-02-19 17:05:00.000000000 +0100
@@ -0,0 +1,66 @@
+From: Markus Koschany <apo@debian.org>
+Date: Fri, 30 Sep 2022 11:25:56 +0200
+Subject: CVE-2022-38750
+
+Test that upstream issue 526 alias CVE-2022-38750 is fixed.
+
+Origin: https://bitbucket.org/snakeyaml/snakeyaml/commits/a8a072311547574274036f4a1b91a751b397a055
+---
+ .../snakeyaml/issues/issue526/Fuzzy47027Test.java | 38 ++++++++++++++++++++++
+ .../resources/fuzzer/YamlFuzzer-5427149240139776 | 1 +
+ 2 files changed, 39 insertions(+)
+ create mode 100644 src/test/java/org/yaml/snakeyaml/issues/issue526/Fuzzy47027Test.java
+ create mode 100644 src/test/resources/fuzzer/YamlFuzzer-5427149240139776
+
+diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue526/Fuzzy47027Test.java b/src/test/java/org/yaml/snakeyaml/issues/issue526/Fuzzy47027Test.java
+new file mode 100644
+index 0000000..782d707
+--- /dev/null
++++ b/src/test/java/org/yaml/snakeyaml/issues/issue526/Fuzzy47027Test.java
+@@ -0,0 +1,38 @@
++/**
++ * Copyright (c) 2008, SnakeYAML
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
++ * in compliance with the License. You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software distributed under the License
++ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
++ * or implied. See the License for the specific language governing permissions and limitations under
++ * the License.
++ */
++package org.yaml.snakeyaml.issues.issue526;
++
++import static org.junit.Assert.assertEquals;
++import static org.junit.Assert.fail;
++
++import org.junit.Test;
++import org.yaml.snakeyaml.Util;
++import org.yaml.snakeyaml.Yaml;
++import org.yaml.snakeyaml.error.YAMLException;
++
++// OSS-Fuzz - 47027
++public class Fuzzy47027Test {
++
++ @Test
++ public void parseOpenUnmatchedSequences_47027() {
++ try {
++ Yaml yaml = new Yaml();
++ String strYaml = Util.getLocalResource("fuzzer/YamlFuzzer-5427149240139776");
++ yaml.load(strYaml);
++ fail("Should report invalid YAML");
++ } catch (YAMLException e) {
++ assertEquals("Nesting Depth exceeded max 50", e.getMessage());
++ }
++ }
++}
+diff --git a/src/test/resources/fuzzer/YamlFuzzer-5427149240139776 b/src/test/resources/fuzzer/YamlFuzzer-5427149240139776
+new file mode 100644
+index 0000000..e84d07a
+--- /dev/null
++++ b/src/test/resources/fuzzer/YamlFuzzer-5427149240139776
+@@ -0,0 +1 @@
++- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+\ No newline at end of file
diff -Nru snakeyaml-1.28/debian/patches/CVE-2022-38751.patch snakeyaml-1.28/debian/patches/CVE-2022-38751.patch
--- snakeyaml-1.28/debian/patches/CVE-2022-38751.patch 1970-01-01 01:00:00.000000000 +0100
+++ snakeyaml-1.28/debian/patches/CVE-2022-38751.patch 2023-02-19 17:05:00.000000000 +0100
@@ -0,0 +1,215 @@
+From: Markus Koschany <apo@debian.org>
+Date: Fri, 30 Sep 2022 11:28:16 +0200
+Subject: CVE-2022-38751
+
+Origin: https://bitbucket.org/snakeyaml/snakeyaml/commits/f3ab4e0f54c37ddb10f00b71d04187bb0ef1799c
+Origin: https://bitbucket.org/snakeyaml/snakeyaml/commits/6aedd33a811f7347c5dae2940e75940966f59466
+---
+ src/main/java/org/yaml/snakeyaml/Yaml.java | 14 +++++++++
+ .../java/org/yaml/snakeyaml/resolver/Resolver.java | 28 ++++++++++--------
+ .../org/yaml/snakeyaml/resolver/ResolverTuple.java | 8 ++++-
+ .../snakeyaml/issues/issue530/Fuzzy47039Test.java | 34 ++++++++++++++++++++++
+ .../yaml/snakeyaml/resolver/ResolverTupleTest.java | 2 +-
+ .../resources/fuzzer/YamlFuzzer-5110034188599296 | 1 +
+ 6 files changed, 73 insertions(+), 14 deletions(-)
+ create mode 100644 src/test/java/org/yaml/snakeyaml/issues/issue530/Fuzzy47039Test.java
+ create mode 100644 src/test/resources/fuzzer/YamlFuzzer-5110034188599296
+
+diff --git a/src/main/java/org/yaml/snakeyaml/Yaml.java b/src/main/java/org/yaml/snakeyaml/Yaml.java
+index f65d622..387e58a 100644
+--- a/src/main/java/org/yaml/snakeyaml/Yaml.java
++++ b/src/main/java/org/yaml/snakeyaml/Yaml.java
+@@ -634,6 +634,20 @@ public class Yaml {
+ resolver.addImplicitResolver(tag, regexp, first);
+ }
+
++ /**
++ * Add an implicit scalar detector. If an implicit scalar value matches the
++ * given regexp, the corresponding tag is assigned to the scalar.
++ *
++ * @param tag tag to assign to the node
++ * @param regexp regular expression to match against
++ * @param first a sequence of possible initial characters or null (which means
++ * any).
++ * @param limit the max length of the value which may match the regular expression
++ */
++ public void addImplicitResolver(Tag tag, Pattern regexp, String first, int limit) {
++ resolver.addImplicitResolver(tag, regexp, first, limit);
++ }
++
+ @Override
+ public String toString() {
+ return name;
+diff --git a/src/main/java/org/yaml/snakeyaml/resolver/Resolver.java b/src/main/java/org/yaml/snakeyaml/resolver/Resolver.java
+index a8b8a06..218f1ab 100644
+--- a/src/main/java/org/yaml/snakeyaml/resolver/Resolver.java
++++ b/src/main/java/org/yaml/snakeyaml/resolver/Resolver.java
+@@ -50,23 +50,23 @@ public class Resolver {
+ protected Map<Character, List<ResolverTuple>> yamlImplicitResolvers = new HashMap<Character, List<ResolverTuple>>();
+
+ protected void addImplicitResolvers() {
+- addImplicitResolver(Tag.BOOL, BOOL, "yYnNtTfFoO");
++ addImplicitResolver(Tag.BOOL, BOOL, "yYnNtTfFoO", 10);
+ /*
+ * INT must be before FLOAT because the regular expression for FLOAT
+ * matches INT (see issue 130)
+ * http://code.google.com/p/snakeyaml/issues/detail?id=130
+ */
+- addImplicitResolver(Tag.INT, INT, "-+0123456789");
+- addImplicitResolver(Tag.FLOAT, FLOAT, "-+0123456789.");
+- addImplicitResolver(Tag.MERGE, MERGE, "<");
+- addImplicitResolver(Tag.NULL, NULL, "~nN\0");
+- addImplicitResolver(Tag.NULL, EMPTY, null);
+- addImplicitResolver(Tag.TIMESTAMP, TIMESTAMP, "0123456789");
++ addImplicitResolver(Tag.INT, INT, "-+0123456789", 100);
++ addImplicitResolver(Tag.FLOAT, FLOAT, "-+0123456789.", 100);
++ addImplicitResolver(Tag.MERGE, MERGE, "<", 100);
++ addImplicitResolver(Tag.NULL, NULL, "~nN\0", 10);
++ addImplicitResolver(Tag.NULL, EMPTY, null, 10);
++ addImplicitResolver(Tag.TIMESTAMP, TIMESTAMP, "0123456789", 50);
+ // The following implicit resolver is only for documentation
+ // purposes.
+ // It cannot work
+ // because plain scalars cannot start with '!', '&', or '*'.
+- addImplicitResolver(Tag.YAML, YAML, "!&*");
++ addImplicitResolver(Tag.YAML, YAML, "!&*", 10);
+ }
+
+ public Resolver() {
+@@ -74,13 +74,16 @@ public class Resolver {
+ }
+
+ public void addImplicitResolver(Tag tag, Pattern regexp, String first) {
++ addImplicitResolver(tag, regexp, first, 1024);
++ }
++ public void addImplicitResolver(Tag tag, Pattern regexp, String first, int limit) {
+ if (first == null) {
+ List<ResolverTuple> curr = yamlImplicitResolvers.get(null);
+ if (curr == null) {
+ curr = new ArrayList<ResolverTuple>();
+ yamlImplicitResolvers.put(null, curr);
+ }
+- curr.add(new ResolverTuple(tag, regexp));
++ curr.add(new ResolverTuple(tag, regexp, limit));
+ } else {
+ char[] chrs = first.toCharArray();
+ for (int i = 0, j = chrs.length; i < j; i++) {
+@@ -94,7 +97,7 @@ public class Resolver {
+ curr = new ArrayList<ResolverTuple>();
+ yamlImplicitResolvers.put(theC, curr);
+ }
+- curr.add(new ResolverTuple(tag, regexp));
++ curr.add(new ResolverTuple(tag, regexp, limit));
+ }
+ }
+ }
+@@ -111,16 +114,17 @@ public class Resolver {
+ for (ResolverTuple v : resolvers) {
+ Tag tag = v.getTag();
+ Pattern regexp = v.getRegexp();
+- if (regexp.matcher(value).matches()) {
++ if (value.length() < v.getLimit() && regexp.matcher(value).matches()) {
+ return tag;
+ }
+ }
+ }
+ if (yamlImplicitResolvers.containsKey(null)) {
++ // check null resolver
+ for (ResolverTuple v : yamlImplicitResolvers.get(null)) {
+ Tag tag = v.getTag();
+ Pattern regexp = v.getRegexp();
+- if (regexp.matcher(value).matches()) {
++ if (value.length() <= v.getLimit() && regexp.matcher(value).matches()) {
+ return tag;
+ }
+ }
+diff --git a/src/main/java/org/yaml/snakeyaml/resolver/ResolverTuple.java b/src/main/java/org/yaml/snakeyaml/resolver/ResolverTuple.java
+index 3fbfac0..a492608 100644
+--- a/src/main/java/org/yaml/snakeyaml/resolver/ResolverTuple.java
++++ b/src/main/java/org/yaml/snakeyaml/resolver/ResolverTuple.java
+@@ -22,10 +22,12 @@ import org.yaml.snakeyaml.nodes.Tag;
+ final class ResolverTuple {
+ private final Tag tag;
+ private final Pattern regexp;
++ private final int limit;
+
+- public ResolverTuple(Tag tag, Pattern regexp) {
++ public ResolverTuple(Tag tag, Pattern regexp, int limit) {
+ this.tag = tag;
+ this.regexp = regexp;
++ this.limit = limit;
+ }
+
+ public Tag getTag() {
+@@ -36,6 +38,10 @@ final class ResolverTuple {
+ return regexp;
+ }
+
++ public int getLimit() {
++ return limit;
++ }
++
+ @Override
+ public String toString() {
+ return "Tuple tag=" + tag + " regexp=" + regexp;
+diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue530/Fuzzy47039Test.java b/src/test/java/org/yaml/snakeyaml/issues/issue530/Fuzzy47039Test.java
+new file mode 100644
+index 0000000..9c09e1d
+--- /dev/null
++++ b/src/test/java/org/yaml/snakeyaml/issues/issue530/Fuzzy47039Test.java
+@@ -0,0 +1,34 @@
++/**
++ * Copyright (c) 2008, SnakeYAML
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
++ * in compliance with the License. You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software distributed under the License
++ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
++ * or implied. See the License for the specific language governing permissions and limitations under
++ * the License.
++ */
++package org.yaml.snakeyaml.issues.issue530;
++
++import static org.junit.Assert.assertEquals;
++
++import org.junit.Test;
++import org.yaml.snakeyaml.LoaderOptions;
++import org.yaml.snakeyaml.Util;
++import org.yaml.snakeyaml.Yaml;
++
++// Stackoverflow [OSS-Fuzz - 47039]
++public class Fuzzy47039Test {
++
++ @Test
++ public void parseKeyIndicators_47039() {
++ LoaderOptions options = new LoaderOptions();
++ Yaml yaml = new Yaml(options);
++ String strYaml = Util.getLocalResource("fuzzer/YamlFuzzer-5110034188599296");
++ String parsed = yaml.load(strYaml);
++ assertEquals(strYaml.trim(), parsed);
++ }
++}
+diff --git a/src/test/java/org/yaml/snakeyaml/resolver/ResolverTupleTest.java b/src/test/java/org/yaml/snakeyaml/resolver/ResolverTupleTest.java
+index 4cac651..a314639 100644
+--- a/src/test/java/org/yaml/snakeyaml/resolver/ResolverTupleTest.java
++++ b/src/test/java/org/yaml/snakeyaml/resolver/ResolverTupleTest.java
+@@ -24,7 +24,7 @@ import org.yaml.snakeyaml.nodes.Tag;
+ public class ResolverTupleTest extends TestCase {
+
+ public void testToString() {
+- ResolverTuple tuple = new ResolverTuple(new Tag("dice"), Pattern.compile("\\d+"));
++ ResolverTuple tuple = new ResolverTuple(new Tag("dice"), Pattern.compile("\\d+"), 5);
+ assertEquals("Tuple tag=dice regexp=\\d+", tuple.toString());
+ }
+ }
+diff --git a/src/test/resources/fuzzer/YamlFuzzer-5110034188599296 b/src/test/resources/fuzzer/YamlFuzzer-5110034188599296
+new file mode 100644
+index 0000000..78f0e8e
+--- /dev/null
++++ b/src/test/resources/fuzzer/YamlFuzzer-5110034188599296
+@@ -0,0 +1 @@
++1:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:0:+
+\ No newline at end of file
diff -Nru snakeyaml-1.28/debian/patches/series snakeyaml-1.28/debian/patches/series
--- snakeyaml-1.28/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ snakeyaml-1.28/debian/patches/series 2023-02-19 17:05:00.000000000 +0100
@@ -0,0 +1,3 @@
+CVE-2022-38750.patch
+CVE-2022-38751.patch
+CVE-2022-25857.patch
Reply to: