<?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>32910</bug_id>
          
          <creation_ts>2009-12-23 14:05:28 -0800</creation_ts>
          <short_desc>Reverse JS GenerateConstructor logic</short_desc>
          <delta_ts>2010-01-02 06:59:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>sam</cc>
    
    <cc>staikos</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>174654</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-12-23 14:05:28 -0800</bug_when>
    <thetext>Always generate constructors for objects defined in an idl file, add new &apos;OmitConstructor&apos; flag, allowing to restore the old behaviour.
The plan is to leave the GenerateConstructor statements in for now, and remove them in a follow-up patch, to reduce visual noise for this patch.

The patch I&apos;m uploading soon, will just reverse the logic, resulting in no functional changes. The only exception is the svg/ directory, there are numerous of files which are supposed to generate constructors, which don&apos;t do this at the moment. Don&apos;t add &quot;OmitConstructor&quot; flags for those classes and don&apos;t expose them in DOMWindow so far. A follow-up patch should then expose these new constructors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174662</commentid>
    <comment_count>1</comment_count>
      <attachid>45452</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-12-23 15:07:44 -0800</bug_when>
    <thetext>Created attachment 45452
Initial patch

Patch implementing the changes described in the summary. No layout test regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174664</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-23 15:09:49 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45452 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174670</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-23 15:39:42 -0800</bug_when>
    <thetext>OK.  In order to review this I need a list of classes to which you&apos;re adding constructors by this patch.  I would think that a little grep + sort + diff action could solve that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174673</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-12-23 15:45:05 -0800</bug_when>
    <thetext>Beautiful idea, to keep it as log here :-)
find . -type f -name &quot;*.idl&quot; | xargs grep GenerateConstructor | sed -e s/:.*// &gt; WithGenCtor
find . -type f -name &quot;*.idl&quot; | xargs grep -L OmitConstructor  &gt; WithoutOmitCtor
--- WithGenCtor	2009-12-24 00:43:14.000000000 +0100
+++ WithoutOmitCtor	2009-12-24 00:43:22.000000000 +0100
@@ -130,6 +130,7 @@
 ./html/HTMLOListElement.idl
 ./html/HTMLOptGroupElement.idl
 ./html/HTMLOptionElement.idl
+./html/HTMLOptionsCollection.idl
 ./html/HTMLParagraphElement.idl
 ./html/HTMLParamElement.idl
 ./html/HTMLPreElement.idl
@@ -161,29 +162,153 @@
 ./plugins/PluginArray.idl
 ./storage/Storage.idl
 ./storage/StorageEvent.idl
+./svg/ElementTimeControl.idl
+./svg/SVGAElement.idl
+./svg/SVGAltGlyphElement.idl
 ./svg/SVGAngle.idl
+./svg/SVGAnimateColorElement.idl
+./svg/SVGAnimatedAngle.idl
+./svg/SVGAnimatedBoolean.idl
+./svg/SVGAnimatedEnumeration.idl
+./svg/SVGAnimatedInteger.idl
+./svg/SVGAnimatedLength.idl
+./svg/SVGAnimatedLengthList.idl
+./svg/SVGAnimatedNumber.idl
+./svg/SVGAnimatedNumberList.idl
+./svg/SVGAnimatedPathData.idl
+./svg/SVGAnimatedPoints.idl
+./svg/SVGAnimatedPreserveAspectRatio.idl
+./svg/SVGAnimatedRect.idl
+./svg/SVGAnimatedString.idl
+./svg/SVGAnimatedTransformList.idl
+./svg/SVGAnimateElement.idl
+./svg/SVGAnimateTransformElement.idl
+./svg/SVGAnimationElement.idl
+./svg/SVGCircleElement.idl
+./svg/SVGClipPathElement.idl
 ./svg/SVGColor.idl
 ./svg/SVGComponentTransferFunctionElement.idl
+./svg/SVGCursorElement.idl
+./svg/SVGDefsElement.idl
+./svg/SVGDescElement.idl
+./svg/SVGDocument.idl
+./svg/SVGElement.idl
+./svg/SVGElementInstance.idl
+./svg/SVGElementInstanceList.idl
+./svg/SVGEllipseElement.idl
 ./svg/SVGException.idl
+./svg/SVGExternalResourcesRequired.idl
 ./svg/SVGFEBlendElement.idl
 ./svg/SVGFEColorMatrixElement.idl
+./svg/SVGFEComponentTransferElement.idl
 ./svg/SVGFECompositeElement.idl
+./svg/SVGFEDiffuseLightingElement.idl
 ./svg/SVGFEDisplacementMapElement.idl
+./svg/SVGFEDistantLightElement.idl
 ./svg/SVGFEFloodElement.idl
+./svg/SVGFEFuncAElement.idl
+./svg/SVGFEFuncBElement.idl
+./svg/SVGFEFuncGElement.idl
+./svg/SVGFEFuncRElement.idl
+./svg/SVGFEGaussianBlurElement.idl
+./svg/SVGFEImageElement.idl
+./svg/SVGFEMergeElement.idl
+./svg/SVGFEMergeNodeElement.idl
 ./svg/SVGFEMorphologyElement.idl
+./svg/SVGFEOffsetElement.idl
+./svg/SVGFEPointLightElement.idl
+./svg/SVGFESpecularLightingElement.idl
+./svg/SVGFESpotLightElement.idl
+./svg/SVGFETileElement.idl
 ./svg/SVGFETurbulenceElement.idl
+./svg/SVGFilterElement.idl
+./svg/SVGFilterPrimitiveStandardAttributes.idl
+./svg/SVGFitToViewBox.idl
+./svg/SVGFontElement.idl
+./svg/SVGFontFaceElement.idl
+./svg/SVGFontFaceFormatElement.idl
+./svg/SVGFontFaceNameElement.idl
+./svg/SVGFontFaceSrcElement.idl
+./svg/SVGFontFaceUriElement.idl
+./svg/SVGForeignObjectElement.idl
+./svg/SVGGElement.idl
+./svg/SVGGlyphElement.idl
 ./svg/SVGGradientElement.idl
+./svg/SVGHKernElement.idl
+./svg/SVGImageElement.idl
+./svg/SVGLangSpace.idl
 ./svg/SVGLength.idl
+./svg/SVGLengthList.idl
+./svg/SVGLinearGradientElement.idl
+./svg/SVGLineElement.idl
+./svg/SVGLocatable.idl
 ./svg/SVGMarkerElement.idl
+./svg/SVGMaskElement.idl
+./svg/SVGMatrix.idl
+./svg/SVGMetadataElement.idl
+./svg/SVGMissingGlyphElement.idl
+./svg/SVGNumber.idl
+./svg/SVGNumberList.idl
 ./svg/SVGPaint.idl
+./svg/SVGPathElement.idl
 ./svg/SVGPathSeg.idl
+./svg/SVGPathSegArcAbs.idl
+./svg/SVGPathSegArcRel.idl
+./svg/SVGPathSegClosePath.idl
+./svg/SVGPathSegCurvetoCubicAbs.idl
+./svg/SVGPathSegCurvetoCubicRel.idl
+./svg/SVGPathSegCurvetoCubicSmoothAbs.idl
+./svg/SVGPathSegCurvetoCubicSmoothRel.idl
+./svg/SVGPathSegCurvetoQuadraticAbs.idl
+./svg/SVGPathSegCurvetoQuadraticRel.idl
+./svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl
+./svg/SVGPathSegCurvetoQuadraticSmoothRel.idl
+./svg/SVGPathSegLinetoAbs.idl
+./svg/SVGPathSegLinetoHorizontalAbs.idl
+./svg/SVGPathSegLinetoHorizontalRel.idl
+./svg/SVGPathSegLinetoRel.idl
+./svg/SVGPathSegLinetoVerticalAbs.idl
+./svg/SVGPathSegLinetoVerticalRel.idl
+./svg/SVGPathSegList.idl
+./svg/SVGPathSegMovetoAbs.idl
+./svg/SVGPathSegMovetoRel.idl
+./svg/SVGPatternElement.idl
+./svg/SVGPoint.idl
+./svg/SVGPointList.idl
+./svg/SVGPolygonElement.idl
+./svg/SVGPolylineElement.idl
 ./svg/SVGPreserveAspectRatio.idl
+./svg/SVGRadialGradientElement.idl
+./svg/SVGRect.idl
+./svg/SVGRectElement.idl
 ./svg/SVGRenderingIntent.idl
+./svg/SVGScriptElement.idl
+./svg/SVGSetElement.idl
+./svg/SVGStopElement.idl
+./svg/SVGStringList.idl
+./svg/SVGStylable.idl
+./svg/SVGStyleElement.idl
+./svg/SVGSVGElement.idl
+./svg/SVGSwitchElement.idl
+./svg/SVGSymbolElement.idl
+./svg/SVGTests.idl
 ./svg/SVGTextContentElement.idl
+./svg/SVGTextElement.idl
 ./svg/SVGTextPathElement.idl
+./svg/SVGTextPositioningElement.idl
+./svg/SVGTitleElement.idl
 ./svg/SVGTransform.idl
+./svg/SVGTransformable.idl
+./svg/SVGTransformList.idl
+./svg/SVGTRefElement.idl
+./svg/SVGTSpanElement.idl
 ./svg/SVGUnitTypes.idl
+./svg/SVGURIReference.idl
+./svg/SVGUseElement.idl
+./svg/SVGViewElement.idl
+./svg/SVGViewSpec.idl
 ./svg/SVGZoomAndPan.idl
+./svg/SVGZoomEvent.idl
 ./workers/AbstractWorker.idl
 ./workers/WorkerLocation.idl
 ./xml/DOMParser.idl
@@ -195,12 +320,3 @@
 ./xml/XPathException.idl
 ./xml/XPathExpression.idl
 ./xml/XPathResult.idl
-./xml/DOMParser.idl
-./xml/XMLHttpRequestException.idl
-./xml/XMLHttpRequestProgressEvent.idl
-./xml/XMLHttpRequestUpload.idl
-./xml/XMLSerializer.idl
-./xml/XPathEvaluator.idl
-./xml/XPathException.idl
-./xml/XPathExpression.idl
-./xml/XPathResult.idl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174680</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-23 16:22:32 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Beautiful idea, to keep it as log here :-)
We could probably do so as attachments instead, given the size. :)

These all seem abstract, should they really have constructors?
&gt; +./svg/ElementTimeControl.idl
&gt; +./svg/SVGAnimationElement.idl
&gt; +./svg/SVGExternalResourcesRequired.idl
&gt; +./svg/SVGFitToViewBox.idl
&gt; +./svg/SVGLangSpace.idl
&gt; +./svg/SVGLocatable.idl
&gt; +./svg/SVGStylable.idl
&gt; +./svg/SVGTests.idl
&gt; +./svg/SVGTransformable.idl
&gt; +./svg/SVGURIReference.idl

I&apos;m also confused by these.  Can you explain?
&gt; -./xml/DOMParser.idl
&gt; -./xml/XMLHttpRequestException.idl
&gt; -./xml/XMLHttpRequestProgressEvent.idl
&gt; -./xml/XMLHttpRequestUpload.idl
&gt; -./xml/XMLSerializer.idl
&gt; -./xml/XPathEvaluator.idl
&gt; -./xml/XPathException.idl
&gt; -./xml/XPathExpression.idl
&gt; -./xml/XPathResult.idl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174682</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-12-23 16:28:38 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Beautiful idea, to keep it as log here :-)
&gt; We could probably do so as attachments instead, given the size. :)
&gt; 
&gt; These all seem abstract, should they really have constructors?
&gt; &gt; +./svg/ElementTimeControl.idl
&gt; &gt; +./svg/SVGAnimationElement.idl
&gt; &gt; +./svg/SVGExternalResourcesRequired.idl
&gt; &gt; +./svg/SVGFitToViewBox.idl
&gt; &gt; +./svg/SVGLangSpace.idl
&gt; &gt; +./svg/SVGLocatable.idl
&gt; &gt; +./svg/SVGStylable.idl
&gt; &gt; +./svg/SVGTests.idl
&gt; &gt; +./svg/SVGTransformable.idl
&gt; &gt; +./svg/SVGURIReference.idl

Ok, I would have changed that in a follow-up patch, after the one removing the remaining GenerateConstructor flags, but it&apos;s probably better to land the right changes from the beginning. Will fix.

&gt; 
&gt; I&apos;m also confused by these.  Can you explain?
&gt; &gt; -./xml/DOMParser.idl
&gt; &gt; -./xml/XMLHttpRequestException.idl
&gt; &gt; -./xml/XMLHttpRequestProgressEvent.idl
&gt; &gt; -./xml/XMLHttpRequestUpload.idl
&gt; &gt; -./xml/XMLSerializer.idl
&gt; &gt; -./xml/XPathEvaluator.idl
&gt; &gt; -./xml/XPathException.idl
&gt; &gt; -./xml/XPathExpression.idl
&gt; &gt; -./xml/XPathResult.idl

These files did not contain GenerateConstructor, and contain OmitConstructor now, so they show up as minus lines when asking for a diff between &quot;files with GenerateConstructor set&quot; and &quot;files without OmitConstructor set&quot;. I think it&apos;s just fine?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174685</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-12-23 16:45:09 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; Beautiful idea, to keep it as log here :-)
&gt; &gt; We could probably do so as attachments instead, given the size. :)
&gt; &gt; 
&gt; &gt; These all seem abstract, should they really have constructors?
&gt; &gt; &gt; +./svg/ElementTimeControl.idl
&gt; &gt; &gt; +./svg/SVGAnimationElement.idl
&gt; &gt; &gt; +./svg/SVGExternalResourcesRequired.idl
&gt; &gt; &gt; +./svg/SVGFitToViewBox.idl
&gt; &gt; &gt; +./svg/SVGLangSpace.idl
&gt; &gt; &gt; +./svg/SVGLocatable.idl
&gt; &gt; &gt; +./svg/SVGStylable.idl
&gt; &gt; &gt; +./svg/SVGTests.idl
&gt; &gt; &gt; +./svg/SVGTransformable.idl
&gt; &gt; &gt; +./svg/SVGURIReference.idl
&gt; 
&gt; Ok, I would have changed that in a follow-up patch, after the one removing the
&gt; remaining GenerateConstructor flags, but it&apos;s probably better to land the right
&gt; changes from the beginning. Will fix.
&gt; 
&gt; &gt; 
&gt; &gt; I&apos;m also confused by these.  Can you explain?
&gt; &gt; &gt; -./xml/DOMParser.idl
&gt; &gt; &gt; -./xml/XMLHttpRequestException.idl
&gt; &gt; &gt; -./xml/XMLHttpRequestProgressEvent.idl
&gt; &gt; &gt; -./xml/XMLHttpRequestUpload.idl
&gt; &gt; &gt; -./xml/XMLSerializer.idl
&gt; &gt; &gt; -./xml/XPathEvaluator.idl
&gt; &gt; &gt; -./xml/XPathException.idl
&gt; &gt; &gt; -./xml/XPathExpression.idl
&gt; &gt; &gt; -./xml/XPathResult.idl
&gt; 
&gt; These files did not contain GenerateConstructor, and contain OmitConstructor
&gt; now, so they show up as minus lines when asking for a diff between &quot;files with
&gt; GenerateConstructor set&quot; and &quot;files without OmitConstructor set&quot;. I think it&apos;s
&gt; just fine?

Oops, it was a bug in the generator script of these changes, sorry for the confusion, Please ignore the - lines, they are junk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174686</commentid>
    <comment_count>8</comment_count>
      <attachid>45454</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-12-23 16:46:02 -0800</bug_when>
    <thetext>Created attachment 45454
List of changed constructors

New list of constructor changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174687</commentid>
    <comment_count>9</comment_count>
      <attachid>45455</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-12-23 16:46:28 -0800</bug_when>
    <thetext>Created attachment 45455
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174688</commentid>
    <comment_count>10</comment_count>
      <attachid>45455</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-23 16:51:10 -0800</bug_when>
    <thetext>Comment on attachment 45455
Updated patch

Looks OK.  Thanks for taking this on!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174689</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-23 16:51:15 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45455 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174705</commentid>
    <comment_count>12</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-12-23 17:37:34 -0800</bug_when>
    <thetext>Landed in r52534.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176064</commentid>
    <comment_count>13</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-30 15:12:03 -0800</bug_when>
    <thetext>In some of these cases, OmitConstructor isn&apos;t quite true: there is a constructor, but it&apos;s not simple (like WebKitCSSMatrix or WebGLArrayBuffer).

What do you think about using WebIDL&apos;s notion of the Constructor attribute (http://www.w3.org/TR/WebIDL/#Constructor) here? I know it&apos;s a reverse of what you&apos;ve done so far, but it seems more accurate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176313</commentid>
    <comment_count>14</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-01-02 06:59:02 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; In some of these cases, OmitConstructor isn&apos;t quite true: there is a
&gt; constructor, but it&apos;s not simple (like WebKitCSSMatrix or WebGLArrayBuffer).
We could introduce a special marker &quot;UseCustomConstructor&quot; to make it more clear for those classes. But I don&apos;t think we should add another marker, just for those two cases.

&gt; 
&gt; What do you think about using WebIDL&apos;s notion of the Constructor attribute
&gt; (http://www.w3.org/TR/WebIDL/#Constructor) here? I know it&apos;s a reverse of what
&gt; you&apos;ve done so far, but it seems more accurate.

We agreed before to always add constructors, except for cases where you don&apos;t want a constructor (OmitConstructor) or wheter you&apos;re using a custom constructor.

I followed Sam Weinig proposal here, if anyone wants to change it. No problem with me, just needs discussion :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45452</attachid>
            <date>2009-12-23 15:07:44 -0800</date>
            <delta_ts>2009-12-23 16:46:02 -0800</delta_ts>
            <desc>Initial patch</desc>
            <filename>ReverseJSCtorLogic.diff</filename>
            <type>text/plain</type>
            <size>39905</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MjUzMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODMgQEAKKzIwMDktMTItMjMgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmV2ZXJzZSBKUyBHZW5lcmF0ZUNvbnN0cnVjdG9yIGxvZ2ljCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjkxMAorCisgICAgICAgIE1ha2Ug
J0dlbmVyYXRlQ29uc3RydWN0b3InIHRoZSBkZWZhdWx0IHNldHRpbmcgZm9yIGFsbCBjbGFzc2Vz
LCBkZWZpbmVkIGluIElETCBmaWxlcy4gVGhlIGZsYWcgaXMgbm93IG9ic29sZXRlIGFuZAorICAg
ICAgICBjYW4gYmUgcmVtb3ZlZCBmcm9tIGFsbCBJREwgZmlsZXMgaW4gYSBmb2xsb3ctdXAgcGF0
Y2guIEFkZCBuZXcgJ09taXRDb25zdHJ1Y3RvcicgZmxhZywgdGhhdCBhbGxvd3MgdG8gcmVzdG9y
ZSB0aGUKKyAgICAgICAgb2xkIGRlZmF1bHQgYmVoYXZpb3VyOiBkbyBub3QgZ2VuZXJhdGUgSlNG
b29iYXJDb25zdHJ1Y3RvciBjbGFzcy4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25h
bGl0eSwgZGVzcGl0ZSB0aGUgZmFjdCB0aGF0IHdlJ3JlIGdlbmVyYXRpbmcgYSBsb3QgbW9yZSBj
b25zdHJ1Y3RvcnMgbm93LCBhcyB0aGV5IGhhdmUgdG8KKyAgICAgICAgYmUgZXhwb3NlZCB0aHJv
dWdoIERPTVdpbmRvdy5pZGwgLS0gdGhpcyBjYW4gYmUgZG9uZSBwZXIgYWZmZWN0ZWQgY2xhc3Mg
aW4gZm9sbG93LXVwIHBhdGNoZXMuIEVzcGVjaWFsbHkgdGhlIFNWRworICAgICAgICBjbGFzc2Vz
IGhhdmUgdG8gYmUgZXhwb3NlZCwgbW9zdCBvZiB0aGVtIGFyZSBtaXNzaW5nIEpTIGNvbnN0cnVj
dG9ycyBzbyBmYXIuCisKKyAgICAgICAgQXMgc2lkZSBlZmZlY3QgSFRNTE9wdGlvbnNDb2xsZWN0
aW9uIGlzIG5vdyBjb3JyZWN0bHkgZXhwb3NpbmcgaXRzIGNvbnN0cnVjdG9yLCB0aHVzIGZpeGlu
ZyBhIHRlc3QgaW4gZmFzdC9kb20vd3JhcHBlci1jbGFzc2VzLmh0bWwKKworICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIGNzcy9DU1NVbmtu
b3duUnVsZS5pZGw6CisgICAgICAgICogY3NzL1dlYktpdENTU01hdHJpeC5pZGw6CisgICAgICAg
ICogZG9tL0V2ZW50TGlzdGVuZXIuaWRsOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5pZGw6
CisgICAgICAgICogZG9tL01lc3NhZ2VDaGFubmVsLmlkbDoKKyAgICAgICAgKiBodG1sL1RpbWVS
YW5nZXMuaWRsOgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5pZGw6CisgICAgICAgICog
aHRtbC9Wb2lkQ2FsbGJhY2suaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc0dyYWRp
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbDoKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9DYW52YXNQaXhlbEFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQXJy
YXkuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQXJyYXlCdWZmZXIuaWRsOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTEJ5dGVBcnJheS5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xGbG9hdEFy
cmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmlkbDoKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEludEFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHTFByb2dyYW0uaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVy
YnVmZmVyLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFNoYWRlci5pZGw6CisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xTaG9ydEFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHTFRleHR1cmUuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMVW5pZm9y
bUxvY2F0aW9uLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFVuc2lnbmVkQnl0ZUFy
cmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFVuc2lnbmVkSW50QXJyYXkuaWRs
OgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMVW5zaWduZWRTaG9ydEFycmF5LmlkbDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGw6CisgICAgICAgICogbG9h
ZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRsOgorICAgICAgICAqIG5vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5pZGw6CisgICAgICAgICogcGFnZS9BYnN0cmFjdFZpZXcuaWRsOgorICAgICAg
ICAqIHBhZ2UvQmFySW5mby5pZGw6CisgICAgICAgICogcGFnZS9Db25zb2xlLmlkbDoKKyAgICAg
ICAgKiBwYWdlL0Nvb3JkaW5hdGVzLmlkbDoKKyAgICAgICAgKiBwYWdlL0RPTVNlbGVjdGlvbi5p
ZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBhZ2UvRXZlbnRT
b3VyY2UuaWRsOgorICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb24uaWRsOgorICAgICAgICAqIHBh
Z2UvR2VvcG9zaXRpb24uaWRsOgorICAgICAgICAqIHBhZ2UvSGlzdG9yeS5pZGw6CisgICAgICAg
ICogcGFnZS9Mb2NhdGlvbi5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaWRsOgorICAg
ICAgICAqIHBhZ2UvU2NyZWVuLmlkbDoKKyAgICAgICAgKiBwYWdlL1dlYktpdFBvaW50LmlkbDoK
KyAgICAgICAgKiBwYWdlL1dvcmtlck5hdmlnYXRvci5pZGw6CisgICAgICAgICogc3RvcmFnZS9E
YXRhYmFzZS5pZGw6CisgICAgICAgICogc3RvcmFnZS9TUUxFcnJvci5pZGw6CisgICAgICAgICog
c3RvcmFnZS9TUUxSZXN1bHRTZXQuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMUmVzdWx0U2V0
Um93TGlzdC5pZGw6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5pZGw6CisgICAg
ICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNh
dGVkV29ya2VyQ29udGV4dC5pZGw6CisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRs
OgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5pZGw6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5pZGw6
CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiB4bWwvWFBhdGhO
U1Jlc29sdmVyLmlkbDoKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3Nvci5pZGw6CisKIDIwMDkt
MTItMjMgIER1bWl0cnUgRGFuaWxpdWMgIDxkdW1pQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtNTc2LDcgKzU3
Niw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICRpbXBsSW5jbHVkZXN7IiR7Y2xhc3NOYW1l
fUN1c3RvbS5oIn0gPSAxIGlmICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3Rv
bUhlYWRlciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbVB1dEZ1
bmN0aW9uIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRGVsZWdhdGluZ1B1
dEZ1bmN0aW9uIn07CiAKICAgICBteSAkaGFzR2V0dGVyID0gJG51bUF0dHJpYnV0ZXMgPiAwIAot
ICAgICAgICAgICAgICAgICB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJHZW5l
cmF0ZUNvbnN0cnVjdG9yIn0gCisgICAgICAgICAgICAgICAgIHx8ICEkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJPbWl0Q29uc3RydWN0b3IifQogICAgICAgICAgICAgICAgICB8fCAk
ZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNJbmRleEdldHRlciJ9CiAgICAgICAg
ICAgICAgICAgIHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0N1c3RvbUlu
ZGV4R2V0dGVyIn0KICAgICAgICAgICAgICAgICAgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiSGFzTnVtZXJpY0luZGV4R2V0dGVyIn0KQEAgLTY3OSw3ICs2NzksNyBAQCBzdWIg
R2VuZXJhdGVIZWFkZXIKICAgICB9CiAKICAgICAjIENvbnN0cnVjdG9yIG9iamVjdCBnZXR0ZXIK
LSAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgZ2V0Q29u
c3RydWN0b3IoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7XG4iKSBpZiAk
ZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJHZW5lcmF0ZUNvbnN0cnVjdG9yIn07Cisg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgSlNDOjpKU1ZhbHVlIGdldENvbnN0
cnVjdG9yKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCopO1xuIikgaWYgISRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9taXRDb25zdHJ1Y3RvciJ9OwogCiAgICAg
bXkgJG51bUN1c3RvbUZ1bmN0aW9ucyA9IDA7CiAgICAgbXkgJG51bUN1c3RvbUF0dHJpYnV0ZXMg
PSAwOwpAQCAtODYyLDcgKzg2Miw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICB9CiAg
ICAgfQogCi0gICAgaWYgKCRudW1BdHRyaWJ1dGVzID4gMCB8fCAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJHZW5lcmF0ZUNvbnN0cnVjdG9yIn0pIHsKKyAgICBpZiAoJG51bUF0dHJp
YnV0ZXMgPiAwIHx8ICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJPbWl0Q29uc3Ry
dWN0b3IifSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCIvLyBBdHRyaWJ1dGVzXG5c
biIpOwogICAgICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1dGUgKEB7JGRhdGFOb2RlLT5hdHRyaWJ1
dGVzfSkgewogICAgICAgICAgICAgbXkgJGdldHRlciA9ICJqcyIgLiAkaW50ZXJmYWNlTmFtZSAu
ICRjb2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZSkg
LiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlID1+IC9Db25zdHJ1Y3RvciQvID8gIkNvbnN0
cnVjdG9yIiA6ICIiKTsKQEAgLTg3Myw3ICs4NzMsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgaWYgKCRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlQ29uc3RydWN0b3IifSkgeworICAgICAgICBp
ZiAoISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9taXRDb25zdHJ1Y3RvciJ9KSB7
CiAgICAgICAgICAgICBteSAkZ2V0dGVyID0gImpzIiAuICRpbnRlcmZhY2VOYW1lIC4gIkNvbnN0
cnVjdG9yIjsKICAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJKU0M6OkpTVmFsdWUg
JHtnZXR0ZXJ9KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiwgY29uc3Qg
SlNDOjpQcm9wZXJ0eVNsb3QmKTtcbiIpOwogICAgICAgICB9CkBAIC05NDIsNyArOTQyLDcgQEAg
c3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIAogICAgICMgLSBBZGQgYWxsIGF0dHJpYnV0ZXMg
aW4gYSBoYXNodGFibGUgZGVmaW5pdGlvbgogICAgIG15ICRudW1BdHRyaWJ1dGVzID0gQHskZGF0
YU5vZGUtPmF0dHJpYnV0ZXN9OwotICAgICRudW1BdHRyaWJ1dGVzKysgaWYgJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9OworICAgICRudW1BdHRy
aWJ1dGVzKysgaWYgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9taXRDb25zdHJ1
Y3RvciJ9OwogCiAgICAgaWYgKCRudW1BdHRyaWJ1dGVzID4gMCkgewogICAgICAgICBteSAkaGFz
aFNpemUgPSAkbnVtQXR0cmlidXRlczsKQEAgLTk4Myw3ICs5ODMsNyBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlQ29uc3RydWN0b3IifSkgewor
ICAgICAgICBpZiAoISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9taXRDb25zdHJ1
Y3RvciJ9KSB7CiAgICAgICAgICAgICBwdXNoKEBoYXNoS2V5cywgImNvbnN0cnVjdG9yIik7CiAg
ICAgICAgICAgICBteSAkZ2V0dGVyID0gImpzIiAuICRpbnRlcmZhY2VOYW1lIC4gIkNvbnN0cnVj
dG9yIjsKICAgICAgICAgICAgIHB1c2goQGhhc2hWYWx1ZTEsICRnZXR0ZXIpOwpAQCAtMTAwMSw3
ICsxMDAxLDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBteSAkbnVtRnVuY3Rp
b25zID0gQHskZGF0YU5vZGUtPmZ1bmN0aW9uc307CiAKICAgICAjIC0gQWRkIGFsbCBjb25zdGFu
dHMKLSAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVDb25z
dHJ1Y3RvciJ9KSB7CisgICAgaWYgKCEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJP
bWl0Q29uc3RydWN0b3IifSkgewogICAgICAgICAkaGFzaFNpemUgPSAkbnVtQ29uc3RhbnRzOwog
ICAgICAgICAkaGFzaE5hbWUgPSAkY2xhc3NOYW1lIC4gIkNvbnN0cnVjdG9yVGFibGUiOwogCkBA
IC0xMjM5LDcgKzEyMzksNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIH0KIAog
ICAgIG15ICRoYXNHZXR0ZXIgPSAkbnVtQXR0cmlidXRlcyA+IDAgCi0gICAgICAgICAgICAgICAg
IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlQ29uc3RydWN0b3Ii
fSAKKyAgICAgICAgICAgICAgICAgfHwgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
Ik9taXRDb25zdHJ1Y3RvciJ9IAogICAgICAgICAgICAgICAgICB8fCAkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJIYXNJbmRleEdldHRlciJ9CiAgICAgICAgICAgICAgICAgIHx8ICRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0N1c3RvbUluZGV4R2V0dGVyIn0KICAg
ICAgICAgICAgICAgICAgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzTnVt
ZXJpY0luZGV4R2V0dGVyIn0KQEAgLTEzOTAsNyArMTM5MCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxl
bWVudGF0aW9uCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIpOwogICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9KSB7CisgICAgICAgICAgICBpZiAoISRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9taXRDb25zdHJ1Y3RvciJ9KSB7CiAgICAgICAgICAg
ICAgICAgbXkgJGNvbnN0cnVjdG9yRnVuY3Rpb25OYW1lID0gImpzIiAuICRpbnRlcmZhY2VOYW1l
IC4gIkNvbnN0cnVjdG9yIjsKIAogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
SlNWYWx1ZSAke2NvbnN0cnVjdG9yRnVuY3Rpb25OYW1lfShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IElkZW50aWZpZXImLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QpXG4iKTsKQEAgLTE1NDgsNyAr
MTU0OCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAifVxuXG4iKTsKICAgICB9CiAKLSAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9KSB7CisgICAgaWYgKCEkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJPbWl0Q29uc3RydWN0b3IifSkgewogICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIkpTVmFsdWUgJHtjbGFzc05hbWV9OjpnZXRDb25zdHJ1Y3RvcihFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpXG57XG4iKTsKICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPCR7Y2xh
c3NOYW1lfUNvbnN0cnVjdG9yPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KGdsb2JhbE9iamVjdCkpO1xuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4i
KTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1Vua25vd25SdWxlLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2Nzcy9DU1NVbmtub3duUnVsZS5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29y
ZS9jc3MvQ1NTVW5rbm93blJ1bGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw4IEBA
IG1vZHVsZSBjc3MgewogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CiAgICAgaW50
ZXJmYWNlIFsKICAgICAgICAgSW50ZXJmYWNlVVVJRD0zNTY3MDA5OC1iNzMyLTQxOWMtYjdjZC1k
YzBkNWUyNmQ1ZTMsCi0gICAgICAgIEltcGxlbWVudGF0aW9uVVVJRD00Yjc1NWY4Ny0yNTA5LTRi
OTgtYTk1My04ZWNiODhmZTRiMjEKKyAgICAgICAgSW1wbGVtZW50YXRpb25VVUlEPTRiNzU1Zjg3
LTI1MDktNGI5OC1hOTUzLThlY2I4OGZlNGIyMSwKKyAgICAgICAgT21pdENvbnN0cnVjdG9yCiAg
ICAgXSBDU1NVbmtub3duUnVsZSA6IENTU1J1bGUgewogICAgIH07CiAKSW5kZXg6IFdlYkNvcmUv
Y3NzL1dlYktpdENTU01hdHJpeC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTTWF0cml4LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2Nzcy9XZWJLaXRDU1NN
YXRyaXguaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiBtb2R1bGUgY3NzIHsK
IAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsID86Ci0gICAgaW50ZXJmYWNlIFdlYktp
dENTU01hdHJpeCB7CisgICAgaW50ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3JdIFdlYktpdENTU01h
dHJpeCB7CiAKICAgICAgICAgLy8gVGhlc2UgYXR0cmlidXRlcyBhcmUgc2ltcGxlIGFsaWFzZXMg
Zm9yIGNlcnRhaW4gZWxlbWVudHMgb2YgdGhlIDR4NCBtYXRyaXgKICAgICAgICAgYXR0cmlidXRl
IGRvdWJsZSBhOyAvLyBhbGlhcyBmb3IgbTExCkluZGV4OiBXZWJDb3JlL2RvbS9FdmVudExpc3Rl
bmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmlkbAkocmV2
aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjUsNiArMjUsNyBAQCBtb2R1bGUgZXZlbnRzIHsKICAgICAgICAgTm9TdGF0aWNU
YWJsZXMsCiAgICAgICAgIE9iakNQcm90b2NvbCwKICAgICAgICAgUHVyZUludGVyZmFjZSwKKyAg
ICAgICAgT21pdENvbnN0cnVjdG9yLAogICAgICAgICBJbnRlcmZhY2VVVUlEPUIwNEYyQUUzLTcx
RTItNGViZS1BQkZFLUVGNDkzODM1NDA4MiwKICAgICBdIEV2ZW50TGlzdGVuZXIgewogICAgICAg
ICB2b2lkICAgICAgICAgICAgICAgaGFuZGxlRXZlbnQoaW4gRXZlbnQgZXZ0KTsKSW5kZXg6IFdl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3IEBAIG1vZHVsZSBldmVudHMgewogICAg
IGludGVyZmFjZSBbCiAgICAgICAgIE9iakNQcm90b2NvbCwKICAgICAgICAgUHVyZUludGVyZmFj
ZSwKKyAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgICAgIEludGVyZmFjZVVVSUQ9MUQ3MUM3
RUMtMEJBMC00MDQ0LUJERkQtNTZCM0U4RjVGOUQ0CiAgICAgXSBFdmVudFRhcmdldCB7CiAgICAg
ICAgIFtPbGRTdHlsZU9iakNdIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlw
ZSwgCkluZGV4OiBXZWJDb3JlL2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9kb20vTWVzc2FnZUNoYW5uZWwuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNv
cmUvZG9tL01lc3NhZ2VDaGFubmVsLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBA
QAogCiBtb2R1bGUgZXZlbnRzIHsKIAotICAgIGludGVyZmFjZSBbQ3VzdG9tTWFya0Z1bmN0aW9u
LCBOb1N0YXRpY1RhYmxlc10gTWVzc2FnZUNoYW5uZWwgeworICAgIGludGVyZmFjZSBbQ3VzdG9t
TWFya0Z1bmN0aW9uLCBOb1N0YXRpY1RhYmxlcywgT21pdENvbnN0cnVjdG9yXSBNZXNzYWdlQ2hh
bm5lbCB7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lc3NhZ2VQb3J0IHBvcnQxOwog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVzc2FnZVBvcnQgcG9ydDI7CkluZGV4OiBXZWJD
b3JlL2h0bWwvVGltZVJhbmdlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL1RpbWVS
YW5nZXMuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvaHRtbC9UaW1lUmFuZ2VzLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLWlu
dGVyZmFjZSBbQ29uZGl0aW9uYWw9VklERU9dIFRpbWVSYW5nZXMgeworaW50ZXJmYWNlIFtDb25k
aXRpb25hbD1WSURFTywgT21pdENvbnN0cnVjdG9yXSBUaW1lUmFuZ2VzIHsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgZmxvYXQgc3RhcnQoaW4gdW5z
aWduZWQgbG9uZyBpbmRleCkKICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOwpJbmRleDog
V2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9WYWxpZGl0eVN0YXRlLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAKIAogbW9kdWxl
IGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFZhbGlkaXR5U3RhdGUgeworICAgIGludGVyZmFjZSBb
T21pdENvbnN0cnVjdG9yXSBWYWxpZGl0eVN0YXRlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gICAgICAgICB2YWx1ZU1pc3Npbmc7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuICAgICAgICAgdHlwZU1pc21hdGNoOwogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiAgICAgICAgIHBhdHRlcm5NaXNtYXRjaDsKSW5kZXg6IFdlYkNvcmUvaHRt
bC9Wb2lkQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9Wb2lkQ2FsbGJh
Y2suaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvaHRtbC9Wb2lkQ2FsbGJhY2suaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewot
ICAgIGludGVyZmFjZSBbQ3VzdG9tTmF0aXZlQ29udmVydGVyXSBWb2lkQ2FsbGJhY2sgeworICAg
IGludGVyZmFjZSBbQ3VzdG9tTmF0aXZlQ29udmVydGVyLCBPbWl0Q29uc3RydWN0b3JdIFZvaWRD
YWxsYmFjayB7CiAgICAgICAgIHZvaWQgaGFuZGxlRXZlbnQoKTsKICAgICB9OwogfQpJbmRleDog
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysg
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDcgKzI3LDggQEAgbW9kdWxlIGh0bWwgewogCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAg
SW50ZXJmYWNlVVVJRD1iYjExMDhlYS02YjhjLTRhMDgtODk0YS0yMTg2Mjg2MzBjZGIsCi0gICAg
ICAgIEltcGxlbWVudGF0aW9uVVVJRD1hMjk0MmFlNi0yNzMxLTQyODYtOThjYy05ZDVlNzllMjBk
ZTEKKyAgICAgICAgSW1wbGVtZW50YXRpb25VVUlEPWEyOTQyYWU2LTI3MzEtNDI4Ni05OGNjLTlk
NWU3OWUyMGRlMSwKKyAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBDYW52YXNHcmFkaWVu
dCB7CiAKICAgICAgICAgdm9pZCBhZGRDb2xvclN0b3AoaW4gZmxvYXQgb2Zmc2V0LCBpbiBET01T
dHJpbmcgY29sb3IpCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5pZGwJKHJl
dmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsOCBAQCBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRl
cmZhY2UgWwogICAgICAgICBJbnRlcmZhY2VVVUlEPWMyMTMxMzQ4LTZkOGMtNDdiNS04NmNjLWQ0
MWFmZjM0Y2UxNSwKLSAgICAgICAgSW1wbGVtZW50YXRpb25VVUlEPTgyZjVkNzEzLTNkMTctNDRk
ZC1hYTRhLTc3NjZmZTM0NTk0MAorICAgICAgICBJbXBsZW1lbnRhdGlvblVVSUQ9ODJmNWQ3MTMt
M2QxNy00NGRkLWFhNGEtNzc2NmZlMzQ1OTQwLAorICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAg
ICBdIENhbnZhc1BhdHRlcm4gewogCiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUGl4ZWxBcnJheS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNQaXhlbEFycmF5LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1BpeGVsQXJyYXkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBA
CiBtb2R1bGUgaHRtbCB7CiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgIUxB
TkdVQUdFX0pBVkFTQ1JJUFQgfHwgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5HCiAg
ICAgaW50ZXJmYWNlIFsKKyAgICAgICAgT21pdENvbnN0cnVjdG9yLAogICAgICAgICBDdXN0b21I
ZWFkZXIsCiAgICAgICAgIEhhc051bWVyaWNJbmRleEdldHRlciwKICAgICAgICAgSGFzQ3VzdG9t
SW5kZXhTZXR0ZXIKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwJ
KHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8u
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBAIG1vZHVsZSBodG1sIHsKIAogICAg
IGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPTNEX0NBTlZBUywKKyAgICAgICAgT21p
dENvbnN0cnVjdG9yCiAgICAgXSBXZWJHTEFjdGl2ZUluZm8gewogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgaW50IHNpemU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBp
bnQgdHlwZTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBcnJheS5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFycmF5LmlkbAkocmV2aXNpb24gNTI1
MjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQXJyYXkuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBb
Q29uZGl0aW9uYWw9M0RfQ0FOVkFTLCBDdXN0b21Ub0pTXSBXZWJHTEFycmF5IHsKKyAgICBpbnRl
cmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBUywgQ3VzdG9tVG9KUywgT21pdENvbnN0cnVjdG9y
XSBXZWJHTEFycmF5IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFdlYkdMQXJyYXlCdWZm
ZXIgYnVmZmVyOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBieXRl
T2Zmc2V0OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBieXRlTGVu
Z3RoOwpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFycmF5QnVmZmVyLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQXJyYXlCdWZmZXIuaWRsCShyZXZp
c2lvbiA1MjUyNykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBcnJheUJ1ZmZlci5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0g
ICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVNdIFdlYkdMQXJyYXlCdWZmZXIgewor
ICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLCBPbWl0Q29uc3RydWN0b3JdIFdl
YkdMQXJyYXlCdWZmZXIgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgaW50IGJ5dGVMZW5n
dGg7CiAgICAgfTsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaWRsCShyZXZp
c2lvbiA1MjUyNykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw2IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGlu
dGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTXSBXZWJHTEJ1ZmZlciB7CisgICAgaW50ZXJm
YWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMsIE9taXRDb25zdHJ1Y3Rvcl0gV2ViR0xCdWZmZXIg
ewogICAgIH07CiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnl0ZUFycmF5Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnl0ZUFycmF5LmlkbAko
cmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnl0ZUFycmF5Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAg
IEhhc051bWVyaWNJbmRleEdldHRlciwKICAgICAgICAgSGFzQ3VzdG9tSW5kZXhTZXR0ZXIsCiAg
ICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAotICAgICAgICBHZW5lcmF0ZUN1c3RvbUNv
bnN0cnVjdG9yLAorICAgICAgICBPbWl0Q29uc3RydWN0b3IsCiAgICAgICAgIEN1c3RvbVRvSlMK
ICAgICBdIFdlYkdMQnl0ZUFycmF5IDogV2ViR0xBcnJheSB7CiAgICAgICAgIGxvbmcgZ2V0KGlu
IHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZs
b2F0QXJyYXkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGbG9h
dEFycmF5LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
RmxvYXRBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAgbW9kdWxlIGh0
bWwgewogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUlu
ZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICAgICAgR2Vu
ZXJhdGVDdXN0b21Db25zdHJ1Y3RvciwKKyAgICAgICAgT21pdENvbnN0cnVjdG9yLAogICAgICAg
ICBDdXN0b21Ub0pTCiAgICAgXSBXZWJHTEZsb2F0QXJyYXkgOiBXZWJHTEFycmF5IHsKICAgICAg
ICAgZmxvYXQgZ2V0KGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJbmRleDogV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYg
KzI0LDYgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25h
bD0zRF9DQU5WQVNdIFdlYkdMRnJhbWVidWZmZXIgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9u
YWw9M0RfQ0FOVkFTLCBPbWl0Q29uc3RydWN0b3JdIFdlYkdMRnJhbWVidWZmZXIgewogICAgIH07
CiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMSW50QXJyYXkuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xJbnRBcnJheS5pZGwJKHJldmlzaW9uIDUy
NTI3KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEludEFycmF5LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNyArMzAsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIEhhc051bWVyaWNJ
bmRleEdldHRlciwKICAgICAgICAgSGFzQ3VzdG9tSW5kZXhTZXR0ZXIsCiAgICAgICAgIEdlbmVy
YXRlTmF0aXZlQ29udmVydGVyLAotICAgICAgICBHZW5lcmF0ZUN1c3RvbUNvbnN0cnVjdG9yLAor
ICAgICAgICBPbWl0Q29uc3RydWN0b3IsCiAgICAgICAgIEN1c3RvbVRvSlMKICAgICBdIFdlYkdM
SW50QXJyYXkgOiBXZWJHTEFycmF5IHsKICAgICAgICAgbG9uZyBnZXQoaW4gdW5zaWduZWQgbG9u
ZyBpbmRleCk7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uaWRsCShyZXZpc2lv
biA1MjUyNykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQsNiArMjQsNiBAQAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAgICBpbnRl
cmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gV2ViR0xQcm9ncmFtIHsKKyAgICBpbnRlcmZh
Y2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBUywgT21pdENvbnN0cnVjdG9yXSBXZWJHTFByb2dyYW0g
ewogICAgIH07CiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVy
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVy
LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
YnVmZmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNiBAQAogICovCiAKIG1vZHVs
ZSBodG1sIHsKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gV2ViR0xSZW5k
ZXJidWZmZXIgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLCBPbWl0Q29u
c3RydWN0b3JdIFdlYkdMUmVuZGVyYnVmZmVyIHsKICAgICB9OwogfQpJbmRleDogV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFNoYWRlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFNoYWRlci5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFNoYWRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDYgQEAKICAq
LwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVNd
IFdlYkdMU2hhZGVyIHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBUywgT21p
dENvbnN0cnVjdG9yXSBXZWJHTFNoYWRlciB7CiAgICAgfTsKIH0KSW5kZXg6IFdlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xTaG9ydEFycmF5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMU2hvcnRBcnJheS5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFNob3J0QXJyYXkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsy
OSw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzTnVtZXJpY0luZGV4R2V0dGVyLAogICAg
ICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0
ZXIsCi0gICAgICAgIEdlbmVyYXRlQ3VzdG9tQ29uc3RydWN0b3IsCisgICAgICAgIE9taXRDb25z
dHJ1Y3RvciwKICAgICAgICAgQ3VzdG9tVG9KUwogICAgIF0gV2ViR0xTaG9ydEFycmF5IDogV2Vi
R0xBcnJheSB7CiAgICAgICAgIGxvbmcgZ2V0KGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJbmRl
eDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBX
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0
LDYgKzI0LDYgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRp
b25hbD0zRF9DQU5WQVNdIFdlYkdMVGV4dHVyZSB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25h
bD0zRF9DQU5WQVMsIE9taXRDb25zdHJ1Y3Rvcl0gV2ViR0xUZXh0dXJlIHsKICAgICB9OwogfQpJ
bmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwJKHJl
dmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlv
bi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDYgQEAKICAqLwogCiBtb2R1bGUgaHRt
bCB7Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVNdIFdlYkdMVW5pZm9ybUxv
Y2F0aW9uIHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBUywgT21pdENvbnN0
cnVjdG9yXSBXZWJHTFVuaWZvcm1Mb2NhdGlvbiB7CiAgICAgfTsKIH0KSW5kZXg6IFdlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xVbnNpZ25lZEJ5dGVBcnJheS5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFVuc2lnbmVkQnl0ZUFycmF5LmlkbAkocmV2aXNpb24gNTI1
MjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5zaWduZWRCeXRlQXJyYXkuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFz
TnVtZXJpY0luZGV4R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAg
ICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIEdlbmVyYXRlQ3VzdG9tQ29uc3Ry
dWN0b3IsCisgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICAgICAgQ3VzdG9tVG9KUwogICAg
IF0gV2ViR0xVbnNpZ25lZEJ5dGVBcnJheSA6IFdlYkdMQXJyYXkgewogICAgICAgICBsb25nIGdl
dChpbiB1bnNpZ25lZCBsb25nIGluZGV4KTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xVbnNpZ25lZEludEFycmF5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVW5zaWduZWRJbnRBcnJheS5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFVuc2lnbmVkSW50QXJyYXkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw3ICszMCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzTnVtZXJpY0luZGV4R2V0dGVy
LAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2VuZXJhdGVOYXRpdmVD
b252ZXJ0ZXIsCi0gICAgICAgIEdlbmVyYXRlQ3VzdG9tQ29uc3RydWN0b3IsCisgICAgICAgIE9t
aXRDb25zdHJ1Y3RvciwKICAgICAgICAgQ3VzdG9tVG9KUwogICAgIF0gV2ViR0xVbnNpZ25lZElu
dEFycmF5IDogV2ViR0xBcnJheSB7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2V0KGluIHVuc2ln
bmVkIGxvbmcgaW5kZXgpOwpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuc2lnbmVk
U2hvcnRBcnJheS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVu
c2lnbmVkU2hvcnRBcnJheS5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFVuc2lnbmVkU2hvcnRBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcg
KzMwLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAg
ICAgICAgIEhhc0N1c3RvbUluZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZl
cnRlciwKLSAgICAgICAgR2VuZXJhdGVDdXN0b21Db25zdHJ1Y3RvciwKKyAgICAgICAgT21pdENv
bnN0cnVjdG9yLAogICAgICAgICBDdXN0b21Ub0pTCiAgICAgXSBXZWJHTFVuc2lnbmVkU2hvcnRB
cnJheSA6IFdlYkdMQXJyYXkgewogICAgICAgICBsb25nIGdldChpbiB1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCShy
ZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIG1vZHVsZSBpbnNwZWN0b3Ig
ewogCi0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1KQVZBU0NSSVBUX0RFQlVHR0VSXSBKYXZh
U2NyaXB0Q2FsbEZyYW1lIHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPUpBVkFTQ1JJUFRf
REVCVUdHRVIsIE9taXRDb25zdHJ1Y3Rvcl0gSmF2YVNjcmlwdENhbGxGcmFtZSB7CiAgICAgICAg
IFtDdXN0b21dIHZvaWQgZXZhbHVhdGUoaW4gRE9NU3RyaW5nIHNjcmlwdCk7CiAKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEphdmFTY3JpcHRDYWxsRnJhbWUgY2FsbGVyOwpJbmRleDogV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwJKHJldmlz
aW9uIDUyNTI3KQorKysgV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNo
ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDggQEAgbW9kdWxlIG9mZmxpbmUgewog
IAogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPU9GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUywKLSAgICAgICAgRXZlbnRUYXJnZXQKKyAgICAgICAgRXZlbnRUYXJnZXQsCisgICAg
ICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gRE9NQXBwbGljYXRpb25DYWNoZSB7CiAgICAgICAg
IC8vIHVwZGF0ZSBzdGF0dXMKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVU5DQUNIRUQg
PSAwOwpJbmRleDogV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwJKHJldmlzaW9u
IDUyNTI3KQorKysgV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTMyLDcgKzMyLDggQEAgbW9kdWxlIHRocmVhZHMgewogCiAgICAgaW50ZXJm
YWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUywKLSAgICAgICAgRXZlbnRU
YXJnZXQKKyAgICAgICAgRXZlbnRUYXJnZXQsCisgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAg
IF0gTm90aWZpY2F0aW9uIHsKICAgICAgICAgdm9pZCBzaG93KCk7CiAgICAgICAgIHZvaWQgY2Fu
Y2VsKCk7CkluZGV4OiBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsOCBAQAogbW9kdWxlIHRo
cmVhZHMgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FU
SU9OUworICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAorICAgICAgICBPbWl0Q29u
c3RydWN0b3IKICAgICBdIE5vdGlmaWNhdGlvbkNlbnRlciB7CiAgICAgICAgW1Y4Q3VzdG9tXSBO
b3RpZmljYXRpb24gY3JlYXRlSFRNTE5vdGlmaWNhdGlvbihpbiBET01TdHJpbmcgdXJsKSByYWlz
ZXMoRXhjZXB0aW9uKTsKICAgICAgICBbVjhDdXN0b21dIE5vdGlmaWNhdGlvbiBjcmVhdGVOb3Rp
ZmljYXRpb24oaW4gRE9NU3RyaW5nIGljb25VcmwsIGluIERPTVN0cmluZyB0aXRsZSwgaW4gRE9N
U3RyaW5nIGJvZHkpIHJhaXNlcyhFeGNlcHRpb24pOwpJbmRleDogV2ViQ29yZS9wYWdlL0Fic3Ry
YWN0Vmlldy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0Fic3RyYWN0Vmlldy5pZGwJ
KHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9wYWdlL0Fic3RyYWN0Vmlldy5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDcgKzI4LDggQEAgbW9kdWxlIHZpZXdzIHsKIAogICAgIC8vIEludHJv
ZHVjZWQgaW4gRE9NIExldmVsIDI6CiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgT2JqQ0N1c3Rv
bUltcGxlbWVudGF0aW9uCisgICAgICAgIE9iakNDdXN0b21JbXBsZW1lbnRhdGlvbiwKKyAgICAg
ICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBBYnN0cmFjdFZpZXcgewogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRG9jdW1lbnQgZG9jdW1lbnQ7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBNZWRpYSBtZWRpYTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9CYXJJbmZvLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BhZ2UvQmFySW5mby5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29y
ZS9wYWdlL0JhckluZm8uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKIG1v
ZHVsZSB3aW5kb3cgewogCi0gICAgaW50ZXJmYWNlIEJhckluZm8geworICAgIGludGVyZmFjZSBb
T21pdENvbnN0cnVjdG9yXSBCYXJJbmZvIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gdmlzaWJsZTsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3BhZ2UvQ29uc29sZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0NvbnNvbGUuaWRsCShyZXZpc2lvbiA1MjUyNykK
KysrIFdlYkNvcmUvcGFnZS9Db25zb2xlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgs
NyBAQAogCiBtb2R1bGUgd2luZG93IHsKIAotICAgIGludGVyZmFjZSBDb25zb2xlIHsKKyAgICBp
bnRlcmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gQ29uc29sZSB7CiAKICNpZiBkZWZpbmVkKEVOQUJM
RV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUgogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbUdldHRlcl0gQXJyYXkgcHJvZmlsZXM7Cklu
ZGV4OiBXZWJDb3JlL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGFnZS9Db29yZGluYXRlcy5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9wYWdlL0Nv
b3JkaW5hdGVzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiBtb2R1bGUg
Y29yZSB7CiAKLSAgICBpbnRlcmZhY2UgQ29vcmRpbmF0ZXMgeworICAgIGludGVyZmFjZSBbT21p
dENvbnN0cnVjdG9yXSBDb29yZGluYXRlcyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBk
b3VibGUgbGF0aXR1ZGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgbG9uZ2l0
dWRlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIGFsdGl0dWRl
OwpJbmRleDogV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9w
YWdlL0RPTVNlbGVjdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAgbW9k
dWxlIHdpbmRvdyB7CiAKICAgICAvLyBUaGlzIGlzIGJhc2VkIG9mZiBvZiBNb3ppbGxhJ3MgU2Vs
ZWN0aW9uIGludGVyZmFjZQogICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL0Vu
L0RPTS9TZWxlY3Rpb24KLSAgICBpbnRlcmZhY2UgRE9NU2VsZWN0aW9uIHsKKyAgICBpbnRlcmZh
Y2UgW09taXRDb25zdHJ1Y3Rvcl0gRE9NU2VsZWN0aW9uIHsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIE5vZGUgYW5jaG9yTm9kZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcg
YW5jaG9yT2Zmc2V0OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSBmb2N1c05vZGU7
CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBtb2R1bGUgd2luZG93
IHsKICAgICAgICAgQ3VzdG9tTmF0aXZlQ29udmVydGVyLAogICAgICAgICBDdXN0b21QdXRGdW5j
dGlvbiwKICAgICAgICAgRXZlbnRUYXJnZXQsCisgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAg
ICAgICAgRXh0ZW5kc0RPTUdsb2JhbE9iamVjdCwKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252
ZXJ0ZXIsCiAgICAgICAgIExlZ2FjeVBhcmVudD1KU0RPTVdpbmRvd0Jhc2UKSW5kZXg6IFdlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0V2ZW50
U291cmNlLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAg
IGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPUVWRU5UU09VUkNFLAogICAgICAgICBF
dmVudFRhcmdldCwKKyAgICAgICAgT21pdENvbnN0cnVjdG9yLAogICAgICAgICBOb1N0YXRpY1Rh
YmxlcwogICAgIF0gRXZlbnRTb3VyY2UgewogCkluZGV4OiBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRp
b24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5pZGwJKHJldmlz
aW9uIDUyNTI3KQorKysgV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNyArMjUsNyBAQAogCiBtb2R1bGUgY29yZSB7CiAKLSAgICBpbnRlcmZhY2UgR2Vv
bG9jYXRpb24geworICAgIGludGVyZmFjZSBbT21pdENvbnN0cnVjdG9yXSBHZW9sb2NhdGlvbiB7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBHZW9wb3NpdGlvbiBsYXN0UG9zaXRpb247CiAK
ICAgICAgICAgW0N1c3RvbV0gdm9pZCBnZXRDdXJyZW50UG9zaXRpb24oaW4gUG9zaXRpb25DYWxs
YmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFBvc2l0aW9uRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrLCBpbiBQb3NpdGlvbk9wdGlvbnMgb3B0aW9ucyk7CkluZGV4OiBXZWJDb3JlL3BhZ2UvR2Vv
cG9zaXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9HZW9wb3NpdGlvbi5pZGwJ
KHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9uLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiBtb2R1bGUgY29yZSB7CiAKLSAgICBpbnRlcmZh
Y2UgR2VvcG9zaXRpb24geworICAgIGludGVyZmFjZSBbT21pdENvbnN0cnVjdG9yXSBHZW9wb3Np
dGlvbiB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDb29yZGluYXRlcyBjb29yZHM7CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01UaW1lU3RhbXAgdGltZXN0YW1wOwogICAgIH07
CkluZGV4OiBXZWJDb3JlL3BhZ2UvSGlzdG9yeS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
YWdlL0hpc3RvcnkuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvcGFnZS9IaXN0b3J5
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsOCBAQCBtb2R1bGUgd2luZG93IHsKICAg
ICAgICAgRGVsZWdhdGluZ0dldE93blByb3BlcnR5U2xvdCwKICAgICAgICAgRGVsZWdhdGluZ1B1
dEZ1bmN0aW9uLAogICAgICAgICBDdXN0b21EZWxldGVQcm9wZXJ0eSwKLSAgICAgICAgQ3VzdG9t
R2V0UHJvcGVydHlOYW1lcworICAgICAgICBDdXN0b21HZXRQcm9wZXJ0eU5hbWVzLAorICAgICAg
ICBPbWl0Q29uc3RydWN0b3IKICAgICBdIEhpc3RvcnkgewogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9Mb2NhdGlv
bi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbAkocmV2aXNpb24g
NTI1MjcpCisrKyBXZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0z
OCw3ICszOCw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBDdXN0b21HZXRQcm9wZXJ0eU5h
bWVzLAogICAgICAgICBDdXN0b21EZWZpbmVHZXR0ZXIsCiAgICAgICAgIERlbGVnYXRpbmdQcm90
b3R5cGVQdXRGdW5jdGlvbiwKLSAgICAgICAgQ3VzdG9tUHJvdG90eXBlRGVmaW5lR2V0dGVyCisg
ICAgICAgIEN1c3RvbVByb3RvdHlwZURlZmluZUdldHRlciwKKyAgICAgICAgT21pdENvbnN0cnVj
dG9yCiAgICAgXSBMb2NhdGlvbiB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbRG9Ob3RD
aGVja0RvbWFpblNlY3VyaXR5T25TZXQsIEN1c3RvbVNldHRlciwgVjhEaXNhbGxvd1NoYWRvd2lu
Z10gRE9NU3RyaW5nIGhyZWY7CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCShyZXZpc2lvbiA1MjUyNykK
KysrIFdlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsy
MCw4IEBACiBtb2R1bGUgd2luZG93IHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIEN1c3Rv
bU1hcmtGdW5jdGlvbgorICAgICAgICBDdXN0b21NYXJrRnVuY3Rpb24sCisgICAgICAgIE9taXRD
b25zdHJ1Y3RvcgogICAgIF0gTmF2aWdhdG9yIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBhcHBDb2RlTmFtZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBhcHBOYW1lOwpJbmRleDogV2ViQ29yZS9wYWdlL1NjcmVlbi5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wYWdlL1NjcmVlbi5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9w
YWdlL1NjcmVlbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIAogbW9kdWxl
IHdpbmRvdyB7CiAKLSAgICBpbnRlcmZhY2UgU2NyZWVuIHsKKyAgICBpbnRlcmZhY2UgW09taXRD
b25zdHJ1Y3Rvcl0gU2NyZWVuIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgaGVpZ2h0OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3
aWR0aDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgY29sb3JEZXB0
aDsKSW5kZXg6IFdlYkNvcmUvcGFnZS9XZWJLaXRQb2ludC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL1dlYktpdFBvaW50LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3Bh
Z2UvV2ViS2l0UG9pbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIG1v
ZHVsZSB3aW5kb3cgewogCi0gICAgaW50ZXJmYWNlIFdlYktpdFBvaW50IHsKKyAgICBpbnRlcmZh
Y2UgW09taXRDb25zdHJ1Y3Rvcl0gV2ViS2l0UG9pbnQgewogICAgICAgICBhdHRyaWJ1dGUgZmxv
YXQgeDsKICAgICAgICAgYXR0cmlidXRlIGZsb2F0IHk7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUv
cGFnZS9Xb3JrZXJOYXZpZ2F0b3IuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9Xb3Jr
ZXJOYXZpZ2F0b3IuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvcGFnZS9Xb3JrZXJO
YXZpZ2F0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw4IEBAIG1vZHVsZSB0aHJl
YWRzIHsKIAogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPVdPUktFUlMsCi0g
ICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgICAgIE5vU3RhdGljVGFibGVzLAorICAgICAgICBP
bWl0Q29uc3RydWN0b3IKICAgICBdIFdvcmtlck5hdmlnYXRvciB7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgYXBwTmFtZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBhcHBWZXJzaW9uOwpJbmRleDogV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuaWRsCShyZXZpc2lvbiA1
MjUyNykKKysrIFdlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDcgKzI5LDggQEAKIG1vZHVsZSBzdG9yYWdlIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAg
ICAgIENvbmRpdGlvbmFsPURBVEFCQVNFCisgICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAor
ICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAgICBdIERhdGFiYXNlIHsKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyB2ZXJzaW9uOwogICAgICAgICBbQ3VzdG9tXSB2b2lkIGNo
YW5nZVZlcnNpb24oaW4gRE9NU3RyaW5nIG9sZFZlcnNpb24sIGluIERPTVN0cmluZyBuZXdWZXJz
aW9uLCBpbiBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBpbiBTUUxUcmFuc2FjdGlv
bkVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgaW4gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxs
YmFjayk7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU1FMRXJyb3IuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29y
ZS9zdG9yYWdlL1NRTEVycm9yLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksOCBAQAog
bW9kdWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9
REFUQUJBU0UKKyAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIE9taXRDb25z
dHJ1Y3RvcgogICAgIF0gU1FMRXJyb3IgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBjb2RlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1l
c3NhZ2U7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmlkbAkocmV2aXNpb24gNTI1MjcpCisr
KyBXZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjks
NyArMjksOCBAQAogbW9kdWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAg
Q29uZGl0aW9uYWw9REFUQUJBU0UKKyAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAg
ICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gU1FMUmVzdWx0U2V0IHsKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFNRTFJlc3VsdFNldFJvd0xpc3Qgcm93czsKIApJbmRleDogV2ViQ29yZS9z
dG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Rv
cmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3Jl
L3N0b3JhZ2UvU1FMUmVzdWx0U2V0Um93TGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcg
KzI5LDggQEAKIG1vZHVsZSBzdG9yYWdlIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENv
bmRpdGlvbmFsPURBVEFCQVNFCisgICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAg
ICBPbWl0Q29uc3RydWN0b3IKICAgICBdIFNRTFJlc3VsdFNldFJvd0xpc3QgewogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgICAgIFtDdXN0b21d
IERPTU9iamVjdCBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJbmRleDogV2ViQ29yZS9z
dG9yYWdlL1NRTFRyYW5zYWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2Uv
U1FMVHJhbnNhY3Rpb24uaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDggQEAKIG1vZHVs
ZSBzdG9yYWdlIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPURBVEFC
QVNFCisgICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBPbWl0Q29uc3RydWN0
b3IKICAgICBdIFNRTFRyYW5zYWN0aW9uIHsKICAgICAgICAgW0N1c3RvbV0gdm9pZCBleGVjdXRl
U3FsKGluIERPTVN0cmluZyBzcWxTdGF0ZW1lbnQsIGluIE9iamVjdEFycmF5IGFyZ3VtZW50cywg
aW4gU1FMU3RhdGVtZW50Q2FsbGJhY2sgY2FsbGJhY2ssIGluIFNRTFN0YXRlbWVudEVycm9yQ2Fs
bGJhY2sgZXJyb3JDYWxsYmFjayk7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvd2Vic29ja2V0cy9X
ZWJTb2NrZXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQu
aWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw4IEBAIG1vZHVsZSB3ZWJzb2NrZXRzIHsKICAg
ICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1XRUJfU09DS0VUUywKICAgICAgICAg
RXZlbnRUYXJnZXQsCi0gICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgICAgIE5vU3RhdGljVGFi
bGVzLAorICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAgICBdIFdlYlNvY2tldCB7CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgVVJMOwogCkluZGV4OiBXZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS93b3Jr
ZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNv
cmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzUsNyArMzUsOCBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgIEV4dGVuZHNET01HbG9iYWxP
YmplY3QsCiAgICAgICAgIElzV29ya2VyQ29udGV4dCwKICAgICAgICAgR2VuZXJhdGVOYXRpdmVD
b252ZXJ0ZXIsCi0gICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgICAgIE5vU3RhdGljVGFibGVz
LAorICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAgICBdIERlZGljYXRlZFdvcmtlckNvbnRleHQg
OiBXb3JrZXJDb250ZXh0IHsKIAogI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYg
TEFOR1VBR0VfSkFWQVNDUklQVApJbmRleDogV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwJKHJldmlz
aW9uIDUyNTI3KQorKysgV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTM0LDcgKzM0LDggQEAgbW9kdWxlIHRocmVhZHMgewogICAgICAgICBDb25kaXRp
b25hbD1TSEFSRURfV09SS0VSUywKICAgICAgICAgQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgICAg
ICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICAgICAgR2VuZXJhdGVUb0pTCisgICAgICAg
IEdlbmVyYXRlVG9KUywKKyAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBTaGFyZWRXb3Jr
ZXIgOiBBYnN0cmFjdFdvcmtlciB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZXNzYWdl
UG9ydCBwb3J0OwogICAgIH07CkluZGV4OiBXZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29u
dGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRl
eHQuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJD
b250ZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsOCBAQCBtb2R1bGUgdGhyZWFk
cyB7CiAgICAgICAgIEV4dGVuZHNET01HbG9iYWxPYmplY3QsCiAgICAgICAgIElzV29ya2VyQ29u
dGV4dCwKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIE5vU3RhdGlj
VGFibGVzCisgICAgICAgIE5vU3RhdGljVGFibGVzLAorICAgICAgICBPbWl0Q29uc3RydWN0b3IK
ICAgICBdIFNoYXJlZFdvcmtlckNvbnRleHQgOiBXb3JrZXJDb250ZXh0IHsKIAogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CkluZGV4OiBXZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAkocmV2
aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjksNyArMjksOCBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgaW50ZXJmYWNlIFsKICAg
ICAgICAgQ29uZGl0aW9uYWw9V09SS0VSUywKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0
ZXIsCi0gICAgICAgIEdlbmVyYXRlVG9KUworICAgICAgICBHZW5lcmF0ZVRvSlMsCisgICAgICAg
IE9taXRDb25zdHJ1Y3RvcgogICAgIF0gV29ya2VyIDogQWJzdHJhY3RXb3JrZXIgewogCiAgICAg
ICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ubWVzc2FnZTsKSW5kZXg6IFdlYkNvcmUvd29y
a2Vycy9Xb3JrZXJDb250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckNvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw4IEBAIG1vZHVsZSB0aHJl
YWRzIHsKICAgICAgICAgRXh0ZW5kc0RPTUdsb2JhbE9iamVjdCwKICAgICAgICAgSXNXb3JrZXJD
b250ZXh0LAogICAgICAgICBMZWdhY3lQYXJlbnQ9SlNXb3JrZXJDb250ZXh0QmFzZSwKLSAgICAg
ICAgTm9TdGF0aWNUYWJsZXMKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMsCisgICAgICAgIE9taXRD
b25zdHJ1Y3RvcgogICAgIF0gV29ya2VyQ29udGV4dCB7CiAKICAgICAgICAgLy8gV29ya2VyR2xv
YmFsU2NvcGUKSW5kZXg6IFdlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysg
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICsz
MSw4IEBAIG1vZHVsZSB4bWwgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIEN1c3RvbU1hcmtG
dW5jdGlvbiwKICAgICAgICAgRXZlbnRUYXJnZXQsCi0gICAgICAgIE5vU3RhdGljVGFibGVzCisg
ICAgICAgIE5vU3RhdGljVGFibGVzLAorICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAgICBdIFhN
TEh0dHBSZXF1ZXN0IHsKICAgICAgICAgLy8gRnJvbSBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0
CiAgICAgICAgIC8vIGV2ZW50IGhhbmRsZXIgYXR0cmlidXRlcwpJbmRleDogV2ViQ29yZS94bWwv
WFBhdGhOU1Jlc29sdmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3htbC9YUGF0aE5TUmVz
b2x2ZXIuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUveG1sL1hQYXRoTlNSZXNvbHZl
ci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAogbW9kdWxlIHhwYXRoIHsK
IAotICAgIGludGVyZmFjZSBbT2JqQ1Byb3RvY29sLCBDb25kaXRpb25hbD1YUEFUSF0gWFBhdGhO
U1Jlc29sdmVyIHsKKyAgICBpbnRlcmZhY2UgW09iakNQcm90b2NvbCwgQ29uZGl0aW9uYWw9WFBB
VEgsIE9taXRDb25zdHJ1Y3Rvcl0gWFBhdGhOU1Jlc29sdmVyIHsKICAgICAgICAgW0NvbnZlcnRO
dWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nIGxvb2t1cE5hbWVzcGFjZVVSSShpbiBET01TdHJp
bmcgcHJlZml4KTsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmlkbAkocmV2aXNpb24g
NTI1MjcpCisrKyBXZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzMsNyArMzMsOCBAQCBtb2R1bGUgeG1sIHsKICAgICAvLyBodHRwOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01NDQ2CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25k
aXRpb25hbD1YU0xUCisgICAgICAgIENvbmRpdGlvbmFsPVhTTFQsCisgICAgICAgIE9taXRDb25z
dHJ1Y3RvcgogICAgIF0gWFNMVFByb2Nlc3NvciB7CiAgICAgICAgIAogICAgICAgICBbQ3VzdG9t
XSB2b2lkIGltcG9ydFN0eWxlc2hlZXQoaW4gTm9kZSBzdHlsZXNoZWV0KTsKSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDUyNTMxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDktMTItMjMgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmV2ZXJzZSBKUyBHZW5lcmF0ZUNvbnN0cnVjdG9yIGxvZ2ljCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjkxMAorCisgICAgICAgIEhUTUxP
cHRpb25zQ29sbGVjdGlvbiBjb3JyZWN0bHkgZXhwb3NlcyBpdHMgSlMgY29uc3RydWN0b3Igbm93
LCB0aHVzIGZpeGluZyBpdHMgdGVzdCBpbiBmYXN0L2RvbS93cmFwcGVyLWNsYXNzZXMuaHRtbAor
CisgICAgICAgICogZmFzdC9kb20vd3JhcHBlci1jbGFzc2VzLWV4cGVjdGVkLnR4dDoKKwogMjAw
OS0xMi0yMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vd3JhcHBlci1j
bGFzc2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS93
cmFwcGVyLWNsYXNzZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MjUyNykKKysrIExheW91dFRl
c3RzL2Zhc3QvZG9tL3dyYXBwZXItY2xhc3Nlcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTE0Miw3ICsxNDIsNyBAQCBQQVNTIGpzV3JhcHBlckNsYXNzKGRvY3VtZW50Ll9fcHJvdG9f
XykgCiBQQVNTIGpzV3JhcHBlckNsYXNzKGRvY3VtZW50LmNvbnN0cnVjdG9yKSBpcyAnSFRNTERv
Y3VtZW50Q29uc3RydWN0b3InCiBQQVNTIGpzV3JhcHBlckNsYXNzKGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NlbGVjdCcpLm9wdGlvbnMpIGlzICdIVE1MT3B0aW9uc0NvbGxlY3Rpb24nCiBGQUlM
IGpzV3JhcHBlckNsYXNzKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpLm9wdGlvbnMu
X19wcm90b19fKSBzaG91bGQgYmUgSFRNTE9wdGlvbnNDb2xsZWN0aW9uUHJvdG90eXBlLiBXYXMg
SFRNTENvbGxlY3Rpb25Qcm90b3R5cGUuCi1GQUlMIGpzV3JhcHBlckNsYXNzKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpLm9wdGlvbnMuY29uc3RydWN0b3IpIHNob3VsZCBiZSBIVE1M
T3B0aW9uc0NvbGxlY3Rpb25Db25zdHJ1Y3Rvci4gV2FzIEZ1bmN0aW9uLgorUEFTUyBqc1dyYXBw
ZXJDbGFzcyhkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKS5vcHRpb25zLmNvbnN0cnVj
dG9yKSBpcyAnSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ29uc3RydWN0b3InCiAKIEhUTUwgRWxlbWVu
dHMKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>45454</attachid>
            <date>2009-12-23 16:46:02 -0800</date>
            <delta_ts>2009-12-23 16:46:02 -0800</delta_ts>
            <desc>List of changed constructors</desc>
            <filename>CtorDiffs.txt</filename>
            <type>text/plain</type>
            <size>4687</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">LS0tIFdpdGhHZW5DdG9yCTIwMDktMTItMjQgMDE6NDM6NDQuMDAwMDAwMDAwICswMTAwCisrKyBX
aXRob3V0T21pdEN0b3IJMjAwOS0xMi0yNCAwMTo0Mzo0MS4wMDAwMDAwMDAgKzAxMDAKQEAgLTEz
MCw2ICsxMzAsNyBAQAogLi9odG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsCiAuL2h0bWwvSFRNTE9w
dEdyb3VwRWxlbWVudC5pZGwKIC4vaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwKKy4vaHRtbC9I
VE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsCiAuL2h0bWwvSFRNTFBhcmFncmFwaEVsZW1lbnQuaWRs
CiAuL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5pZGwKIC4vaHRtbC9IVE1MUHJlRWxlbWVudC5pZGwK
QEAgLTE2MSwyOSArMTYyLDE0MyBAQAogLi9wbHVnaW5zL1BsdWdpbkFycmF5LmlkbAogLi9zdG9y
YWdlL1N0b3JhZ2UuaWRsCiAuL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmlkbAorLi9zdmcvU1ZHQUVs
ZW1lbnQuaWRsCisuL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRsCiAuL3N2Zy9TVkdBbmdsZS5p
ZGwKKy4vc3ZnL1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuaWRsCisuL3N2Zy9TVkdBbmltYXRlZEFu
Z2xlLmlkbAorLi9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmlkbAorLi9zdmcvU1ZHQW5pbWF0ZWRF
bnVtZXJhdGlvbi5pZGwKKy4vc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5pZGwKKy4vc3ZnL1NWR0Fu
aW1hdGVkTGVuZ3RoLmlkbAorLi9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmlkbAorLi9zdmcv
U1ZHQW5pbWF0ZWROdW1iZXIuaWRsCisuL3N2Zy9TVkdBbmltYXRlZE51bWJlckxpc3QuaWRsCisu
L3N2Zy9TVkdBbmltYXRlZFBhdGhEYXRhLmlkbAorLi9zdmcvU1ZHQW5pbWF0ZWRQb2ludHMuaWRs
CisuL3N2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaWRsCisuL3N2Zy9TVkdBbmlt
YXRlZFJlY3QuaWRsCisuL3N2Zy9TVkdBbmltYXRlZFN0cmluZy5pZGwKKy4vc3ZnL1NWR0FuaW1h
dGVkVHJhbnNmb3JtTGlzdC5pZGwKKy4vc3ZnL1NWR0FuaW1hdGVFbGVtZW50LmlkbAorLi9zdmcv
U1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQuaWRsCisuL3N2Zy9TVkdDaXJjbGVFbGVtZW50Lmlk
bAorLi9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmlkbAogLi9zdmcvU1ZHQ29sb3IuaWRsCiAuL3N2
Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5pZGwKKy4vc3ZnL1NWR0N1cnNv
ckVsZW1lbnQuaWRsCisuL3N2Zy9TVkdEZWZzRWxlbWVudC5pZGwKKy4vc3ZnL1NWR0Rlc2NFbGVt
ZW50LmlkbAorLi9zdmcvU1ZHRG9jdW1lbnQuaWRsCisuL3N2Zy9TVkdFbGVtZW50LmlkbAorLi9z
dmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbAorLi9zdmcvU1ZHRWxlbWVudEluc3RhbmNlTGlzdC5p
ZGwKKy4vc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmlkbAogLi9zdmcvU1ZHRXhjZXB0aW9uLmlkbAog
Li9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaWRsCiAuL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVu
dC5pZGwKKy4vc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmlkbAogLi9zdmcvU1ZH
RkVDb21wb3NpdGVFbGVtZW50LmlkbAorLi9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50
LmlkbAogLi9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbAorLi9zdmcvU1ZHRkVE
aXN0YW50TGlnaHRFbGVtZW50LmlkbAogLi9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaWRsCisuL3N2
Zy9TVkdGRUZ1bmNBRWxlbWVudC5pZGwKKy4vc3ZnL1NWR0ZFRnVuY0JFbGVtZW50LmlkbAorLi9z
dmcvU1ZHRkVGdW5jR0VsZW1lbnQuaWRsCisuL3N2Zy9TVkdGRUZ1bmNSRWxlbWVudC5pZGwKKy4v
c3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5pZGwKKy4vc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50
LmlkbAorLi9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaWRsCisuL3N2Zy9TVkdGRU1lcmdlTm9kZUVs
ZW1lbnQuaWRsCiAuL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbAorLi9zdmcvU1ZHRkVP
ZmZzZXRFbGVtZW50LmlkbAorLi9zdmcvU1ZHRkVQb2ludExpZ2h0RWxlbWVudC5pZGwKKy4vc3Zn
L1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaWRsCisuL3N2Zy9TVkdGRVNwb3RMaWdodEVs
ZW1lbnQuaWRsCisuL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmlkbAogLi9zdmcvU1ZHRkVUdXJidWxl
bmNlRWxlbWVudC5pZGwKKy4vc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaWRsCisuL3N2Zy9TVkdGaWx0
ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaWRsCisuL3N2Zy9TVkdGb250RWxlbWVudC5p
ZGwKKy4vc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5pZGwKKy4vc3ZnL1NWR0ZvbnRGYWNlRm9ybWF0
RWxlbWVudC5pZGwKKy4vc3ZnL1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQuaWRsCisuL3N2Zy9TVkdG
b250RmFjZVNyY0VsZW1lbnQuaWRsCisuL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaWRsCisu
L3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5pZGwKKy4vc3ZnL1NWR0dFbGVtZW50LmlkbAor
Li9zdmcvU1ZHR2x5cGhFbGVtZW50LmlkbAogLi9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmlkbAor
Li9zdmcvU1ZHSEtlcm5FbGVtZW50LmlkbAorLi9zdmcvU1ZHSW1hZ2VFbGVtZW50LmlkbAogLi9z
dmcvU1ZHTGVuZ3RoLmlkbAorLi9zdmcvU1ZHTGVuZ3RoTGlzdC5pZGwKKy4vc3ZnL1NWR0xpbmVh
ckdyYWRpZW50RWxlbWVudC5pZGwKKy4vc3ZnL1NWR0xpbmVFbGVtZW50LmlkbAogLi9zdmcvU1ZH
TWFya2VyRWxlbWVudC5pZGwKKy4vc3ZnL1NWR01hc2tFbGVtZW50LmlkbAorLi9zdmcvU1ZHTWF0
cml4LmlkbAorLi9zdmcvU1ZHTWV0YWRhdGFFbGVtZW50LmlkbAorLi9zdmcvU1ZHTWlzc2luZ0ds
eXBoRWxlbWVudC5pZGwKKy4vc3ZnL1NWR051bWJlci5pZGwKKy4vc3ZnL1NWR051bWJlckxpc3Qu
aWRsCiAuL3N2Zy9TVkdQYWludC5pZGwKKy4vc3ZnL1NWR1BhdGhFbGVtZW50LmlkbAogLi9zdmcv
U1ZHUGF0aFNlZy5pZGwKKy4vc3ZnL1NWR1BhdGhTZWdBcmNBYnMuaWRsCisuL3N2Zy9TVkdQYXRo
U2VnQXJjUmVsLmlkbAorLi9zdmcvU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5pZGwKKy4vc3ZnL1NWR1Bh
dGhTZWdDdXJ2ZXRvQ3ViaWNBYnMuaWRsCisuL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVs
LmlkbAorLi9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5pZGwKKy4vc3ZnL1NW
R1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaWRsCisuL3N2Zy9TVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY0Ficy5pZGwKKy4vc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmlk
bAorLi9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaWRsCisuL3N2Zy9T
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5pZGwKKy4vc3ZnL1NWR1BhdGhTZWdM
aW5ldG9BYnMuaWRsCisuL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5pZGwKKy4v
c3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsLmlkbAorLi9zdmcvU1ZHUGF0aFNlZ0xp
bmV0b1JlbC5pZGwKKy4vc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5pZGwKKy4vc3Zn
L1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5pZGwKKy4vc3ZnL1NWR1BhdGhTZWdMaXN0Lmlk
bAorLi9zdmcvU1ZHUGF0aFNlZ01vdmV0b0Ficy5pZGwKKy4vc3ZnL1NWR1BhdGhTZWdNb3ZldG9S
ZWwuaWRsCisuL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGwKKy4vc3ZnL1NWR1BvaW50LmlkbAor
Li9zdmcvU1ZHUG9pbnRMaXN0LmlkbAorLi9zdmcvU1ZHUG9seWdvbkVsZW1lbnQuaWRsCisuL3N2
Zy9TVkdQb2x5bGluZUVsZW1lbnQuaWRsCiAuL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlk
bAorLi9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmlkbAorLi9zdmcvU1ZHUmVjdC5pZGwK
Ky4vc3ZnL1NWR1JlY3RFbGVtZW50LmlkbAogLi9zdmcvU1ZHUmVuZGVyaW5nSW50ZW50LmlkbAor
Li9zdmcvU1ZHU2NyaXB0RWxlbWVudC5pZGwKKy4vc3ZnL1NWR1NldEVsZW1lbnQuaWRsCisuL3N2
Zy9TVkdTdG9wRWxlbWVudC5pZGwKKy4vc3ZnL1NWR1N0cmluZ0xpc3QuaWRsCisuL3N2Zy9TVkdT
dHlsZUVsZW1lbnQuaWRsCisuL3N2Zy9TVkdTVkdFbGVtZW50LmlkbAorLi9zdmcvU1ZHU3dpdGNo
RWxlbWVudC5pZGwKKy4vc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaWRsCiAuL3N2Zy9TVkdUZXh0Q29u
dGVudEVsZW1lbnQuaWRsCisuL3N2Zy9TVkdUZXh0RWxlbWVudC5pZGwKIC4vc3ZnL1NWR1RleHRQ
YXRoRWxlbWVudC5pZGwKKy4vc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaWRsCisuL3N2
Zy9TVkdUaXRsZUVsZW1lbnQuaWRsCiAuL3N2Zy9TVkdUcmFuc2Zvcm0uaWRsCisuL3N2Zy9TVkdU
cmFuc2Zvcm1MaXN0LmlkbAorLi9zdmcvU1ZHVFJlZkVsZW1lbnQuaWRsCisuL3N2Zy9TVkdUU3Bh
bkVsZW1lbnQuaWRsCiAuL3N2Zy9TVkdVbml0VHlwZXMuaWRsCisuL3N2Zy9TVkdVc2VFbGVtZW50
LmlkbAorLi9zdmcvU1ZHVmlld0VsZW1lbnQuaWRsCisuL3N2Zy9TVkdWaWV3U3BlYy5pZGwKIC4v
c3ZnL1NWR1pvb21BbmRQYW4uaWRsCisuL3N2Zy9TVkdab29tRXZlbnQuaWRsCiAuL3dvcmtlcnMv
QWJzdHJhY3RXb3JrZXIuaWRsCiAuL3dvcmtlcnMvV29ya2VyTG9jYXRpb24uaWRsCiAuL3htbC9E
T01QYXJzZXIuaWRsCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45455</attachid>
            <date>2009-12-23 16:46:28 -0800</date>
            <delta_ts>2009-12-23 16:51:10 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>ReverseJSCtorLogic2.diff</filename>
            <type>text/plain</type>
            <size>45204</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MjUzMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODMgQEAKKzIwMDktMTItMjMgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmV2ZXJzZSBKUyBHZW5lcmF0ZUNvbnN0cnVjdG9yIGxvZ2ljCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjkxMAorCisgICAgICAgIE1ha2Ug
J0dlbmVyYXRlQ29uc3RydWN0b3InIHRoZSBkZWZhdWx0IHNldHRpbmcgZm9yIGFsbCBjbGFzc2Vz
LCBkZWZpbmVkIGluIElETCBmaWxlcy4gVGhlIGZsYWcgaXMgbm93IG9ic29sZXRlIGFuZAorICAg
ICAgICBjYW4gYmUgcmVtb3ZlZCBmcm9tIGFsbCBJREwgZmlsZXMgaW4gYSBmb2xsb3ctdXAgcGF0
Y2guIEFkZCBuZXcgJ09taXRDb25zdHJ1Y3RvcicgZmxhZywgdGhhdCBhbGxvd3MgdG8gcmVzdG9y
ZSB0aGUKKyAgICAgICAgb2xkIGRlZmF1bHQgYmVoYXZpb3VyOiBkbyBub3QgZ2VuZXJhdGUgSlNG
b29iYXJDb25zdHJ1Y3RvciBjbGFzcy4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25h
bGl0eSwgZGVzcGl0ZSB0aGUgZmFjdCB0aGF0IHdlJ3JlIGdlbmVyYXRpbmcgYSBsb3QgbW9yZSBj
b25zdHJ1Y3RvcnMgbm93LCBhcyB0aGV5IGhhdmUgdG8KKyAgICAgICAgYmUgZXhwb3NlZCB0aHJv
dWdoIERPTVdpbmRvdy5pZGwgLS0gdGhpcyBjYW4gYmUgZG9uZSBwZXIgYWZmZWN0ZWQgY2xhc3Mg
aW4gZm9sbG93LXVwIHBhdGNoZXMuIEVzcGVjaWFsbHkgdGhlIFNWRworICAgICAgICBjbGFzc2Vz
IGhhdmUgdG8gYmUgZXhwb3NlZCwgbW9zdCBvZiB0aGVtIGFyZSBtaXNzaW5nIEpTIGNvbnN0cnVj
dG9ycyBzbyBmYXIuCisKKyAgICAgICAgQXMgc2lkZSBlZmZlY3QgSFRNTE9wdGlvbnNDb2xsZWN0
aW9uIGlzIG5vdyBjb3JyZWN0bHkgZXhwb3NpbmcgaXRzIGNvbnN0cnVjdG9yLCB0aHVzIGZpeGlu
ZyBhIHRlc3QgaW4gZmFzdC9kb20vd3JhcHBlci1jbGFzc2VzLmh0bWwKKworICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIGNzcy9DU1NVbmtu
b3duUnVsZS5pZGw6CisgICAgICAgICogY3NzL1dlYktpdENTU01hdHJpeC5pZGw6CisgICAgICAg
ICogZG9tL0V2ZW50TGlzdGVuZXIuaWRsOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5pZGw6
CisgICAgICAgICogZG9tL01lc3NhZ2VDaGFubmVsLmlkbDoKKyAgICAgICAgKiBodG1sL1RpbWVS
YW5nZXMuaWRsOgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5pZGw6CisgICAgICAgICog
aHRtbC9Wb2lkQ2FsbGJhY2suaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc0dyYWRp
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbDoKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9DYW52YXNQaXhlbEFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQXJy
YXkuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQXJyYXlCdWZmZXIuaWRsOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTEJ5dGVBcnJheS5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xGbG9hdEFy
cmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmlkbDoKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEludEFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHTFByb2dyYW0uaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVy
YnVmZmVyLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFNoYWRlci5pZGw6CisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xTaG9ydEFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHTFRleHR1cmUuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMVW5pZm9y
bUxvY2F0aW9uLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFVuc2lnbmVkQnl0ZUFy
cmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFVuc2lnbmVkSW50QXJyYXkuaWRs
OgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMVW5zaWduZWRTaG9ydEFycmF5LmlkbDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGw6CisgICAgICAgICogbG9h
ZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRsOgorICAgICAgICAqIG5vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5pZGw6CisgICAgICAgICogcGFnZS9BYnN0cmFjdFZpZXcuaWRsOgorICAgICAg
ICAqIHBhZ2UvQmFySW5mby5pZGw6CisgICAgICAgICogcGFnZS9Db25zb2xlLmlkbDoKKyAgICAg
ICAgKiBwYWdlL0Nvb3JkaW5hdGVzLmlkbDoKKyAgICAgICAgKiBwYWdlL0RPTVNlbGVjdGlvbi5p
ZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBhZ2UvRXZlbnRT
b3VyY2UuaWRsOgorICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb24uaWRsOgorICAgICAgICAqIHBh
Z2UvR2VvcG9zaXRpb24uaWRsOgorICAgICAgICAqIHBhZ2UvSGlzdG9yeS5pZGw6CisgICAgICAg
ICogcGFnZS9Mb2NhdGlvbi5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaWRsOgorICAg
ICAgICAqIHBhZ2UvU2NyZWVuLmlkbDoKKyAgICAgICAgKiBwYWdlL1dlYktpdFBvaW50LmlkbDoK
KyAgICAgICAgKiBwYWdlL1dvcmtlck5hdmlnYXRvci5pZGw6CisgICAgICAgICogc3RvcmFnZS9E
YXRhYmFzZS5pZGw6CisgICAgICAgICogc3RvcmFnZS9TUUxFcnJvci5pZGw6CisgICAgICAgICog
c3RvcmFnZS9TUUxSZXN1bHRTZXQuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMUmVzdWx0U2V0
Um93TGlzdC5pZGw6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5pZGw6CisgICAg
ICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNh
dGVkV29ya2VyQ29udGV4dC5pZGw6CisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRs
OgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5pZGw6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5pZGw6
CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiB4bWwvWFBhdGhO
U1Jlc29sdmVyLmlkbDoKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3Nvci5pZGw6CisKIDIwMDkt
MTItMjMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC01NzYsNyArNTc2LDcgQEAg
c3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgJGltcGxJbmNsdWRlc3siJHtjbGFzc05hbWV9Q3VzdG9t
LmgifSA9IDEgaWYgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSGVhZGVy
In0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tUHV0RnVuY3Rpb24i
fSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJEZWxlZ2F0aW5nUHV0RnVuY3Rp
b24ifTsKIAogICAgIG15ICRoYXNHZXR0ZXIgPSAkbnVtQXR0cmlidXRlcyA+IDAgCi0gICAgICAg
ICAgICAgICAgIHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlQ29u
c3RydWN0b3IifSAKKyAgICAgICAgICAgICAgICAgfHwgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57Ik9taXRDb25zdHJ1Y3RvciJ9CiAgICAgICAgICAgICAgICAgIHx8ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0luZGV4R2V0dGVyIn0KICAgICAgICAgICAgICAg
ICAgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzQ3VzdG9tSW5kZXhHZXR0
ZXIifQogICAgICAgICAgICAgICAgICB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJIYXNOdW1lcmljSW5kZXhHZXR0ZXIifQpAQCAtNjc5LDcgKzY3OSw3IEBAIHN1YiBHZW5lcmF0
ZUhlYWRlcgogICAgIH0KIAogICAgICMgQ29uc3RydWN0b3Igb2JqZWN0IGdldHRlcgotICAgIHB1
c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBnZXRDb25zdHJ1Y3Rv
cihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqKTtcbiIpIGlmICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlQ29uc3RydWN0b3IifTsKKyAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgZ2V0Q29uc3RydWN0b3Io
SlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7XG4iKSBpZiAhJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiT21pdENvbnN0cnVjdG9yIn07CiAKICAgICBteSAkbnVt
Q3VzdG9tRnVuY3Rpb25zID0gMDsKICAgICBteSAkbnVtQ3VzdG9tQXR0cmlidXRlcyA9IDA7CkBA
IC04NjIsNyArODYyLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAgIH0KICAgICB9CiAK
LSAgICBpZiAoJG51bUF0dHJpYnV0ZXMgPiAwIHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkdlbmVyYXRlQ29uc3RydWN0b3IifSkgeworICAgIGlmICgkbnVtQXR0cmlidXRlcyA+
IDAgfHwgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9taXRDb25zdHJ1Y3RvciJ9
KSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsIi8vIEF0dHJpYnV0ZXNcblxuIik7CiAg
ICAgICAgIGZvcmVhY2ggbXkgJGF0dHJpYnV0ZSAoQHskZGF0YU5vZGUtPmF0dHJpYnV0ZXN9KSB7
CiAgICAgICAgICAgICBteSAkZ2V0dGVyID0gImpzIiAuICRpbnRlcmZhY2VOYW1lIC4gJGNvZGVH
ZW5lcmF0b3ItPldLX3VjZmlyc3QoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5uYW1lKSAuICgkYXR0
cmlidXRlLT5zaWduYXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC8gPyAiQ29uc3RydWN0b3Ii
IDogIiIpOwpAQCAtODczLDcgKzg3Myw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9KSB7CisgICAgICAgIGlmICghJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiT21pdENvbnN0cnVjdG9yIn0pIHsKICAgICAg
ICAgICAgIG15ICRnZXR0ZXIgPSAianMiIC4gJGludGVyZmFjZU5hbWUgLiAiQ29uc3RydWN0b3Ii
OwogICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIkpTQzo6SlNWYWx1ZSAke2dldHRl
cn0oSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImLCBjb25zdCBKU0M6OlBy
b3BlcnR5U2xvdCYpO1xuIik7CiAgICAgICAgIH0KQEAgLTk0Miw3ICs5NDIsNyBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgIyAtIEFkZCBhbGwgYXR0cmlidXRlcyBpbiBhIGhh
c2h0YWJsZSBkZWZpbml0aW9uCiAgICAgbXkgJG51bUF0dHJpYnV0ZXMgPSBAeyRkYXRhTm9kZS0+
YXR0cmlidXRlc307Ci0gICAgJG51bUF0dHJpYnV0ZXMrKyBpZiAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJHZW5lcmF0ZUNvbnN0cnVjdG9yIn07CisgICAgJG51bUF0dHJpYnV0ZXMr
KyBpZiAhJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiT21pdENvbnN0cnVjdG9yIn07
CiAKICAgICBpZiAoJG51bUF0dHJpYnV0ZXMgPiAwKSB7CiAgICAgICAgIG15ICRoYXNoU2l6ZSA9
ICRudW1BdHRyaWJ1dGVzOwpAQCAtOTgzLDcgKzk4Myw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVu
dGF0aW9uCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9KSB7CisgICAgICAg
IGlmICghJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiT21pdENvbnN0cnVjdG9yIn0p
IHsKICAgICAgICAgICAgIHB1c2goQGhhc2hLZXlzLCAiY29uc3RydWN0b3IiKTsKICAgICAgICAg
ICAgIG15ICRnZXR0ZXIgPSAianMiIC4gJGludGVyZmFjZU5hbWUgLiAiQ29uc3RydWN0b3IiOwog
ICAgICAgICAgICAgcHVzaChAaGFzaFZhbHVlMSwgJGdldHRlcik7CkBAIC0xMDAxLDcgKzEwMDEs
NyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIG15ICRudW1GdW5jdGlvbnMgPSBA
eyRkYXRhTm9kZS0+ZnVuY3Rpb25zfTsKIAogICAgICMgLSBBZGQgYWxsIGNvbnN0YW50cwotICAg
IGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJHZW5lcmF0ZUNvbnN0cnVjdG9y
In0pIHsKKyAgICBpZiAoISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9taXRDb25z
dHJ1Y3RvciJ9KSB7CiAgICAgICAgICRoYXNoU2l6ZSA9ICRudW1Db25zdGFudHM7CiAgICAgICAg
ICRoYXNoTmFtZSA9ICRjbGFzc05hbWUgLiAiQ29uc3RydWN0b3JUYWJsZSI7CiAKQEAgLTEyMzks
NyArMTIzOSw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgfQogCiAgICAgbXkg
JGhhc0dldHRlciA9ICRudW1BdHRyaWJ1dGVzID4gMCAKLSAgICAgICAgICAgICAgICAgfHwgJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9IAorICAg
ICAgICAgICAgICAgICB8fCAhJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiT21pdENv
bnN0cnVjdG9yIn0gCiAgICAgICAgICAgICAgICAgIHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57Ikhhc0luZGV4R2V0dGVyIn0KICAgICAgICAgICAgICAgICAgfHwgJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzQ3VzdG9tSW5kZXhHZXR0ZXIifQogICAgICAgICAg
ICAgICAgICB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNOdW1lcmljSW5k
ZXhHZXR0ZXIifQpAQCAtMTM5MCw3ICsxMzkwLDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRp
b24KICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxuIik7CiAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJH
ZW5lcmF0ZUNvbnN0cnVjdG9yIn0pIHsKKyAgICAgICAgICAgIGlmICghJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiT21pdENvbnN0cnVjdG9yIn0pIHsKICAgICAgICAgICAgICAgICBt
eSAkY29uc3RydWN0b3JGdW5jdGlvbk5hbWUgPSAianMiIC4gJGludGVyZmFjZU5hbWUgLiAiQ29u
c3RydWN0b3IiOwogCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJKU1ZhbHVl
ICR7Y29uc3RydWN0b3JGdW5jdGlvbk5hbWV9KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdClcbiIpOwpAQCAtMTU0OCw3ICsxNTQ4LDcg
QEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJ9XG5cbiIpOwogICAgIH0KIAotICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJHZW5lcmF0ZUNvbnN0cnVjdG9yIn0pIHsKKyAgICBpZiAoISRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57Ik9taXRDb25zdHJ1Y3RvciJ9KSB7CiAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiSlNWYWx1ZSAke2NsYXNzTmFtZX06OmdldENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSog
ZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdClcbntcbiIpOwogICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8JHtjbGFzc05hbWV9
Q29uc3RydWN0b3I+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFs
T2JqZWN0KSk7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOwpJbmRl
eDogV2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
Y3NzL0NTU1Vua25vd25SdWxlLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2Nzcy9D
U1NVbmtub3duUnVsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDggQEAgbW9kdWxl
IGNzcyB7CiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKICAgICBpbnRlcmZhY2Ug
WwogICAgICAgICBJbnRlcmZhY2VVVUlEPTM1NjcwMDk4LWI3MzItNDE5Yy1iN2NkLWRjMGQ1ZTI2
ZDVlMywKLSAgICAgICAgSW1wbGVtZW50YXRpb25VVUlEPTRiNzU1Zjg3LTI1MDktNGI5OC1hOTUz
LThlY2I4OGZlNGIyMQorICAgICAgICBJbXBsZW1lbnRhdGlvblVVSUQ9NGI3NTVmODctMjUwOS00
Yjk4LWE5NTMtOGVjYjg4ZmU0YjIxLAorICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAgICBdIENT
U1Vua25vd25SdWxlIDogQ1NTUnVsZSB7CiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTTWF0cml4LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRy
aXguaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvY3NzL1dlYktpdENTU01hdHJpeC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIG1vZHVsZSBjc3MgewogCiAgICAg
Ly8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgPzoKLSAgICBpbnRlcmZhY2UgV2ViS2l0Q1NTTWF0
cml4IHsKKyAgICBpbnRlcmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gV2ViS2l0Q1NTTWF0cml4IHsK
IAogICAgICAgICAvLyBUaGVzZSBhdHRyaWJ1dGVzIGFyZSBzaW1wbGUgYWxpYXNlcyBmb3IgY2Vy
dGFpbiBlbGVtZW50cyBvZiB0aGUgNHg0IG1hdHJpeAogICAgICAgICBhdHRyaWJ1dGUgZG91Ymxl
IGE7IC8vIGFsaWFzIGZvciBtMTEKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaWRsCShyZXZpc2lvbiA1
MjUyNykKKysrIFdlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNSw2ICsyNSw3IEBAIG1vZHVsZSBldmVudHMgewogICAgICAgICBOb1N0YXRpY1RhYmxlcywK
ICAgICAgICAgT2JqQ1Byb3RvY29sLAogICAgICAgICBQdXJlSW50ZXJmYWNlLAorICAgICAgICBP
bWl0Q29uc3RydWN0b3IsCiAgICAgICAgIEludGVyZmFjZVVVSUQ9QjA0RjJBRTMtNzFFMi00ZWJl
LUFCRkUtRUY0OTM4MzU0MDgyLAogICAgIF0gRXZlbnRMaXN0ZW5lciB7CiAgICAgICAgIHZvaWQg
ICAgICAgICAgICAgICBoYW5kbGVFdmVudChpbiBFdmVudCBldnQpOwpJbmRleDogV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAgbW9kdWxlIGV2ZW50cyB7CiAgICAgaW50ZXJm
YWNlIFsKICAgICAgICAgT2JqQ1Byb3RvY29sLAogICAgICAgICBQdXJlSW50ZXJmYWNlLAorICAg
ICAgICBPbWl0Q29uc3RydWN0b3IKICAgICAgICAgSW50ZXJmYWNlVVVJRD0xRDcxQzdFQy0wQkEw
LTQwNDQtQkRGRC01NkIzRThGNUY5RDQKICAgICBdIEV2ZW50VGFyZ2V0IHsKICAgICAgICAgW09s
ZFN0eWxlT2JqQ10gdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLCAKSW5k
ZXg6IFdlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9kb20v
TWVzc2FnZUNoYW5uZWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKIG1v
ZHVsZSBldmVudHMgewogCi0gICAgaW50ZXJmYWNlIFtDdXN0b21NYXJrRnVuY3Rpb24sIE5vU3Rh
dGljVGFibGVzXSBNZXNzYWdlQ2hhbm5lbCB7CisgICAgaW50ZXJmYWNlIFtDdXN0b21NYXJrRnVu
Y3Rpb24sIE5vU3RhdGljVGFibGVzLCBPbWl0Q29uc3RydWN0b3JdIE1lc3NhZ2VDaGFubmVsIHsK
IAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVzc2FnZVBvcnQgcG9ydDE7CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBNZXNzYWdlUG9ydCBwb3J0MjsKSW5kZXg6IFdlYkNvcmUvaHRt
bC9UaW1lUmFuZ2VzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvVGltZVJhbmdlcy5p
ZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9odG1sL1RpbWVSYW5nZXMuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIG1vZHVsZSBodG1sIHsKIAotaW50ZXJmYWNl
IFtDb25kaXRpb25hbD1WSURFT10gVGltZVJhbmdlcyB7CitpbnRlcmZhY2UgW0NvbmRpdGlvbmFs
PVZJREVPLCBPbWl0Q29uc3RydWN0b3JdIFRpbWVSYW5nZXMgewogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBmbG9hdCBzdGFydChpbiB1bnNpZ25lZCBs
b25nIGluZGV4KQogICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CkluZGV4OiBXZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL1ZhbGlk
aXR5U3RhdGUuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvaHRtbC9WYWxpZGl0eVN0
YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNyBAQAogCiBtb2R1bGUgaHRtbCB7
CiAKLSAgICBpbnRlcmZhY2UgVmFsaWRpdHlTdGF0ZSB7CisgICAgaW50ZXJmYWNlIFtPbWl0Q29u
c3RydWN0b3JdIFZhbGlkaXR5U3RhdGUgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiAgICAgICAgIHZhbHVlTWlzc2luZzsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gICAgICAgICB0eXBlTWlzbWF0Y2g7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuICAgICAgICAgcGF0dGVybk1pc21hdGNoOwpJbmRleDogV2ViQ29yZS9odG1sL1ZvaWRD
YWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL1ZvaWRDYWxsYmFjay5pZGwJ
KHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9odG1sL1ZvaWRDYWxsYmFjay5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50
ZXJmYWNlIFtDdXN0b21OYXRpdmVDb252ZXJ0ZXJdIFZvaWRDYWxsYmFjayB7CisgICAgaW50ZXJm
YWNlIFtDdXN0b21OYXRpdmVDb252ZXJ0ZXIsIE9taXRDb25zdHJ1Y3Rvcl0gVm9pZENhbGxiYWNr
IHsKICAgICAgICAgdm9pZCBoYW5kbGVFdmVudCgpOwogICAgIH07CiB9CkluZGV4OiBXZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyAr
MjcsOCBAQCBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBJbnRlcmZh
Y2VVVUlEPWJiMTEwOGVhLTZiOGMtNGEwOC04OTRhLTIxODYyODYzMGNkYiwKLSAgICAgICAgSW1w
bGVtZW50YXRpb25VVUlEPWEyOTQyYWU2LTI3MzEtNDI4Ni05OGNjLTlkNWU3OWUyMGRlMQorICAg
ICAgICBJbXBsZW1lbnRhdGlvblVVSUQ9YTI5NDJhZTYtMjczMS00Mjg2LTk4Y2MtOWQ1ZTc5ZTIw
ZGUxLAorICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAgICBdIENhbnZhc0dyYWRpZW50IHsKIAog
ICAgICAgICB2b2lkIGFkZENvbG9yU3RvcChpbiBmbG9hdCBvZmZzZXQsIGluIERPTVN0cmluZyBj
b2xvcikKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbAkocmV2aXNpb24g
NTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw3ICsyNyw4IEBAIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBb
CiAgICAgICAgIEludGVyZmFjZVVVSUQ9YzIxMzEzNDgtNmQ4Yy00N2I1LTg2Y2MtZDQxYWZmMzRj
ZTE1LAotICAgICAgICBJbXBsZW1lbnRhdGlvblVVSUQ9ODJmNWQ3MTMtM2QxNy00NGRkLWFhNGEt
Nzc2NmZlMzQ1OTQwCisgICAgICAgIEltcGxlbWVudGF0aW9uVVVJRD04MmY1ZDcxMy0zZDE3LTQ0
ZGQtYWE0YS03NzY2ZmUzNDU5NDAsCisgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gQ2Fu
dmFzUGF0dGVybiB7CiAKICAgICB9OwpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQ
aXhlbEFycmF5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Bp
eGVsQXJyYXkuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUGl4ZWxBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIG1vZHVs
ZSBodG1sIHsKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSB8fCAhTEFOR1VBR0Vf
SkFWQVNDUklQVCB8fCBkZWZpbmVkKFY4X0JJTkRJTkcpICYmIFY4X0JJTkRJTkcKICAgICBpbnRl
cmZhY2UgWworICAgICAgICBPbWl0Q29uc3RydWN0b3IsCiAgICAgICAgIEN1c3RvbUhlYWRlciwK
ICAgICAgICAgSGFzTnVtZXJpY0luZGV4R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNl
dHRlcgpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmlkbAkocmV2aXNp
b24gNTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAgbW9kdWxlIGh0bWwgewogCiAgICAgaW50ZXJm
YWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLAorICAgICAgICBPbWl0Q29uc3Ry
dWN0b3IKICAgICBdIFdlYkdMQWN0aXZlSW5mbyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBpbnQgc2l6ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGludCB0eXBl
OwpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFycmF5LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQXJyYXkuaWRsCShyZXZpc2lvbiA1MjUyNykKKysr
IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0
LDcgKzI0LDcgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRp
b25hbD0zRF9DQU5WQVMsIEN1c3RvbVRvSlNdIFdlYkdMQXJyYXkgeworICAgIGludGVyZmFjZSBb
Q29uZGl0aW9uYWw9M0RfQ0FOVkFTLCBDdXN0b21Ub0pTLCBPbWl0Q29uc3RydWN0b3JdIFdlYkdM
QXJyYXkgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgV2ViR0xBcnJheUJ1ZmZlciBidWZm
ZXI7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJ5dGVPZmZzZXQ7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJ5dGVMZW5ndGg7Cklu
ZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQXJyYXlCdWZmZXIuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBcnJheUJ1ZmZlci5pZGwJKHJldmlzaW9uIDUy
NTI3KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFycmF5QnVmZmVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAgICBpbnRl
cmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gV2ViR0xBcnJheUJ1ZmZlciB7CisgICAgaW50
ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMsIE9taXRDb25zdHJ1Y3Rvcl0gV2ViR0xBcnJh
eUJ1ZmZlciB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBpbnQgYnl0ZUxlbmd0aDsKICAg
ICB9OwogfQpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5pZGwJKHJldmlzaW9uIDUy
NTI3KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI0LDYgKzI0LDYgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNl
IFtDb25kaXRpb25hbD0zRF9DQU5WQVNdIFdlYkdMQnVmZmVyIHsKKyAgICBpbnRlcmZhY2UgW0Nv
bmRpdGlvbmFsPTNEX0NBTlZBUywgT21pdENvbnN0cnVjdG9yXSBXZWJHTEJ1ZmZlciB7CiAgICAg
fTsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCeXRlQXJyYXkuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCeXRlQXJyYXkuaWRsCShyZXZpc2lv
biA1MjUyNykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCeXRlQXJyYXkuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzTnVt
ZXJpY0luZGV4R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAg
R2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIEdlbmVyYXRlQ3VzdG9tQ29uc3RydWN0
b3IsCisgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICAgICAgQ3VzdG9tVG9KUwogICAgIF0g
V2ViR0xCeXRlQXJyYXkgOiBXZWJHTEFycmF5IHsKICAgICAgICAgbG9uZyBnZXQoaW4gdW5zaWdu
ZWQgbG9uZyBpbmRleCk7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRmxvYXRBcnJh
eS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZsb2F0QXJyYXku
aWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGbG9hdEFy
cmF5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQCBtb2R1bGUgaHRtbCB7CiAg
ICAgICAgIEhhc051bWVyaWNJbmRleEdldHRlciwKICAgICAgICAgSGFzQ3VzdG9tSW5kZXhTZXR0
ZXIsCiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAotICAgICAgICBHZW5lcmF0ZUN1
c3RvbUNvbnN0cnVjdG9yLAorICAgICAgICBPbWl0Q29uc3RydWN0b3IsCiAgICAgICAgIEN1c3Rv
bVRvSlMKICAgICBdIFdlYkdMRmxvYXRBcnJheSA6IFdlYkdMQXJyYXkgewogICAgICAgICBmbG9h
dCBnZXQoaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMRnJhbWVidWZmZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xGcmFtZWJ1ZmZlci5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTEZyYW1lYnVmZmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNiBA
QAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NB
TlZBU10gV2ViR0xGcmFtZWJ1ZmZlciB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9D
QU5WQVMsIE9taXRDb25zdHJ1Y3Rvcl0gV2ViR0xGcmFtZWJ1ZmZlciB7CiAgICAgfTsKIH0KSW5k
ZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xJbnRBcnJheS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEludEFycmF5LmlkbAkocmV2aXNpb24gNTI1MjcpCisr
KyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMSW50QXJyYXkuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zMCw3ICszMCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzTnVtZXJpY0luZGV4R2V0
dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2VuZXJhdGVOYXRp
dmVDb252ZXJ0ZXIsCi0gICAgICAgIEdlbmVyYXRlQ3VzdG9tQ29uc3RydWN0b3IsCisgICAgICAg
IE9taXRDb25zdHJ1Y3RvciwKICAgICAgICAgQ3VzdG9tVG9KUwogICAgIF0gV2ViR0xJbnRBcnJh
eSA6IFdlYkdMQXJyYXkgewogICAgICAgICBsb25nIGdldChpbiB1bnNpZ25lZCBsb25nIGluZGV4
KTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5pZGwJKHJldmlzaW9uIDUyNTI3
KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNCw2ICsyNCw2IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBb
Q29uZGl0aW9uYWw9M0RfQ0FOVkFTXSBXZWJHTFByb2dyYW0geworICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9M0RfQ0FOVkFTLCBPbWl0Q29uc3RydWN0b3JdIFdlYkdMUHJvZ3JhbSB7CiAgICAg
fTsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaWRsCShy
ZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw2IEBACiAgKi8KIAogbW9kdWxlIGh0bWwg
ewotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTXSBXZWJHTFJlbmRlcmJ1ZmZl
ciB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMsIE9taXRDb25zdHJ1Y3Rv
cl0gV2ViR0xSZW5kZXJidWZmZXIgewogICAgIH07CiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMU2hhZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMU2hhZGVyLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMU2hhZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNiBAQAogICovCiAKIG1v
ZHVsZSBodG1sIHsKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gV2ViR0xT
aGFkZXIgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLCBPbWl0Q29uc3Ry
dWN0b3JdIFdlYkdMU2hhZGVyIHsKICAgICB9OwogfQpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFNob3J0QXJyYXkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xTaG9ydEFycmF5LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMU2hvcnRBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAg
bW9kdWxlIGh0bWwgewogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhh
c0N1c3RvbUluZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAg
ICAgICAgR2VuZXJhdGVDdXN0b21Db25zdHJ1Y3RvciwKKyAgICAgICAgT21pdENvbnN0cnVjdG9y
LAogICAgICAgICBDdXN0b21Ub0pTCiAgICAgXSBXZWJHTFNob3J0QXJyYXkgOiBXZWJHTEFycmF5
IHsKICAgICAgICAgbG9uZyBnZXQoaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7CkluZGV4OiBXZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQs
NiBAQAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNE
X0NBTlZBU10gV2ViR0xUZXh0dXJlIHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NB
TlZBUywgT21pdENvbnN0cnVjdG9yXSBXZWJHTFRleHR1cmUgewogICAgIH07CiB9CkluZGV4OiBX
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbAkocmV2aXNpb24g
NTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNiBAQAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAg
ICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gV2ViR0xVbmlmb3JtTG9jYXRpb24g
eworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLCBPbWl0Q29uc3RydWN0b3Jd
IFdlYkdMVW5pZm9ybUxvY2F0aW9uIHsKICAgICB9OwogfQpJbmRleDogV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFVuc2lnbmVkQnl0ZUFycmF5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMVW5zaWduZWRCeXRlQXJyYXkuaWRsCShyZXZpc2lvbiA1MjUyNykKKysr
IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbnNpZ25lZEJ5dGVBcnJheS5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTMwLDcgKzMwLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBIYXNOdW1lcmlj
SW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUluZGV4U2V0dGVyLAogICAgICAgICBHZW5l
cmF0ZU5hdGl2ZUNvbnZlcnRlciwKLSAgICAgICAgR2VuZXJhdGVDdXN0b21Db25zdHJ1Y3RvciwK
KyAgICAgICAgT21pdENvbnN0cnVjdG9yLAogICAgICAgICBDdXN0b21Ub0pTCiAgICAgXSBXZWJH
TFVuc2lnbmVkQnl0ZUFycmF5IDogV2ViR0xBcnJheSB7CiAgICAgICAgIGxvbmcgZ2V0KGluIHVu
c2lnbmVkIGxvbmcgaW5kZXgpOwpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuc2ln
bmVkSW50QXJyYXkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xV
bnNpZ25lZEludEFycmF5LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMVW5zaWduZWRJbnRBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMw
LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAg
ICAgIEhhc0N1c3RvbUluZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRl
ciwKLSAgICAgICAgR2VuZXJhdGVDdXN0b21Db25zdHJ1Y3RvciwKKyAgICAgICAgT21pdENvbnN0
cnVjdG9yLAogICAgICAgICBDdXN0b21Ub0pTCiAgICAgXSBXZWJHTFVuc2lnbmVkSW50QXJyYXkg
OiBXZWJHTEFycmF5IHsKICAgICAgICAgdW5zaWduZWQgbG9uZyBnZXQoaW4gdW5zaWduZWQgbG9u
ZyBpbmRleCk7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5zaWduZWRTaG9ydEFy
cmF5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5zaWduZWRT
aG9ydEFycmF5LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMVW5zaWduZWRTaG9ydEFycmF5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBA
QCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIEhhc051bWVyaWNJbmRleEdldHRlciwKICAgICAgICAg
SGFzQ3VzdG9tSW5kZXhTZXR0ZXIsCiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAot
ICAgICAgICBHZW5lcmF0ZUN1c3RvbUNvbnN0cnVjdG9yLAorICAgICAgICBPbWl0Q29uc3RydWN0
b3IsCiAgICAgICAgIEN1c3RvbVRvSlMKICAgICBdIFdlYkdMVW5zaWduZWRTaG9ydEFycmF5IDog
V2ViR0xBcnJheSB7CiAgICAgICAgIGxvbmcgZ2V0KGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJ
bmRleDogV2ViQ29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGwJKHJldmlzaW9u
IDUyNTI3KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogbW9kdWxlIGluc3BlY3RvciB7CiAKLSAg
ICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPUpBVkFTQ1JJUFRfREVCVUdHRVJdIEphdmFTY3JpcHRD
YWxsRnJhbWUgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9SkFWQVNDUklQVF9ERUJVR0dF
UiwgT21pdENvbnN0cnVjdG9yXSBKYXZhU2NyaXB0Q2FsbEZyYW1lIHsKICAgICAgICAgW0N1c3Rv
bV0gdm9pZCBldmFsdWF0ZShpbiBET01TdHJpbmcgc2NyaXB0KTsKIAogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgSmF2YVNjcmlwdENhbGxGcmFtZSBjYWxsZXI7CkluZGV4OiBXZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbAkocmV2aXNpb24gNTI1
MjcpCisrKyBXZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsOCBAQCBtb2R1bGUgb2ZmbGluZSB7CiAgCiAgICAg
aW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9T0ZGTElORV9XRUJfQVBQTElDQVRJT05T
LAotICAgICAgICBFdmVudFRhcmdldAorICAgICAgICBFdmVudFRhcmdldCwKKyAgICAgICAgT21p
dENvbnN0cnVjdG9yCiAgICAgXSBET01BcHBsaWNhdGlvbkNhY2hlIHsKICAgICAgICAgLy8gdXBk
YXRlIHN0YXR1cwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBVTkNBQ0hFRCA9IDA7Cklu
ZGV4OiBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAkocmV2aXNpb24gNTI1Mjcp
CisrKyBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzIsNyArMzIsOCBAQCBtb2R1bGUgdGhyZWFkcyB7CiAKICAgICBpbnRlcmZhY2UgWwog
ICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAotICAgICAgICBFdmVudFRhcmdldAor
ICAgICAgICBFdmVudFRhcmdldCwKKyAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBOb3Rp
ZmljYXRpb24gewogICAgICAgICB2b2lkIHNob3coKTsKICAgICAgICAgdm9pZCBjYW5jZWwoKTsK
SW5kZXg6IFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCShy
ZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw4IEBACiBtb2R1bGUgdGhyZWFkcyB7
CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TCisg
ICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCisgICAgICAgIE9taXRDb25zdHJ1Y3Rv
cgogICAgIF0gTm90aWZpY2F0aW9uQ2VudGVyIHsKICAgICAgICBbVjhDdXN0b21dIE5vdGlmaWNh
dGlvbiBjcmVhdGVIVE1MTm90aWZpY2F0aW9uKGluIERPTVN0cmluZyB1cmwpIHJhaXNlcyhFeGNl
cHRpb24pOwogICAgICAgIFtWOEN1c3RvbV0gTm90aWZpY2F0aW9uIGNyZWF0ZU5vdGlmaWNhdGlv
bihpbiBET01TdHJpbmcgaWNvblVybCwgaW4gRE9NU3RyaW5nIHRpdGxlLCBpbiBET01TdHJpbmcg
Ym9keSkgcmFpc2VzKEV4Y2VwdGlvbik7CkluZGV4OiBXZWJDb3JlL3BhZ2UvQWJzdHJhY3RWaWV3
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbAkocmV2aXNp
b24gNTI1MjcpCisrKyBXZWJDb3JlL3BhZ2UvQWJzdHJhY3RWaWV3LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNyArMjgsOCBAQCBtb2R1bGUgdmlld3MgewogCiAgICAgLy8gSW50cm9kdWNlZCBp
biBET00gTGV2ZWwgMjoKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBPYmpDQ3VzdG9tSW1wbGVt
ZW50YXRpb24KKyAgICAgICAgT2JqQ0N1c3RvbUltcGxlbWVudGF0aW9uLAorICAgICAgICBPbWl0
Q29uc3RydWN0b3IKICAgICBdIEFic3RyYWN0VmlldyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBEb2N1bWVudCBkb2N1bWVudDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlh
IG1lZGlhOwpJbmRleDogV2ViQ29yZS9wYWdlL0JhckluZm8uaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGFnZS9CYXJJbmZvLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3BhZ2Uv
QmFySW5mby5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogbW9kdWxlIHdp
bmRvdyB7CiAKLSAgICBpbnRlcmZhY2UgQmFySW5mbyB7CisgICAgaW50ZXJmYWNlIFtPbWl0Q29u
c3RydWN0b3JdIEJhckluZm8gewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB2
aXNpYmxlOwogICAgIH07CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9Db25zb2xlLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BhZ2UvQ29uc29sZS5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2Vi
Q29yZS9wYWdlL0NvbnNvbGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAK
IG1vZHVsZSB3aW5kb3cgewogCi0gICAgaW50ZXJmYWNlIENvbnNvbGUgeworICAgIGludGVyZmFj
ZSBbT21pdENvbnN0cnVjdG9yXSBDb25zb2xlIHsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIpICYmIEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSCiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tR2V0dGVyXSBBcnJheSBwcm9maWxlczsKSW5kZXg6IFdl
YkNvcmUvcGFnZS9Db29yZGluYXRlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0Nv
b3JkaW5hdGVzLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3BhZ2UvQ29vcmRpbmF0
ZXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIG1vZHVsZSBjb3JlIHsK
IAotICAgIGludGVyZmFjZSBDb29yZGluYXRlcyB7CisgICAgaW50ZXJmYWNlIFtPbWl0Q29uc3Ry
dWN0b3JdIENvb3JkaW5hdGVzIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBs
YXRpdHVkZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBsb25naXR1ZGU7CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgYWx0aXR1ZGU7CkluZGV4
OiBXZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bh
Z2UvRE9NU2VsZWN0aW9uLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3BhZ2UvRE9N
U2VsZWN0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQCBtb2R1bGUgd2lu
ZG93IHsKIAogICAgIC8vIFRoaXMgaXMgYmFzZWQgb2ZmIG9mIE1vemlsbGEncyBTZWxlY3Rpb24g
aW50ZXJmYWNlCiAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvRW4vRE9NL1Nl
bGVjdGlvbgotICAgIGludGVyZmFjZSBET01TZWxlY3Rpb24geworICAgIGludGVyZmFjZSBbT21p
dENvbnN0cnVjdG9yXSBET01TZWxlY3Rpb24gewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
Tm9kZSBhbmNob3JOb2RlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBhbmNob3JP
ZmZzZXQ7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlIGZvY3VzTm9kZTsKSW5kZXg6
IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAg
ICAgICBDdXN0b21OYXRpdmVDb252ZXJ0ZXIsCiAgICAgICAgIEN1c3RvbVB1dEZ1bmN0aW9uLAog
ICAgICAgICBFdmVudFRhcmdldCwKKyAgICAgICAgT21pdENvbnN0cnVjdG9yLAogICAgICAgICBF
eHRlbmRzRE9NR2xvYmFsT2JqZWN0LAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwK
ICAgICAgICAgTGVnYWN5UGFyZW50PUpTRE9NV2luZG93QmFzZQpJbmRleDogV2ViQ29yZS9wYWdl
L0V2ZW50U291cmNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgaW50ZXJm
YWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9RVZFTlRTT1VSQ0UsCiAgICAgICAgIEV2ZW50VGFy
Z2V0LAorICAgICAgICBPbWl0Q29uc3RydWN0b3IsCiAgICAgICAgIE5vU3RhdGljVGFibGVzCiAg
ICAgXSBFdmVudFNvdXJjZSB7CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uLmlkbAkocmV2aXNpb24gNTI1
MjcpCisrKyBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw3ICsyNSw3IEBACiAKIG1vZHVsZSBjb3JlIHsKIAotICAgIGludGVyZmFjZSBHZW9sb2NhdGlv
biB7CisgICAgaW50ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3JdIEdlb2xvY2F0aW9uIHsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEdlb3Bvc2l0aW9uIGxhc3RQb3NpdGlvbjsKIAogICAgICAg
ICBbQ3VzdG9tXSB2b2lkIGdldEN1cnJlbnRQb3NpdGlvbihpbiBQb3NpdGlvbkNhbGxiYWNrIHN1
Y2Nlc3NDYWxsYmFjaywgaW4gUG9zaXRpb25FcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIGlu
IFBvc2l0aW9uT3B0aW9ucyBvcHRpb25zKTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9HZW9wb3NpdGlv
bi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9uLmlkbAkocmV2aXNp
b24gNTI1MjcpCisrKyBXZWJDb3JlL3BhZ2UvR2VvcG9zaXRpb24uaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSw3ICsyNSw3IEBACiAKIG1vZHVsZSBjb3JlIHsKIAotICAgIGludGVyZmFjZSBHZW9w
b3NpdGlvbiB7CisgICAgaW50ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3JdIEdlb3Bvc2l0aW9uIHsK
ICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENvb3JkaW5hdGVzIGNvb3JkczsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVRpbWVTdGFtcCB0aW1lc3RhbXA7CiAgICAgfTsKSW5kZXg6
IFdlYkNvcmUvcGFnZS9IaXN0b3J5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvSGlz
dG9yeS5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBE
ZWxlZ2F0aW5nR2V0T3duUHJvcGVydHlTbG90LAogICAgICAgICBEZWxlZ2F0aW5nUHV0RnVuY3Rp
b24sCiAgICAgICAgIEN1c3RvbURlbGV0ZVByb3BlcnR5LAotICAgICAgICBDdXN0b21HZXRQcm9w
ZXJ0eU5hbWVzCisgICAgICAgIEN1c3RvbUdldFByb3BlcnR5TmFtZXMsCisgICAgICAgIE9taXRD
b25zdHJ1Y3RvcgogICAgIF0gSGlzdG9yeSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGxlbmd0aDsKIApJbmRleDogV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCShyZXZpc2lvbiA1MjUyNykK
KysrIFdlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4
LDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIEN1c3RvbUdldFByb3BlcnR5TmFtZXMsCiAg
ICAgICAgIEN1c3RvbURlZmluZUdldHRlciwKICAgICAgICAgRGVsZWdhdGluZ1Byb3RvdHlwZVB1
dEZ1bmN0aW9uLAotICAgICAgICBDdXN0b21Qcm90b3R5cGVEZWZpbmVHZXR0ZXIKKyAgICAgICAg
Q3VzdG9tUHJvdG90eXBlRGVmaW5lR2V0dGVyLAorICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAg
ICBdIExvY2F0aW9uIHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtEb05vdENoZWNrRG9t
YWluU2VjdXJpdHlPblNldCwgQ3VzdG9tU2V0dGVyLCBWOERpc2FsbG93U2hhZG93aW5nXSBET01T
dHJpbmcgaHJlZjsKIApJbmRleDogV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2Vi
Q29yZS9wYWdlL05hdmlnYXRvci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDggQEAK
IG1vZHVsZSB3aW5kb3cgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ3VzdG9tTWFya0Z1
bmN0aW9uCisgICAgICAgIEN1c3RvbU1hcmtGdW5jdGlvbiwKKyAgICAgICAgT21pdENvbnN0cnVj
dG9yCiAgICAgXSBOYXZpZ2F0b3IgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGFwcENvZGVOYW1lOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFw
cE5hbWU7CkluZGV4OiBXZWJDb3JlL3BhZ2UvU2NyZWVuLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BhZ2UvU2NyZWVuLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3BhZ2UvU2Ny
ZWVuLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogCiBtb2R1bGUgd2luZG93
IHsKIAotICAgIGludGVyZmFjZSBTY3JlZW4geworICAgIGludGVyZmFjZSBbT21pdENvbnN0cnVj
dG9yXSBTY3JlZW4gewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBo
ZWlnaHQ7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOwog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBjb2xvckRlcHRoOwpJbmRl
eDogV2ViQ29yZS9wYWdlL1dlYktpdFBvaW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bh
Z2UvV2ViS2l0UG9pbnQuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvcGFnZS9XZWJL
aXRQb2ludC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogbW9kdWxlIHdp
bmRvdyB7CiAKLSAgICBpbnRlcmZhY2UgV2ViS2l0UG9pbnQgeworICAgIGludGVyZmFjZSBbT21p
dENvbnN0cnVjdG9yXSBXZWJLaXRQb2ludCB7CiAgICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB4Owog
ICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgeTsKICAgICB9OwpJbmRleDogV2ViQ29yZS9wYWdlL1dv
cmtlck5hdmlnYXRvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1dvcmtlck5hdmln
YXRvci5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRv
ci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDggQEAgbW9kdWxlIHRocmVhZHMgewog
CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9V09SS0VSUywKLSAgICAgICAg
Tm9TdGF0aWNUYWJsZXMKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMsCisgICAgICAgIE9taXRDb25z
dHJ1Y3RvcgogICAgIF0gV29ya2VyTmF2aWdhdG9yIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyBhcHBOYW1lOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGFwcFZlcnNpb247CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5pZGwJKHJldmlzaW9uIDUyNTI3KQor
KysgV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyAr
MjksOCBAQAogbW9kdWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29u
ZGl0aW9uYWw9REFUQUJBU0UKKyAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAg
IE9taXRDb25zdHJ1Y3RvcgogICAgIF0gRGF0YWJhc2UgewogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHZlcnNpb247CiAgICAgICAgIFtDdXN0b21dIHZvaWQgY2hhbmdlVmVy
c2lvbihpbiBET01TdHJpbmcgb2xkVmVyc2lvbiwgaW4gRE9NU3RyaW5nIG5ld1ZlcnNpb24sIGlu
IFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGluIFNRTFRyYW5zYWN0aW9uRXJyb3JD
YWxsYmFjayBlcnJvckNhbGxiYWNrLCBpbiBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrKTsK
SW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdG9yYWdlL1NRTEVycm9yLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3N0b3Jh
Z2UvU1FMRXJyb3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw4IEBACiBtb2R1bGUg
c3RvcmFnZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFT
RQorICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFTRSwKKyAgICAgICAgT21pdENvbnN0cnVjdG9y
CiAgICAgXSBTUUxFcnJvciB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIGNvZGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbWVzc2FnZTsK
SW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNv
cmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw4
IEBACiBtb2R1bGUgc3RvcmFnZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRp
b25hbD1EQVRBQkFTRQorICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFTRSwKKyAgICAgICAgT21p
dENvbnN0cnVjdG9yCiAgICAgXSBTUUxSZXN1bHRTZXQgewogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgU1FMUmVzdWx0U2V0Um93TGlzdCByb3dzOwogCkluZGV4OiBXZWJDb3JlL3N0b3JhZ2Uv
U1FMUmVzdWx0U2V0Um93TGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1NR
TFJlc3VsdFNldFJvd0xpc3QuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvc3RvcmFn
ZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksOCBA
QAogbW9kdWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9u
YWw9REFUQUJBU0UKKyAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIE9taXRD
b25zdHJ1Y3RvcgogICAgIF0gU1FMUmVzdWx0U2V0Um93TGlzdCB7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICAgICAgW0N1c3RvbV0gRE9NT2Jq
ZWN0IGl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2Uv
U1FMVHJhbnNhY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9TUUxUcmFu
c2FjdGlvbi5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksOCBAQAogbW9kdWxlIHN0b3Jh
Z2UgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UKKyAg
ICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAg
IF0gU1FMVHJhbnNhY3Rpb24gewogICAgICAgICBbQ3VzdG9tXSB2b2lkIGV4ZWN1dGVTcWwoaW4g
RE9NU3RyaW5nIHNxbFN0YXRlbWVudCwgaW4gT2JqZWN0QXJyYXkgYXJndW1lbnRzLCBpbiBTUUxT
dGF0ZW1lbnRDYWxsYmFjayBjYWxsYmFjaywgaW4gU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjayBl
cnJvckNhbGxiYWNrKTsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvRWxlbWVudFRpbWVDb250
cm9sLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9FbGVtZW50VGltZUNvbnRyb2wuaWRs
CShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvc3ZnL0VsZW1lbnRUaW1lQ29udHJvbC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICAKIG1vZHVsZSBzdmcgewogCi0gICAg
aW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcsIE9iakNQcm90b2NvbF0gRWxlbWVudFRpbWVDb250
cm9sIHsgCisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcsIE9iakNQcm90b2NvbCwgT21p
dENvbnN0cnVjdG9yXSBFbGVtZW50VGltZUNvbnRyb2wgeyAKICAgICAgICAgdm9pZCBiZWdpbkVs
ZW1lbnQoKTsKICAgICAgICAgdm9pZCBiZWdpbkVsZW1lbnRBdChpbiBmbG9hdCBvZmZzZXQpOwog
ICAgICAgICB2b2lkIGVuZEVsZW1lbnQoKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGlv
bkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1l
bnQuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIG1vZHVsZSBzdmcgewog
Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkdfQU5JTUFUSU9OXSBTVkdBbmltYXRpb25F
bGVtZW50IDogU1ZHRWxlbWVudCwKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWR19BTklN
QVRJT04sIE9taXRDb25zdHJ1Y3Rvcl0gU1ZHQW5pbWF0aW9uRWxlbWVudCA6IFNWR0VsZW1lbnQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
VkdUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGVtZW50VGltZUNvbnRyb2wgewpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5pZGwJKHJl
dmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogbW9kdWxlIHN2ZyB7CiAK
LSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRywgT2JqQ1Byb3RvY29sXSBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkIHsgCisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcsIE9i
akNQcm90b2NvbCwgT21pdENvbnN0cnVjdG9yXSBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
IHsgCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZEJvb2xlYW4gZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZDsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaXRU
b1ZpZXdCb3guaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5p
ZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGlu
dGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHLCBPYmpDUHJvdG9jb2xdIFNWR0ZpdFRvVmlld0JveCB7
CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcsIE9iakNQcm90b2NvbCwgT21pdENvbnN0
cnVjdG9yXSBTVkdGaXRUb1ZpZXdCb3ggewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZH
QW5pbWF0ZWRSZWN0ICAgICAgICAgICAgICAgIHZpZXdCb3g7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8gcHJlc2VydmVBc3BlY3RSYXRp
bzsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGFuZ1NwYWNlLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMYW5nU3BhY2UuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdl
YkNvcmUvc3ZnL1NWR0xhbmdTcGFjZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcg
QEAKIAogbW9kdWxlIHN2ZyB7CiAKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRywgT2Jq
Q1Byb3RvY29sXSBTVkdMYW5nU3BhY2UgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZH
LCBPYmpDUHJvdG9jb2wsIE9taXRDb25zdHJ1Y3Rvcl0gU1ZHTGFuZ1NwYWNlIHsKICAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIGNvcmU6OkRPTVN0cmluZyB4bWxsYW5nCiAgICAgICAgICAgICAg
ICAgICAgICAvKnNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKSovOwogICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgY29yZTo6RE9NU3RyaW5nIHhtbHNwYWNlCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdMb2NhdGFibGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5p
ZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVy
ZmFjZSBbQ29uZGl0aW9uYWw9U1ZHLCBPYmpDUHJvdG9jb2xdIFNWR0xvY2F0YWJsZSB7CisgICAg
aW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcsIE9iakNQcm90b2NvbCwgT21pdENvbnN0cnVjdG9y
XSBTVkdMb2NhdGFibGUgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHRWxlbWVudCBu
ZWFyZXN0Vmlld3BvcnRFbGVtZW50OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHRWxl
bWVudCBmYXJ0aGVzdFZpZXdwb3J0RWxlbWVudDsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3R5
bGFibGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxhYmxlLmlkbAkocmV2
aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsYWJsZS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDcgKzI3LDcgQEAKIAogbW9kdWxlIHN2ZyB7CiAKLSAgICBpbnRlcmZhY2UgW0Nv
bmRpdGlvbmFsPVNWRywgT2JqQ1Byb3RvY29sXSBTVkdTdHlsYWJsZSB7CisgICAgaW50ZXJmYWNl
IFtDb25kaXRpb25hbD1TVkcsIE9iakNQcm90b2NvbCwgT21pdENvbnN0cnVjdG9yXSBTVkdTdHls
YWJsZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFN0cmluZyBjbGFz
c05hbWU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBjc3M6OkNTU1N0eWxlRGVjbGFyYXRp
b24gc3R5bGU7CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1Rlc3RzLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdUZXN0cy5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9z
dmcvU1ZHVGVzdHMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKIG1vZHVs
ZSBzdmcgewogCi0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcsIE9iakNQcm90b2NvbF0g
U1ZHVGVzdHMgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHLCBPYmpDUHJvdG9jb2ws
IE9taXRDb25zdHJ1Y3Rvcl0gU1ZHVGVzdHMgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
U1ZHU3RyaW5nTGlzdCByZXF1aXJlZEZlYXR1cmVzOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgU1ZHU3RyaW5nTGlzdCByZXF1aXJlZEV4dGVuc2lvbnM7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBTVkdTdHJpbmdMaXN0IHN5c3RlbUxhbmd1YWdlOwpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHVHJhbnNmb3JtYWJsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVHJhbnNm
b3JtYWJsZS5pZGwJKHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3Jt
YWJsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogbW9kdWxlIHN2ZyB7
CiAKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRywgT2JqQ1Byb3RvY29sXSBTVkdUcmFu
c2Zvcm1hYmxlIDogU1ZHTG9jYXRhYmxlIHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNW
RywgT2JqQ1Byb3RvY29sLCBPbWl0Q29uc3RydWN0b3JdIFNWR1RyYW5zZm9ybWFibGUgOiBTVkdM
b2NhdGFibGUgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRUcmFuc2Zv
cm1MaXN0IHRyYW5zZm9ybTsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdVUklSZWZl
cmVuY2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5jZS5pZGwJ
KHJldmlzaW9uIDUyNTI3KQorKysgV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVy
ZmFjZSBbQ29uZGl0aW9uYWw9U1ZHLCBPYmpDUHJvdG9jb2xdIFNWR1VSSVJlZmVyZW5jZSB7Cisg
ICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcsIE9iakNQcm90b2NvbCwgT21pdENvbnN0cnVj
dG9yXSBTVkdVUklSZWZlcmVuY2UgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5p
bWF0ZWRTdHJpbmcgaHJlZjsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Lmlk
bAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsOCBAQCBtb2R1bGUgd2Vic29ja2V0cyB7CiAgICAg
aW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9V0VCX1NPQ0tFVFMsCiAgICAgICAgIEV2
ZW50VGFyZ2V0LAotICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgICAgICBOb1N0YXRpY1RhYmxl
cywKKyAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBXZWJTb2NrZXQgewogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIFVSTDsKIApJbmRleDogV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckNvbnRleHQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3Jl
L3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDcgKzM1LDggQEAgbW9kdWxlIHRocmVhZHMgewogICAgICAgICBFeHRlbmRzRE9NR2xvYmFsT2Jq
ZWN0LAogICAgICAgICBJc1dvcmtlckNvbnRleHQsCiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29u
dmVydGVyLAotICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgICAgICBOb1N0YXRpY1RhYmxlcywK
KyAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0IDog
V29ya2VyQ29udGV4dCB7CiAKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExB
TkdVQUdFX0pBVkFTQ1JJUFQKSW5kZXg6IFdlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsCShyZXZpc2lv
biA1MjUyNykKKysrIFdlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zNCw3ICszNCw4IEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgQ29uZGl0aW9u
YWw9U0hBUkVEX1dPUktFUlMsCiAgICAgICAgIEN1c3RvbU1hcmtGdW5jdGlvbiwKICAgICAgICAg
R2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIEdlbmVyYXRlVG9KUworICAgICAgICBH
ZW5lcmF0ZVRvSlMsCisgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gU2hhcmVkV29ya2Vy
IDogQWJzdHJhY3RXb3JrZXIgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVzc2FnZVBv
cnQgcG9ydDsKICAgICB9OwpJbmRleDogV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRl
eHQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0
LmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29u
dGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDggQEAgbW9kdWxlIHRocmVhZHMg
ewogICAgICAgICBFeHRlbmRzRE9NR2xvYmFsT2JqZWN0LAogICAgICAgICBJc1dvcmtlckNvbnRl
eHQsCiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLAotICAgICAgICBOb1N0YXRpY1Rh
YmxlcworICAgICAgICBOb1N0YXRpY1RhYmxlcywKKyAgICAgICAgT21pdENvbnN0cnVjdG9yCiAg
ICAgXSBTaGFyZWRXb3JrZXJDb250ZXh0IDogV29ya2VyQ29udGV4dCB7CiAKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwpJbmRleDogV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwJKHJldmlz
aW9uIDUyNTI3KQorKysgV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDcgKzI5LDggQEAgbW9kdWxlIHRocmVhZHMgewogICAgIGludGVyZmFjZSBbCiAgICAg
ICAgIENvbmRpdGlvbmFsPVdPUktFUlMsCiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVy
LAotICAgICAgICBHZW5lcmF0ZVRvSlMKKyAgICAgICAgR2VuZXJhdGVUb0pTLAorICAgICAgICBP
bWl0Q29uc3RydWN0b3IKICAgICBdIFdvcmtlciA6IEFic3RyYWN0V29ya2VyIHsKIAogICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbm1lc3NhZ2U7CkluZGV4OiBXZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckNvbnRleHQuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsOCBAQCBtb2R1bGUgdGhyZWFk
cyB7CiAgICAgICAgIEV4dGVuZHNET01HbG9iYWxPYmplY3QsCiAgICAgICAgIElzV29ya2VyQ29u
dGV4dCwKICAgICAgICAgTGVnYWN5UGFyZW50PUpTV29ya2VyQ29udGV4dEJhc2UsCi0gICAgICAg
IE5vU3RhdGljVGFibGVzCisgICAgICAgIE5vU3RhdGljVGFibGVzLAorICAgICAgICBPbWl0Q29u
c3RydWN0b3IKICAgICBdIFdvcmtlckNvbnRleHQgewogCiAgICAgICAgIC8vIFdvcmtlckdsb2Jh
bFNjb3BlCkluZGV4OiBXZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaWRsCShyZXZpc2lvbiA1MjUyNykKKysrIFdl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEs
OCBAQCBtb2R1bGUgeG1sIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDdXN0b21NYXJrRnVu
Y3Rpb24sCiAgICAgICAgIEV2ZW50VGFyZ2V0LAotICAgICAgICBOb1N0YXRpY1RhYmxlcworICAg
ICAgICBOb1N0YXRpY1RhYmxlcywKKyAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBYTUxI
dHRwUmVxdWVzdCB7CiAgICAgICAgIC8vIEZyb20gWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldAog
ICAgICAgICAvLyBldmVudCBoYW5kbGVyIGF0dHJpYnV0ZXMKSW5kZXg6IFdlYkNvcmUveG1sL1hQ
YXRoTlNSZXNvbHZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS94bWwvWFBhdGhOU1Jlc29s
dmVyLmlkbAkocmV2aXNpb24gNTI1MjcpCisrKyBXZWJDb3JlL3htbC9YUGF0aE5TUmVzb2x2ZXIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAKIG1vZHVsZSB4cGF0aCB7CiAK
LSAgICBpbnRlcmZhY2UgW09iakNQcm90b2NvbCwgQ29uZGl0aW9uYWw9WFBBVEhdIFhQYXRoTlNS
ZXNvbHZlciB7CisgICAgaW50ZXJmYWNlIFtPYmpDUHJvdG9jb2wsIENvbmRpdGlvbmFsPVhQQVRI
LCBPbWl0Q29uc3RydWN0b3JdIFhQYXRoTlNSZXNvbHZlciB7CiAgICAgICAgIFtDb252ZXJ0TnVs
bFN0cmluZ1RvPU51bGxdIERPTVN0cmluZyBsb29rdXBOYW1lc3BhY2VVUkkoaW4gRE9NU3RyaW5n
IHByZWZpeCk7CiAgICAgfTsKIApJbmRleDogV2ViQ29yZS94bWwvWFNMVFByb2Nlc3Nvci5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS94bWwvWFNMVFByb2Nlc3Nvci5pZGwJKHJldmlzaW9uIDUy
NTI3KQorKysgV2ViQ29yZS94bWwvWFNMVFByb2Nlc3Nvci5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTMzLDcgKzMzLDggQEAgbW9kdWxlIHhtbCB7CiAgICAgLy8gaHR0cDovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTQ0NgogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0
aW9uYWw9WFNMVAorICAgICAgICBDb25kaXRpb25hbD1YU0xULAorICAgICAgICBPbWl0Q29uc3Ry
dWN0b3IKICAgICBdIFhTTFRQcm9jZXNzb3IgewogICAgICAgICAKICAgICAgICAgW0N1c3RvbV0g
dm9pZCBpbXBvcnRTdHlsZXNoZWV0KGluIE5vZGUgc3R5bGVzaGVldCk7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA1MjUzMikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE0IEBACisyMDA5LTEyLTIzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFu
bkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJldmVyc2UgSlMgR2VuZXJhdGVDb25zdHJ1Y3RvciBsb2dpYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI5MTAKKworICAgICAgICBIVE1MT3B0
aW9uc0NvbGxlY3Rpb24gY29ycmVjdGx5IGV4cG9zZXMgaXRzIEpTIGNvbnN0cnVjdG9yIG5vdywg
dGh1cyBmaXhpbmcgaXRzIHRlc3QgaW4gZmFzdC9kb20vd3JhcHBlci1jbGFzc2VzLmh0bWwKKwor
ICAgICAgICAqIGZhc3QvZG9tL3dyYXBwZXItY2xhc3Nlcy1leHBlY3RlZC50eHQ6CisKIDIwMDkt
MTItMjMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3dyYXBwZXItY2xh
c3Nlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vd3Jh
cHBlci1jbGFzc2VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTI1MjcpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2RvbS93cmFwcGVyLWNsYXNzZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xNDIsNyArMTQyLDcgQEAgUEFTUyBqc1dyYXBwZXJDbGFzcyhkb2N1bWVudC5fX3Byb3RvX18p
IAogUEFTUyBqc1dyYXBwZXJDbGFzcyhkb2N1bWVudC5jb25zdHJ1Y3RvcikgaXMgJ0hUTUxEb2N1
bWVudENvbnN0cnVjdG9yJwogUEFTUyBqc1dyYXBwZXJDbGFzcyhkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdzZWxlY3QnKS5vcHRpb25zKSBpcyAnSFRNTE9wdGlvbnNDb2xsZWN0aW9uJwogRkFJTCBq
c1dyYXBwZXJDbGFzcyhkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKS5vcHRpb25zLl9f
cHJvdG9fXykgc2hvdWxkIGJlIEhUTUxPcHRpb25zQ29sbGVjdGlvblByb3RvdHlwZS4gV2FzIEhU
TUxDb2xsZWN0aW9uUHJvdG90eXBlLgotRkFJTCBqc1dyYXBwZXJDbGFzcyhkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdzZWxlY3QnKS5vcHRpb25zLmNvbnN0cnVjdG9yKSBzaG91bGQgYmUgSFRNTE9w
dGlvbnNDb2xsZWN0aW9uQ29uc3RydWN0b3IuIFdhcyBGdW5jdGlvbi4KK1BBU1MganNXcmFwcGVy
Q2xhc3MoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0Jykub3B0aW9ucy5jb25zdHJ1Y3Rv
cikgaXMgJ0hUTUxPcHRpb25zQ29sbGVjdGlvbkNvbnN0cnVjdG9yJwogCiBIVE1MIEVsZW1lbnRz
CiAK
</data>
<flag name="review"
          id="27500"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>