<?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>155304</bug_id>
          
          <creation_ts>2016-03-10 11:02:18 -0800</creation_ts>
          <short_desc>defaultActions in UIDelegate method previewingViewControllerForElement:defaultActions: need to be useable by a client</short_desc>
          <delta_ts>2016-03-11 10:43:07 -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>WebKit2</component>
          <version>Other</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>enrica</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1173165</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-03-10 11:02:18 -0800</bug_when>
    <thetext>defaultActions in UIDelegate method previewingViewControllerForElement:defaultActions: need to be use-able by a client

&lt;rdar://problem/24269296&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173182</commentid>
    <comment_count>1</comment_count>
      <attachid>273586</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-03-10 11:26:48 -0800</bug_when>
    <thetext>Created attachment 273586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173184</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-10 11:28:54 -0800</bug_when>
    <thetext>Attachment 273586 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:33:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3901:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173219</commentid>
    <comment_count>3</comment_count>
      <attachid>273591</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-03-10 11:53:20 -0800</bug_when>
    <thetext>Created attachment 273591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173220</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-10 11:54:40 -0800</bug_when>
    <thetext>Attachment 273591 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3901:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173402</commentid>
    <comment_count>5</comment_count>
      <attachid>273640</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-03-10 15:45:12 -0800</bug_when>
    <thetext>Created attachment 273640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173424</commentid>
    <comment_count>6</comment_count>
      <attachid>273646</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-03-10 16:18:11 -0800</bug_when>
    <thetext>Created attachment 273646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173426</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-10 16:20:45 -0800</bug_when>
    <thetext>Attachment 273646 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/API/Cocoa/_WKPreviewAction.h:34:  Should have space between @property and attributes.  [whitespace/property] [4]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3902:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173445</commentid>
    <comment_count>8</comment_count>
      <attachid>273646</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-03-10 16:37:50 -0800</bug_when>
    <thetext>Comment on attachment 273646
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=273646&amp;action=review

&gt; Source/WebKit2/UIProcess/API/Cocoa/_WKElementAction.h:64
&gt; +- (NSString *)previewIdentifier;

Why is this here?

&gt; Source/WebKit2/UIProcess/API/Cocoa/_WKPreviewAction.h:34
&gt; +@property(nonatomic, copy, readonly) NSString *identifier;

Newline before @proeprty

&gt; Source/WebKit2/UIProcess/API/Cocoa/_WKPreviewAction.h:35
&gt; +@end

Newline before @end

&gt; Source/WebKit2/UIProcess/API/Cocoa/_WKPreviewAction.h:38
&gt; +

No newline!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173458</commentid>
    <comment_count>9</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-03-10 16:47:49 -0800</bug_when>
    <thetext>I addressed all of the comments: http://trac.webkit.org/changeset/197973

Thanks Anders!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173536</commentid>
    <comment_count>10</comment_count>
    <who name="">mitz</who>
    <bug_when>2016-03-10 19:44:40 -0800</bug_when>
    <thetext>Why are we exposing both the class and the protocol in a private header? Can the class remain an internal implementation detail?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173788</commentid>
    <comment_count>11</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-03-11 10:43:07 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Why are we exposing both the class and the protocol in a private header? Can
&gt; the class remain an internal implementation detail?

Patch posted: https://bugs.webkit.org/show_bug.cgi?id=155370

Good catch, Dan!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273586</attachid>
            <date>2016-03-10 11:26:48 -0800</date>
            <delta_ts>2016-03-10 11:53:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>8620</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5Nzk0NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE2LTAzLTEwICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBkZWZhdWx0QWN0aW9ucyBpbiBVSURl
bGVnYXRlIG1ldGhvZCAKKyAgICAgICAgX3dlYlZpZXc6cHJldmlld2luZ1ZpZXdDb250cm9sbGVy
Rm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczogbmVlZCB0byBiZSAKKyAgICAgICAgdXNlLWFibGUg
YnkgYSBjbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NTMwNAorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCisgICAgICAgIHJkYXI6Ly9w
cm9ibGVtLzI0MjY5Mjk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSW4gb3JkZXIgZm9yIGEgY2xpZW50IHRvIHVzZSBvdXIgZGVmYXVsdCBhY3Rpb24g
aXRlbXMsIHRoZXkgbmVlZCB0byByZXR1cm4gCisgICAgICAgIHRob3NlIGFjdGlvbnMgaW4gdGhl
aXIgVUlWaWV3Q29udHJvbGxlcidzIGltcGxlbWVudGF0aW9uIG9mIAorICAgICAgICBwcmV2aWV3
QWN0aW9uSXRlbXMuCisKKyAgICAgICAgV2Ugc2hvdWxkIHVzZSB0aGUgc2FtZSBzaWduYXR1cmUg
Zm9yIHRoZSBkZWZhdWx0QWN0aW9ucyB0aGF0IAorICAgICAgICBVSVZpZXdDb250cm9sbGVy4oCZ
cyBwcmV2aWV3QWN0aW9uSXRlbXMgdXNlcywgc28gY2hhbmdlIGl0IHRvIAorICAgICAgICBOU0Fy
cmF5IDxpZCA8VUlQcmV2aWV3QWN0aW9uSXRlbT4+ICoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKworICAgICAgICBOZXcgQk9PTCBfdWlEZWxl
Z2F0ZVByb3ZpZGVkUHJldmlld2luZ1ZpZXdDb250cm9sbGVyIGtlZXBzIHRyYWNrIG9mIHdoZXRo
ZXIgCisgICAgICAgIHRoZSBjbGllbnQgcmV0dXJuZWQgYSB2aWV3IGNvbnRyb2xsZXIgZnJvbSAK
KyAgICAgICAgX3dlYlZpZXc6cHJldmlld2luZ1ZpZXdDb250cm9sbGVyRm9yRWxlbWVudDpkZWZh
dWx0QWN0aW9uczouIElmIHRoZXkgZGlkIAorICAgICAgICByZXR1cm4gYSB2aWV3IGNvbnRyb2xs
ZXIsIHRoZW4gd2Ugc2hvdWxkIGludm9rZSAKKyAgICAgICAgX3dlYlZpZXc6Y29tbWl0UHJldmll
d2luZ1ZpZXdDb250cm9sbGVyOiBhdCBjb21taXQgdGltZS4gSWYgdGhleSByZXR1cm5lZCAKKyAg
ICAgICAgbmlsLCB0aGVuIHRoZXkgaW5kaWNhdGVkIHRoYXQgV2ViS2l0IHNob3VsZCBjb250aW51
ZSB3aXRoIGRlZmF1bHQgcHJldmlld2luZyAKKyAgICAgICAgYmVoYXZpb3IsIHNvIHdlIHdpbGwg
bm90IGludm9rZSB0aGUgVUlEZWxlZ2F0ZeKAmXMgY29tbWl0IG1ldGhvZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IF9yZWdpc3RlclByZXZpZXddKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfdW5y
ZWdpc3RlclByZXZpZXddKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfaW50ZXJhY3Rpb25T
aG91bGRCZWdpbkZyb21QcmV2aWV3SXRlbUNvbnRyb2xsZXI6Zm9yUG9zaXRpb246XSk6CisKKyAg
ICAgICAgSW4gb3JkZXIgZm9yIG91ciBkZWZhdWx0IGFjdGlvbnMgdG8gYmUgdXNlZnVsLCB3ZSBo
YXZlIHRvIGNyZWF0ZSAKKyAgICAgICAgVUlQcmV2aWV3QWN0aW9ucy4KKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBfcHJlc2VudGVkVmlld0NvbnRyb2xsZXJGb3JQcmV2aWV3SXRlbUNvbnRyb2xs
ZXI6XSk6CisKKyAgICAgICAgT25seSBpbnZva2UgX3dlYlZpZXc6Y29tbWl0UHJldmlld2VkVmll
d0NvbnRyb2xsZXI6IGlmIAorICAgICAgICBfdWlEZWxlZ2F0ZVByb3ZpZGVkUHJldmlld2luZ1Zp
ZXdDb250cm9sbGVyIGlzIFlFUy4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcHJldmlld0l0
ZW1Db250cm9sbGVyOmNvbW1pdFByZXZpZXc6XSk6CisKIDIwMTYtMDMtMTAgIEVyaWMgQ2FybHNv
biAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW01lZGlhU3RyZWFtXSBwdXNo
IG1lZGlhIHN0cmVhbSBzdGF0ZSB0byB0aGUgVUkgcHJvY2VzcwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRl
LmgJKHJldmlzaW9uIDE5Nzg4NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw5ICszMCw5IEBA
CiAjaW1wb3J0IDxXZWJLaXQvV0tTZWN1cml0eU9yaWdpbi5oPgogI2ltcG9ydCA8V2ViS2l0L19X
S0FjdGl2YXRlZEVsZW1lbnRJbmZvLmg+CiAKLUBjbGFzcyBVSVByZXZpZXdBY3Rpb25JdGVtOwor
I2ltcG9ydCA8VUlLaXQvVUlWaWV3Q29udHJvbGxlci5oPgorCiBAY2xhc3MgVUlTY3JvbGxWaWV3
OwotQGNsYXNzIFVJVmlld0NvbnRyb2xsZXI7CiBAY2xhc3MgX1dLQ29udGV4dE1lbnVFbGVtZW50
SW5mbzsKIEBjbGFzcyBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbzsKIEBjbGFzcyBfV0tFbGVtZW50
QWN0aW9uOwpAQCAtODMsOSArODMsMTAgQEAgc3RydWN0IFVJRWRnZUluc2V0czsKIC8vIHNob3Vs
ZFByZXZpZXdFbGVtZW50LiBSZXR1cm5pbmcgTk8gaW4gc2hvdWxkUHJldmlld0VsZW1lbnQgd2ls
bCBwcmV2ZW50IHRoZSBvdGhlciBtZXRob2RzIGZyb20gYmVpbmcgaW52b2tlZC4KIC8vIFRoZSBj
bGllbnQgY2FuIHByb3ZpZGUgYSBjdXN0b20gcHJldmlldyBieSByZXR1cm5pbmcgdGhlaXIgb3du
IFVJVmlld0NvbnRyb2xsZXIgZnJvbQogLy8gcHJldmlld2luZ1ZpZXdDb250cm9sbGVyRm9yRWxl
bWVudDpkZWZhdWx0QWN0aW9uczouIFJldHVybmluZyBuaWwgd2lsbCByZXN1bHQgaW4gdGhlIGRl
ZmF1bHQgcHJldmlldyBiZWhhdmlvcgotLy8gZm9yIHRoYXQgZWxlbWVudC4KKy8vIGZvciB0aGF0
IGVsZW1lbnQuIElmIHRoZSBjbGllbnQgd2FudCB0byB1c2UgdGhlIGRlZmF1bHRBY3Rpb25zLCB0
aGVuIHRoZSBjbGllbnQgaXMgcmVzcG9uc2libGUgZm9yCisvLyByZXR1cm5pbmcgdGhvc2UgYWN0
aW9ucyBpbiB0aGVpciBVSVZpZXdDb250cm9sbGVyJ3MgaW1wbGVtZW50YXRpb24gb2YgcHJldmll
d0FjdGlvbkl0ZW1zLgogLSAoQk9PTClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzaG91
bGRQcmV2aWV3RWxlbWVudDooX1dLUHJldmlld0VsZW1lbnRJbmZvICopZWxlbWVudEluZm87Ci0t
IChVSVZpZXdDb250cm9sbGVyICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJldmll
d2luZ1ZpZXdDb250cm9sbGVyRm9yRWxlbWVudDooX1dLUHJldmlld0VsZW1lbnRJbmZvICopZWxl
bWVudEluZm8gZGVmYXVsdEFjdGlvbnM6KE5TQXJyYXk8VUlQcmV2aWV3QWN0aW9uSXRlbSAqPiAq
KXByZXZpZXdBY3Rpb25zIFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7CistIChVSVZpZXdD
b250cm9sbGVyICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJldmlld2luZ1ZpZXdD
b250cm9sbGVyRm9yRWxlbWVudDooX1dLUHJldmlld0VsZW1lbnRJbmZvICopZWxlbWVudEluZm8g
ZGVmYXVsdEFjdGlvbnM6KE5TQXJyYXkgPGlkIDxVSVByZXZpZXdBY3Rpb25JdGVtPj4gKilwcmV2
aWV3QWN0aW9ucyBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOwogLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBjb21taXRQcmV2aWV3aW5nVmlld0NvbnRyb2xsZXI6KFVJ
Vmlld0NvbnRyb2xsZXIgKilwcmV2aWV3aW5nVmlld0NvbnRyb2xsZXIgV0tfQVZBSUxBQkxFKE5B
LCBXS19JT1NfVEJBKTsKIAogLSAoVUlWaWV3Q29udHJvbGxlciAqKV9wcmVzZW50aW5nVmlld0Nv
bnRyb2xsZXJGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FWQUlMQUJMRShOQSwg
V0tfSU9TX1RCQSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgJKHJldmlzaW9uIDE5Nzg4NikKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEyMyw2ICsxMjMsNyBAQCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRh
dGEgewogICAgIFJldGFpblB0cjxVSUdlc3R1cmVSZWNvZ25pemVyPiBfcHJldmlld1NlY29uZGFy
eUdlc3R1cmVSZWNvZ25pemVyOwogI2lmIEhBVkUoTElOS19QUkVWSUVXKQogICAgIFJldGFpblB0
cjxVSVByZXZpZXdJdGVtQ29udHJvbGxlcj4gX3ByZXZpZXdJdGVtQ29udHJvbGxlcjsKKyAgICBC
T09MIF91aURlbGVnYXRlUHJvdmlkZWRQcmV2aWV3aW5nVmlld0NvbnRyb2xsZXI7CiAjZW5kaWYK
IAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6OlNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xs
ZXI+IF9zbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyOwpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0J
KHJldmlzaW9uIDE5Nzg4NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBACiAj
aW1wb3J0ICJXZWJQYWdlTWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5oIgog
I2ltcG9ydCAiX1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIgorI2ltcG9ydCAiX1dL
RWxlbWVudEFjdGlvbi5oIgogI2ltcG9ydCAiX1dLRm9jdXNlZEVsZW1lbnRJbmZvLmgiCiAjaW1w
b3J0ICJfV0tGb3JtSW5wdXRTZXNzaW9uLmgiCiAjaW1wb3J0ICJfV0tJbnB1dERlbGVnYXRlLmgi
CkBAIC0zNzQ4LDYgKzM3NDksNyBAQCAtICh2b2lkKV9yZWdpc3RlclByZXZpZXcKICAgICBfcHJl
dmlld0dlc3R1cmVSZWNvZ25pemVyID0gX3ByZXZpZXdJdGVtQ29udHJvbGxlci5nZXQoKS5wcmVz
ZW50YXRpb25HZXN0dXJlUmVjb2duaXplcjsKICAgICBpZiAoW19wcmV2aWV3SXRlbUNvbnRyb2xs
ZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihwcmVzZW50YXRpb25TZWNvbmRhcnlHZXN0
dXJlUmVjb2duaXplcildKQogICAgICAgICBfcHJldmlld1NlY29uZGFyeUdlc3R1cmVSZWNvZ25p
emVyID0gX3ByZXZpZXdJdGVtQ29udHJvbGxlci5nZXQoKS5wcmVzZW50YXRpb25TZWNvbmRhcnlH
ZXN0dXJlUmVjb2duaXplcjsKKyAgICBfdWlEZWxlZ2F0ZVByb3ZpZGVkUHJldmlld2luZ1ZpZXdD
b250cm9sbGVyID0gTk87CiB9CiAKIC0gKHZvaWQpX3VucmVnaXN0ZXJQcmV2aWV3CkBAIC0zNzU2
LDYgKzM3NTgsNyBAQCAtICh2b2lkKV91bnJlZ2lzdGVyUHJldmlldwogICAgIF9wcmV2aWV3R2Vz
dHVyZVJlY29nbml6ZXIgPSBuaWw7CiAgICAgX3ByZXZpZXdTZWNvbmRhcnlHZXN0dXJlUmVjb2du
aXplciA9IG5pbDsKICAgICBfcHJldmlld0l0ZW1Db250cm9sbGVyID0gbmlsOworICAgIF91aURl
bGVnYXRlUHJvdmlkZWRQcmV2aWV3aW5nVmlld0NvbnRyb2xsZXIgPSBOTzsKIH0KIAogLSAoQk9P
TClfaW50ZXJhY3Rpb25TaG91bGRCZWdpbkZyb21QcmV2aWV3SXRlbUNvbnRyb2xsZXI6KFVJUHJl
dmlld0l0ZW1Db250cm9sbGVyICopY29udHJvbGxlciBmb3JQb3NpdGlvbjooQ0dQb2ludClwb3Np
dGlvbgpAQCAtMzg4MCwxMSArMzg4MywyMCBAQCAtIChVSVZpZXdDb250cm9sbGVyICopX3ByZXNl
bnRlZFZpZXdDb250CiAKICAgICAgICAgUmV0YWluUHRyPF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
PiBlbGVtZW50SW5mbyA9IGFkb3B0TlMoW1tfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyBhbGxvY10g
X2luaXRXaXRoVHlwZTpfV0tBY3RpdmF0ZWRFbGVtZW50VHlwZUxpbmsgVVJMOnRhcmdldFVSTCBs
b2NhdGlvbjpfcG9zaXRpb25JbmZvcm1hdGlvbi5wb2ludCB0aXRsZTpfcG9zaXRpb25JbmZvcm1h
dGlvbi50aXRsZSByZWN0Ol9wb3NpdGlvbkluZm9ybWF0aW9uLmJvdW5kcyBpbWFnZTpfcG9zaXRp
b25JbmZvcm1hdGlvbi5pbWFnZS5nZXQoKV0pOwogCi0gICAgICAgIFJldGFpblB0cjxOU0FycmF5
PiBhY3Rpb25zID0gW19hY3Rpb25TaGVldEFzc2lzdGFudCBkZWZhdWx0QWN0aW9uc0ZvckxpbmtT
aGVldDplbGVtZW50SW5mby5nZXQoKV07CisgICAgICAgIGF1dG8gYWN0aW9ucyA9IFtfYWN0aW9u
U2hlZXRBc3Npc3RhbnQgZGVmYXVsdEFjdGlvbnNGb3JMaW5rU2hlZXQ6ZWxlbWVudEluZm8uZ2V0
KCldOwogICAgICAgICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cihfd2ViVmlldzpwcmV2aWV3aW5nVmlld0NvbnRyb2xsZXJGb3JFbGVtZW50OmRlZmF1bHRBY3Rp
b25zOildKSB7CisgICAgICAgICAgICBhdXRvIHByZXZpZXdBY3Rpb25zID0gYWRvcHROUyhbW05T
TXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CisgICAgICAgICAgICBmb3IgKF9XS0VsZW1lbnRB
Y3Rpb24gKmVsZW1lbnRBY3Rpb24gaW4gYWN0aW9ucy5nZXQoKSkgeworICAgICAgICAgICAgICAg
IFVJUHJldmlld0FjdGlvbiAqcHJldmlld0FjdGlvbiA9IFtVSVByZXZpZXdBY3Rpb24gYWN0aW9u
V2l0aFRpdGxlOltlbGVtZW50QWN0aW9uIHRpdGxlXSBzdHlsZTpVSVByZXZpZXdBY3Rpb25TdHls
ZURlZmF1bHQgaGFuZGxlcjpeKFVJUHJldmlld0FjdGlvbiAqLCBVSVZpZXdDb250cm9sbGVyICop
IHsKKyAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRBY3Rpb24gcnVuQWN0aW9uV2l0aEVsZW1l
bnRJbmZvOmVsZW1lbnRJbmZvLmdldCgpXTsKKyAgICAgICAgICAgICAgICB9XTsKKyAgICAgICAg
ICAgICAgICBbcHJldmlld0FjdGlvbnMgYWRkT2JqZWN0OnByZXZpZXdBY3Rpb25dOworICAgICAg
ICAgICAgfQogICAgICAgICAgICAgYXV0byBwcmV2aWV3RWxlbWVudEluZm8gPSBhZG9wdE5TKFtb
X1dLUHJldmlld0VsZW1lbnRJbmZvIGFsbG9jXSBfaW5pdFdpdGhMaW5rVVJMOnRhcmdldFVSTF0p
OwotICAgICAgICAgICAgaWYgKFVJVmlld0NvbnRyb2xsZXIgKmNvbnRyb2xsZXIgPSBbdWlEZWxl
Z2F0ZSBfd2ViVmlldzpfd2ViVmlldyBwcmV2aWV3aW5nVmlld0NvbnRyb2xsZXJGb3JFbGVtZW50
OnByZXZpZXdFbGVtZW50SW5mby5nZXQoKSBkZWZhdWx0QWN0aW9uczphY3Rpb25zLmdldCgpXSkK
KyAgICAgICAgICAgIGlmIChVSVZpZXdDb250cm9sbGVyICpjb250cm9sbGVyID0gW3VpRGVsZWdh
dGUgX3dlYlZpZXc6X3dlYlZpZXcgcHJldmlld2luZ1ZpZXdDb250cm9sbGVyRm9yRWxlbWVudDpw
cmV2aWV3RWxlbWVudEluZm8uZ2V0KCkgZGVmYXVsdEFjdGlvbnM6cHJldmlld0FjdGlvbnMuZ2V0
KCldKSB7CisgICAgICAgICAgICAgICAgX3VpRGVsZWdhdGVQcm92aWRlZFByZXZpZXdpbmdWaWV3
Q29udHJvbGxlciA9IFlFUzsKICAgICAgICAgICAgICAgICByZXR1cm4gY29udHJvbGxlcjsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIGlmIChbdWlEZWxlZ2F0ZSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnByZXZpZXdWaWV3Q29udHJvbGxlckZvclVS
TDpkZWZhdWx0QWN0aW9uczplbGVtZW50SW5mbzopXSkKQEAgLTM5MjksNyArMzk0MSw3IEBAIC0g
KHZvaWQpX3ByZXZpZXdJdGVtQ29udHJvbGxlcjooVUlQcmV2aWUKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIGlmIChbdWlEZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJWaWV3OmNvbW1pdFByZXZpZXdlZFZpZXdDb250cm9sbGVyOildKSB7CisgICAgaWYgKF91
aURlbGVnYXRlUHJvdmlkZWRQcmV2aWV3aW5nVmlld0NvbnRyb2xsZXIgJiYgW3VpRGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpjb21taXRQcmV2aWV3ZWRWaWV3
Q29udHJvbGxlcjopXSkgewogICAgICAgICBbdWlEZWxlZ2F0ZSBfd2ViVmlldzpfd2ViVmlldyBj
b21taXRQcmV2aWV3ZWRWaWV3Q29udHJvbGxlcjp2aWV3Q29udHJvbGxlcl07CiAgICAgICAgIHJl
dHVybjsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273591</attachid>
            <date>2016-03-10 11:53:20 -0800</date>
            <delta_ts>2016-03-10 15:45:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review-2.txt</filename>
            <type>text/plain</type>
            <size>8651</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5Nzk0NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE2LTAzLTEwICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBkZWZhdWx0QWN0aW9ucyBpbiBVSURl
bGVnYXRlIG1ldGhvZCAKKyAgICAgICAgX3dlYlZpZXc6cHJldmlld2luZ1ZpZXdDb250cm9sbGVy
Rm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczogbmVlZCB0byBiZSAKKyAgICAgICAgdXNlLWFibGUg
YnkgYSBjbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NTMwNAorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCisgICAgICAgIHJkYXI6Ly9w
cm9ibGVtLzI0MjY5Mjk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSW4gb3JkZXIgZm9yIGEgY2xpZW50IHRvIHVzZSBvdXIgZGVmYXVsdCBhY3Rpb24g
aXRlbXMsIHRoZXkgbmVlZCB0byByZXR1cm4gCisgICAgICAgIHRob3NlIGFjdGlvbnMgaW4gdGhl
aXIgVUlWaWV3Q29udHJvbGxlcidzIGltcGxlbWVudGF0aW9uIG9mIAorICAgICAgICBwcmV2aWV3
QWN0aW9uSXRlbXMuCisKKyAgICAgICAgV2Ugc2hvdWxkIHVzZSB0aGUgc2FtZSBzaWduYXR1cmUg
Zm9yIHRoZSBkZWZhdWx0QWN0aW9ucyB0aGF0IAorICAgICAgICBVSVZpZXdDb250cm9sbGVy4oCZ
cyBwcmV2aWV3QWN0aW9uSXRlbXMgdXNlcywgc28gY2hhbmdlIGl0IHRvIAorICAgICAgICBOU0Fy
cmF5IDxpZCA8VUlQcmV2aWV3QWN0aW9uSXRlbT4+ICoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKworICAgICAgICBOZXcgQk9PTCBfdWlEZWxl
Z2F0ZVByb3ZpZGVkUHJldmlld2luZ1ZpZXdDb250cm9sbGVyIGtlZXBzIHRyYWNrIG9mIHdoZXRo
ZXIgCisgICAgICAgIHRoZSBjbGllbnQgcmV0dXJuZWQgYSB2aWV3IGNvbnRyb2xsZXIgZnJvbSAK
KyAgICAgICAgX3dlYlZpZXc6cHJldmlld2luZ1ZpZXdDb250cm9sbGVyRm9yRWxlbWVudDpkZWZh
dWx0QWN0aW9uczouIElmIHRoZXkgZGlkIAorICAgICAgICByZXR1cm4gYSB2aWV3IGNvbnRyb2xs
ZXIsIHRoZW4gd2Ugc2hvdWxkIGludm9rZSAKKyAgICAgICAgX3dlYlZpZXc6Y29tbWl0UHJldmll
d2luZ1ZpZXdDb250cm9sbGVyOiBhdCBjb21taXQgdGltZS4gSWYgdGhleSByZXR1cm5lZCAKKyAg
ICAgICAgbmlsLCB0aGVuIHRoZXkgaW5kaWNhdGVkIHRoYXQgV2ViS2l0IHNob3VsZCBjb250aW51
ZSB3aXRoIGRlZmF1bHQgcHJldmlld2luZyAKKyAgICAgICAgYmVoYXZpb3IsIHNvIHdlIHdpbGwg
bm90IGludm9rZSB0aGUgVUlEZWxlZ2F0ZeKAmXMgY29tbWl0IG1ldGhvZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IF9yZWdpc3RlclByZXZpZXddKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfdW5y
ZWdpc3RlclByZXZpZXddKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfaW50ZXJhY3Rpb25T
aG91bGRCZWdpbkZyb21QcmV2aWV3SXRlbUNvbnRyb2xsZXI6Zm9yUG9zaXRpb246XSk6CisKKyAg
ICAgICAgSW4gb3JkZXIgZm9yIG91ciBkZWZhdWx0IGFjdGlvbnMgdG8gYmUgdXNlZnVsLCB3ZSBo
YXZlIHRvIGNyZWF0ZSAKKyAgICAgICAgVUlQcmV2aWV3QWN0aW9ucy4KKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBfcHJlc2VudGVkVmlld0NvbnRyb2xsZXJGb3JQcmV2aWV3SXRlbUNvbnRyb2xs
ZXI6XSk6CisKKyAgICAgICAgT25seSBpbnZva2UgX3dlYlZpZXc6Y29tbWl0UHJldmlld2VkVmll
d0NvbnRyb2xsZXI6IGlmIAorICAgICAgICBfdWlEZWxlZ2F0ZVByb3ZpZGVkUHJldmlld2luZ1Zp
ZXdDb250cm9sbGVyIGlzIFlFUy4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcHJldmlld0l0
ZW1Db250cm9sbGVyOmNvbW1pdFByZXZpZXc6XSk6CisKIDIwMTYtMDMtMTAgIEVyaWMgQ2FybHNv
biAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW01lZGlhU3RyZWFtXSBwdXNo
IG1lZGlhIHN0cmVhbSBzdGF0ZSB0byB0aGUgVUkgcHJvY2VzcwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRl
LmgJKHJldmlzaW9uIDE5Nzg4NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw5ICszMCwxMSBA
QAogI2ltcG9ydCA8V2ViS2l0L1dLU2VjdXJpdHlPcmlnaW4uaD4KICNpbXBvcnQgPFdlYktpdC9f
V0tBY3RpdmF0ZWRFbGVtZW50SW5mby5oPgogCi1AY2xhc3MgVUlQcmV2aWV3QWN0aW9uSXRlbTsK
KyNpZiBUQVJHRVRfT1NfSVBIT05FCisjaW1wb3J0IDxVSUtpdC9VSVZpZXdDb250cm9sbGVyLmg+
CisjZW5kaWYKKwogQGNsYXNzIFVJU2Nyb2xsVmlldzsKLUBjbGFzcyBVSVZpZXdDb250cm9sbGVy
OwogQGNsYXNzIF9XS0NvbnRleHRNZW51RWxlbWVudEluZm87CiBAY2xhc3MgX1dLQWN0aXZhdGVk
RWxlbWVudEluZm87CiBAY2xhc3MgX1dLRWxlbWVudEFjdGlvbjsKQEAgLTgzLDkgKzg1LDEwIEBA
IHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAvLyBzaG91bGRQcmV2aWV3RWxlbWVudC4gUmV0dXJuaW5n
IE5PIGluIHNob3VsZFByZXZpZXdFbGVtZW50IHdpbGwgcHJldmVudCB0aGUgb3RoZXIgbWV0aG9k
cyBmcm9tIGJlaW5nIGludm9rZWQuCiAvLyBUaGUgY2xpZW50IGNhbiBwcm92aWRlIGEgY3VzdG9t
IHByZXZpZXcgYnkgcmV0dXJuaW5nIHRoZWlyIG93biBVSVZpZXdDb250cm9sbGVyIGZyb20KIC8v
IHByZXZpZXdpbmdWaWV3Q29udHJvbGxlckZvckVsZW1lbnQ6ZGVmYXVsdEFjdGlvbnM6LiBSZXR1
cm5pbmcgbmlsIHdpbGwgcmVzdWx0IGluIHRoZSBkZWZhdWx0IHByZXZpZXcgYmVoYXZpb3IKLS8v
IGZvciB0aGF0IGVsZW1lbnQuCisvLyBmb3IgdGhhdCBlbGVtZW50LiBJZiB0aGUgY2xpZW50IHdh
bnQgdG8gdXNlIHRoZSBkZWZhdWx0QWN0aW9ucywgdGhlbiB0aGUgY2xpZW50IGlzIHJlc3BvbnNp
YmxlIGZvcgorLy8gcmV0dXJuaW5nIHRob3NlIGFjdGlvbnMgaW4gdGhlaXIgVUlWaWV3Q29udHJv
bGxlcidzIGltcGxlbWVudGF0aW9uIG9mIHByZXZpZXdBY3Rpb25JdGVtcy4KIC0gKEJPT0wpX3dl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2hvdWxkUHJldmlld0VsZW1lbnQ6KF9XS1ByZXZp
ZXdFbGVtZW50SW5mbyAqKWVsZW1lbnRJbmZvOwotLSAoVUlWaWV3Q29udHJvbGxlciAqKV93ZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHByZXZpZXdpbmdWaWV3Q29udHJvbGxlckZvckVsZW1l
bnQ6KF9XS1ByZXZpZXdFbGVtZW50SW5mbyAqKWVsZW1lbnRJbmZvIGRlZmF1bHRBY3Rpb25zOihO
U0FycmF5PFVJUHJldmlld0FjdGlvbkl0ZW0gKj4gKilwcmV2aWV3QWN0aW9ucyBXS19BVkFJTEFC
TEUoTkEsIFdLX0lPU19UQkEpOworLSAoVUlWaWV3Q29udHJvbGxlciAqKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IHByZXZpZXdpbmdWaWV3Q29udHJvbGxlckZvckVsZW1lbnQ6KF9XS1By
ZXZpZXdFbGVtZW50SW5mbyAqKWVsZW1lbnRJbmZvIGRlZmF1bHRBY3Rpb25zOihOU0FycmF5IDxp
ZCA8VUlQcmV2aWV3QWN0aW9uSXRlbT4+ICopcHJldmlld0FjdGlvbnMgV0tfQVZBSUxBQkxFKE5B
LCBXS19JT1NfVEJBKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29t
bWl0UHJldmlld2luZ1ZpZXdDb250cm9sbGVyOihVSVZpZXdDb250cm9sbGVyICopcHJldmlld2lu
Z1ZpZXdDb250cm9sbGVyIFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7CiAKIC0gKFVJVmll
d0NvbnRyb2xsZXIgKilfcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyRm9yV2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOwpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5oCShyZXZpc2lvbiAxOTc4ODYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNiArMTIz
LDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKICAgICBSZXRhaW5QdHI8VUlHZXN0
dXJlUmVjb2duaXplcj4gX3ByZXZpZXdTZWNvbmRhcnlHZXN0dXJlUmVjb2duaXplcjsKICNpZiBI
QVZFKExJTktfUFJFVklFVykKICAgICBSZXRhaW5QdHI8VUlQcmV2aWV3SXRlbUNvbnRyb2xsZXI+
IF9wcmV2aWV3SXRlbUNvbnRyb2xsZXI7CisgICAgQk9PTCBfdWlEZWxlZ2F0ZVByb3ZpZGVkUHJl
dmlld2luZ1ZpZXdDb250cm9sbGVyOwogI2VuZGlmCiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
S2l0OjpTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyPiBfc21hcnRNYWduaWZpY2F0aW9uQ29u
dHJvbGxlcjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCShyZXZpc2lvbiAxOTc4ODYpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkod29y
a2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQAogI2ltcG9ydCAiV2ViUGFnZU1lc3NhZ2VzLmgi
CiAjaW1wb3J0ICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbXBvcnQgIl9XS0FjdGl2YXRlZEVsZW1l
bnRJbmZvSW50ZXJuYWwuaCIKKyNpbXBvcnQgIl9XS0VsZW1lbnRBY3Rpb24uaCIKICNpbXBvcnQg
Il9XS0ZvY3VzZWRFbGVtZW50SW5mby5oIgogI2ltcG9ydCAiX1dLRm9ybUlucHV0U2Vzc2lvbi5o
IgogI2ltcG9ydCAiX1dLSW5wdXREZWxlZ2F0ZS5oIgpAQCAtMzc0OCw2ICszNzQ5LDcgQEAgLSAo
dm9pZClfcmVnaXN0ZXJQcmV2aWV3CiAgICAgX3ByZXZpZXdHZXN0dXJlUmVjb2duaXplciA9IF9w
cmV2aWV3SXRlbUNvbnRyb2xsZXIuZ2V0KCkucHJlc2VudGF0aW9uR2VzdHVyZVJlY29nbml6ZXI7
CiAgICAgaWYgKFtfcHJldmlld0l0ZW1Db250cm9sbGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IocHJlc2VudGF0aW9uU2Vjb25kYXJ5R2VzdHVyZVJlY29nbml6ZXIpXSkKICAgICAgICAg
X3ByZXZpZXdTZWNvbmRhcnlHZXN0dXJlUmVjb2duaXplciA9IF9wcmV2aWV3SXRlbUNvbnRyb2xs
ZXIuZ2V0KCkucHJlc2VudGF0aW9uU2Vjb25kYXJ5R2VzdHVyZVJlY29nbml6ZXI7CisgICAgX3Vp
RGVsZWdhdGVQcm92aWRlZFByZXZpZXdpbmdWaWV3Q29udHJvbGxlciA9IE5POwogfQogCiAtICh2
b2lkKV91bnJlZ2lzdGVyUHJldmlldwpAQCAtMzc1Niw2ICszNzU4LDcgQEAgLSAodm9pZClfdW5y
ZWdpc3RlclByZXZpZXcKICAgICBfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyID0gbmlsOwogICAg
IF9wcmV2aWV3U2Vjb25kYXJ5R2VzdHVyZVJlY29nbml6ZXIgPSBuaWw7CiAgICAgX3ByZXZpZXdJ
dGVtQ29udHJvbGxlciA9IG5pbDsKKyAgICBfdWlEZWxlZ2F0ZVByb3ZpZGVkUHJldmlld2luZ1Zp
ZXdDb250cm9sbGVyID0gTk87CiB9CiAKIC0gKEJPT0wpX2ludGVyYWN0aW9uU2hvdWxkQmVnaW5G
cm9tUHJldmlld0l0ZW1Db250cm9sbGVyOihVSVByZXZpZXdJdGVtQ29udHJvbGxlciAqKWNvbnRy
b2xsZXIgZm9yUG9zaXRpb246KENHUG9pbnQpcG9zaXRpb24KQEAgLTM4ODAsMTEgKzM4ODMsMjAg
QEAgLSAoVUlWaWV3Q29udHJvbGxlciAqKV9wcmVzZW50ZWRWaWV3Q29udAogCiAgICAgICAgIFJl
dGFpblB0cjxfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbz4gZWxlbWVudEluZm8gPSBhZG9wdE5TKFtb
X1dLQWN0aXZhdGVkRWxlbWVudEluZm8gYWxsb2NdIF9pbml0V2l0aFR5cGU6X1dLQWN0aXZhdGVk
RWxlbWVudFR5cGVMaW5rIFVSTDp0YXJnZXRVUkwgbG9jYXRpb246X3Bvc2l0aW9uSW5mb3JtYXRp
b24ucG9pbnQgdGl0bGU6X3Bvc2l0aW9uSW5mb3JtYXRpb24udGl0bGUgcmVjdDpfcG9zaXRpb25J
bmZvcm1hdGlvbi5ib3VuZHMgaW1hZ2U6X3Bvc2l0aW9uSW5mb3JtYXRpb24uaW1hZ2UuZ2V0KCld
KTsKIAotICAgICAgICBSZXRhaW5QdHI8TlNBcnJheT4gYWN0aW9ucyA9IFtfYWN0aW9uU2hlZXRB
c3Npc3RhbnQgZGVmYXVsdEFjdGlvbnNGb3JMaW5rU2hlZXQ6ZWxlbWVudEluZm8uZ2V0KCldOwor
ICAgICAgICBhdXRvIGFjdGlvbnMgPSBbX2FjdGlvblNoZWV0QXNzaXN0YW50IGRlZmF1bHRBY3Rp
b25zRm9yTGlua1NoZWV0OmVsZW1lbnRJbmZvLmdldCgpXTsKICAgICAgICAgaWYgKFt1aURlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cHJldmlld2luZ1ZpZXdD
b250cm9sbGVyRm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczopXSkgeworICAgICAgICAgICAgYXV0
byBwcmV2aWV3QWN0aW9ucyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0p
OworICAgICAgICAgICAgZm9yIChfV0tFbGVtZW50QWN0aW9uICplbGVtZW50QWN0aW9uIGluIGFj
dGlvbnMuZ2V0KCkpIHsKKyAgICAgICAgICAgICAgICBVSVByZXZpZXdBY3Rpb24gKnByZXZpZXdB
Y3Rpb24gPSBbVUlQcmV2aWV3QWN0aW9uIGFjdGlvbldpdGhUaXRsZTpbZWxlbWVudEFjdGlvbiB0
aXRsZV0gc3R5bGU6VUlQcmV2aWV3QWN0aW9uU3R5bGVEZWZhdWx0IGhhbmRsZXI6XihVSVByZXZp
ZXdBY3Rpb24gKiwgVUlWaWV3Q29udHJvbGxlciAqKSB7CisgICAgICAgICAgICAgICAgICAgIFtl
bGVtZW50QWN0aW9uIHJ1bkFjdGlvbldpdGhFbGVtZW50SW5mbzplbGVtZW50SW5mby5nZXQoKV07
CisgICAgICAgICAgICAgICAgfV07CisgICAgICAgICAgICAgICAgW3ByZXZpZXdBY3Rpb25zIGFk
ZE9iamVjdDpwcmV2aWV3QWN0aW9uXTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGF1dG8g
cHJldmlld0VsZW1lbnRJbmZvID0gYWRvcHROUyhbW19XS1ByZXZpZXdFbGVtZW50SW5mbyBhbGxv
Y10gX2luaXRXaXRoTGlua1VSTDp0YXJnZXRVUkxdKTsKLSAgICAgICAgICAgIGlmIChVSVZpZXdD
b250cm9sbGVyICpjb250cm9sbGVyID0gW3VpRGVsZWdhdGUgX3dlYlZpZXc6X3dlYlZpZXcgcHJl
dmlld2luZ1ZpZXdDb250cm9sbGVyRm9yRWxlbWVudDpwcmV2aWV3RWxlbWVudEluZm8uZ2V0KCkg
ZGVmYXVsdEFjdGlvbnM6YWN0aW9ucy5nZXQoKV0pCisgICAgICAgICAgICBpZiAoVUlWaWV3Q29u
dHJvbGxlciAqY29udHJvbGxlciA9IFt1aURlbGVnYXRlIF93ZWJWaWV3Ol93ZWJWaWV3IHByZXZp
ZXdpbmdWaWV3Q29udHJvbGxlckZvckVsZW1lbnQ6cHJldmlld0VsZW1lbnRJbmZvLmdldCgpIGRl
ZmF1bHRBY3Rpb25zOnByZXZpZXdBY3Rpb25zLmdldCgpXSkgeworICAgICAgICAgICAgICAgIF91
aURlbGVnYXRlUHJvdmlkZWRQcmV2aWV3aW5nVmlld0NvbnRyb2xsZXIgPSBZRVM7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXI7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KIAog
ICAgICAgICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2Vi
VmlldzpwcmV2aWV3Vmlld0NvbnRyb2xsZXJGb3JVUkw6ZGVmYXVsdEFjdGlvbnM6ZWxlbWVudElu
Zm86KV0pCkBAIC0zOTI5LDcgKzM5NDEsNyBAQCAtICh2b2lkKV9wcmV2aWV3SXRlbUNvbnRyb2xs
ZXI6KFVJUHJldmllCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoW3VpRGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpjb21taXRQcmV2aWV3ZWRW
aWV3Q29udHJvbGxlcjopXSkgeworICAgIGlmIChfdWlEZWxlZ2F0ZVByb3ZpZGVkUHJldmlld2lu
Z1ZpZXdDb250cm9sbGVyICYmIFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3IoX3dlYlZpZXc6Y29tbWl0UHJldmlld2VkVmlld0NvbnRyb2xsZXI6KV0pIHsKICAgICAgICAg
W3VpRGVsZWdhdGUgX3dlYlZpZXc6X3dlYlZpZXcgY29tbWl0UHJldmlld2VkVmlld0NvbnRyb2xs
ZXI6dmlld0NvbnRyb2xsZXJdOwogICAgICAgICByZXR1cm47CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273640</attachid>
            <date>2016-03-10 15:45:12 -0800</date>
            <delta_ts>2016-03-10 16:18:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review-3.txt</filename>
            <type>text/plain</type>
            <size>22328</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5Nzk2MikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU1IEBACisyMDE2LTAzLTEwICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBkZWZhdWx0QWN0aW9ucyBpbiBVSURl
bGVnYXRlIG1ldGhvZCAKKyAgICAgICAgX3dlYlZpZXc6cHJldmlld2luZ1ZpZXdDb250cm9sbGVy
Rm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczogbmVlZCB0byBiZSAKKyAgICAgICAgdXNlLWFibGUg
YnkgYSBjbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NTMwNAorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCisgICAgICAgIHJkYXI6Ly9w
cm9ibGVtLzI0MjY5Mjk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgbmV3IHByb3RvY29sLCBXS1ByZXZpZXdBY3Rpb25J
dGVtLCB3aGljaCBpcyBhIHN1Yi1wcm90b2NvbCAKKyAgICAgICAgb2YgVUlQcmV2aWV3QWN0aW9u
SXRlbS4gVGhlIG5ldyBwcm90b2NvbCBhZGRzIGFuIGlkZW50aWZpZXIgc28gdGhhdCBjbGllbnRz
IAorICAgICAgICBjYW4gaWRlbnRpZnkgd2hpY2ggb2Ygb3VyIGRlZmF1bHQgYWN0aW9ucyB0aGV5
IHdhbnQgdG8gdXNlLiBJbiBvcmRlciBmb3IgYSAKKyAgICAgICAgY2xpZW50IHRvIHVzZSBvdXIg
ZGVmYXVsdCBhY3Rpb24gaXRlbXMsIHRoZXkgbmVlZCB0byByZXR1cm4gdGhvc2UgYWN0aW9ucyBp
biAKKyAgICAgICAgdGhlaXIgVUlWaWV3Q29udHJvbGxlcidzIGltcGxlbWVudGF0aW9uIG9mIHBy
ZXZpZXdBY3Rpb25JdGVtcy4KKworICAgICAgICBDaGFuZ2UgdGhlIGRlZmF1bHRBY3Rpb25zIHRv
IE5TQXJyYXkgPGlkIDxXS1ByZXZpZXdBY3Rpb25JdGVtPj4gKgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgorCisgICAgICAgIE5ldyBtZXRob2Qg
aWRlbnRpZmllciBvbiBfV0tFbGVtZW50QWN0aW9uIHVzZXMgdGhlIHR5cGUgdG8gcmV0dXJuIGFu
IGlkZW50aWZpZXIgYXMgYW4gTlNTdHJpbmcuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tFbGVtZW50QWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tF
bGVtZW50QWN0aW9uLm1tOgorICAgICAgICAoLVtfV0tFbGVtZW50QWN0aW9uIGlkZW50aWZpZXJd
KToKKworICAgICAgICBUaGlzIG5ldyBmaWxlIGRlZmluZXMgb3VyIHN1Yi1wcm90b2NvbCBhbmQg
c3ViLWNsYXNzIGZvciBXS1ByZXZpZXdBY3Rpb25zLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLUHJldmlld0FjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1ByZXZpZXdBY3Rpb24ubW06IEFkZGVkLgorICAgICAgICAoK1tfV0tQcmV2aWV3
QWN0aW9uIGFjdGlvbldpdGhJZGVudGlmaWVyOnRpdGxlOnN0eWxlOmhhbmRsZXI6XSk6CisKKyAg
ICAgICAgTmV3IEJPT0wgX3VpRGVsZWdhdGVQcm92aWRlZFByZXZpZXdpbmdWaWV3Q29udHJvbGxl
ciBrZWVwcyB0cmFjayBvZiB3aGV0aGVyIAorICAgICAgICB0aGUgY2xpZW50IHJldHVybmVkIGEg
dmlldyBjb250cm9sbGVyIGZyb20gCisgICAgICAgIF93ZWJWaWV3OnByZXZpZXdpbmdWaWV3Q29u
dHJvbGxlckZvckVsZW1lbnQ6ZGVmYXVsdEFjdGlvbnM6LiBJZiB0aGV5IGRpZCAKKyAgICAgICAg
cmV0dXJuIGEgdmlldyBjb250cm9sbGVyLCB0aGVuIHdlIHNob3VsZCBpbnZva2UgCisgICAgICAg
IF93ZWJWaWV3OmNvbW1pdFByZXZpZXdpbmdWaWV3Q29udHJvbGxlcjogYXQgY29tbWl0IHRpbWUu
IElmIHRoZXkgcmV0dXJuZWQgCisgICAgICAgIG5pbCwgdGhlbiB0aGV5IGluZGljYXRlZCB0aGF0
IFdlYktpdCBzaG91bGQgY29udGludWUgd2l0aCBkZWZhdWx0IHByZXZpZXdpbmcgCisgICAgICAg
IGJlaGF2aW9yLCBzbyB3ZSB3aWxsIG5vdCBpbnZva2UgdGhlIFVJRGVsZWdhdGXigJlzIGNvbW1p
dCBtZXRob2QuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcmVnaXN0ZXJQcmV2aWV3XSk6CisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgX3VucmVnaXN0ZXJQcmV2aWV3XSk6CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgX2ludGVyYWN0aW9uU2hvdWxkQmVnaW5Gcm9tUHJldmlld0l0ZW1Db250cm9sbGVy
OmZvclBvc2l0aW9uOl0pOgorCisgICAgICAgIEluIG9yZGVyIGZvciBvdXIgZGVmYXVsdCBhY3Rp
b25zIHRvIGJlIHVzZWZ1bCwgd2UgaGF2ZSB0byBjcmVhdGUgCisgICAgICAgIF9XS1ByZXZpZXdB
Y3Rpb25zLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9wcmVzZW50ZWRWaWV3Q29udHJvbGxl
ckZvclByZXZpZXdJdGVtQ29udHJvbGxlcjpdKToKKworICAgICAgICBPbmx5IGludm9rZSBfd2Vi
Vmlldzpjb21taXRQcmV2aWV3ZWRWaWV3Q29udHJvbGxlcjogaWYgCisgICAgICAgIF91aURlbGVn
YXRlUHJvdmlkZWRQcmV2aWV3aW5nVmlld0NvbnRyb2xsZXIgaXMgWUVTLgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IF9wcmV2aWV3SXRlbUNvbnRyb2xsZXI6Y29tbWl0UHJldmlldzpdKToKKyAg
ICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTYtMDMtMDcg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNlcGFyYXRl
IFdLIGFuZCBXSzIgcHJlZmVyZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2
aWRlbyBtZWRpYSwgZGlzdGluY3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFs
bHkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRl
UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCShyZXZpc2lvbiAxOTc4ODYpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAkod29ya2luZyBj
b3B5KQpAQCAtMjksOCArMjksOCBAQAogCiAjaW1wb3J0IDxXZWJLaXQvV0tTZWN1cml0eU9yaWdp
bi5oPgogI2ltcG9ydCA8V2ViS2l0L19XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmg+CisjaW1wb3J0
IDxXZWJLaXQvX1dLUHJldmlld0FjdGlvbi5oPgogCi1AY2xhc3MgVUlQcmV2aWV3QWN0aW9uSXRl
bTsKIEBjbGFzcyBVSVNjcm9sbFZpZXc7CiBAY2xhc3MgVUlWaWV3Q29udHJvbGxlcjsKIEBjbGFz
cyBfV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvOwpAQCAtODMsOSArODMsMTAgQEAgc3RydWN0IFVJ
RWRnZUluc2V0czsKIC8vIHNob3VsZFByZXZpZXdFbGVtZW50LiBSZXR1cm5pbmcgTk8gaW4gc2hv
dWxkUHJldmlld0VsZW1lbnQgd2lsbCBwcmV2ZW50IHRoZSBvdGhlciBtZXRob2RzIGZyb20gYmVp
bmcgaW52b2tlZC4KIC8vIFRoZSBjbGllbnQgY2FuIHByb3ZpZGUgYSBjdXN0b20gcHJldmlldyBi
eSByZXR1cm5pbmcgdGhlaXIgb3duIFVJVmlld0NvbnRyb2xsZXIgZnJvbQogLy8gcHJldmlld2lu
Z1ZpZXdDb250cm9sbGVyRm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczouIFJldHVybmluZyBuaWwg
d2lsbCByZXN1bHQgaW4gdGhlIGRlZmF1bHQgcHJldmlldyBiZWhhdmlvcgotLy8gZm9yIHRoYXQg
ZWxlbWVudC4KKy8vIGZvciB0aGF0IGVsZW1lbnQuIElmIHRoZSBjbGllbnQgd2FudCB0byB1c2Ug
dGhlIGRlZmF1bHRBY3Rpb25zLCB0aGVuIHRoZSBjbGllbnQgaXMgcmVzcG9uc2libGUgZm9yCisv
LyByZXR1cm5pbmcgdGhvc2UgYWN0aW9ucyBpbiB0aGVpciBVSVZpZXdDb250cm9sbGVyJ3MgaW1w
bGVtZW50YXRpb24gb2YgcHJldmlld0FjdGlvbkl0ZW1zLgogLSAoQk9PTClfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBzaG91bGRQcmV2aWV3RWxlbWVudDooX1dLUHJldmlld0VsZW1lbnRJ
bmZvICopZWxlbWVudEluZm87Ci0tIChVSVZpZXdDb250cm9sbGVyICopX3dlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYlZpZXcgcHJldmlld2luZ1ZpZXdDb250cm9sbGVyRm9yRWxlbWVudDooX1dLUHJl
dmlld0VsZW1lbnRJbmZvICopZWxlbWVudEluZm8gZGVmYXVsdEFjdGlvbnM6KE5TQXJyYXk8VUlQ
cmV2aWV3QWN0aW9uSXRlbSAqPiAqKXByZXZpZXdBY3Rpb25zIFdLX0FWQUlMQUJMRShOQSwgV0tf
SU9TX1RCQSk7CistIChVSVZpZXdDb250cm9sbGVyICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgcHJldmlld2luZ1ZpZXdDb250cm9sbGVyRm9yRWxlbWVudDooX1dLUHJldmlld0VsZW1l
bnRJbmZvICopZWxlbWVudEluZm8gZGVmYXVsdEFjdGlvbnM6KE5TQXJyYXkgPGlkIDxXS1ByZXZp
ZXdBY3Rpb25JdGVtPj4gKilwcmV2aWV3QWN0aW9ucyBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19U
QkEpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBjb21taXRQcmV2aWV3
aW5nVmlld0NvbnRyb2xsZXI6KFVJVmlld0NvbnRyb2xsZXIgKilwcmV2aWV3aW5nVmlld0NvbnRy
b2xsZXIgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKIAogLSAoVUlWaWV3Q29udHJvbGxl
ciAqKV9wcmVzZW50aW5nVmlld0NvbnRyb2xsZXJGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24uaAkocmV2aXNp
b24gMTk3ODg2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVt
ZW50QWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDggQEAgV0tfQ0xBU1NfQVZB
SUxBQkxFKDEwXzEwLCA4XzApCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TU3Ry
aW5nKiB0aXRsZTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBXS0VsZW1lbnRBY3Rpb25E
aXNtaXNzYWxIYW5kbGVyIGRpc21pc3NhbEhhbmRsZXI7CiAKKy0gKE5TU3RyaW5nICopaWRlbnRp
ZmllcjsKKwogQGVuZAogCiAjZW5kaWYgLy8gVEFSR0VUX09TX0lQSE9ORQpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlv
bi5tbQkocmV2aXNpb24gMTk3ODg2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiArMTcxLDM1
IEBAIC0gKHZvaWQpcnVuQWN0aW9uV2l0aEVsZW1lbnRJbmZvOihfV0tBY3QKICAgICBbc2VsZiBf
cnVuQWN0aW9uV2l0aEVsZW1lbnRJbmZvOmluZm8gZm9yQWN0aW9uU2hlZXRBc3Npc3RhbnQ6X2Rl
ZmF1bHRBY3Rpb25TaGVldEFzc2lzdGFudF07CiB9CiAKKy0gKE5TU3RyaW5nICopaWRlbnRpZmll
cgoreworICAgIHN3aXRjaCAoX3R5cGUpIHsKKyAgICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25UeXBl
Q3VzdG9tOgorICAgICAgICByZXR1cm4gQCJfV0tFbGVtZW50QWN0aW9uVHlwZUN1c3RvbSI7Cisg
ICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZU9wZW46CisgICAgICAgIHJldHVybiBAIl9XS0Vs
ZW1lbnRBY3Rpb25UeXBlT3BlbiI7CisgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZUNvcHk6
CisgICAgICAgIHJldHVybiBAIl9XS0VsZW1lbnRBY3Rpb25UeXBlQ29weSI7CisgICAgY2FzZSBf
V0tFbGVtZW50QWN0aW9uVHlwZVNhdmVJbWFnZToKKyAgICAgICAgcmV0dXJuIEAiX1dLRWxlbWVu
dEFjdGlvblR5cGVTYXZlSW1hZ2UiOworI2lmICFkZWZpbmVkKFRBUkdFVF9PU19JT1MpIHx8IFRB
UkdFVF9PU19JT1MKKyAgICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25UeXBlQWRkVG9SZWFkaW5nTGlz
dDoKKyAgICAgICAgcmV0dXJuIEAiX1dLRWxlbWVudEFjdGlvblR5cGVBZGRUb1JlYWRpbmdMaXN0
IjsKKyAgICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25UeXBlT3BlbkluRGVmYXVsdEJyb3dzZXI6Cisg
ICAgICAgIHJldHVybiBAIl9XS0VsZW1lbnRBY3Rpb25UeXBlT3BlbkluRGVmYXVsdEJyb3dzZXIi
OworICAgIGNhc2UgX1dLRWxlbWVudEFjdGlvblR5cGVPcGVuSW5FeHRlcm5hbEFwcGxpY2F0aW9u
OgorICAgICAgICByZXR1cm4gQCJfV0tFbGVtZW50QWN0aW9uVHlwZU9wZW5JbkV4dGVybmFsQXBw
bGljYXRpb24iOworI2VuZGlmCisgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZVNoYXJlOgor
ICAgICAgICByZXR1cm4gQCJfV0tFbGVtZW50QWN0aW9uVHlwZVNoYXJlIjsKKyAgICBkZWZhdWx0
OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAg
ICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG5pbDsKK30KKwogQGVu
ZAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tQcmV2aWV3QWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcmV2aWV3QWN0aW9uLmgJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1ByZXZpZXdBY3Rpb24u
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8
V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQgJiYgVEFSR0VUX09T
X0lQSE9ORQorCisjaW1wb3J0IDxVSUtpdC9VSVZpZXdDb250cm9sbGVyLmg+CisKK1dLX0NMQVNT
X0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSkKK0Bwcm90b2NvbCBXS1ByZXZpZXdBY3Rpb25JdGVt
IDxOU09iamVjdCwgVUlQcmV2aWV3QWN0aW9uSXRlbT4KK0Bwcm9wZXJ0eShub25hdG9taWMsIGNv
cHksIHJlYWRvbmx5KSBOU1N0cmluZyAqaWRlbnRpZmllcjsKK0BlbmQKKworV0tfQ0xBU1NfQVZB
SUxBQkxFKE5BLCBXS19JT1NfVEJBKQorCitAaW50ZXJmYWNlIF9XS1ByZXZpZXdBY3Rpb24gOiBV
SVByZXZpZXdBY3Rpb24gPE5TQ29weWluZywgV0tQcmV2aWV3QWN0aW9uSXRlbT4KKworKyAoaW5z
dGFuY2V0eXBlKWFjdGlvbldpdGhJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIgdGl0
bGU6KE5TU3RyaW5nICopdGl0bGUgc3R5bGU6KFVJUHJldmlld0FjdGlvblN0eWxlKXN0eWxlIGhh
bmRsZXI6KHZvaWQgKF4pKFVJUHJldmlld0FjdGlvbiAqYWN0aW9uLCBVSVZpZXdDb250cm9sbGVy
ICpwcmV2aWV3Vmlld0NvbnRyb2xsZXIpKWhhbmRsZXI7CisKK0BlbmQKKworI2VuZGlmIC8vIFdL
X0FQSV9FTkFCTEVEICYmIFRBUkdFVF9PU19JUEhPTkUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJldmlld0FjdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1ByZXZpZXdBY3Rpb24ubW0JKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1ByZXZpZXdB
Y3Rpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiX1dLUHJldmlld0FjdGlvbi5oIgorCisjaWYgV0tf
QVBJX0VOQUJMRUQgJiYgVEFSR0VUX09TX0lQSE9ORQorCitAaW1wbGVtZW50YXRpb24gX1dLUHJl
dmlld0FjdGlvbgorQHN5bnRoZXNpemUgaWRlbnRpZmllcj1faWRlbnRpZmllcjsKKworKyAoaW5z
dGFuY2V0eXBlKWFjdGlvbldpdGhJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIgdGl0
bGU6KE5TU3RyaW5nICopdGl0bGUgc3R5bGU6KFVJUHJldmlld0FjdGlvblN0eWxlKXN0eWxlIGhh
bmRsZXI6KHZvaWQgKF4pKFVJUHJldmlld0FjdGlvbiAqYWN0aW9uLCBVSVZpZXdDb250cm9sbGVy
ICpwcmV2aWV3Vmlld0NvbnRyb2xsZXIpKWhhbmRsZXIKK3sKKyAgICBfV0tQcmV2aWV3QWN0aW9u
ICphY3Rpb24gPSBbc2VsZiBhY3Rpb25XaXRoVGl0bGU6dGl0bGUgc3R5bGU6c3R5bGUgaGFuZGxl
cjpoYW5kbGVyXTsKKyAgICBhY3Rpb24tPl9pZGVudGlmaWVyID0gaWRlbnRpZmllcjsKKyAgICBy
ZXR1cm4gYWN0aW9uOworfQorCitAZW5kCisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRCAmJiBU
QVJHRVRfT1NfSVBIT05FCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgJKHJldmlzaW9uIDE5Nzg4NikKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyMyw2ICsxMjMsNyBAQCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlv
bkRhdGEgewogICAgIFJldGFpblB0cjxVSUdlc3R1cmVSZWNvZ25pemVyPiBfcHJldmlld1NlY29u
ZGFyeUdlc3R1cmVSZWNvZ25pemVyOwogI2lmIEhBVkUoTElOS19QUkVWSUVXKQogICAgIFJldGFp
blB0cjxVSVByZXZpZXdJdGVtQ29udHJvbGxlcj4gX3ByZXZpZXdJdGVtQ29udHJvbGxlcjsKKyAg
ICBCT09MIF91aURlbGVnYXRlUHJvdmlkZWRQcmV2aWV3aW5nVmlld0NvbnRyb2xsZXI7CiAjZW5k
aWYKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6OlNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRy
b2xsZXI+IF9zbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyOwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW0JKHJldmlzaW9uIDE5Nzg4NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Miw5ICs1MiwxMSBA
QAogI2ltcG9ydCAiV2ViUGFnZU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUHJveHku
aCIKICNpbXBvcnQgIl9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCIKKyNpbXBvcnQg
Il9XS0VsZW1lbnRBY3Rpb24uaCIKICNpbXBvcnQgIl9XS0ZvY3VzZWRFbGVtZW50SW5mby5oIgog
I2ltcG9ydCAiX1dLRm9ybUlucHV0U2Vzc2lvbi5oIgogI2ltcG9ydCAiX1dLSW5wdXREZWxlZ2F0
ZS5oIgorI2ltcG9ydCAiX1dLUHJldmlld0FjdGlvbi5oIgogI2ltcG9ydCAiX1dLUHJldmlld0Vs
ZW1lbnRJbmZvSW50ZXJuYWwuaCIKICNpbXBvcnQgPENvcmVUZXh0L0NURm9udC5oPgogI2ltcG9y
dCA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvci5oPgpAQCAtMzc0OCw2ICszNzUwLDcgQEAgLSAo
dm9pZClfcmVnaXN0ZXJQcmV2aWV3CiAgICAgX3ByZXZpZXdHZXN0dXJlUmVjb2duaXplciA9IF9w
cmV2aWV3SXRlbUNvbnRyb2xsZXIuZ2V0KCkucHJlc2VudGF0aW9uR2VzdHVyZVJlY29nbml6ZXI7
CiAgICAgaWYgKFtfcHJldmlld0l0ZW1Db250cm9sbGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IocHJlc2VudGF0aW9uU2Vjb25kYXJ5R2VzdHVyZVJlY29nbml6ZXIpXSkKICAgICAgICAg
X3ByZXZpZXdTZWNvbmRhcnlHZXN0dXJlUmVjb2duaXplciA9IF9wcmV2aWV3SXRlbUNvbnRyb2xs
ZXIuZ2V0KCkucHJlc2VudGF0aW9uU2Vjb25kYXJ5R2VzdHVyZVJlY29nbml6ZXI7CisgICAgX3Vp
RGVsZWdhdGVQcm92aWRlZFByZXZpZXdpbmdWaWV3Q29udHJvbGxlciA9IE5POwogfQogCiAtICh2
b2lkKV91bnJlZ2lzdGVyUHJldmlldwpAQCAtMzc1Niw2ICszNzU5LDcgQEAgLSAodm9pZClfdW5y
ZWdpc3RlclByZXZpZXcKICAgICBfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyID0gbmlsOwogICAg
IF9wcmV2aWV3U2Vjb25kYXJ5R2VzdHVyZVJlY29nbml6ZXIgPSBuaWw7CiAgICAgX3ByZXZpZXdJ
dGVtQ29udHJvbGxlciA9IG5pbDsKKyAgICBfdWlEZWxlZ2F0ZVByb3ZpZGVkUHJldmlld2luZ1Zp
ZXdDb250cm9sbGVyID0gTk87CiB9CiAKIC0gKEJPT0wpX2ludGVyYWN0aW9uU2hvdWxkQmVnaW5G
cm9tUHJldmlld0l0ZW1Db250cm9sbGVyOihVSVByZXZpZXdJdGVtQ29udHJvbGxlciAqKWNvbnRy
b2xsZXIgZm9yUG9zaXRpb246KENHUG9pbnQpcG9zaXRpb24KQEAgLTM4ODAsMTEgKzM4ODQsMjAg
QEAgLSAoVUlWaWV3Q29udHJvbGxlciAqKV9wcmVzZW50ZWRWaWV3Q29udAogCiAgICAgICAgIFJl
dGFpblB0cjxfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbz4gZWxlbWVudEluZm8gPSBhZG9wdE5TKFtb
X1dLQWN0aXZhdGVkRWxlbWVudEluZm8gYWxsb2NdIF9pbml0V2l0aFR5cGU6X1dLQWN0aXZhdGVk
RWxlbWVudFR5cGVMaW5rIFVSTDp0YXJnZXRVUkwgbG9jYXRpb246X3Bvc2l0aW9uSW5mb3JtYXRp
b24ucG9pbnQgdGl0bGU6X3Bvc2l0aW9uSW5mb3JtYXRpb24udGl0bGUgcmVjdDpfcG9zaXRpb25J
bmZvcm1hdGlvbi5ib3VuZHMgaW1hZ2U6X3Bvc2l0aW9uSW5mb3JtYXRpb24uaW1hZ2UuZ2V0KCld
KTsKIAotICAgICAgICBSZXRhaW5QdHI8TlNBcnJheT4gYWN0aW9ucyA9IFtfYWN0aW9uU2hlZXRB
c3Npc3RhbnQgZGVmYXVsdEFjdGlvbnNGb3JMaW5rU2hlZXQ6ZWxlbWVudEluZm8uZ2V0KCldOwor
ICAgICAgICBhdXRvIGFjdGlvbnMgPSBbX2FjdGlvblNoZWV0QXNzaXN0YW50IGRlZmF1bHRBY3Rp
b25zRm9yTGlua1NoZWV0OmVsZW1lbnRJbmZvLmdldCgpXTsKICAgICAgICAgaWYgKFt1aURlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cHJldmlld2luZ1ZpZXdD
b250cm9sbGVyRm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczopXSkgeworICAgICAgICAgICAgYXV0
byBwcmV2aWV3QWN0aW9ucyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0p
OworICAgICAgICAgICAgZm9yIChfV0tFbGVtZW50QWN0aW9uICplbGVtZW50QWN0aW9uIGluIGFj
dGlvbnMuZ2V0KCkpIHsKKyAgICAgICAgICAgICAgICBfV0tQcmV2aWV3QWN0aW9uICpwcmV2aWV3
QWN0aW9uID0gW19XS1ByZXZpZXdBY3Rpb24gYWN0aW9uV2l0aElkZW50aWZpZXI6W2VsZW1lbnRB
Y3Rpb24gaWRlbnRpZmllcl0gdGl0bGU6W2VsZW1lbnRBY3Rpb24gdGl0bGVdIHN0eWxlOlVJUHJl
dmlld0FjdGlvblN0eWxlRGVmYXVsdCBoYW5kbGVyOl4oVUlQcmV2aWV3QWN0aW9uICosIFVJVmll
d0NvbnRyb2xsZXIgKikgeworICAgICAgICAgICAgICAgICAgICBbZWxlbWVudEFjdGlvbiBydW5B
Y3Rpb25XaXRoRWxlbWVudEluZm86ZWxlbWVudEluZm8uZ2V0KCldOworICAgICAgICAgICAgICAg
IH1dOworICAgICAgICAgICAgICAgIFtwcmV2aWV3QWN0aW9ucyBhZGRPYmplY3Q6cHJldmlld0Fj
dGlvbl07CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBhdXRvIHByZXZpZXdFbGVtZW50SW5m
byA9IGFkb3B0TlMoW1tfV0tQcmV2aWV3RWxlbWVudEluZm8gYWxsb2NdIF9pbml0V2l0aExpbmtV
Ukw6dGFyZ2V0VVJMXSk7Ci0gICAgICAgICAgICBpZiAoVUlWaWV3Q29udHJvbGxlciAqY29udHJv
bGxlciA9IFt1aURlbGVnYXRlIF93ZWJWaWV3Ol93ZWJWaWV3IHByZXZpZXdpbmdWaWV3Q29udHJv
bGxlckZvckVsZW1lbnQ6cHJldmlld0VsZW1lbnRJbmZvLmdldCgpIGRlZmF1bHRBY3Rpb25zOmFj
dGlvbnMuZ2V0KCldKQorICAgICAgICAgICAgaWYgKFVJVmlld0NvbnRyb2xsZXIgKmNvbnRyb2xs
ZXIgPSBbdWlEZWxlZ2F0ZSBfd2ViVmlldzpfd2ViVmlldyBwcmV2aWV3aW5nVmlld0NvbnRyb2xs
ZXJGb3JFbGVtZW50OnByZXZpZXdFbGVtZW50SW5mby5nZXQoKSBkZWZhdWx0QWN0aW9uczpwcmV2
aWV3QWN0aW9ucy5nZXQoKV0pIHsKKyAgICAgICAgICAgICAgICBfdWlEZWxlZ2F0ZVByb3ZpZGVk
UHJldmlld2luZ1ZpZXdDb250cm9sbGVyID0gWUVTOwogICAgICAgICAgICAgICAgIHJldHVybiBj
b250cm9sbGVyOworICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgaWYgKFt1aURl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cHJldmlld1ZpZXdD
b250cm9sbGVyRm9yVVJMOmRlZmF1bHRBY3Rpb25zOmVsZW1lbnRJbmZvOildKQpAQCAtMzkyOSw3
ICszOTQyLDcgQEAgLSAodm9pZClfcHJldmlld0l0ZW1Db250cm9sbGVyOihVSVByZXZpZQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Y29tbWl0UHJldmlld2VkVmlld0NvbnRyb2xsZXI6KV0p
IHsKKyAgICBpZiAoX3VpRGVsZWdhdGVQcm92aWRlZFByZXZpZXdpbmdWaWV3Q29udHJvbGxlciAm
JiBbdWlEZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmNvbW1p
dFByZXZpZXdlZFZpZXdDb250cm9sbGVyOildKSB7CiAgICAgICAgIFt1aURlbGVnYXRlIF93ZWJW
aWV3Ol93ZWJWaWV3IGNvbW1pdFByZXZpZXdlZFZpZXdDb250cm9sbGVyOnZpZXdDb250cm9sbGVy
XTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE5Nzg4NikKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtMTIwMiw2ICsxMjAyLDggQEAKIAkJOTM5NUU2OEUxQkY0MTBGRDAwRjQ5QkNFIC8q
IF9XS0VsZW1lbnRJbmZvSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzOTVFNjhEMUJGNDEwRkQwMEY0OUJDRSAvKiBfV0tFbGVtZW50SW5m
b0ludGVybmFsLmggKi87IH07CiAJCTkzOUFFNzY2MTMxNkU5OUMwMEFFMDZBNiAvKiBXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTM5QUU3NjUxMzE2RTk5QzAwQUUwNkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVy
cy5jcHAgKi87IH07CiAJCTkzOUY0MDFDMTlGQjBCQkMwMDJCMkI0MiAvKiBXS0FjdGlvbk1lbnVU
eXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5
RjQwMUIxOUZCMEJCQzAwMkIyQjQyIC8qIFdLQWN0aW9uTWVudVR5cGVzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNBMjUzRUQxQzkyMkUxRTAw
RjlGNjhEIC8qIF9XS1ByZXZpZXdBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTI1M0VDMUM5MjJFMUUwMEY5RjY4RCAvKiBfV0tQcmV2aWV3
QWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTNBMjUzRUYxQzkyMkU4RTAwRjlGNjhEIC8qIF9XS1ByZXZpZXdBY3Rpb24ubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0EyNTNFRTFDOTIyRThF
MDBGOUY2OEQgLyogX1dLUHJldmlld0FjdGlvbi5tbSAqLzsgfTsKIAkJOTNBODhCMzAxQkM2RTk5
NzAwQUJBNUMyIC8qIFdlYkhpdFRlc3RSZXN1bHREYXRhLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODhCMkUxQkM2RTk4RjAwQUJBNUMyIC8qIFdl
YkhpdFRlc3RSZXN1bHREYXRhLm1tICovOyB9OwogCQk5M0E4OEIzMzFCQzZFOUNEMDBBQkE1QzIg
LyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQTg4QjMxMUJDNkU5QzAwMEFCQTVDMiAvKiBXZWJIaXRUZXN0UmVz
dWx0RGF0YS5oICovOyB9OwogCQk5M0E4OEIzNjFCQzZFQUQ1MDBBQkE1QzIgLyogV2ViSGl0VGVz
dFJlc3VsdERhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNBODhCMzQxQkM2RUFCQTAwQUJBNUMyIC8qIFdlYkhpdFRlc3RSZXN1bHREYXRhLmNw
cCAqLzsgfTsKQEAgLTMwNDgsNyArMzA1MCw2IEBACiAJCTc2MkI3NDg0MTIwQkJBMkQwMDgxOTMz
OSAvKiBXS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3QTc5MUVGODFDN0NGQjEwMDBDNEM1MkIgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0E3OTFFRjkxQzdDRkIzNzAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotICAgICAgICAKIAkJN0E5Q0Q4QzAx
Qzc3OTg0OTAwRDlGNkM3IC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTlDRDhDMTFDNzc5
ODQ5MDBEOUY2QzcgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTlDRDhDMjFDNzc5QUQ2MDBEOUY2Qzcg
LyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5tZXNzYWdlcy5pbjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMyMTksNiArMzIyMCw4IEBACiAJCTkzOTVF
NjhEMUJGNDEwRkQwMEY0OUJDRSAvKiBfV0tFbGVtZW50SW5mb0ludGVybmFsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0VsZW1lbnRJbmZvSW50ZXJuYWwuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM5QUU3NjUxMzE2RTk5QzAwQUUwNkE2IC8qIFdlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5MzlGNDAxQjE5RkIwQkJDMDAyQjJCNDIgLyogV0tBY3Rpb25NZW51VHlwZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tBY3Rpb25NZW51VHlwZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNBMjUzRUMxQzkyMkUxRTAwRjlGNjhEIC8qIF9XS1ByZXZp
ZXdBY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUHJldmlld0Fj
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0EyNTNFRTFDOTIyRThFMDBG
OUY2OEQgLyogX1dLUHJldmlld0FjdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IF9XS1ByZXZpZXdBY3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzQTg4QjJFMUJDNkU5OEYwMEFCQTVDMiAvKiBXZWJIaXRUZXN0UmVzdWx0RGF0YS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkhpdFRlc3RSZXN1
bHREYXRhLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0E4OEIzMTFCQzZFOUMw
MDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViSGl0VGVzdFJlc3VsdERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNBODhCMzQxQkM2RUFCQTAwQUJBNUMyIC8qIFdlYkhpdFRlc3RSZXN1bHREYXRh
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkhpdFRlc3RSZXN1
bHREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ5NzEsNiArNDk3NCw4
IEBACiAJCQkJMzdBNjRFNTQxOEYzOEUzQzAwRUIzMEYxIC8qIF9XS0lucHV0RGVsZWdhdGUuaCAq
LywKIAkJCQkyRDc5MEE5QzFBRDcwNTBEMDBBQjkwQjMgLyogX1dLTGF5b3V0TW9kZS5oICovLAog
CQkJCTkzMjM2MTFEMUIwMTVEQTgwMEZBOTIzMiAvKiBfV0tPdmVybGF5U2Nyb2xsYmFyU3R5bGUu
aCAqLywKKwkJCQk5M0EyNTNFQzFDOTIyRTFFMDBGOUY2OEQgLyogX1dLUHJldmlld0FjdGlvbi5o
ICovLAorCQkJCTkzQTI1M0VFMUM5MjJFOEUwMEY5RjY4RCAvKiBfV0tQcmV2aWV3QWN0aW9uLm1t
ICovLAogCQkJCTkzOTVFNjg5MUJGMkMzMzIwMEY0OUJDRSAvKiBfV0tQcmV2aWV3RWxlbWVudElu
Zm8uaCAqLywKIAkJCQk5Mzk1RTY4QjFCRjJDMzUyMDBGNDlCQ0UgLyogX1dLUHJldmlld0VsZW1l
bnRJbmZvLm1tICovLAogCQkJCTkzOTEwNzRFMUJGNkJDNjUwMDhDMTdBRCAvKiBfV0tQcmV2aWV3
RWxlbWVudEluZm9JbnRlcm5hbC5oICovLApAQCAtNzM5Miw2ICs3Mzk3LDcgQEAKIAkJCQk1MTYz
MTk5NTE2Mjg5QTYzMDBFMjJGMDAgLyogTmV0d29ya1Byb2Nlc3NNZXNzYWdlcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTE0QTk1NEExNkUwMTZBNDAwNjhERTgyIC8qIE5ldHdvcmtQcm9jZXNzUGxh
dGZvcm1TdHJhdGVnaWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTc5NTU2RTE2Mjg3N0IzMDBG
QTQzQjYgLyogTmV0d29ya1Byb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNBMjUz
RUQxQzkyMkUxRTAwRjlGNjhEIC8qIF9XS1ByZXZpZXdBY3Rpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxM0ExNjNEMTYzMDg4RjYwMDVEN0QyMiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2Fn
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5NTVBNkY1MUM3OTg2RTAwMEVCNkE5MyAvKiBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRkQxOEI2MTY1
MUZCQUQwMERCRTFDRSAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtOTI4Niw2ICs5MjkyLDcgQEAKIAkJCQlDRENBODVDODEzMkFCQTRFMDBFOTYxREYgLyogV0tG
dWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDNTRDQzEz
MTJENjc0RUUwMDVDNjdCMCAvKiBXS0dlb2xvY2F0aW9uTWFuYWdlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzA2RjQ0RjEyREJERjNGMDAyRDc4REUgLyogV0tHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTkzQTI1M0VGMUM5MjJFOEUwMEY5RjY4
RCAvKiBfV0tQcmV2aWV3QWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwRTYxOTkxMkQ2
Q0QxMjAwMTJBNzJBIC8qIFdLR2VvbG9jYXRpb25Qb3NpdGlvbi5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwNzI5N0ZBMjFDMTg2QURCMDAzRjA3MzUgLyogV0tVc2VyTWVkaWFQZXJtaXNzaW9uQ2hl
Y2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDQjRFNTAxOEJCRTA0NDAwMEZDRkM5IC8qIFdL
R2VvbG9jYXRpb25Qcm92aWRlcklPUy5tbSBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273646</attachid>
            <date>2016-03-10 16:18:11 -0800</date>
            <delta_ts>2016-03-10 16:37:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review-4.txt</filename>
            <type>text/plain</type>
            <size>27635</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5Nzk2MikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU1IEBACisyMDE2LTAzLTEwICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBkZWZhdWx0QWN0aW9ucyBpbiBVSURl
bGVnYXRlIG1ldGhvZCAKKyAgICAgICAgX3dlYlZpZXc6cHJldmlld2luZ1ZpZXdDb250cm9sbGVy
Rm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczogbmVlZCB0byBiZSAKKyAgICAgICAgdXNlLWFibGUg
YnkgYSBjbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NTMwNAorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCisgICAgICAgIHJkYXI6Ly9w
cm9ibGVtLzI0MjY5Mjk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgbmV3IHByb3RvY29sLCBXS1ByZXZpZXdBY3Rpb25J
dGVtLCB3aGljaCBpcyBhIHN1Yi1wcm90b2NvbCAKKyAgICAgICAgb2YgVUlQcmV2aWV3QWN0aW9u
SXRlbS4gVGhlIG5ldyBwcm90b2NvbCBhZGRzIGFuIGlkZW50aWZpZXIgc28gdGhhdCBjbGllbnRz
IAorICAgICAgICBjYW4gaWRlbnRpZnkgd2hpY2ggb2Ygb3VyIGRlZmF1bHQgYWN0aW9ucyB0aGV5
IHdhbnQgdG8gdXNlLiBJbiBvcmRlciBmb3IgYSAKKyAgICAgICAgY2xpZW50IHRvIHVzZSBvdXIg
ZGVmYXVsdCBhY3Rpb24gaXRlbXMsIHRoZXkgbmVlZCB0byByZXR1cm4gdGhvc2UgYWN0aW9ucyBp
biAKKyAgICAgICAgdGhlaXIgVUlWaWV3Q29udHJvbGxlcidzIGltcGxlbWVudGF0aW9uIG9mIHBy
ZXZpZXdBY3Rpb25JdGVtcy4KKworICAgICAgICBDaGFuZ2UgdGhlIGRlZmF1bHRBY3Rpb25zIHRv
IE5TQXJyYXkgPGlkIDxXS1ByZXZpZXdBY3Rpb25JdGVtPj4gKgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgorCisgICAgICAgIE5ldyBtZXRob2Qg
aWRlbnRpZmllciBvbiBfV0tFbGVtZW50QWN0aW9uIHVzZXMgdGhlIHR5cGUgdG8gcmV0dXJuIGFu
IGlkZW50aWZpZXIgYXMgYW4gTlNTdHJpbmcuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tFbGVtZW50QWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tF
bGVtZW50QWN0aW9uLm1tOgorICAgICAgICAoLVtfV0tFbGVtZW50QWN0aW9uIGlkZW50aWZpZXJd
KToKKworICAgICAgICBUaGlzIG5ldyBmaWxlIGRlZmluZXMgb3VyIHN1Yi1wcm90b2NvbCBhbmQg
c3ViLWNsYXNzIGZvciBXS1ByZXZpZXdBY3Rpb25zLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLUHJldmlld0FjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1ByZXZpZXdBY3Rpb24ubW06IEFkZGVkLgorICAgICAgICAoK1tfV0tQcmV2aWV3
QWN0aW9uIGFjdGlvbldpdGhJZGVudGlmaWVyOnRpdGxlOnN0eWxlOmhhbmRsZXI6XSk6CisKKyAg
ICAgICAgTmV3IEJPT0wgX3VpRGVsZWdhdGVQcm92aWRlZFByZXZpZXdpbmdWaWV3Q29udHJvbGxl
ciBrZWVwcyB0cmFjayBvZiB3aGV0aGVyIAorICAgICAgICB0aGUgY2xpZW50IHJldHVybmVkIGEg
dmlldyBjb250cm9sbGVyIGZyb20gCisgICAgICAgIF93ZWJWaWV3OnByZXZpZXdpbmdWaWV3Q29u
dHJvbGxlckZvckVsZW1lbnQ6ZGVmYXVsdEFjdGlvbnM6LiBJZiB0aGV5IGRpZCAKKyAgICAgICAg
cmV0dXJuIGEgdmlldyBjb250cm9sbGVyLCB0aGVuIHdlIHNob3VsZCBpbnZva2UgCisgICAgICAg
IF93ZWJWaWV3OmNvbW1pdFByZXZpZXdpbmdWaWV3Q29udHJvbGxlcjogYXQgY29tbWl0IHRpbWUu
IElmIHRoZXkgcmV0dXJuZWQgCisgICAgICAgIG5pbCwgdGhlbiB0aGV5IGluZGljYXRlZCB0aGF0
IFdlYktpdCBzaG91bGQgY29udGludWUgd2l0aCBkZWZhdWx0IHByZXZpZXdpbmcgCisgICAgICAg
IGJlaGF2aW9yLCBzbyB3ZSB3aWxsIG5vdCBpbnZva2UgdGhlIFVJRGVsZWdhdGXigJlzIGNvbW1p
dCBtZXRob2QuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcmVnaXN0ZXJQcmV2aWV3XSk6CisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgX3VucmVnaXN0ZXJQcmV2aWV3XSk6CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgX2ludGVyYWN0aW9uU2hvdWxkQmVnaW5Gcm9tUHJldmlld0l0ZW1Db250cm9sbGVy
OmZvclBvc2l0aW9uOl0pOgorCisgICAgICAgIEluIG9yZGVyIGZvciBvdXIgZGVmYXVsdCBhY3Rp
b25zIHRvIGJlIHVzZWZ1bCwgd2UgaGF2ZSB0byBjcmVhdGUgCisgICAgICAgIF9XS1ByZXZpZXdB
Y3Rpb25zLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9wcmVzZW50ZWRWaWV3Q29udHJvbGxl
ckZvclByZXZpZXdJdGVtQ29udHJvbGxlcjpdKToKKworICAgICAgICBPbmx5IGludm9rZSBfd2Vi
Vmlldzpjb21taXRQcmV2aWV3ZWRWaWV3Q29udHJvbGxlcjogaWYgCisgICAgICAgIF91aURlbGVn
YXRlUHJvdmlkZWRQcmV2aWV3aW5nVmlld0NvbnRyb2xsZXIgaXMgWUVTLgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IF9wcmV2aWV3SXRlbUNvbnRyb2xsZXI6Y29tbWl0UHJldmlldzpdKToKKyAg
ICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTYtMDMtMDcg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHNlcGFyYXRl
IFdLIGFuZCBXSzIgcHJlZmVyZW5jZXMgZm9yIHJlcXVpcmluZyB1c2VyIGdlc3R1cmVzIGZvciB2
aWRlbyBtZWRpYSwgZGlzdGluY3QgZnJvbSB1c2VyIGdlc3R1cmVzIGZvciBtZWRpYSBnZW5lcmFs
bHkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmV2aWV3QWN0
aW9uSWRlbnRpZmllcnNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1ByZXZpZXdBY3Rpb25JZGVudGlmaWVyc1ByaXZhdGUuaAkocmV2
aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmV2aWV3
QWN0aW9uSWRlbnRpZmllcnNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKworI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCisjaWYg
V0tfQVBJX0VOQUJMRUQKKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1w
b3J0IDxXZWJLaXQvV0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaD4KKworV0tfRVhQT1JUIGV4dGVy
biBOU1N0cmluZyAqIGNvbnN0IF9XS1ByZXZpZXdJZGVudGlmaWVyT3BlbiBXS19BVkFJTEFCTEUo
TkEsIFdLX0lPU19UQkEpOworV0tfRVhQT1JUIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IF9XS1By
ZXZpZXdJZGVudGlmaWVyQWRkVG9SZWFkaW5nTGlzdCBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19U
QkEpOworV0tfRVhQT1JUIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IF9XS1ByZXZpZXdJZGVudGlm
aWVyQ29weSBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOworV0tfRVhQT1JUIGV4dGVybiBO
U1N0cmluZyAqIGNvbnN0IF9XS1ByZXZpZXdJZGVudGlmaWVyU2hhcmUgV0tfQVZBSUxBQkxFKE5B
LCBXS19JT1NfVEJBKTsKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJldmlld0FjdGlvbklkZW50aWZpZXJzUHJpdmF0ZS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJldmlld0FjdGlvbklk
ZW50aWZpZXJzUHJpdmF0ZS5tbQkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcmV2aWV3QWN0aW9uSWRlbnRpZmllcnNQcml2YXRlLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiV0tQcmV2aWV3QWN0aW9uSWRlbnRpZmllcnNQcml2YXRlLmgiCisKKyNp
ZiBXS19BUElfRU5BQkxFRAorCitOU1N0cmluZyAqIGNvbnN0IF9XS1ByZXZpZXdJZGVudGlmaWVy
T3BlbiA9IEAiV0tQcmV2aWV3SWRlbnRpZmllck9wZW4iOworTlNTdHJpbmcgKiBjb25zdCBfV0tQ
cmV2aWV3SWRlbnRpZmllckFkZFRvUmVhZGluZ0xpc3QgPSBAIldLUHJldmlld0lkZW50aWZpZXJB
ZGRUb1JlYWRpbmdMaXN0IjsKK05TU3RyaW5nICogY29uc3QgX1dLUHJldmlld0lkZW50aWZpZXJD
b3B5ID0gQCJXS1ByZXZpZXdJZGVudGlmaWVyQ29weSI7CitOU1N0cmluZyAqIGNvbnN0IF9XS1By
ZXZpZXdJZGVudGlmaWVyU2hhcmUgPSBAIldLUHJldmlld0lkZW50aWZpZXJTaGFyZSI7CisKKyNl
bmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgJKHJldmlzaW9uIDE5Nzk2MikKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw4ICsyOSw4IEBACiAKICNpbXBvcnQgPFdlYktpdC9XS1NlY3VyaXR5T3Jp
Z2luLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLQWN0aXZhdGVkRWxlbWVudEluZm8uaD4KKyNpbXBv
cnQgPFdlYktpdC9fV0tQcmV2aWV3QWN0aW9uLmg+CiAKLUBjbGFzcyBVSVByZXZpZXdBY3Rpb25J
dGVtOwogQGNsYXNzIFVJU2Nyb2xsVmlldzsKIEBjbGFzcyBVSVZpZXdDb250cm9sbGVyOwogQGNs
YXNzIF9XS0NvbnRleHRNZW51RWxlbWVudEluZm87CkBAIC04Myw5ICs4MywxMCBAQCBzdHJ1Y3Qg
VUlFZGdlSW5zZXRzOwogLy8gc2hvdWxkUHJldmlld0VsZW1lbnQuIFJldHVybmluZyBOTyBpbiBz
aG91bGRQcmV2aWV3RWxlbWVudCB3aWxsIHByZXZlbnQgdGhlIG90aGVyIG1ldGhvZHMgZnJvbSBi
ZWluZyBpbnZva2VkLgogLy8gVGhlIGNsaWVudCBjYW4gcHJvdmlkZSBhIGN1c3RvbSBwcmV2aWV3
IGJ5IHJldHVybmluZyB0aGVpciBvd24gVUlWaWV3Q29udHJvbGxlciBmcm9tCiAvLyBwcmV2aWV3
aW5nVmlld0NvbnRyb2xsZXJGb3JFbGVtZW50OmRlZmF1bHRBY3Rpb25zOi4gUmV0dXJuaW5nIG5p
bCB3aWxsIHJlc3VsdCBpbiB0aGUgZGVmYXVsdCBwcmV2aWV3IGJlaGF2aW9yCi0vLyBmb3IgdGhh
dCBlbGVtZW50LgorLy8gZm9yIHRoYXQgZWxlbWVudC4gSWYgdGhlIGNsaWVudCB3YW50IHRvIHVz
ZSB0aGUgZGVmYXVsdEFjdGlvbnMsIHRoZW4gdGhlIGNsaWVudCBpcyByZXNwb25zaWJsZSBmb3IK
Ky8vIHJldHVybmluZyB0aG9zZSBhY3Rpb25zIGluIHRoZWlyIFVJVmlld0NvbnRyb2xsZXIncyBp
bXBsZW1lbnRhdGlvbiBvZiBwcmV2aWV3QWN0aW9uSXRlbXMuCiAtIChCT09MKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IHNob3VsZFByZXZpZXdFbGVtZW50OihfV0tQcmV2aWV3RWxlbWVu
dEluZm8gKillbGVtZW50SW5mbzsKLS0gKFVJVmlld0NvbnRyb2xsZXIgKilfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBwcmV2aWV3aW5nVmlld0NvbnRyb2xsZXJGb3JFbGVtZW50OihfV0tQ
cmV2aWV3RWxlbWVudEluZm8gKillbGVtZW50SW5mbyBkZWZhdWx0QWN0aW9uczooTlNBcnJheTxV
SVByZXZpZXdBY3Rpb25JdGVtICo+ICopcHJldmlld0FjdGlvbnMgV0tfQVZBSUxBQkxFKE5BLCBX
S19JT1NfVEJBKTsKKy0gKFVJVmlld0NvbnRyb2xsZXIgKilfd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBwcmV2aWV3aW5nVmlld0NvbnRyb2xsZXJGb3JFbGVtZW50OihfV0tQcmV2aWV3RWxl
bWVudEluZm8gKillbGVtZW50SW5mbyBkZWZhdWx0QWN0aW9uczooTlNBcnJheSA8aWQgPF9XS1By
ZXZpZXdBY3Rpb25JdGVtPj4gKilwcmV2aWV3QWN0aW9ucyBXS19BVkFJTEFCTEUoTkEsIFdLX0lP
U19UQkEpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBjb21taXRQcmV2
aWV3aW5nVmlld0NvbnRyb2xsZXI6KFVJVmlld0NvbnRyb2xsZXIgKilwcmV2aWV3aW5nVmlld0Nv
bnRyb2xsZXIgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKIAogLSAoVUlWaWV3Q29udHJv
bGxlciAqKV9wcmVzZW50aW5nVmlld0NvbnRyb2xsZXJGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24uaAkocmV2
aXNpb24gMTk3OTYyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tF
bGVtZW50QWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDggQEAgV0tfQ0xBU1Nf
QVZBSUxBQkxFKDEwXzEwLCA4XzApCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5T
U3RyaW5nKiB0aXRsZTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBXS0VsZW1lbnRBY3Rp
b25EaXNtaXNzYWxIYW5kbGVyIGRpc21pc3NhbEhhbmRsZXI7CiAKKy0gKE5TU3RyaW5nICopcHJl
dmlld0lkZW50aWZpZXI7CisKIEBlbmQKIAogI2VuZGlmIC8vIFRBUkdFVF9PU19JUEhPTkUKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Vs
ZW1lbnRBY3Rpb24ubW0JKHJldmlzaW9uIDE5Nzk2MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMzMs
NiArMzMsNyBAQAogI2ltcG9ydCAiR2VzdHVyZVR5cGVzLmgiCiAjaW1wb3J0ICJXS0FjdGlvblNo
ZWV0QXNzaXN0YW50LmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCIKKyNp
bXBvcnQgIldLUHJldmlld0FjdGlvbklkZW50aWZpZXJzUHJpdmF0ZS5oIgogI2ltcG9ydCAiX1dL
QWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6
ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CkBAIC0xNzEsNiAr
MTcyLDI2IEBAIC0gKHZvaWQpcnVuQWN0aW9uV2l0aEVsZW1lbnRJbmZvOihfV0tBY3QKICAgICBb
c2VsZiBfcnVuQWN0aW9uV2l0aEVsZW1lbnRJbmZvOmluZm8gZm9yQWN0aW9uU2hlZXRBc3Npc3Rh
bnQ6X2RlZmF1bHRBY3Rpb25TaGVldEFzc2lzdGFudF07CiB9CiAKKy0gKE5TU3RyaW5nICopcHJl
dmlld0lkZW50aWZpZXIKK3sKKyAgICBzd2l0Y2ggKF90eXBlKSB7CisgICAgY2FzZSBfV0tFbGVt
ZW50QWN0aW9uVHlwZU9wZW46CisgICAgICAgIHJldHVybiBfV0tQcmV2aWV3SWRlbnRpZmllck9w
ZW47CisgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZUNvcHk6CisgICAgICAgIHJldHVybiBf
V0tQcmV2aWV3SWRlbnRpZmllckNvcHk7CisjaWYgIWRlZmluZWQoVEFSR0VUX09TX0lPUykgfHwg
VEFSR0VUX09TX0lPUworICAgIGNhc2UgX1dLRWxlbWVudEFjdGlvblR5cGVBZGRUb1JlYWRpbmdM
aXN0OgorICAgICAgICByZXR1cm4gX1dLUHJldmlld0lkZW50aWZpZXJBZGRUb1JlYWRpbmdMaXN0
OworI2VuZGlmCisgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZVNoYXJlOgorICAgICAgICBy
ZXR1cm4gX1dLUHJldmlld0lkZW50aWZpZXJTaGFyZTsKKyAgICBkZWZhdWx0OgorICAgICAgICBy
ZXR1cm4gbmlsOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
bmlsOworfQorCiBAZW5kCiAKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1ByZXZpZXdBY3Rpb24uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1ByZXZpZXdBY3Rpb24u
aAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
UHJldmlld0FjdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBXS19BUElfRU5BQkxF
RCAmJiBUQVJHRVRfT1NfSVBIT05FCisKKyNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXIu
aD4KKworV0tfQ0xBU1NfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKQorQHByb3RvY29sIF9XS1By
ZXZpZXdBY3Rpb25JdGVtIDxOU09iamVjdCwgVUlQcmV2aWV3QWN0aW9uSXRlbT4KK0Bwcm9wZXJ0
eShub25hdG9taWMsIGNvcHksIHJlYWRvbmx5KSBOU1N0cmluZyAqaWRlbnRpZmllcjsKK0BlbmQK
KworV0tfQ0xBU1NfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKQorCitAaW50ZXJmYWNlIF9XS1By
ZXZpZXdBY3Rpb24gOiBVSVByZXZpZXdBY3Rpb24gPE5TQ29weWluZywgX1dLUHJldmlld0FjdGlv
bkl0ZW0+CisKKysgKGluc3RhbmNldHlwZSlhY3Rpb25XaXRoSWRlbnRpZmllcjooTlNTdHJpbmcg
KilpZGVudGlmaWVyIHRpdGxlOihOU1N0cmluZyAqKXRpdGxlIHN0eWxlOihVSVByZXZpZXdBY3Rp
b25TdHlsZSlzdHlsZSBoYW5kbGVyOih2b2lkICheKShVSVByZXZpZXdBY3Rpb24gKmFjdGlvbiwg
VUlWaWV3Q29udHJvbGxlciAqcHJldmlld1ZpZXdDb250cm9sbGVyKSloYW5kbGVyOworCitAZW5k
CisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRCAmJiBUQVJHRVRfT1NfSVBIT05FCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1ByZXZpZXdBY3Rpb24ubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcmV2aWV3
QWN0aW9uLm1tCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tQcmV2aWV3QWN0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIl9XS1ByZXZpZXdBY3Rp
b24uaCIKKworI2lmIFdLX0FQSV9FTkFCTEVEICYmIFRBUkdFVF9PU19JUEhPTkUKKworQGltcGxl
bWVudGF0aW9uIF9XS1ByZXZpZXdBY3Rpb24KK0BzeW50aGVzaXplIGlkZW50aWZpZXI9X2lkZW50
aWZpZXI7CisKKysgKGluc3RhbmNldHlwZSlhY3Rpb25XaXRoSWRlbnRpZmllcjooTlNTdHJpbmcg
KilpZGVudGlmaWVyIHRpdGxlOihOU1N0cmluZyAqKXRpdGxlIHN0eWxlOihVSVByZXZpZXdBY3Rp
b25TdHlsZSlzdHlsZSBoYW5kbGVyOih2b2lkICheKShVSVByZXZpZXdBY3Rpb24gKmFjdGlvbiwg
VUlWaWV3Q29udHJvbGxlciAqcHJldmlld1ZpZXdDb250cm9sbGVyKSloYW5kbGVyCit7CisgICAg
X1dLUHJldmlld0FjdGlvbiAqYWN0aW9uID0gW3NlbGYgYWN0aW9uV2l0aFRpdGxlOnRpdGxlIHN0
eWxlOnN0eWxlIGhhbmRsZXI6aGFuZGxlcl07CisgICAgYWN0aW9uLT5faWRlbnRpZmllciA9IGlk
ZW50aWZpZXI7CisgICAgcmV0dXJuIGFjdGlvbjsKK30KKworQGVuZAorCisjZW5kaWYgLy8gV0tf
QVBJX0VOQUJMRUQgJiYgVEFSR0VUX09TX0lQSE9ORQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCShyZXZp
c2lvbiAxOTc5NjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNiArMTIzLDcgQEAgc3RydWN0
IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKICAgICBSZXRhaW5QdHI8VUlHZXN0dXJlUmVjb2duaXpl
cj4gX3ByZXZpZXdTZWNvbmRhcnlHZXN0dXJlUmVjb2duaXplcjsKICNpZiBIQVZFKExJTktfUFJF
VklFVykKICAgICBSZXRhaW5QdHI8VUlQcmV2aWV3SXRlbUNvbnRyb2xsZXI+IF9wcmV2aWV3SXRl
bUNvbnRyb2xsZXI7CisgICAgQk9PTCBfdWlEZWxlZ2F0ZVByb3ZpZGVkUHJldmlld2luZ1ZpZXdD
b250cm9sbGVyOwogI2VuZGlmCiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViS2l0OjpTbWFydE1h
Z25pZmljYXRpb25Db250cm9sbGVyPiBfc21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlcjsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCShyZXZpc2lvbiAxOTc5NjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkod29ya2luZyBjb3B5KQpA
QCAtNTIsOSArNTIsMTEgQEAKICNpbXBvcnQgIldlYlBhZ2VNZXNzYWdlcy5oIgogI2ltcG9ydCAi
V2ViUHJvY2Vzc1Byb3h5LmgiCiAjaW1wb3J0ICJfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVy
bmFsLmgiCisjaW1wb3J0ICJfV0tFbGVtZW50QWN0aW9uLmgiCiAjaW1wb3J0ICJfV0tGb2N1c2Vk
RWxlbWVudEluZm8uaCIKICNpbXBvcnQgIl9XS0Zvcm1JbnB1dFNlc3Npb24uaCIKICNpbXBvcnQg
Il9XS0lucHV0RGVsZWdhdGUuaCIKKyNpbXBvcnQgIl9XS1ByZXZpZXdBY3Rpb24uaCIKICNpbXBv
cnQgIl9XS1ByZXZpZXdFbGVtZW50SW5mb0ludGVybmFsLmgiCiAjaW1wb3J0IDxDb3JlVGV4dC9D
VEZvbnQuaD4KICNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3IuaD4KQEAgLTM3NDgs
NiArMzc1MCw3IEBAIC0gKHZvaWQpX3JlZ2lzdGVyUHJldmlldwogICAgIF9wcmV2aWV3R2VzdHVy
ZVJlY29nbml6ZXIgPSBfcHJldmlld0l0ZW1Db250cm9sbGVyLmdldCgpLnByZXNlbnRhdGlvbkdl
c3R1cmVSZWNvZ25pemVyOwogICAgIGlmIChbX3ByZXZpZXdJdGVtQ29udHJvbGxlciByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKHByZXNlbnRhdGlvblNlY29uZGFyeUdlc3R1cmVSZWNvZ25p
emVyKV0pCiAgICAgICAgIF9wcmV2aWV3U2Vjb25kYXJ5R2VzdHVyZVJlY29nbml6ZXIgPSBfcHJl
dmlld0l0ZW1Db250cm9sbGVyLmdldCgpLnByZXNlbnRhdGlvblNlY29uZGFyeUdlc3R1cmVSZWNv
Z25pemVyOworICAgIF91aURlbGVnYXRlUHJvdmlkZWRQcmV2aWV3aW5nVmlld0NvbnRyb2xsZXIg
PSBOTzsKIH0KIAogLSAodm9pZClfdW5yZWdpc3RlclByZXZpZXcKQEAgLTM3NTYsNiArMzc1OSw3
IEBAIC0gKHZvaWQpX3VucmVnaXN0ZXJQcmV2aWV3CiAgICAgX3ByZXZpZXdHZXN0dXJlUmVjb2du
aXplciA9IG5pbDsKICAgICBfcHJldmlld1NlY29uZGFyeUdlc3R1cmVSZWNvZ25pemVyID0gbmls
OwogICAgIF9wcmV2aWV3SXRlbUNvbnRyb2xsZXIgPSBuaWw7CisgICAgX3VpRGVsZWdhdGVQcm92
aWRlZFByZXZpZXdpbmdWaWV3Q29udHJvbGxlciA9IE5POwogfQogCiAtIChCT09MKV9pbnRlcmFj
dGlvblNob3VsZEJlZ2luRnJvbVByZXZpZXdJdGVtQ29udHJvbGxlcjooVUlQcmV2aWV3SXRlbUNv
bnRyb2xsZXIgKiljb250cm9sbGVyIGZvclBvc2l0aW9uOihDR1BvaW50KXBvc2l0aW9uCkBAIC0z
ODkxLDExICszODk1LDIwIEBAIC0gKFVJVmlld0NvbnRyb2xsZXIgKilfcHJlc2VudGVkVmlld0Nv
bnQKIAogICAgICAgICBSZXRhaW5QdHI8X1dLQWN0aXZhdGVkRWxlbWVudEluZm8+IGVsZW1lbnRJ
bmZvID0gYWRvcHROUyhbW19XS0FjdGl2YXRlZEVsZW1lbnRJbmZvIGFsbG9jXSBfaW5pdFdpdGhU
eXBlOl9XS0FjdGl2YXRlZEVsZW1lbnRUeXBlTGluayBVUkw6dGFyZ2V0VVJMIGxvY2F0aW9uOl9w
b3NpdGlvbkluZm9ybWF0aW9uLnBvaW50IHRpdGxlOl9wb3NpdGlvbkluZm9ybWF0aW9uLnRpdGxl
IHJlY3Q6X3Bvc2l0aW9uSW5mb3JtYXRpb24uYm91bmRzIGltYWdlOl9wb3NpdGlvbkluZm9ybWF0
aW9uLmltYWdlLmdldCgpXSk7CiAKLSAgICAgICAgUmV0YWluUHRyPE5TQXJyYXk+IGFjdGlvbnMg
PSBbX2FjdGlvblNoZWV0QXNzaXN0YW50IGRlZmF1bHRBY3Rpb25zRm9yTGlua1NoZWV0OmVsZW1l
bnRJbmZvLmdldCgpXTsKKyAgICAgICAgYXV0byBhY3Rpb25zID0gW19hY3Rpb25TaGVldEFzc2lz
dGFudCBkZWZhdWx0QWN0aW9uc0ZvckxpbmtTaGVldDplbGVtZW50SW5mby5nZXQoKV07CiAgICAg
ICAgIGlmIChbdWlEZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3
OnByZXZpZXdpbmdWaWV3Q29udHJvbGxlckZvckVsZW1lbnQ6ZGVmYXVsdEFjdGlvbnM6KV0pIHsK
KyAgICAgICAgICAgIGF1dG8gcHJldmlld0FjdGlvbnMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJy
YXkgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgICAgIGZvciAoX1dLRWxlbWVudEFjdGlvbiAqZWxl
bWVudEFjdGlvbiBpbiBhY3Rpb25zLmdldCgpKSB7CisgICAgICAgICAgICAgICAgX1dLUHJldmll
d0FjdGlvbiAqcHJldmlld0FjdGlvbiA9IFtfV0tQcmV2aWV3QWN0aW9uIGFjdGlvbldpdGhJZGVu
dGlmaWVyOltlbGVtZW50QWN0aW9uIHByZXZpZXdJZGVudGlmaWVyXSB0aXRsZTpbZWxlbWVudEFj
dGlvbiB0aXRsZV0gc3R5bGU6VUlQcmV2aWV3QWN0aW9uU3R5bGVEZWZhdWx0IGhhbmRsZXI6XihV
SVByZXZpZXdBY3Rpb24gKiwgVUlWaWV3Q29udHJvbGxlciAqKSB7CisgICAgICAgICAgICAgICAg
ICAgIFtlbGVtZW50QWN0aW9uIHJ1bkFjdGlvbldpdGhFbGVtZW50SW5mbzplbGVtZW50SW5mby5n
ZXQoKV07CisgICAgICAgICAgICAgICAgfV07CisgICAgICAgICAgICAgICAgW3ByZXZpZXdBY3Rp
b25zIGFkZE9iamVjdDpwcmV2aWV3QWN0aW9uXTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGF1dG8gcHJldmlld0VsZW1lbnRJbmZvID0gYWRvcHROUyhbW19XS1ByZXZpZXdFbGVtZW50SW5m
byBhbGxvY10gX2luaXRXaXRoTGlua1VSTDp0YXJnZXRVUkxdKTsKLSAgICAgICAgICAgIGlmIChV
SVZpZXdDb250cm9sbGVyICpjb250cm9sbGVyID0gW3VpRGVsZWdhdGUgX3dlYlZpZXc6X3dlYlZp
ZXcgcHJldmlld2luZ1ZpZXdDb250cm9sbGVyRm9yRWxlbWVudDpwcmV2aWV3RWxlbWVudEluZm8u
Z2V0KCkgZGVmYXVsdEFjdGlvbnM6YWN0aW9ucy5nZXQoKV0pCisgICAgICAgICAgICBpZiAoVUlW
aWV3Q29udHJvbGxlciAqY29udHJvbGxlciA9IFt1aURlbGVnYXRlIF93ZWJWaWV3Ol93ZWJWaWV3
IHByZXZpZXdpbmdWaWV3Q29udHJvbGxlckZvckVsZW1lbnQ6cHJldmlld0VsZW1lbnRJbmZvLmdl
dCgpIGRlZmF1bHRBY3Rpb25zOnByZXZpZXdBY3Rpb25zLmdldCgpXSkgeworICAgICAgICAgICAg
ICAgIF91aURlbGVnYXRlUHJvdmlkZWRQcmV2aWV3aW5nVmlld0NvbnRyb2xsZXIgPSBZRVM7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXI7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KIAogICAgICAgICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cihfd2ViVmlldzpwcmV2aWV3Vmlld0NvbnRyb2xsZXJGb3JVUkw6ZGVmYXVsdEFjdGlvbnM6ZWxl
bWVudEluZm86KV0pCkBAIC0zOTQwLDcgKzM5NTMsNyBAQCAtICh2b2lkKV9wcmV2aWV3SXRlbUNv
bnRyb2xsZXI6KFVJUHJldmllCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoW3Vp
RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpjb21taXRQcmV2
aWV3ZWRWaWV3Q29udHJvbGxlcjopXSkgeworICAgIGlmIChfdWlEZWxlZ2F0ZVByb3ZpZGVkUHJl
dmlld2luZ1ZpZXdDb250cm9sbGVyICYmIFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoX3dlYlZpZXc6Y29tbWl0UHJldmlld2VkVmlld0NvbnRyb2xsZXI6KV0pIHsKICAg
ICAgICAgW3VpRGVsZWdhdGUgX3dlYlZpZXc6X3dlYlZpZXcgY29tbWl0UHJldmlld2VkVmlld0Nv
bnRyb2xsZXI6dmlld0NvbnRyb2xsZXJdOwogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDog
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMTk3OTYyKQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAyLDYgKzEyMDIsMTAgQEAKIAkJOTM5
NUU2OEUxQkY0MTBGRDAwRjQ5QkNFIC8qIF9XS0VsZW1lbnRJbmZvSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOTVFNjhEMUJGNDEwRkQw
MEY0OUJDRSAvKiBfV0tFbGVtZW50SW5mb0ludGVybmFsLmggKi87IH07CiAJCTkzOUFFNzY2MTMx
NkU5OUMwMEFFMDZBNiAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5QUU3NjUxMzE2RTk5QzAwQUUwNkE2
IC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgKi87IH07CiAJCTkzOUY0MDFDMTlGQjBCQkMw
MDJCMkI0MiAvKiBXS0FjdGlvbk1lbnVUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5RjQwMUIxOUZCMEJCQzAwMkIyQjQyIC8qIFdLQWN0aW9u
TWVudVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJOTNBMjUzRUQxQzkyMkUxRTAwRjlGNjhEIC8qIF9XS1ByZXZpZXdBY3Rpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTI1M0VDMUM5MjJF
MUUwMEY5RjY4RCAvKiBfV0tQcmV2aWV3QWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTNBMjUzRUYxQzkyMkU4RTAwRjlGNjhEIC8qIF9X
S1ByZXZpZXdBY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0EyNTNFRTFDOTIyRThFMDBGOUY2OEQgLyogX1dLUHJldmlld0FjdGlvbi5tbSAq
LzsgfTsKKwkJOTNBMjUzRjMxQzkyNDExMjAwRjlGNjhEIC8qIFdLUHJldmlld0FjdGlvbklkZW50
aWZpZXJzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNBMjUzRjIxQzkyNDExMjAwRjlGNjhEIC8qIFdLUHJldmlld0FjdGlvbklkZW50aWZp
ZXJzUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTkzQTI1M0Y1MUM5MjQxMzIwMEY5RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JZGVudGlm
aWVyc1ByaXZhdGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0EyNTNGNDFDOTI0MTMyMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSWRlbnRpZmll
cnNQcml2YXRlLm1tICovOyB9OwogCQk5M0E4OEIzMDFCQzZFOTk3MDBBQkE1QzIgLyogV2ViSGl0
VGVzdFJlc3VsdERhdGEubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0E4OEIyRTFCQzZFOThGMDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3VsdERhdGEu
bW0gKi87IH07CiAJCTkzQTg4QjMzMUJDNkU5Q0QwMEFCQTVDMiAvKiBXZWJIaXRUZXN0UmVzdWx0
RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNB
ODhCMzExQkM2RTlDMDAwQUJBNUMyIC8qIFdlYkhpdFRlc3RSZXN1bHREYXRhLmggKi87IH07CiAJ
CTkzQTg4QjM2MUJDNkVBRDUwMEFCQTVDMiAvKiBXZWJIaXRUZXN0UmVzdWx0RGF0YS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4OEIzNDFCQzZF
QUJBMDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3VsdERhdGEuY3BwICovOyB9OwpAQCAtMzIxOCw2
ICszMjIyLDEwIEBACiAJCTkzOTVFNjhEMUJGNDEwRkQwMEY0OUJDRSAvKiBfV0tFbGVtZW50SW5m
b0ludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0VsZW1lbnRJ
bmZvSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM5QUU3NjUxMzE2
RTk5QzAwQUUwNkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5MzlGNDAxQjE5RkIwQkJDMDAyQjJCNDIgLyogV0tBY3Rp
b25NZW51VHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tBY3Rpb25N
ZW51VHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNBMjUzRUMxQzkyMkUx
RTAwRjlGNjhEIC8qIF9XS1ByZXZpZXdBY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gX1dLUHJldmlld0FjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5M0EyNTNFRTFDOTIyRThFMDBGOUY2OEQgLyogX1dLUHJldmlld0FjdGlvbi5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1ByZXZpZXdBY3Rpb24ubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQTI1M0YyMUM5MjQxMTIwMEY5RjY4RCAvKiBX
S1ByZXZpZXdBY3Rpb25JZGVudGlmaWVyc1ByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV0tQcmV2aWV3QWN0aW9uSWRlbnRpZmllcnNQcml2YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzQTI1M0Y0MUM5MjQxMzIwMEY5RjY4RCAvKiBXS1ByZXZp
ZXdBY3Rpb25JZGVudGlmaWVyc1ByaXZhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXS1ByZXZpZXdBY3Rpb25JZGVudGlmaWVyc1ByaXZhdGUubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQTg4QjJFMUJDNkU5OEYwMEFCQTVDMiAvKiBXZWJI
aXRUZXN0UmVzdWx0RGF0YS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYkhpdFRlc3RSZXN1bHREYXRhLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5M0E4OEIzMTFCQzZFOUMwMDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSGl0VGVzdFJlc3VsdERhdGEuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBODhCMzQxQkM2RUFCQTAwQUJBNUMyIC8qIFdl
YkhpdFRlc3RSZXN1bHREYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYkhpdFRlc3RSZXN1bHREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTQ5NzAsNiArNDk3OCw4IEBACiAJCQkJMzdBNjRFNTQxOEYzOEUzQzAwRUIzMEYxIC8qIF9X
S0lucHV0RGVsZWdhdGUuaCAqLywKIAkJCQkyRDc5MEE5QzFBRDcwNTBEMDBBQjkwQjMgLyogX1dL
TGF5b3V0TW9kZS5oICovLAogCQkJCTkzMjM2MTFEMUIwMTVEQTgwMEZBOTIzMiAvKiBfV0tPdmVy
bGF5U2Nyb2xsYmFyU3R5bGUuaCAqLywKKwkJCQk5M0EyNTNFQzFDOTIyRTFFMDBGOUY2OEQgLyog
X1dLUHJldmlld0FjdGlvbi5oICovLAorCQkJCTkzQTI1M0VFMUM5MjJFOEUwMEY5RjY4RCAvKiBf
V0tQcmV2aWV3QWN0aW9uLm1tICovLAogCQkJCTkzOTVFNjg5MUJGMkMzMzIwMEY0OUJDRSAvKiBf
V0tQcmV2aWV3RWxlbWVudEluZm8uaCAqLywKIAkJCQk5Mzk1RTY4QjFCRjJDMzUyMDBGNDlCQ0Ug
LyogX1dLUHJldmlld0VsZW1lbnRJbmZvLm1tICovLAogCQkJCTkzOTEwNzRFMUJGNkJDNjUwMDhD
MTdBRCAvKiBfV0tQcmV2aWV3RWxlbWVudEluZm9JbnRlcm5hbC5oICovLApAQCAtNTA0MSw2ICs1
MDUxLDggQEAKIAkJCQkxQUZERDMxODE4OTFDQTEyMDAxNTM5NzAgLyogV0tQcmVmZXJlbmNlcy5t
bSAqLywKIAkJCQkxQTNDODg3RjE4QTVBQkFFMDBDNEM5NjIgLyogV0tQcmVmZXJlbmNlc0ludGVy
bmFsLmggKi8sCiAJCQkJN0M4RUIxMTYxOERCNkExOTAwNzkxN0MyIC8qIFdLUHJlZmVyZW5jZXNQ
cml2YXRlLmggKi8sCisJCQkJOTNBMjUzRjIxQzkyNDExMjAwRjlGNjhEIC8qIFdLUHJldmlld0Fj
dGlvbklkZW50aWZpZXJzUHJpdmF0ZS5oICovLAorCQkJCTkzQTI1M0Y0MUM5MjQxMzIwMEY5RjY4
RCAvKiBXS1ByZXZpZXdBY3Rpb25JZGVudGlmaWVyc1ByaXZhdGUubW0gKi8sCiAJCQkJMUExNTg0
MTgxODkwNDRGNTAwMTc2MTZDIC8qIFdLUHJvY2Vzc1Bvb2wuaCAqLywKIAkJCQkxQTE1ODQxNzE4
OTA0NEY1MDAxNzYxNkMgLyogV0tQcm9jZXNzUG9vbC5tbSAqLywKIAkJCQkxQTNDQzE2ODE4OTA3
RUIwMDAxRTZFRDggLyogV0tQcm9jZXNzUG9vbEludGVybmFsLmggKi8sCkBAIC03MzkxLDYgKzc0
MDMsNyBAQAogCQkJCTUxNjMxOTk1MTYyODlBNjMwMEUyMkYwMCAvKiBOZXR3b3JrUHJvY2Vzc01l
c3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTRBOTU0QTE2RTAxNkE0MDA2OERFODIgLyog
TmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
Nzk1NTZFMTYyODc3QjMwMEZBNDNCNiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5LmggaW4gSGVhZGVy
cyAqLywKKwkJCQk5M0EyNTNFRDFDOTIyRTFFMDBGOUY2OEQgLyogX1dLUHJldmlld0FjdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTEzQTE2M0QxNjMwODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQ
cm9jZXNzUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTk1NUE2RjUxQzc5ODZF
MDAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTFGRDE4QjYxNjUxRkJBRDAwREJFMUNFIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5o
IGluIEhlYWRlcnMgKi8sCkBAIC04MDE3LDYgKzgwMzAsNyBAQAogCQkJCTc1QThEMkM4MTg3Q0NG
QUIwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1
QThEMkQ2MTg3RDFDMEUwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUE1NzEwOUYxQUJBMDAyNzAwMkZBQkJFIC8qIFdLV2Vic2l0ZURh
dGFTdG9yZVJlZi5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNBMjUzRjMxQzkyNDExMjAwRjlGNjhE
IC8qIFdLUHJldmlld0FjdGlvbklkZW50aWZpZXJzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUEzQ0MxNjcxODkwNkFDRjAwMUU2RUQ4IC8qIFdLV2ViVmlldy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUFERjU5MUIxODkwNTI4RTAwNDNDMTQ1IC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTJEN0FBRkQ2MThDOTU2QUYwMEE3QUNENCAvKiBXS1dlYlZp
ZXdDb25maWd1cmF0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtODgxMCw2ICs4ODI0
LDcgQEAKIAkJCQlFNDg5RDI4QjFBMEEyREI4MDA3OEMwNkEgLyogTmV0d29ya0NhY2hlQ29kZXJz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0N0QxRTk4MUIwNjQ5RkIwMDI2NzZBOCAvKiBOZXR3
b3JrQ2FjaGVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0MkUwNjE0MUFBNzVCNzAwMEIx
MTY5OSAvKiBOZXR3b3JrQ2FjaGVEYXRhQ29jb2EubW0gaW4gU291cmNlcyAqLywKKwkJCQk5M0Ey
NTNGNTFDOTI0MTMyMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSWRlbnRpZmllcnNQcml2YXRl
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ4OUQyOEQxQTBBMkRCODAwNzhDMDZBIC8qIE5ldHdv
cmtDYWNoZURlY29kZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ4OUQyOEYxQTBBMkRCODAw
NzhDMDZBIC8qIE5ldHdvcmtDYWNoZUVuY29kZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQx
M0Y1OUYxQUMxQUY5RDAwMzQ1MzYwIC8qIE5ldHdvcmtDYWNoZUVudHJ5LmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtOTI4NSw2ICs5MzAwLDcgQEAKIAkJCQlDRENBODVDODEzMkFCQTRFMDBFOTYxREYg
LyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJD
NTRDQzEzMTJENjc0RUUwMDVDNjdCMCAvKiBXS0dlb2xvY2F0aW9uTWFuYWdlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQzA2RjQ0RjEyREJERjNGMDAyRDc4REUgLyogV0tHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTkzQTI1M0VGMUM5MjJFOEUw
MEY5RjY4RCAvKiBfV0tQcmV2aWV3QWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwRTYx
OTkxMkQ2Q0QxMjAwMTJBNzJBIC8qIFdLR2VvbG9jYXRpb25Qb3NpdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwNzI5N0ZBMjFDMTg2QURCMDAzRjA3MzUgLyogV0tVc2VyTWVkaWFQZXJtaXNz
aW9uQ2hlY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDQjRFNTAxOEJCRTA0NDAwMEZDRkM5
IC8qIFdLR2VvbG9jYXRpb25Qcm92aWRlcklPUy5tbSBpbiBTb3VyY2VzICovLAo=
</data>
<flag name="review"
          id="298212"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>