<?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>129107</bug_id>
          
          <creation_ts>2014-02-20 09:38:45 -0800</creation_ts>
          <short_desc>Stop generating Objective-C bindings for the SVG DOM</short_desc>
          <delta_ts>2014-02-22 08:31:49 -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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>114076</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>982860</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-20 09:38:45 -0800</bug_when>
    <thetext>Bug 114076 stopped compiling the Objective-C bindings for the SVG DOM, but we continued to generate the header and source files after that landed in r147822.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982862</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-20 09:40:07 -0800</bug_when>
    <thetext>Here&apos;s a comparison of the DerivedSources directory before and after the patch (only DOMSVG* files changed, and they were all removed):

 DOMSVGAElement.h                                 |   37 --
 DOMSVGAElement.mm                                |   78 ----
 DOMSVGAElementInternal.h                         |   34 -
 DOMSVGAltGlyphDefElement.h                       |   31 -
 DOMSVGAltGlyphDefElement.mm                      |   61 ---
 DOMSVGAltGlyphDefElementInternal.h               |   34 -
 DOMSVGAltGlyphElement.h                          |   37 --
 DOMSVGAltGlyphElement.mm                         |   98 -----
 DOMSVGAltGlyphElementInternal.h                  |   34 -
 DOMSVGAltGlyphItemElement.h                      |   31 -
 DOMSVGAltGlyphItemElement.mm                     |   61 ---
 DOMSVGAltGlyphItemElementInternal.h              |   34 -
 DOMSVGAngle.h                                    |   48 --
 DOMSVGAngle.mm                                   |  177 ----------
 DOMSVGAngleInternal.h                            |   36 --
 DOMSVGAnimateColorElement.h                      |   31 -
 DOMSVGAnimateColorElement.mm                     |   56 ---
 DOMSVGAnimateColorElementInternal.h              |   34 -
 DOMSVGAnimateElement.h                           |   31 -
 DOMSVGAnimateElement.mm                          |   56 ---
 DOMSVGAnimateElementInternal.h                   |   34 -
 DOMSVGAnimateMotionElement.h                     |   31 -
 DOMSVGAnimateMotionElement.mm                    |   56 ---
 DOMSVGAnimateMotionElementInternal.h             |   34 -
 DOMSVGAnimateTransformElement.h                  |   31 -
 DOMSVGAnimateTransformElement.mm                 |   56 ---
 DOMSVGAnimateTransformElementInternal.h          |   34 -
 DOMSVGAnimatedAngle.h                            |   35 --
 DOMSVGAnimatedAngle.mm                           |   96 -----
 DOMSVGAnimatedAngleInternal.h                    |   32 -
 DOMSVGAnimatedBoolean.h                          |   33 -
 DOMSVGAnimatedBoolean.mm                         |  102 -----
 DOMSVGAnimatedBooleanInternal.h                  |   32 -
 DOMSVGAnimatedEnumeration.h                      |   33 -
 DOMSVGAnimatedEnumeration.mm                     |  102 -----
 DOMSVGAnimatedEnumerationInternal.h              |   32 -
 DOMSVGAnimatedInteger.h                          |   33 -
 DOMSVGAnimatedInteger.mm                         |  102 -----
 DOMSVGAnimatedIntegerInternal.h                  |   32 -
 DOMSVGAnimatedLength.h                           |   35 --
 DOMSVGAnimatedLength.mm                          |   96 -----
 DOMSVGAnimatedLengthInternal.h                   |   32 -
 DOMSVGAnimatedLengthList.h                       |   35 --
 DOMSVGAnimatedLengthList.mm                      |   96 -----
 DOMSVGAnimatedLengthListInternal.h               |   32 -
 DOMSVGAnimatedNumber.h                           |   33 -
 DOMSVGAnimatedNumber.mm                          |  102 -----
 DOMSVGAnimatedNumberInternal.h                   |   32 -
 DOMSVGAnimatedNumberList.h                       |   35 --
 DOMSVGAnimatedNumberList.mm                      |   96 -----
 DOMSVGAnimatedNumberListInternal.h               |   32 -
 DOMSVGAnimatedPreserveAspectRatio.h              |   35 --
 DOMSVGAnimatedPreserveAspectRatio.mm             |   96 -----
 DOMSVGAnimatedPreserveAspectRatioInternal.h      |   32 -
 DOMSVGAnimatedRect.h                             |   35 --
 DOMSVGAnimatedRect.mm                            |   96 -----
 DOMSVGAnimatedRectInternal.h                     |   32 -
 DOMSVGAnimatedString.h                           |   35 --
 DOMSVGAnimatedString.mm                          |  103 -----
 DOMSVGAnimatedStringInternal.h                   |   32 -
 DOMSVGAnimatedTransformList.h                    |   35 --
 DOMSVGAnimatedTransformList.mm                   |   96 -----
 DOMSVGAnimatedTransformListInternal.h            |   32 -
 DOMSVGAnimationElement.h                         |   50 --
 DOMSVGAnimationElement.mm                        |  144 --------
 DOMSVGAnimationElementInternal.h                 |   34 -
 DOMSVGCircleElement.h                            |   38 --
 DOMSVGCircleElement.mm                           |   84 ----
 DOMSVGCircleElementInternal.h                    |   34 -
 DOMSVGClipPathElement.h                          |   36 --
 DOMSVGClipPathElement.mm                         |   72 ----
 DOMSVGClipPathElementInternal.h                  |   34 -
 DOMSVGColor.h                                    |   47 --
 DOMSVGColor.mm                                   |   95 -----
 DOMSVGColorInternal.h                            |   34 -
 DOMSVGComponentTransferFunctionElement.h         |   51 --
 DOMSVGComponentTransferFunctionElement.mm        |  109 ------
 DOMSVGComponentTransferFunctionElementInternal.h |   34 -
 DOMSVGCursorElement.h                            |   46 --
 DOMSVGCursorElement.mm                           |  113 ------
 DOMSVGCursorElementInternal.h                    |   34 -
 DOMSVGDefsElement.h                              |   34 -
 DOMSVGDefsElement.mm                             |   64 ---
 DOMSVGDefsElementInternal.h                      |   34 -
 DOMSVGDescElement.h                              |   31 -
 DOMSVGDescElement.mm                             |   56 ---
 DOMSVGDescElementInternal.h                      |   34 -
 DOMSVGDocument.h                                 |   38 --
 DOMSVGDocument.mm                                |   76 ----
 DOMSVGDocumentInternal.h                         |   34 -
 DOMSVGElement.h                                  |   47 --
 DOMSVGElement.mm                                 |  134 -------
 DOMSVGElementInstance.dep                        |    2 
 DOMSVGElementInstance.h                          |   45 --
 DOMSVGElementInstance.mm                         |  178 ----------
 DOMSVGElementInstanceInternal.h                  |   34 -
 DOMSVGElementInstanceList.h                      |   36 --
 DOMSVGElementInstanceList.mm                     |   96 -----
 DOMSVGElementInstanceListInternal.h              |   34 -
 DOMSVGElementInternal.h                          |   34 -
 DOMSVGEllipseElement.h                           |   39 --
 DOMSVGEllipseElement.mm                          |   90 -----
 DOMSVGEllipseElementInternal.h                   |   34 -
 DOMSVGException.h                                |   42 --
 DOMSVGException.mm                               |  101 -----
 DOMSVGExceptionInternal.h                        |   34 -
 DOMSVGExternalResourcesRequired.cpp              |    6 
 DOMSVGExternalResourcesRequired.h                |    6 
 DOMSVGFEBlendElement.h                           |   52 ---
 DOMSVGFEBlendElement.mm                          |  115 ------
 DOMSVGFEBlendElementInternal.h                   |   34 -
 DOMSVGFEColorMatrixElement.h                     |   52 ---
 DOMSVGFEColorMatrixElement.mm                    |  117 ------
 DOMSVGFEColorMatrixElementInternal.h             |   34 -
 DOMSVGFEComponentTransferElement.h               |   40 --
 DOMSVGFEComponentTransferElement.mm              |  101 -----
 DOMSVGFEComponentTransferElementInternal.h       |   34 -
 DOMSVGFECompositeElement.h                       |   58 ---
 DOMSVGFECompositeElement.mm                      |  141 --------
 DOMSVGFECompositeElementInternal.h               |   34 -
 DOMSVGFEConvolveMatrixElement.h                  |   63 ---
 DOMSVGFEConvolveMatrixElement.mm                 |  177 ----------
 DOMSVGFEConvolveMatrixElementInternal.h          |   34 -
 DOMSVGFEDiffuseLightingElement.h                 |   45 --
 DOMSVGFEDiffuseLightingElement.mm                |  127 -------
 DOMSVGFEDiffuseLightingElementInternal.h         |   34 -
 DOMSVGFEDisplacementMapElement.h                 |   54 ---
 DOMSVGFEDisplacementMapElement.mm                |  129 -------
 DOMSVGFEDisplacementMapElementInternal.h         |   34 -
 DOMSVGFEDistantLightElement.h                    |   35 --
 DOMSVGFEDistantLightElement.mm                   |   75 ----
 DOMSVGFEDistantLightElementInternal.h            |   34 -
 DOMSVGFEDropShadowElement.h                      |   47 --
 DOMSVGFEDropShadowElement.mm                     |  133 -------
 DOMSVGFEDropShadowElementInternal.h              |   34 -
 DOMSVGFEFloodElement.h                           |   39 --
 DOMSVGFEFloodElement.mm                          |   95 -----
 DOMSVGFEFloodElementInternal.h                   |   34 -
 DOMSVGFEFuncAElement.h                           |   31 -
 DOMSVGFEFuncAElement.mm                          |   61 ---
 DOMSVGFEFuncAElementInternal.h                   |   34 -
 DOMSVGFEFuncBElement.h                           |   31 -
 DOMSVGFEFuncBElement.mm                          |   61 ---
 DOMSVGFEFuncBElementInternal.h                   |   34 -
 DOMSVGFEFuncGElement.h                           |   31 -
 DOMSVGFEFuncGElement.mm                          |   61 ---
 DOMSVGFEFuncGElementInternal.h                   |   34 -
 DOMSVGFEFuncRElement.h                           |   31 -
 DOMSVGFEFuncRElement.mm                          |   61 ---
 DOMSVGFEFuncRElementInternal.h                   |   34 -
 DOMSVGFEGaussianBlurElement.h                    |   54 ---
 DOMSVGFEGaussianBlurElement.mm                   |  129 -------
 DOMSVGFEGaussianBlurElementInternal.h            |   34 -
 DOMSVGFEImageElement.h                           |   44 --
 DOMSVGFEImageElement.mm                          |  117 ------
 DOMSVGFEImageElementInternal.h                   |   34 -
 DOMSVGFEMergeElement.h                           |   39 --
 DOMSVGFEMergeElement.mm                          |   95 -----
 DOMSVGFEMergeElementInternal.h                   |   34 -
 DOMSVGFEMergeNodeElement.h                       |   34 -
 DOMSVGFEMergeNodeElement.mm                      |   69 ----
 DOMSVGFEMergeNodeElementInternal.h               |   34 -
 DOMSVGFEMorphologyElement.h                      |   53 ---
 DOMSVGFEMorphologyElement.mm                     |  129 -------
 DOMSVGFEMorphologyElementInternal.h              |   34 -
 DOMSVGFEOffsetElement.h                          |   43 --
 DOMSVGFEOffsetElement.mm                         |  115 ------
 DOMSVGFEOffsetElementInternal.h                  |   34 -
 DOMSVGFEPointLightElement.h                      |   36 --
 DOMSVGFEPointLightElement.mm                     |   81 ----
 DOMSVGFEPointLightElementInternal.h              |   34 -
 DOMSVGFESpecularLightingElement.h                |   44 --
 DOMSVGFESpecularLightingElement.mm               |  121 -------
 DOMSVGFESpecularLightingElementInternal.h        |   34 -
 DOMSVGFESpotLightElement.h                       |   41 --
 DOMSVGFESpotLightElement.mm                      |  111 ------
 DOMSVGFESpotLightElementInternal.h               |   34 -
 DOMSVGFETileElement.h                            |   40 --
 DOMSVGFETileElement.mm                           |  101 -----
 DOMSVGFETileElementInternal.h                    |   34 -
 DOMSVGFETurbulenceElement.h                      |   57 ---
 DOMSVGFETurbulenceElement.mm                     |  137 -------
 DOMSVGFETurbulenceElementInternal.h              |   34 -
 DOMSVGFilterElement.h                            |   49 --
 DOMSVGFilterElement.mm                           |  137 -------
 DOMSVGFilterElementInternal.h                    |   34 -
 DOMSVGFilterPrimitiveStandardAttributes.cpp      |    6 
 DOMSVGFilterPrimitiveStandardAttributes.h        |    6 
 DOMSVGFitToViewBox.cpp                           |    6 
 DOMSVGFitToViewBox.h                             |    6 
 DOMSVGFontElement.h                              |   31 -
 DOMSVGFontElement.mm                             |   61 ---
 DOMSVGFontElementInternal.h                      |   34 -
 DOMSVGFontFaceElement.h                          |   31 -
 DOMSVGFontFaceElement.mm                         |   61 ---
 DOMSVGFontFaceElementInternal.h                  |   34 -
 DOMSVGFontFaceFormatElement.h                    |   31 -
 DOMSVGFontFaceFormatElement.mm                   |   61 ---
 DOMSVGFontFaceFormatElementInternal.h            |   34 -
 DOMSVGFontFaceNameElement.h                      |   31 -
 DOMSVGFontFaceNameElement.mm                     |   61 ---
 DOMSVGFontFaceNameElementInternal.h              |   34 -
 DOMSVGFontFaceSrcElement.h                       |   31 -
 DOMSVGFontFaceSrcElement.mm                      |   61 ---
 DOMSVGFontFaceSrcElementInternal.h               |   34 -
 DOMSVGFontFaceUriElement.h                       |   31 -
 DOMSVGFontFaceUriElement.mm                      |   61 ---
 DOMSVGFontFaceUriElementInternal.h               |   34 -
 DOMSVGForeignObjectElement.h                     |   39 --
 DOMSVGForeignObjectElement.mm                    |   90 -----
 DOMSVGForeignObjectElementInternal.h             |   34 -
 DOMSVGGElement.h                                 |   34 -
 DOMSVGGElement.mm                                |   64 ---
 DOMSVGGElementInternal.h                         |   34 -
 DOMSVGGlyphElement.h                             |   31 -
 DOMSVGGlyphElement.mm                            |   61 ---
 DOMSVGGlyphElementInternal.h                     |   34 -
 DOMSVGGlyphRefElement.h                          |   41 --
 DOMSVGGlyphRefElement.mm                         |  153 --------
 DOMSVGGlyphRefElementInternal.h                  |   34 -
 DOMSVGGradientElement.h                          |   48 --
 DOMSVGGradientElement.mm                         |   94 -----
 DOMSVGGradientElementInternal.h                  |   34 -
 DOMSVGGraphicsElement.h                          |   50 --
 DOMSVGGraphicsElement.mm                         |  136 -------
 DOMSVGGraphicsElementInternal.h                  |   34 -
 DOMSVGHKernElement.h                             |   31 -
 DOMSVGHKernElement.mm                            |   61 ---
 DOMSVGHKernElementInternal.h                     |   34 -
 DOMSVGImageElement.h                             |   43 --
 DOMSVGImageElement.mm                            |  106 ------
 DOMSVGImageElementInternal.h                     |   34 -
 DOMSVGLength.h                                   |   54 ---
 DOMSVGLength.mm                                  |  183 ----------
 DOMSVGLengthInternal.h                           |   36 --
 DOMSVGLengthList.h                               |   42 --
 DOMSVGLengthList.mm                              |  152 --------
 DOMSVGLengthListInternal.h                       |   36 --
 DOMSVGLineElement.h                              |   39 --
 DOMSVGLineElement.mm                             |   90 -----
 DOMSVGLineElementInternal.h                      |   34 -
 DOMSVGLinearGradientElement.h                    |   37 --
 DOMSVGLinearGradientElement.mm                   |   82 ----
 DOMSVGLinearGradientElementInternal.h            |   34 -
 DOMSVGMPathElement.h                             |   36 --
 DOMSVGMPathElement.mm                            |   72 ----
 DOMSVGMPathElementInternal.h                     |   34 -
 DOMSVGMarkerElement.h                            |   61 ---
 DOMSVGMarkerElement.mm                           |  149 --------
 DOMSVGMarkerElementInternal.h                    |   34 -
 DOMSVGMaskElement.h                              |   49 --
 DOMSVGMaskElement.mm                             |  131 -------
 DOMSVGMaskElementInternal.h                      |   34 -
 DOMSVGMatrix.h                                   |   51 --
 DOMSVGMatrix.mm                                  |  324 ------------------
 DOMSVGMatrixInternal.h                           |   36 --
 DOMSVGMetadataElement.h                          |   31 -
 DOMSVGMetadataElement.mm                         |   56 ---
 DOMSVGMetadataElementInternal.h                  |   34 -
 DOMSVGMissingGlyphElement.h                      |   31 -
 DOMSVGMissingGlyphElement.mm                     |   61 ---
 DOMSVGMissingGlyphElementInternal.h              |   34 -
 DOMSVGNumber.h                                   |   32 -
 DOMSVGNumber.mm                                  |  101 -----
 DOMSVGNumberInternal.h                           |   36 --
 DOMSVGNumberList.h                               |   42 --
 DOMSVGNumberList.mm                              |  151 --------
 DOMSVGNumberListInternal.h                       |   36 --
 DOMSVGPaint.h                                    |   51 --
 DOMSVGPaint.mm                                   |   83 ----
 DOMSVGPaintInternal.h                            |   34 -
 DOMSVGPathElement.h                              |   84 ----
 DOMSVGPathElement.mm                             |  261 ---------------
 DOMSVGPathElementInternal.h                      |   34 -
 DOMSVGPathSeg.h                                  |   58 ---
 DOMSVGPathSeg.mm                                 |   97 -----
 DOMSVGPathSegArcAbs.h                            |   38 --
 DOMSVGPathSegArcAbs.mm                           |  141 --------
 DOMSVGPathSegArcAbsInternal.h                    |   34 -
 DOMSVGPathSegArcRel.h                            |   38 --
 DOMSVGPathSegArcRel.mm                           |  141 --------
 DOMSVGPathSegArcRelInternal.h                    |   34 -
 DOMSVGPathSegClosePath.h                         |   31 -
 DOMSVGPathSegClosePath.mm                        |   57 ---
 DOMSVGPathSegClosePathInternal.h                 |   34 -
 DOMSVGPathSegCurvetoCubicAbs.h                   |   37 --
 DOMSVGPathSegCurvetoCubicAbs.mm                  |  129 -------
 DOMSVGPathSegCurvetoCubicAbsInternal.h           |   34 -
 DOMSVGPathSegCurvetoCubicRel.h                   |   37 --
 DOMSVGPathSegCurvetoCubicRel.mm                  |  129 -------
 DOMSVGPathSegCurvetoCubicRelInternal.h           |   34 -
 DOMSVGPathSegCurvetoCubicSmoothAbs.h             |   35 --
 DOMSVGPathSegCurvetoCubicSmoothAbs.mm            |  105 ------
 DOMSVGPathSegCurvetoCubicSmoothAbsInternal.h     |   34 -
 DOMSVGPathSegCurvetoCubicSmoothRel.h             |   35 --
 DOMSVGPathSegCurvetoCubicSmoothRel.mm            |  105 ------
 DOMSVGPathSegCurvetoCubicSmoothRelInternal.h     |   34 -
 DOMSVGPathSegCurvetoQuadraticAbs.h               |   35 --
 DOMSVGPathSegCurvetoQuadraticAbs.mm              |  105 ------
 DOMSVGPathSegCurvetoQuadraticAbsInternal.h       |   34 -
 DOMSVGPathSegCurvetoQuadraticRel.h               |   35 --
 DOMSVGPathSegCurvetoQuadraticRel.mm              |  105 ------
 DOMSVGPathSegCurvetoQuadraticRelInternal.h       |   34 -
 DOMSVGPathSegCurvetoQuadraticSmoothAbs.h         |   33 -
 DOMSVGPathSegCurvetoQuadraticSmoothAbs.mm        |   81 ----
 DOMSVGPathSegCurvetoQuadraticSmoothAbsInternal.h |   34 -
 DOMSVGPathSegCurvetoQuadraticSmoothRel.h         |   33 -
 DOMSVGPathSegCurvetoQuadraticSmoothRel.mm        |   81 ----
 DOMSVGPathSegCurvetoQuadraticSmoothRelInternal.h |   34 -
 DOMSVGPathSegInternal.h                          |   35 --
 DOMSVGPathSegLinetoAbs.h                         |   33 -
 DOMSVGPathSegLinetoAbs.mm                        |   81 ----
 DOMSVGPathSegLinetoAbsInternal.h                 |   34 -
 DOMSVGPathSegLinetoHorizontalAbs.h               |   32 -
 DOMSVGPathSegLinetoHorizontalAbs.mm              |   69 ----
 DOMSVGPathSegLinetoHorizontalAbsInternal.h       |   34 -
 DOMSVGPathSegLinetoHorizontalRel.h               |   32 -
 DOMSVGPathSegLinetoHorizontalRel.mm              |   69 ----
 DOMSVGPathSegLinetoHorizontalRelInternal.h       |   34 -
 DOMSVGPathSegLinetoRel.h                         |   33 -
 DOMSVGPathSegLinetoRel.mm                        |   81 ----
 DOMSVGPathSegLinetoRelInternal.h                 |   34 -
 DOMSVGPathSegLinetoVerticalAbs.h                 |   32 -
 DOMSVGPathSegLinetoVerticalAbs.mm                |   69 ----
 DOMSVGPathSegLinetoVerticalAbsInternal.h         |   34 -
 DOMSVGPathSegLinetoVerticalRel.h                 |   32 -
 DOMSVGPathSegLinetoVerticalRel.mm                |   69 ----
 DOMSVGPathSegLinetoVerticalRelInternal.h         |   34 -
 DOMSVGPathSegList.h                              |   42 --
 DOMSVGPathSegList.mm                             |  152 --------
 DOMSVGPathSegListInternal.h                      |   38 --
 DOMSVGPathSegMovetoAbs.h                         |   33 -
 DOMSVGPathSegMovetoAbs.mm                        |   81 ----
 DOMSVGPathSegMovetoAbsInternal.h                 |   34 -
 DOMSVGPathSegMovetoRel.h                         |   33 -
 DOMSVGPathSegMovetoRel.mm                        |   81 ----
 DOMSVGPathSegMovetoRelInternal.h                 |   34 -
 DOMSVGPatternElement.h                           |   57 ---
 DOMSVGPatternElement.mm                          |  163 ---------
 DOMSVGPatternElementInternal.h                   |   34 -
 DOMSVGPoint.h                                    |   38 --
 DOMSVGPoint.mm                                   |  138 --------
 DOMSVGPointInternal.h                            |   36 --
 DOMSVGPointList.h                                |   42 --
 DOMSVGPointList.mm                               |  152 --------
 DOMSVGPointListInternal.h                        |   36 --
 DOMSVGPolygonElement.h                           |   37 --
 DOMSVGPolygonElement.mm                          |   78 ----
 DOMSVGPolygonElementInternal.h                   |   34 -
 DOMSVGPolylineElement.h                          |   37 --
 DOMSVGPolylineElement.mm                         |   78 ----
 DOMSVGPolylineElementInternal.h                  |   34 -
 DOMSVGPreserveAspectRatio.h                      |   50 --
 DOMSVGPreserveAspectRatio.mm                     |  125 -------
 DOMSVGPreserveAspectRatioInternal.h              |   36 --
 DOMSVGRadialGradientElement.h                    |   39 --
 DOMSVGRadialGradientElement.mm                   |   94 -----
 DOMSVGRadialGradientElementInternal.h            |   34 -
 DOMSVGRect.h                                     |   35 --
 DOMSVGRect.mm                                    |  155 ---------
 DOMSVGRectElement.h                              |   41 --
 DOMSVGRectElement.mm                             |  102 -----
 DOMSVGRectElementInternal.h                      |   34 -
 DOMSVGRectInternal.h                             |   36 --
 DOMSVGRenderingIntent.h                          |   40 --
 DOMSVGRenderingIntent.mm                         |   82 ----
 DOMSVGRenderingIntentInternal.h                  |   34 -
 DOMSVGSVGElement.h                               |   97 -----
 DOMSVGSVGElement.mm                              |  395 -----------------------
 DOMSVGSVGElementInternal.h                       |   34 -
 DOMSVGScriptElement.h                            |   38 --
 DOMSVGScriptElement.mm                           |   86 -----
 DOMSVGScriptElementInternal.h                    |   34 -
 DOMSVGSetElement.h                               |   31 -
 DOMSVGSetElement.mm                              |   56 ---
 DOMSVGSetElementInternal.h                       |   34 -
 DOMSVGStopElement.h                              |   34 -
 DOMSVGStopElement.mm                             |   64 ---
 DOMSVGStopElementInternal.h                      |   34 -
 DOMSVGStringList.h                               |   42 --
 DOMSVGStringList.mm                              |  151 --------
 DOMSVGStringListInternal.h                       |   36 --
 DOMSVGStyleElement.h                             |   37 --
 DOMSVGStyleElement.mm                            |  111 ------
 DOMSVGStyleElementInternal.h                     |   34 -
 DOMSVGSwitchElement.h                            |   34 -
 DOMSVGSwitchElement.mm                           |   64 ---
 DOMSVGSwitchElementInternal.h                    |   34 -
 DOMSVGSymbolElement.h                            |   38 --
 DOMSVGSymbolElement.mm                           |   80 ----
 DOMSVGSymbolElementInternal.h                    |   34 -
 DOMSVGTRefElement.h                              |   34 -
 DOMSVGTRefElement.mm                             |   64 ---
 DOMSVGTRefElementInternal.h                      |   34 -
 DOMSVGTSpanElement.h                             |   31 -
 DOMSVGTSpanElement.mm                            |   56 ---
 DOMSVGTSpanElementInternal.h                     |   34 -
 DOMSVGTests.cpp                                  |    6 
 DOMSVGTests.h                                    |    6 
 DOMSVGTextContentElement.h                       |   56 ---
 DOMSVGTextContentElement.mm                      |  162 ---------
 DOMSVGTextContentElementInternal.h               |   34 -
 DOMSVGTextElement.h                              |   31 -
 DOMSVGTextElement.mm                             |   56 ---
 DOMSVGTextElementInternal.h                      |   34 -
 DOMSVGTextPathElement.h                          |   48 --
 DOMSVGTextPathElement.mm                         |   86 -----
 DOMSVGTextPathElementInternal.h                  |   34 -
 DOMSVGTextPositioningElement.h                   |   39 --
 DOMSVGTextPositioningElement.mm                  |   90 -----
 DOMSVGTextPositioningElementInternal.h           |   34 -
 DOMSVGTitleElement.h                             |   31 -
 DOMSVGTitleElement.mm                            |   56 ---
 DOMSVGTitleElementInternal.h                     |   34 -
 DOMSVGTransform.h                                |   53 ---
 DOMSVGTransform.mm                               |  182 ----------
 DOMSVGTransformInternal.h                        |   36 --
 DOMSVGTransformList.h                            |   45 --
 DOMSVGTransformList.mm                           |  172 ----------
 DOMSVGTransformListInternal.h                    |   38 --
 DOMSVGURIReference.cpp                           |    6 
 DOMSVGURIReference.h                             |    6 
 DOMSVGUnitTypes.h                                |   37 --
 DOMSVGUnitTypes.mm                               |   82 ----
 DOMSVGUnitTypesInternal.h                        |   34 -
 DOMSVGUseElement.h                               |   44 --
 DOMSVGUseElement.mm                              |  112 ------
 DOMSVGUseElementInternal.h                       |   34 -
 DOMSVGVKernElement.h                             |   31 -
 DOMSVGVKernElement.mm                            |   61 ---
 DOMSVGVKernElementInternal.h                     |   34 -
 DOMSVGViewElement.h                              |   47 --
 DOMSVGViewElement.mm                             |  100 -----
 DOMSVGViewElementInternal.h                      |   34 -
 DOMSVGViewSpec.h                                 |   46 --
 DOMSVGViewSpec.mm                                |  153 --------
 DOMSVGViewSpecInternal.h                         |   34 -
 DOMSVGZoomAndPan.cpp                             |    6 
 DOMSVGZoomAndPan.h                               |    6 
 DOMSVGZoomEvent.h                                |   39 --
 DOMSVGZoomEvent.mm                               |   91 -----
 DOMSVGZoomEventInternal.h                        |   34 -
 442 files changed, 25499 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982863</commentid>
    <comment_count>2</comment_count>
      <attachid>224764</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-20 09:43:47 -0800</bug_when>
    <thetext>Created attachment 224764
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983112</commentid>
    <comment_count>3</comment_count>
      <attachid>224764</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-20 22:08:23 -0800</bug_when>
    <thetext>Comment on attachment 224764
Patch v1

Clearing flags on attachment: 224764

Committed r164473: &lt;http://trac.webkit.org/changeset/164473&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983113</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-20 22:08:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983128</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-02-20 23:53:18 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 224764 [details])
&gt; Clearing flags on attachment: 224764
&gt; 
&gt; Committed r164473: &lt;http://trac.webkit.org/changeset/164473&gt;

It broke the bindings tests. Could you possibly fix them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983144</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-21 00:52:29 -0800</bug_when>
    <thetext>Rebaselined the tests in http://trac.webkit.org/changeset/164479.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983593</commentid>
    <comment_count>7</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-02-22 08:31:49 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Rebaselined the tests in http://trac.webkit.org/changeset/164479.

Thank you, Ryosuke!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224764</attachid>
            <date>2014-02-20 09:43:47 -0800</date>
            <delta_ts>2014-02-20 22:08:23 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-129107-20140220094346.patch</filename>
            <type>text/plain</type>
            <size>32410</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjBiYmJiNzVjNWNkNjhm
MzE2OWE5ZDBjOWI5MWZjNmQ0NzdlYzMwOC4uODY2ODUxYWFiNzE1OTFmMjk4ZmFhZjhjOGZhMmRk
ZGM0ODY3NzVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTAyLTIwICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCBnZW5lcmF0aW5n
IE9iamVjdGl2ZS1DIGJpbmRpbmdzIGZvciB0aGUgU1ZHIERPTQorICAgICAgICA8aHR0cDovL3dl
YmtpdC5vcmcvYi8xMjkxMDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQnVnIDExNDA3NiBzdG9wcGVkIGNvbXBpbGluZyB0aGUgT2JqZWN0aXZlLUMg
YmluZGluZ3MgZm9yIHRoZQorICAgICAgICBTVkcgRE9NLCBidXQgd2UgY29udGludWVkIHRvIGdl
bmVyYXRlIHRoZSBoZWFkZXIgYW5kIHNvdXJjZQorICAgICAgICBmaWxlcyBhZnRlciB0aGF0IGxh
bmRlZCBpbiByMTQ3ODIyLiAgVGhpcyBwYXRjaCBhbHNvIHN0b3BzCisgICAgICAgIGdlbmVyYXRp
bmcgdGhlIHVudXNlZCBoZWFkZXIgYW5kIHNvdXJjZSBmaWxlcy4KKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgIC0gU3BsaXQgQklORElOR19JRExTIGludG8gTk9OX1NW
R19CSU5ESU5HX0lETFMgYW5kCisgICAgICAgICAgU1ZHX0JJTkRJTkdfSURMUyBzbyB0aGF0IHRo
ZXkgbWF5IG9wZXJhdGVkIG9uIHNlcGFyYXRlbHkuCisgICAgICAgIC0gRGVmaW5lIEJJTkRJTkdf
SURMUyBhZ2FpbiBhcyB0aGUgZnVsbCBsaXN0IG9mIElETCBmaWxlcy4KKyAgICAgICAgLSBSZW5h
bWUgRE9NX0NMQVNTRVMgdG8gSlNfRE9NX0NMQVNTRVMgc28gdGhhdCBKYXZhU2NyaXB0CisgICAg
ICAgICAgYmluZGluZ3MgYXJlIHN0aWxsIGdlbmVyYXRlZCBmb3IgYWxsIElETCBmaWxlcy4KKyAg
ICAgICAgLSBBZGQgT0JKQ19ET01fQ0xBU1NFUyBzbyB0aGF0IE9iamVjdGl2ZS1DIGJpbmRpbmdz
IGFyZSBvbmx5CisgICAgICAgICAgZ2VuZXJhdGVkIGZvciBub24tU1ZHIElETCBmaWxlcy4KKwor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG06CisgICAgICAg
IChHZXRCYXNlQ2xhc3MpOgorICAgICAgICAoR2V0UHJvcGVydHlBdHRyaWJ1dGVzKToKKyAgICAg
ICAgKEFkZEluY2x1ZGVzRm9yVHlwZSk6CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisgICAg
ICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgLSBSZW1vdmUgc3VwcG9ydCBm
b3IgU1ZHIGNsYXNzZXMuCisKIDIwMTQtMDItMTkgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVJUHJvY2VzcyBuZWVkcyB0byBrbm93IHRoZSBjb2xvciBvZiB0aGUg
cGFnZSdzIGV4dGVuZGVkIGJhY2tncm91bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IGY3ZjRhOGM5MWFkM2VmYTdhNmJhNjY2ZjZiN2FiMjhmODJkNjJmOGYuLjBkNDZjMDZlOGYx
NWRlN2RlNDgxZjA4MzM3ZjIyNzVlYWY1NjNmOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtNjcsNyArNjcsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL3dlYnNvY2tl
dHMgXAogIwogCi1CSU5ESU5HX0lETFMgPSBcCitOT05fU1ZHX0JJTkRJTkdfSURMUyA9IFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJp
bGl0eUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5TWVzc2FnZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5TmVlZGVkRXZlbnQuaWRsIFwKQEAgLTQ4NSw2ICs0ODUsMzQgQEAgQklO
RElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGx1Z2lucy9ET01QbHVnaW5BcnJheS5pZGwg
XAogICAgICQoV2ViQ29yZSkvc3RvcmFnZS9TdG9yYWdlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9z
dG9yYWdlL1N0b3JhZ2VFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvdGVzdGluZy9JbnRlcm5h
bHMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwgXAor
ICAgICQoV2ViQ29yZSkvdGVzdGluZy9NYWxsb2NTdGF0aXN0aWNzLmlkbCBcCisgICAgJChXZWJD
b3JlKS90ZXN0aW5nL01lbW9yeUluZm8uaWRsIFwKKyAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvVHlw
ZUNvbnZlcnNpb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS93b3JrZXJzL0Fic3RyYWN0V29ya2Vy
LmlkbCBcCisgICAgJChXZWJDb3JlKS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmlkbCBcCisgICAgJChXZWJDb3JlKS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwgXAorICAgICQo
V2ViQ29yZSkvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwgXAorICAgICQoV2Vi
Q29yZSkvd29ya2Vycy9Xb3JrZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3dvcmtlcnMvV29ya2VyTG9jYXRpb24u
aWRsIFwKKyAgICAkKFdlYkNvcmUpL3htbC9ET01QYXJzZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L3htbC9YTUxIdHRwUmVxdWVzdC5pZGwgXAorICAgICQoV2ViQ29yZSkveG1sL1hNTEh0dHBSZXF1
ZXN0RXhjZXB0aW9uLmlkbCBcCisgICAgJChXZWJDb3JlKS94bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQu
aWRsIFwKKyAgICAkKFdlYkNvcmUpL3htbC9YTUxTZXJpYWxpemVyLmlkbCBcCisgICAgJChXZWJD
b3JlKS94bWwvWFBhdGhFdmFsdWF0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3htbC9YUGF0aEV4
Y2VwdGlvbi5pZGwgXAorICAgICQoV2ViQ29yZSkveG1sL1hQYXRoRXhwcmVzc2lvbi5pZGwgXAor
ICAgICQoV2ViQ29yZSkveG1sL1hQYXRoTlNSZXNvbHZlci5pZGwgXAorICAgICQoV2ViQ29yZSkv
eG1sL1hQYXRoUmVzdWx0LmlkbCBcCisgICAgJChXZWJDb3JlKS94bWwvWFNMVFByb2Nlc3Nvci5p
ZGwgXAorICAgIEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaWRsCisjCisKK1NWR19CSU5ESU5H
X0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHQUVsZW1lbnQuaWRsIFwKICAgICAkKFdl
YkNvcmUpL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2
Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRsIFwKQEAgLTYzMywzMiArNjYxLDcgQEAgQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1ZpZXdFbGVtZW50LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9zdmcvU1ZHVmlld1NwZWMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdab29t
QW5kUGFuLmlkbCBcCi0gICAgJChXZWJDb3JlKS9zdmcvU1ZHWm9vbUV2ZW50LmlkbCBcCi0gICAg
JChXZWJDb3JlKS90ZXN0aW5nL0ludGVybmFscy5pZGwgXAotICAgICQoV2ViQ29yZSkvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmlkbCBcCi0gICAgJChXZWJDb3JlKS90ZXN0aW5nL01hbGxvY1N0
YXRpc3RpY3MuaWRsIFwKLSAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTWVtb3J5SW5mby5pZGwgXAot
ICAgICQoV2ViQ29yZSkvdGVzdGluZy9UeXBlQ29udmVyc2lvbnMuaWRsIFwKLSAgICAkKFdlYkNv
cmUpL3dvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaWRsIFwKLSAgICAkKFdlYkNvcmUpL3dvcmtlcnMv
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaWRsIFwKLSAgICAkKFdlYkNvcmUpL3dvcmtlcnMv
U2hhcmVkV29ya2VyLmlkbCBcCi0gICAgJChXZWJDb3JlKS93b3JrZXJzL1NoYXJlZFdvcmtlckds
b2JhbFNjb3BlLmlkbCBcCi0gICAgJChXZWJDb3JlKS93b3JrZXJzL1dvcmtlci5pZGwgXAotICAg
ICQoV2ViQ29yZSkvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5pZGwgXAotICAgICQoV2ViQ29y
ZSkvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi5pZGwgXAotICAgICQoV2ViQ29yZSkveG1sL0RPTVBh
cnNlci5pZGwgXAotICAgICQoV2ViQ29yZSkveG1sL1hNTEh0dHBSZXF1ZXN0LmlkbCBcCi0gICAg
JChXZWJDb3JlKS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsIFwKLSAgICAkKFdlYkNv
cmUpL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRsIFwKLSAgICAkKFdlYkNvcmUp
L3htbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5pZGwgXAotICAgICQoV2ViQ29yZSkveG1sL1hNTFNl
cmlhbGl6ZXIuaWRsIFwKLSAgICAkKFdlYkNvcmUpL3htbC9YUGF0aEV2YWx1YXRvci5pZGwgXAot
ICAgICQoV2ViQ29yZSkveG1sL1hQYXRoRXhjZXB0aW9uLmlkbCBcCi0gICAgJChXZWJDb3JlKS94
bWwvWFBhdGhFeHByZXNzaW9uLmlkbCBcCi0gICAgJChXZWJDb3JlKS94bWwvWFBhdGhOU1Jlc29s
dmVyLmlkbCBcCi0gICAgJChXZWJDb3JlKS94bWwvWFBhdGhSZXN1bHQuaWRsIFwKLSAgICAkKFdl
YkNvcmUpL3htbC9YU0xUUHJvY2Vzc29yLmlkbCBcCi0gICAgSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZC5pZGwKKyAgICAkKFdlYkNvcmUpL3N2Zy9TVkdab29tRXZlbnQuaWRsCiAjCiAKIGlmZXEg
KCQoT1MpLE1BQ09TKQpAQCAtNjkzLDcgKzY5Niw3IEBAIEFERElUSU9OQUxfQklORElOR19JRExT
ID0gXAogICAgIFRvdWNoRXZlbnQuaWRsIFwKICAgICBUb3VjaExpc3QuaWRsCiAKLUJJTkRJTkdf
SURMUyArPSAkKEFERElUSU9OQUxfQklORElOR19JRExTKQorTk9OX1NWR19CSU5ESU5HX0lETFMg
Kz0gJChBRERJVElPTkFMX0JJTkRJTkdfSURMUykKIAogYWxsIDogJChBRERJVElPTkFMX0JJTkRJ
TkdfSURMUzolLmlkbD1KUyUuaCkKIApAQCAtNzA3LDcgKzcxMCw3IEBAIGVuZGlmCiBlbmRpZiAj
IE1BQ09TCiAKIGlmbmVxICgkKFdURl9QTEFURk9STV9JT1MpLCAxKQotQklORElOR19JRExTICs9
IFwKK05PTl9TVkdfQklORElOR19JRExTICs9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9Ub3VjaC5p
ZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL1RvdWNoRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9Ub3VjaExpc3QuaWRsCkBAIC03MTUsOSArNzE4LDExIEBAIGVuZGlmCiAKIC5QSE9OWSA6
IGFsbAogCi1ET01fQ0xBU1NFUz0kKGJhc2VuYW1lICQobm90ZGlyICQoQklORElOR19JRExTKSkp
CitCSU5ESU5HX0lETFMgPSAkKE5PTl9TVkdfQklORElOR19JRExTKSAkKFNWR19CSU5ESU5HX0lE
TFMpCisKK0pTX0RPTV9DTEFTU0VTPSQoYmFzZW5hbWUgJChub3RkaXIgJChCSU5ESU5HX0lETFMp
KSkKIAotSlNfRE9NX0hFQURFUlM9JChmaWx0ZXItb3V0IEpTRXZlbnRMaXN0ZW5lci5oLCAkKERP
TV9DTEFTU0VTOiU9SlMlLmgpKQorSlNfRE9NX0hFQURFUlM9JChmaWx0ZXItb3V0IEpTRXZlbnRM
aXN0ZW5lci5oLCAkKEpTX0RPTV9DTEFTU0VTOiU9SlMlLmgpKQogCiBXRUJfRE9NX0hFQURFUlMg
Oj0KIApAQCAtMTE0OSw3ICsxMTU0LDkgQEAgSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3Vy
Y2UuaCA6IEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlU291cmNlLmpzCiAKIGlmZXEgKCQoT1Mp
LE1BQ09TKQogCi1PQkpDX0RPTV9IRUFERVJTPSQoZmlsdGVyLW91dCBET01ET01XaW5kb3cuaCBE
T01ET01NaW1lVHlwZS5oIERPTURPTVBsdWdpbi5oLCQoRE9NX0NMQVNTRVM6JT1ET00lLmgpKQor
T0JKQ19ET01fQ0xBU1NFUz0kKGJhc2VuYW1lICQobm90ZGlyICQoTk9OX1NWR19CSU5ESU5HX0lE
TFMpKSkKKworT0JKQ19ET01fSEVBREVSUz0kKGZpbHRlci1vdXQgRE9NRE9NV2luZG93LmggRE9N
RE9NTWltZVR5cGUuaCBET01ET01QbHVnaW4uaCwkKE9CSkNfRE9NX0NMQVNTRVM6JT1ET00lLmgp
KQogCiBhbGwgOiAkKE9CSkNfRE9NX0hFQURFUlMpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0gYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCmluZGV4IDUyNGU1N2Y4YTZi
MjRiZWVmYWQ2OTZkOWI3NTFhZGMzMjdlZWIwZDUuLmViZjAzNWRhNmEwYTY4MzkwNjM1MGVjZDll
YTVjYTEyYmIyYTNjNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvck9iakMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQpAQCAtOTEsMTAgKzkxLDcgQEAgbXkgJGVuZEFwcGxl
Q29weXJpZ2h0ICAgPSA8PEVORDsKIEVORAogCiAjIEhhc2hlcwotbXkgJXByb3RvY29sVHlwZUhh
c2ggPSAoIlhQYXRoTlNSZXNvbHZlciIgPT4gMSwgIkV2ZW50TGlzdGVuZXIiID0+IDEsICJFdmVu
dFRhcmdldCIgPT4gMSwgIk5vZGVGaWx0ZXIiID0+IDEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIiA9PiAxLCAKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJTVkdUZXN0cyIgPT4gMSwgIlNWR0xhbmdTcGFjZSIgPT4gMSwgIlNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQiID0+IDEsICJTVkdVUklSZWZlcmVuY2UiID0+IDEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiU1ZHWm9vbUFuZFBhbiIgPT4gMSwgIlNWR0ZpdFRv
Vmlld0JveCIgPT4gMSwgIlNWR0FuaW1hdGVkUGF0aERhdGEiID0+IDEpOworbXkgJXByb3RvY29s
VHlwZUhhc2ggPSAoIlhQYXRoTlNSZXNvbHZlciIgPT4gMSwgIkV2ZW50TGlzdGVuZXIiID0+IDEs
ICJFdmVudFRhcmdldCIgPT4gMSwgIk5vZGVGaWx0ZXIiID0+IDEpOwogbXkgJW5hdGl2ZU9iakNU
eXBlSGFzaCA9ICgiVVJMIiA9PiAxLCAiQ29sb3IiID0+IDEpOwogCiAjIEZJWE1FOiB0aGlzIHNo
b3VsZCBiZSByZXBsYWNlZCB3aXRoIGEgZnVuY3Rpb24gdGhhdCByZWN1cnNlcyB1cCB0aGUgdHJl
ZQpAQCAtMTAyLDE1ICs5OSw3IEBAIG15ICVuYXRpdmVPYmpDVHlwZUhhc2ggPSAoIlVSTCIgPT4g
MSwgIkNvbG9yIiA9PiAxKTsKIG15ICViYXNlVHlwZUhhc2ggPSAoIk9iamVjdCIgPT4gMSwgIk5v
ZGUiID0+IDEsICJOb2RlTGlzdCIgPT4gMSwgIk5hbWVkTm9kZU1hcCIgPT4gMSwgIkRPTUltcGxl
bWVudGF0aW9uIiA9PiAxLAogICAgICAgICAgICAgICAgICAgICAiRXZlbnQiID0+IDEsICJDU1NS
dWxlIiA9PiAxLCAiQ1NTVmFsdWUiID0+IDEsICJTdHlsZVNoZWV0IiA9PiAxLCAiTWVkaWFMaXN0
IiA9PiAxLAogICAgICAgICAgICAgICAgICAgICAiQ291bnRlciIgPT4gMSwgIlJlY3QiID0+IDEs
ICJSR0JDb2xvciIgPT4gMSwgIlhQYXRoRXhwcmVzc2lvbiIgPT4gMSwgIlhQYXRoUmVzdWx0IiA9
PiAxLAotICAgICAgICAgICAgICAgICAgICAiTm9kZUl0ZXJhdG9yIiA9PiAxLCAiVHJlZVdhbGtl
ciIgPT4gMSwgIkFic3RyYWN0VmlldyIgPT4gMSwgIkJsb2IiID0+IDEsCi0gICAgICAgICAgICAg
ICAgICAgICJTVkdBbmdsZSIgPT4gMSwgIlNWR0FuaW1hdGVkQW5nbGUiID0+IDEsICJTVkdBbmlt
YXRlZEJvb2xlYW4iID0+IDEsICJTVkdBbmltYXRlZEVudW1lcmF0aW9uIiA9PiAxLAotICAgICAg
ICAgICAgICAgICAgICAiU1ZHQW5pbWF0ZWRJbnRlZ2VyIiA9PiAxLCAiU1ZHQW5pbWF0ZWRMZW5n
dGgiID0+IDEsICJTVkdBbmltYXRlZExlbmd0aExpc3QiID0+IDEsCi0gICAgICAgICAgICAgICAg
ICAgICJTVkdBbmltYXRlZE51bWJlciIgPT4gMSwgIlNWR0FuaW1hdGVkTnVtYmVyTGlzdCIgPT4g
MSwKLSAgICAgICAgICAgICAgICAgICAgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbyIg
PT4gMSwgIlNWR0FuaW1hdGVkUmVjdCIgPT4gMSwgIlNWR0FuaW1hdGVkU3RyaW5nIiA9PiAxLAot
ICAgICAgICAgICAgICAgICAgICAiU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0IiA9PiAxLCAiU1ZH
TGVuZ3RoIiA9PiAxLCAiU1ZHTGVuZ3RoTGlzdCIgPT4gMSwgIlNWR01hdHJpeCIgPT4gMSwKLSAg
ICAgICAgICAgICAgICAgICAgIlNWR051bWJlciIgPT4gMSwgIlNWR051bWJlckxpc3QiID0+IDEs
ICJTVkdQYXRoU2VnIiA9PiAxLCAiU1ZHUGF0aFNlZ0xpc3QiID0+IDEsICJTVkdQb2ludCIgPT4g
MSwKLSAgICAgICAgICAgICAgICAgICAgIlNWR1BvaW50TGlzdCIgPT4gMSwgIlNWR1ByZXNlcnZl
QXNwZWN0UmF0aW8iID0+IDEsICJTVkdSZWN0IiA9PiAxLCAiU1ZHUmVuZGVyaW5nSW50ZW50IiA9
PiAxLAotICAgICAgICAgICAgICAgICAgICAiU1ZHU3RyaW5nTGlzdCIgPT4gMSwgIlNWR1RyYW5z
Zm9ybSIgPT4gMSwgIlNWR1RyYW5zZm9ybUxpc3QiID0+IDEsICJTVkdVbml0VHlwZXMiID0+IDEp
OworICAgICAgICAgICAgICAgICAgICAiTm9kZUl0ZXJhdG9yIiA9PiAxLCAiVHJlZVdhbGtlciIg
PT4gMSwgIkFic3RyYWN0VmlldyIgPT4gMSwgIkJsb2IiID0+IDEpOwogCiAjIENvbnN0YW50cwog
bXkgJGJ1aWxkaW5nRm9ySVBob25lID0gZGVmaW5lZCAkRU5We1BMQVRGT1JNX05BTUV9ICYmICgk
RU5We1BMQVRGT1JNX05BTUV9IGVxICJpcGhvbmVvcyIgb3IgJEVOVntQTEFURk9STV9OQU1FfSBl
cSAiaXBob25lc2ltdWxhdG9yIik7CkBAIC01MDAsNyArNDg5LDcgQEAgc3ViIEdldEJhc2VDbGFz
cwogCiAgICAgcmV0dXJuICRwYXJlbnQgaWYgJHBhcmVudCBlcSAiT2JqZWN0IiBvciBJc0Jhc2VU
eXBlKCRwYXJlbnQpOwogICAgIHJldHVybiAiRXZlbnQiIGlmICRwYXJlbnQgZXEgIlVJRXZlbnQi
IG9yICRwYXJlbnQgZXEgIk1vdXNlRXZlbnQiOwotICAgIHJldHVybiAiQ1NTVmFsdWUiIGlmICRw
YXJlbnQgZXEgIlNWR0NvbG9yIiBvciAkcGFyZW50IGVxICJDU1NWYWx1ZUxpc3QiOworICAgIHJl
dHVybiAiQ1NTVmFsdWUiIGlmICRwYXJlbnQgZXEgIkNTU1ZhbHVlTGlzdCI7CiAgICAgcmV0dXJu
ICJOb2RlIjsKIH0KIApAQCAtNTk1LDggKzU4NCw2IEBAIHN1YiBHZXRQcm9wZXJ0eUF0dHJpYnV0
ZXMKICAgICAjIEZJWE1FOiA8cmRhcjovL3Byb2JsZW0vNTA0OTkzND4gQ29uc2lkZXIgdXNpbmcg
J25vbmF0b21pYycgb24gdGhlIERPTSBAcHJvcGVydHkgZGVjbGFyYXRpb25zLgogICAgIGlmICgk
Y29kZUdlbmVyYXRvci0+SXNTdHJpbmdUeXBlKCR0eXBlKSB8fCBJc05hdGl2ZU9iakNUeXBlKCR0
eXBlKSkgewogICAgICAgICBwdXNoKEBhdHRyaWJ1dGVzLCAiY29weSIpOwotICAgIH0gZWxzaWYg
KCRjb2RlR2VuZXJhdG9yLT5Jc1NWR0FuaW1hdGVkVHlwZSgkdHlwZSkpIHsKLSAgICAgICAgcHVz
aChAYXR0cmlidXRlcywgInN0cm9uZyIpOwogICAgIH0gZWxzaWYgKCEkY29kZUdlbmVyYXRvci0+
SXNTdHJpbmdUeXBlKCR0eXBlKSAmJiAhJGNvZGVHZW5lcmF0b3ItPklzUHJpbWl0aXZlVHlwZSgk
dHlwZSkgJiYgJHR5cGUgbmUgIkRPTVRpbWVTdGFtcCIgJiYgJHR5cGUgbmUgIkNvbXBhcmVIb3ci
KSB7CiAgICAgICAgIHB1c2goQGF0dHJpYnV0ZXMsICJzdHJvbmciKTsKICAgICB9CkBAIC02OTcs
MTIgKzY4NCw2IEBAIHN1YiBBZGRJbmNsdWRlc0ZvclR5cGUKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUoJHR5cGUpKSB7
Ci0gICAgICAgICRpbXBsSW5jbHVkZXN7IiR7dHlwZX0uaCJ9ID0gMTsKLSAgICAgICAgJGltcGxJ
bmNsdWRlc3siRE9NJHt0eXBlfUludGVybmFsLmgifSA9IDE7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KICAgICBpZiAoJHR5cGUgPX4gLyhcdyspKEFic3xSZWwpJC8pIHsKICAgICAgICAgJGlt
cGxJbmNsdWRlc3siJDEuaCJ9ID0gMTsKICAgICAgICAgJGltcGxJbmNsdWRlc3siRE9NJHt0eXBl
fUludGVybmFsLmgifSA9IDE7CkBAIC03NDIsNTYgKzcyMyw2IEBAIHN1YiBBZGRJbmNsdWRlc0Zv
clR5cGUKICAgICAkaW1wbEluY2x1ZGVzeyJET00ke3R5cGV9SW50ZXJuYWwuaCJ9ID0gMTsKIH0K
IAotc3ViIEdldFNWR1R5cGVXaXRoTmFtZXNwYWNlCi17Ci0gICAgbXkgJHR5cGUgPSBzaGlmdDsK
LSAgICBteSAkdHlwZVdpdGhOYW1lc3BhY2UgPSAiV2ViQ29yZTo6IiAuICRjb2RlR2VuZXJhdG9y
LT5HZXRTVkdUeXBlTmVlZGluZ1RlYXJPZmYoJHR5cGUpOwotCi0gICAgIyBTcGVjaWFsIGNhc2Ug
Zm9yIERPTVNWR051bWJlcgotICAgICR0eXBlV2l0aE5hbWVzcGFjZSA9fiBzLzwvXDxXZWJDb3Jl
OjovIHVubGVzcyAkdHlwZSBlcSAiU1ZHTnVtYmVyIjsKLSAgICByZXR1cm4gJHR5cGVXaXRoTmFt
ZXNwYWNlOwotfQotCi1zdWIgR2V0U1ZHUHJvcGVydHlUeXBlcwotewotICAgIG15ICRpbXBsVHlw
ZSA9IHNoaWZ0OwotCi0gICAgbXkgJHN2Z1Byb3BlcnR5VHlwZTsKLSAgICBteSAkc3ZnTGlzdFBy
b3BlcnR5VHlwZTsKLSAgICBteSAkc3ZnTmF0aXZlVHlwZTsKLQotICAgIHJldHVybiAoJHN2Z1By
b3BlcnR5VHlwZSwgJHN2Z0xpc3RQcm9wZXJ0eVR5cGUsICRzdmdOYXRpdmVUeXBlKSBpZiBub3Qg
JGltcGxUeXBlID1+IC9TVkcvOwotCi0gICAgJHN2Z05hdGl2ZVR5cGUgPSAkY29kZUdlbmVyYXRv
ci0+R2V0U1ZHVHlwZU5lZWRpbmdUZWFyT2ZmKCRpbXBsVHlwZSk7Ci0gICAgcmV0dXJuICgkc3Zn
UHJvcGVydHlUeXBlLCAkc3ZnTGlzdFByb3BlcnR5VHlwZSwgJHN2Z05hdGl2ZVR5cGUpIGlmIG5v
dCAkc3ZnTmF0aXZlVHlwZTsKLQotICAgICMgQXBwZW5kIHNwYWNlIHRvIGF2b2lkIGNvbXBpbGF0
aW9uIGVycm9ycyB3aGVuIHVzaW5nICBQYXNzUmVmUHRyPCRzdmdOYXRpdmVUeXBlPgotICAgICRz
dmdOYXRpdmVUeXBlID0gIldlYkNvcmU6OiRzdmdOYXRpdmVUeXBlICI7Ci0gICAgJHN2Z05hdGl2
ZVR5cGUgPX4gcy88L1w8V2ViQ29yZTo6LyBpZiBub3QgJHN2Z05hdGl2ZVR5cGUgPX4gL2Zsb2F0
LzsKLQotICAgIG15ICRzdmdXcmFwcGVkTmF0aXZlVHlwZSA9ICRjb2RlR2VuZXJhdG9yLT5HZXRT
VkdXcmFwcGVkVHlwZU5lZWRpbmdUZWFyT2ZmKCRpbXBsVHlwZSk7Ci0gICAgaWYgKCRzdmdOYXRp
dmVUeXBlID1+IC9TVkdQcm9wZXJ0eVRlYXJPZmYvKSB7Ci0gICAgICAgIGlmICgkc3ZnV3JhcHBl
ZE5hdGl2ZVR5cGUgZXEgImZsb2F0IikgewotICAgICAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9y
IERPTVNWR051bWJlcgotICAgICAgICAgICAgJHN2Z1Byb3BlcnR5VHlwZSA9ICRzdmdXcmFwcGVk
TmF0aXZlVHlwZTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICRzdmdQcm9wZXJ0eVR5
cGUgPSAiV2ViQ29yZTo6JHN2Z1dyYXBwZWROYXRpdmVUeXBlIjsKLSAgICAgICAgICAgICRzdmdQ
cm9wZXJ0eVR5cGUgPX4gcy88L1w8V2ViQ29yZTo6LzsKLSAgICAgICAgfQotICAgIH0gZWxzaWYg
KCRzdmdOYXRpdmVUeXBlID1+IC9TVkdMaXN0UHJvcGVydHlUZWFyT2ZmLyBvciAkc3ZnTmF0aXZl
VHlwZSA9fiAvU1ZHU3RhdGljTGlzdFByb3BlcnR5VGVhck9mZi8pIHsKLSAgICAgICAgJHN2Z0xp
c3RQcm9wZXJ0eVR5cGUgPSAiV2ViQ29yZTo6JHN2Z1dyYXBwZWROYXRpdmVUeXBlIjsKLSAgICAg
ICAgJHN2Z0xpc3RQcm9wZXJ0eVR5cGUgPX4gcy88L1w8V2ViQ29yZTo6LzsKLSAgICB9IGVsc2lm
ICgkc3ZnTmF0aXZlVHlwZSA9fiAvU1ZHVHJhbnNmb3JtTGlzdFByb3BlcnR5VGVhck9mZi8pIHsK
LSAgICAgICAgJHN2Z0xpc3RQcm9wZXJ0eVR5cGUgPSAiV2ViQ29yZTo6JHN2Z1dyYXBwZWROYXRp
dmVUeXBlIjsKLSAgICAgICAgJHN2Z0xpc3RQcm9wZXJ0eVR5cGUgPX4gcy88L1w8V2ViQ29yZTo6
LzsKLSAgICB9IGVsc2lmICgkc3ZnTmF0aXZlVHlwZSA9fiAvU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0
eVRlYXJPZmYvKSB7Ci0gICAgICAgICRzdmdMaXN0UHJvcGVydHlUeXBlID0gIldlYkNvcmU6OiRz
dmdXcmFwcGVkTmF0aXZlVHlwZSI7Ci0gICAgICAgICRzdmdMaXN0UHJvcGVydHlUeXBlID1+IHMv
PC9cPFdlYkNvcmU6Oi87Ci0gICAgfQotCi0gICAgcmV0dXJuICgkc3ZnUHJvcGVydHlUeXBlLCAk
c3ZnTGlzdFByb3BlcnR5VHlwZSwgJHN2Z05hdGl2ZVR5cGUpOwotfQotCiBzdWIgQ29uZGl0aW9u
YWxJc0VuYWJsZWQoXCUkKQogewogICAgIG15ICRkZWZpbmVzID0gc2hpZnQ7CkBAIC0xMTIxLDkg
KzEwNTIsOSBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgc3BsaXQoIlxyIiwgJGVuZEFwcGxlQ29weXJpZ2h0KSk7CiAgICAgfQogCi0gICAgbXkgJWFs
d2F5c0dlbmVyYXRlRm9yTm9TVkdCdWlsZCA9IG1hcCB7ICRfID0+IDEgfSBxdyhET01IVE1MRW1i
ZWRFbGVtZW50IERPTUhUTUxPYmplY3RFbGVtZW50KTsKKyAgICBteSAlYWx3YXlzR2VuZXJhdGUg
PSBtYXAgeyAkXyA9PiAxIH0gcXcoRE9NSFRNTEVtYmVkRWxlbWVudCBET01IVE1MT2JqZWN0RWxl
bWVudCk7CiAKLSAgICBpZiAoQHByaXZhdGVIZWFkZXJBdHRyaWJ1dGVzID4gMCBvciBAcHJpdmF0
ZUhlYWRlckZ1bmN0aW9ucyA+IDAgb3IgZXhpc3RzICRhbHdheXNHZW5lcmF0ZUZvck5vU1ZHQnVp
bGR7JGNsYXNzTmFtZX0pIHsKKyAgICBpZiAoQHByaXZhdGVIZWFkZXJBdHRyaWJ1dGVzID4gMCBv
ciBAcHJpdmF0ZUhlYWRlckZ1bmN0aW9ucyA+IDAgb3IgZXhpc3RzICRhbHdheXNHZW5lcmF0ZXsk
Y2xhc3NOYW1lfSkgewogICAgICAgICAjIC0gUHJpdmF0ZSBjYXRlZ29yeSBAaW50ZXJmYWNlCiAg
ICAgICAgIGlmICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQXBwbGVDb3B5cmln
aHQifSkgewogICAgICAgICAgICAgQHByaXZhdGVIZWFkZXJDb250ZW50SGVhZGVyID0gc3BsaXQo
IlxyIiwgJGJlZ2luQXBwbGVDb3B5cmlnaHRGb3JIZWFkZXJGaWxlcyk7CkBAIC0xMTUzLDggKzEw
ODQsNiBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgbXkgJGltcGxDbGFzc05hbWVXaXRo
TmFtZXNwYWNlID0gIldlYkNvcmU6OiIgLiAkaW1wbENsYXNzTmFtZTsKIAogICAgICAgICBteSAk
aW1wbFR5cGUgPSAkaW1wbENsYXNzTmFtZVdpdGhOYW1lc3BhY2U7Ci0gICAgICAgIG15ICgkc3Zn
UHJvcGVydHlUeXBlLCAkc3ZnTGlzdFByb3BlcnR5VHlwZSwgJHN2Z05hdGl2ZVR5cGUpID0gR2V0
U1ZHUHJvcGVydHlUeXBlcygkaW1wbENsYXNzTmFtZSk7Ci0gICAgICAgICRpbXBsVHlwZSA9ICRz
dmdOYXRpdmVUeXBlIGlmICRzdmdOYXRpdmVUeXBlOwogCiAgICAgICAgICMgR2VuZXJhdGUgaW50
ZXJmYWNlIGRlZmluaXRpb25zLiAKICAgICAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJBcHBsZUNvcHlyaWdodCJ9KSB7CkBAIC0xMTY0LDEyICsxMDkzLDYgQEAgc3Vi
IEdlbmVyYXRlSGVhZGVyCiAgICAgICAgIH0KIAogICAgICAgICBwdXNoKEBpbnRlcm5hbEhlYWRl
ckNvbnRlbnQsICJcbiNpbXBvcnQgPFdlYkNvcmUvJGNsYXNzTmFtZS5oPlxuXG4iKTsKLSAgICAg
ICAgcHVzaChAaW50ZXJuYWxIZWFkZXJDb250ZW50LCAiI2ltcG9ydCA8V2ViQ29yZS9TVkdBbmlt
YXRlZFByb3BlcnR5VGVhck9mZi5oPlxuXG4iKSBpZiAkc3ZnUHJvcGVydHlUeXBlOwotICAgICAg
ICBpZiAoJHN2Z0xpc3RQcm9wZXJ0eVR5cGUpIHsKLSAgICAgICAgICAgIHB1c2goQGludGVybmFs
SGVhZGVyQ29udGVudCwgIiNpbXBvcnQgPFdlYkNvcmUvU1ZHQW5pbWF0ZWRMaXN0UHJvcGVydHlU
ZWFyT2ZmLmg+XG5cbiIpOwotICAgICAgICAgICAgcHVzaChAaW50ZXJuYWxIZWFkZXJDb250ZW50
LCAiI2ltcG9ydCA8V2ViQ29yZS9TVkdUcmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFyT2ZmLmg+XG5c
biIpIGlmICRzdmdMaXN0UHJvcGVydHlUeXBlID1+IC9TVkdUcmFuc2Zvcm1MaXN0LzsKLSAgICAg
ICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIiNpbXBvcnQgPFdlYkNvcmUvU1ZH
UGF0aFNlZ0xpc3RQcm9wZXJ0eVRlYXJPZmYuaD5cblxuIikgaWYgJHN2Z0xpc3RQcm9wZXJ0eVR5
cGUgPX4gL1NWR1BhdGhTZWdMaXN0LzsKLSAgICAgICAgfQogCiAgICAgICAgIGlmICgkaW50ZXJm
YWNlTmFtZSBlcSAiTm9kZSIpIHsKICAgICAgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29u
dGVudCwgIlxAcHJvdG9jb2wgRE9NRXZlbnRUYXJnZXQ7XG5cbiIpOwpAQCAtMTE3NywxOCArMTEw
MCwxNCBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKIAogICAgICAgICBteSAkc3RhcnRlZE5hbWVzcGFj
ZSA9IDA7CiAKLSAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc1NWR0FuaW1hdGVkVHlwZSgk
aW50ZXJmYWNlTmFtZSkpIHsKLSAgICAgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVu
dCwgIiNpbXBvcnQgPFdlYkNvcmUvJGltcGxDbGFzc05hbWUuaD5cblxuIik7CisgICAgICAgIHB1
c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIm5hbWVzcGFjZSBXZWJDb3JlIHtcbiIpOworICAg
ICAgICAkc3RhcnRlZE5hbWVzcGFjZSA9IDE7CisgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBl
cSAiTm9kZSIpIHsKKyAgICAgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgImNs
YXNzIEV2ZW50VGFyZ2V0O1xuICAgIGNsYXNzIE5vZGU7XG4iKTsKICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIm5hbWVzcGFjZSBXZWJD
b3JlIHtcbiIpOwotICAgICAgICAgICAgJHN0YXJ0ZWROYW1lc3BhY2UgPSAxOwotICAgICAgICAg
ICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJOb2RlIikgewotICAgICAgICAgICAgICAgIHB1c2go
QGludGVybmFsSGVhZGVyQ29udGVudCwgImNsYXNzIEV2ZW50VGFyZ2V0O1xuICAgIGNsYXNzIE5v
ZGU7XG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAaW50
ZXJuYWxIZWFkZXJDb250ZW50LCAiY2xhc3MgJGltcGxDbGFzc05hbWU7XG4iKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIn1cblxuIik7
CisgICAgICAgICAgICBwdXNoKEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICJjbGFzcyAkaW1wbENs
YXNzTmFtZTtcbiIpOwogICAgICAgICB9CisgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29u
dGVudCwgIn1cblxuIik7CiAKICAgICAgICAgcHVzaChAaW50ZXJuYWxIZWFkZXJDb250ZW50LCAi
JGltcGxUeXBlKiBjb3JlKCRjbGFzc05hbWUgKik7XG4iKTsKICAgICAgICAgcHVzaChAaW50ZXJu
YWxIZWFkZXJDb250ZW50LCAiJGNsYXNzTmFtZSAqa2l0KCRpbXBsVHlwZSopO1xuIik7CkBAIC0x
MjI2LDkgKzExNDUsNiBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIG15ICRudW1G
dW5jdGlvbnMgPSBAeyRpbnRlcmZhY2UtPmZ1bmN0aW9uc307CiAgICAgbXkgJGltcGxUeXBlID0g
JGltcGxDbGFzc05hbWVXaXRoTmFtZXNwYWNlOwogCi0gICAgbXkgKCRzdmdQcm9wZXJ0eVR5cGUs
ICRzdmdMaXN0UHJvcGVydHlUeXBlLCAkc3ZnTmF0aXZlVHlwZSkgPSBHZXRTVkdQcm9wZXJ0eVR5
cGVzKCRpbXBsQ2xhc3NOYW1lKTsKLSAgICAkaW1wbFR5cGUgPSAkc3ZnTmF0aXZlVHlwZSBpZiAk
c3ZnTmF0aXZlVHlwZTsKLQogICAgICMgLSBBZGQgZGVmYXVsdCBoZWFkZXIgdGVtcGxhdGUuCiAg
ICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBcHBsZUNvcHlyaWdodCJ9
KSB7CiAgICAgICAgIEBpbXBsQ29udGVudEhlYWRlciA9IHNwbGl0KCJcciIsICRiZWdpbkFwcGxl
Q29weXJpZ2h0Rm9yU291cmNlRmlsZXMpOwpAQCAtMTI1NywxNiArMTE3MywxMiBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICRpbXBsSW5jbHVkZXN7IkRPTUNTU1ZhbHVlSW50ZXJu
YWwuaCJ9ID0gMSBpZiAkaW50ZXJmYWNlTmFtZSA9fiAvLipDU1MuKlZhbHVlLzsKICAgICAkaW1w
bEluY2x1ZGVzeyJET01FdmVudEludGVybmFsLmgifSA9IDEgaWYgJGludGVyZmFjZU5hbWUgPX4g
Ly4qRXZlbnQvOwogICAgICRpbXBsSW5jbHVkZXN7IkRPTVN0eWxlU2hlZXRJbnRlcm5hbC5oIn0g
PSAxIGlmICRpbnRlcmZhY2VOYW1lIGVxICJDU1NTdHlsZVNoZWV0IjsKLSAgICAkaW1wbEluY2x1
ZGVzeyJET01TVkdQYXRoU2VnSW50ZXJuYWwuaCJ9ID0gMSBpZiAkaW50ZXJmYWNlTmFtZSA9fiAv
XlNWR1BhdGhTZWcuKy87CiAKICAgICBpZiAoJGludGVyZmFjZU5hbWUgPX4gLyhcdyspKEFic3xS
ZWwpJC8pIHsKICAgICAgICAgJGltcGxJbmNsdWRlc3siJDEuaCJ9ID0gMTsKICAgICB9IGVsc2Ug
ewogICAgICAgICBpZiAoISRjb2RlR2VuZXJhdG9yLT5Ta2lwSW5jbHVkZUhlYWRlcigkaW1wbENs
YXNzTmFtZSkpIHsKICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiRpbXBsQ2xhc3NOYW1lLmgi
fSA9IDEgOwotICAgICAgICB9IGVsc2lmICgkY29kZUdlbmVyYXRvci0+SXNTVkdUeXBlTmVlZGlu
Z1RlYXJPZmYoJGltcGxDbGFzc05hbWUpKSB7Ci0gICAgICAgICAgICBteSAkaW5jbHVkZVR5cGUg
PSAkY29kZUdlbmVyYXRvci0+R2V0U1ZHV3JhcHBlZFR5cGVOZWVkaW5nVGVhck9mZigkaW1wbENs
YXNzTmFtZSk7Ci0gICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke2luY2x1ZGVUeXBlfS5oIn0g
PSAxOwogICAgICAgICB9CiAgICAgfSAKIApAQCAtMTM3NCwxNSArMTI4Niw2IEBAIHN1YiBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICAgICAgICAgIG15ICRnZXR0ZXJDb250ZW50VGFpbCA9
ICIpIjsKIAotICAgICAgICAgICAgaWYgKCRzdmdQcm9wZXJ0eVR5cGUpIHsKLSAgICAgICAgICAg
ICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiJGdldHRlckV4cHJlc3Npb25QcmVmaXgiOwotCi0g
ICAgICAgICAgICAgICAgIyBUT0RPOiBIYW5kbGUgc3BlY2lhbCBjYXNlIGZvciBET01TVkdMZW5n
dGguIFdlIGRvIG5lZWQgQ3VzdG9tIGNvZGUgc3VwcG9ydCBmb3IgdGhpcy4KLSAgICAgICAgICAg
ICAgICBpZiAoJHN2Z1Byb3BlcnR5VHlwZSBlcSAiV2ViQ29yZTo6U1ZHTGVuZ3RoIiBhbmQgJGF0
dHJpYnV0ZU5hbWUgZXEgInZhbHVlIikgewotICAgICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29u
dGVudEhlYWQgPSAidmFsdWUoV2ViQ29yZTo6U1ZHTGVuZ3RoQ29udGV4dChJTVBMLT5jb250ZXh0
RWxlbWVudCgpKSwgIjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KICAgICAg
ICAgICAgIG15ICRhdHRyaWJ1dGVUeXBlU2Fuc1B0ciA9ICRhdHRyaWJ1dGVUeXBlOwogICAgICAg
ICAgICAgJGF0dHJpYnV0ZVR5cGVTYW5zUHRyID1+IHMvIFwqJC8vOyAjIFJlbW92ZSB0cmFpbGlu
ZyAiICoiIGZyb20gcG9pbnRlciB0eXBlcy4KIApAQCAtMTQyMyw0MCArMTMyNiw2IEBAIHN1YiBH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICB9IGVsc2lmICgkaWRsVHlwZSBlcSAi
RGF0ZSIpIHsKICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAia2l0KCRnZXR0
ZXJDb250ZW50SGVhZCI7CiAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRUYWlsIC49ICIp
IjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRzdmdQcm9wZXJ0eVR5cGUpIHsKLSAgICAgICAgICAg
ICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgRE9NU1ZHTnVtYmVyCi0gICAgICAgICAgICAgICAgaWYg
KCRzdmdQcm9wZXJ0eVR5cGUgZXEgImZsb2F0IikgewotICAgICAgICAgICAgICAgICAgICAjIElu
dGVudGlvbmFsIGxlYXZlIG91dCBjbG9zaW5nIGJyYWNlLCBpdCdzIGFscmVhZHkgY29udGFpbmVk
IGluIGdldHRlckNvbnRlbnRUYWlsCi0gICAgICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50
SGVhZCA9ICJJTVBMLT5wcm9wZXJ0eVJlZmVyZW5jZSgiOwotICAgICAgICAgICAgICAgIH0gZWxz
ZSB7ICAgIAotICAgICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiSU1QTC0+
cHJvcGVydHlSZWZlcmVuY2UoKS4kZ2V0dGVyQ29udGVudEhlYWQiOwotICAgICAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdUeXBlV2l0aFdy
aXRhYmxlUHJvcGVydGllc05lZWRpbmdUZWFyT2ZmKCRpZGxUeXBlKSBhbmQgbm90IGRlZmluZWQg
JGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1tdXRhYmxlIn0p
IHsKLSAgICAgICAgICAgICAgICAgICAgbXkgJGdldHRlciA9ICRnZXR0ZXJDb250ZW50SGVhZDsK
LSAgICAgICAgICAgICAgICAgICAgJGdldHRlciA9fiBzL1woXCkvLzsKLSAgICAgICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgICAgIG15ICR0ZWFyT2ZmVHlwZSA9IEdldFNWR1R5cGVX
aXRoTmFtZXNwYWNlKCRpZGxUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAgbXkgJHNlbGZJc1Rl
YXJPZmZUeXBlID0gJGNvZGVHZW5lcmF0b3ItPklzU1ZHVHlwZU5lZWRpbmdUZWFyT2ZmKCRpbXBs
Q2xhc3NOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCRzZWxmSXNUZWFyT2ZmVHlwZSkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siU1ZHU3RhdGljUHJvcGVy
dHlXaXRoUGFyZW50VGVhck9mZi5oIn0gPSAxOwotICAgICAgICAgICAgICAgICAgICAgICAgJHRl
YXJPZmZUeXBlID1+IHMvU1ZHUHJvcGVydHlUZWFyT2ZmPC9TVkdTdGF0aWNQcm9wZXJ0eVdpdGhQ
YXJlbnRUZWFyT2ZmPCRpbXBsQ2xhc3NOYW1lV2l0aE5hbWVzcGFjZSwgLzsKLQotICAgICAgICAg
ICAgICAgICAgICAgICAgbXkgJGdldHRlciA9ICRnZXR0ZXJFeHByZXNzaW9uUHJlZml4OwotICAg
ICAgICAgICAgICAgICAgICAgICAgJGdldHRlciA9fiBzL0lNUEwtPi8vOwotICAgICAgICAgICAg
ICAgICAgICAgICAgJGdldHRlciA9fiBzL1woLy87Ci0gICAgICAgICAgICAgICAgICAgICAgICBt
eSAkdXBkYXRlTWV0aG9kID0gIiYke2ltcGxDbGFzc05hbWVXaXRoTmFtZXNwYWNlfTo6dXBkYXRl
IiAuICRjb2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRnZXR0ZXIpOwotCi0gICAgICAgICAgICAg
ICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiJHt0ZWFyT2ZmVHlwZX06OmNyZWF0ZShJ
TVBMLCAkZ2V0dGVyQ29udGVudEhlYWQkZ2V0dGVyQ29udGVudFRhaWwsICR1cGRhdGVNZXRob2Qp
IjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gImtpdChX
VEY6OmdldFB0cigkZ2V0dGVyQ29udGVudEhlYWQiOwotICAgICAgICAgICAgICAgICAgICAgICAg
JGdldHRlckNvbnRlbnRUYWlsID0gIikpIjsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzaWYgKCgkY29kZUdlbmVyYXRvci0+SXNTVkdB
bmltYXRlZFR5cGUoJGltcGxDbGFzc05hbWUpIG9yICRpbXBsQ2xhc3NOYW1lIGVxICJTVkdWaWV3
U3BlYyIpIGFuZCAkY29kZUdlbmVyYXRvci0+SXNTVkdUeXBlTmVlZGluZ1RlYXJPZmYoJGlkbFR5
cGUpKSB7Ci0gICAgICAgICAgICAgICAgbXkgJGlkbFR5cGVXaXRoTmFtZXNwYWNlID0gR2V0U1ZH
VHlwZVdpdGhOYW1lc3BhY2UoJGlkbFR5cGUpOwotICAgICAgICAgICAgICAgICRnZXR0ZXJDb250
ZW50SGVhZCA9ICJraXQoc3RhdGljX2Nhc3Q8JGlkbFR5cGVXaXRoTmFtZXNwYWNlKj4oJGdldHRl
ckNvbnRlbnRIZWFkKSI7Ci0gICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRUYWlsIC49ICIp
IjsKICAgICAgICAgICAgIH0gZWxzaWYgKElzUHJvdG9jb2xUeXBlKCRpZGxUeXBlKSBhbmQgJGlk
bFR5cGUgbmUgIkV2ZW50VGFyZ2V0IikgewogICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50
SGVhZCA9ICJraXQoJGdldHRlckNvbnRlbnRIZWFkIjsKICAgICAgICAgICAgICAgICAkZ2V0dGVy
Q29udGVudFRhaWwgLj0gIikiOwpAQCAtMTQ3MiwzNCArMTM0MSw4IEBAIHN1YiBHZW5lcmF0ZUlt
cGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gIiRnZXR0
ZXJDb250ZW50SGVhZCI7CiAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRUYWlsIC49ICIt
PnRvU3RyaW5nKCkiOyAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIH0gZWxzaWYgKENvbnZl
cnNpb25OZWVkZWQoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKSkgewotICAgICAgICAgICAg
ICAgIG15ICR0eXBlID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlOwotICAgICAgICAgICAg
ICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdUeXBlTmVlZGluZ1RlYXJPZmYoJHR5cGUpIGFu
ZCBub3QgJGltcGxDbGFzc05hbWUgPX4gL0xpc3QkLykgewotICAgICAgICAgICAgICAgICAgICBt
eSAkaWRsVHlwZVdpdGhOYW1lc3BhY2UgPSBHZXRTVkdUeXBlV2l0aE5hbWVzcGFjZSgkdHlwZSk7
Ci0gICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiR0eXBlLmgifSA9IDEgaWYgbm90
ICRjb2RlR2VuZXJhdG9yLT5Ta2lwSW5jbHVkZUhlYWRlcigkdHlwZSk7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdUeXBlV2l0aFdyaXRhYmxlUHJvcGVydGll
c05lZWRpbmdUZWFyT2ZmKCR0eXBlKSBhbmQgbm90IGRlZmluZWQgJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1tdXRhYmxlIn0pIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICRpZGxUeXBlV2l0aE5hbWVzcGFjZSA9fiBzL1NWR1Byb3BlcnR5VGVhck9mZjwv
U1ZHU3RhdGljUHJvcGVydHlUZWFyT2ZmPCRpbXBsQ2xhc3NOYW1lV2l0aE5hbWVzcGFjZSwgLzsK
LSAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IlNWR1N0YXRpY1Byb3BlcnR5
VGVhck9mZi5oIn0gPSAxOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBteSAkZ2V0dGVyID0g
JGdldHRlckNvbnRlbnRIZWFkOwotICAgICAgICAgICAgICAgICAgICAgICAgJGdldHRlciA9fiBz
L0lNUEwtPi8vOwotICAgICAgICAgICAgICAgICAgICAgICAgJGdldHRlciA9fiBzL1woLy87Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBteSAkdXBkYXRlTWV0aG9kID0gIiYke2ltcGxDbGFzc05h
bWVXaXRoTmFtZXNwYWNlfTo6dXBkYXRlIiAuICRjb2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRn
ZXR0ZXIpOwotICAgICAgICAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gImtp
dChXVEY6OmdldFB0cigke2lkbFR5cGVXaXRoTmFtZXNwYWNlfTo6Y3JlYXRlKElNUEwsICRnZXR0
ZXJDb250ZW50SGVhZCRnZXR0ZXJDb250ZW50VGFpbCwgJHVwZGF0ZU1ldGhvZCI7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudFRhaWwgLj0gIikpIjsKLSAgICAgICAgICAg
ICAgICAgICAgfSBlbHNpZiAoJGlkbFR5cGVXaXRoTmFtZXNwYWNlID1+IC9TVkcoUG9pbnR8UGF0
aFNlZylMaXN0LykgewotICAgICAgICAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFk
ID0gImtpdChXVEY6OmdldFB0cigkZ2V0dGVyQ29udGVudEhlYWQiOwotICAgICAgICAgICAgICAg
ICAgICAgICAgJGdldHRlckNvbnRlbnRUYWlsIC49ICIpKSI7Ci0gICAgICAgICAgICAgICAgICAg
IH0gZWxzaWYgKCRpZGxUeXBlV2l0aE5hbWVzcGFjZSA9fiAvU1ZHU3RhdGljTGlzdFByb3BlcnR5
VGVhck9mZi8pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50SGVhZCA9
ICJraXQoV1RGOjpnZXRQdHIoJHtpZGxUeXBlV2l0aE5hbWVzcGFjZX06OmNyZWF0ZShJTVBMLCAk
Z2V0dGVyQ29udGVudEhlYWQiOwotICAgICAgICAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRl
bnRUYWlsIC49ICIpKSkiOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gImtpdChXVEY6OmdldFB0cigke2lk
bFR5cGVXaXRoTmFtZXNwYWNlfTo6Y3JlYXRlKCRnZXR0ZXJDb250ZW50SGVhZCI7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudFRhaWwgLj0gIikpKSI7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAkZ2V0dGVyQ29udGVudEhlYWQgPSAia2l0KFdURjo6Z2V0UHRyKCRnZXR0ZXJDb250ZW50SGVh
ZCI7Ci0gICAgICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50VGFpbCAuPSAiKSkiOwotICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAia2l0
KFdURjo6Z2V0UHRyKCRnZXR0ZXJDb250ZW50SGVhZCI7CisgICAgICAgICAgICAgICAgJGdldHRl
ckNvbnRlbnRUYWlsIC49ICIpKSI7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIG15ICRn
ZXR0ZXJDb250ZW50OwpAQCAtMTU3OCw1NSArMTQyMSwyMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAkYXJnID0gImNvcmUoIiAuICRhcmcgLiAiKSI7
CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgaWYgKCRzdmdQcm9wZXJ0eVR5
cGUpIHsKLSAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siRXhjZXB0aW9uQ29kZS5o
In0gPSAxOwotICAgICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiJGdldHRl
ckV4cHJlc3Npb25QcmVmaXgiOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICBpZiAoSU1QTC0+aXNSZWFkT25seSgpKSB7XG4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIFdlYkNvcmU6OnJhaXNlT25ET01FcnJvcihX
ZWJDb3JlOjpOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIpO1xuIik7Ci0gICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICByZXR1cm47XG4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgfVxuIik7Ci0gICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRzdmdQcm9wZXJ0eVR5cGUmIHBvZEltcGwg
PSBJTVBMLT5wcm9wZXJ0eVJlZmVyZW5jZSgpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgIG15
ICRlYyA9ICRoYXNTZXR0ZXJFeGNlcHRpb24gPyAiLCBlYyIgOiAiIjsKLSAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGV4Y2VwdGlvbkluaXRcbiIpIGlmICRoYXNT
ZXR0ZXJFeGNlcHRpb247Ci0KLSAgICAgICAgICAgICAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9y
IERPTVNWR051bWJlcgotICAgICAgICAgICAgICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5VHlwZSBl
cSAiZmxvYXQiKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBwb2RJbXBsID0gJGFyZztcbiIpOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgICAgICAgICAgIyBGSVhNRTogU3BlY2lhbCBjYXNlIGZvciBET01TVkdM
ZW5ndGguIFdlIGRvIG5lZWQgQ3VzdG9tIGNvZGUgc3VwcG9ydCBmb3IgdGhpcy4KLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICgkc3ZnUHJvcGVydHlUeXBlIGVxICJXZWJDb3JlOjpTVkdMZW5n
dGgiIGFuZCAkYXR0cmlidXRlTmFtZSBlcSAidmFsdWUiKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcG9kSW1wbC4kY29yZVNldHRlck5hbWUo
JGFyZywgV2ViQ29yZTo6U1ZHTGVuZ3RoQ29udGV4dChJTVBMLT5jb250ZXh0RWxlbWVudCgpKSRl
Yyk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcG9kSW1wbC4kY29yZVNldHRl
ck5hbWUoJGFyZyRlYyk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgIGlmICgkaGFzU2V0dGVyRXhjZXB0
aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBp
ZiAoIWVjKVxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICAgICAgSU1QTC0+Y29tbWl0Q2hhbmdlKCk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRleGNlcHRpb25SYWlzZU9uRXJyb3JcbiIpOwot
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgSU1QTC0+Y29tbWl0Q2hhbmdlKCk7XG4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRzdmdMaXN0UHJvcGVydHlU
eXBlKSB7Ci0gICAgICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50SGVhZCA9ICIkZ2V0dGVy
RXhwcmVzc2lvblByZWZpeCI7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIElNUEwtPiRjb3JlU2V0dGVyTmFtZSgkYXJnKTtcbiIpOworICAgICAgICAgICAgICAg
IG15ICgkZnVuY3Rpb25OYW1lLCBAYXJndW1lbnRzKSA9ICRjb2RlR2VuZXJhdG9yLT5TZXR0ZXJF
eHByZXNzaW9uKFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7Cisg
ICAgICAgICAgICAgICAgcHVzaChAYXJndW1lbnRzLCAkYXJnKTsKKyAgICAgICAgICAgICAgICBw
dXNoKEBhcmd1bWVudHMsICJlYyIpIGlmICRoYXNTZXR0ZXJFeGNlcHRpb247CisgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGV4Y2VwdGlvbkluaXRcbiIpIGlmICRoYXNT
ZXR0ZXJFeGNlcHRpb247CisgICAgICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVy
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifSkgeworICAgICAgICAgICAg
ICAgICAgICBteSAkaW1wbGVtZW50ZWRCeSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifTsKKyAgICAgICAgICAgICAgICAgICAgJGlt
cGxJbmNsdWRlc3siJHtpbXBsZW1lbnRlZEJ5fS5oIn0gPSAxOworICAgICAgICAgICAgICAgICAg
ICB1bnNoaWZ0KEBhcmd1bWVudHMsICJJTVBMIik7CisgICAgICAgICAgICAgICAgICAgICRmdW5j
dGlvbk5hbWUgPSAiJHtpbXBsZW1lbnRlZEJ5fTo6JHtmdW5jdGlvbk5hbWV9IjsKICAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBteSAoJGZ1bmN0aW9uTmFtZSwg
QGFyZ3VtZW50cykgPSAkY29kZUdlbmVyYXRvci0+U2V0dGVyRXhwcmVzc2lvbihcJWltcGxJbmNs
dWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwotICAgICAgICAgICAgICAgICAgICBw
dXNoKEBhcmd1bWVudHMsICRhcmcpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBhcmd1bWVu
dHMsICJlYyIpIGlmICRoYXNTZXR0ZXJFeGNlcHRpb247Ci0gICAgICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgICRleGNlcHRpb25Jbml0XG4iKSBpZiAkaGFzU2V0dGVyRXhj
ZXB0aW9uOwotICAgICAgICAgICAgICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9KSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBteSAkaW1wbGVtZW50ZWRCeSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICRpbXBsSW5jbHVkZXN7IiR7aW1wbGVtZW50ZWRCeX0uaCJ9ID0gMTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgIklNUEwiKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICRmdW5jdGlvbk5hbWUgPSAiJHtpbXBsZW1lbnRlZEJ5fTo6JHtmdW5jdGlvbk5hbWV9
IjsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICRmdW5jdGlvbk5hbWUgPSAiSU1QTC0+JHtmdW5jdGlvbk5hbWV9IjsKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAke2Z1
bmN0aW9uTmFtZX0oIiAuIGpvaW4oIiwgIiwgQGFyZ3VtZW50cykgLiAiKTtcbiIpOwotICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkZXhjZXB0aW9uUmFpc2VPbkVy
cm9yXG4iKSBpZiAkaGFzU2V0dGVyRXhjZXB0aW9uOworICAgICAgICAgICAgICAgICAgICAkZnVu
Y3Rpb25OYW1lID0gIklNUEwtPiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7ZnVuY3Rpb25OYW1lfSgi
IC4gam9pbigiLCAiLCBAYXJndW1lbnRzKSAuICIpO1xuIik7CisgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgJGV4Y2VwdGlvblJhaXNlT25FcnJvclxuIikgaWYgJGhhc1Nl
dHRlckV4Y2VwdGlvbjsKIAogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxu
Iik7CiAgICAgICAgICAgICB9CkBAIC0xNzM3LDYzICsxNTQ1LDE0IEBAIHN1YiBHZW5lcmF0ZUlt
cGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgcHVzaChAZnVuY3Rpb25Db250ZW50LCAiICAg
ICAgICBuYXRpdmVOb2RlRmlsdGVyID0gV2ViQ29yZTo6Tm9kZUZpbHRlcjo6Y3JlYXRlKFdlYkNv
cmU6Ok9iakNOb2RlRmlsdGVyQ29uZGl0aW9uOjpjcmVhdGUoJHBhcmFtTmFtZSkpO1xuIik7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICMgRklYTUUhIFdlIG5lZWQgW0N1c3RvbV0gc3Vw
cG9ydCBmb3IgT2JqQywgdG8gbW92ZSB0aGVzZSBoYWNrcyBpbnRvIERPTVNWR0xlbmd0aC9NYXRy
aXhDdXN0b20ubW0KLSAgICAgICAgICAgIG15ICRzdmdMZW5ndGhDb252ZXJ0VG9TcGVjaWZpZWRV
bml0cyA9ICgkc3ZnUHJvcGVydHlUeXBlIGFuZCAkc3ZnUHJvcGVydHlUeXBlIGVxICJXZWJDb3Jl
OjpTVkdMZW5ndGgiIGFuZCAkZnVuY3Rpb25OYW1lIGVxICJjb252ZXJ0VG9TcGVjaWZpZWRVbml0
cyIpOwotCi0gICAgICAgICAgICBwdXNoKEBwYXJhbWV0ZXJOYW1lcywgIldlYkNvcmU6OlNWR0xl
bmd0aENvbnRleHQoSU1QTC0+Y29udGV4dEVsZW1lbnQoKSkiKSBpZiAkc3ZnTGVuZ3RoQ29udmVy
dFRvU3BlY2lmaWVkVW5pdHM7IAogICAgICAgICAgICAgcHVzaChAcGFyYW1ldGVyTmFtZXMsICJl
YyIpIGlmICRyYWlzZXNFeGNlcHRpb25zOwogCi0gICAgICAgICAgICAjIEhhbmRsZSBhcmd1bWVu
dHMgdGhhdCBhcmUgJ1NWR1Byb3BlcnR5JyBiYXNlZCAoU1ZHQW5nbGUvU1ZHTGVuZ3RoKS4gV2Ug
bmVlZCB0byBjb252ZXJ0IGZyb20gU1ZHUHJvcGVydHlUZWFyT2ZmPFR5cGU+KiB0byBUeXBlLAot
ICAgICAgICAgICAgIyB0byBiZSBhYmxlIHRvIGNhbGwgdGhlIGRlc2lyZWQgV2ViQ29yZSBmdW5j
dGlvbi4gSWYgdGhlIGNvbnZlcnNpb24gZmFpbHMsIHdlIGNhbid0IGV4dHJhY3QgVHlwZSBhbmQg
bmVlZCB0byByYWlzZSBhbiBleGNlcHRpb24uCi0gICAgICAgICAgICBteSAkY3VycmVudFBhcmFt
ZXRlciA9IC0xOwotICAgICAgICAgICAgZm9yZWFjaCBteSAkcGFyYW0gKEB7JGZ1bmN0aW9uLT5w
YXJhbWV0ZXJzfSkgewotICAgICAgICAgICAgICAgICRjdXJyZW50UGFyYW1ldGVyKys7Ci0KLSAg
ICAgICAgICAgICAgICBteSAkcGFyYW1OYW1lID0gJHBhcmFtLT5uYW1lOwotCi0gICAgICAgICAg
ICAgICAgIyBtYWtlIGEgbmV3IHBhcmFtZXRlciBuYW1lIGlmIHRoZSBvcmlnaW5hbCBjb25mbGlj
dHMgd2l0aCBhIHByb3BlcnR5IG5hbWUKLSAgICAgICAgICAgICAgICAkcGFyYW1OYW1lID0gImlu
IiAuIHVjZmlyc3QoJHBhcmFtTmFtZSkgaWYgJGF0dHJpYnV0ZU5hbWVzeyRwYXJhbU5hbWV9Owot
Ci0gICAgICAgICAgICAgICAgbXkgJGlkbFR5cGUgPSAkcGFyYW0tPnR5cGU7Ci0gICAgICAgICAg
ICAgICAgbmV4dCBpZiBub3QgJGNvZGVHZW5lcmF0b3ItPklzU1ZHVHlwZU5lZWRpbmdUZWFyT2Zm
KCRpZGxUeXBlKSBvciAkaW1wbENsYXNzTmFtZSA9fiAvTGlzdCQvOwotCi0gICAgICAgICAgICAg
ICAgbXkgJGltcGxHZXR0ZXIgPSBHZXRPYmpDVHlwZUdldHRlcigkcGFyYW1OYW1lLCAkaWRsVHlw
ZSk7Ci0gICAgICAgICAgICAgICAgbXkgJGlkbFR5cGVXaXRoTmFtZXNwYWNlID0gR2V0U1ZHVHlw
ZVdpdGhOYW1lc3BhY2UoJGlkbFR5cGUpOwotCi0gICAgICAgICAgICAgICAgJGltcGxJbmNsdWRl
c3siRXhjZXB0aW9uQ29kZS5oIn0gPSAxOwotICAgICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9u
Q29udGVudCwgIiAgICAkaWRsVHlwZVdpdGhOYW1lc3BhY2UqICR7cGFyYW1OYW1lfUNvcmUgPSAk
aW1wbEdldHRlcjtcbiIpOwotICAgICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uQ29udGVudCwg
IiAgICBpZiAoISR7cGFyYW1OYW1lfUNvcmUpIHtcbiIpOwotICAgICAgICAgICAgICAgIHB1c2go
QGZ1bmN0aW9uQ29udGVudCwgIiAgICAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IFdl
YkNvcmU6OlRZUEVfTUlTTUFUQ0hfRVJSO1xuIik7Ci0gICAgICAgICAgICAgICAgcHVzaChAZnVu
Y3Rpb25Db250ZW50LCAiICAgICAgICAkZXhjZXB0aW9uUmFpc2VPbkVycm9yXG4iKTsKLSAgICAg
ICAgICAgICAgICBpZiAoJHJldHVyblR5cGUgZXEgInZvaWQiKSB7IAotICAgICAgICAgICAgICAg
ICAgICBwdXNoKEBmdW5jdGlvbkNvbnRlbnQsICIgICAgICAgIHJldHVybjtcbiIpOwotICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uQ29u
dGVudCwgIiAgICAgICAgcmV0dXJuIG5pbDtcbiIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBwdXNoKEBmdW5jdGlvbkNvbnRlbnQsICIgICAgfVxuIik7Ci0KLSAgICAgICAg
ICAgICAgICAjIFJlcGxhY2UgdGhlIHBhcmFtdGVyIGNvcmUoKSBnZXR0ZXIsIGJ5IHRoZSBjYWNo
ZWQgdmFyaWFibGUuCi0gICAgICAgICAgICAgICAgc3BsaWNlKEBwYXJhbWV0ZXJOYW1lcywgJGN1
cnJlbnRQYXJhbWV0ZXIsIDEsICIke3BhcmFtTmFtZX1Db3JlLT5wcm9wZXJ0eVJlZmVyZW5jZSgp
Iik7Ci0gICAgICAgICAgICB9Ci0KICAgICAgICAgICAgIG15ICRjb250ZW50OwogICAgICAgICAg
ICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVt
ZW50ZWRCeSJ9KSB7CiAgICAgICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkgPSAkZnVuY3Rp
b24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifTsKICAg
ICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke2ltcGxlbWVudGVkQnl9LmgifSA9IDE7CiAg
ICAgICAgICAgICAgICAgdW5zaGlmdChAcGFyYW1ldGVyTmFtZXMsICRjYWxsZXIpOwogICAgICAg
ICAgICAgICAgICRjb250ZW50ID0gIiR7aW1wbGVtZW50ZWRCeX06OiIgLiAkY29kZUdlbmVyYXRv
ci0+V0tfbGNmaXJzdCgkZnVuY3Rpb25OYW1lKSAuICIoIiAuIGpvaW4oIiwgIiwgQHBhcmFtZXRl
ck5hbWVzKSAuICIpIjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRzdmdQcm9wZXJ0eVR5cGUpIHsK
LSAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJFeGNlcHRpb25Db2RlLmgifSA9IDE7Ci0g
ICAgICAgICAgICAgICAgcHVzaChAZnVuY3Rpb25Db250ZW50LCAiICAgIGlmIChJTVBMLT5pc1Jl
YWRPbmx5KCkpIHtcbiIpOwotICAgICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uQ29udGVudCwg
IiAgICAgICAgV2ViQ29yZTo6cmFpc2VPbkRPTUVycm9yKFdlYkNvcmU6Ok5PX01PRElGSUNBVElP
Tl9BTExPV0VEX0VSUik7XG4iKTsKLSAgICAgICAgICAgICAgICBpZiAoJHJldHVyblR5cGUgZXEg
InZvaWQiKSB7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uQ29udGVudCwgIiAg
ICAgICAgcmV0dXJuO1xuIik7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgcHVzaChAZnVuY3Rpb25Db250ZW50LCAiICAgICAgICByZXR1cm4gbmlsO1xuIik7
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uQ29udGVu
dCwgIiAgICB9XG4iKTsKLSAgICAgICAgICAgICAgICBwdXNoKEBmdW5jdGlvbkNvbnRlbnQsICIg
ICAgJHN2Z1Byb3BlcnR5VHlwZSYgcG9kSW1wbCA9IElNUEwtPnByb3BlcnR5UmVmZXJlbmNlKCk7
XG4iKTsKLSAgICAgICAgICAgICAgICAkY29udGVudCA9ICJwb2RJbXBsLiIgLiAkY29kZUdlbmVy
YXRvci0+V0tfbGNmaXJzdCgkZnVuY3Rpb25OYW1lKSAuICIoIiAuIGpvaW4oIiwgIiwgQHBhcmFt
ZXRlck5hbWVzKSAuICIpIjsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
JGNvbnRlbnQgPSAiJGNhbGxlci0+IiAuICRjb2RlR2VuZXJhdG9yLT5XS19sY2ZpcnN0KCRmdW5j
dGlvbk5hbWUpIC4gIigiIC4gam9pbigiLCAiLCBAcGFyYW1ldGVyTmFtZXMpIC4gIikiOwogICAg
ICAgICAgICAgfQpAQCAtMTgwMywxNCArMTU2Miw5IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0
aW9uCiAgICAgICAgICAgICAgICAgaWYgKCRyYWlzZXNFeGNlcHRpb25zKSB7CiAgICAgICAgICAg
ICAgICAgICAgIHB1c2goQGZ1bmN0aW9uQ29udGVudCwgIiAgICAkZXhjZXB0aW9uSW5pdFxuIik7
CiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uQ29udGVudCwgIiAgICAkY29udGVu
dDtcbiIpOwotICAgICAgICAgICAgICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5VHlwZSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgcHVzaChAZnVuY3Rpb25Db250ZW50LCAiICAgIGlmICghZWMp
XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uQ29udGVudCwgIiAg
ICAgICAgSU1QTC0+Y29tbWl0Q2hhbmdlKCk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBmdW5jdGlvbkNvbnRlbnQsICIgICAgJGV4Y2VwdGlv
blJhaXNlT25FcnJvclxuIik7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICAgICAgICAgcHVzaChAZnVuY3Rpb25Db250ZW50LCAiICAgICRjb250ZW50O1xuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uQ29udGVudCwgIiAgICBJTVBMLT5jb21taXRD
aGFuZ2UoKTtcbiIpIGlmICRzdmdQcm9wZXJ0eVR5cGU7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfSBlbHNpZiAoZGVmaW5lZCAkbmVlZHNDdXN0b217Ik5vZGVUb1JldHVybiJ9KSB7
CiAgICAgICAgICAgICAgICAgIyBTcGVjaWFsIGNhc2UgdGhlIGluc2VydEJlZm9yZSwgcmVwbGFj
ZUNoaWxkLCByZW1vdmVDaGlsZCAKQEAgLTE4MzEsMTIgKzE1ODUsNyBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICRjb250ZW50ID0gImZvbyI7CiAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmIChDb252ZXJzaW9uTmVlZGVkKCRmdW5j
dGlvbi0+c2lnbmF0dXJlLT50eXBlKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoJGNvZGVH
ZW5lcmF0b3ItPklzU1ZHVHlwZU5lZWRpbmdUZWFyT2ZmKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT50
eXBlKSBhbmQgbm90ICRpbXBsQ2xhc3NOYW1lID1+IC9MaXN0JC8pIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG15ICRpZGxUeXBlV2l0aE5hbWVzcGFjZSA9IEdldFNWR1R5cGVXaXRoTmFtZXNw
YWNlKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT50eXBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICRjb250ZW50ID0gImtpdChXVEY6OmdldFB0cigke2lkbFR5cGVXaXRoTmFtZXNwYWNlfTo6Y3Jl
YXRlKCRjb250ZW50KSkpIjsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICRjb250ZW50ID0gImtpdChXVEY6OmdldFB0cigkY29udGVudCkpIjsK
LSAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAkY29udGVudCA9ICJr
aXQoV1RGOjpnZXRQdHIoJGNvbnRlbnQpKSI7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICAgICAgaWYgKCRyYWlzZXNFeGNlcHRpb25zKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>