<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>63399</bug_id>
          
          <creation_ts>2011-06-26 06:50:47 -0700</creation_ts>
          <short_desc>SVGAnimatedType should support SVGLengthList animation</short_desc>
          <delta_ts>2011-06-27 08:41:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>41761</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>427511</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-26 06:50:47 -0700</bug_when>
    <thetext>SVGAnimatedType should support SVGLengthList animation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427566</commentid>
    <comment_count>1</comment_count>
      <attachid>98638</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-26 12:57:15 -0700</bug_when>
    <thetext>Created attachment 98638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427567</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-26 12:59:49 -0700</bug_when>
    <thetext>Attachment 98638 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/svg/...&quot; exit_code: 1

Source/WebCore/svg/SVGAnimatedLengthList.cpp:43:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.cpp:43:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.cpp:54:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.cpp:54:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.cpp:77:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.cpp:77:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.cpp:77:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.h:50:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.h:50:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.h:51:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.h:51:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.h:53:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.h:53:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedLengthList.h:53:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGLength.h:73:  The parameter name &quot;mode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/svg/SVGLength.h:73:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 16 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427571</commentid>
    <comment_count>3</comment_count>
      <attachid>98638</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-26 13:49:29 -0700</bug_when>
    <thetext>Comment on attachment 98638
Patch

Dirk, I love your pace :-) r=me. How many are left? AnimBool? AnimEnum? AnimTrafoList?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427669</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-26 23:16:37 -0700</bug_when>
    <thetext>Committed r89783: &lt;http://trac.webkit.org/changeset/89783&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427780</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-06-27 01:50:35 -0700</bug_when>
    <thetext>SVG animation pause API is missing in WebKit2, and we always have to add new tests to mac-wk2/Skipped list because of this bug. Guys, could you add this kind of tests automatically to the Skipped list when you add a new test, please?

[WK2] SVG animation pause API missing
 https://bugs.webkit.org/show_bug.cgi?id=63396</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427966</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-27 08:41:09 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; SVG animation pause API is missing in WebKit2, and we always have to add new tests to mac-wk2/Skipped list because of this bug. Guys, could you add this kind of tests automatically to the Skipped list when you add a new test, please?
&gt; 
&gt; [WK2] SVG animation pause API missing
&gt;  https://bugs.webkit.org/show_bug.cgi?id=63396

Dirk, please remember this when landing the next one!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98638</attachid>
            <date>2011-06-26 12:57:15 -0700</date>
            <delta_ts>2011-06-26 13:49:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63399-20110626215712.patch</filename>
            <type>text/plain</type>
            <size>45621</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5NzcyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTEtMDYtMjYgIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTVkdBbmltYXRlZFR5cGUgc2hvdWxkIHN1cHBvcnQgU1ZHTGVuZ3Ro
TGlzdCBhbmltYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYzMzk5CisKKyAgICAgICAgRm9sbG93IHVwIG9mICJTVkdBbmltYXRpb24gc2hvdWxk
IHVzZSBkaXJlY3QgdW5pdCBhbmltYXRpb24gZm9yIFNWR0xlbmd0aCI6IGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM2OAorICAgICAgICBUaGlzIHBhdGNoIGNvbnRp
bnVlcyB0aGUgY29udmVyc2lvbiB0byB0aGUgbmV3IGNvbmNlcHQgb2YgU1ZHQW5pbWF0b3JGYWN0
b3J5IHdpdGggU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LgorICAgICAgICAKKyAgICAgICAgSW50ZXJw
b2xhdGVkIGFuaW1hdGlvbnMgb2YgZ2x5cGggcG9zaXRpb25zIGFyZSBwb3NzaWJsZSBub3cuCisK
KyAgICAgICAgVGVzdHM6IHN2Zy9hbmltYXRpb25zL3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTEu
aHRtbAorICAgICAgICAgICAgICAgc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RobGlzdC1hbmltYXRp
b24tMi5odG1sCisgICAgICAgICAgICAgICBzdmcvYW5pbWF0aW9ucy9zdmdsZW5ndGhsaXN0LWFu
aW1hdGlvbi0zLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9hbmltYXRpb25zL3N2Z2xlbmd0aGxp
c3QtYW5pbWF0aW9uLTQuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZCBuZXcg
ZmlsZSB0byBidWlsZCBzeXN0ZW0uCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTogRGl0
dG8uCisgICAgICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnBy
bzogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBE
aXR0by4KKyAgICAgICAgKiBzdmcvU1ZHQWxsSW5PbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKiBz
dmcvU1ZHQW5pbWF0ZUVsZW1lbnQuY3BwOiBNYWtlIHVzZSBvZiBBbmltYXRlZExlbmd0aExpc3Qu
CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlRWxlbWVudDo6ZGV0ZXJtaW5lQW5pbWF0ZWRB
dHRyaWJ1dGVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVFbGVtZW50OjpjYWxj
dWxhdGVBbmltYXRlZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVFbGVtZW50
OjpjYWxjdWxhdGVGcm9tQW5kVG9WYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0
ZUVsZW1lbnQ6OmNhbGN1bGF0ZUZyb21BbmRCeVZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRlRWxlbWVudDo6cmVzZXRUb0Jhc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRlRWxlbWVudDo6YXBwbHlSZXN1bHRzVG9UYXJnZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OmNhbGN1bGF0ZURpc3RhbmNlKToKKyAgICAgICAgKiBzdmcv
U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmNwcDogQWRkZWQuIE5ldyBhbmltYXRvciBmb3IgU1ZHTGVu
Z3RoTGlzdC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVuZ3RoTGlzdEFuaW1hdG9y
OjpTVkdBbmltYXRlZExlbmd0aExpc3RBbmltYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdB
bmltYXRlZExlbmd0aExpc3RBbmltYXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aExpc3RBbmltYXRvcjo6Y2FsY3VsYXRlRnJvbUFu
ZFRvVmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVuZ3RoTGlzdEFuaW1h
dG9yOjpjYWxjdWxhdGVGcm9tQW5kQnlWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5p
bWF0ZWRMZW5ndGhMaXN0QW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5pbWF0b3I6OmNhbGN1bGF0ZURpc3Rh
bmNlKToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aExpc3RBbmltYXRvcjo6flNWR0FuaW1hdGVkTGVuZ3Ro
TGlzdEFuaW1hdG9yKToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRUeXBlLmNwcDogQWRkIFNW
R0xlbmd0aExpc3QuCisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6On5TVkdBbmlt
YXRlZFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVMZW5n
dGhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6bGVuZ3RoTGlzdCk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6OnZhbHVlQXNTdHJpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBlOjpzZXRWYWx1ZUFzU3RyaW5nKToKKyAgICAg
ICAgKiBzdmcvU1ZHQW5pbWF0ZWRUeXBlLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdG9yRmFj
dG9yeS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0b3JGYWN0b3J5OjpjcmVhdGUpOgor
ICAgICAgICAqIHN2Zy9TVkdMZW5ndGguY3BwOiBBZGQgbmV3IGNvbnN0cnVjdG9yIHdpdGggTGVu
Z3RoVHlwZSwgTGVuZ3RoTW9kZSBhbmQgdmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5n
dGg6OlNWR0xlbmd0aCk6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorCiAyMDExLTA2LTI2
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gODk3NjYpCisr
KyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTY1OSw2
ICsxNjU5LDcgQEAgSUYgKEVOQUJMRV9TVkcpCiAgICAgICAgIHN2Zy9TVkdBbmltYXRlZEFuZ2xl
LmNwcAogICAgICAgICBzdmcvU1ZHQW5pbWF0ZWRDb2xvci5jcHAKICAgICAgICAgc3ZnL1NWR0Fu
aW1hdGVkTGVuZ3RoLmNwcAorICAgICAgICBzdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmNwcAog
ICAgICAgICBzdmcvU1ZHQW5pbWF0ZWROdW1iZXIuY3BwCiAgICAgICAgIHN2Zy9TVkdBbmltYXRl
ZE51bWJlckxpc3QuY3BwCiAgICAgICAgIHN2Zy9TVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVt
YmVyLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiA4OTc2
NikKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkK
QEAgLTM0MzAsNiArMzQzMCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWRMZW5ndGguY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGgu
aCBcCisJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3QuaCBcCiAJU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkTnVtYmVyLmggXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gODk3NjYpCisr
KyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTU3MTIsNiAr
NTcxMiw3IEBACiAgICAgICAgICAgICAnc3ZnL1NWR0FuaW1hdGVkQW5nbGUuY3BwJywKICAgICAg
ICAgICAgICdzdmcvU1ZHQW5pbWF0ZWRDb2xvci5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9TVkdB
bmltYXRlZExlbmd0aC5jcHAnLAorICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlZExlbmd0aExp
c3QuY3BwJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZWROdW1iZXIuY3BwJywKICAgICAg
ICAgICAgICdzdmcvU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmNwcCcsCiAgICAgICAgICAgICAnc3Zn
L1NWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuY3BwJywKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJv
CShyZXZpc2lvbiA4OTc2NikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5n
IGNvcHkpCkBAIC0zMzM5LDYgKzMzMzksNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZH
PTEpIHsKICAgICAgICAgICAgICAgc3ZnL1NWR0FuaW1hdGVkQW5nbGUuY3BwIFwKICAgICAgICAg
ICAgICAgc3ZnL1NWR0FuaW1hdGVkQ29sb3IuY3BwIFwKICAgICAgICAgICAgICAgc3ZnL1NWR0Fu
aW1hdGVkTGVuZ3RoLmNwcCBcCisgICAgICAgICAgICAgIHN2Zy9TVkdBbmltYXRlZExlbmd0aExp
c3QuY3BwIFwKICAgICAgICAgICAgICAgc3ZnL1NWR0FuaW1hdGVkTnVtYmVyLmNwcCBcCiAgICAg
ICAgICAgICAgIHN2Zy9TVkdBbmltYXRlZE51bWJlckxpc3QuY3BwIFwKICAgICAgICAgICAgICAg
c3ZnL1NWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuY3BwIFwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDg5NzY2KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC05MzMsNiArOTMzLDcgQEAKIAkJNDMxNDJFN0ExM0IxRTk3
NzAwRjFDODcxIC8qIFNWR0FuaW1hdGVkUmVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzE0MkU3OTEzQjFFOTc3MDBGMUM4NzEgLyogU1ZHQW5p
bWF0ZWRSZWN0LmNwcCAqLzsgfTsKIAkJNDMxQTJGOUMxM0I2RjJCMDAwNzc5MUU0IC8qIFNWR0Fu
aW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQzMUEyRjlBMTNCNkYyQjAwMDc3OTFFNCAvKiBTVkdBbmltYXRl
ZE51bWJlck9wdGlvbmFsTnVtYmVyLmggKi87IH07CiAJCTQzMUEyRjlEMTNCNkYyQjAwMDc3OTFF
NCAvKiBTVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzMUEyRjlCMTNCNkYyQjAwMDc3OTFFNCAv
KiBTVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcCAqLzsgfTsKKwkJNDMxQTJGRDcx
M0I3NzA3QTAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzFBMkZENjEzQjc3MDdBMDA3Nzkx
RTQgLyogU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmNwcCAqLzsgfTsKIAkJNDMzMUFDNzgxM0I2ODcw
MDAwQTlFNUFFIC8qIFNWR0FuaW1hdGVkTnVtYmVyTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzMxQUM3NzEzQjY4NzAwMDBBOUU1QUUgLyog
U1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmNwcCAqLzsgfTsKIAkJNDM1OEU4NkExMzYwQTIxNjAwRTQ3
NDhDIC8qIERPTVNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNThFODY3MTM2MEEyMTYwMEU0NzQ4QyAvKiBET01T
VkdGRURyb3BTaGFkb3dFbGVtZW50LmggKi87IH07CiAJCTQzNThFODZCMTM2MEEyMTYwMEU0NzQ4
QyAvKiBET01TVkdGRURyb3BTaGFkb3dFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM1OEU4NjgxMzYwQTIxNjAwRTQ3NDhDIC8qIERPTVNW
R0ZFRHJvcFNoYWRvd0VsZW1lbnQubW0gKi87IH07CkBAIC03Mzk1LDYgKzczOTYsNyBAQAogCQk0
MzE0MkU3OTEzQjFFOTc3MDBGMUM4NzEgLyogU1ZHQW5pbWF0ZWRSZWN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0FuaW1hdGVkUmVjdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzMUEyRjlBMTNCNkYyQjAwMDc3OTFFNCAvKiBTVkdBbmlt
YXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDMxQTJGOUIxM0I2RjJCMDAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkTnVtYmVy
T3B0aW9uYWxOdW1iZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQzMUEyRkQ2MTNCNzcwN0EwMDc3OTFFNCAvKiBTVkdBbmltYXRlZExlbmd0aExp
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDMzMUFDNzcxM0I2
ODcwMDAwQTlFNUFFIC8qIFNWR0FuaW1hdGVkTnVtYmVyTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRlZE51bWJlckxpc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MzU4RTg2NzEzNjBBMjE2MDBFNDc0OEMgLyogRE9NU1ZH
RkVEcm9wU2hhZG93RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
T01TVkdGRURyb3BTaGFkb3dFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQzNThFODY4MTM2MEEyMTYwMEU0NzQ4QyAvKiBET01TVkdGRURyb3BTaGFkb3dFbGVtZW50Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NU1ZHRkVEcm9wU2hh
ZG93RWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NDA2LDYgKzE3
NDA4LDcgQEAKIAkJCQk0MzgxNzYzQTEzQTY5N0Q0MDA3RDExODcgLyogU1ZHQW5pbWF0ZWRMZW5n
dGguY3BwICovLAogCQkJCTA4OTAyMUE4MTI2RUY1REUwMDkyRDVFQSAvKiBTVkdBbmltYXRlZExl
bmd0aC5oICovLAogCQkJCUIyMjI3N0VBMEQwMEJGMUYwMDcxQjc4MiAvKiBTVkdBbmltYXRlZExl
bmd0aC5pZGwgKi8sCisJCQkJNDMxQTJGRDYxM0I3NzA3QTAwNzc5MUU0IC8qIFNWR0FuaW1hdGVk
TGVuZ3RoTGlzdC5jcHAgKi8sCiAJCQkJMDg5MDIxQUMxMjZFRjVFOTAwOTJENUVBIC8qIFNWR0Fu
aW1hdGVkTGVuZ3RoTGlzdC5oICovLAogCQkJCUIyMjI3N0VCMEQwMEJGMUYwMDcxQjc4MiAvKiBT
VkdBbmltYXRlZExlbmd0aExpc3QuaWRsICovLAogCQkJCTQzQTBGMEIwMTNBQzdENkQwMEE1RjBB
NyAvKiBTVkdBbmltYXRlZE51bWJlci5jcHAgKi8sCkBAIC0yNTgzOSw2ICsyNTg0Miw3IEBACiAJ
CQkJMzc2RENDRTExM0I0Rjk2NjAwMkVCRUZDIC8qIFRleHRSdW4uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDMzMUFDNzgxM0I2ODcwMDAwQTlFNUFFIC8qIFNWR0FuaW1hdGVkTnVtYmVyTGlzdC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzFBMkY5RDEzQjZGMkIwMDA3NzkxRTQgLyogU1ZHQW5p
bWF0ZWROdW1iZXJPcHRpb25hbE51bWJlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MzFBMkZE
NzEzQjc3MDdBMDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsbEluT25lLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWxsSW5PbmUuY3BwCShyZXZpc2lvbiA4OTc2NikK
KysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbGxJbk9uZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJTVkdBbmltYXRlZEFuZ2xlLmNwcCIKICNpbmNsdWRl
ICJTVkdBbmltYXRlZENvbG9yLmNwcCIKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5jcHAi
CisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmNwcCIKICNpbmNsdWRlICJTVkdBbmlt
YXRlZE51bWJlci5jcHAiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmNwcCIKICNp
bmNsdWRlICJTVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcCIKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50LmNwcAkocmV2aXNpb24gODk3NjYpCisrKyBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTEsNyArMTExLDYgQEAgQW5pbWF0ZWRBdHRyaWJ1dGVUeXBlIFNWR0FuaW1hdGVFbGVtZW50
OgogICAgICAgICByZXR1cm4gQW5pbWF0ZWRBbmdsZTsKICAgICBjYXNlIEFuaW1hdGVkQm9vbGVh
bjoKICAgICBjYXNlIEFuaW1hdGVkRW51bWVyYXRpb246Ci0gICAgY2FzZSBBbmltYXRlZExlbmd0
aExpc3Q6CiAgICAgY2FzZSBBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW86CiAgICAgY2FzZSBB
bmltYXRlZFN0cmluZzoKICAgICAgICAgcmV0dXJuIEFuaW1hdGVkU3RyaW5nOwpAQCAtMTE5LDYg
KzExOCw4IEBAIEFuaW1hdGVkQXR0cmlidXRlVHlwZSBTVkdBbmltYXRlRWxlbWVudDoKICAgICAg
ICAgcmV0dXJuIEFuaW1hdGVkQ29sb3I7CiAgICAgY2FzZSBBbmltYXRlZExlbmd0aDoKICAgICAg
ICAgcmV0dXJuIEFuaW1hdGVkTGVuZ3RoOworICAgIGNhc2UgQW5pbWF0ZWRMZW5ndGhMaXN0Ogor
ICAgICAgICByZXR1cm4gQW5pbWF0ZWRMZW5ndGhMaXN0OwogICAgIGNhc2UgQW5pbWF0ZWRJbnRl
Z2VyOgogICAgIGNhc2UgQW5pbWF0ZWROdW1iZXI6CiAgICAgICAgIHJldHVybiBBbmltYXRlZE51
bWJlcjsKQEAgLTE2NCw2ICsxNjUsNyBAQCB2b2lkIFNWR0FuaW1hdGVFbGVtZW50OjpjYWxjdWxh
dGVBbmltYXRlCiAgICAgY2FzZSBBbmltYXRlZEFuZ2xlOgogICAgIGNhc2UgQW5pbWF0ZWRDb2xv
cjoKICAgICBjYXNlIEFuaW1hdGVkTGVuZ3RoOgorICAgIGNhc2UgQW5pbWF0ZWRMZW5ndGhMaXN0
OgogICAgIGNhc2UgQW5pbWF0ZWROdW1iZXI6CiAgICAgY2FzZSBBbmltYXRlZE51bWJlckxpc3Q6
CiAgICAgY2FzZSBBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyOgpAQCAtMjMxLDYgKzIzMyw3
IEBAIGJvb2wgU1ZHQW5pbWF0ZUVsZW1lbnQ6OmNhbGN1bGF0ZUZyb21BbmQKICAgICBjYXNlIEFu
aW1hdGVkQW5nbGU6CiAgICAgY2FzZSBBbmltYXRlZENvbG9yOgogICAgIGNhc2UgQW5pbWF0ZWRM
ZW5ndGg6CisgICAgY2FzZSBBbmltYXRlZExlbmd0aExpc3Q6CiAgICAgY2FzZSBBbmltYXRlZE51
bWJlcjoKICAgICBjYXNlIEFuaW1hdGVkTnVtYmVyTGlzdDoKICAgICBjYXNlIEFuaW1hdGVkTnVt
YmVyT3B0aW9uYWxOdW1iZXI6CkBAIC0yNTksNiArMjYyLDcgQEAgYm9vbCBTVkdBbmltYXRlRWxl
bWVudDo6Y2FsY3VsYXRlRnJvbUFuZAogICAgIGNhc2UgQW5pbWF0ZWRBbmdsZToKICAgICBjYXNl
IEFuaW1hdGVkQ29sb3I6CiAgICAgY2FzZSBBbmltYXRlZExlbmd0aDoKKyAgICBjYXNlIEFuaW1h
dGVkTGVuZ3RoTGlzdDoKICAgICBjYXNlIEFuaW1hdGVkTnVtYmVyOgogICAgIGNhc2UgQW5pbWF0
ZWROdW1iZXJMaXN0OgogICAgIGNhc2UgQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlcjoKQEAg
LTI4Niw2ICsyOTAsNyBAQCB2b2lkIFNWR0FuaW1hdGVFbGVtZW50OjpyZXNldFRvQmFzZVZhbHVl
CiAgICAgY2FzZSBBbmltYXRlZEFuZ2xlOgogICAgIGNhc2UgQW5pbWF0ZWRDb2xvcjoKICAgICBj
YXNlIEFuaW1hdGVkTGVuZ3RoOgorICAgIGNhc2UgQW5pbWF0ZWRMZW5ndGhMaXN0OgogICAgIGNh
c2UgQW5pbWF0ZWROdW1iZXI6CiAgICAgY2FzZSBBbmltYXRlZE51bWJlckxpc3Q6CiAgICAgY2Fz
ZSBBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyOgpAQCAtMzEyLDYgKzMxNyw3IEBAIHZvaWQg
U1ZHQW5pbWF0ZUVsZW1lbnQ6OmFwcGx5UmVzdWx0c1RvVGEKICAgICBjYXNlIEFuaW1hdGVkQW5n
bGU6CiAgICAgY2FzZSBBbmltYXRlZENvbG9yOgogICAgIGNhc2UgQW5pbWF0ZWRMZW5ndGg6Cisg
ICAgY2FzZSBBbmltYXRlZExlbmd0aExpc3Q6CiAgICAgY2FzZSBBbmltYXRlZE51bWJlcjoKICAg
ICBjYXNlIEFuaW1hdGVkTnVtYmVyTGlzdDoKICAgICBjYXNlIEFuaW1hdGVkTnVtYmVyT3B0aW9u
YWxOdW1iZXI6CkBAIC0zMzgsNiArMzQ0LDcgQEAgZmxvYXQgU1ZHQW5pbWF0ZUVsZW1lbnQ6OmNh
bGN1bGF0ZURpc3RhbgogICAgIGNhc2UgQW5pbWF0ZWRBbmdsZToKICAgICBjYXNlIEFuaW1hdGVk
Q29sb3I6CiAgICAgY2FzZSBBbmltYXRlZExlbmd0aDoKKyAgICBjYXNlIEFuaW1hdGVkTGVuZ3Ro
TGlzdDoKICAgICBjYXNlIEFuaW1hdGVkTnVtYmVyOgogICAgIGNhc2UgQW5pbWF0ZWROdW1iZXJM
aXN0OgogICAgIGNhc2UgQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlcjoKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3QuY3BwCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5jcHAJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZCAyMDExLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisKKyNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0FOSU1BVElPTikKKyNpbmNsdWRl
ICJTVkdBbmltYXRlZExlbmd0aExpc3QuaCIKKworI2luY2x1ZGUgIlNWR0FuaW1hdGVFbGVtZW50
LmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWROdW1iZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitTVkdBbmltYXRlZExlbmd0aExpc3RBbmltYXRvcjo6U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0
QW5pbWF0b3IoU1ZHQW5pbWF0aW9uRWxlbWVudCogYW5pbWF0aW9uRWxlbWVudCwgU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQpCisgICAgOiBTVkdBbmltYXRlZFR5cGVBbmltYXRvcihBbmltYXRl
ZExlbmd0aExpc3QsIGFuaW1hdGlvbkVsZW1lbnQsIGNvbnRleHRFbGVtZW50KQorICAgICwgbV9s
ZW5ndGhNb2RlKFNWR0xlbmd0aDo6bGVuZ3RoTW9kZUZvckFuaW1hdGVkTGVuZ3RoQXR0cmlidXRl
KGFuaW1hdGlvbkVsZW1lbnQtPmF0dHJpYnV0ZU5hbWUoKSkpCit7Cit9CisKK1Bhc3NPd25QdHI8
U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZExlbmd0aExpc3RBbmltYXRvcjo6Y29uc3RydWN0
RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKK3sKKyAgICBPd25QdHI8U1ZHQW5pbWF0
ZWRUeXBlPiBhbmltYXRlVHlwZSA9IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTGVuZ3RoTGlzdChu
ZXcgU1ZHTGVuZ3RoTGlzdCk7CisgICAgYW5pbWF0ZVR5cGUtPmxlbmd0aExpc3QoKS5wYXJzZShz
dHJpbmcsIG1fbGVuZ3RoTW9kZSk7CisgICAgcmV0dXJuIGFuaW1hdGVUeXBlLnJlbGVhc2UoKTsK
K30KKwordm9pZCBTVkdBbmltYXRlZExlbmd0aExpc3RBbmltYXRvcjo6Y2FsY3VsYXRlRnJvbUFu
ZFRvVmFsdWVzKE93blB0cjxTVkdBbmltYXRlZFR5cGU+JiBmcm9tLCBPd25QdHI8U1ZHQW5pbWF0
ZWRUeXBlPiYgdG8sIGNvbnN0IFN0cmluZyYgZnJvbVN0cmluZywgY29uc3QgU3RyaW5nJiB0b1N0
cmluZykKK3sKKyAgICBBU1NFUlQobV9jb250ZXh0RWxlbWVudCk7CisgICAgQVNTRVJUKG1fYW5p
bWF0aW9uRWxlbWVudCk7CisgICAgU1ZHQW5pbWF0ZUVsZW1lbnQqIGFuaW1hdGlvbkVsZW1lbnQg
PSBzdGF0aWNfY2FzdDxTVkdBbmltYXRlRWxlbWVudCo+KG1fYW5pbWF0aW9uRWxlbWVudCk7Cisg
ICAgYW5pbWF0aW9uRWxlbWVudC0+ZGV0ZXJtaW5lUHJvcGVydHlWYWx1ZVR5cGVzKGZyb21TdHJp
bmcsIHRvU3RyaW5nKTsKKyAgICAKKyAgICBmcm9tID0gY29uc3RydWN0RnJvbVN0cmluZyhmcm9t
U3RyaW5nKTsKKyAgICB0byA9IGNvbnN0cnVjdEZyb21TdHJpbmcodG9TdHJpbmcpOworfQorCit2
b2lkIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdEFuaW1hdG9yOjpjYWxjdWxhdGVGcm9tQW5kQnlWYWx1
ZXMoT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4mIGZyb20sIE93blB0cjxTVkdBbmltYXRlZFR5cGU+
JiB0bywgY29uc3QgU3RyaW5nJiBmcm9tU3RyaW5nLCBjb25zdCBTdHJpbmcmIGJ5U3RyaW5nKQor
eworICAgIEFTU0VSVChtX2NvbnRleHRFbGVtZW50KTsKKyAgICBBU1NFUlQobV9hbmltYXRpb25F
bGVtZW50KTsKKyAgICBTVkdBbmltYXRlRWxlbWVudCogYW5pbWF0aW9uRWxlbWVudCA9IHN0YXRp
Y19jYXN0PFNWR0FuaW1hdGVFbGVtZW50Kj4obV9hbmltYXRpb25FbGVtZW50KTsKKyAgICBhbmlt
YXRpb25FbGVtZW50LT5kZXRlcm1pbmVQcm9wZXJ0eVZhbHVlVHlwZXMoZnJvbVN0cmluZywgYnlT
dHJpbmcpOworICAgIAorICAgIGZyb20gPSBjb25zdHJ1Y3RGcm9tU3RyaW5nKGZyb21TdHJpbmcp
OworICAgIHRvID0gY29uc3RydWN0RnJvbVN0cmluZyhieVN0cmluZyk7CisgICAgCisgICAgU1ZH
TGVuZ3RoTGlzdCYgZnJvbUxlbmd0aExpc3QgPSBmcm9tLT5sZW5ndGhMaXN0KCk7CisgICAgU1ZH
TGVuZ3RoTGlzdCYgdG9MZW5ndGhMaXN0ID0gdG8tPmxlbmd0aExpc3QoKTsKKyAgICB1bnNpZ25l
ZCBpdGVtc0NvdW50ID0gZnJvbUxlbmd0aExpc3Quc2l6ZSgpOworICAgIGlmIChpdGVtc0NvdW50
ICE9IHRvTGVuZ3RoTGlzdC5zaXplKCkpCisgICAgICAgIHJldHVybjsKKyAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgaXRlbXNDb3VudDsgKytp
KSB7CisgICAgICAgIHRvTGVuZ3RoTGlzdFtpXS5zZXRWYWx1ZSh0b0xlbmd0aExpc3RbaV0udmFs
dWUobV9jb250ZXh0RWxlbWVudCkgKyBmcm9tTGVuZ3RoTGlzdFtpXS52YWx1ZShtX2NvbnRleHRF
bGVtZW50KSwgbV9jb250ZXh0RWxlbWVudCwgZWMpOworICAgICAgICBBU1NFUlQoIWVjKTsKKyAg
ICB9Cit9CisKK3ZvaWQgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5pbWF0b3I6OmNhbGN1bGF0ZUFu
aW1hdGVkVmFsdWUoZmxvYXQgcGVyY2VudGFnZSwgdW5zaWduZWQgcmVwZWF0Q291bnQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3duUHRy
PFNWR0FuaW1hdGVkVHlwZT4mIGZyb20sIE93blB0cjxTVkdBbmltYXRlZFR5cGU+JiB0bywgT3du
UHRyPFNWR0FuaW1hdGVkVHlwZT4mIGFuaW1hdGVkKQoreworICAgIEFTU0VSVChtX2FuaW1hdGlv
bkVsZW1lbnQpOworICAgIEFTU0VSVChtX2NvbnRleHRFbGVtZW50KTsKKworICAgIFNWR0FuaW1h
dGVFbGVtZW50KiBhbmltYXRpb25FbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHQW5pbWF0ZUVsZW1l
bnQqPihtX2FuaW1hdGlvbkVsZW1lbnQpOworICAgIEFuaW1hdGlvbk1vZGUgYW5pbWF0aW9uTW9k
ZSA9IGFuaW1hdGlvbkVsZW1lbnQtPmFuaW1hdGlvbk1vZGUoKTsKKworICAgIC8vIFRvIGFuaW1h
dGlvbiB1c2VzIGNvbnRyaWJ1dGlvbnMgZnJvbSB0aGUgbG93ZXIgcHJpb3JpdHkgYW5pbWF0aW9u
cyBhcyB0aGUgYmFzZSB2YWx1ZS4KKyAgICBTVkdMZW5ndGhMaXN0JiBmcm9tTGVuZ3RoTGlzdCA9
IGZyb20tPmxlbmd0aExpc3QoKTsKKyAgICBTVkdMZW5ndGhMaXN0JiBhbmltYXRlZExlbmd0aExp
c3QgPSBhbmltYXRlZC0+bGVuZ3RoTGlzdCgpOworICAgIGlmIChhbmltYXRpb25Nb2RlID09IFRv
QW5pbWF0aW9uKQorICAgICAgICBmcm9tTGVuZ3RoTGlzdCA9IGFuaW1hdGVkTGVuZ3RoTGlzdDsK
KyAgICAKKyAgICAvLyBSZXBsYWNlICdpbmhlcml0JyBieSB0aGVpciBjb21wdXRlZCBwcm9wZXJ0
eSB2YWx1ZXMuICAgIAorICAgIFNWR0xlbmd0aExpc3QmIHRvTGVuZ3RoTGlzdCA9IHRvLT5sZW5n
dGhMaXN0KCk7CisgICAgaWYgKGFuaW1hdGlvbkVsZW1lbnQtPmZyb21Qcm9wZXJ0eVZhbHVlVHlw
ZSgpID09IEluaGVyaXRWYWx1ZSkgeworICAgICAgICBTdHJpbmcgZnJvbUxlbmd0aFN0cmluZzsK
KyAgICAgICAgYW5pbWF0aW9uRWxlbWVudC0+YWRqdXN0Rm9ySW5oZXJpdGFuY2UobV9jb250ZXh0
RWxlbWVudCwgYW5pbWF0aW9uRWxlbWVudC0+YXR0cmlidXRlTmFtZSgpLCBmcm9tTGVuZ3RoU3Ry
aW5nKTsKKyAgICAgICAgZnJvbUxlbmd0aExpc3QucGFyc2UoZnJvbUxlbmd0aFN0cmluZywgbV9s
ZW5ndGhNb2RlKTsKKyAgICB9CisgICAgaWYgKGFuaW1hdGlvbkVsZW1lbnQtPnRvUHJvcGVydHlW
YWx1ZVR5cGUoKSA9PSBJbmhlcml0VmFsdWUpIHsKKyAgICAgICAgU3RyaW5nIHRvTGVuZ3RoU3Ry
aW5nOworICAgICAgICBhbmltYXRpb25FbGVtZW50LT5hZGp1c3RGb3JJbmhlcml0YW5jZShtX2Nv
bnRleHRFbGVtZW50LCBhbmltYXRpb25FbGVtZW50LT5hdHRyaWJ1dGVOYW1lKCksIHRvTGVuZ3Ro
U3RyaW5nKTsKKyAgICAgICAgdG9MZW5ndGhMaXN0LnBhcnNlKHRvTGVuZ3RoU3RyaW5nLCBtX2xl
bmd0aE1vZGUpOworICAgIH0KKworICAgIHVuc2lnbmVkIGl0ZW1zQ291bnQgPSBmcm9tTGVuZ3Ro
TGlzdC5zaXplKCk7CisgICAgaWYgKGl0ZW1zQ291bnQgIT0gdG9MZW5ndGhMaXN0LnNpemUoKSkg
eworICAgICAgICBpZiAocGVyY2VudGFnZSA8IDAuNSkgeworICAgICAgICAgICAgaWYgKGFuaW1h
dGlvbk1vZGUgIT0gVG9BbmltYXRpb24pCisgICAgICAgICAgICAgICAgYW5pbWF0ZWRMZW5ndGhM
aXN0ID0gZnJvbUxlbmd0aExpc3Q7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgYW5pbWF0
ZWRMZW5ndGhMaXN0ID0gdG9MZW5ndGhMaXN0OworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IAorICAgIGFuaW1hdGVkTGVuZ3RoTGlzdC5jbGVhcigpOworICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBpdGVtc0NvdW50OyArK2kpIHsKKyAgICAgICAgZmxvYXQgcmVzdWx0ID0gMDsKKyAg
ICAgICAgU1ZHTGVuZ3RoVHlwZSB1bml0VHlwZSA9IHBlcmNlbnRhZ2UgPCAwLjUgPyBmcm9tTGVu
Z3RoTGlzdFtpXS51bml0VHlwZSgpIDogdG9MZW5ndGhMaXN0W2ldLnVuaXRUeXBlKCk7CisgICAg
ICAgIFNWR0FuaW1hdGVkTnVtYmVyQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkTnVtYmVyKGFu
aW1hdGlvbkVsZW1lbnQsIHBlcmNlbnRhZ2UsIHJlcGVhdENvdW50LCByZXN1bHQsIGZyb21MZW5n
dGhMaXN0W2ldLnZhbHVlKG1fY29udGV4dEVsZW1lbnQpLCB0b0xlbmd0aExpc3RbaV0udmFsdWUo
bV9jb250ZXh0RWxlbWVudCkpOworICAgICAgICBhbmltYXRlZExlbmd0aExpc3QuYXBwZW5kKFNW
R0xlbmd0aChtX2NvbnRleHRFbGVtZW50LCByZXN1bHQsIG1fbGVuZ3RoTW9kZSwgdW5pdFR5cGUp
KTsKKyAgICB9Cit9CisKK2Zsb2F0IFNWR0FuaW1hdGVkTGVuZ3RoTGlzdEFuaW1hdG9yOjpjYWxj
dWxhdGVEaXN0YW5jZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKQoreworICAgIC8vIEZJ
WE1FOiBEaXN0YW5jZSBjYWxjdWxhdGlvbiBpcyBub3QgcG9zc2libGUgZm9yIFNWR0xlbmd0aExp
c3QgcmlnaHQgbm93LiBXZSBuZWVkIHRoZSBkaXN0YW5jZSBmb3IgZXZlcnkgc2luZ2xlIHZhbHVl
LgorICAgIHJldHVybiAtMTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykgJiYgRU5B
QkxFKFNWR19BTklNQVRJT04pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
TGVuZ3RoTGlzdC5oCShyZXZpc2lvbiA4OTc0OSkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZExlbmd0aExpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogCiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdBbmltYXRlZExpc3RQcm9wZXJ0eVRlYXJPZmYu
aCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZFR5cGVBbmltYXRvci5oIgogI2luY2x1ZGUgIlNWR0xl
bmd0aExpc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzQsNiArMzUsMjggQEAgREVD
TEFSRV9BTklNQVRFRF9MSVNUX1BST1BFUlRZKFNWR0FuaW1hdAogCiAjZGVmaW5lIERFRklORV9B
TklNQVRFRF9MRU5HVEhfTElTVChPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0
eSwgTG93ZXJQcm9wZXJ0eSkgXAogREVGSU5FX0FOSU1BVEVEX0xJU1RfUFJPUEVSVFkoT3duZXJU
eXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0LCBTVkdMZW5ndGhMaXN0LCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQor
ICAgIAorI2lmIEVOQUJMRShTVkdfQU5JTUFUSU9OKQorY2xhc3MgU1ZHQW5pbWF0aW9uRWxlbWVu
dDsKKworY2xhc3MgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5pbWF0b3IgOiBwdWJsaWMgU1ZHQW5p
bWF0ZWRUeXBlQW5pbWF0b3IgeworICAgIAorcHVibGljOgorICAgIFNWR0FuaW1hdGVkTGVuZ3Ro
TGlzdEFuaW1hdG9yKFNWR0FuaW1hdGlvbkVsZW1lbnQqLCBTVkdFbGVtZW50Kik7CisgICAgdmly
dHVhbCB+U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5pbWF0b3IoKSB7IH0KKyAgICAKKyAgICB2aXJ0
dWFsIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjb25zdHJ1Y3RGcm9tU3RyaW5nKGNvbnN0
IFN0cmluZyYpOworICAgIAorICAgIHZpcnR1YWwgdm9pZCBjYWxjdWxhdGVGcm9tQW5kVG9WYWx1
ZXMoT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4mIGZyb21WYWx1ZSwgT3duUHRyPFNWR0FuaW1hdGVk
VHlwZT4mIHRvVmFsdWUsIGNvbnN0IFN0cmluZyYgZnJvbVN0cmluZywgY29uc3QgU3RyaW5nJiB0
b1N0cmluZyk7CisgICAgdmlydHVhbCB2b2lkIGNhbGN1bGF0ZUZyb21BbmRCeVZhbHVlcyhPd25Q
dHI8U1ZHQW5pbWF0ZWRUeXBlPiYgZnJvbVZhbHVlLCBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiYg
dG9WYWx1ZSwgY29uc3QgU3RyaW5nJiBmcm9tU3RyaW5nLCBjb25zdCBTdHJpbmcmIGJ5U3RyaW5n
KTsKKyAgICB2aXJ0dWFsIHZvaWQgY2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZShmbG9hdCBwZXJjZW50
YWdlLCB1bnNpZ25lZCByZXBlYXRDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiYgZnJvbVZhbHVlLCBPd25QdHI8U1ZH
QW5pbWF0ZWRUeXBlPiYgdG9WYWx1ZSwgT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4mIGFuaW1hdGVk
VmFsdWUpOworICAgIHZpcnR1YWwgZmxvYXQgY2FsY3VsYXRlRGlzdGFuY2UoY29uc3QgU3RyaW5n
JiBmcm9tU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRvU3RyaW5nKTsKKyAgICAKK3ByaXZhdGU6Cisg
ICAgU1ZHTGVuZ3RoTW9kZSBtX2xlbmd0aE1vZGU7Cit9OworI2VuZGlmIC8vIEVOQUJMRShTVkdf
QU5JTUFUSU9OKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZFR5cGUuY3BwCShyZXZpc2lvbiA4OTc2NikKKysrIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3
IEBACiAjaW5jbHVkZSAiU1ZHQW5nbGUuaCIKICNpbmNsdWRlICJTVkdDb2xvci5oIgogI2luY2x1
ZGUgIlNWR0xlbmd0aC5oIgorI2luY2x1ZGUgIlNWR0xlbmd0aExpc3QuaCIKICNpbmNsdWRlICJT
VkdOdW1iZXJMaXN0LmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCiAjaW5jbHVk
ZSAiU1ZHUGF0aFBhcnNlckZhY3RvcnkuaCIKQEAgLTUyLDYgKzUzLDkgQEAgU1ZHQW5pbWF0ZWRU
eXBlOjp+U1ZHQW5pbWF0ZWRUeXBlKCkKICAgICBjYXNlIEFuaW1hdGVkTGVuZ3RoOgogICAgICAg
ICBkZWxldGUgbV9kYXRhLmxlbmd0aDsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBbmltYXRl
ZExlbmd0aExpc3Q6CisgICAgICAgIGRlbGV0ZSBtX2RhdGEubGVuZ3RoTGlzdDsKKyAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBBbmltYXRlZE51bWJlcjoKICAgICAgICAgZGVsZXRlIG1fZGF0YS5u
dW1iZXI7CiAgICAgICAgIGJyZWFrOwpAQCAtMTAzLDYgKzEwNywxNCBAQCBQYXNzT3duUHRyPFNW
R0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUCiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZS5yZWxl
YXNlKCk7CiB9CiAKK1Bhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6
OmNyZWF0ZUxlbmd0aExpc3QoU1ZHTGVuZ3RoTGlzdCogbGVuZ3RoTGlzdCkKK3sKKyAgICBBU1NF
UlQobGVuZ3RoTGlzdCk7CisgICAgT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gYW5pbWF0ZWRUeXBl
ID0gYWRvcHRQdHIobmV3IFNWR0FuaW1hdGVkVHlwZShBbmltYXRlZExlbmd0aExpc3QpKTsKKyAg
ICBhbmltYXRlZFR5cGUtPm1fZGF0YS5sZW5ndGhMaXN0ID0gbGVuZ3RoTGlzdDsKKyAgICByZXR1
cm4gYW5pbWF0ZWRUeXBlLnJlbGVhc2UoKTsKK30KKwogUGFzc093blB0cjxTVkdBbmltYXRlZFR5
cGU+IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTnVtYmVyKGZsb2F0KiBudW1iZXIpCiB7CiAgICAg
QVNTRVJUKG51bWJlcik7CkBAIC0xNzcsNiArMTg5LDEyIEBAIFNWR0xlbmd0aCYgU1ZHQW5pbWF0
ZWRUeXBlOjpsZW5ndGgoKQogICAgIHJldHVybiAqbV9kYXRhLmxlbmd0aDsKIH0KIAorU1ZHTGVu
Z3RoTGlzdCYgU1ZHQW5pbWF0ZWRUeXBlOjpsZW5ndGhMaXN0KCkKK3sKKyAgICBBU1NFUlQobV90
eXBlID09IEFuaW1hdGVkTGVuZ3RoTGlzdCk7CisgICAgcmV0dXJuICptX2RhdGEubGVuZ3RoTGlz
dDsKK30KKwogZmxvYXQmIFNWR0FuaW1hdGVkVHlwZTo6bnVtYmVyKCkKIHsKICAgICBBU1NFUlQo
bV90eXBlID09IEFuaW1hdGVkTnVtYmVyKTsKQEAgLTIzMSw2ICsyNDksOSBAQCBTdHJpbmcgU1ZH
QW5pbWF0ZWRUeXBlOjp2YWx1ZUFzU3RyaW5nKCkKICAgICBjYXNlIEFuaW1hdGVkTGVuZ3RoOgog
ICAgICAgICBBU1NFUlQobV9kYXRhLmxlbmd0aCk7CiAgICAgICAgIHJldHVybiBtX2RhdGEubGVu
Z3RoLT52YWx1ZUFzU3RyaW5nKCk7CisgICAgY2FzZSBBbmltYXRlZExlbmd0aExpc3Q6CisgICAg
ICAgIEFTU0VSVChtX2RhdGEubGVuZ3RoTGlzdCk7CisgICAgICAgIHJldHVybiBtX2RhdGEubGVu
Z3RoTGlzdC0+dmFsdWVBc1N0cmluZygpOwogICAgIGNhc2UgQW5pbWF0ZWROdW1iZXI6CiAgICAg
ICAgIEFTU0VSVChtX2RhdGEubnVtYmVyKTsKICAgICAgICAgcmV0dXJuIFN0cmluZzo6bnVtYmVy
KCptX2RhdGEubnVtYmVyKTsKQEAgLTI3OSw2ICszMDAsMTAgQEAgYm9vbCBTVkdBbmltYXRlZFR5
cGU6OnNldFZhbHVlQXNTdHJpbmcoYwogICAgICAgICBBU1NFUlQobV9kYXRhLmxlbmd0aCk7CiAg
ICAgICAgIG1fZGF0YS5sZW5ndGgtPnNldFZhbHVlQXNTdHJpbmcodmFsdWUsIFNWR0xlbmd0aDo6
bGVuZ3RoTW9kZUZvckFuaW1hdGVkTGVuZ3RoQXR0cmlidXRlKGF0dHJOYW1lKSwgZWMpOwogICAg
ICAgICBicmVhazsKKyAgICBjYXNlIEFuaW1hdGVkTGVuZ3RoTGlzdDoKKyAgICAgICAgQVNTRVJU
KG1fZGF0YS5sZW5ndGhMaXN0KTsKKyAgICAgICAgbV9kYXRhLmxlbmd0aExpc3QtPnBhcnNlKHZh
bHVlLCBTVkdMZW5ndGg6Omxlbmd0aE1vZGVGb3JBbmltYXRlZExlbmd0aEF0dHJpYnV0ZShhdHRy
TmFtZSkpOworICAgICAgICBicmVhazsKICAgICBjYXNlIEFuaW1hdGVkTnVtYmVyOgogICAgICAg
ICBBU1NFUlQobV9kYXRhLm51bWJlcik7CiAgICAgICAgIHBhcnNlTnVtYmVyRnJvbVN0cmluZyh2
YWx1ZSwgKm1fZGF0YS5udW1iZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5
cGUuaAkocmV2aXNpb24gODk3NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRU
eXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAgY2xhc3MgQ29sb3I7CiBjbGFz
cyBGbG9hdFJlY3Q7CiBjbGFzcyBTVkdBbmdsZTsKIGNsYXNzIFNWR0xlbmd0aDsKK2NsYXNzIFNW
R0xlbmd0aExpc3Q7CiBjbGFzcyBTVkdOdW1iZXJMaXN0OwogY2xhc3MgU1ZHUGF0aEJ5dGVTdHJl
YW07CiBjbGFzcyBTVkdQb2ludExpc3Q7CkBAIC00Myw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZUFuZ2xlKFNWR0FuZ2xlKik7
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVDb2xvcihDb2xv
ciopOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlTGVuZ3Ro
KFNWR0xlbmd0aCopOworICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3Jl
YXRlTGVuZ3RoTGlzdChTVkdMZW5ndGhMaXN0Kik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZH
QW5pbWF0ZWRUeXBlPiBjcmVhdGVOdW1iZXIoZmxvYXQqKTsKICAgICBzdGF0aWMgUGFzc093blB0
cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZU51bWJlckxpc3QoU1ZHTnVtYmVyTGlzdCopOwogICAg
IHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlTnVtYmVyT3B0aW9uYWxO
dW1iZXIocGFpcjxmbG9hdCwgZmxvYXQ+Kik7CkBAIC01Niw2ICs1OCw3IEBAIHB1YmxpYzoKICAg
ICBTVkdBbmdsZSYgYW5nbGUoKTsKICAgICBDb2xvciYgY29sb3IoKTsKICAgICBTVkdMZW5ndGgm
IGxlbmd0aCgpOworICAgIFNWR0xlbmd0aExpc3QmIGxlbmd0aExpc3QoKTsKICAgICBmbG9hdCYg
bnVtYmVyKCk7CiAgICAgU1ZHTnVtYmVyTGlzdCYgbnVtYmVyTGlzdCgpOwogICAgIHBhaXI8Zmxv
YXQsIGZsb2F0PiYgbnVtYmVyT3B0aW9uYWxOdW1iZXIoKTsKQEAgLTgyLDYgKzg1LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgU1ZHQW5nbGUqIGFuZ2xlOwogICAgICAgICBDb2xvciogY29sb3I7CiAg
ICAgICAgIFNWR0xlbmd0aCogbGVuZ3RoOworICAgICAgICBTVkdMZW5ndGhMaXN0KiBsZW5ndGhM
aXN0OwogICAgICAgICBmbG9hdCogbnVtYmVyOwogICAgICAgICBTVkdOdW1iZXJMaXN0KiBudW1i
ZXJMaXN0OwogICAgICAgICBwYWlyPGZsb2F0LCBmbG9hdD4qIG51bWJlck9wdGlvbmFsTnVtYmVy
OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdG9yRmFjdG9yeS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRvckZhY3RvcnkuaAkocmV2aXNpb24g
ODk3NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0b3JGYWN0b3J5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJTVkdBbmltYXRlZEFuZ2xlLmgi
CiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRDb2xvci5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVu
Z3RoLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmgiCiAjaW5jbHVkZSAiU1ZH
QW5pbWF0ZWROdW1iZXIuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZE51bWJlckxpc3QuaCIKICNp
bmNsdWRlICJTVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmgiCkBAIC01MSw2ICs1Miw4
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgU1ZHQW5pbWF0ZWRD
b2xvckFuaW1hdG9yKGFuaW1hdGlvbkVsZW1lbnQsIGNvbnRleHRFbGVtZW50KSk7CiAgICAgICAg
IGNhc2UgQW5pbWF0ZWRMZW5ndGg6CiAgICAgICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNW
R0FuaW1hdGVkTGVuZ3RoQW5pbWF0b3IoYW5pbWF0aW9uRWxlbWVudCwgY29udGV4dEVsZW1lbnQp
KTsKKyAgICAgICAgY2FzZSBBbmltYXRlZExlbmd0aExpc3Q6CisgICAgICAgICAgICByZXR1cm4g
YWRvcHRQdHIobmV3IFNWR0FuaW1hdGVkTGVuZ3RoTGlzdEFuaW1hdG9yKGFuaW1hdGlvbkVsZW1l
bnQsIGNvbnRleHRFbGVtZW50KSk7CiAgICAgICAgIGNhc2UgQW5pbWF0ZWROdW1iZXI6CiAgICAg
ICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNWR0FuaW1hdGVkTnVtYmVyQW5pbWF0b3IoYW5p
bWF0aW9uRWxlbWVudCwgY29udGV4dEVsZW1lbnQpKTsKICAgICAgICAgY2FzZSBBbmltYXRlZE51
bWJlckxpc3Q6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAkocmV2aXNpb24gODk3NDkp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTMxLDcgKzEzMSwxNiBAQCBTVkdMZW5ndGg6OlNWR0xlbmd0aChTVkdMZW5ndGhNb2RlIG1vZGUs
CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgc2V0VmFsdWVBc1N0cmluZyh2YWx1ZUFz
U3RyaW5nLCBlYyk7CiB9Ci0gICAgCisKK1NWR0xlbmd0aDo6U1ZHTGVuZ3RoKGNvbnN0IFNWR0Vs
ZW1lbnQqIGNvbnRleHQsIGZsb2F0IHZhbHVlLCBTVkdMZW5ndGhNb2RlIG1vZGUsIFNWR0xlbmd0
aFR5cGUgdW5pdFR5cGUpCisgICAgOiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cygwKQorICAgICwg
bV91bml0KHN0b3JlVW5pdChtb2RlLCB1bml0VHlwZSkpCit7CisgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CisgICAgc2V0VmFsdWUodmFsdWUsIGNvbnRleHQsIGVjKTsKKyAgICBBU1NFUlQoIWVj
KTsKK30KKwogdm9pZCBTVkdMZW5ndGg6OnNldFZhbHVlQXNTdHJpbmcoY29uc3QgU3RyaW5nJiB2
YWx1ZUFzU3RyaW5nLCBTVkdMZW5ndGhNb2RlIG1vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewog
ICAgIG1fdmFsdWVJblNwZWNpZmllZFVuaXRzID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdMZW5ndGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3Ro
LmgJKHJldmlzaW9uIDg5NzQ5KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5oCSh3
b3JraW5nIGNvcHkpCkBAIC03MCw2ICs3MCw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgU1ZH
TGVuZ3RoKFNWR0xlbmd0aE1vZGUgbW9kZSA9IExlbmd0aE1vZGVPdGhlciwgY29uc3QgU3RyaW5n
JiB2YWx1ZUFzU3RyaW5nID0gU3RyaW5nKCkpOworICAgIFNWR0xlbmd0aChjb25zdCBTVkdFbGVt
ZW50KiwgZmxvYXQsIFNWR0xlbmd0aE1vZGUgbW9kZSA9IExlbmd0aE1vZGVPdGhlciwgU1ZHTGVu
Z3RoVHlwZSB0eXBlID0gTGVuZ3RoVHlwZU51bWJlcik7CiAgICAgU1ZHTGVuZ3RoKGNvbnN0IFNW
R0xlbmd0aCYpOwogCiAgICAgU1ZHTGVuZ3RoVHlwZSB1bml0VHlwZSgpIGNvbnN0OwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gODk3NzIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSw0MSBAQAorMjAxMS0wNi0yNiAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFNWR0FuaW1hdGVkVHlwZSBzaG91bGQgc3VwcG9ydCBTVkdMZW5ndGhMaXN0IGFuaW1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMzOTkKKyAg
ICAgICAgCisgICAgICAgIFRlc3QgYW5pbWF0aW9ucyBvZiBhdHRyaWJ1dGVzIHdpdGggdHlwZSBT
VkdMZW5ndGhMaXN0LgorCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2
Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTEuanM6IEFkZGVkLgorICAgICAgICAoc2FtcGxlMSk6Cisg
ICAgICAgIChzYW1wbGUyKToKKyAgICAgICAgKHNhbXBsZTMpOgorICAgICAgICAoZXhlY3V0ZVRl
c3QpOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdsZW5ndGhsaXN0
LWFuaW1hdGlvbi0yLmpzOiBBZGRlZC4KKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2Ft
cGxlMik6CisgICAgICAgIChzYW1wbGUzKToKKyAgICAgICAgKGV4ZWN1dGVUZXN0KToKKyAgICAg
ICAgKiBzdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24t
My5qczogQWRkZWQuCisgICAgICAgIChzYW1wbGUxKToKKyAgICAgICAgKHNhbXBsZTIpOgorICAg
ICAgICAoc2FtcGxlMyk6CisgICAgICAgIChleGVjdXRlVGVzdCk6CisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTQuanM6IEFkZGVk
LgorICAgICAgICAoc2FtcGxlMSk6CisgICAgICAgIChzYW1wbGUyKToKKyAgICAgICAgKHNhbXBs
ZTMpOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2
Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvYW5pbWF0aW9ucy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi0xLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zdmdsZW5ndGhsaXN0LWFuaW1h
dGlvbi0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z2xlbmd0aGxp
c3QtYW5pbWF0aW9uLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9ucy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi0zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2
Zy9hbmltYXRpb25zL3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi00Lmh0
bWw6IEFkZGVkLgorCiAyMDExLTA2LTI2ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgRGFybi4gIE5lZWQgQlVHV0cgdG8gbWFrZSB0aGUgZmlsZSBwYXJzZS4KSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTEt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2
Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tMS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKK1NWRyAxLjEgZHluYW1pYyBhbmlt
YXRpb24gdGVzdHMKKworQUJDRAorVGVzdCAndG8nIGFuaW1hdGlvbiBvZiBTVkdMZW5ndGhMaXN0
IHdpdGggTGVuZ3RoVHlwZSBudW1iZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMCkudmFsdWUgaXMgNTAKK1BBU1MgdGV4dC54
LmFuaW1WYWwuZ2V0SXRlbSgxKS52YWx1ZSBpcyA3MAorUEFTUyB0ZXh0LnguYW5pbVZhbC5nZXRJ
dGVtKDIpLnZhbHVlIGlzIDkwCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMykudmFsdWUg
aXMgMTEwCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMCkudmFsdWUgaXMgNTUKK1BBU1Mg
dGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgxKS52YWx1ZSBpcyA4MAorUEFTUyB0ZXh0LnguYW5pbVZh
bC5nZXRJdGVtKDIpLnZhbHVlIGlzIDEwNQorUEFTUyB0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDMp
LnZhbHVlIGlzIDEzMAorUEFTUyB0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDApLnZhbHVlIGlzIDYw
CitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMSkudmFsdWUgaXMgOTAKK1BBU1MgdGV4dC54
LmFuaW1WYWwuZ2V0SXRlbSgyKS52YWx1ZSBpcyAxMjAKK1BBU1MgdGV4dC54LmFuaW1WYWwuZ2V0
SXRlbSgzKS52YWx1ZSBpcyAxNTAKK1BBU1MgdGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgwKS52YWx1
ZSBpcyA1MAorUEFTUyB0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDEpLnZhbHVlIGlzIDcwCitQQVNT
IHRleHQueC5hbmltVmFsLmdldEl0ZW0oMikudmFsdWUgaXMgOTAKK1BBU1MgdGV4dC54LmFuaW1W
YWwuZ2V0SXRlbSgzKS52YWx1ZSBpcyAxMTAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9z
dmdsZW5ndGhsaXN0LWFuaW1hdGlvbi0xLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tMS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24t
MS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZH
VGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdBbmltYXRp
b25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5TVkcgMS4xIGR5
bmFtaWMgYW5pbWF0aW9uIHRlc3RzPC9oMT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N2Z2xlbmd0
aGxpc3QtYW5pbWF0aW9uLTEuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tMi1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVu
Z3RobGlzdC1hbmltYXRpb24tMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi0yLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAorU1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlv
biB0ZXN0cworCitBQkNECitUZXN0ICd0bycgYW5pbWF0aW9uIG9mIFNWR0xlbmd0aExpc3Qgd2l0
aCBkaWZmZXJlbnQgTGVuZ3RoVHlwZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMCkudmFsdWUgaXMgNTAKK1BBU1MgdGV4dC54
LmFuaW1WYWwuZ2V0SXRlbSgxKS52YWx1ZSBpcyA3MAorUEFTUyB0ZXh0LnguYW5pbVZhbC5nZXRJ
dGVtKDIpLnZhbHVlIGlzIDkwCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMykudmFsdWUg
aXMgMTEwCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMCkudmFsdWUgaXMgODEuNworUEFT
UyB0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDEpLnZhbHVlIGlzIDc1CitQQVNTIHRleHQueC5hbmlt
VmFsLmdldEl0ZW0oMikudmFsdWUgaXMgMTQ0LjQ5CitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0
ZW0oMykudmFsdWUgaXMgMTk3LjMzCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMCkudmFs
dWUgaXMgMTEzLjM5CitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMSkudmFsdWUgaXMgODAK
K1BBU1MgdGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgyKS52YWx1ZSBpcyAxMDAKK1BBU1MgdGV4dC54
LmFuaW1WYWwuZ2V0SXRlbSgzKS52YWx1ZSBpcyAzODMuOTkKK1BBU1MgdGV4dC54LmFuaW1WYWwu
Z2V0SXRlbSgwKS52YWx1ZSBpcyA1MAorUEFTUyB0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDEpLnZh
bHVlIGlzIDcwCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMikudmFsdWUgaXMgOTAKK1BB
U1MgdGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgzKS52YWx1ZSBpcyAxMTAKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9z
dmcvYW5pbWF0aW9ucy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi0yLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tMi5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3Ro
bGlzdC1hbmltYXRpb24tMi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMtdXBkYXRl
cy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxoMT5TVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzPC9oMT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTIuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RobGlzdC1h
bmltYXRpb24tMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tMy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlv
bi0zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNiBAQAorU1ZHIDEuMSBk
eW5hbWljIGFuaW1hdGlvbiB0ZXN0cworCitBQkNECitUZXN0ICd0bycgYW5pbWF0aW9uIG9mIFNW
R0xlbmd0aExpc3Qgd2l0aCBkaWZmZXJlbnQgY291bnQgb2YgaXRlbXMuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRleHQueC5hbmltVmFsLm51bWJlck9mSXRlbXMgaXMg
MQorUEFTUyB0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDApLnZhbHVlIGlzIDUwCitQQVNTIHRleHQu
eC5hbmltVmFsLm51bWJlck9mSXRlbXMgaXMgNAorUEFTUyB0ZXh0LnguYW5pbVZhbC5nZXRJdGVt
KDApLnZhbHVlIGlzIDcwCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMSkudmFsdWUgaXMg
ODAKK1BBU1MgdGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgyKS52YWx1ZSBpcyA5MAorUEFTUyB0ZXh0
LnguYW5pbVZhbC5nZXRJdGVtKDMpLnZhbHVlIGlzIDExMAorUEFTUyB0ZXh0LnguYW5pbVZhbC5u
dW1iZXJPZkl0ZW1zIGlzIDQKK1BBU1MgdGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgwKS52YWx1ZSBp
cyA3MAorUEFTUyB0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDEpLnZhbHVlIGlzIDgwCitQQVNTIHRl
eHQueC5hbmltVmFsLmdldEl0ZW0oMikudmFsdWUgaXMgOTAKK1BBU1MgdGV4dC54LmFuaW1WYWwu
Z2V0SXRlbSgzKS52YWx1ZSBpcyAxMTAKK1BBU1MgdGV4dC54LmFuaW1WYWwubnVtYmVyT2ZJdGVt
cyBpcyAxCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMCkudmFsdWUgaXMgNTAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi0zLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RobGlzdC1hbmlt
YXRpb24tMy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
c3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tMy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFt
aWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxoMT5TVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzPC9oMT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTMuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVu
Z3RobGlzdC1hbmltYXRpb24tNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tNC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdsZW5ndGhsaXN0
LWFuaW1hdGlvbi00LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOSBAQAor
U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0cworCitBQkNECitUZXN0ICdieScgYW5pbWF0
aW9uIG9mIFNWR0xlbmd0aExpc3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMCkudmFsdWUgaXMgNTAKK1BBU1MgdGV4dC54LmFu
aW1WYWwuZ2V0SXRlbSgxKS52YWx1ZSBpcyA2MAorUEFTUyB0ZXh0LnguYW5pbVZhbC5nZXRJdGVt
KDIpLnZhbHVlIGlzIDcwCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMykudmFsdWUgaXMg
ODAKK1BBU1MgdGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgwKS52YWx1ZSBpcyA2MAorUEFTUyB0ZXh0
LnguYW5pbVZhbC5nZXRJdGVtKDEpLnZhbHVlIGlzIDcwCitQQVNTIHRleHQueC5hbmltVmFsLmdl
dEl0ZW0oMikudmFsdWUgaXMgODAKK1BBU1MgdGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgzKS52YWx1
ZSBpcyA5MAorUEFTUyB0ZXh0LnguYW5pbVZhbC5udW1iZXJPZkl0ZW1zIGlzIDQKK1BBU1MgdGV4
dC54LmFuaW1WYWwuZ2V0SXRlbSgwKS52YWx1ZSBpcyA3MAorUEFTUyB0ZXh0LnguYW5pbVZhbC5n
ZXRJdGVtKDEpLnZhbHVlIGlzIDgwCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0oMikudmFs
dWUgaXMgOTAKK1BBU1MgdGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgzKS52YWx1ZSBpcyAxMDAKK1BB
U1MgdGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgwKS52YWx1ZSBpcyA1MAorUEFTUyB0ZXh0LnguYW5p
bVZhbC5nZXRJdGVtKDEpLnZhbHVlIGlzIDYwCitQQVNTIHRleHQueC5hbmltVmFsLmdldEl0ZW0o
MikudmFsdWUgaXMgNzAKK1BBU1MgdGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgzKS52YWx1ZSBpcyA4
MAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdsZW5ndGhs
aXN0LWFuaW1hdGlvbi00Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi00Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR0FuaW1hdGlvblRlc3RDYXNlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHM8L2gx
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tNC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9u
cy9zY3JpcHQtdGVzdHMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tMS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnbGVuZ3RobGlzdC1h
bmltYXRpb24tMS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L3NjcmlwdC10ZXN0cy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi0xLmpzCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDU4IEBACitkZXNjcmlwdGlvbigiVGVzdCAndG8nIGFuaW1hdGlvbiBvZiBTVkdM
ZW5ndGhMaXN0IHdpdGggTGVuZ3RoVHlwZSBudW1iZXIuIik7CitjcmVhdGVTVkdUZXN0Q2FzZSgp
OworCisvLyBTZXR1cCB0ZXN0IGRvY3VtZW50Cit2YXIgdGV4dCA9IGNyZWF0ZVNWR0VsZW1lbnQo
InRleHQiKTsKK3RleHQuc2V0QXR0cmlidXRlKCJpZCIsICJ0ZXh0Iik7Cit0ZXh0LnRleHRDb250
ZW50ID0gIkFCQ0QiOwordGV4dC5zZXRBdHRyaWJ1dGUoIngiLCAiNTAgNzAgOTAgMTEwIik7Cit0
ZXh0LnNldEF0dHJpYnV0ZSgieSIsICI1MCIpOwordGV4dC5zZXRBdHRyaWJ1dGUoIm9uY2xpY2si
LCAiZXhlY3V0ZVRlc3QoKSIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQodGV4dCk7CisK
K3ZhciBhbmltYXRlID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5pbWF0ZSIpOworYW5pbWF0ZS5zZXRB
dHRyaWJ1dGUoImlkIiwgImFuaW1hdGlvbiIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImF0dHJp
YnV0ZU5hbWUiLCAieCIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImJlZ2luIiwgImNsaWNrIik7
CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZHVyIiwgIjRzIik7CithbmltYXRlLnNldEF0dHJpYnV0
ZSgiZnJvbSIsICI1MCA3MCA5MCAxMTAiKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJ0byIsICI2
MCA5MCAxMjAgMTUwIik7Cit0ZXh0LmFwcGVuZENoaWxkKGFuaW1hdGUpOworCisvLyBTZXR1cCBh
bmltYXRpb24gdGVzdAorZnVuY3Rpb24gc2FtcGxlMSgpIHsKKwlzaG91bGRCZSgidGV4dC54LmFu
aW1WYWwuZ2V0SXRlbSgwKS52YWx1ZSIsICI1MCIpOworCXNob3VsZEJlKCJ0ZXh0LnguYW5pbVZh
bC5nZXRJdGVtKDEpLnZhbHVlIiwgIjcwIik7CisJc2hvdWxkQmUoInRleHQueC5hbmltVmFsLmdl
dEl0ZW0oMikudmFsdWUiLCAiOTAiKTsKKwlzaG91bGRCZSgidGV4dC54LmFuaW1WYWwuZ2V0SXRl
bSgzKS52YWx1ZSIsICIxMTAiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlMigpIHsKKwlzaG91bGRC
ZSgidGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgwKS52YWx1ZSIsICI1NSIpOworCXNob3VsZEJlKCJ0
ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDEpLnZhbHVlIiwgIjgwIik7CisJc2hvdWxkQmUoInRleHQu
eC5hbmltVmFsLmdldEl0ZW0oMikudmFsdWUiLCAiMTA1Iik7CisJc2hvdWxkQmUoInRleHQueC5h
bmltVmFsLmdldEl0ZW0oMykudmFsdWUiLCAiMTMwIik7Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTMo
KSB7CisJc2hvdWxkQmVDbG9zZUVub3VnaCgidGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgwKS52YWx1
ZSIsICI2MCIsIDAuMDEpOworCXNob3VsZEJlQ2xvc2VFbm91Z2goInRleHQueC5hbmltVmFsLmdl
dEl0ZW0oMSkudmFsdWUiLCAiOTAiLCAwLjAxKTsKKwlzaG91bGRCZUNsb3NlRW5vdWdoKCJ0ZXh0
LnguYW5pbVZhbC5nZXRJdGVtKDIpLnZhbHVlIiwgIjEyMCIsIDAuMDEpOworCXNob3VsZEJlQ2xv
c2VFbm91Z2goInRleHQueC5hbmltVmFsLmdldEl0ZW0oMykudmFsdWUiLCAiMTUwIiwgMC4wMSk7
Cit9CisKK2Z1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgeworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVz
ID0gWworICAgICAgICAvLyBbYW5pbWF0aW9uSWQsIHRpbWUsIGVsZW1lbnRJZCwgc2FtcGxlQ2Fs
bGJhY2tdCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMC4wLCAgICAidGV4dCIsIHNhbXBsZTFdLAor
ICAgICAgICBbImFuaW1hdGlvbiIsIDIuMCwgICAgInRleHQiLCBzYW1wbGUyXSwKKyAgICAgICAg
WyJhbmltYXRpb24iLCAzLjk5OTksICJ0ZXh0Iiwgc2FtcGxlM10sCisgICAgICAgIFsiYW5pbWF0
aW9uIiwgNC4wICwgICAidGV4dCIsIHNhbXBsZTFdCisgICAgXTsKKworICAgIHJ1bkFuaW1hdGlv
blRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworfQorCisvLyBCZWdpbiB0ZXN0IGFzeW5jCit3aW5kb3cu
c2V0VGltZW91dCgidHJpZ2dlclVwZGF0ZSg1MSwgNDkpIiwgMCk7Cit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10
ZXN0cy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi0y
LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRl
c3RzL3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTIuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NTggQEAKK2Rlc2NyaXB0aW9uKCJUZXN0ICd0bycgYW5pbWF0aW9uIG9mIFNWR0xlbmd0aExpc3Qg
d2l0aCBkaWZmZXJlbnQgTGVuZ3RoVHlwZXMuIik7CitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCisv
LyBTZXR1cCB0ZXN0IGRvY3VtZW50Cit2YXIgdGV4dCA9IGNyZWF0ZVNWR0VsZW1lbnQoInRleHQi
KTsKK3RleHQuc2V0QXR0cmlidXRlKCJpZCIsICJ0ZXh0Iik7Cit0ZXh0LnRleHRDb250ZW50ID0g
IkFCQ0QiOwordGV4dC5zZXRBdHRyaWJ1dGUoIngiLCAiNTAgNzAgOTAgMTEwIik7Cit0ZXh0LnNl
dEF0dHJpYnV0ZSgieSIsICI1MCIpOwordGV4dC5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCAiZXhl
Y3V0ZVRlc3QoKSIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQodGV4dCk7CisKK3ZhciBh
bmltYXRlID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5pbWF0ZSIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1
dGUoImlkIiwgImFuaW1hdGlvbiIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZU5h
bWUiLCAieCIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImJlZ2luIiwgImNsaWNrIik7Cithbmlt
YXRlLnNldEF0dHJpYnV0ZSgiZHVyIiwgIjRzIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZnJv
bSIsICI1MCA3MHB4IDVjbSA4cHQiKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJ0byIsICIzY20g
ODAgMTAwcHggNGluIik7Cit0ZXh0LmFwcGVuZENoaWxkKGFuaW1hdGUpOworCisvLyBTZXR1cCBh
bmltYXRpb24gdGVzdAorZnVuY3Rpb24gc2FtcGxlMSgpIHsKKwlzaG91bGRCZSgidGV4dC54LmFu
aW1WYWwuZ2V0SXRlbSgwKS52YWx1ZSIsICI1MCIpOworCXNob3VsZEJlKCJ0ZXh0LnguYW5pbVZh
bC5nZXRJdGVtKDEpLnZhbHVlIiwgIjcwIik7CisJc2hvdWxkQmUoInRleHQueC5hbmltVmFsLmdl
dEl0ZW0oMikudmFsdWUiLCAiOTAiKTsKKwlzaG91bGRCZSgidGV4dC54LmFuaW1WYWwuZ2V0SXRl
bSgzKS52YWx1ZSIsICIxMTAiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlMigpIHsKKwlzaG91bGRC
ZUNsb3NlRW5vdWdoKCJ0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDApLnZhbHVlIiwgIjgxLjciLCAw
LjAxKTsKKwlzaG91bGRCZUNsb3NlRW5vdWdoKCJ0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDEpLnZh
bHVlIiwgIjc1IiwgMC4wMSk7CisJc2hvdWxkQmVDbG9zZUVub3VnaCgidGV4dC54LmFuaW1WYWwu
Z2V0SXRlbSgyKS52YWx1ZSIsICIxNDQuNDkiLCAwLjAxKTsKKwlzaG91bGRCZUNsb3NlRW5vdWdo
KCJ0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDMpLnZhbHVlIiwgIjE5Ny4zMyIsIDAuMDEpOworfQor
CitmdW5jdGlvbiBzYW1wbGUzKCkgeworCXNob3VsZEJlQ2xvc2VFbm91Z2goInRleHQueC5hbmlt
VmFsLmdldEl0ZW0oMCkudmFsdWUiLCAiMTEzLjM5IiwgMC4wMSk7CisJc2hvdWxkQmVDbG9zZUVu
b3VnaCgidGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgxKS52YWx1ZSIsICI4MCIsIDAuMDEpOworCXNo
b3VsZEJlQ2xvc2VFbm91Z2goInRleHQueC5hbmltVmFsLmdldEl0ZW0oMikudmFsdWUiLCAiMTAw
IiwgMC4wMSk7CisJc2hvdWxkQmVDbG9zZUVub3VnaCgidGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgz
KS52YWx1ZSIsICIzODMuOTkiLCAwLjAxKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7
CisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAgIC8vIFthbmltYXRpb25JZCwg
dGltZSwgZWxlbWVudElkLCBzYW1wbGVDYWxsYmFja10KKyAgICAgICAgWyJhbmltYXRpb24iLCAw
LjAsICAgICJ0ZXh0Iiwgc2FtcGxlMV0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMi4wLCAgICAi
dGV4dCIsIHNhbXBsZTJdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDMuOTk5OSwgInRleHQiLCBz
YW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCA0LjAgLCAgICJ0ZXh0Iiwgc2FtcGxlMV0K
KyAgICBdOworCisgICAgcnVuQW5pbWF0aW9uVGVzdChleHBlY3RlZFZhbHVlcyk7Cit9CisKKy8v
IEJlZ2luIHRlc3QgYXN5bmMKK3dpbmRvdy5zZXRUaW1lb3V0KCJ0cmlnZ2VyVXBkYXRlKDUxLCA0
OSkiLCAwKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTMu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3Rz
L3N2Z2xlbmd0aGxpc3QtYW5pbWF0aW9uLTMuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tMy5q
cwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1OCBAQAorZGVzY3JpcHRpb24oIlRlc3QgJ3RvJyBh
bmltYXRpb24gb2YgU1ZHTGVuZ3RoTGlzdCB3aXRoIGRpZmZlcmVudCBjb3VudCBvZiBpdGVtcy4i
KTsKK2NyZWF0ZVNWR1Rlc3RDYXNlKCk7CisKKy8vIFNldHVwIHRlc3QgZG9jdW1lbnQKK3ZhciB0
ZXh0ID0gY3JlYXRlU1ZHRWxlbWVudCgidGV4dCIpOwordGV4dC5zZXRBdHRyaWJ1dGUoImlkIiwg
InRleHQiKTsKK3RleHQudGV4dENvbnRlbnQgPSAiQUJDRCI7Cit0ZXh0LnNldEF0dHJpYnV0ZSgi
eCIsICI1MCIpOwordGV4dC5zZXRBdHRyaWJ1dGUoInkiLCAiNTAiKTsKK3RleHQuc2V0QXR0cmli
dXRlKCJvbmNsaWNrIiwgImV4ZWN1dGVUZXN0KCkiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENo
aWxkKHRleHQpOworCit2YXIgYW5pbWF0ZSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsK
K2FuaW1hdGUuc2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRpb24iKTsKK2FuaW1hdGUuc2V0QXR0
cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgIngiKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJiZWdp
biIsICJjbGljayIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImR1ciIsICI0cyIpOworYW5pbWF0
ZS5zZXRBdHRyaWJ1dGUoImZyb20iLCAiNTAiKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJ0byIs
ICI3MCA4MCA5MCAxMTAiKTsKK3RleHQuYXBwZW5kQ2hpbGQoYW5pbWF0ZSk7CisKKy8vIFNldHVw
IGFuaW1hdGlvbiB0ZXN0CitmdW5jdGlvbiBzYW1wbGUxKCkgeworCXNob3VsZEJlKCJ0ZXh0Lngu
YW5pbVZhbC5udW1iZXJPZkl0ZW1zIiwgIjEiKTsKKwlzaG91bGRCZSgidGV4dC54LmFuaW1WYWwu
Z2V0SXRlbSgwKS52YWx1ZSIsICI1MCIpOworfQorCitmdW5jdGlvbiBzYW1wbGUyKCkgeworCXNo
b3VsZEJlKCJ0ZXh0LnguYW5pbVZhbC5udW1iZXJPZkl0ZW1zIiwgIjQiKTsKKwlzaG91bGRCZUNs
b3NlRW5vdWdoKCJ0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDApLnZhbHVlIiwgIjcwIiwgMC4wMSk7
CisJc2hvdWxkQmVDbG9zZUVub3VnaCgidGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgxKS52YWx1ZSIs
ICI4MCIsIDAuMDEpOworCXNob3VsZEJlQ2xvc2VFbm91Z2goInRleHQueC5hbmltVmFsLmdldEl0
ZW0oMikudmFsdWUiLCAiOTAiLCAwLjAxKTsKKwlzaG91bGRCZUNsb3NlRW5vdWdoKCJ0ZXh0Lngu
YW5pbVZhbC5nZXRJdGVtKDMpLnZhbHVlIiwgIjExMCIsIDAuMDEpOworfQorCitmdW5jdGlvbiBz
YW1wbGUzKCkgeworCXNob3VsZEJlKCJ0ZXh0LnguYW5pbVZhbC5udW1iZXJPZkl0ZW1zIiwgIjQi
KTsKKwlzaG91bGRCZUNsb3NlRW5vdWdoKCJ0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDApLnZhbHVl
IiwgIjcwIiwgMC4wMSk7CisJc2hvdWxkQmVDbG9zZUVub3VnaCgidGV4dC54LmFuaW1WYWwuZ2V0
SXRlbSgxKS52YWx1ZSIsICI4MCIsIDAuMDEpOworCXNob3VsZEJlQ2xvc2VFbm91Z2goInRleHQu
eC5hbmltVmFsLmdldEl0ZW0oMikudmFsdWUiLCAiOTAiLCAwLjAxKTsKKwlzaG91bGRCZUNsb3Nl
RW5vdWdoKCJ0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDMpLnZhbHVlIiwgIjExMCIsIDAuMDEpOwor
fQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9
IFsKKyAgICAgICAgLy8gW2FuaW1hdGlvbklkLCB0aW1lLCBlbGVtZW50SWQsIHNhbXBsZUNhbGxi
YWNrXQorICAgICAgICBbImFuaW1hdGlvbiIsIDAuMCwgICAgInRleHQiLCBzYW1wbGUxXSwKKyAg
ICAgICAgWyJhbmltYXRpb24iLCAyLjAsICAgICJ0ZXh0Iiwgc2FtcGxlMl0sCisgICAgICAgIFsi
YW5pbWF0aW9uIiwgMy45OTk5LCAidGV4dCIsIHNhbXBsZTNdLAorICAgICAgICBbImFuaW1hdGlv
biIsIDQuMCAsICAgInRleHQiLCBzYW1wbGUxXQorICAgIF07CisKKyAgICBydW5BbmltYXRpb25U
ZXN0KGV4cGVjdGVkVmFsdWVzKTsKK30KKworLy8gQmVnaW4gdGVzdCBhc3luYword2luZG93LnNl
dFRpbWVvdXQoInRyaWdnZXJVcGRhdGUoNTEsIDQ5KSIsIDApOwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVz
dHMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tNC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnbGVuZ3RobGlzdC1hbmltYXRpb24tNC5q
cwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0
cy9zdmdsZW5ndGhsaXN0LWFuaW1hdGlvbi00LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU5
IEBACitkZXNjcmlwdGlvbigiVGVzdCAnYnknIGFuaW1hdGlvbiBvZiBTVkdMZW5ndGhMaXN0LiIp
OworY3JlYXRlU1ZHVGVzdENhc2UoKTsKKworLy8gU2V0dXAgdGVzdCBkb2N1bWVudAordmFyIHRl
eHQgPSBjcmVhdGVTVkdFbGVtZW50KCJ0ZXh0Iik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgiaWQiLCAi
dGV4dCIpOwordGV4dC50ZXh0Q29udGVudCA9ICJBQkNEIjsKK3RleHQuc2V0QXR0cmlidXRlKCJ4
IiwgIjUwIDYwIDcwIDgwIik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgieSIsICI1MCIpOwordGV4dC5z
ZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCAiZXhlY3V0ZVRlc3QoKSIpOworcm9vdFNWR0VsZW1lbnQu
YXBwZW5kQ2hpbGQodGV4dCk7CisKK3ZhciBhbmltYXRlID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5p
bWF0ZSIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImlkIiwgImFuaW1hdGlvbiIpOworYW5pbWF0
ZS5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZU5hbWUiLCAieCIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1
dGUoImJlZ2luIiwgImNsaWNrIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZHVyIiwgIjRzIik7
CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZnJvbSIsICI1MCA2MCA3MCA4MCIpOworYW5pbWF0ZS5z
ZXRBdHRyaWJ1dGUoImJ5IiwgIjIwIDIwIDIwIDIwIik7Cit0ZXh0LmFwcGVuZENoaWxkKGFuaW1h
dGUpOworCisvLyBTZXR1cCBhbmltYXRpb24gdGVzdAorZnVuY3Rpb24gc2FtcGxlMSgpIHsKKwlz
aG91bGRCZSgidGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgwKS52YWx1ZSIsICI1MCIpOworCXNob3Vs
ZEJlKCJ0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDEpLnZhbHVlIiwgIjYwIik7CisJc2hvdWxkQmUo
InRleHQueC5hbmltVmFsLmdldEl0ZW0oMikudmFsdWUiLCAiNzAiKTsKKwlzaG91bGRCZSgidGV4
dC54LmFuaW1WYWwuZ2V0SXRlbSgzKS52YWx1ZSIsICI4MCIpOworfQorCitmdW5jdGlvbiBzYW1w
bGUyKCkgeworCXNob3VsZEJlKCJ0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDApLnZhbHVlIiwgIjYw
Iik7CisJc2hvdWxkQmUoInRleHQueC5hbmltVmFsLmdldEl0ZW0oMSkudmFsdWUiLCAiNzAiKTsK
KwlzaG91bGRCZSgidGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgyKS52YWx1ZSIsICI4MCIpOworCXNo
b3VsZEJlKCJ0ZXh0LnguYW5pbVZhbC5nZXRJdGVtKDMpLnZhbHVlIiwgIjkwIik7Cit9CisKK2Z1
bmN0aW9uIHNhbXBsZTMoKSB7CisJc2hvdWxkQmUoInRleHQueC5hbmltVmFsLm51bWJlck9mSXRl
bXMiLCAiNCIpOworCXNob3VsZEJlQ2xvc2VFbm91Z2goInRleHQueC5hbmltVmFsLmdldEl0ZW0o
MCkudmFsdWUiLCAiNzAiLCAwLjAxKTsKKwlzaG91bGRCZUNsb3NlRW5vdWdoKCJ0ZXh0LnguYW5p
bVZhbC5nZXRJdGVtKDEpLnZhbHVlIiwgIjgwIiwgMC4wMSk7CisJc2hvdWxkQmVDbG9zZUVub3Vn
aCgidGV4dC54LmFuaW1WYWwuZ2V0SXRlbSgyKS52YWx1ZSIsICI5MCIsIDAuMDEpOworCXNob3Vs
ZEJlQ2xvc2VFbm91Z2goInRleHQueC5hbmltVmFsLmdldEl0ZW0oMykudmFsdWUiLCAiMTAwIiwg
MC4wMSk7Cit9CisKK2Z1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgeworICAgIGNvbnN0IGV4cGVjdGVk
VmFsdWVzID0gWworICAgICAgICAvLyBbYW5pbWF0aW9uSWQsIHRpbWUsIGVsZW1lbnRJZCwgc2Ft
cGxlQ2FsbGJhY2tdCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMC4wLCAgICAidGV4dCIsIHNhbXBs
ZTFdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDIuMCwgICAgInRleHQiLCBzYW1wbGUyXSwKKyAg
ICAgICAgWyJhbmltYXRpb24iLCAzLjk5OTksICJ0ZXh0Iiwgc2FtcGxlM10sCisgICAgICAgIFsi
YW5pbWF0aW9uIiwgNC4wICwgICAidGV4dCIsIHNhbXBsZTFdCisgICAgXTsKKworICAgIHJ1bkFu
aW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworfQorCisvLyBCZWdpbiB0ZXN0IGFzeW5jCit3
aW5kb3cuc2V0VGltZW91dCgidHJpZ2dlclVwZGF0ZSg1MSwgNDkpIiwgMCk7Cit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>
<flag name="review"
          id="92897"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>