Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php @eval("?>".base64_decode("PGh0bWwgbGFuZz0iZnItZnIiPgoKPG1ldGEgYXV0aG9yPSJuZ2dnIj4KCj..

Decoded Output download

?>b'<html lang="fr-fr">

<meta author="nggg">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta http-equiv="x-ua-compatible" content="IE=edge,chrome=1" />
<meta http-equiv="cleartype" content="on">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<meta name="format-detection" content="telephone=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="MobileOptimized" content="360" />
<meta name="HandheldFriendly" content="true" />

<div class=\'banner\'>
		<div id="parallxWrapper">
<div class="parallxBackground" data-bind="attr: { style:\'-webkit-transform:perspective(1000px) rotateY(\' + relativeMouse.x() + \'deg) rotateX(\' + relativeMouse.y() + \'deg);transform:perspective(1000px) rotateY(\' + relativeMouse.x() + \'deg) rotateX(\' + relativeMouse.y() + \'deg)\' }">
				<div class="parallxLayerLogo"></div>
				<div class="parallxLayerRStar"></div>
				<div class="parallxLayerShooter"></div>
			</div>
		</div>
	</div>
	<div class="container" style="margin-top:60px;">
		<div class="col-md-8">
			<center><h2>[FR/BE/QC] Beverly Hills RP </h2>
			<p class=\'lead\'>[FR/BE/QC] Beverly Hills RP | WhiteListe  -18 | RP Srieux | discord.gg/mGptbEZ</p></center>
		</div>
	</div>

	<section class="pen">
		<div class="stage">
			<div class="element michael"></div>
			<div class="element franklin"></div>
			<div class="element trevor"></div>
		</div>
	</section>
	<section class="credit">
		<p>Propulss par <a href="https://twitter.com/nuggan85" target="_blank" class="credit-link">NuggaN85</a>
	</section>


<style type="text/css">
		html { height:100%; }
		body {
			min-height: 100%;
			height: auto !important;
      margin:0px;
		}
		.banner {
			background-color:  black;
		}
		#parallxWrapper {
			margin:auto;
			height:540px;
			width:1000px;
		}
		.parallxBackground {
			height:100%;
			background-image:url("https://i.imgur.com/tx2ELHt.jpg");
			border-radius:10px;
			padding:10px;
			-webkit-transform-style: preserve-3d;
			transform-style: preserve-3d;
		}
		.parallxLayerLogo {
			width:300px;
			height:225px;
			margin-top:50px;
			margin-left:50px;
			background-image:url("https://i.imgur.com/9A9KbR8.png");
			position:absolute;
			-webkit-transform:translateZ(90px);
			-webkit-transition: all 0.2s;
			transform:translateZ(90px);
			transition: all 0.2s;
		}
		.parallxLayer:hover {
			-webkit-transform:scale(1.05);
			-webkit-transform:translateZ(30px);
			transform:scale(1.05);
			transform:translateZ(30px);
			cursor:pointer;
		}
		.parallxLayerRStar{
			width:100px;
			height:90px;
			margin-left:880px;
			margin-top:450px;
			float:right;
			background-image:url("https://i.imgur.com/Mh37eRt.png");
			position:absolute;
			-webkit-transform:translateZ(20px);
			transform:translateZ(20px);
		}
		.parallxLayerShooter{
			width:1000px;
			height:694px;
			float:right;
			background-image:url("https://i.imgur.com/YWCpfik.png");
			position:absolute;
			-webkit-transform:translateZ(50px);
			transform:translateZ(50px);
		}		
		.parallxLayerRStar:hover {
			-webkit-transform:scale(1.05);
			-webkit-transform:translateZ(30px);
			transform:scale(1.05);
			transform:translateZ(30px);
			cursor:pointer;
		}


h2, .h2 {
    font-size: 30px;
}
h1, h2, h3 {
    margin-bottom: 10px;
    margin-top: 20px;
}

.lead {
    font-weight: 200;
    line-height: 1.4;
    margin-bottom: 20px;
}

body {
    color: #333333;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

.col-md-8 {
  min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}

@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,700);

body {
  padding: 3em 2em;
  font-family: \'Open Sans\', Arial, sans-serif;
  font-size: 1em;
  margin: 0;
  padding: 0;
  line-height: 1;
  background: #111111;
}
.pen {
  max-width: 635px;
  width: 100%;
  margin: 50px auto 0;
  opacity: 0;
  position: relative;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-animation: 1s appear 1 forwards;
  -moz-animation: 1s appear 1 forwards;
  -o-animation: 1s appear 1 forwards;
  animation: 1s appear 1 forwards;
}
.credit {
  display: block;
  max-width: 400px;
  text-align: center;
  margin: 150px auto 0;
  padding: 0;
  font-size: 0.8em;
  color: #f0f0f0;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.9);
}
.credit p a,
.credit a {
  color: white;
  text-decoration: none;
  font-weight: 700;
}
.credit p a:hover,
.credit a:hover,
.credit p a:active,
.credit a:active {
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.4);
  color: white;
}
.credit p a.button,
.credit a.button {
  padding: 6px 12px;
  margin-top: 10px;
  background: #000000;
  border-radius: 3px;
}
.credit p a.button:hover,
.credit a.button:hover {
  background: #2b2b2b;
}
.credit p:last-of-type {
  margin-bottom: 30px;
}
.stage {
  max-width: 635px;
  width: 100%;
  height: 400px;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.element {
  background: green;
  width: 202px;
  -webkit-transform-origin: 50% 50%;
  height: inherit;
  margin: 0 7px 0 0;
  display: inline-block;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.element.active {
  width: 282px;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.element.inactive {
  width: 162px;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  opacity: 0.4;
}
.element.franklin {
  background: url(\'http://www.eduardmayer.de/codepen-css-resources/images/gta/franklin.jpeg\') 45% 0 no-repeat;
  background-size: cover;
}
.element.michael {
  background: url(\'http://www.eduardmayer.de/codepen-css-resources/images/gta/michael.jpeg\') 45% 0 no-repeat;
  background-size: cover;
}
.element.trevor {
  background: url(\'http://www.eduardmayer.de/codepen-css-resources/images/gta/trevor.jpeg\') 45% 0 no-repeat;
  background-size: cover;
}
.element:last-of-type {
  margin: 0;
}
@media all and (min-width: 900px) {
  .pen {
    max-width: 890px;
  }
  .element {
    width: 286px;
  }
  .element.inactive {
    width: 246px;
  }
  .element.active {
    width: 366px;
  }
  .stage {
    max-width: 890px;
    height: 600px;
  }
}
@media all and (max-width: 660px) {
  .pen {
    max-width: 335px;
  }
  .element {
    width: 101px;
  }
  .element.inactive {
    width: 61px;
  }
  .element.active {
    width: 181px;
  }
  .stage {
    max-width: 335px;
  }
}
@-webkit-keyframes appear {
  15% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes appear {
  15% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes appear {
  15% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes appear {
  15% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
</style>

<script data-cfasync="false">
var parallx = null;
var demoCount = 0;
		function Parallx() {
			var self = this;
			$("body").mousemove(function(e) {

					parallax.mouseX(e.pageX);
					parallax.mouseY(e.pageY);	

			});


			self.sensitivityMultiplier = ko.observable(0.03);
			self.wrapperOffset = $(\'#parallxWrapper\').offset();
			self.wrapperCenter = {
				x:ko.computed(function() { return self.wrapperOffset.left + ($(\'#parallxWrapper\').width()/2) }, this),
				y:ko.computed(function() { return self.wrapperOffset.top + ($(\'#parallxWrapper\').height()/2) }, this)
			};
			self.mouseX = ko.observable(0);
			self.mouseY = ko.observable(0);
			self.relativeMouse = { 
				x:ko.computed(function() { return (self.mouseX() - self.wrapperCenter.x()) * self.sensitivityMultiplier() }, this),
				y:ko.computed(function() { return ((self.mouseY() - self.wrapperCenter.y()) * -1) * self.sensitivityMultiplier()}, this) 
			};
			self.origin = {
				x:ko.computed(function() { return ((self.mouseX())/$( window ).width()) * 100 }, this),
				y:ko.computed(function() { return ((self.mouseY())/$( window ).height()) * 100 }, this) 
			};
		};

		$(document).ready(function() {
			parallax = new Parallx();
			ko.applyBindings(parallax);

			setInterval(function() {
				if(demoCount < 130){
					parallax.mouseX(parallax.mouseX() + 10);
					demoCount+=1;
				}
			}, 40);


		});
		
		    $(\'.element\').each(function() {
        $(this).mouseover(function() {
            $(this).addClass(\'active\');
          $(\'.stage\').children(\'.element\').not(\'.active\').addClass(\'inactive\');
        });
        $(this).mouseleave(function() {
            $(this).removeClass(\'active\');
            $(\'.stage\').children(\'.element\').not(\'.active\').removeClass(\'inactive\');
        });
    });
</script>'

Did this file decode correctly?

Original Code

<?php @eval("?>".base64_decode("PGh0bWwgbGFuZz0iZnItZnIiPgoKPG1ldGEgYXV0aG9yPSJuZ2dnIj4KCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPgoKPG1ldGEgaHR0cC1lcXVpdj0ieC11YS1jb21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlLGNocm9tZT0xIiAvPgo8bWV0YSBodHRwLWVxdWl2PSJjbGVhcnR5cGUiIGNvbnRlbnQ9Im9uIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAsIG1heGltdW0tc2NhbGU9MS4wLCB1c2VyLXNjYWxhYmxlPTAiIC8+CjxtZXRhIG5hbWU9ImZvcm1hdC1kZXRlY3Rpb24iIGNvbnRlbnQ9InRlbGVwaG9uZT15ZXMiIC8+CjxtZXRhIG5hbWU9Im1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyIgLz4KPG1ldGEgbmFtZT0iYXBwbGUtbW9iaWxlLXdlYi1hcHAtY2FwYWJsZSIgY29udGVudD0ieWVzIiAvPgo8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjM2MCIgLz4KPG1ldGEgbmFtZT0iSGFuZGhlbGRGcmllbmRseSIgY29udGVudD0idHJ1ZSIgLz4KCjxkaXYgY2xhc3M9J2Jhbm5lcic+CgkJPGRpdiBpZD0icGFyYWxseFdyYXBwZXIiPgo8ZGl2IGNsYXNzPSJwYXJhbGx4QmFja2dyb3VuZCIgZGF0YS1iaW5kPSJhdHRyOiB7IHN0eWxlOictd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoJyArIHJlbGF0aXZlTW91c2UueCgpICsgJ2RlZykgcm90YXRlWCgnICsgcmVsYXRpdmVNb3VzZS55KCkgKyAnZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKCcgKyByZWxhdGl2ZU1vdXNlLngoKSArICdkZWcpIHJvdGF0ZVgoJyArIHJlbGF0aXZlTW91c2UueSgpICsgJ2RlZyknIH0iPgoJCQkJPGRpdiBjbGFzcz0icGFyYWxseExheWVyTG9nbyI+PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJwYXJhbGx4TGF5ZXJSU3RhciI+PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJwYXJhbGx4TGF5ZXJTaG9vdGVyIj48L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9ImNvbnRhaW5lciIgc3R5bGU9Im1hcmdpbi10b3A6NjBweDsiPgoJCTxkaXYgY2xhc3M9ImNvbC1tZC04Ij4KCQkJPGNlbnRlcj48aDI+W0ZSL0JFL1FDXSBCZXZlcmx5IEhpbGxzIFJQIDwvaDI+CgkJCTxwIGNsYXNzPSdsZWFkJz5bRlIvQkUvUUNdIEJldmVybHkgSGlsbHMgUlAgfCBXaGl0ZUxpc3RlIOKblO+4jyAtMTggfCBSUCBTw6lyaWV1eCB8IGRpc2NvcmQuZ2cvbUdwdGJFWjwvcD48L2NlbnRlcj4KCQk8L2Rpdj4KCTwvZGl2PgoKCTxzZWN0aW9uIGNsYXNzPSJwZW4iPgoJCTxkaXYgY2xhc3M9InN0YWdlIj4KCQkJPGRpdiBjbGFzcz0iZWxlbWVudCBtaWNoYWVsIj48L2Rpdj4KCQkJPGRpdiBjbGFzcz0iZWxlbWVudCBmcmFua2xpbiI+PC9kaXY+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnQgdHJldm9yIj48L2Rpdj4KCQk8L2Rpdj4KCTwvc2VjdGlvbj4KCTxzZWN0aW9uIGNsYXNzPSJjcmVkaXQiPgoJCTxwPlByb3B1bHNzw6kgcGFyIDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vbnVnZ2FuODUiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iY3JlZGl0LWxpbmsiPk51Z2dhTjg1PC9hPgoJPC9zZWN0aW9uPgoKCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkJaHRtbCB7IGhlaWdodDoxMDAlOyB9CgkJYm9keSB7CgkJCW1pbi1oZWlnaHQ6IDEwMCU7CgkJCWhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgICBtYXJnaW46MHB4OwoJCX0KCQkuYmFubmVyIHsKCQkJYmFja2dyb3VuZC1jb2xvcjogIGJsYWNrOwoJCX0KCQkjcGFyYWxseFdyYXBwZXIgewoJCQltYXJnaW46YXV0bzsKCQkJaGVpZ2h0OjU0MHB4OwoJCQl3aWR0aDoxMDAwcHg7CgkJfQoJCS5wYXJhbGx4QmFja2dyb3VuZCB7CgkJCWhlaWdodDoxMDAlOwoJCQliYWNrZ3JvdW5kLWltYWdlOnVybCgiaHR0cHM6Ly9pLmltZ3VyLmNvbS90eDJFTEh0LmpwZyIpOwoJCQlib3JkZXItcmFkaXVzOjEwcHg7CgkJCXBhZGRpbmc6MTBweDsKCQkJLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOwoJCQl0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOwoJCX0KCQkucGFyYWxseExheWVyTG9nbyB7CgkJCXdpZHRoOjMwMHB4OwoJCQloZWlnaHQ6MjI1cHg7CgkJCW1hcmdpbi10b3A6NTBweDsKCQkJbWFyZ2luLWxlZnQ6NTBweDsKCQkJYmFja2dyb3VuZC1pbWFnZTp1cmwoImh0dHBzOi8vaS5pbWd1ci5jb20vOUE5S2JSOC5wbmciKTsKCQkJcG9zaXRpb246YWJzb2x1dGU7CgkJCS13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooOTBweCk7CgkJCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7CgkJCXRyYW5zZm9ybTp0cmFuc2xhdGVaKDkwcHgpOwoJCQl0cmFuc2l0aW9uOiBhbGwgMC4yczsKCQl9CgkJLnBhcmFsbHhMYXllcjpob3ZlciB7CgkJCS13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMDUpOwoJCQktd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDMwcHgpOwoJCQl0cmFuc2Zvcm06c2NhbGUoMS4wNSk7CgkJCXRyYW5zZm9ybTp0cmFuc2xhdGVaKDMwcHgpOwoJCQljdXJzb3I6cG9pbnRlcjsKCQl9CgkJLnBhcmFsbHhMYXllclJTdGFyewoJCQl3aWR0aDoxMDBweDsKCQkJaGVpZ2h0OjkwcHg7CgkJCW1hcmdpbi1sZWZ0Ojg4MHB4OwoJCQltYXJnaW4tdG9wOjQ1MHB4OwoJCQlmbG9hdDpyaWdodDsKCQkJYmFja2dyb3VuZC1pbWFnZTp1cmwoImh0dHBzOi8vaS5pbWd1ci5jb20vTWgzN2VSdC5wbmciKTsKCQkJcG9zaXRpb246YWJzb2x1dGU7CgkJCS13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMjBweCk7CgkJCXRyYW5zZm9ybTp0cmFuc2xhdGVaKDIwcHgpOwoJCX0KCQkucGFyYWxseExheWVyU2hvb3RlcnsKCQkJd2lkdGg6MTAwMHB4OwoJCQloZWlnaHQ6Njk0cHg7CgkJCWZsb2F0OnJpZ2h0OwoJCQliYWNrZ3JvdW5kLWltYWdlOnVybCgiaHR0cHM6Ly9pLmltZ3VyLmNvbS9ZV0NwZmlrLnBuZyIpOwoJCQlwb3NpdGlvbjphYnNvbHV0ZTsKCQkJLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWig1MHB4KTsKCQkJdHJhbnNmb3JtOnRyYW5zbGF0ZVooNTBweCk7CgkJfQkJCgkJLnBhcmFsbHhMYXllclJTdGFyOmhvdmVyIHsKCQkJLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4wNSk7CgkJCS13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMzBweCk7CgkJCXRyYW5zZm9ybTpzY2FsZSgxLjA1KTsKCQkJdHJhbnNmb3JtOnRyYW5zbGF0ZVooMzBweCk7CgkJCWN1cnNvcjpwb2ludGVyOwoJCX0KCgpoMiwgLmgyIHsKICAgIGZvbnQtc2l6ZTogMzBweDsKfQpoMSwgaDIsIGgzIHsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICBtYXJnaW4tdG9wOiAyMHB4Owp9CgoubGVhZCB7CiAgICBmb250LXdlaWdodDogMjAwOwogICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KCmJvZHkgewogICAgY29sb3I6ICMzMzMzMzM7CiAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsKfQoKLmNvbC1tZC04IHsKICBtaW4taGVpZ2h0OiAxcHg7CiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7CiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Owp9CgpAaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjQwMCw2MDAsNzAwKTsKCmJvZHkgewogIHBhZGRpbmc6IDNlbSAyZW07CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBBcmlhbCwgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDFlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKICBsaW5lLWhlaWdodDogMTsKICBiYWNrZ3JvdW5kOiAjMTExMTExOwp9Ci5wZW4gewogIG1heC13aWR0aDogNjM1cHg7CiAgd2lkdGg6IDEwMCU7CiAgbWFyZ2luOiA1MHB4IGF1dG8gMDsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7CiAgLXdlYmtpdC1hbmltYXRpb246IDFzIGFwcGVhciAxIGZvcndhcmRzOwogIC1tb3otYW5pbWF0aW9uOiAxcyBhcHBlYXIgMSBmb3J3YXJkczsKICAtby1hbmltYXRpb246IDFzIGFwcGVhciAxIGZvcndhcmRzOwogIGFuaW1hdGlvbjogMXMgYXBwZWFyIDEgZm9yd2FyZHM7Cn0KLmNyZWRpdCB7CiAgZGlzcGxheTogYmxvY2s7CiAgbWF4LXdpZHRoOiA0MDBweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgbWFyZ2luOiAxNTBweCBhdXRvIDA7CiAgcGFkZGluZzogMDsKICBmb250LXNpemU6IDAuOGVtOwogIGNvbG9yOiAjZjBmMGYwOwogIHRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC45KTsKfQouY3JlZGl0IHAgYSwKLmNyZWRpdCBhIHsKICBjb2xvcjogd2hpdGU7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KLmNyZWRpdCBwIGE6aG92ZXIsCi5jcmVkaXQgYTpob3ZlciwKLmNyZWRpdCBwIGE6YWN0aXZlLAouY3JlZGl0IGE6YWN0aXZlIHsKICB0ZXh0LXNoYWRvdzogMCAwIDVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7CiAgY29sb3I6IHdoaXRlOwp9Ci5jcmVkaXQgcCBhLmJ1dHRvbiwKLmNyZWRpdCBhLmJ1dHRvbiB7CiAgcGFkZGluZzogNnB4IDEycHg7CiAgbWFyZ2luLXRvcDogMTBweDsKICBiYWNrZ3JvdW5kOiAjMDAwMDAwOwogIGJvcmRlci1yYWRpdXM6IDNweDsKfQouY3JlZGl0IHAgYS5idXR0b246aG92ZXIsCi5jcmVkaXQgYS5idXR0b246aG92ZXIgewogIGJhY2tncm91bmQ6ICMyYjJiMmI7Cn0KLmNyZWRpdCBwOmxhc3Qtb2YtdHlwZSB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQouc3RhZ2UgewogIG1heC13aWR0aDogNjM1cHg7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiA0MDBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7Cn0KLmVsZW1lbnQgewogIGJhY2tncm91bmQ6IGdyZWVuOwogIHdpZHRoOiAyMDJweDsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgaGVpZ2h0OiBpbmhlcml0OwogIG1hcmdpbjogMCA3cHggMCAwOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7Cn0KLmVsZW1lbnQuYWN0aXZlIHsKICB3aWR0aDogMjgycHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7CiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7CiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0Owp9Ci5lbGVtZW50LmluYWN0aXZlIHsKICB3aWR0aDogMTYycHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7CiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7CiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0OwogIG9wYWNpdHk6IDAuNDsKfQouZWxlbWVudC5mcmFua2xpbiB7CiAgYmFja2dyb3VuZDogdXJsKCdodHRwOi8vd3d3LmVkdWFyZG1heWVyLmRlL2NvZGVwZW4tY3NzLXJlc291cmNlcy9pbWFnZXMvZ3RhL2ZyYW5rbGluLmpwZWcnKSA0NSUgMCBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKfQouZWxlbWVudC5taWNoYWVsIHsKICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHA6Ly93d3cuZWR1YXJkbWF5ZXIuZGUvY29kZXBlbi1jc3MtcmVzb3VyY2VzL2ltYWdlcy9ndGEvbWljaGFlbC5qcGVnJykgNDUlIDAgbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7Cn0KLmVsZW1lbnQudHJldm9yIHsKICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHA6Ly93d3cuZWR1YXJkbWF5ZXIuZGUvY29kZXBlbi1jc3MtcmVzb3VyY2VzL2ltYWdlcy9ndGEvdHJldm9yLmpwZWcnKSA0NSUgMCBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKfQouZWxlbWVudDpsYXN0LW9mLXR5cGUgewogIG1hcmdpbjogMDsKfQpAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA5MDBweCkgewogIC5wZW4gewogICAgbWF4LXdpZHRoOiA4OTBweDsKICB9CiAgLmVsZW1lbnQgewogICAgd2lkdGg6IDI4NnB4OwogIH0KICAuZWxlbWVudC5pbmFjdGl2ZSB7CiAgICB3aWR0aDogMjQ2cHg7CiAgfQogIC5lbGVtZW50LmFjdGl2ZSB7CiAgICB3aWR0aDogMzY2cHg7CiAgfQogIC5zdGFnZSB7CiAgICBtYXgtd2lkdGg6IDg5MHB4OwogICAgaGVpZ2h0OiA2MDBweDsKICB9Cn0KQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjYwcHgpIHsKICAucGVuIHsKICAgIG1heC13aWR0aDogMzM1cHg7CiAgfQogIC5lbGVtZW50IHsKICAgIHdpZHRoOiAxMDFweDsKICB9CiAgLmVsZW1lbnQuaW5hY3RpdmUgewogICAgd2lkdGg6IDYxcHg7CiAgfQogIC5lbGVtZW50LmFjdGl2ZSB7CiAgICB3aWR0aDogMTgxcHg7CiAgfQogIC5zdGFnZSB7CiAgICBtYXgtd2lkdGg6IDMzNXB4OwogIH0KfQpALXdlYmtpdC1rZXlmcmFtZXMgYXBwZWFyIHsKICAxNSUgewogICAgb3BhY2l0eTogMDsKICB9CiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQpALW1vei1rZXlmcmFtZXMgYXBwZWFyIHsKICAxNSUgewogICAgb3BhY2l0eTogMDsKICB9CiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQpALW8ta2V5ZnJhbWVzIGFwcGVhciB7CiAgMTUlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQogIDEwMCUgewogICAgb3BhY2l0eTogMTsKICB9Cn0KQGtleWZyYW1lcyBhcHBlYXIgewogIDE1JSB7CiAgICBvcGFjaXR5OiAwOwogIH0KICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgfQp9Cjwvc3R5bGU+Cgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiPgp2YXIgcGFyYWxseCA9IG51bGw7CnZhciBkZW1vQ291bnQgPSAwOwoJCWZ1bmN0aW9uIFBhcmFsbHgoKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJJCgiYm9keSIpLm1vdXNlbW92ZShmdW5jdGlvbihlKSB7CgoJCQkJCXBhcmFsbGF4Lm1vdXNlWChlLnBhZ2VYKTsKCQkJCQlwYXJhbGxheC5tb3VzZVkoZS5wYWdlWSk7CQoKCQkJfSk7CgoKCQkJc2VsZi5zZW5zaXRpdml0eU11bHRpcGxpZXIgPSBrby5vYnNlcnZhYmxlKDAuMDMpOwoJCQlzZWxmLndyYXBwZXJPZmZzZXQgPSAkKCcjcGFyYWxseFdyYXBwZXInKS5vZmZzZXQoKTsKCQkJc2VsZi53cmFwcGVyQ2VudGVyID0gewoJCQkJeDprby5jb21wdXRlZChmdW5jdGlvbigpIHsgcmV0dXJuIHNlbGYud3JhcHBlck9mZnNldC5sZWZ0ICsgKCQoJyNwYXJhbGx4V3JhcHBlcicpLndpZHRoKCkvMikgfSwgdGhpcyksCgkJCQl5OmtvLmNvbXB1dGVkKGZ1bmN0aW9uKCkgeyByZXR1cm4gc2VsZi53cmFwcGVyT2Zmc2V0LnRvcCArICgkKCcjcGFyYWxseFdyYXBwZXInKS5oZWlnaHQoKS8yKSB9LCB0aGlzKQoJCQl9OwoJCQlzZWxmLm1vdXNlWCA9IGtvLm9ic2VydmFibGUoMCk7CgkJCXNlbGYubW91c2VZID0ga28ub2JzZXJ2YWJsZSgwKTsKCQkJc2VsZi5yZWxhdGl2ZU1vdXNlID0geyAKCQkJCXg6a28uY29tcHV0ZWQoZnVuY3Rpb24oKSB7IHJldHVybiAoc2VsZi5tb3VzZVgoKSAtIHNlbGYud3JhcHBlckNlbnRlci54KCkpICogc2VsZi5zZW5zaXRpdml0eU11bHRpcGxpZXIoKSB9LCB0aGlzKSwKCQkJCXk6a28uY29tcHV0ZWQoZnVuY3Rpb24oKSB7IHJldHVybiAoKHNlbGYubW91c2VZKCkgLSBzZWxmLndyYXBwZXJDZW50ZXIueSgpKSAqIC0xKSAqIHNlbGYuc2Vuc2l0aXZpdHlNdWx0aXBsaWVyKCl9LCB0aGlzKSAKCQkJfTsKCQkJc2VsZi5vcmlnaW4gPSB7CgkJCQl4OmtvLmNvbXB1dGVkKGZ1bmN0aW9uKCkgeyByZXR1cm4gKChzZWxmLm1vdXNlWCgpKS8kKCB3aW5kb3cgKS53aWR0aCgpKSAqIDEwMCB9LCB0aGlzKSwKCQkJCXk6a28uY29tcHV0ZWQoZnVuY3Rpb24oKSB7IHJldHVybiAoKHNlbGYubW91c2VZKCkpLyQoIHdpbmRvdyApLmhlaWdodCgpKSAqIDEwMCB9LCB0aGlzKSAKCQkJfTsKCQl9OwoKCQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKCQkJcGFyYWxsYXggPSBuZXcgUGFyYWxseCgpOwoJCQlrby5hcHBseUJpbmRpbmdzKHBhcmFsbGF4KTsKCgkJCXNldEludGVydmFsKGZ1bmN0aW9uKCkgewoJCQkJaWYoZGVtb0NvdW50IDwgMTMwKXsKCQkJCQlwYXJhbGxheC5tb3VzZVgocGFyYWxsYXgubW91c2VYKCkgKyAxMCk7CgkJCQkJZGVtb0NvdW50Kz0xOwoJCQkJfQoJCQl9LCA0MCk7CgoKCQl9KTsKCQkKCQkgICAgJCgnLmVsZW1lbnQnKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICQodGhpcykubW91c2VvdmVyKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICQoJy5zdGFnZScpLmNoaWxkcmVuKCcuZWxlbWVudCcpLm5vdCgnLmFjdGl2ZScpLmFkZENsYXNzKCdpbmFjdGl2ZScpOwogICAgICAgIH0pOwogICAgICAgICQodGhpcykubW91c2VsZWF2ZShmdW5jdGlvbigpIHsKICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7CiAgICAgICAgICAgICQoJy5zdGFnZScpLmNoaWxkcmVuKCcuZWxlbWVudCcpLm5vdCgnLmFjdGl2ZScpLnJlbW92ZUNsYXNzKCdpbmFjdGl2ZScpOwogICAgICAgIH0pOwogICAgfSk7Cjwvc2NyaXB0Pg=="));


Function Calls

base64_decode 1

Variables

None

Stats

MD5 0c5b63b2c27a71d8c3d2a0d1a2b1c6af
Eval Count 1
Decode Time 104 ms