<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ekatrafoundation.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jayprakash12345</id>
	<title>Ekatra Foundation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ekatrafoundation.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jayprakash12345"/>
	<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/wiki/Special:Contributions/Jayprakash12345"/>
	<updated>2026-04-19T19:57:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mobile.js&amp;diff=65998</id>
		<title>MediaWiki:Mobile.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mobile.js&amp;diff=65998"/>
		<updated>2023-10-26T15:16:07Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* All JavaScript here will be loaded for users of the mobile site */&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if (window.matchMedia(&amp;quot;(max-width: 768px)&amp;quot;).matches) {&lt;br /&gt;
		if( mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;minerva&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;mobileaction&#039;, &#039;toggle_view_mobile&#039;);&lt;br /&gt;
			&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
		$(&amp;quot;#footer-places-desktop-toggle&amp;quot;).remove();&lt;br /&gt;
	} else {&lt;br /&gt;
		if(  mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;vector&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;mobileaction&#039;, &#039;toggle_view_desktop&#039;);&lt;br /&gt;
&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65997</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65997"/>
		<updated>2023-10-26T15:07:39Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if (window.matchMedia(&amp;quot;(max-width: 768px)&amp;quot;).matches) {&lt;br /&gt;
		if( mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;minerva&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;mobileaction&#039;, &#039;toggle_view_mobile&#039;);&lt;br /&gt;
			&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if(  mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;vector&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;mobileaction&#039;, &#039;toggle_view_desktop&#039;);&lt;br /&gt;
&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if( mw.config.get(&#039;wgIsMainPage&#039;) ){&lt;br /&gt;
		$(&#039;#firstHeading&#039;).remove();&lt;br /&gt;
		&lt;br /&gt;
		var mainpageLeft = $(&amp;quot;.mainpage-left&amp;quot;);&lt;br /&gt;
		var mainpageRight = $(&amp;quot;.mainpage-right&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mainpageLeft.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
		mainpageRight.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
		function animateLeft(){&lt;br /&gt;
			mainpageRight.animate({&#039;left&#039;: &#039;15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageRight.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateLeft() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateLeft();&lt;br /&gt;
		&lt;br /&gt;
		function animateRight(){&lt;br /&gt;
			mainpageLeft.animate({&#039;left&#039;: &#039;-15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageLeft.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateRight() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateRight();&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; ).length &amp;gt; 1 ){&lt;br /&gt;
		var tempPageName = mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; )[0];&lt;br /&gt;
		var tempLink =&#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&#039; +  tempPageName + &#039;&amp;quot;&amp;gt;&#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
		$(&amp;quot;#top&amp;quot;).after(  $( &#039;&amp;lt;p&amp;gt;&#039;).css( &#039;font-size&#039;, &#039;17px&#039;).html( tempLink ) );&lt;br /&gt;
	}&lt;br /&gt;
	if( mw.config.get(&#039;wgUserName&#039;) === null  ){&lt;br /&gt;
		$(&#039;body&#039;).bind(&#039;cut copy&#039;, function(e) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
	} else {&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onmousedown&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onselectstart&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:OCR.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:PoemButtons.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( $(&amp;quot;.wikiaudioplayer&amp;quot;).length ){&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:Green-audio-player.min.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;, &#039;text/css&#039;);&lt;br /&gt;
		$.when(&lt;br /&gt;
		    mw.loader.getScript( &#039;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		.then(&lt;br /&gt;
		    function () {&lt;br /&gt;
				GreenAudioPlayer.init({&lt;br /&gt;
				    selector: &#039;.wikiaudioplayer&#039;,&lt;br /&gt;
				    stopOthersOnPlay: true&lt;br /&gt;
				});&lt;br /&gt;
				$( &amp;quot;.wikiaudioplayer &amp;gt; audio&amp;quot;).css(&amp;quot;display&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
		    },&lt;br /&gt;
		    function ( e ) {&lt;br /&gt;
		        mw.log.error( e.message );&lt;br /&gt;
		    }&lt;br /&gt;
		);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	var sidebarCategory = $(&amp;quot;#p-Categories &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	var sidebarAuthor = $(&amp;quot;#p-Authors &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	sidebarCategory.empty();&lt;br /&gt;
	sidebarAuthor.empty();&lt;br /&gt;
&lt;br /&gt;
	mw.loader.using( [ &#039;mediawiki.api&#039; ], function(){&lt;br /&gt;
		var sel1 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarCategory );&lt;br /&gt;
		var sel2 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarAuthor );&lt;br /&gt;
		sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
		sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
		// For category Categories&lt;br /&gt;
		catMemberParam1 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Categories on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam1, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel1.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		// For category Author&lt;br /&gt;
		catMemberParam2 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Authors on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam2, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel2.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
	} );&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Long list into col&lt;br /&gt;
$( document ).ready( function(){&lt;br /&gt;
&lt;br /&gt;
	var longList = $(&amp;quot;#longList&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;),&lt;br /&gt;
		dlElements = longList.children().filter(&amp;quot;dl&amp;quot;),&lt;br /&gt;
		dlElementsLength = dlElements.length;&lt;br /&gt;
	&lt;br /&gt;
	var list1 = [],&lt;br /&gt;
		list2 = [];&lt;br /&gt;
	&lt;br /&gt;
	var count = 0;&lt;br /&gt;
	dlElements.each( function(index, ele){&lt;br /&gt;
		if( count &amp;lt; dlElementsLength/2 ){&lt;br /&gt;
			list1.push(ele);&lt;br /&gt;
			list1.push( $(ele).next() );&lt;br /&gt;
		} else {&lt;br /&gt;
			list2.push(ele);&lt;br /&gt;
			list2.push( $(ele).next() );&lt;br /&gt;
		}&lt;br /&gt;
		count = count + 1;&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.empty();&lt;br /&gt;
	&lt;br /&gt;
	var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list1.forEach( function(value, index){&lt;br /&gt;
		leftDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list2.forEach( function(value, index){&lt;br /&gt;
		rightDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.append(leftDiv, rightDiv );&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function() {&lt;br /&gt;
	var divide2cols = $(&amp;quot;#divide2cols&amp;quot;);&lt;br /&gt;
	if( divide2cols.length ){&lt;br /&gt;
		var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var parentHieght = divide2cols.height()/2;&lt;br /&gt;
		divide2cols.children().filter(&amp;quot;dl&amp;quot;).each(function() {&lt;br /&gt;
			console.log( $(this).offset().top , parentHieght );&lt;br /&gt;
			if ( $(this).offset().top &amp;gt; parentHieght ) {&lt;br /&gt;
				rightDiv.append( $(this), $(this).next() );&lt;br /&gt;
			} else {&lt;br /&gt;
				leftDiv.append( $(this), $(this).next() );&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		divide2cols.before( $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;).append(leftDiv, rightDiv) );&lt;br /&gt;
		divide2cols.remove();&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	// toggled by toggle button. also determines which toggle button image to use&lt;br /&gt;
	var useCustom = false;&lt;br /&gt;
	&lt;br /&gt;
	// toggleImgs[0] to switch to custom, toggleImgs[1] to revert to default&lt;br /&gt;
	var toggleImgs = [&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_search_black_24px.svg&#039;,&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_youtube_searched_for_black_24px.svg&#039;&lt;br /&gt;
	];&lt;br /&gt;
	var zoomInImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_in_black_24px.svg&#039;;&lt;br /&gt;
	var zoomOutImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_out_black_24px.svg&#039;;&lt;br /&gt;
	&lt;br /&gt;
	// create DOM elements&lt;br /&gt;
	$(&#039;#content&#039;).prepend(&#039;&amp;lt;div id=&amp;quot;zoomButtons&amp;quot; style=&amp;quot;z-index: 9999;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomInIcon&amp;quot; src=&amp;quot;&#039; + zoomInImg + &#039;&amp;quot; alt=&amp;quot;zoom in&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomOutIcon&amp;quot; src=&amp;quot;&#039; + zoomOutImg + &#039;&amp;quot; alt=&amp;quot;zoom out&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;toggleButton&amp;quot; src=&amp;quot;&#039; + toggleImgs[+ useCustom] + &#039;&amp;quot; alt=&amp;quot;toggle zoom&amp;quot;&amp;gt;&amp;amp;nbsp&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
	$(&#039;#zoomButtons&#039;).css({&#039;float&#039;: &#039;right&#039;});&lt;br /&gt;
	&lt;br /&gt;
	// find DOM elements used later&lt;br /&gt;
	var $bodyContent = $(&#039;.mw-body-content&#039;);&lt;br /&gt;
	var $toggleButton = $(&#039;#toggleButton&#039;);&lt;br /&gt;
	&lt;br /&gt;
	// sizes[0] is default, sizes[1] is custom&lt;br /&gt;
	var sizes = [parseFloat($(&#039;.mw-body-content&#039;).css(&#039;font-size&#039;))];&lt;br /&gt;
	// default custom zoom of 2&lt;br /&gt;
	sizes[1] = sizes[0] + 2;&lt;br /&gt;
	&lt;br /&gt;
	// the + converts bool to 0 or 1 to use as array index&lt;br /&gt;
	function updateSize() {&lt;br /&gt;
		$bodyContent.css({&#039;font-size&#039;:(sizes[+ useCustom] + &#039;pt&#039;)});&lt;br /&gt;
	}&lt;br /&gt;
	function toggle() {&lt;br /&gt;
		useCustom = !useCustom;&lt;br /&gt;
		$toggleButton.attr(&#039;src&#039;,toggleImgs[+ useCustom]);&lt;br /&gt;
		updateSize();&lt;br /&gt;
	}&lt;br /&gt;
	function zoom(dif) {&lt;br /&gt;
		sizes[1] += dif;&lt;br /&gt;
		if (useCustom) {&lt;br /&gt;
			updateSize();&lt;br /&gt;
		} else {&lt;br /&gt;
			toggle();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomInIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom +&amp;quot;);&lt;br /&gt;
		zoom(1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomOutIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom -&amp;quot;);&lt;br /&gt;
		zoom(-1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#toggleButton&#039; ).on( &#039;click&#039;, toggle );&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Convert numbers between numeral systems.&lt;br /&gt;
 *&lt;br /&gt;
 * Dependencies: jquery.cookie, mediawiki.util, mediawiki.user&lt;br /&gt;
 * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-Numerakri.js&lt;br /&gt;
 * Revision: 2019-01-11&lt;br /&gt;
 *&lt;br /&gt;
 * @copyright 2012 Daniel Friesen&lt;br /&gt;
 * @copyright 2012 Siddhartha Ghai&lt;br /&gt;
 * @copyright 2014 Bhawani Gautam&lt;br /&gt;
 * @copyright 2012-2018 Timo Tijhof&lt;br /&gt;
 * @license &amp;lt;https://opensource.org/licenses/MIT&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
/*jshint browser:true, unused:true, forin:false */&lt;br /&gt;
/*global $, mw */&lt;br /&gt;
(function () {&lt;br /&gt;
	&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
	var msgs = {&lt;br /&gt;
			&#039;option-default&#039;: {&lt;br /&gt;
				en: &#039;Default&#039;,&lt;br /&gt;
				bho: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				gu: &#039;ડિફોલ્ટ&#039;,&lt;br /&gt;
				hi: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				ne: &#039;डिफल्ट&#039;,&lt;br /&gt;
				pa: &#039;ਅਸਲ ਦਿੱਖ&#039;,&lt;br /&gt;
				sa: &#039;उत्सर्गः&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-arabic&#039;: {&lt;br /&gt;
				en: &#039;1 2 3&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-devanagari&#039;: {&lt;br /&gt;
				en: &#039;Devanagari&#039;,&lt;br /&gt;
				bho: &#039;१२३&#039;,&lt;br /&gt;
				hi: &#039;१२३&#039;,&lt;br /&gt;
				ne: &#039;१२३&#039;,&lt;br /&gt;
				sa: &#039;१२३&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gujarati&#039;: {&lt;br /&gt;
				en: &#039;૧ ૨ ૩&#039;,&lt;br /&gt;
				gu: &#039;૧ ૨ ૩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gurmukhi&#039;: {&lt;br /&gt;
				en: &#039;Gurmukhi&#039;,&lt;br /&gt;
				pa: &#039;੧੨੩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-url&#039;: {&lt;br /&gt;
				en: &#039;//www.mediawiki.org/wiki/MediaWiki_talk:Gadget-Numerakri.js&#039;,&lt;br /&gt;
				gu: &#039;//gu.wikipedia.org/wiki/વિકિસૂક્તિઃઅંક_પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;//hi.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				ne: &#039;//ne.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				pa: &#039;//pa.wikipedia.org/wiki/ਵਿਕੀਪੀਡੀਆ:ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;//sa.wikipedia.org/wiki/विकिपीडिया:अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-text&#039;: {&lt;br /&gt;
				en: &#039;Convert numerals&#039;,&lt;br /&gt;
				bho: &#039;अंक बदलाव&#039;,&lt;br /&gt;
				gu: &#039;અંક પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				ne: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-tooltip&#039;: {&lt;br /&gt;
				en: &#039;Convert between Arabic and Devanagari numerals&#039;,&lt;br /&gt;
				bho: &#039;नागरी आ अरबी अंकों में अदला-बदली करीं&#039;,&lt;br /&gt;
				gu: &#039;ગુજરાતી અને અંગ્રેજી અંકોમાં પરિવર્તન કરો&#039;,&lt;br /&gt;
				hi: &#039;नागरी और अरबी अंकों में परिवर्तन करें&#039;,&lt;br /&gt;
				ne: &#039;देवनागरी र अरबी अंकहरूमा परिवर्तन गर्नुहोस्&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕਾਂ ਨੂ ਗੁਰਮੁਖੀ ਤੇ ਅਰਬੀ ਵਿਚ ਬਦਲੇਂ&#039;,&lt;br /&gt;
				sa: &#039;देवनागरी-अरबी-अङ्कयोः चयनं करोतु&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		maps = {&lt;br /&gt;
			arabic: [&#039;0&#039;, &#039;1&#039;, &#039;2&#039;, &#039;3&#039;, &#039;4&#039;, &#039;5&#039;, &#039;6&#039;, &#039;7&#039;, &#039;8&#039;, &#039;9&#039;],&lt;br /&gt;
			devanagari: [&#039;०&#039;, &#039;१&#039;, &#039;२&#039;, &#039;३&#039;, &#039;४&#039;, &#039;५&#039;, &#039;६&#039;, &#039;७&#039;, &#039;८&#039;, &#039;९&#039;],&lt;br /&gt;
			gujarati: [&#039;૦&#039;, &#039;૧&#039;, &#039;૨&#039;, &#039;૩&#039;, &#039;૪&#039;, &#039;૫&#039;, &#039;૬&#039;, &#039;૭&#039;, &#039;૮&#039;, &#039;૯&#039;],&lt;br /&gt;
			gurmukhi: [&#039;੦&#039;, &#039;੧&#039;, &#039;੨&#039;, &#039;੩&#039;, &#039;੪&#039;, &#039;੫&#039;, &#039;੬&#039;, &#039;੭&#039;, &#039;੮&#039;, &#039;੯&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		availableMaps,&lt;br /&gt;
		currentType = &#039;default&#039;,&lt;br /&gt;
		matchers = {},&lt;br /&gt;
		walker,&lt;br /&gt;
		styleTag;&lt;br /&gt;
&lt;br /&gt;
	function isValidType(type) {&lt;br /&gt;
		return type === &#039;default&#039; || availableMaps.indexOf(type) !== -1;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {Object.&amp;lt;RegExp&amp;gt;} */&lt;br /&gt;
	function getMatchers(targetType) {&lt;br /&gt;
		var rChars;&lt;br /&gt;
		if (!matchers[targetType]) {&lt;br /&gt;
			rChars = { 0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: [] };&lt;br /&gt;
			$.each(maps, function (type, map) {&lt;br /&gt;
				if (type !== targetType) {&lt;br /&gt;
					for (var i = 0; i &amp;lt;= 9; i++) {&lt;br /&gt;
						rChars[i].push(map[i]);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			$.each(rChars, function (num, chars) {&lt;br /&gt;
				rChars[num] = new RegExp(&#039;(&#039; + chars.map(mw.RegExp.escape).join(&#039;|&#039;) + &#039;)&#039;, &#039;g&#039;);&lt;br /&gt;
			});&lt;br /&gt;
			matchers[targetType] = rChars;&lt;br /&gt;
		}&lt;br /&gt;
		return matchers[targetType];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function msg(key) {&lt;br /&gt;
		return msgs[key][mw.config.get(&#039;wgUserLanguage&#039;)] || msgs[key].en;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {HTMLElement|TextNode} node&lt;br /&gt;
	 * @return {number} NodeFilter.FILTER_* constant&lt;br /&gt;
	 */&lt;br /&gt;
	function filterNode(node) {&lt;br /&gt;
		if (node.nodeType === Node.TEXT_NODE) {&lt;br /&gt;
			return NodeFilter.FILTER_ACCEPT;&lt;br /&gt;
		}&lt;br /&gt;
		var n = node.nodeName &amp;amp;&amp;amp; node.nodeName.toLowerCase();&lt;br /&gt;
		if (n === &#039;input&#039; || n === &#039;textarea&#039; || $(node).hasClass(&#039;mw-numerakri-skip&#039;)) {&lt;br /&gt;
			// Skip this element and skip its children&lt;br /&gt;
			return NodeFilter.FILTER_REJECT;&lt;br /&gt;
		}&lt;br /&gt;
		// Skip this element, but check its children&lt;br /&gt;
		return NodeFilter.FILTER_SKIP;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {TextNode} node&lt;br /&gt;
	 */&lt;br /&gt;
	function handleTextNode(node) {&lt;br /&gt;
		var original = node.nodeValue,&lt;br /&gt;
			changed = original,&lt;br /&gt;
			matchers = getMatchers(currentType),&lt;br /&gt;
			i = 0;&lt;br /&gt;
		for (; i &amp;lt;= 9; i++) {&lt;br /&gt;
			changed = changed.replace(matchers[i], maps[currentType][i]);&lt;br /&gt;
		}&lt;br /&gt;
		if (original !== changed) {&lt;br /&gt;
			node.nodeValue = changed;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw-method-requestIdleCallback&lt;br /&gt;
	function idleWalker(deadline) {&lt;br /&gt;
		var el;&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		while (deadline.timeRemaining() &amp;gt; 0) {&lt;br /&gt;
			el = walker.nextNode();&lt;br /&gt;
			if (!el) {&lt;br /&gt;
				// Reached the end&lt;br /&gt;
				walker = null;&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			handleTextNode(el);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// The user may interact with the page. We pause so the browser can process&lt;br /&gt;
		// interaction. The text handler will continue after that.&lt;br /&gt;
		if (walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Save a browser cookie for 30 days, or remove it.&lt;br /&gt;
	 * @param {string|null} value&lt;br /&gt;
	 */&lt;br /&gt;
	function saveType(value) {&lt;br /&gt;
		mw.requestIdleCallback(function () {&lt;br /&gt;
			$.cookie(&#039;mw-numerakri-type&#039;, value, { expires: 30, path: &#039;/&#039; });&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @return {string}&lt;br /&gt;
	 */&lt;br /&gt;
	function getStoredType() {&lt;br /&gt;
		var value = $.cookie(&#039;mw-numerakri-type&#039;);&lt;br /&gt;
		if (value !== null &amp;amp;&amp;amp; !isValidType(value)) {&lt;br /&gt;
			// Remove bad cookie&lt;br /&gt;
			saveType(null);&lt;br /&gt;
			value = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return value || &#039;default&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function startPageConversion() {&lt;br /&gt;
		if (styleTag) {&lt;br /&gt;
			// Undo style for a previously selected type&lt;br /&gt;
			$(styleTag).remove();&lt;br /&gt;
			styleTag = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;default&#039;) {&lt;br /&gt;
			// Don&#039;t change the page&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;arabic&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: decimal; }&#039;);&lt;br /&gt;
		} else if (currentType === &#039;devanagari&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: devanagari; }&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// If a walker is already active, replace it.&lt;br /&gt;
		// If no walker is active yet, start it.&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
		walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, filterNode, false);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {HTMLElement} */&lt;br /&gt;
	function createSelector() {&lt;br /&gt;
		var $select = $(&#039;&amp;lt;select&amp;gt;&#039;).addClass(&#039;mw-numerakri-skip&#039;).append(&lt;br /&gt;
			$(&#039;&amp;lt;option&amp;gt;&#039;).val(&#039;default&#039;).text(msg(&#039;option-default&#039;))&lt;br /&gt;
		);&lt;br /&gt;
		availableMaps.forEach(function (type) {&lt;br /&gt;
			$select.append($(&#039;&amp;lt;option&amp;gt;&#039;).val(type).text(msg(&#039;option-&#039; + type)));&lt;br /&gt;
		});&lt;br /&gt;
		$select.val(currentType);&lt;br /&gt;
		$select.on(&#039;change&#039;, function () {&lt;br /&gt;
			currentType = this.value;&lt;br /&gt;
			startPageConversion();&lt;br /&gt;
			saveType(currentType);&lt;br /&gt;
		});&lt;br /&gt;
		return $select[0];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function init() {&lt;br /&gt;
		var potlet, menu;&lt;br /&gt;
&lt;br /&gt;
		// Decide which types to show&lt;br /&gt;
		availableMaps = [&#039;gujarati&#039;, &#039;arabic&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Decide selected type&lt;br /&gt;
		currentType = getStoredType();&lt;br /&gt;
		startPageConversion();&lt;br /&gt;
&lt;br /&gt;
		potlet = mw.util.addPortletLink(&lt;br /&gt;
			&#039;p-personal&#039;,&lt;br /&gt;
			msg(&#039;label-url&#039;),&lt;br /&gt;
			msg(&#039;label-text&#039;),&lt;br /&gt;
			&#039;pt-numconvert&#039;,&lt;br /&gt;
			msg(&#039;label-tooltip&#039;),&lt;br /&gt;
			null,&lt;br /&gt;
			mw.user.isAnon() ? &#039;#pt-createaccount&#039; : &#039;#pt-userpage&#039;&lt;br /&gt;
		);&lt;br /&gt;
		menu = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;mw-numerakri-menu&#039;).append(createSelector())[0];&lt;br /&gt;
		if(potlet) {&lt;br /&gt;
			potlet.appendChild(menu);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(function () {&lt;br /&gt;
		mw.requestIdleCallback(init);&lt;br /&gt;
	});&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mobile.js&amp;diff=65996</id>
		<title>MediaWiki:Mobile.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mobile.js&amp;diff=65996"/>
		<updated>2023-10-26T15:06:37Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* All JavaScript here will be loaded for users of the mobile site */&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if (window.matchMedia(&amp;quot;(max-width: 768px)&amp;quot;).matches) {&lt;br /&gt;
		if( mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;minerva&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;mobileaction&#039;, &#039;toggle_view_mobile&#039;);&lt;br /&gt;
			&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if(  mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;vector&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;mobileaction&#039;, &#039;toggle_view_desktop&#039;);&lt;br /&gt;
&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mobile.js&amp;diff=65995</id>
		<title>MediaWiki:Mobile.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mobile.js&amp;diff=65995"/>
		<updated>2023-10-26T15:00:21Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* All JavaScript here will be loaded for users of the mobile site */&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if (window.matchMedia(&amp;quot;(max-width: 768px)&amp;quot;).matches) {&lt;br /&gt;
		if( mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;minerva&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;useskin&#039;, &#039;minerva&#039;);&lt;br /&gt;
			&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if(  mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;vector&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;useskin&#039;, &#039;vector&#039;);&lt;br /&gt;
&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65994</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65994"/>
		<updated>2023-10-26T14:59:44Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if (window.matchMedia(&amp;quot;(max-width: 768px)&amp;quot;).matches) {&lt;br /&gt;
		if( mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;minerva&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;useskin&#039;, &#039;minerva&#039;);&lt;br /&gt;
			&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		if(  mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;vector&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;useskin&#039;, &#039;vector&#039;);&lt;br /&gt;
&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if( mw.config.get(&#039;wgIsMainPage&#039;) ){&lt;br /&gt;
		$(&#039;#firstHeading&#039;).remove();&lt;br /&gt;
		&lt;br /&gt;
		var mainpageLeft = $(&amp;quot;.mainpage-left&amp;quot;);&lt;br /&gt;
		var mainpageRight = $(&amp;quot;.mainpage-right&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mainpageLeft.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
		mainpageRight.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
		function animateLeft(){&lt;br /&gt;
			mainpageRight.animate({&#039;left&#039;: &#039;15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageRight.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateLeft() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateLeft();&lt;br /&gt;
		&lt;br /&gt;
		function animateRight(){&lt;br /&gt;
			mainpageLeft.animate({&#039;left&#039;: &#039;-15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageLeft.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateRight() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateRight();&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; ).length &amp;gt; 1 ){&lt;br /&gt;
		var tempPageName = mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; )[0];&lt;br /&gt;
		var tempLink =&#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&#039; +  tempPageName + &#039;&amp;quot;&amp;gt;&#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
		$(&amp;quot;#top&amp;quot;).after(  $( &#039;&amp;lt;p&amp;gt;&#039;).css( &#039;font-size&#039;, &#039;17px&#039;).html( tempLink ) );&lt;br /&gt;
	}&lt;br /&gt;
	if( mw.config.get(&#039;wgUserName&#039;) === null  ){&lt;br /&gt;
		$(&#039;body&#039;).bind(&#039;cut copy&#039;, function(e) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
	} else {&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onmousedown&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onselectstart&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:OCR.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:PoemButtons.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( $(&amp;quot;.wikiaudioplayer&amp;quot;).length ){&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:Green-audio-player.min.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;, &#039;text/css&#039;);&lt;br /&gt;
		$.when(&lt;br /&gt;
		    mw.loader.getScript( &#039;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		.then(&lt;br /&gt;
		    function () {&lt;br /&gt;
				GreenAudioPlayer.init({&lt;br /&gt;
				    selector: &#039;.wikiaudioplayer&#039;,&lt;br /&gt;
				    stopOthersOnPlay: true&lt;br /&gt;
				});&lt;br /&gt;
				$( &amp;quot;.wikiaudioplayer &amp;gt; audio&amp;quot;).css(&amp;quot;display&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
		    },&lt;br /&gt;
		    function ( e ) {&lt;br /&gt;
		        mw.log.error( e.message );&lt;br /&gt;
		    }&lt;br /&gt;
		);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	var sidebarCategory = $(&amp;quot;#p-Categories &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	var sidebarAuthor = $(&amp;quot;#p-Authors &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	sidebarCategory.empty();&lt;br /&gt;
	sidebarAuthor.empty();&lt;br /&gt;
&lt;br /&gt;
	mw.loader.using( [ &#039;mediawiki.api&#039; ], function(){&lt;br /&gt;
		var sel1 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarCategory );&lt;br /&gt;
		var sel2 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarAuthor );&lt;br /&gt;
		sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
		sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
		// For category Categories&lt;br /&gt;
		catMemberParam1 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Categories on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam1, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel1.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		// For category Author&lt;br /&gt;
		catMemberParam2 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Authors on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam2, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel2.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
	} );&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Long list into col&lt;br /&gt;
$( document ).ready( function(){&lt;br /&gt;
&lt;br /&gt;
	var longList = $(&amp;quot;#longList&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;),&lt;br /&gt;
		dlElements = longList.children().filter(&amp;quot;dl&amp;quot;),&lt;br /&gt;
		dlElementsLength = dlElements.length;&lt;br /&gt;
	&lt;br /&gt;
	var list1 = [],&lt;br /&gt;
		list2 = [];&lt;br /&gt;
	&lt;br /&gt;
	var count = 0;&lt;br /&gt;
	dlElements.each( function(index, ele){&lt;br /&gt;
		if( count &amp;lt; dlElementsLength/2 ){&lt;br /&gt;
			list1.push(ele);&lt;br /&gt;
			list1.push( $(ele).next() );&lt;br /&gt;
		} else {&lt;br /&gt;
			list2.push(ele);&lt;br /&gt;
			list2.push( $(ele).next() );&lt;br /&gt;
		}&lt;br /&gt;
		count = count + 1;&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.empty();&lt;br /&gt;
	&lt;br /&gt;
	var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list1.forEach( function(value, index){&lt;br /&gt;
		leftDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list2.forEach( function(value, index){&lt;br /&gt;
		rightDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.append(leftDiv, rightDiv );&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function() {&lt;br /&gt;
	var divide2cols = $(&amp;quot;#divide2cols&amp;quot;);&lt;br /&gt;
	if( divide2cols.length ){&lt;br /&gt;
		var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var parentHieght = divide2cols.height()/2;&lt;br /&gt;
		divide2cols.children().filter(&amp;quot;dl&amp;quot;).each(function() {&lt;br /&gt;
			console.log( $(this).offset().top , parentHieght );&lt;br /&gt;
			if ( $(this).offset().top &amp;gt; parentHieght ) {&lt;br /&gt;
				rightDiv.append( $(this), $(this).next() );&lt;br /&gt;
			} else {&lt;br /&gt;
				leftDiv.append( $(this), $(this).next() );&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		divide2cols.before( $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;).append(leftDiv, rightDiv) );&lt;br /&gt;
		divide2cols.remove();&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	// toggled by toggle button. also determines which toggle button image to use&lt;br /&gt;
	var useCustom = false;&lt;br /&gt;
	&lt;br /&gt;
	// toggleImgs[0] to switch to custom, toggleImgs[1] to revert to default&lt;br /&gt;
	var toggleImgs = [&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_search_black_24px.svg&#039;,&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_youtube_searched_for_black_24px.svg&#039;&lt;br /&gt;
	];&lt;br /&gt;
	var zoomInImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_in_black_24px.svg&#039;;&lt;br /&gt;
	var zoomOutImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_out_black_24px.svg&#039;;&lt;br /&gt;
	&lt;br /&gt;
	// create DOM elements&lt;br /&gt;
	$(&#039;#content&#039;).prepend(&#039;&amp;lt;div id=&amp;quot;zoomButtons&amp;quot; style=&amp;quot;z-index: 9999;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomInIcon&amp;quot; src=&amp;quot;&#039; + zoomInImg + &#039;&amp;quot; alt=&amp;quot;zoom in&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomOutIcon&amp;quot; src=&amp;quot;&#039; + zoomOutImg + &#039;&amp;quot; alt=&amp;quot;zoom out&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;toggleButton&amp;quot; src=&amp;quot;&#039; + toggleImgs[+ useCustom] + &#039;&amp;quot; alt=&amp;quot;toggle zoom&amp;quot;&amp;gt;&amp;amp;nbsp&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
	$(&#039;#zoomButtons&#039;).css({&#039;float&#039;: &#039;right&#039;});&lt;br /&gt;
	&lt;br /&gt;
	// find DOM elements used later&lt;br /&gt;
	var $bodyContent = $(&#039;.mw-body-content&#039;);&lt;br /&gt;
	var $toggleButton = $(&#039;#toggleButton&#039;);&lt;br /&gt;
	&lt;br /&gt;
	// sizes[0] is default, sizes[1] is custom&lt;br /&gt;
	var sizes = [parseFloat($(&#039;.mw-body-content&#039;).css(&#039;font-size&#039;))];&lt;br /&gt;
	// default custom zoom of 2&lt;br /&gt;
	sizes[1] = sizes[0] + 2;&lt;br /&gt;
	&lt;br /&gt;
	// the + converts bool to 0 or 1 to use as array index&lt;br /&gt;
	function updateSize() {&lt;br /&gt;
		$bodyContent.css({&#039;font-size&#039;:(sizes[+ useCustom] + &#039;pt&#039;)});&lt;br /&gt;
	}&lt;br /&gt;
	function toggle() {&lt;br /&gt;
		useCustom = !useCustom;&lt;br /&gt;
		$toggleButton.attr(&#039;src&#039;,toggleImgs[+ useCustom]);&lt;br /&gt;
		updateSize();&lt;br /&gt;
	}&lt;br /&gt;
	function zoom(dif) {&lt;br /&gt;
		sizes[1] += dif;&lt;br /&gt;
		if (useCustom) {&lt;br /&gt;
			updateSize();&lt;br /&gt;
		} else {&lt;br /&gt;
			toggle();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomInIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom +&amp;quot;);&lt;br /&gt;
		zoom(1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomOutIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom -&amp;quot;);&lt;br /&gt;
		zoom(-1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#toggleButton&#039; ).on( &#039;click&#039;, toggle );&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Convert numbers between numeral systems.&lt;br /&gt;
 *&lt;br /&gt;
 * Dependencies: jquery.cookie, mediawiki.util, mediawiki.user&lt;br /&gt;
 * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-Numerakri.js&lt;br /&gt;
 * Revision: 2019-01-11&lt;br /&gt;
 *&lt;br /&gt;
 * @copyright 2012 Daniel Friesen&lt;br /&gt;
 * @copyright 2012 Siddhartha Ghai&lt;br /&gt;
 * @copyright 2014 Bhawani Gautam&lt;br /&gt;
 * @copyright 2012-2018 Timo Tijhof&lt;br /&gt;
 * @license &amp;lt;https://opensource.org/licenses/MIT&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
/*jshint browser:true, unused:true, forin:false */&lt;br /&gt;
/*global $, mw */&lt;br /&gt;
(function () {&lt;br /&gt;
	&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
	var msgs = {&lt;br /&gt;
			&#039;option-default&#039;: {&lt;br /&gt;
				en: &#039;Default&#039;,&lt;br /&gt;
				bho: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				gu: &#039;ડિફોલ્ટ&#039;,&lt;br /&gt;
				hi: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				ne: &#039;डिफल्ट&#039;,&lt;br /&gt;
				pa: &#039;ਅਸਲ ਦਿੱਖ&#039;,&lt;br /&gt;
				sa: &#039;उत्सर्गः&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-arabic&#039;: {&lt;br /&gt;
				en: &#039;1 2 3&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-devanagari&#039;: {&lt;br /&gt;
				en: &#039;Devanagari&#039;,&lt;br /&gt;
				bho: &#039;१२३&#039;,&lt;br /&gt;
				hi: &#039;१२३&#039;,&lt;br /&gt;
				ne: &#039;१२३&#039;,&lt;br /&gt;
				sa: &#039;१२३&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gujarati&#039;: {&lt;br /&gt;
				en: &#039;૧ ૨ ૩&#039;,&lt;br /&gt;
				gu: &#039;૧ ૨ ૩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gurmukhi&#039;: {&lt;br /&gt;
				en: &#039;Gurmukhi&#039;,&lt;br /&gt;
				pa: &#039;੧੨੩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-url&#039;: {&lt;br /&gt;
				en: &#039;//www.mediawiki.org/wiki/MediaWiki_talk:Gadget-Numerakri.js&#039;,&lt;br /&gt;
				gu: &#039;//gu.wikipedia.org/wiki/વિકિસૂક્તિઃઅંક_પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;//hi.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				ne: &#039;//ne.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				pa: &#039;//pa.wikipedia.org/wiki/ਵਿਕੀਪੀਡੀਆ:ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;//sa.wikipedia.org/wiki/विकिपीडिया:अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-text&#039;: {&lt;br /&gt;
				en: &#039;Convert numerals&#039;,&lt;br /&gt;
				bho: &#039;अंक बदलाव&#039;,&lt;br /&gt;
				gu: &#039;અંક પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				ne: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-tooltip&#039;: {&lt;br /&gt;
				en: &#039;Convert between Arabic and Devanagari numerals&#039;,&lt;br /&gt;
				bho: &#039;नागरी आ अरबी अंकों में अदला-बदली करीं&#039;,&lt;br /&gt;
				gu: &#039;ગુજરાતી અને અંગ્રેજી અંકોમાં પરિવર્તન કરો&#039;,&lt;br /&gt;
				hi: &#039;नागरी और अरबी अंकों में परिवर्तन करें&#039;,&lt;br /&gt;
				ne: &#039;देवनागरी र अरबी अंकहरूमा परिवर्तन गर्नुहोस्&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕਾਂ ਨੂ ਗੁਰਮੁਖੀ ਤੇ ਅਰਬੀ ਵਿਚ ਬਦਲੇਂ&#039;,&lt;br /&gt;
				sa: &#039;देवनागरी-अरबी-अङ्कयोः चयनं करोतु&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		maps = {&lt;br /&gt;
			arabic: [&#039;0&#039;, &#039;1&#039;, &#039;2&#039;, &#039;3&#039;, &#039;4&#039;, &#039;5&#039;, &#039;6&#039;, &#039;7&#039;, &#039;8&#039;, &#039;9&#039;],&lt;br /&gt;
			devanagari: [&#039;०&#039;, &#039;१&#039;, &#039;२&#039;, &#039;३&#039;, &#039;४&#039;, &#039;५&#039;, &#039;६&#039;, &#039;७&#039;, &#039;८&#039;, &#039;९&#039;],&lt;br /&gt;
			gujarati: [&#039;૦&#039;, &#039;૧&#039;, &#039;૨&#039;, &#039;૩&#039;, &#039;૪&#039;, &#039;૫&#039;, &#039;૬&#039;, &#039;૭&#039;, &#039;૮&#039;, &#039;૯&#039;],&lt;br /&gt;
			gurmukhi: [&#039;੦&#039;, &#039;੧&#039;, &#039;੨&#039;, &#039;੩&#039;, &#039;੪&#039;, &#039;੫&#039;, &#039;੬&#039;, &#039;੭&#039;, &#039;੮&#039;, &#039;੯&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		availableMaps,&lt;br /&gt;
		currentType = &#039;default&#039;,&lt;br /&gt;
		matchers = {},&lt;br /&gt;
		walker,&lt;br /&gt;
		styleTag;&lt;br /&gt;
&lt;br /&gt;
	function isValidType(type) {&lt;br /&gt;
		return type === &#039;default&#039; || availableMaps.indexOf(type) !== -1;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {Object.&amp;lt;RegExp&amp;gt;} */&lt;br /&gt;
	function getMatchers(targetType) {&lt;br /&gt;
		var rChars;&lt;br /&gt;
		if (!matchers[targetType]) {&lt;br /&gt;
			rChars = { 0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: [] };&lt;br /&gt;
			$.each(maps, function (type, map) {&lt;br /&gt;
				if (type !== targetType) {&lt;br /&gt;
					for (var i = 0; i &amp;lt;= 9; i++) {&lt;br /&gt;
						rChars[i].push(map[i]);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			$.each(rChars, function (num, chars) {&lt;br /&gt;
				rChars[num] = new RegExp(&#039;(&#039; + chars.map(mw.RegExp.escape).join(&#039;|&#039;) + &#039;)&#039;, &#039;g&#039;);&lt;br /&gt;
			});&lt;br /&gt;
			matchers[targetType] = rChars;&lt;br /&gt;
		}&lt;br /&gt;
		return matchers[targetType];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function msg(key) {&lt;br /&gt;
		return msgs[key][mw.config.get(&#039;wgUserLanguage&#039;)] || msgs[key].en;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {HTMLElement|TextNode} node&lt;br /&gt;
	 * @return {number} NodeFilter.FILTER_* constant&lt;br /&gt;
	 */&lt;br /&gt;
	function filterNode(node) {&lt;br /&gt;
		if (node.nodeType === Node.TEXT_NODE) {&lt;br /&gt;
			return NodeFilter.FILTER_ACCEPT;&lt;br /&gt;
		}&lt;br /&gt;
		var n = node.nodeName &amp;amp;&amp;amp; node.nodeName.toLowerCase();&lt;br /&gt;
		if (n === &#039;input&#039; || n === &#039;textarea&#039; || $(node).hasClass(&#039;mw-numerakri-skip&#039;)) {&lt;br /&gt;
			// Skip this element and skip its children&lt;br /&gt;
			return NodeFilter.FILTER_REJECT;&lt;br /&gt;
		}&lt;br /&gt;
		// Skip this element, but check its children&lt;br /&gt;
		return NodeFilter.FILTER_SKIP;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {TextNode} node&lt;br /&gt;
	 */&lt;br /&gt;
	function handleTextNode(node) {&lt;br /&gt;
		var original = node.nodeValue,&lt;br /&gt;
			changed = original,&lt;br /&gt;
			matchers = getMatchers(currentType),&lt;br /&gt;
			i = 0;&lt;br /&gt;
		for (; i &amp;lt;= 9; i++) {&lt;br /&gt;
			changed = changed.replace(matchers[i], maps[currentType][i]);&lt;br /&gt;
		}&lt;br /&gt;
		if (original !== changed) {&lt;br /&gt;
			node.nodeValue = changed;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw-method-requestIdleCallback&lt;br /&gt;
	function idleWalker(deadline) {&lt;br /&gt;
		var el;&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		while (deadline.timeRemaining() &amp;gt; 0) {&lt;br /&gt;
			el = walker.nextNode();&lt;br /&gt;
			if (!el) {&lt;br /&gt;
				// Reached the end&lt;br /&gt;
				walker = null;&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			handleTextNode(el);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// The user may interact with the page. We pause so the browser can process&lt;br /&gt;
		// interaction. The text handler will continue after that.&lt;br /&gt;
		if (walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Save a browser cookie for 30 days, or remove it.&lt;br /&gt;
	 * @param {string|null} value&lt;br /&gt;
	 */&lt;br /&gt;
	function saveType(value) {&lt;br /&gt;
		mw.requestIdleCallback(function () {&lt;br /&gt;
			$.cookie(&#039;mw-numerakri-type&#039;, value, { expires: 30, path: &#039;/&#039; });&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @return {string}&lt;br /&gt;
	 */&lt;br /&gt;
	function getStoredType() {&lt;br /&gt;
		var value = $.cookie(&#039;mw-numerakri-type&#039;);&lt;br /&gt;
		if (value !== null &amp;amp;&amp;amp; !isValidType(value)) {&lt;br /&gt;
			// Remove bad cookie&lt;br /&gt;
			saveType(null);&lt;br /&gt;
			value = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return value || &#039;default&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function startPageConversion() {&lt;br /&gt;
		if (styleTag) {&lt;br /&gt;
			// Undo style for a previously selected type&lt;br /&gt;
			$(styleTag).remove();&lt;br /&gt;
			styleTag = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;default&#039;) {&lt;br /&gt;
			// Don&#039;t change the page&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;arabic&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: decimal; }&#039;);&lt;br /&gt;
		} else if (currentType === &#039;devanagari&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: devanagari; }&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// If a walker is already active, replace it.&lt;br /&gt;
		// If no walker is active yet, start it.&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
		walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, filterNode, false);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {HTMLElement} */&lt;br /&gt;
	function createSelector() {&lt;br /&gt;
		var $select = $(&#039;&amp;lt;select&amp;gt;&#039;).addClass(&#039;mw-numerakri-skip&#039;).append(&lt;br /&gt;
			$(&#039;&amp;lt;option&amp;gt;&#039;).val(&#039;default&#039;).text(msg(&#039;option-default&#039;))&lt;br /&gt;
		);&lt;br /&gt;
		availableMaps.forEach(function (type) {&lt;br /&gt;
			$select.append($(&#039;&amp;lt;option&amp;gt;&#039;).val(type).text(msg(&#039;option-&#039; + type)));&lt;br /&gt;
		});&lt;br /&gt;
		$select.val(currentType);&lt;br /&gt;
		$select.on(&#039;change&#039;, function () {&lt;br /&gt;
			currentType = this.value;&lt;br /&gt;
			startPageConversion();&lt;br /&gt;
			saveType(currentType);&lt;br /&gt;
		});&lt;br /&gt;
		return $select[0];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function init() {&lt;br /&gt;
		var potlet, menu;&lt;br /&gt;
&lt;br /&gt;
		// Decide which types to show&lt;br /&gt;
		availableMaps = [&#039;gujarati&#039;, &#039;arabic&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Decide selected type&lt;br /&gt;
		currentType = getStoredType();&lt;br /&gt;
		startPageConversion();&lt;br /&gt;
&lt;br /&gt;
		potlet = mw.util.addPortletLink(&lt;br /&gt;
			&#039;p-personal&#039;,&lt;br /&gt;
			msg(&#039;label-url&#039;),&lt;br /&gt;
			msg(&#039;label-text&#039;),&lt;br /&gt;
			&#039;pt-numconvert&#039;,&lt;br /&gt;
			msg(&#039;label-tooltip&#039;),&lt;br /&gt;
			null,&lt;br /&gt;
			mw.user.isAnon() ? &#039;#pt-createaccount&#039; : &#039;#pt-userpage&#039;&lt;br /&gt;
		);&lt;br /&gt;
		menu = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;mw-numerakri-menu&#039;).append(createSelector())[0];&lt;br /&gt;
		if(potlet) {&lt;br /&gt;
			potlet.appendChild(menu);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(function () {&lt;br /&gt;
		mw.requestIdleCallback(init);&lt;br /&gt;
	});&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mobile.js&amp;diff=65993</id>
		<title>MediaWiki:Mobile.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mobile.js&amp;diff=65993"/>
		<updated>2023-10-26T14:56:50Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* All JavaScript here will be loaded for users of the mobile site */&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if (window.matchMedia(&amp;quot;(max-width: 768px)&amp;quot;).matches &amp;amp;&amp;amp; mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;minerva&amp;quot; ) {&lt;br /&gt;
		const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
		currWikiUrl.searchParams.set(&#039;useskin&#039;, &#039;minerva&#039;);&lt;br /&gt;
		&lt;br /&gt;
		window.location.replace(currWikiUrl);&lt;br /&gt;
	} else {&lt;br /&gt;
		if(  mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;vector&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;useskin&#039;, &#039;vector&#039;);&lt;br /&gt;
&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65992</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65992"/>
		<updated>2023-10-26T14:55:15Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if (window.matchMedia(&amp;quot;(max-width: 768px)&amp;quot;).matches &amp;amp;&amp;amp; mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;minerva&amp;quot; ) {&lt;br /&gt;
		const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
		currWikiUrl.searchParams.set(&#039;useskin&#039;, &#039;minerva&#039;);&lt;br /&gt;
		&lt;br /&gt;
		window.location.replace(currWikiUrl);&lt;br /&gt;
	} else {&lt;br /&gt;
		if(  mw.config.get(&amp;quot;skin&amp;quot;) !== &amp;quot;vector&amp;quot; ){&lt;br /&gt;
			const currWikiUrl = new URL(window.location.href);&lt;br /&gt;
			currWikiUrl.searchParams.set(&#039;useskin&#039;, &#039;vector&#039;);&lt;br /&gt;
&lt;br /&gt;
			window.location.replace(currWikiUrl);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if( mw.config.get(&#039;wgIsMainPage&#039;) ){&lt;br /&gt;
		$(&#039;#firstHeading&#039;).remove();&lt;br /&gt;
		&lt;br /&gt;
		var mainpageLeft = $(&amp;quot;.mainpage-left&amp;quot;);&lt;br /&gt;
		var mainpageRight = $(&amp;quot;.mainpage-right&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mainpageLeft.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
		mainpageRight.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
		function animateLeft(){&lt;br /&gt;
			mainpageRight.animate({&#039;left&#039;: &#039;15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageRight.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateLeft() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateLeft();&lt;br /&gt;
		&lt;br /&gt;
		function animateRight(){&lt;br /&gt;
			mainpageLeft.animate({&#039;left&#039;: &#039;-15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageLeft.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateRight() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateRight();&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; ).length &amp;gt; 1 ){&lt;br /&gt;
		var tempPageName = mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; )[0];&lt;br /&gt;
		var tempLink =&#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&#039; +  tempPageName + &#039;&amp;quot;&amp;gt;&#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
		$(&amp;quot;#top&amp;quot;).after(  $( &#039;&amp;lt;p&amp;gt;&#039;).css( &#039;font-size&#039;, &#039;17px&#039;).html( tempLink ) );&lt;br /&gt;
	}&lt;br /&gt;
	if( mw.config.get(&#039;wgUserName&#039;) === null  ){&lt;br /&gt;
		$(&#039;body&#039;).bind(&#039;cut copy&#039;, function(e) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
	} else {&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onmousedown&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onselectstart&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:OCR.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:PoemButtons.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( $(&amp;quot;.wikiaudioplayer&amp;quot;).length ){&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:Green-audio-player.min.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;, &#039;text/css&#039;);&lt;br /&gt;
		$.when(&lt;br /&gt;
		    mw.loader.getScript( &#039;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		.then(&lt;br /&gt;
		    function () {&lt;br /&gt;
				GreenAudioPlayer.init({&lt;br /&gt;
				    selector: &#039;.wikiaudioplayer&#039;,&lt;br /&gt;
				    stopOthersOnPlay: true&lt;br /&gt;
				});&lt;br /&gt;
				$( &amp;quot;.wikiaudioplayer &amp;gt; audio&amp;quot;).css(&amp;quot;display&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
		    },&lt;br /&gt;
		    function ( e ) {&lt;br /&gt;
		        mw.log.error( e.message );&lt;br /&gt;
		    }&lt;br /&gt;
		);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	var sidebarCategory = $(&amp;quot;#p-Categories &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	var sidebarAuthor = $(&amp;quot;#p-Authors &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	sidebarCategory.empty();&lt;br /&gt;
	sidebarAuthor.empty();&lt;br /&gt;
&lt;br /&gt;
	mw.loader.using( [ &#039;mediawiki.api&#039; ], function(){&lt;br /&gt;
		var sel1 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarCategory );&lt;br /&gt;
		var sel2 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarAuthor );&lt;br /&gt;
		sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
		sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
		// For category Categories&lt;br /&gt;
		catMemberParam1 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Categories on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam1, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel1.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		// For category Author&lt;br /&gt;
		catMemberParam2 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Authors on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam2, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel2.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
	} );&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Long list into col&lt;br /&gt;
$( document ).ready( function(){&lt;br /&gt;
&lt;br /&gt;
	var longList = $(&amp;quot;#longList&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;),&lt;br /&gt;
		dlElements = longList.children().filter(&amp;quot;dl&amp;quot;),&lt;br /&gt;
		dlElementsLength = dlElements.length;&lt;br /&gt;
	&lt;br /&gt;
	var list1 = [],&lt;br /&gt;
		list2 = [];&lt;br /&gt;
	&lt;br /&gt;
	var count = 0;&lt;br /&gt;
	dlElements.each( function(index, ele){&lt;br /&gt;
		if( count &amp;lt; dlElementsLength/2 ){&lt;br /&gt;
			list1.push(ele);&lt;br /&gt;
			list1.push( $(ele).next() );&lt;br /&gt;
		} else {&lt;br /&gt;
			list2.push(ele);&lt;br /&gt;
			list2.push( $(ele).next() );&lt;br /&gt;
		}&lt;br /&gt;
		count = count + 1;&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.empty();&lt;br /&gt;
	&lt;br /&gt;
	var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list1.forEach( function(value, index){&lt;br /&gt;
		leftDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list2.forEach( function(value, index){&lt;br /&gt;
		rightDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.append(leftDiv, rightDiv );&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function() {&lt;br /&gt;
	var divide2cols = $(&amp;quot;#divide2cols&amp;quot;);&lt;br /&gt;
	if( divide2cols.length ){&lt;br /&gt;
		var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var parentHieght = divide2cols.height()/2;&lt;br /&gt;
		divide2cols.children().filter(&amp;quot;dl&amp;quot;).each(function() {&lt;br /&gt;
			console.log( $(this).offset().top , parentHieght );&lt;br /&gt;
			if ( $(this).offset().top &amp;gt; parentHieght ) {&lt;br /&gt;
				rightDiv.append( $(this), $(this).next() );&lt;br /&gt;
			} else {&lt;br /&gt;
				leftDiv.append( $(this), $(this).next() );&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		divide2cols.before( $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;).append(leftDiv, rightDiv) );&lt;br /&gt;
		divide2cols.remove();&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	// toggled by toggle button. also determines which toggle button image to use&lt;br /&gt;
	var useCustom = false;&lt;br /&gt;
	&lt;br /&gt;
	// toggleImgs[0] to switch to custom, toggleImgs[1] to revert to default&lt;br /&gt;
	var toggleImgs = [&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_search_black_24px.svg&#039;,&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_youtube_searched_for_black_24px.svg&#039;&lt;br /&gt;
	];&lt;br /&gt;
	var zoomInImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_in_black_24px.svg&#039;;&lt;br /&gt;
	var zoomOutImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_out_black_24px.svg&#039;;&lt;br /&gt;
	&lt;br /&gt;
	// create DOM elements&lt;br /&gt;
	$(&#039;#content&#039;).prepend(&#039;&amp;lt;div id=&amp;quot;zoomButtons&amp;quot; style=&amp;quot;z-index: 9999;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomInIcon&amp;quot; src=&amp;quot;&#039; + zoomInImg + &#039;&amp;quot; alt=&amp;quot;zoom in&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomOutIcon&amp;quot; src=&amp;quot;&#039; + zoomOutImg + &#039;&amp;quot; alt=&amp;quot;zoom out&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;toggleButton&amp;quot; src=&amp;quot;&#039; + toggleImgs[+ useCustom] + &#039;&amp;quot; alt=&amp;quot;toggle zoom&amp;quot;&amp;gt;&amp;amp;nbsp&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
	$(&#039;#zoomButtons&#039;).css({&#039;float&#039;: &#039;right&#039;});&lt;br /&gt;
	&lt;br /&gt;
	// find DOM elements used later&lt;br /&gt;
	var $bodyContent = $(&#039;.mw-body-content&#039;);&lt;br /&gt;
	var $toggleButton = $(&#039;#toggleButton&#039;);&lt;br /&gt;
	&lt;br /&gt;
	// sizes[0] is default, sizes[1] is custom&lt;br /&gt;
	var sizes = [parseFloat($(&#039;.mw-body-content&#039;).css(&#039;font-size&#039;))];&lt;br /&gt;
	// default custom zoom of 2&lt;br /&gt;
	sizes[1] = sizes[0] + 2;&lt;br /&gt;
	&lt;br /&gt;
	// the + converts bool to 0 or 1 to use as array index&lt;br /&gt;
	function updateSize() {&lt;br /&gt;
		$bodyContent.css({&#039;font-size&#039;:(sizes[+ useCustom] + &#039;pt&#039;)});&lt;br /&gt;
	}&lt;br /&gt;
	function toggle() {&lt;br /&gt;
		useCustom = !useCustom;&lt;br /&gt;
		$toggleButton.attr(&#039;src&#039;,toggleImgs[+ useCustom]);&lt;br /&gt;
		updateSize();&lt;br /&gt;
	}&lt;br /&gt;
	function zoom(dif) {&lt;br /&gt;
		sizes[1] += dif;&lt;br /&gt;
		if (useCustom) {&lt;br /&gt;
			updateSize();&lt;br /&gt;
		} else {&lt;br /&gt;
			toggle();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomInIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom +&amp;quot;);&lt;br /&gt;
		zoom(1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomOutIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom -&amp;quot;);&lt;br /&gt;
		zoom(-1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#toggleButton&#039; ).on( &#039;click&#039;, toggle );&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Convert numbers between numeral systems.&lt;br /&gt;
 *&lt;br /&gt;
 * Dependencies: jquery.cookie, mediawiki.util, mediawiki.user&lt;br /&gt;
 * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-Numerakri.js&lt;br /&gt;
 * Revision: 2019-01-11&lt;br /&gt;
 *&lt;br /&gt;
 * @copyright 2012 Daniel Friesen&lt;br /&gt;
 * @copyright 2012 Siddhartha Ghai&lt;br /&gt;
 * @copyright 2014 Bhawani Gautam&lt;br /&gt;
 * @copyright 2012-2018 Timo Tijhof&lt;br /&gt;
 * @license &amp;lt;https://opensource.org/licenses/MIT&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
/*jshint browser:true, unused:true, forin:false */&lt;br /&gt;
/*global $, mw */&lt;br /&gt;
(function () {&lt;br /&gt;
	&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
	var msgs = {&lt;br /&gt;
			&#039;option-default&#039;: {&lt;br /&gt;
				en: &#039;Default&#039;,&lt;br /&gt;
				bho: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				gu: &#039;ડિફોલ્ટ&#039;,&lt;br /&gt;
				hi: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				ne: &#039;डिफल्ट&#039;,&lt;br /&gt;
				pa: &#039;ਅਸਲ ਦਿੱਖ&#039;,&lt;br /&gt;
				sa: &#039;उत्सर्गः&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-arabic&#039;: {&lt;br /&gt;
				en: &#039;1 2 3&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-devanagari&#039;: {&lt;br /&gt;
				en: &#039;Devanagari&#039;,&lt;br /&gt;
				bho: &#039;१२३&#039;,&lt;br /&gt;
				hi: &#039;१२३&#039;,&lt;br /&gt;
				ne: &#039;१२३&#039;,&lt;br /&gt;
				sa: &#039;१२३&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gujarati&#039;: {&lt;br /&gt;
				en: &#039;૧ ૨ ૩&#039;,&lt;br /&gt;
				gu: &#039;૧ ૨ ૩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gurmukhi&#039;: {&lt;br /&gt;
				en: &#039;Gurmukhi&#039;,&lt;br /&gt;
				pa: &#039;੧੨੩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-url&#039;: {&lt;br /&gt;
				en: &#039;//www.mediawiki.org/wiki/MediaWiki_talk:Gadget-Numerakri.js&#039;,&lt;br /&gt;
				gu: &#039;//gu.wikipedia.org/wiki/વિકિસૂક્તિઃઅંક_પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;//hi.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				ne: &#039;//ne.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				pa: &#039;//pa.wikipedia.org/wiki/ਵਿਕੀਪੀਡੀਆ:ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;//sa.wikipedia.org/wiki/विकिपीडिया:अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-text&#039;: {&lt;br /&gt;
				en: &#039;Convert numerals&#039;,&lt;br /&gt;
				bho: &#039;अंक बदलाव&#039;,&lt;br /&gt;
				gu: &#039;અંક પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				ne: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-tooltip&#039;: {&lt;br /&gt;
				en: &#039;Convert between Arabic and Devanagari numerals&#039;,&lt;br /&gt;
				bho: &#039;नागरी आ अरबी अंकों में अदला-बदली करीं&#039;,&lt;br /&gt;
				gu: &#039;ગુજરાતી અને અંગ્રેજી અંકોમાં પરિવર્તન કરો&#039;,&lt;br /&gt;
				hi: &#039;नागरी और अरबी अंकों में परिवर्तन करें&#039;,&lt;br /&gt;
				ne: &#039;देवनागरी र अरबी अंकहरूमा परिवर्तन गर्नुहोस्&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕਾਂ ਨੂ ਗੁਰਮੁਖੀ ਤੇ ਅਰਬੀ ਵਿਚ ਬਦਲੇਂ&#039;,&lt;br /&gt;
				sa: &#039;देवनागरी-अरबी-अङ्कयोः चयनं करोतु&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		maps = {&lt;br /&gt;
			arabic: [&#039;0&#039;, &#039;1&#039;, &#039;2&#039;, &#039;3&#039;, &#039;4&#039;, &#039;5&#039;, &#039;6&#039;, &#039;7&#039;, &#039;8&#039;, &#039;9&#039;],&lt;br /&gt;
			devanagari: [&#039;०&#039;, &#039;१&#039;, &#039;२&#039;, &#039;३&#039;, &#039;४&#039;, &#039;५&#039;, &#039;६&#039;, &#039;७&#039;, &#039;८&#039;, &#039;९&#039;],&lt;br /&gt;
			gujarati: [&#039;૦&#039;, &#039;૧&#039;, &#039;૨&#039;, &#039;૩&#039;, &#039;૪&#039;, &#039;૫&#039;, &#039;૬&#039;, &#039;૭&#039;, &#039;૮&#039;, &#039;૯&#039;],&lt;br /&gt;
			gurmukhi: [&#039;੦&#039;, &#039;੧&#039;, &#039;੨&#039;, &#039;੩&#039;, &#039;੪&#039;, &#039;੫&#039;, &#039;੬&#039;, &#039;੭&#039;, &#039;੮&#039;, &#039;੯&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		availableMaps,&lt;br /&gt;
		currentType = &#039;default&#039;,&lt;br /&gt;
		matchers = {},&lt;br /&gt;
		walker,&lt;br /&gt;
		styleTag;&lt;br /&gt;
&lt;br /&gt;
	function isValidType(type) {&lt;br /&gt;
		return type === &#039;default&#039; || availableMaps.indexOf(type) !== -1;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {Object.&amp;lt;RegExp&amp;gt;} */&lt;br /&gt;
	function getMatchers(targetType) {&lt;br /&gt;
		var rChars;&lt;br /&gt;
		if (!matchers[targetType]) {&lt;br /&gt;
			rChars = { 0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: [] };&lt;br /&gt;
			$.each(maps, function (type, map) {&lt;br /&gt;
				if (type !== targetType) {&lt;br /&gt;
					for (var i = 0; i &amp;lt;= 9; i++) {&lt;br /&gt;
						rChars[i].push(map[i]);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			$.each(rChars, function (num, chars) {&lt;br /&gt;
				rChars[num] = new RegExp(&#039;(&#039; + chars.map(mw.RegExp.escape).join(&#039;|&#039;) + &#039;)&#039;, &#039;g&#039;);&lt;br /&gt;
			});&lt;br /&gt;
			matchers[targetType] = rChars;&lt;br /&gt;
		}&lt;br /&gt;
		return matchers[targetType];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function msg(key) {&lt;br /&gt;
		return msgs[key][mw.config.get(&#039;wgUserLanguage&#039;)] || msgs[key].en;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {HTMLElement|TextNode} node&lt;br /&gt;
	 * @return {number} NodeFilter.FILTER_* constant&lt;br /&gt;
	 */&lt;br /&gt;
	function filterNode(node) {&lt;br /&gt;
		if (node.nodeType === Node.TEXT_NODE) {&lt;br /&gt;
			return NodeFilter.FILTER_ACCEPT;&lt;br /&gt;
		}&lt;br /&gt;
		var n = node.nodeName &amp;amp;&amp;amp; node.nodeName.toLowerCase();&lt;br /&gt;
		if (n === &#039;input&#039; || n === &#039;textarea&#039; || $(node).hasClass(&#039;mw-numerakri-skip&#039;)) {&lt;br /&gt;
			// Skip this element and skip its children&lt;br /&gt;
			return NodeFilter.FILTER_REJECT;&lt;br /&gt;
		}&lt;br /&gt;
		// Skip this element, but check its children&lt;br /&gt;
		return NodeFilter.FILTER_SKIP;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {TextNode} node&lt;br /&gt;
	 */&lt;br /&gt;
	function handleTextNode(node) {&lt;br /&gt;
		var original = node.nodeValue,&lt;br /&gt;
			changed = original,&lt;br /&gt;
			matchers = getMatchers(currentType),&lt;br /&gt;
			i = 0;&lt;br /&gt;
		for (; i &amp;lt;= 9; i++) {&lt;br /&gt;
			changed = changed.replace(matchers[i], maps[currentType][i]);&lt;br /&gt;
		}&lt;br /&gt;
		if (original !== changed) {&lt;br /&gt;
			node.nodeValue = changed;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw-method-requestIdleCallback&lt;br /&gt;
	function idleWalker(deadline) {&lt;br /&gt;
		var el;&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		while (deadline.timeRemaining() &amp;gt; 0) {&lt;br /&gt;
			el = walker.nextNode();&lt;br /&gt;
			if (!el) {&lt;br /&gt;
				// Reached the end&lt;br /&gt;
				walker = null;&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			handleTextNode(el);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// The user may interact with the page. We pause so the browser can process&lt;br /&gt;
		// interaction. The text handler will continue after that.&lt;br /&gt;
		if (walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Save a browser cookie for 30 days, or remove it.&lt;br /&gt;
	 * @param {string|null} value&lt;br /&gt;
	 */&lt;br /&gt;
	function saveType(value) {&lt;br /&gt;
		mw.requestIdleCallback(function () {&lt;br /&gt;
			$.cookie(&#039;mw-numerakri-type&#039;, value, { expires: 30, path: &#039;/&#039; });&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @return {string}&lt;br /&gt;
	 */&lt;br /&gt;
	function getStoredType() {&lt;br /&gt;
		var value = $.cookie(&#039;mw-numerakri-type&#039;);&lt;br /&gt;
		if (value !== null &amp;amp;&amp;amp; !isValidType(value)) {&lt;br /&gt;
			// Remove bad cookie&lt;br /&gt;
			saveType(null);&lt;br /&gt;
			value = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return value || &#039;default&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function startPageConversion() {&lt;br /&gt;
		if (styleTag) {&lt;br /&gt;
			// Undo style for a previously selected type&lt;br /&gt;
			$(styleTag).remove();&lt;br /&gt;
			styleTag = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;default&#039;) {&lt;br /&gt;
			// Don&#039;t change the page&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;arabic&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: decimal; }&#039;);&lt;br /&gt;
		} else if (currentType === &#039;devanagari&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: devanagari; }&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// If a walker is already active, replace it.&lt;br /&gt;
		// If no walker is active yet, start it.&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
		walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, filterNode, false);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {HTMLElement} */&lt;br /&gt;
	function createSelector() {&lt;br /&gt;
		var $select = $(&#039;&amp;lt;select&amp;gt;&#039;).addClass(&#039;mw-numerakri-skip&#039;).append(&lt;br /&gt;
			$(&#039;&amp;lt;option&amp;gt;&#039;).val(&#039;default&#039;).text(msg(&#039;option-default&#039;))&lt;br /&gt;
		);&lt;br /&gt;
		availableMaps.forEach(function (type) {&lt;br /&gt;
			$select.append($(&#039;&amp;lt;option&amp;gt;&#039;).val(type).text(msg(&#039;option-&#039; + type)));&lt;br /&gt;
		});&lt;br /&gt;
		$select.val(currentType);&lt;br /&gt;
		$select.on(&#039;change&#039;, function () {&lt;br /&gt;
			currentType = this.value;&lt;br /&gt;
			startPageConversion();&lt;br /&gt;
			saveType(currentType);&lt;br /&gt;
		});&lt;br /&gt;
		return $select[0];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function init() {&lt;br /&gt;
		var potlet, menu;&lt;br /&gt;
&lt;br /&gt;
		// Decide which types to show&lt;br /&gt;
		availableMaps = [&#039;gujarati&#039;, &#039;arabic&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Decide selected type&lt;br /&gt;
		currentType = getStoredType();&lt;br /&gt;
		startPageConversion();&lt;br /&gt;
&lt;br /&gt;
		potlet = mw.util.addPortletLink(&lt;br /&gt;
			&#039;p-personal&#039;,&lt;br /&gt;
			msg(&#039;label-url&#039;),&lt;br /&gt;
			msg(&#039;label-text&#039;),&lt;br /&gt;
			&#039;pt-numconvert&#039;,&lt;br /&gt;
			msg(&#039;label-tooltip&#039;),&lt;br /&gt;
			null,&lt;br /&gt;
			mw.user.isAnon() ? &#039;#pt-createaccount&#039; : &#039;#pt-userpage&#039;&lt;br /&gt;
		);&lt;br /&gt;
		menu = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;mw-numerakri-menu&#039;).append(createSelector())[0];&lt;br /&gt;
		if(potlet) {&lt;br /&gt;
			potlet.appendChild(menu);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(function () {&lt;br /&gt;
		mw.requestIdleCallback(init);&lt;br /&gt;
	});&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Module:Unsubst&amp;diff=65436</id>
		<title>Module:Unsubst</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Module:Unsubst&amp;diff=65436"/>
		<updated>2023-10-12T18:04:44Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: Created page with &amp;quot;local checkType = require(&amp;#039;libraryUtil&amp;#039;).checkType  local p = {}  local BODY_PARAM = &amp;#039;$B&amp;#039;  local specialParams = { 	[&amp;#039;$params&amp;#039;] = &amp;#039;parameter list&amp;#039;, 	[&amp;#039;$aliases&amp;#039;] = &amp;#039;parameter aliases&amp;#039;, 	[&amp;#039;$flags&amp;#039;] = &amp;#039;flags&amp;#039;, 	[&amp;#039;$B&amp;#039;] = &amp;#039;template content&amp;#039;, 	[&amp;#039;$template-name&amp;#039;] = &amp;#039;template invocation name override&amp;#039;, }  function p.main(frame, body) 	-- If we are substing, this function returns a template invocation, and if 	-- not, it returns the template body. The template body can be specif...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local checkType = require(&#039;libraryUtil&#039;).checkType&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local BODY_PARAM = &#039;$B&#039;&lt;br /&gt;
&lt;br /&gt;
local specialParams = {&lt;br /&gt;
	[&#039;$params&#039;] = &#039;parameter list&#039;,&lt;br /&gt;
	[&#039;$aliases&#039;] = &#039;parameter aliases&#039;,&lt;br /&gt;
	[&#039;$flags&#039;] = &#039;flags&#039;,&lt;br /&gt;
	[&#039;$B&#039;] = &#039;template content&#039;,&lt;br /&gt;
	[&#039;$template-name&#039;] = &#039;template invocation name override&#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame, body)&lt;br /&gt;
	-- If we are substing, this function returns a template invocation, and if&lt;br /&gt;
	-- not, it returns the template body. The template body can be specified in&lt;br /&gt;
	-- the body parameter, or in the template parameter defined in the&lt;br /&gt;
	-- BODY_PARAM variable. This function can be called from Lua or from&lt;br /&gt;
	-- #invoke.&lt;br /&gt;
&lt;br /&gt;
	-- Return the template body if we aren&#039;t substing.&lt;br /&gt;
	if not mw.isSubsting() then&lt;br /&gt;
		if body ~= nil then&lt;br /&gt;
			return body&lt;br /&gt;
		elseif frame.args[BODY_PARAM] ~= nil then&lt;br /&gt;
			return frame.args[BODY_PARAM]&lt;br /&gt;
		else&lt;br /&gt;
			error(string.format(&lt;br /&gt;
				&amp;quot;no template content specified (use parameter &#039;%s&#039; from #invoke)&amp;quot;,&lt;br /&gt;
				BODY_PARAM&lt;br /&gt;
			), 2)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Sanity check for the frame object.&lt;br /&gt;
	if type(frame) ~= &#039;table&#039;&lt;br /&gt;
		or type(frame.getParent) ~= &#039;function&#039;&lt;br /&gt;
		or not frame:getParent()&lt;br /&gt;
	then&lt;br /&gt;
		error(&lt;br /&gt;
			&amp;quot;argument #1 to &#039;main&#039; must be a frame object with a parent &amp;quot; ..&lt;br /&gt;
			&amp;quot;frame available&amp;quot;,&lt;br /&gt;
			2&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Find the invocation name.&lt;br /&gt;
	local mTemplateInvocation = require(&#039;Module:Template invocation&#039;)&lt;br /&gt;
	local name&lt;br /&gt;
&lt;br /&gt;
	if frame.args[&#039;$template-name&#039;] and &#039;&#039; ~= frame.args[&#039;$template-name&#039;] then&lt;br /&gt;
		name = frame.args[&#039;$template-name&#039;]										-- override whatever the template name is with this name&lt;br /&gt;
	else&lt;br /&gt;
		name = mTemplateInvocation.name(frame:getParent():getTitle())&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Combine passed args with passed defaults&lt;br /&gt;
	local args = {}&lt;br /&gt;
	if string.find( &#039;,&#039;..(frame.args[&#039;$flags&#039;] or &#039;&#039;)..&#039;,&#039;, &#039;,%s*override%s*,&#039; ) then&lt;br /&gt;
		for k, v in pairs( frame:getParent().args ) do&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
		for k, v in pairs( frame.args ) do&lt;br /&gt;
			if not specialParams[k] then&lt;br /&gt;
				if v == &#039;__DATE__&#039; then&lt;br /&gt;
					v = mw.getContentLanguage():formatDate( &#039;F Y&#039; )&lt;br /&gt;
				end&lt;br /&gt;
				args[k] = v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		for k, v in pairs( frame.args ) do&lt;br /&gt;
			if not specialParams[k] then&lt;br /&gt;
				if v == &#039;__DATE__&#039; then&lt;br /&gt;
					v = mw.getContentLanguage():formatDate( &#039;F Y&#039; )&lt;br /&gt;
				end&lt;br /&gt;
				args[k] = v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for k, v in pairs( frame:getParent().args ) do&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Trim parameters, if not specified otherwise&lt;br /&gt;
	if not string.find( &#039;,&#039;..(frame.args[&#039;$flags&#039;] or &#039;&#039;)..&#039;,&#039;, &#039;,%s*keep%-whitespace%s*,&#039; ) then&lt;br /&gt;
		for k, v in pairs( args ) do args[k] = mw.ustring.match(v, &#039;^%s*(.*)%s*$&#039;) or &#039;&#039; end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Pull information from parameter aliases&lt;br /&gt;
	local aliases = {}&lt;br /&gt;
	if frame.args[&#039;$aliases&#039;] then&lt;br /&gt;
		local list = mw.text.split( frame.args[&#039;$aliases&#039;], &#039;%s*,%s*&#039; )&lt;br /&gt;
		for k, v in ipairs( list ) do&lt;br /&gt;
			local tmp = mw.text.split( v, &#039;%s*&amp;gt;%s*&#039; )&lt;br /&gt;
			aliases[tonumber(mw.ustring.match(tmp[1], &#039;^[1-9][0-9]*$&#039;)) or tmp[1]] = ((tonumber(mw.ustring.match(tmp[2], &#039;^[1-9][0-9]*$&#039;))) or tmp[2])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	for k, v in pairs( aliases ) do&lt;br /&gt;
		if args[k] and ( not args[v] or args[v] == &#039;&#039; ) then&lt;br /&gt;
			args[v] = args[k]&lt;br /&gt;
		end&lt;br /&gt;
		args[k] = nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Remove empty parameters, if specified&lt;br /&gt;
	if string.find( &#039;,&#039;..(frame.args[&#039;$flags&#039;] or &#039;&#039;)..&#039;,&#039;, &#039;,%s*remove%-empty%s*,&#039; ) then&lt;br /&gt;
		local tmp = 0&lt;br /&gt;
		for k, v in ipairs( args ) do&lt;br /&gt;
			if v ~= &#039;&#039; or ( args[k+1] and args[k+1] ~= &#039;&#039; ) or ( args[k+2] and args[k+2] ~= &#039;&#039; ) then&lt;br /&gt;
				tmp = k&lt;br /&gt;
			else&lt;br /&gt;
				break&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for k, v in pairs( args ) do&lt;br /&gt;
			if v == &#039;&#039; then&lt;br /&gt;
				if not (type(k) == &#039;number&#039; and k &amp;lt; tmp) then args[k] = nil end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Order parameters&lt;br /&gt;
	if frame.args[&#039;$params&#039;] then&lt;br /&gt;
		local params, tmp = mw.text.split( frame.args[&#039;$params&#039;], &#039;%s*,%s*&#039; ), {}&lt;br /&gt;
		for k, v in ipairs(params) do&lt;br /&gt;
			v = tonumber(mw.ustring.match(v, &#039;^[1-9][0-9]*$&#039;)) or v&lt;br /&gt;
			if args[v] then tmp[v], args[v] = args[v], nil end&lt;br /&gt;
		end&lt;br /&gt;
		for k, v in pairs(args) do tmp[k], args[k] = args[k], nil end&lt;br /&gt;
		args = tmp&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return mTemplateInvocation.invocation(name, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p[&#039;&#039;] = p.main -- For backwards compatibility&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Template:Information/styles.css&amp;diff=65435</id>
		<title>Template:Information/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Template:Information/styles.css&amp;diff=65435"/>
		<updated>2023-10-12T18:03:55Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: Created page with &amp;quot;/* {{pp|small=y}} */ .file-information { 	width: 100%; 	padding: 5px; 	border: 1px solid #a2a9b1; 	background-color: #f8f9fa; 	font-size: 95%; 	box-sizing: border-box; }  .file-information caption { 	font-weight: bold; }  .file-information td { 	padding: 2px; 	vertical-align: top; }  .file-information th { 	padding: 2px; 	vertical-align: top; 	background: #ccf; 	text-align: right; 	padding-right: 0.4em; }  /* higher specificity than the likely-later .imbox styles */ .fil...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp|small=y}} */&lt;br /&gt;
.file-information {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	padding: 5px;&lt;br /&gt;
	border: 1px solid #a2a9b1;&lt;br /&gt;
	background-color: #f8f9fa;&lt;br /&gt;
	font-size: 95%;&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.file-information caption {&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.file-information td {&lt;br /&gt;
	padding: 2px;&lt;br /&gt;
	vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.file-information th {&lt;br /&gt;
	padding: 2px;&lt;br /&gt;
	vertical-align: top;&lt;br /&gt;
	background: #ccf;&lt;br /&gt;
	text-align: right;&lt;br /&gt;
	padding-right: 0.4em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* higher specificity than the likely-later .imbox styles */&lt;br /&gt;
.file-information td .imbox {&lt;br /&gt;
	margin: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (min-width: 720px) {&lt;br /&gt;
	/* let&#039;s not enforce col widths except above 720px */&lt;br /&gt;
	.file-information th {&lt;br /&gt;
		width: 15%;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Minerva.js&amp;diff=65434</id>
		<title>MediaWiki:Minerva.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Minerva.js&amp;diff=65434"/>
		<updated>2023-10-12T17:43:08Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$( function(){&lt;br /&gt;
	if( mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; ).length &amp;gt; 1 ){&lt;br /&gt;
		var tempPageName = mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; )[0];&lt;br /&gt;
		var tempLink =&#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&#039; +  tempPageName + &#039;&amp;quot;&amp;gt;&#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
		$(&amp;quot;.page-heading&amp;quot;).after(  $( &#039;&amp;lt;p&amp;gt;&#039;).css( &#039;font-size&#039;, &#039;17px&#039;).css(&amp;quot;margin-bottom&amp;quot;, &amp;quot;8px&amp;quot;).html( tempLink ) );&lt;br /&gt;
	}&lt;br /&gt;
})&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Minerva.js&amp;diff=65433</id>
		<title>MediaWiki:Minerva.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Minerva.js&amp;diff=65433"/>
		<updated>2023-10-12T17:38:17Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: Created page with &amp;quot;$( function(){ 	if( mw.config.get(&amp;#039;wgPageName&amp;#039;).split( &amp;#039;/&amp;#039; ).length &amp;gt; 1 ){ 		var tempPageName = mw.config.get(&amp;#039;wgPageName&amp;#039;).split( &amp;#039;/&amp;#039; )[0]; 		var tempLink =&amp;#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&amp;#039; +  tempPageName + &amp;#039;&amp;quot;&amp;gt;&amp;#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;; 		$(&amp;quot;.page-heading&amp;quot;).after(  $( &amp;#039;&amp;lt;p&amp;gt;&amp;#039;).css( &amp;#039;font-size&amp;#039;, &amp;#039;17px&amp;#039;).html( tempLink ) ); 	} })&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$( function(){&lt;br /&gt;
	if( mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; ).length &amp;gt; 1 ){&lt;br /&gt;
		var tempPageName = mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; )[0];&lt;br /&gt;
		var tempLink =&#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&#039; +  tempPageName + &#039;&amp;quot;&amp;gt;&#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
		$(&amp;quot;.page-heading&amp;quot;).after(  $( &#039;&amp;lt;p&amp;gt;&#039;).css( &#039;font-size&#039;, &#039;17px&#039;).html( tempLink ) );&lt;br /&gt;
	}&lt;br /&gt;
})&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=65254</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=65254"/>
		<updated>2023-10-09T18:57:13Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Normal.ttf&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Bold.ttf&amp;quot;);&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Italic.ttf&amp;quot;);&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: Ekatra;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.action-edit #bodyContent {&lt;br /&gt;
	padding-left: 2%;&lt;br /&gt;
	padding-right: 2%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media only screen and (max-width: 600px) {&lt;br /&gt;
 #bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#firstHeading {&lt;br /&gt;
	font-family: Ekatra;&lt;br /&gt;
	font-size: 0.8em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo {&lt;br /&gt;
	margin-top: 1rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.grid_row {&lt;br /&gt;
	display: flex;&lt;br /&gt;
	flex-direction: row;&lt;br /&gt;
	flex-flow: row wrap;&lt;br /&gt;
	justify-content: space-between;&lt;br /&gt;
}&lt;br /&gt;
.grid_col {&lt;br /&gt;
	flex: 1;&lt;br /&gt;
	min-width: 250px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.error {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    border-spacing: 3px;&lt;br /&gt;
    background-color: #f8f9fa;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    width: 22em;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-name{&lt;br /&gt;
	text-align:center;&lt;br /&gt;
	font-weight: 500;&lt;br /&gt;
    font-size: 23px;&lt;br /&gt;
    line-height: 28px;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography th{&lt;br /&gt;
	text-align:left;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography td {&lt;br /&gt;
    padding-left: 10px;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-caption{&lt;br /&gt;
		text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.poem{&lt;br /&gt;
	padding-left: 3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.Poem2-Ekatra{&lt;br /&gt;
	text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-heading {&lt;br /&gt;
	font-size: 29px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-author, p.bookcover-editor{&lt;br /&gt;
	font-size: 21px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
.bookcover{&lt;br /&gt;
	padding:10px;&lt;br /&gt;
	margin-bottom:20px;&lt;br /&gt;
}&lt;br /&gt;
.heading-detail-page{&lt;br /&gt;
	width:auto; &lt;br /&gt;
	margin-left:auto; &lt;br /&gt;
	margin-right:auto; &lt;br /&gt;
	margin-bottom: 30px;&lt;br /&gt;
}&lt;br /&gt;
.tablecenter{&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.content-box.lightpink{&lt;br /&gt;
	border:2px solid #ffe2e2;&lt;br /&gt;
}&lt;br /&gt;
.content-box-heading{&lt;br /&gt;
	background:#ffe2e2;&lt;br /&gt;
	font-size: larger;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding-top: 0.1em;&lt;br /&gt;
	padding-bottom: 0.1em;&lt;br /&gt;
}&lt;br /&gt;
.content-box-text{&lt;br /&gt;
	background:#fff5f5;&lt;br /&gt;
	padding: 10px;&lt;br /&gt;
	font-size:17px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
table.autorowtable {&lt;br /&gt;
  counter-reset: rowNumber;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.autorow::before {&lt;br /&gt;
  counter-increment: rowNumber;&lt;br /&gt;
  content:  counter(rowNumber) &amp;quot;.&amp;quot; ;&lt;br /&gt;
  padding-right: 0.3em;&lt;br /&gt;
  text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* To make images responsive */&lt;br /&gt;
.res-img img {&lt;br /&gt;
	max-width:70%;&lt;br /&gt;
	height:auto;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65253</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65253"/>
		<updated>2023-10-09T18:56:54Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgIsMainPage&#039;) ){&lt;br /&gt;
		$(&#039;#firstHeading&#039;).remove();&lt;br /&gt;
		&lt;br /&gt;
		var mainpageLeft = $(&amp;quot;.mainpage-left&amp;quot;);&lt;br /&gt;
		var mainpageRight = $(&amp;quot;.mainpage-right&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mainpageLeft.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
		mainpageRight.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
		function animateLeft(){&lt;br /&gt;
			mainpageRight.animate({&#039;left&#039;: &#039;15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageRight.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateLeft() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateLeft();&lt;br /&gt;
		&lt;br /&gt;
		function animateRight(){&lt;br /&gt;
			mainpageLeft.animate({&#039;left&#039;: &#039;-15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageLeft.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateRight() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateRight();&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; ).length &amp;gt; 1 ){&lt;br /&gt;
		var tempPageName = mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; )[0];&lt;br /&gt;
		var tempLink =&#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&#039; +  tempPageName + &#039;&amp;quot;&amp;gt;&#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
		$(&amp;quot;#top&amp;quot;).after(  $( &#039;&amp;lt;p&amp;gt;&#039;).css( &#039;font-size&#039;, &#039;17px&#039;).html( tempLink ) );&lt;br /&gt;
	}&lt;br /&gt;
	if( mw.config.get(&#039;wgUserName&#039;) === null  ){&lt;br /&gt;
		$(&#039;body&#039;).bind(&#039;cut copy&#039;, function(e) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
	} else {&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onmousedown&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onselectstart&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:OCR.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:PoemButtons.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( $(&amp;quot;.wikiaudioplayer&amp;quot;).length ){&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:Green-audio-player.min.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;, &#039;text/css&#039;);&lt;br /&gt;
		$.when(&lt;br /&gt;
		    mw.loader.getScript( &#039;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		.then(&lt;br /&gt;
		    function () {&lt;br /&gt;
				GreenAudioPlayer.init({&lt;br /&gt;
				    selector: &#039;.wikiaudioplayer&#039;,&lt;br /&gt;
				    stopOthersOnPlay: true&lt;br /&gt;
				});&lt;br /&gt;
				$( &amp;quot;.wikiaudioplayer &amp;gt; audio&amp;quot;).css(&amp;quot;display&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
		    },&lt;br /&gt;
		    function ( e ) {&lt;br /&gt;
		        mw.log.error( e.message );&lt;br /&gt;
		    }&lt;br /&gt;
		);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	var sidebarCategory = $(&amp;quot;#p-Categories &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	var sidebarAuthor = $(&amp;quot;#p-Authors &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	sidebarCategory.empty();&lt;br /&gt;
	sidebarAuthor.empty();&lt;br /&gt;
&lt;br /&gt;
	mw.loader.using( [ &#039;mediawiki.api&#039; ], function(){&lt;br /&gt;
		var sel1 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarCategory );&lt;br /&gt;
		var sel2 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarAuthor );&lt;br /&gt;
		sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
		sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
		// For category Categories&lt;br /&gt;
		catMemberParam1 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Categories on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam1, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel1.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		// For category Author&lt;br /&gt;
		catMemberParam2 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Authors on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam2, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel2.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
	} );&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Long list into col&lt;br /&gt;
$( document ).ready( function(){&lt;br /&gt;
&lt;br /&gt;
	var longList = $(&amp;quot;#longList&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;),&lt;br /&gt;
		dlElements = longList.children().filter(&amp;quot;dl&amp;quot;),&lt;br /&gt;
		dlElementsLength = dlElements.length;&lt;br /&gt;
	&lt;br /&gt;
	var list1 = [],&lt;br /&gt;
		list2 = [];&lt;br /&gt;
	&lt;br /&gt;
	var count = 0;&lt;br /&gt;
	dlElements.each( function(index, ele){&lt;br /&gt;
		if( count &amp;lt; dlElementsLength/2 ){&lt;br /&gt;
			list1.push(ele);&lt;br /&gt;
			list1.push( $(ele).next() );&lt;br /&gt;
		} else {&lt;br /&gt;
			list2.push(ele);&lt;br /&gt;
			list2.push( $(ele).next() );&lt;br /&gt;
		}&lt;br /&gt;
		count = count + 1;&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.empty();&lt;br /&gt;
	&lt;br /&gt;
	var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list1.forEach( function(value, index){&lt;br /&gt;
		leftDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list2.forEach( function(value, index){&lt;br /&gt;
		rightDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.append(leftDiv, rightDiv );&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function() {&lt;br /&gt;
	var divide2cols = $(&amp;quot;#divide2cols&amp;quot;);&lt;br /&gt;
	if( divide2cols.length ){&lt;br /&gt;
		var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var parentHieght = divide2cols.height()/2;&lt;br /&gt;
		divide2cols.children().filter(&amp;quot;dl&amp;quot;).each(function() {&lt;br /&gt;
			console.log( $(this).offset().top , parentHieght );&lt;br /&gt;
			if ( $(this).offset().top &amp;gt; parentHieght ) {&lt;br /&gt;
				rightDiv.append( $(this), $(this).next() );&lt;br /&gt;
			} else {&lt;br /&gt;
				leftDiv.append( $(this), $(this).next() );&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		divide2cols.before( $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;).append(leftDiv, rightDiv) );&lt;br /&gt;
		divide2cols.remove();&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	// toggled by toggle button. also determines which toggle button image to use&lt;br /&gt;
	var useCustom = false;&lt;br /&gt;
	&lt;br /&gt;
	// toggleImgs[0] to switch to custom, toggleImgs[1] to revert to default&lt;br /&gt;
	var toggleImgs = [&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_search_black_24px.svg&#039;,&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_youtube_searched_for_black_24px.svg&#039;&lt;br /&gt;
	];&lt;br /&gt;
	var zoomInImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_in_black_24px.svg&#039;;&lt;br /&gt;
	var zoomOutImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_out_black_24px.svg&#039;;&lt;br /&gt;
	&lt;br /&gt;
	// create DOM elements&lt;br /&gt;
	$(&#039;#content&#039;).prepend(&#039;&amp;lt;div id=&amp;quot;zoomButtons&amp;quot; style=&amp;quot;z-index: 9999;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomInIcon&amp;quot; src=&amp;quot;&#039; + zoomInImg + &#039;&amp;quot; alt=&amp;quot;zoom in&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomOutIcon&amp;quot; src=&amp;quot;&#039; + zoomOutImg + &#039;&amp;quot; alt=&amp;quot;zoom out&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;toggleButton&amp;quot; src=&amp;quot;&#039; + toggleImgs[+ useCustom] + &#039;&amp;quot; alt=&amp;quot;toggle zoom&amp;quot;&amp;gt;&amp;amp;nbsp&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
	$(&#039;#zoomButtons&#039;).css({&#039;float&#039;: &#039;right&#039;});&lt;br /&gt;
	&lt;br /&gt;
	// find DOM elements used later&lt;br /&gt;
	var $bodyContent = $(&#039;.mw-body-content&#039;);&lt;br /&gt;
	var $toggleButton = $(&#039;#toggleButton&#039;);&lt;br /&gt;
	&lt;br /&gt;
	// sizes[0] is default, sizes[1] is custom&lt;br /&gt;
	var sizes = [parseFloat($(&#039;.mw-body-content&#039;).css(&#039;font-size&#039;))];&lt;br /&gt;
	// default custom zoom of 2&lt;br /&gt;
	sizes[1] = sizes[0] + 2;&lt;br /&gt;
	&lt;br /&gt;
	// the + converts bool to 0 or 1 to use as array index&lt;br /&gt;
	function updateSize() {&lt;br /&gt;
		$bodyContent.css({&#039;font-size&#039;:(sizes[+ useCustom] + &#039;pt&#039;)});&lt;br /&gt;
	}&lt;br /&gt;
	function toggle() {&lt;br /&gt;
		useCustom = !useCustom;&lt;br /&gt;
		$toggleButton.attr(&#039;src&#039;,toggleImgs[+ useCustom]);&lt;br /&gt;
		updateSize();&lt;br /&gt;
	}&lt;br /&gt;
	function zoom(dif) {&lt;br /&gt;
		sizes[1] += dif;&lt;br /&gt;
		if (useCustom) {&lt;br /&gt;
			updateSize();&lt;br /&gt;
		} else {&lt;br /&gt;
			toggle();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomInIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom +&amp;quot;);&lt;br /&gt;
		zoom(1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomOutIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom -&amp;quot;);&lt;br /&gt;
		zoom(-1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#toggleButton&#039; ).on( &#039;click&#039;, toggle );&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Convert numbers between numeral systems.&lt;br /&gt;
 *&lt;br /&gt;
 * Dependencies: jquery.cookie, mediawiki.util, mediawiki.user&lt;br /&gt;
 * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-Numerakri.js&lt;br /&gt;
 * Revision: 2019-01-11&lt;br /&gt;
 *&lt;br /&gt;
 * @copyright 2012 Daniel Friesen&lt;br /&gt;
 * @copyright 2012 Siddhartha Ghai&lt;br /&gt;
 * @copyright 2014 Bhawani Gautam&lt;br /&gt;
 * @copyright 2012-2018 Timo Tijhof&lt;br /&gt;
 * @license &amp;lt;https://opensource.org/licenses/MIT&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
/*jshint browser:true, unused:true, forin:false */&lt;br /&gt;
/*global $, mw */&lt;br /&gt;
(function () {&lt;br /&gt;
	&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
	var msgs = {&lt;br /&gt;
			&#039;option-default&#039;: {&lt;br /&gt;
				en: &#039;Default&#039;,&lt;br /&gt;
				bho: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				gu: &#039;ડિફોલ્ટ&#039;,&lt;br /&gt;
				hi: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				ne: &#039;डिफल्ट&#039;,&lt;br /&gt;
				pa: &#039;ਅਸਲ ਦਿੱਖ&#039;,&lt;br /&gt;
				sa: &#039;उत्सर्गः&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-arabic&#039;: {&lt;br /&gt;
				en: &#039;1 2 3&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-devanagari&#039;: {&lt;br /&gt;
				en: &#039;Devanagari&#039;,&lt;br /&gt;
				bho: &#039;१२३&#039;,&lt;br /&gt;
				hi: &#039;१२३&#039;,&lt;br /&gt;
				ne: &#039;१२३&#039;,&lt;br /&gt;
				sa: &#039;१२३&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gujarati&#039;: {&lt;br /&gt;
				en: &#039;૧ ૨ ૩&#039;,&lt;br /&gt;
				gu: &#039;૧ ૨ ૩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gurmukhi&#039;: {&lt;br /&gt;
				en: &#039;Gurmukhi&#039;,&lt;br /&gt;
				pa: &#039;੧੨੩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-url&#039;: {&lt;br /&gt;
				en: &#039;//www.mediawiki.org/wiki/MediaWiki_talk:Gadget-Numerakri.js&#039;,&lt;br /&gt;
				gu: &#039;//gu.wikipedia.org/wiki/વિકિસૂક્તિઃઅંક_પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;//hi.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				ne: &#039;//ne.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				pa: &#039;//pa.wikipedia.org/wiki/ਵਿਕੀਪੀਡੀਆ:ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;//sa.wikipedia.org/wiki/विकिपीडिया:अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-text&#039;: {&lt;br /&gt;
				en: &#039;Convert numerals&#039;,&lt;br /&gt;
				bho: &#039;अंक बदलाव&#039;,&lt;br /&gt;
				gu: &#039;અંક પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				ne: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-tooltip&#039;: {&lt;br /&gt;
				en: &#039;Convert between Arabic and Devanagari numerals&#039;,&lt;br /&gt;
				bho: &#039;नागरी आ अरबी अंकों में अदला-बदली करीं&#039;,&lt;br /&gt;
				gu: &#039;ગુજરાતી અને અંગ્રેજી અંકોમાં પરિવર્તન કરો&#039;,&lt;br /&gt;
				hi: &#039;नागरी और अरबी अंकों में परिवर्तन करें&#039;,&lt;br /&gt;
				ne: &#039;देवनागरी र अरबी अंकहरूमा परिवर्तन गर्नुहोस्&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕਾਂ ਨੂ ਗੁਰਮੁਖੀ ਤੇ ਅਰਬੀ ਵਿਚ ਬਦਲੇਂ&#039;,&lt;br /&gt;
				sa: &#039;देवनागरी-अरबी-अङ्कयोः चयनं करोतु&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		maps = {&lt;br /&gt;
			arabic: [&#039;0&#039;, &#039;1&#039;, &#039;2&#039;, &#039;3&#039;, &#039;4&#039;, &#039;5&#039;, &#039;6&#039;, &#039;7&#039;, &#039;8&#039;, &#039;9&#039;],&lt;br /&gt;
			devanagari: [&#039;०&#039;, &#039;१&#039;, &#039;२&#039;, &#039;३&#039;, &#039;४&#039;, &#039;५&#039;, &#039;६&#039;, &#039;७&#039;, &#039;८&#039;, &#039;९&#039;],&lt;br /&gt;
			gujarati: [&#039;૦&#039;, &#039;૧&#039;, &#039;૨&#039;, &#039;૩&#039;, &#039;૪&#039;, &#039;૫&#039;, &#039;૬&#039;, &#039;૭&#039;, &#039;૮&#039;, &#039;૯&#039;],&lt;br /&gt;
			gurmukhi: [&#039;੦&#039;, &#039;੧&#039;, &#039;੨&#039;, &#039;੩&#039;, &#039;੪&#039;, &#039;੫&#039;, &#039;੬&#039;, &#039;੭&#039;, &#039;੮&#039;, &#039;੯&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		availableMaps,&lt;br /&gt;
		currentType = &#039;default&#039;,&lt;br /&gt;
		matchers = {},&lt;br /&gt;
		walker,&lt;br /&gt;
		styleTag;&lt;br /&gt;
&lt;br /&gt;
	function isValidType(type) {&lt;br /&gt;
		return type === &#039;default&#039; || availableMaps.indexOf(type) !== -1;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {Object.&amp;lt;RegExp&amp;gt;} */&lt;br /&gt;
	function getMatchers(targetType) {&lt;br /&gt;
		var rChars;&lt;br /&gt;
		if (!matchers[targetType]) {&lt;br /&gt;
			rChars = { 0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: [] };&lt;br /&gt;
			$.each(maps, function (type, map) {&lt;br /&gt;
				if (type !== targetType) {&lt;br /&gt;
					for (var i = 0; i &amp;lt;= 9; i++) {&lt;br /&gt;
						rChars[i].push(map[i]);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			$.each(rChars, function (num, chars) {&lt;br /&gt;
				rChars[num] = new RegExp(&#039;(&#039; + chars.map(mw.RegExp.escape).join(&#039;|&#039;) + &#039;)&#039;, &#039;g&#039;);&lt;br /&gt;
			});&lt;br /&gt;
			matchers[targetType] = rChars;&lt;br /&gt;
		}&lt;br /&gt;
		return matchers[targetType];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function msg(key) {&lt;br /&gt;
		return msgs[key][mw.config.get(&#039;wgUserLanguage&#039;)] || msgs[key].en;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {HTMLElement|TextNode} node&lt;br /&gt;
	 * @return {number} NodeFilter.FILTER_* constant&lt;br /&gt;
	 */&lt;br /&gt;
	function filterNode(node) {&lt;br /&gt;
		if (node.nodeType === Node.TEXT_NODE) {&lt;br /&gt;
			return NodeFilter.FILTER_ACCEPT;&lt;br /&gt;
		}&lt;br /&gt;
		var n = node.nodeName &amp;amp;&amp;amp; node.nodeName.toLowerCase();&lt;br /&gt;
		if (n === &#039;input&#039; || n === &#039;textarea&#039; || $(node).hasClass(&#039;mw-numerakri-skip&#039;)) {&lt;br /&gt;
			// Skip this element and skip its children&lt;br /&gt;
			return NodeFilter.FILTER_REJECT;&lt;br /&gt;
		}&lt;br /&gt;
		// Skip this element, but check its children&lt;br /&gt;
		return NodeFilter.FILTER_SKIP;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {TextNode} node&lt;br /&gt;
	 */&lt;br /&gt;
	function handleTextNode(node) {&lt;br /&gt;
		var original = node.nodeValue,&lt;br /&gt;
			changed = original,&lt;br /&gt;
			matchers = getMatchers(currentType),&lt;br /&gt;
			i = 0;&lt;br /&gt;
		for (; i &amp;lt;= 9; i++) {&lt;br /&gt;
			changed = changed.replace(matchers[i], maps[currentType][i]);&lt;br /&gt;
		}&lt;br /&gt;
		if (original !== changed) {&lt;br /&gt;
			node.nodeValue = changed;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw-method-requestIdleCallback&lt;br /&gt;
	function idleWalker(deadline) {&lt;br /&gt;
		var el;&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		while (deadline.timeRemaining() &amp;gt; 0) {&lt;br /&gt;
			el = walker.nextNode();&lt;br /&gt;
			if (!el) {&lt;br /&gt;
				// Reached the end&lt;br /&gt;
				walker = null;&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			handleTextNode(el);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// The user may interact with the page. We pause so the browser can process&lt;br /&gt;
		// interaction. The text handler will continue after that.&lt;br /&gt;
		if (walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Save a browser cookie for 30 days, or remove it.&lt;br /&gt;
	 * @param {string|null} value&lt;br /&gt;
	 */&lt;br /&gt;
	function saveType(value) {&lt;br /&gt;
		mw.requestIdleCallback(function () {&lt;br /&gt;
			$.cookie(&#039;mw-numerakri-type&#039;, value, { expires: 30, path: &#039;/&#039; });&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @return {string}&lt;br /&gt;
	 */&lt;br /&gt;
	function getStoredType() {&lt;br /&gt;
		var value = $.cookie(&#039;mw-numerakri-type&#039;);&lt;br /&gt;
		if (value !== null &amp;amp;&amp;amp; !isValidType(value)) {&lt;br /&gt;
			// Remove bad cookie&lt;br /&gt;
			saveType(null);&lt;br /&gt;
			value = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return value || &#039;default&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function startPageConversion() {&lt;br /&gt;
		if (styleTag) {&lt;br /&gt;
			// Undo style for a previously selected type&lt;br /&gt;
			$(styleTag).remove();&lt;br /&gt;
			styleTag = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;default&#039;) {&lt;br /&gt;
			// Don&#039;t change the page&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;arabic&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: decimal; }&#039;);&lt;br /&gt;
		} else if (currentType === &#039;devanagari&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: devanagari; }&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// If a walker is already active, replace it.&lt;br /&gt;
		// If no walker is active yet, start it.&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
		walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, filterNode, false);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {HTMLElement} */&lt;br /&gt;
	function createSelector() {&lt;br /&gt;
		var $select = $(&#039;&amp;lt;select&amp;gt;&#039;).addClass(&#039;mw-numerakri-skip&#039;).append(&lt;br /&gt;
			$(&#039;&amp;lt;option&amp;gt;&#039;).val(&#039;default&#039;).text(msg(&#039;option-default&#039;))&lt;br /&gt;
		);&lt;br /&gt;
		availableMaps.forEach(function (type) {&lt;br /&gt;
			$select.append($(&#039;&amp;lt;option&amp;gt;&#039;).val(type).text(msg(&#039;option-&#039; + type)));&lt;br /&gt;
		});&lt;br /&gt;
		$select.val(currentType);&lt;br /&gt;
		$select.on(&#039;change&#039;, function () {&lt;br /&gt;
			currentType = this.value;&lt;br /&gt;
			startPageConversion();&lt;br /&gt;
			saveType(currentType);&lt;br /&gt;
		});&lt;br /&gt;
		return $select[0];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function init() {&lt;br /&gt;
		var potlet, menu;&lt;br /&gt;
&lt;br /&gt;
		// Decide which types to show&lt;br /&gt;
		availableMaps = [&#039;gujarati&#039;, &#039;arabic&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Decide selected type&lt;br /&gt;
		currentType = getStoredType();&lt;br /&gt;
		startPageConversion();&lt;br /&gt;
&lt;br /&gt;
		potlet = mw.util.addPortletLink(&lt;br /&gt;
			&#039;p-personal&#039;,&lt;br /&gt;
			msg(&#039;label-url&#039;),&lt;br /&gt;
			msg(&#039;label-text&#039;),&lt;br /&gt;
			&#039;pt-numconvert&#039;,&lt;br /&gt;
			msg(&#039;label-tooltip&#039;),&lt;br /&gt;
			null,&lt;br /&gt;
			mw.user.isAnon() ? &#039;#pt-createaccount&#039; : &#039;#pt-userpage&#039;&lt;br /&gt;
		);&lt;br /&gt;
		menu = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;mw-numerakri-menu&#039;).append(createSelector())[0];&lt;br /&gt;
		if(potlet) {&lt;br /&gt;
			potlet.appendChild(menu);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(function () {&lt;br /&gt;
		mw.requestIdleCallback(init);&lt;br /&gt;
	});&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=65252</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=65252"/>
		<updated>2023-10-09T18:51:30Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Normal.ttf&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Bold.ttf&amp;quot;);&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Italic.ttf&amp;quot;);&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: Ekatra;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.action-edit #bodyContent {&lt;br /&gt;
	padding-left: 2%;&lt;br /&gt;
	padding-right: 2%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media only screen and (max-width: 600px) {&lt;br /&gt;
 #bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#firstHeading {&lt;br /&gt;
	font-family: Ekatra;&lt;br /&gt;
	font-size: 0.8em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo {&lt;br /&gt;
	margin-top: 1rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.grid_row {&lt;br /&gt;
	display: flex;&lt;br /&gt;
	flex-direction: row;&lt;br /&gt;
	flex-flow: row wrap;&lt;br /&gt;
	justify-content: space-between;&lt;br /&gt;
}&lt;br /&gt;
.grid_col {&lt;br /&gt;
	flex: 1;&lt;br /&gt;
	min-width: 250px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.error {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    border-spacing: 3px;&lt;br /&gt;
    background-color: #f8f9fa;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    width: 22em;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-name{&lt;br /&gt;
	text-align:center;&lt;br /&gt;
	font-weight: 500;&lt;br /&gt;
    font-size: 23px;&lt;br /&gt;
    line-height: 28px;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography th{&lt;br /&gt;
	text-align:left;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography td {&lt;br /&gt;
    padding-left: 10px;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-caption{&lt;br /&gt;
		text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.poem{&lt;br /&gt;
	padding-left: 3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.Poem2-Ekatra{&lt;br /&gt;
	text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-heading {&lt;br /&gt;
	font-size: 29px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-author, p.bookcover-editor{&lt;br /&gt;
	font-size: 21px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
.bookcover{&lt;br /&gt;
	padding:10px;&lt;br /&gt;
	margin-bottom:20px;&lt;br /&gt;
}&lt;br /&gt;
.heading-detail-page{&lt;br /&gt;
	width:auto; &lt;br /&gt;
	margin-left:auto; &lt;br /&gt;
	margin-right:auto; &lt;br /&gt;
	margin-bottom: 30px;&lt;br /&gt;
}&lt;br /&gt;
.tablecenter{&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.content-box.lightpink{&lt;br /&gt;
	border:2px solid #ffe2e2;&lt;br /&gt;
}&lt;br /&gt;
.content-box-heading{&lt;br /&gt;
	background:#ffe2e2;&lt;br /&gt;
	font-size: larger;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding-top: 0.1em;&lt;br /&gt;
	padding-bottom: 0.1em;&lt;br /&gt;
}&lt;br /&gt;
.content-box-text{&lt;br /&gt;
	background:#fff5f5;&lt;br /&gt;
	padding: 10px;&lt;br /&gt;
	font-size:17px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
table.autorowtable {&lt;br /&gt;
  counter-reset: rowNumber;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.autorow::before {&lt;br /&gt;
  counter-increment: rowNumber;&lt;br /&gt;
  content:  counter(rowNumber) &amp;quot;.&amp;quot; ;&lt;br /&gt;
  padding-right: 0.3em;&lt;br /&gt;
  text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* To make images responsive */&lt;br /&gt;
.res-img img {&lt;br /&gt;
	max-width:70%;&lt;br /&gt;
	height:auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.wikiaudioplayer &amp;gt; audio {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=65251</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=65251"/>
		<updated>2023-10-09T18:51:03Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;wikiaudioplayer&amp;quot;&amp;gt;&amp;lt;audio src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;diff=65250</id>
		<title>MediaWiki:Green-audio-player.min.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;diff=65250"/>
		<updated>2023-10-09T18:41:21Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(function(f){if(typeof exports===&amp;quot;object&amp;quot;&amp;amp;&amp;amp;typeof module!==&amp;quot;undefined&amp;quot;){module.exports=f()}else if(typeof define===&amp;quot;function&amp;quot;&amp;amp;&amp;amp;define.amd){define([],f)}else{var g;if(typeof window!==&amp;quot;undefined&amp;quot;){g=window}else if(typeof global!==&amp;quot;undefined&amp;quot;){g=global}else if(typeof self!==&amp;quot;undefined&amp;quot;){g=self}else{g=this}g.GreenAudioPlayer = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=&amp;quot;function&amp;quot;==typeof require&amp;amp;&amp;amp;require;if(!f&amp;amp;&amp;amp;c)return c(i,!0);if(u)return u(i,!0);var a=new Error(&amp;quot;Cannot find module &#039;&amp;quot;+i+&amp;quot;&#039;&amp;quot;);throw a.code=&amp;quot;MODULE_NOT_FOUND&amp;quot;,a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=&amp;quot;function&amp;quot;==typeof require&amp;amp;&amp;amp;require,i=0;i&amp;lt;t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){&lt;br /&gt;
&amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
module.exports = require(&#039;./src/js/main&#039;).default;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;./src/js/main&amp;quot;:2}],2:[function(require,module,exports){&lt;br /&gt;
&amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
  value: true&lt;br /&gt;
});&lt;br /&gt;
exports.default = void 0;&lt;br /&gt;
&lt;br /&gt;
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }&lt;br /&gt;
&lt;br /&gt;
function _nonIterableRest() { throw new TypeError(&amp;quot;Invalid attempt to destructure non-iterable instance&amp;quot;); }&lt;br /&gt;
&lt;br /&gt;
function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === &amp;quot;[object Arguments]&amp;quot;)) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;amp;&amp;amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;amp;&amp;amp; _i[&amp;quot;return&amp;quot;] != null) _i[&amp;quot;return&amp;quot;](); } finally { if (_d) throw _e; } } return _arr; }&lt;br /&gt;
&lt;br /&gt;
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }&lt;br /&gt;
&lt;br /&gt;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(&amp;quot;Cannot call a class as a function&amp;quot;); } }&lt;br /&gt;
&lt;br /&gt;
function _defineProperties(target, props) { for (var i = 0; i &amp;lt; props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (&amp;quot;value&amp;quot; in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }&lt;br /&gt;
&lt;br /&gt;
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }&lt;br /&gt;
&lt;br /&gt;
var GreenAudioPlayer = /*#__PURE__*/function () {&lt;br /&gt;
  function GreenAudioPlayer(player, options) {&lt;br /&gt;
    _classCallCheck(this, GreenAudioPlayer);&lt;br /&gt;
&lt;br /&gt;
    this.audioPlayer = typeof player === &#039;string&#039; ? document.querySelector(player) : player;&lt;br /&gt;
    var opts = options || {};&lt;br /&gt;
    var audioElement = this.audioPlayer.innerHTML;&lt;br /&gt;
    this.audioPlayer.classList.add(&#039;green-audio-player&#039;);&lt;br /&gt;
    this.audioPlayer.innerHTML = GreenAudioPlayer.getTemplate() + audioElement;&lt;br /&gt;
    this.isDevice = /ipad|iphone|ipod|android/i.test(window.navigator.userAgent.toLowerCase()) &amp;amp;&amp;amp; !window.MSStream;&lt;br /&gt;
    this.playPauseBtn = this.audioPlayer.querySelector(&#039;.play-pause-btn&#039;);&lt;br /&gt;
    this.loading = this.audioPlayer.querySelector(&#039;.loading&#039;);&lt;br /&gt;
    this.sliders = this.audioPlayer.querySelectorAll(&#039;.slider&#039;);&lt;br /&gt;
    this.progress = this.audioPlayer.querySelector(&#039;.controls__progress&#039;);&lt;br /&gt;
    this.volumeBtn = this.audioPlayer.querySelector(&#039;.volume__button&#039;);&lt;br /&gt;
    this.volumeControls = this.audioPlayer.querySelector(&#039;.volume__controls&#039;);&lt;br /&gt;
    this.volumeProgress = this.volumeControls.querySelector(&#039;.volume__progress&#039;);&lt;br /&gt;
    this.player = this.audioPlayer.querySelector(&#039;audio&#039;);&lt;br /&gt;
    this.currentTime = this.audioPlayer.querySelector(&#039;.controls__current-time&#039;);&lt;br /&gt;
    this.totalTime = this.audioPlayer.querySelector(&#039;.controls__total-time&#039;);&lt;br /&gt;
    this.speaker = this.audioPlayer.querySelector(&#039;.volume__speaker&#039;);&lt;br /&gt;
    this.download = this.audioPlayer.querySelector(&#039;.download&#039;);&lt;br /&gt;
    this.downloadLink = this.audioPlayer.querySelector(&#039;.download__link&#039;);&lt;br /&gt;
    this.span = this.audioPlayer.querySelectorAll(&#039;.message__offscreen&#039;);&lt;br /&gt;
    this.svg = this.audioPlayer.getElementsByTagName(&#039;svg&#039;);&lt;br /&gt;
    this.img = this.audioPlayer.getElementsByTagName(&#039;img&#039;);&lt;br /&gt;
    this.draggableClasses = [&#039;pin&#039;];&lt;br /&gt;
    this.currentlyDragged = null;&lt;br /&gt;
    this.stopOthersOnPlay = opts.stopOthersOnPlay || false;&lt;br /&gt;
    this.enableKeystrokes = opts.enableKeystrokes || false;&lt;br /&gt;
    this.showTooltips = opts.showTooltips || false;&lt;br /&gt;
    var self = this;&lt;br /&gt;
    this.labels = {&lt;br /&gt;
      volume: {&lt;br /&gt;
        open: &#039;Open Volume Controls&#039;,&lt;br /&gt;
        close: &#039;Close Volume Controls&#039;&lt;br /&gt;
      },&lt;br /&gt;
      pause: &#039;Pause&#039;,&lt;br /&gt;
      play: &#039;Play&#039;,&lt;br /&gt;
      download: &#039;Download&#039;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    if (!this.enableKeystrokes) {&lt;br /&gt;
      for (var i = 0; i &amp;lt; this.span.length; i++) {&lt;br /&gt;
        this.span[i].outerHTML = &#039;&#039;;&lt;br /&gt;
      }&lt;br /&gt;
    } else {&lt;br /&gt;
      window.addEventListener(&#039;keydown&#039;, this.pressKb.bind(self), false);&lt;br /&gt;
      window.addEventListener(&#039;keyup&#039;, this.unPressKb.bind(self), false);&lt;br /&gt;
      this.sliders[0].setAttribute(&#039;tabindex&#039;, 0);&lt;br /&gt;
      this.sliders[1].setAttribute(&#039;tabindex&#039;, 0);&lt;br /&gt;
      this.download.setAttribute(&#039;tabindex&#039;, -1);&lt;br /&gt;
      this.downloadLink.setAttribute(&#039;tabindex&#039;, -1);&lt;br /&gt;
&lt;br /&gt;
      for (var j = 0; j &amp;lt; this.svg.length; j++) {&lt;br /&gt;
        this.svg[j].setAttribute(&#039;tabindex&#039;, 0);&lt;br /&gt;
        this.svg[j].setAttribute(&#039;focusable&#039;, true);&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      for (var k = 0; k &amp;lt; this.img.length; k++) {&lt;br /&gt;
        this.img[k].setAttribute(&#039;tabindex&#039;, 0);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (this.showTooltips) {&lt;br /&gt;
      this.playPauseBtn.setAttribute(&#039;title&#039;, this.labels.play);&lt;br /&gt;
      this.volumeBtn.setAttribute(&#039;title&#039;, this.labels.volume.open);&lt;br /&gt;
      this.downloadLink.setAttribute(&#039;title&#039;, this.labels.download);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (opts.outlineControls || false) {&lt;br /&gt;
      this.audioPlayer.classList.add(&#039;player-accessible&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (opts.showDownloadButton || false) {&lt;br /&gt;
      this.showDownload();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    this.initEvents();&lt;br /&gt;
    this.directionAware();&lt;br /&gt;
    this.overcomeIosLimitations();&lt;br /&gt;
&lt;br /&gt;
    if (&#039;autoplay&#039; in this.player.attributes) {&lt;br /&gt;
      var promise = this.player.play();&lt;br /&gt;
&lt;br /&gt;
      if (promise !== undefined) {&lt;br /&gt;
        promise.then(function () {&lt;br /&gt;
          var playPauseButton = self.player.parentElement.querySelector(&#039;.play-pause-btn__icon&#039;);&lt;br /&gt;
          playPauseButton.attributes.d.value = &#039;M0 0h6v24H0zM12 0h6v24h-6z&#039;;&lt;br /&gt;
          self.playPauseBtn.setAttribute(&#039;aria-label&#039;, self.labels.pause);&lt;br /&gt;
          self.hasSetAttribute(self.playPauseBtn, &#039;title&#039;, self.labels.pause);&lt;br /&gt;
        }).catch(function () {&lt;br /&gt;
          // eslint-disable-next-line no-console&lt;br /&gt;
          console.error(&#039;Green Audio Player Error: Autoplay has been prevented, because it is not allowed by this browser.&#039;);&lt;br /&gt;
        });&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (&#039;preload&#039; in this.player.attributes &amp;amp;&amp;amp; this.player.attributes.preload.value === &#039;none&#039;) {&lt;br /&gt;
      this.playPauseBtn.style.visibility = &#039;visible&#039;;&lt;br /&gt;
      this.loading.style.visibility = &#039;hidden&#039;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  _createClass(GreenAudioPlayer, [{&lt;br /&gt;
    key: &amp;quot;initEvents&amp;quot;,&lt;br /&gt;
    value: function initEvents() {&lt;br /&gt;
      var self = this;&lt;br /&gt;
      self.audioPlayer.addEventListener(&#039;mousedown&#039;, function (event) {&lt;br /&gt;
        if (self.isDraggable(event.target)) {&lt;br /&gt;
          self.currentlyDragged = event.target;&lt;br /&gt;
          var handleMethod = self.currentlyDragged.dataset.method;&lt;br /&gt;
          var listener = self[handleMethod].bind(self);&lt;br /&gt;
          window.addEventListener(&#039;mousemove&#039;, listener, false);&lt;br /&gt;
&lt;br /&gt;
          if (self.currentlyDragged.parentElement.parentElement === self.sliders[0]) {&lt;br /&gt;
            self.paused = self.player.paused;&lt;br /&gt;
            if (self.paused === false) self.togglePlay();&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          window.addEventListener(&#039;mouseup&#039;, function () {&lt;br /&gt;
            if (self.currentlyDragged !== false &amp;amp;&amp;amp; self.currentlyDragged.parentElement.parentElement === self.sliders[0] &amp;amp;&amp;amp; self.paused !== self.player.paused) {&lt;br /&gt;
              self.togglePlay();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            self.currentlyDragged = false;&lt;br /&gt;
            window.removeEventListener(&#039;mousemove&#039;, listener, false);&lt;br /&gt;
          }, false);&lt;br /&gt;
        }&lt;br /&gt;
      }); // for mobile touches&lt;br /&gt;
&lt;br /&gt;
      self.audioPlayer.addEventListener(&#039;touchstart&#039;, function (event) {&lt;br /&gt;
        if (self.isDraggable(event.target)) {&lt;br /&gt;
          var _event$targetTouches = _slicedToArray(event.targetTouches, 1);&lt;br /&gt;
&lt;br /&gt;
          self.currentlyDragged = _event$targetTouches[0];&lt;br /&gt;
          var handleMethod = self.currentlyDragged.target.dataset.method;&lt;br /&gt;
          var listener = self[handleMethod].bind(self);&lt;br /&gt;
          window.addEventListener(&#039;touchmove&#039;, listener, false);&lt;br /&gt;
&lt;br /&gt;
          if (self.currentlyDragged.parentElement.parentElement === self.sliders[0]) {&lt;br /&gt;
            self.paused = self.player.paused;&lt;br /&gt;
            if (self.paused === false) self.togglePlay();&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          window.addEventListener(&#039;touchend&#039;, function () {&lt;br /&gt;
            if (self.currentlyDragged !== false &amp;amp;&amp;amp; self.currentlyDragged.parentElement.parentElement === self.sliders[0] &amp;amp;&amp;amp; self.paused !== self.player.paused) {&lt;br /&gt;
              self.togglePlay();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            self.currentlyDragged = false;&lt;br /&gt;
            window.removeEventListener(&#039;touchmove&#039;, listener, false);&lt;br /&gt;
          }, false);&lt;br /&gt;
          event.preventDefault();&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      this.playPauseBtn.addEventListener(&#039;click&#039;, this.togglePlay.bind(self));&lt;br /&gt;
      this.player.addEventListener(&#039;timeupdate&#039;, this.updateProgress.bind(self));&lt;br /&gt;
      this.player.addEventListener(&#039;volumechange&#039;, this.updateVolume.bind(self));&lt;br /&gt;
      this.player.volume = 0.81;&lt;br /&gt;
      this.player.addEventListener(&#039;loadedmetadata&#039;, function () {&lt;br /&gt;
        self.totalTime.textContent = GreenAudioPlayer.formatTime(self.player.duration);&lt;br /&gt;
      });&lt;br /&gt;
      this.player.addEventListener(&#039;seeking&#039;, this.showLoadingIndicator.bind(self));&lt;br /&gt;
      this.player.addEventListener(&#039;seeked&#039;, this.hideLoadingIndicator.bind(self));&lt;br /&gt;
      this.player.addEventListener(&#039;canplay&#039;, this.hideLoadingIndicator.bind(self));&lt;br /&gt;
      this.player.addEventListener(&#039;ended&#039;, function () {&lt;br /&gt;
        GreenAudioPlayer.pausePlayer(self.player, &#039;ended&#039;);&lt;br /&gt;
        self.player.currentTime = 0;&lt;br /&gt;
        self.playPauseBtn.setAttribute(&#039;aria-label&#039;, self.labels.play);&lt;br /&gt;
        self.hasSetAttribute(self.playPauseBtn, &#039;title&#039;, self.labels.play);&lt;br /&gt;
      });&lt;br /&gt;
      this.volumeBtn.addEventListener(&#039;click&#039;, this.showHideVolume.bind(self));&lt;br /&gt;
      window.addEventListener(&#039;resize&#039;, self.directionAware.bind(self));&lt;br /&gt;
      window.addEventListener(&#039;scroll&#039;, self.directionAware.bind(self));&lt;br /&gt;
&lt;br /&gt;
      for (var i = 0; i &amp;lt; this.sliders.length; i++) {&lt;br /&gt;
        var pin = this.sliders[i].querySelector(&#039;.pin&#039;);&lt;br /&gt;
        this.sliders[i].addEventListener(&#039;click&#039;, self[pin.dataset.method].bind(self));&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      this.downloadLink.addEventListener(&#039;click&#039;, this.downloadAudio.bind(self));&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;overcomeIosLimitations&amp;quot;,&lt;br /&gt;
    value: function overcomeIosLimitations() {&lt;br /&gt;
      var self = this;&lt;br /&gt;
&lt;br /&gt;
      if (this.isDevice) {&lt;br /&gt;
        // iOS does not support &amp;quot;canplay&amp;quot; event&lt;br /&gt;
        this.player.addEventListener(&#039;loadedmetadata&#039;, this.hideLoadingIndicator.bind(self)); // iOS does not let &amp;quot;volume&amp;quot; property to be set programmatically&lt;br /&gt;
&lt;br /&gt;
        this.audioPlayer.querySelector(&#039;.volume&#039;).style.display = &#039;none&#039;;&lt;br /&gt;
        this.audioPlayer.querySelector(&#039;.controls&#039;).style.marginRight = &#039;0&#039;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;isDraggable&amp;quot;,&lt;br /&gt;
    value: function isDraggable(el) {&lt;br /&gt;
      var canDrag = false;&lt;br /&gt;
      if (typeof el.classList === &#039;undefined&#039;) return false; // fix for IE 11 not supporting classList on SVG elements&lt;br /&gt;
&lt;br /&gt;
      for (var i = 0; i &amp;lt; this.draggableClasses.length; i++) {&lt;br /&gt;
        if (el.classList.contains(this.draggableClasses[i])) {&lt;br /&gt;
          canDrag = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      return canDrag;&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;inRange&amp;quot;,&lt;br /&gt;
    value: function inRange(event) {&lt;br /&gt;
      var touch = &#039;touches&#039; in event; // instanceof TouchEvent may also be used&lt;br /&gt;
&lt;br /&gt;
      var rangeBox = this.getRangeBox(event);&lt;br /&gt;
      var sliderPositionAndDimensions = rangeBox.getBoundingClientRect();&lt;br /&gt;
      var direction = rangeBox.dataset.direction;&lt;br /&gt;
      var min = null;&lt;br /&gt;
      var max = null;&lt;br /&gt;
&lt;br /&gt;
      if (direction === &#039;horizontal&#039;) {&lt;br /&gt;
        min = sliderPositionAndDimensions.x;&lt;br /&gt;
        max = min + sliderPositionAndDimensions.width;&lt;br /&gt;
        var clientX = touch ? event.touches[0].clientX : event.clientX;&lt;br /&gt;
        if (clientX &amp;lt; min || clientX &amp;gt; max) return false;&lt;br /&gt;
      } else {&lt;br /&gt;
        min = sliderPositionAndDimensions.top;&lt;br /&gt;
        max = min + sliderPositionAndDimensions.height;&lt;br /&gt;
        var clientY = touch ? event.touches[0].clientY : event.clientY;&lt;br /&gt;
        if (clientY &amp;lt; min || clientY &amp;gt; max) return false;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      return true;&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;updateProgress&amp;quot;,&lt;br /&gt;
    value: function updateProgress() {&lt;br /&gt;
      var current = this.player.currentTime;&lt;br /&gt;
      var percent = current / this.player.duration * 100;&lt;br /&gt;
      this.progress.setAttribute(&#039;aria-valuenow&#039;, percent);&lt;br /&gt;
      this.progress.style.width = &amp;quot;&amp;quot;.concat(percent, &amp;quot;%&amp;quot;);&lt;br /&gt;
      this.currentTime.textContent = GreenAudioPlayer.formatTime(current);&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;updateVolume&amp;quot;,&lt;br /&gt;
    value: function updateVolume() {&lt;br /&gt;
      this.volumeProgress.setAttribute(&#039;aria-valuenow&#039;, this.player.volume * 100);&lt;br /&gt;
      this.volumeProgress.style.height = &amp;quot;&amp;quot;.concat(this.player.volume * 100, &amp;quot;%&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
      if (this.player.volume &amp;gt;= 0.5) {&lt;br /&gt;
        this.speaker.attributes.d.value = &#039;M14.667 0v2.747c3.853 1.146 6.666 4.72 6.666 8.946 0 4.227-2.813 7.787-6.666 8.934v2.76C20 22.173 24 17.4 24 11.693 24 5.987 20 1.213 14.667 0zM18 11.693c0-2.36-1.333-4.386-3.333-5.373v10.707c2-.947 3.333-2.987 3.333-5.334zm-18-4v8h5.333L12 22.36V1.027L5.333 7.693H0z&#039;;&lt;br /&gt;
      } else if (this.player.volume &amp;lt; 0.5 &amp;amp;&amp;amp; this.player.volume &amp;gt; 0.05) {&lt;br /&gt;
        this.speaker.attributes.d.value = &#039;M0 7.667v8h5.333L12 22.333V1L5.333 7.667M17.333 11.373C17.333 9.013 16 6.987 14 6v10.707c2-.947 3.333-2.987 3.333-5.334z&#039;;&lt;br /&gt;
      } else if (this.player.volume &amp;lt;= 0.05) {&lt;br /&gt;
        this.speaker.attributes.d.value = &#039;M0 7.667v8h5.333L12 22.333V1L5.333 7.667&#039;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;getRangeBox&amp;quot;,&lt;br /&gt;
    value: function getRangeBox(event) {&lt;br /&gt;
      var rangeBox = event.target;&lt;br /&gt;
      var el = this.currentlyDragged;&lt;br /&gt;
&lt;br /&gt;
      if (event.type === &#039;click&#039; &amp;amp;&amp;amp; this.isDraggable(event.target)) {&lt;br /&gt;
        rangeBox = event.target.parentElement.parentElement;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      if (event.type === &#039;mousemove&#039;) {&lt;br /&gt;
        rangeBox = el.parentElement.parentElement;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      if (event.type === &#039;touchmove&#039;) {&lt;br /&gt;
        rangeBox = el.target.parentElement.parentElement;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      return rangeBox;&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;getCoefficient&amp;quot;,&lt;br /&gt;
    value: function getCoefficient(event) {&lt;br /&gt;
      var touch = &#039;touches&#039; in event; // instanceof TouchEvent may also be used&lt;br /&gt;
&lt;br /&gt;
      var slider = this.getRangeBox(event);&lt;br /&gt;
      var sliderPositionAndDimensions = slider.getBoundingClientRect();&lt;br /&gt;
      var K = 0;&lt;br /&gt;
&lt;br /&gt;
      if (slider.dataset.direction === &#039;horizontal&#039;) {&lt;br /&gt;
        // if event is touch&lt;br /&gt;
        var clientX = touch ? event.touches[0].clientX : event.clientX;&lt;br /&gt;
        var offsetX = clientX - sliderPositionAndDimensions.left;&lt;br /&gt;
        var width = sliderPositionAndDimensions.width;&lt;br /&gt;
        K = offsetX / width;&lt;br /&gt;
      } else if (slider.dataset.direction === &#039;vertical&#039;) {&lt;br /&gt;
        var height = sliderPositionAndDimensions.height;&lt;br /&gt;
        var clientY = touch ? event.touches[0].clientY : event.clientY;&lt;br /&gt;
        var offsetY = clientY - sliderPositionAndDimensions.top;&lt;br /&gt;
        K = 1 - offsetY / height;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      return K;&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;rewind&amp;quot;,&lt;br /&gt;
    value: function rewind(event) {&lt;br /&gt;
      if (this.player.seekable &amp;amp;&amp;amp; this.player.seekable.length) {&lt;br /&gt;
        // no seek if not (pre)loaded&lt;br /&gt;
        if (this.inRange(event)) {&lt;br /&gt;
          this.player.currentTime = this.player.duration * this.getCoefficient(event);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;showVolume&amp;quot;,&lt;br /&gt;
    value: function showVolume() {&lt;br /&gt;
      if (this.volumeBtn.getAttribute(&#039;aria-attribute&#039;) === this.labels.volume.open) {&lt;br /&gt;
        this.volumeControls.classList.remove(&#039;hidden&#039;);&lt;br /&gt;
        this.volumeBtn.classList.add(&#039;open&#039;);&lt;br /&gt;
        this.volumeBtn.setAttribute(&#039;aria-label&#039;, this.labels.volume.close);&lt;br /&gt;
        this.hasSetAttribute(this.volumeBtn, &#039;title&#039;, this.labels.volume.close);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;showHideVolume&amp;quot;,&lt;br /&gt;
    value: function showHideVolume() {&lt;br /&gt;
      this.volumeControls.classList.toggle(&#039;hidden&#039;);&lt;br /&gt;
&lt;br /&gt;
      if (this.volumeBtn.getAttribute(&#039;aria-label&#039;) === this.labels.volume.open) {&lt;br /&gt;
        this.volumeBtn.setAttribute(&#039;aria-label&#039;, this.labels.volume.close);&lt;br /&gt;
        this.hasSetAttribute(this.volumeBtn, &#039;title&#039;, this.labels.volume.close);&lt;br /&gt;
        this.volumeBtn.classList.add(&#039;open&#039;);&lt;br /&gt;
      } else {&lt;br /&gt;
        this.volumeBtn.setAttribute(&#039;aria-label&#039;, this.labels.volume.open);&lt;br /&gt;
        this.hasSetAttribute(this.volumeBtn, &#039;title&#039;, this.labels.volume.open);&lt;br /&gt;
        this.volumeBtn.classList.remove(&#039;open&#039;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;changeVolume&amp;quot;,&lt;br /&gt;
    value: function changeVolume(event) {&lt;br /&gt;
      if (this.inRange(event)) {&lt;br /&gt;
        this.player.volume = Math.round(this.getCoefficient(event) * 50) / 50;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;preloadNone&amp;quot;,&lt;br /&gt;
    value: function preloadNone() {&lt;br /&gt;
      var self = this;&lt;br /&gt;
&lt;br /&gt;
      if (!this.player.duration) {&lt;br /&gt;
        self.playPauseBtn.style.visibility = &#039;hidden&#039;;&lt;br /&gt;
        self.loading.style.visibility = &#039;visible&#039;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;togglePlay&amp;quot;,&lt;br /&gt;
    value: function togglePlay() {&lt;br /&gt;
      this.preloadNone();&lt;br /&gt;
&lt;br /&gt;
      if (this.player.paused) {&lt;br /&gt;
        if (this.stopOthersOnPlay) {&lt;br /&gt;
          GreenAudioPlayer.stopOtherPlayers();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        GreenAudioPlayer.playPlayer(this.player);&lt;br /&gt;
        this.playPauseBtn.setAttribute(&#039;aria-label&#039;, this.labels.pause);&lt;br /&gt;
        this.hasSetAttribute(this.playPauseBtn, &#039;title&#039;, this.labels.pause);&lt;br /&gt;
      } else {&lt;br /&gt;
        GreenAudioPlayer.pausePlayer(this.player, &#039;toggle&#039;);&lt;br /&gt;
        this.playPauseBtn.setAttribute(&#039;aria-label&#039;, this.labels.play);&lt;br /&gt;
        this.hasSetAttribute(this.playPauseBtn, &#039;title&#039;, this.labels.play);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;hasSetAttribute&amp;quot;,&lt;br /&gt;
    value: function hasSetAttribute(el, a, v) {&lt;br /&gt;
      if (this.showTooltips) {&lt;br /&gt;
        if (el.hasAttribute(a)) {&lt;br /&gt;
          el.setAttribute(a, v);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;setCurrentTime&amp;quot;,&lt;br /&gt;
    value: function setCurrentTime(time) {&lt;br /&gt;
      var pos = this.player.currentTime;&lt;br /&gt;
      var end = Math.floor(this.player.duration);&lt;br /&gt;
&lt;br /&gt;
      if (pos + time &amp;lt; 0 &amp;amp;&amp;amp; pos === 0) {&lt;br /&gt;
        this.player.currentTime = this.player.currentTime;&lt;br /&gt;
      } else if (pos + time &amp;lt; 0) {&lt;br /&gt;
        this.player.currentTime = 0;&lt;br /&gt;
      } else if (pos + time &amp;gt; end) {&lt;br /&gt;
        this.player.currentTime = end;&lt;br /&gt;
      } else {&lt;br /&gt;
        this.player.currentTime += time;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;setVolume&amp;quot;,&lt;br /&gt;
    value: function setVolume(volume) {&lt;br /&gt;
      if (this.isDevice) return;&lt;br /&gt;
      var vol = this.player.volume;&lt;br /&gt;
&lt;br /&gt;
      if (vol + volume &amp;gt;= 0 &amp;amp;&amp;amp; vol + volume &amp;lt; 1) {&lt;br /&gt;
        this.player.volume += volume;&lt;br /&gt;
      } else if (vol + volume &amp;lt;= 0) {&lt;br /&gt;
        this.player.volume = 0;&lt;br /&gt;
      } else {&lt;br /&gt;
        this.player.volume = 1;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;unPressKb&amp;quot;,&lt;br /&gt;
    value: function unPressKb(event) {&lt;br /&gt;
      var evt = event || window.event;&lt;br /&gt;
&lt;br /&gt;
      if (this.seeking &amp;amp;&amp;amp; (evt.keyCode === 37 || evt.keyCode === 39)) {&lt;br /&gt;
        this.togglePlay();&lt;br /&gt;
        this.seeking = false;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;pressKb&amp;quot;,&lt;br /&gt;
    value: function pressKb(event) {&lt;br /&gt;
      var evt = event || window.event;&lt;br /&gt;
&lt;br /&gt;
      switch (evt.keyCode) {&lt;br /&gt;
        case 13: // Enter&lt;br /&gt;
&lt;br /&gt;
        case 32:&lt;br /&gt;
          // Spacebar&lt;br /&gt;
          if (document.activeElement.parentNode === this.playPauseBtn) {&lt;br /&gt;
            this.togglePlay();&lt;br /&gt;
          } else if (document.activeElement.parentNode === this.volumeBtn || document.activeElement === this.sliders[1]) {&lt;br /&gt;
            if (document.activeElement === this.sliders[1]) {&lt;br /&gt;
              try {&lt;br /&gt;
                // IE 11 not supporting programmatic focus on svg elements&lt;br /&gt;
                this.volumeBtn.children[0].focus();&lt;br /&gt;
              } catch (error) {&lt;br /&gt;
                this.volumeBtn.focus();&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            this.showHideVolume();&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          if (evt.keyCode === 13 &amp;amp;&amp;amp; this.showDownload &amp;amp;&amp;amp; document.activeElement.parentNode === this.downloadLink) {&lt;br /&gt;
            this.downloadLink.focus();&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          break;&lt;br /&gt;
&lt;br /&gt;
        case 37:&lt;br /&gt;
        case 39:&lt;br /&gt;
          // horizontal Arrows&lt;br /&gt;
          if (document.activeElement === this.sliders[0]) {&lt;br /&gt;
            if (evt.keyCode === 37) {&lt;br /&gt;
              this.setCurrentTime(-5);&lt;br /&gt;
            } else {&lt;br /&gt;
              this.setCurrentTime(+5);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (!this.player.paused &amp;amp;&amp;amp; this.player.seeking) {&lt;br /&gt;
              this.togglePlay();&lt;br /&gt;
              this.seeking = true;&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          break;&lt;br /&gt;
&lt;br /&gt;
        case 38:&lt;br /&gt;
        case 40:&lt;br /&gt;
          // vertical Arrows&lt;br /&gt;
          if (document.activeElement.parentNode === this.volumeBtn || document.activeElement === this.sliders[1]) {&lt;br /&gt;
            if (evt.keyCode === 38) {&lt;br /&gt;
              this.setVolume(0.05);&lt;br /&gt;
            } else {&lt;br /&gt;
              this.setVolume(-0.05);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          if (document.activeElement.parentNode === this.volumeBtn) {&lt;br /&gt;
            this.showVolume();&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          break;&lt;br /&gt;
&lt;br /&gt;
        default:&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;showLoadingIndicator&amp;quot;,&lt;br /&gt;
    value: function showLoadingIndicator() {&lt;br /&gt;
      this.playPauseBtn.style.visibility = &#039;hidden&#039;;&lt;br /&gt;
      this.loading.style.visibility = &#039;visible&#039;;&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;hideLoadingIndicator&amp;quot;,&lt;br /&gt;
    value: function hideLoadingIndicator() {&lt;br /&gt;
      this.playPauseBtn.style.visibility = &#039;visible&#039;;&lt;br /&gt;
      this.loading.style.visibility = &#039;hidden&#039;;&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;showDownload&amp;quot;,&lt;br /&gt;
    value: function showDownload() {&lt;br /&gt;
      this.download.style.display = &#039;block&#039;;&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;downloadAudio&amp;quot;,&lt;br /&gt;
    value: function downloadAudio() {&lt;br /&gt;
      var src = this.player.currentSrc;&lt;br /&gt;
      var name = src.split(&#039;/&#039;).reverse()[0];&lt;br /&gt;
      this.downloadLink.setAttribute(&#039;href&#039;, src);&lt;br /&gt;
      this.downloadLink.setAttribute(&#039;download&#039;, name);&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;directionAware&amp;quot;,&lt;br /&gt;
    value: function directionAware() {&lt;br /&gt;
      this.volumeControls.classList.remove(&#039;top&#039;, &#039;middle&#039;, &#039;bottom&#039;);&lt;br /&gt;
&lt;br /&gt;
      if (window.innerHeight &amp;lt; 250) {&lt;br /&gt;
        this.volumeControls.classList.add(&#039;middle&#039;);&lt;br /&gt;
      } else if (this.audioPlayer.getBoundingClientRect().top &amp;lt; 180) {&lt;br /&gt;
        this.volumeControls.classList.add(&#039;bottom&#039;);&lt;br /&gt;
      } else {&lt;br /&gt;
        this.volumeControls.classList.add(&#039;top&#039;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }], [{&lt;br /&gt;
    key: &amp;quot;init&amp;quot;,&lt;br /&gt;
    value: function init(options) {&lt;br /&gt;
      var players = document.querySelectorAll(options.selector);&lt;br /&gt;
      players.forEach(function (player) {&lt;br /&gt;
        /* eslint-disable no-new */&lt;br /&gt;
        new GreenAudioPlayer(player, options);&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;getTemplate&amp;quot;,&lt;br /&gt;
    value: function getTemplate() {&lt;br /&gt;
      return &amp;quot;\n            &amp;lt;div class=\&amp;quot;holder\&amp;quot;&amp;gt;\n                &amp;lt;div class=\&amp;quot;loading\&amp;quot;&amp;gt;\n                    &amp;lt;div class=\&amp;quot;loading__spinner\&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;\n                &amp;lt;/div&amp;gt;\n\n                &amp;lt;div class=\&amp;quot;play-pause-btn\&amp;quot; aria-label=\&amp;quot;Play\&amp;quot; role=\&amp;quot;button\&amp;quot;&amp;gt;\n                    &amp;lt;svg xmlns=\&amp;quot;http://www.w3.org/2000/svg\&amp;quot; width=\&amp;quot;18\&amp;quot; height=\&amp;quot;24\&amp;quot; viewBox=\&amp;quot;0 0 18 24\&amp;quot;&amp;gt;\n                        &amp;lt;path fill=\&amp;quot;#566574\&amp;quot; fill-rule=\&amp;quot;evenodd\&amp;quot; d=\&amp;quot;M18 12L0 24V0\&amp;quot; class=\&amp;quot;play-pause-btn__icon\&amp;quot;/&amp;gt;\n                    &amp;lt;/svg&amp;gt;\n                &amp;lt;/div&amp;gt;\n            &amp;lt;/div&amp;gt;\n\n            &amp;lt;div class=\&amp;quot;controls\&amp;quot;&amp;gt;\n                &amp;lt;span class=\&amp;quot;controls__current-time\&amp;quot; aria-live=\&amp;quot;off\&amp;quot; role=\&amp;quot;timer\&amp;quot;&amp;gt;00:00&amp;lt;/span&amp;gt;\n                &amp;lt;div class=\&amp;quot;controls__slider slider\&amp;quot; data-direction=\&amp;quot;horizontal\&amp;quot;&amp;gt;\n                    &amp;lt;div class=\&amp;quot;controls__progress gap-progress\&amp;quot; aria-label=\&amp;quot;Time Slider\&amp;quot; aria-valuemin=\&amp;quot;0\&amp;quot; aria-valuemax=\&amp;quot;100\&amp;quot; aria-valuenow=\&amp;quot;0\&amp;quot; role=\&amp;quot;slider\&amp;quot;&amp;gt;\n                        &amp;lt;div class=\&amp;quot;pin progress__pin\&amp;quot; data-method=\&amp;quot;rewind\&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;\n                    &amp;lt;/div&amp;gt;\n                &amp;lt;/div&amp;gt;\n                &amp;lt;span class=\&amp;quot;controls__total-time\&amp;quot;&amp;gt;00:00&amp;lt;/span&amp;gt;\n            &amp;lt;/div&amp;gt;\n\n            &amp;lt;div class=\&amp;quot;volume\&amp;quot;&amp;gt;\n                &amp;lt;div class=\&amp;quot;volume__button\&amp;quot; aria-label=\&amp;quot;Open Volume Controls\&amp;quot; role=\&amp;quot;button\&amp;quot;&amp;gt;\n                    &amp;lt;svg xmlns=\&amp;quot;http://www.w3.org/2000/svg\&amp;quot; width=\&amp;quot;24\&amp;quot; height=\&amp;quot;24\&amp;quot; viewBox=\&amp;quot;0 0 24 24\&amp;quot;&amp;gt;\n                        &amp;lt;path class=\&amp;quot;volume__speaker\&amp;quot; fill=\&amp;quot;#566574\&amp;quot; fill-rule=\&amp;quot;evenodd\&amp;quot; d=\&amp;quot;M14.667 0v2.747c3.853 1.146 6.666 4.72 6.666 8.946 0 4.227-2.813 7.787-6.666 8.934v2.76C20 22.173 24 17.4 24 11.693 24 5.987 20 1.213 14.667 0zM18 11.693c0-2.36-1.333-4.386-3.333-5.373v10.707c2-.947 3.333-2.987 3.333-5.334zm-18-4v8h5.333L12 22.36V1.027L5.333 7.693H0z\&amp;quot;/&amp;gt;\n                    &amp;lt;/svg&amp;gt;\n                    &amp;lt;span class=\&amp;quot;message__offscreen\&amp;quot;&amp;gt;Press Enter or Space to show volume slider.&amp;lt;/span&amp;gt;\n                &amp;lt;/div&amp;gt;\n                &amp;lt;div class=\&amp;quot;volume__controls hidden\&amp;quot;&amp;gt;\n                    &amp;lt;div class=\&amp;quot;volume__slider slider\&amp;quot; data-direction=\&amp;quot;vertical\&amp;quot;&amp;gt;\n                        &amp;lt;div class=\&amp;quot;volume__progress gap-progress\&amp;quot; aria-label=\&amp;quot;Volume Slider\&amp;quot; aria-valuemin=\&amp;quot;0\&amp;quot; aria-valuemax=\&amp;quot;100\&amp;quot; aria-valuenow=\&amp;quot;81\&amp;quot; role=\&amp;quot;slider\&amp;quot;&amp;gt;\n                            &amp;lt;div class=\&amp;quot;pin volume__pin\&amp;quot; data-method=\&amp;quot;changeVolume\&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;\n                        &amp;lt;/div&amp;gt;\n                        &amp;lt;span class=\&amp;quot;message__offscreen\&amp;quot;&amp;gt;Use Up/Down Arrow keys to increase or decrease volume.&amp;lt;/span&amp;gt;\n                    &amp;lt;/div&amp;gt;\n                &amp;lt;/div&amp;gt;\n            &amp;lt;/div&amp;gt;\n\n            &amp;lt;div class=\&amp;quot;download\&amp;quot;&amp;gt;\n                &amp;lt;a class=\&amp;quot;download__link\&amp;quot; href=\&amp;quot;\&amp;quot; download=\&amp;quot;\&amp;quot; aria-label=\&amp;quot;Download\&amp;quot; role=\&amp;quot;button\&amp;quot;&amp;gt;\n                    &amp;lt;svg width=\&amp;quot;24\&amp;quot; height=\&amp;quot;24\&amp;quot; fill=\&amp;quot;#566574\&amp;quot; enable-background=\&amp;quot;new 0 0 29.978 29.978\&amp;quot; version=\&amp;quot;1.1\&amp;quot; viewBox=\&amp;quot;0 0 29.978 29.978\&amp;quot; xml:space=\&amp;quot;preserve\&amp;quot; xmlns=\&amp;quot;http://www.w3.org/2000/svg\&amp;quot;&amp;gt;\n                        &amp;lt;path d=\&amp;quot;m25.462 19.105v6.848h-20.947v-6.848h-4.026v8.861c0 1.111 0.9 2.012 2.016 2.012h24.967c1.115 0 2.016-0.9 2.016-2.012v-8.861h-4.026z\&amp;quot;/&amp;gt;\n                        &amp;lt;path d=\&amp;quot;m14.62 18.426l-5.764-6.965s-0.877-0.828 0.074-0.828 3.248 0 3.248 0 0-0.557 0-1.416v-8.723s-0.129-0.494 0.615-0.494h4.572c0.536 0 0.524 0.416 0.524 0.416v8.742 1.266s1.842 0 2.998 0c1.154 0 0.285 0.867 0.285 0.867s-4.904 6.51-5.588 7.193c-0.492 0.495-0.964-0.058-0.964-0.058z\&amp;quot;/&amp;gt;\n                    &amp;lt;/svg&amp;gt;\n                &amp;lt;/a&amp;gt;\n            &amp;lt;/div&amp;gt;\n        &amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;formatTime&amp;quot;,&lt;br /&gt;
    value: function formatTime(time) {&lt;br /&gt;
      var min = Math.floor(time / 60);&lt;br /&gt;
      var sec = Math.floor(time % 60);&lt;br /&gt;
      return &amp;quot;&amp;quot;.concat(min &amp;lt; 10 ? &amp;quot;0&amp;quot;.concat(min) : min, &amp;quot;:&amp;quot;).concat(sec &amp;lt; 10 ? &amp;quot;0&amp;quot;.concat(sec) : sec);&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;pausePlayer&amp;quot;,&lt;br /&gt;
    value: function pausePlayer(player) {&lt;br /&gt;
      var playPauseButton = player.parentElement.querySelector(&#039;.play-pause-btn__icon&#039;);&lt;br /&gt;
      playPauseButton.attributes.d.value = &#039;M18 12L0 24V0&#039;;&lt;br /&gt;
      player.pause();&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;playPlayer&amp;quot;,&lt;br /&gt;
    value: function playPlayer(player) {&lt;br /&gt;
      var playPauseButton = player.parentElement.querySelector(&#039;.play-pause-btn__icon&#039;);&lt;br /&gt;
      playPauseButton.attributes.d.value = &#039;M0 0h6v24H0zM12 0h6v24h-6z&#039;;&lt;br /&gt;
      player.play();&lt;br /&gt;
    }&lt;br /&gt;
  }, {&lt;br /&gt;
    key: &amp;quot;stopOtherPlayers&amp;quot;,&lt;br /&gt;
    value: function stopOtherPlayers() {&lt;br /&gt;
      var players = document.querySelectorAll(&#039;.green-audio-player audio&#039;);&lt;br /&gt;
&lt;br /&gt;
      for (var i = 0; i &amp;lt; players.length; i++) {&lt;br /&gt;
        GreenAudioPlayer.pausePlayer(players[i]);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }]);&lt;br /&gt;
&lt;br /&gt;
  return GreenAudioPlayer;&lt;br /&gt;
}();&lt;br /&gt;
&lt;br /&gt;
var _default = GreenAudioPlayer;&lt;br /&gt;
exports.default = _default;&lt;br /&gt;
&lt;br /&gt;
},{}]},{},[1])(1)&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65249</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65249"/>
		<updated>2023-10-09T18:34:27Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgIsMainPage&#039;) ){&lt;br /&gt;
		$(&#039;#firstHeading&#039;).remove();&lt;br /&gt;
		&lt;br /&gt;
		var mainpageLeft = $(&amp;quot;.mainpage-left&amp;quot;);&lt;br /&gt;
		var mainpageRight = $(&amp;quot;.mainpage-right&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mainpageLeft.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
		mainpageRight.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
		function animateLeft(){&lt;br /&gt;
			mainpageRight.animate({&#039;left&#039;: &#039;15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageRight.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateLeft() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateLeft();&lt;br /&gt;
		&lt;br /&gt;
		function animateRight(){&lt;br /&gt;
			mainpageLeft.animate({&#039;left&#039;: &#039;-15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageLeft.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateRight() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateRight();&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; ).length &amp;gt; 1 ){&lt;br /&gt;
		var tempPageName = mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; )[0];&lt;br /&gt;
		var tempLink =&#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&#039; +  tempPageName + &#039;&amp;quot;&amp;gt;&#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
		$(&amp;quot;#top&amp;quot;).after(  $( &#039;&amp;lt;p&amp;gt;&#039;).css( &#039;font-size&#039;, &#039;17px&#039;).html( tempLink ) );&lt;br /&gt;
	}&lt;br /&gt;
	if( mw.config.get(&#039;wgUserName&#039;) === null  ){&lt;br /&gt;
		$(&#039;body&#039;).bind(&#039;cut copy&#039;, function(e) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
	} else {&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onmousedown&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onselectstart&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:OCR.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:PoemButtons.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( $(&amp;quot;.wikiaudioplayer&amp;quot;).length ){&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:Green-audio-player.min.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;, &#039;text/css&#039;);&lt;br /&gt;
		$.when(&lt;br /&gt;
		    mw.loader.getScript( &#039;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		.then(&lt;br /&gt;
		    function () {&lt;br /&gt;
				GreenAudioPlayer.init({&lt;br /&gt;
				    selector: &#039;.wikiaudioplayer&#039;,&lt;br /&gt;
				    stopOthersOnPlay: true&lt;br /&gt;
				});&lt;br /&gt;
		    },&lt;br /&gt;
		    function ( e ) {&lt;br /&gt;
		        mw.log.error( e.message );&lt;br /&gt;
		    }&lt;br /&gt;
		);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	var sidebarCategory = $(&amp;quot;#p-Categories &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	var sidebarAuthor = $(&amp;quot;#p-Authors &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	sidebarCategory.empty();&lt;br /&gt;
	sidebarAuthor.empty();&lt;br /&gt;
&lt;br /&gt;
	mw.loader.using( [ &#039;mediawiki.api&#039; ], function(){&lt;br /&gt;
		var sel1 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarCategory );&lt;br /&gt;
		var sel2 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarAuthor );&lt;br /&gt;
		sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
		sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
		// For category Categories&lt;br /&gt;
		catMemberParam1 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Categories on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam1, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel1.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		// For category Author&lt;br /&gt;
		catMemberParam2 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Authors on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam2, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel2.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
	} );&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Long list into col&lt;br /&gt;
$( document ).ready( function(){&lt;br /&gt;
&lt;br /&gt;
	var longList = $(&amp;quot;#longList&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;),&lt;br /&gt;
		dlElements = longList.children().filter(&amp;quot;dl&amp;quot;),&lt;br /&gt;
		dlElementsLength = dlElements.length;&lt;br /&gt;
	&lt;br /&gt;
	var list1 = [],&lt;br /&gt;
		list2 = [];&lt;br /&gt;
	&lt;br /&gt;
	var count = 0;&lt;br /&gt;
	dlElements.each( function(index, ele){&lt;br /&gt;
		if( count &amp;lt; dlElementsLength/2 ){&lt;br /&gt;
			list1.push(ele);&lt;br /&gt;
			list1.push( $(ele).next() );&lt;br /&gt;
		} else {&lt;br /&gt;
			list2.push(ele);&lt;br /&gt;
			list2.push( $(ele).next() );&lt;br /&gt;
		}&lt;br /&gt;
		count = count + 1;&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.empty();&lt;br /&gt;
	&lt;br /&gt;
	var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list1.forEach( function(value, index){&lt;br /&gt;
		leftDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list2.forEach( function(value, index){&lt;br /&gt;
		rightDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.append(leftDiv, rightDiv );&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function() {&lt;br /&gt;
	var divide2cols = $(&amp;quot;#divide2cols&amp;quot;);&lt;br /&gt;
	if( divide2cols.length ){&lt;br /&gt;
		var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var parentHieght = divide2cols.height()/2;&lt;br /&gt;
		divide2cols.children().filter(&amp;quot;dl&amp;quot;).each(function() {&lt;br /&gt;
			console.log( $(this).offset().top , parentHieght );&lt;br /&gt;
			if ( $(this).offset().top &amp;gt; parentHieght ) {&lt;br /&gt;
				rightDiv.append( $(this), $(this).next() );&lt;br /&gt;
			} else {&lt;br /&gt;
				leftDiv.append( $(this), $(this).next() );&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		divide2cols.before( $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;).append(leftDiv, rightDiv) );&lt;br /&gt;
		divide2cols.remove();&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	// toggled by toggle button. also determines which toggle button image to use&lt;br /&gt;
	var useCustom = false;&lt;br /&gt;
	&lt;br /&gt;
	// toggleImgs[0] to switch to custom, toggleImgs[1] to revert to default&lt;br /&gt;
	var toggleImgs = [&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_search_black_24px.svg&#039;,&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_youtube_searched_for_black_24px.svg&#039;&lt;br /&gt;
	];&lt;br /&gt;
	var zoomInImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_in_black_24px.svg&#039;;&lt;br /&gt;
	var zoomOutImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_out_black_24px.svg&#039;;&lt;br /&gt;
	&lt;br /&gt;
	// create DOM elements&lt;br /&gt;
	$(&#039;#content&#039;).prepend(&#039;&amp;lt;div id=&amp;quot;zoomButtons&amp;quot; style=&amp;quot;z-index: 9999;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomInIcon&amp;quot; src=&amp;quot;&#039; + zoomInImg + &#039;&amp;quot; alt=&amp;quot;zoom in&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomOutIcon&amp;quot; src=&amp;quot;&#039; + zoomOutImg + &#039;&amp;quot; alt=&amp;quot;zoom out&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;toggleButton&amp;quot; src=&amp;quot;&#039; + toggleImgs[+ useCustom] + &#039;&amp;quot; alt=&amp;quot;toggle zoom&amp;quot;&amp;gt;&amp;amp;nbsp&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
	$(&#039;#zoomButtons&#039;).css({&#039;float&#039;: &#039;right&#039;});&lt;br /&gt;
	&lt;br /&gt;
	// find DOM elements used later&lt;br /&gt;
	var $bodyContent = $(&#039;.mw-body-content&#039;);&lt;br /&gt;
	var $toggleButton = $(&#039;#toggleButton&#039;);&lt;br /&gt;
	&lt;br /&gt;
	// sizes[0] is default, sizes[1] is custom&lt;br /&gt;
	var sizes = [parseFloat($(&#039;.mw-body-content&#039;).css(&#039;font-size&#039;))];&lt;br /&gt;
	// default custom zoom of 2&lt;br /&gt;
	sizes[1] = sizes[0] + 2;&lt;br /&gt;
	&lt;br /&gt;
	// the + converts bool to 0 or 1 to use as array index&lt;br /&gt;
	function updateSize() {&lt;br /&gt;
		$bodyContent.css({&#039;font-size&#039;:(sizes[+ useCustom] + &#039;pt&#039;)});&lt;br /&gt;
	}&lt;br /&gt;
	function toggle() {&lt;br /&gt;
		useCustom = !useCustom;&lt;br /&gt;
		$toggleButton.attr(&#039;src&#039;,toggleImgs[+ useCustom]);&lt;br /&gt;
		updateSize();&lt;br /&gt;
	}&lt;br /&gt;
	function zoom(dif) {&lt;br /&gt;
		sizes[1] += dif;&lt;br /&gt;
		if (useCustom) {&lt;br /&gt;
			updateSize();&lt;br /&gt;
		} else {&lt;br /&gt;
			toggle();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomInIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom +&amp;quot;);&lt;br /&gt;
		zoom(1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomOutIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom -&amp;quot;);&lt;br /&gt;
		zoom(-1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#toggleButton&#039; ).on( &#039;click&#039;, toggle );&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Convert numbers between numeral systems.&lt;br /&gt;
 *&lt;br /&gt;
 * Dependencies: jquery.cookie, mediawiki.util, mediawiki.user&lt;br /&gt;
 * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-Numerakri.js&lt;br /&gt;
 * Revision: 2019-01-11&lt;br /&gt;
 *&lt;br /&gt;
 * @copyright 2012 Daniel Friesen&lt;br /&gt;
 * @copyright 2012 Siddhartha Ghai&lt;br /&gt;
 * @copyright 2014 Bhawani Gautam&lt;br /&gt;
 * @copyright 2012-2018 Timo Tijhof&lt;br /&gt;
 * @license &amp;lt;https://opensource.org/licenses/MIT&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
/*jshint browser:true, unused:true, forin:false */&lt;br /&gt;
/*global $, mw */&lt;br /&gt;
(function () {&lt;br /&gt;
	&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
	var msgs = {&lt;br /&gt;
			&#039;option-default&#039;: {&lt;br /&gt;
				en: &#039;Default&#039;,&lt;br /&gt;
				bho: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				gu: &#039;ડિફોલ્ટ&#039;,&lt;br /&gt;
				hi: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				ne: &#039;डिफल्ट&#039;,&lt;br /&gt;
				pa: &#039;ਅਸਲ ਦਿੱਖ&#039;,&lt;br /&gt;
				sa: &#039;उत्सर्गः&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-arabic&#039;: {&lt;br /&gt;
				en: &#039;1 2 3&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-devanagari&#039;: {&lt;br /&gt;
				en: &#039;Devanagari&#039;,&lt;br /&gt;
				bho: &#039;१२३&#039;,&lt;br /&gt;
				hi: &#039;१२३&#039;,&lt;br /&gt;
				ne: &#039;१२३&#039;,&lt;br /&gt;
				sa: &#039;१२३&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gujarati&#039;: {&lt;br /&gt;
				en: &#039;૧ ૨ ૩&#039;,&lt;br /&gt;
				gu: &#039;૧ ૨ ૩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gurmukhi&#039;: {&lt;br /&gt;
				en: &#039;Gurmukhi&#039;,&lt;br /&gt;
				pa: &#039;੧੨੩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-url&#039;: {&lt;br /&gt;
				en: &#039;//www.mediawiki.org/wiki/MediaWiki_talk:Gadget-Numerakri.js&#039;,&lt;br /&gt;
				gu: &#039;//gu.wikipedia.org/wiki/વિકિસૂક્તિઃઅંક_પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;//hi.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				ne: &#039;//ne.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				pa: &#039;//pa.wikipedia.org/wiki/ਵਿਕੀਪੀਡੀਆ:ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;//sa.wikipedia.org/wiki/विकिपीडिया:अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-text&#039;: {&lt;br /&gt;
				en: &#039;Convert numerals&#039;,&lt;br /&gt;
				bho: &#039;अंक बदलाव&#039;,&lt;br /&gt;
				gu: &#039;અંક પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				ne: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-tooltip&#039;: {&lt;br /&gt;
				en: &#039;Convert between Arabic and Devanagari numerals&#039;,&lt;br /&gt;
				bho: &#039;नागरी आ अरबी अंकों में अदला-बदली करीं&#039;,&lt;br /&gt;
				gu: &#039;ગુજરાતી અને અંગ્રેજી અંકોમાં પરિવર્તન કરો&#039;,&lt;br /&gt;
				hi: &#039;नागरी और अरबी अंकों में परिवर्तन करें&#039;,&lt;br /&gt;
				ne: &#039;देवनागरी र अरबी अंकहरूमा परिवर्तन गर्नुहोस्&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕਾਂ ਨੂ ਗੁਰਮੁਖੀ ਤੇ ਅਰਬੀ ਵਿਚ ਬਦਲੇਂ&#039;,&lt;br /&gt;
				sa: &#039;देवनागरी-अरबी-अङ्कयोः चयनं करोतु&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		maps = {&lt;br /&gt;
			arabic: [&#039;0&#039;, &#039;1&#039;, &#039;2&#039;, &#039;3&#039;, &#039;4&#039;, &#039;5&#039;, &#039;6&#039;, &#039;7&#039;, &#039;8&#039;, &#039;9&#039;],&lt;br /&gt;
			devanagari: [&#039;०&#039;, &#039;१&#039;, &#039;२&#039;, &#039;३&#039;, &#039;४&#039;, &#039;५&#039;, &#039;६&#039;, &#039;७&#039;, &#039;८&#039;, &#039;९&#039;],&lt;br /&gt;
			gujarati: [&#039;૦&#039;, &#039;૧&#039;, &#039;૨&#039;, &#039;૩&#039;, &#039;૪&#039;, &#039;૫&#039;, &#039;૬&#039;, &#039;૭&#039;, &#039;૮&#039;, &#039;૯&#039;],&lt;br /&gt;
			gurmukhi: [&#039;੦&#039;, &#039;੧&#039;, &#039;੨&#039;, &#039;੩&#039;, &#039;੪&#039;, &#039;੫&#039;, &#039;੬&#039;, &#039;੭&#039;, &#039;੮&#039;, &#039;੯&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		availableMaps,&lt;br /&gt;
		currentType = &#039;default&#039;,&lt;br /&gt;
		matchers = {},&lt;br /&gt;
		walker,&lt;br /&gt;
		styleTag;&lt;br /&gt;
&lt;br /&gt;
	function isValidType(type) {&lt;br /&gt;
		return type === &#039;default&#039; || availableMaps.indexOf(type) !== -1;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {Object.&amp;lt;RegExp&amp;gt;} */&lt;br /&gt;
	function getMatchers(targetType) {&lt;br /&gt;
		var rChars;&lt;br /&gt;
		if (!matchers[targetType]) {&lt;br /&gt;
			rChars = { 0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: [] };&lt;br /&gt;
			$.each(maps, function (type, map) {&lt;br /&gt;
				if (type !== targetType) {&lt;br /&gt;
					for (var i = 0; i &amp;lt;= 9; i++) {&lt;br /&gt;
						rChars[i].push(map[i]);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			$.each(rChars, function (num, chars) {&lt;br /&gt;
				rChars[num] = new RegExp(&#039;(&#039; + chars.map(mw.RegExp.escape).join(&#039;|&#039;) + &#039;)&#039;, &#039;g&#039;);&lt;br /&gt;
			});&lt;br /&gt;
			matchers[targetType] = rChars;&lt;br /&gt;
		}&lt;br /&gt;
		return matchers[targetType];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function msg(key) {&lt;br /&gt;
		return msgs[key][mw.config.get(&#039;wgUserLanguage&#039;)] || msgs[key].en;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {HTMLElement|TextNode} node&lt;br /&gt;
	 * @return {number} NodeFilter.FILTER_* constant&lt;br /&gt;
	 */&lt;br /&gt;
	function filterNode(node) {&lt;br /&gt;
		if (node.nodeType === Node.TEXT_NODE) {&lt;br /&gt;
			return NodeFilter.FILTER_ACCEPT;&lt;br /&gt;
		}&lt;br /&gt;
		var n = node.nodeName &amp;amp;&amp;amp; node.nodeName.toLowerCase();&lt;br /&gt;
		if (n === &#039;input&#039; || n === &#039;textarea&#039; || $(node).hasClass(&#039;mw-numerakri-skip&#039;)) {&lt;br /&gt;
			// Skip this element and skip its children&lt;br /&gt;
			return NodeFilter.FILTER_REJECT;&lt;br /&gt;
		}&lt;br /&gt;
		// Skip this element, but check its children&lt;br /&gt;
		return NodeFilter.FILTER_SKIP;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {TextNode} node&lt;br /&gt;
	 */&lt;br /&gt;
	function handleTextNode(node) {&lt;br /&gt;
		var original = node.nodeValue,&lt;br /&gt;
			changed = original,&lt;br /&gt;
			matchers = getMatchers(currentType),&lt;br /&gt;
			i = 0;&lt;br /&gt;
		for (; i &amp;lt;= 9; i++) {&lt;br /&gt;
			changed = changed.replace(matchers[i], maps[currentType][i]);&lt;br /&gt;
		}&lt;br /&gt;
		if (original !== changed) {&lt;br /&gt;
			node.nodeValue = changed;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw-method-requestIdleCallback&lt;br /&gt;
	function idleWalker(deadline) {&lt;br /&gt;
		var el;&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		while (deadline.timeRemaining() &amp;gt; 0) {&lt;br /&gt;
			el = walker.nextNode();&lt;br /&gt;
			if (!el) {&lt;br /&gt;
				// Reached the end&lt;br /&gt;
				walker = null;&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			handleTextNode(el);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// The user may interact with the page. We pause so the browser can process&lt;br /&gt;
		// interaction. The text handler will continue after that.&lt;br /&gt;
		if (walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Save a browser cookie for 30 days, or remove it.&lt;br /&gt;
	 * @param {string|null} value&lt;br /&gt;
	 */&lt;br /&gt;
	function saveType(value) {&lt;br /&gt;
		mw.requestIdleCallback(function () {&lt;br /&gt;
			$.cookie(&#039;mw-numerakri-type&#039;, value, { expires: 30, path: &#039;/&#039; });&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @return {string}&lt;br /&gt;
	 */&lt;br /&gt;
	function getStoredType() {&lt;br /&gt;
		var value = $.cookie(&#039;mw-numerakri-type&#039;);&lt;br /&gt;
		if (value !== null &amp;amp;&amp;amp; !isValidType(value)) {&lt;br /&gt;
			// Remove bad cookie&lt;br /&gt;
			saveType(null);&lt;br /&gt;
			value = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return value || &#039;default&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function startPageConversion() {&lt;br /&gt;
		if (styleTag) {&lt;br /&gt;
			// Undo style for a previously selected type&lt;br /&gt;
			$(styleTag).remove();&lt;br /&gt;
			styleTag = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;default&#039;) {&lt;br /&gt;
			// Don&#039;t change the page&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;arabic&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: decimal; }&#039;);&lt;br /&gt;
		} else if (currentType === &#039;devanagari&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: devanagari; }&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// If a walker is already active, replace it.&lt;br /&gt;
		// If no walker is active yet, start it.&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
		walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, filterNode, false);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {HTMLElement} */&lt;br /&gt;
	function createSelector() {&lt;br /&gt;
		var $select = $(&#039;&amp;lt;select&amp;gt;&#039;).addClass(&#039;mw-numerakri-skip&#039;).append(&lt;br /&gt;
			$(&#039;&amp;lt;option&amp;gt;&#039;).val(&#039;default&#039;).text(msg(&#039;option-default&#039;))&lt;br /&gt;
		);&lt;br /&gt;
		availableMaps.forEach(function (type) {&lt;br /&gt;
			$select.append($(&#039;&amp;lt;option&amp;gt;&#039;).val(type).text(msg(&#039;option-&#039; + type)));&lt;br /&gt;
		});&lt;br /&gt;
		$select.val(currentType);&lt;br /&gt;
		$select.on(&#039;change&#039;, function () {&lt;br /&gt;
			currentType = this.value;&lt;br /&gt;
			startPageConversion();&lt;br /&gt;
			saveType(currentType);&lt;br /&gt;
		});&lt;br /&gt;
		return $select[0];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function init() {&lt;br /&gt;
		var potlet, menu;&lt;br /&gt;
&lt;br /&gt;
		// Decide which types to show&lt;br /&gt;
		availableMaps = [&#039;gujarati&#039;, &#039;arabic&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Decide selected type&lt;br /&gt;
		currentType = getStoredType();&lt;br /&gt;
		startPageConversion();&lt;br /&gt;
&lt;br /&gt;
		potlet = mw.util.addPortletLink(&lt;br /&gt;
			&#039;p-personal&#039;,&lt;br /&gt;
			msg(&#039;label-url&#039;),&lt;br /&gt;
			msg(&#039;label-text&#039;),&lt;br /&gt;
			&#039;pt-numconvert&#039;,&lt;br /&gt;
			msg(&#039;label-tooltip&#039;),&lt;br /&gt;
			null,&lt;br /&gt;
			mw.user.isAnon() ? &#039;#pt-createaccount&#039; : &#039;#pt-userpage&#039;&lt;br /&gt;
		);&lt;br /&gt;
		menu = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;mw-numerakri-menu&#039;).append(createSelector())[0];&lt;br /&gt;
		if(potlet) {&lt;br /&gt;
			potlet.appendChild(menu);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(function () {&lt;br /&gt;
		mw.requestIdleCallback(init);&lt;br /&gt;
	});&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65248</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65248"/>
		<updated>2023-10-09T18:32:30Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgIsMainPage&#039;) ){&lt;br /&gt;
		$(&#039;#firstHeading&#039;).remove();&lt;br /&gt;
		&lt;br /&gt;
		var mainpageLeft = $(&amp;quot;.mainpage-left&amp;quot;);&lt;br /&gt;
		var mainpageRight = $(&amp;quot;.mainpage-right&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mainpageLeft.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
		mainpageRight.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
		function animateLeft(){&lt;br /&gt;
			mainpageRight.animate({&#039;left&#039;: &#039;15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageRight.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateLeft() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateLeft();&lt;br /&gt;
		&lt;br /&gt;
		function animateRight(){&lt;br /&gt;
			mainpageLeft.animate({&#039;left&#039;: &#039;-15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageLeft.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateRight() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateRight();&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; ).length &amp;gt; 1 ){&lt;br /&gt;
		var tempPageName = mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; )[0];&lt;br /&gt;
		var tempLink =&#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&#039; +  tempPageName + &#039;&amp;quot;&amp;gt;&#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
		$(&amp;quot;#top&amp;quot;).after(  $( &#039;&amp;lt;p&amp;gt;&#039;).css( &#039;font-size&#039;, &#039;17px&#039;).html( tempLink ) );&lt;br /&gt;
	}&lt;br /&gt;
	if( mw.config.get(&#039;wgUserName&#039;) === null  ){&lt;br /&gt;
		$(&#039;body&#039;).bind(&#039;cut copy&#039;, function(e) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
	} else {&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onmousedown&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onselectstart&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:OCR.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:PoemButtons.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( $(&amp;quot;.wikiaudioplayer&amp;quot;).length ){&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:Green-audio-player.min.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;);&lt;br /&gt;
		$.when(&lt;br /&gt;
		    mw.loader.getScript( &#039;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		.then(&lt;br /&gt;
		    function () {&lt;br /&gt;
				GreenAudioPlayer.init({&lt;br /&gt;
				    selector: &#039;.wikiaudioplayer&#039;,&lt;br /&gt;
				    stopOthersOnPlay: true&lt;br /&gt;
				});&lt;br /&gt;
		    },&lt;br /&gt;
		    function ( e ) {&lt;br /&gt;
		        mw.log.error( e.message );&lt;br /&gt;
		    }&lt;br /&gt;
		);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	var sidebarCategory = $(&amp;quot;#p-Categories &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	var sidebarAuthor = $(&amp;quot;#p-Authors &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	sidebarCategory.empty();&lt;br /&gt;
	sidebarAuthor.empty();&lt;br /&gt;
&lt;br /&gt;
	mw.loader.using( [ &#039;mediawiki.api&#039; ], function(){&lt;br /&gt;
		var sel1 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarCategory );&lt;br /&gt;
		var sel2 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarAuthor );&lt;br /&gt;
		sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
		sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
		// For category Categories&lt;br /&gt;
		catMemberParam1 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Categories on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam1, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel1.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		// For category Author&lt;br /&gt;
		catMemberParam2 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Authors on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam2, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel2.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
	} );&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Long list into col&lt;br /&gt;
$( document ).ready( function(){&lt;br /&gt;
&lt;br /&gt;
	var longList = $(&amp;quot;#longList&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;),&lt;br /&gt;
		dlElements = longList.children().filter(&amp;quot;dl&amp;quot;),&lt;br /&gt;
		dlElementsLength = dlElements.length;&lt;br /&gt;
	&lt;br /&gt;
	var list1 = [],&lt;br /&gt;
		list2 = [];&lt;br /&gt;
	&lt;br /&gt;
	var count = 0;&lt;br /&gt;
	dlElements.each( function(index, ele){&lt;br /&gt;
		if( count &amp;lt; dlElementsLength/2 ){&lt;br /&gt;
			list1.push(ele);&lt;br /&gt;
			list1.push( $(ele).next() );&lt;br /&gt;
		} else {&lt;br /&gt;
			list2.push(ele);&lt;br /&gt;
			list2.push( $(ele).next() );&lt;br /&gt;
		}&lt;br /&gt;
		count = count + 1;&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.empty();&lt;br /&gt;
	&lt;br /&gt;
	var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list1.forEach( function(value, index){&lt;br /&gt;
		leftDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list2.forEach( function(value, index){&lt;br /&gt;
		rightDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.append(leftDiv, rightDiv );&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function() {&lt;br /&gt;
	var divide2cols = $(&amp;quot;#divide2cols&amp;quot;);&lt;br /&gt;
	if( divide2cols.length ){&lt;br /&gt;
		var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var parentHieght = divide2cols.height()/2;&lt;br /&gt;
		divide2cols.children().filter(&amp;quot;dl&amp;quot;).each(function() {&lt;br /&gt;
			console.log( $(this).offset().top , parentHieght );&lt;br /&gt;
			if ( $(this).offset().top &amp;gt; parentHieght ) {&lt;br /&gt;
				rightDiv.append( $(this), $(this).next() );&lt;br /&gt;
			} else {&lt;br /&gt;
				leftDiv.append( $(this), $(this).next() );&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		divide2cols.before( $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;).append(leftDiv, rightDiv) );&lt;br /&gt;
		divide2cols.remove();&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	// toggled by toggle button. also determines which toggle button image to use&lt;br /&gt;
	var useCustom = false;&lt;br /&gt;
	&lt;br /&gt;
	// toggleImgs[0] to switch to custom, toggleImgs[1] to revert to default&lt;br /&gt;
	var toggleImgs = [&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_search_black_24px.svg&#039;,&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_youtube_searched_for_black_24px.svg&#039;&lt;br /&gt;
	];&lt;br /&gt;
	var zoomInImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_in_black_24px.svg&#039;;&lt;br /&gt;
	var zoomOutImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_out_black_24px.svg&#039;;&lt;br /&gt;
	&lt;br /&gt;
	// create DOM elements&lt;br /&gt;
	$(&#039;#content&#039;).prepend(&#039;&amp;lt;div id=&amp;quot;zoomButtons&amp;quot; style=&amp;quot;z-index: 9999;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomInIcon&amp;quot; src=&amp;quot;&#039; + zoomInImg + &#039;&amp;quot; alt=&amp;quot;zoom in&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomOutIcon&amp;quot; src=&amp;quot;&#039; + zoomOutImg + &#039;&amp;quot; alt=&amp;quot;zoom out&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;toggleButton&amp;quot; src=&amp;quot;&#039; + toggleImgs[+ useCustom] + &#039;&amp;quot; alt=&amp;quot;toggle zoom&amp;quot;&amp;gt;&amp;amp;nbsp&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
	$(&#039;#zoomButtons&#039;).css({&#039;float&#039;: &#039;right&#039;});&lt;br /&gt;
	&lt;br /&gt;
	// find DOM elements used later&lt;br /&gt;
	var $bodyContent = $(&#039;.mw-body-content&#039;);&lt;br /&gt;
	var $toggleButton = $(&#039;#toggleButton&#039;);&lt;br /&gt;
	&lt;br /&gt;
	// sizes[0] is default, sizes[1] is custom&lt;br /&gt;
	var sizes = [parseFloat($(&#039;.mw-body-content&#039;).css(&#039;font-size&#039;))];&lt;br /&gt;
	// default custom zoom of 2&lt;br /&gt;
	sizes[1] = sizes[0] + 2;&lt;br /&gt;
	&lt;br /&gt;
	// the + converts bool to 0 or 1 to use as array index&lt;br /&gt;
	function updateSize() {&lt;br /&gt;
		$bodyContent.css({&#039;font-size&#039;:(sizes[+ useCustom] + &#039;pt&#039;)});&lt;br /&gt;
	}&lt;br /&gt;
	function toggle() {&lt;br /&gt;
		useCustom = !useCustom;&lt;br /&gt;
		$toggleButton.attr(&#039;src&#039;,toggleImgs[+ useCustom]);&lt;br /&gt;
		updateSize();&lt;br /&gt;
	}&lt;br /&gt;
	function zoom(dif) {&lt;br /&gt;
		sizes[1] += dif;&lt;br /&gt;
		if (useCustom) {&lt;br /&gt;
			updateSize();&lt;br /&gt;
		} else {&lt;br /&gt;
			toggle();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomInIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom +&amp;quot;);&lt;br /&gt;
		zoom(1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomOutIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom -&amp;quot;);&lt;br /&gt;
		zoom(-1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#toggleButton&#039; ).on( &#039;click&#039;, toggle );&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Convert numbers between numeral systems.&lt;br /&gt;
 *&lt;br /&gt;
 * Dependencies: jquery.cookie, mediawiki.util, mediawiki.user&lt;br /&gt;
 * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-Numerakri.js&lt;br /&gt;
 * Revision: 2019-01-11&lt;br /&gt;
 *&lt;br /&gt;
 * @copyright 2012 Daniel Friesen&lt;br /&gt;
 * @copyright 2012 Siddhartha Ghai&lt;br /&gt;
 * @copyright 2014 Bhawani Gautam&lt;br /&gt;
 * @copyright 2012-2018 Timo Tijhof&lt;br /&gt;
 * @license &amp;lt;https://opensource.org/licenses/MIT&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
/*jshint browser:true, unused:true, forin:false */&lt;br /&gt;
/*global $, mw */&lt;br /&gt;
(function () {&lt;br /&gt;
	&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
	var msgs = {&lt;br /&gt;
			&#039;option-default&#039;: {&lt;br /&gt;
				en: &#039;Default&#039;,&lt;br /&gt;
				bho: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				gu: &#039;ડિફોલ્ટ&#039;,&lt;br /&gt;
				hi: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				ne: &#039;डिफल्ट&#039;,&lt;br /&gt;
				pa: &#039;ਅਸਲ ਦਿੱਖ&#039;,&lt;br /&gt;
				sa: &#039;उत्सर्गः&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-arabic&#039;: {&lt;br /&gt;
				en: &#039;1 2 3&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-devanagari&#039;: {&lt;br /&gt;
				en: &#039;Devanagari&#039;,&lt;br /&gt;
				bho: &#039;१२३&#039;,&lt;br /&gt;
				hi: &#039;१२३&#039;,&lt;br /&gt;
				ne: &#039;१२३&#039;,&lt;br /&gt;
				sa: &#039;१२३&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gujarati&#039;: {&lt;br /&gt;
				en: &#039;૧ ૨ ૩&#039;,&lt;br /&gt;
				gu: &#039;૧ ૨ ૩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gurmukhi&#039;: {&lt;br /&gt;
				en: &#039;Gurmukhi&#039;,&lt;br /&gt;
				pa: &#039;੧੨੩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-url&#039;: {&lt;br /&gt;
				en: &#039;//www.mediawiki.org/wiki/MediaWiki_talk:Gadget-Numerakri.js&#039;,&lt;br /&gt;
				gu: &#039;//gu.wikipedia.org/wiki/વિકિસૂક્તિઃઅંક_પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;//hi.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				ne: &#039;//ne.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				pa: &#039;//pa.wikipedia.org/wiki/ਵਿਕੀਪੀਡੀਆ:ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;//sa.wikipedia.org/wiki/विकिपीडिया:अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-text&#039;: {&lt;br /&gt;
				en: &#039;Convert numerals&#039;,&lt;br /&gt;
				bho: &#039;अंक बदलाव&#039;,&lt;br /&gt;
				gu: &#039;અંક પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				ne: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-tooltip&#039;: {&lt;br /&gt;
				en: &#039;Convert between Arabic and Devanagari numerals&#039;,&lt;br /&gt;
				bho: &#039;नागरी आ अरबी अंकों में अदला-बदली करीं&#039;,&lt;br /&gt;
				gu: &#039;ગુજરાતી અને અંગ્રેજી અંકોમાં પરિવર્તન કરો&#039;,&lt;br /&gt;
				hi: &#039;नागरी और अरबी अंकों में परिवर्तन करें&#039;,&lt;br /&gt;
				ne: &#039;देवनागरी र अरबी अंकहरूमा परिवर्तन गर्नुहोस्&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕਾਂ ਨੂ ਗੁਰਮੁਖੀ ਤੇ ਅਰਬੀ ਵਿਚ ਬਦਲੇਂ&#039;,&lt;br /&gt;
				sa: &#039;देवनागरी-अरबी-अङ्कयोः चयनं करोतु&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		maps = {&lt;br /&gt;
			arabic: [&#039;0&#039;, &#039;1&#039;, &#039;2&#039;, &#039;3&#039;, &#039;4&#039;, &#039;5&#039;, &#039;6&#039;, &#039;7&#039;, &#039;8&#039;, &#039;9&#039;],&lt;br /&gt;
			devanagari: [&#039;०&#039;, &#039;१&#039;, &#039;२&#039;, &#039;३&#039;, &#039;४&#039;, &#039;५&#039;, &#039;६&#039;, &#039;७&#039;, &#039;८&#039;, &#039;९&#039;],&lt;br /&gt;
			gujarati: [&#039;૦&#039;, &#039;૧&#039;, &#039;૨&#039;, &#039;૩&#039;, &#039;૪&#039;, &#039;૫&#039;, &#039;૬&#039;, &#039;૭&#039;, &#039;૮&#039;, &#039;૯&#039;],&lt;br /&gt;
			gurmukhi: [&#039;੦&#039;, &#039;੧&#039;, &#039;੨&#039;, &#039;੩&#039;, &#039;੪&#039;, &#039;੫&#039;, &#039;੬&#039;, &#039;੭&#039;, &#039;੮&#039;, &#039;੯&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		availableMaps,&lt;br /&gt;
		currentType = &#039;default&#039;,&lt;br /&gt;
		matchers = {},&lt;br /&gt;
		walker,&lt;br /&gt;
		styleTag;&lt;br /&gt;
&lt;br /&gt;
	function isValidType(type) {&lt;br /&gt;
		return type === &#039;default&#039; || availableMaps.indexOf(type) !== -1;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {Object.&amp;lt;RegExp&amp;gt;} */&lt;br /&gt;
	function getMatchers(targetType) {&lt;br /&gt;
		var rChars;&lt;br /&gt;
		if (!matchers[targetType]) {&lt;br /&gt;
			rChars = { 0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: [] };&lt;br /&gt;
			$.each(maps, function (type, map) {&lt;br /&gt;
				if (type !== targetType) {&lt;br /&gt;
					for (var i = 0; i &amp;lt;= 9; i++) {&lt;br /&gt;
						rChars[i].push(map[i]);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			$.each(rChars, function (num, chars) {&lt;br /&gt;
				rChars[num] = new RegExp(&#039;(&#039; + chars.map(mw.RegExp.escape).join(&#039;|&#039;) + &#039;)&#039;, &#039;g&#039;);&lt;br /&gt;
			});&lt;br /&gt;
			matchers[targetType] = rChars;&lt;br /&gt;
		}&lt;br /&gt;
		return matchers[targetType];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function msg(key) {&lt;br /&gt;
		return msgs[key][mw.config.get(&#039;wgUserLanguage&#039;)] || msgs[key].en;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {HTMLElement|TextNode} node&lt;br /&gt;
	 * @return {number} NodeFilter.FILTER_* constant&lt;br /&gt;
	 */&lt;br /&gt;
	function filterNode(node) {&lt;br /&gt;
		if (node.nodeType === Node.TEXT_NODE) {&lt;br /&gt;
			return NodeFilter.FILTER_ACCEPT;&lt;br /&gt;
		}&lt;br /&gt;
		var n = node.nodeName &amp;amp;&amp;amp; node.nodeName.toLowerCase();&lt;br /&gt;
		if (n === &#039;input&#039; || n === &#039;textarea&#039; || $(node).hasClass(&#039;mw-numerakri-skip&#039;)) {&lt;br /&gt;
			// Skip this element and skip its children&lt;br /&gt;
			return NodeFilter.FILTER_REJECT;&lt;br /&gt;
		}&lt;br /&gt;
		// Skip this element, but check its children&lt;br /&gt;
		return NodeFilter.FILTER_SKIP;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {TextNode} node&lt;br /&gt;
	 */&lt;br /&gt;
	function handleTextNode(node) {&lt;br /&gt;
		var original = node.nodeValue,&lt;br /&gt;
			changed = original,&lt;br /&gt;
			matchers = getMatchers(currentType),&lt;br /&gt;
			i = 0;&lt;br /&gt;
		for (; i &amp;lt;= 9; i++) {&lt;br /&gt;
			changed = changed.replace(matchers[i], maps[currentType][i]);&lt;br /&gt;
		}&lt;br /&gt;
		if (original !== changed) {&lt;br /&gt;
			node.nodeValue = changed;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw-method-requestIdleCallback&lt;br /&gt;
	function idleWalker(deadline) {&lt;br /&gt;
		var el;&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		while (deadline.timeRemaining() &amp;gt; 0) {&lt;br /&gt;
			el = walker.nextNode();&lt;br /&gt;
			if (!el) {&lt;br /&gt;
				// Reached the end&lt;br /&gt;
				walker = null;&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			handleTextNode(el);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// The user may interact with the page. We pause so the browser can process&lt;br /&gt;
		// interaction. The text handler will continue after that.&lt;br /&gt;
		if (walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Save a browser cookie for 30 days, or remove it.&lt;br /&gt;
	 * @param {string|null} value&lt;br /&gt;
	 */&lt;br /&gt;
	function saveType(value) {&lt;br /&gt;
		mw.requestIdleCallback(function () {&lt;br /&gt;
			$.cookie(&#039;mw-numerakri-type&#039;, value, { expires: 30, path: &#039;/&#039; });&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @return {string}&lt;br /&gt;
	 */&lt;br /&gt;
	function getStoredType() {&lt;br /&gt;
		var value = $.cookie(&#039;mw-numerakri-type&#039;);&lt;br /&gt;
		if (value !== null &amp;amp;&amp;amp; !isValidType(value)) {&lt;br /&gt;
			// Remove bad cookie&lt;br /&gt;
			saveType(null);&lt;br /&gt;
			value = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return value || &#039;default&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function startPageConversion() {&lt;br /&gt;
		if (styleTag) {&lt;br /&gt;
			// Undo style for a previously selected type&lt;br /&gt;
			$(styleTag).remove();&lt;br /&gt;
			styleTag = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;default&#039;) {&lt;br /&gt;
			// Don&#039;t change the page&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;arabic&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: decimal; }&#039;);&lt;br /&gt;
		} else if (currentType === &#039;devanagari&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: devanagari; }&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// If a walker is already active, replace it.&lt;br /&gt;
		// If no walker is active yet, start it.&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
		walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, filterNode, false);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {HTMLElement} */&lt;br /&gt;
	function createSelector() {&lt;br /&gt;
		var $select = $(&#039;&amp;lt;select&amp;gt;&#039;).addClass(&#039;mw-numerakri-skip&#039;).append(&lt;br /&gt;
			$(&#039;&amp;lt;option&amp;gt;&#039;).val(&#039;default&#039;).text(msg(&#039;option-default&#039;))&lt;br /&gt;
		);&lt;br /&gt;
		availableMaps.forEach(function (type) {&lt;br /&gt;
			$select.append($(&#039;&amp;lt;option&amp;gt;&#039;).val(type).text(msg(&#039;option-&#039; + type)));&lt;br /&gt;
		});&lt;br /&gt;
		$select.val(currentType);&lt;br /&gt;
		$select.on(&#039;change&#039;, function () {&lt;br /&gt;
			currentType = this.value;&lt;br /&gt;
			startPageConversion();&lt;br /&gt;
			saveType(currentType);&lt;br /&gt;
		});&lt;br /&gt;
		return $select[0];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function init() {&lt;br /&gt;
		var potlet, menu;&lt;br /&gt;
&lt;br /&gt;
		// Decide which types to show&lt;br /&gt;
		availableMaps = [&#039;gujarati&#039;, &#039;arabic&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Decide selected type&lt;br /&gt;
		currentType = getStoredType();&lt;br /&gt;
		startPageConversion();&lt;br /&gt;
&lt;br /&gt;
		potlet = mw.util.addPortletLink(&lt;br /&gt;
			&#039;p-personal&#039;,&lt;br /&gt;
			msg(&#039;label-url&#039;),&lt;br /&gt;
			msg(&#039;label-text&#039;),&lt;br /&gt;
			&#039;pt-numconvert&#039;,&lt;br /&gt;
			msg(&#039;label-tooltip&#039;),&lt;br /&gt;
			null,&lt;br /&gt;
			mw.user.isAnon() ? &#039;#pt-createaccount&#039; : &#039;#pt-userpage&#039;&lt;br /&gt;
		);&lt;br /&gt;
		menu = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;mw-numerakri-menu&#039;).append(createSelector())[0];&lt;br /&gt;
		if(potlet) {&lt;br /&gt;
			potlet.appendChild(menu);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(function () {&lt;br /&gt;
		mw.requestIdleCallback(init);&lt;br /&gt;
	});&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65247</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65247"/>
		<updated>2023-10-09T18:31:20Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgIsMainPage&#039;) ){&lt;br /&gt;
		$(&#039;#firstHeading&#039;).remove();&lt;br /&gt;
		&lt;br /&gt;
		var mainpageLeft = $(&amp;quot;.mainpage-left&amp;quot;);&lt;br /&gt;
		var mainpageRight = $(&amp;quot;.mainpage-right&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mainpageLeft.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
		mainpageRight.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
		function animateLeft(){&lt;br /&gt;
			mainpageRight.animate({&#039;left&#039;: &#039;15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageRight.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateLeft() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateLeft();&lt;br /&gt;
		&lt;br /&gt;
		function animateRight(){&lt;br /&gt;
			mainpageLeft.animate({&#039;left&#039;: &#039;-15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageLeft.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateRight() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateRight();&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; ).length &amp;gt; 1 ){&lt;br /&gt;
		var tempPageName = mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; )[0];&lt;br /&gt;
		var tempLink =&#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&#039; +  tempPageName + &#039;&amp;quot;&amp;gt;&#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
		$(&amp;quot;#top&amp;quot;).after(  $( &#039;&amp;lt;p&amp;gt;&#039;).css( &#039;font-size&#039;, &#039;17px&#039;).html( tempLink ) );&lt;br /&gt;
	}&lt;br /&gt;
	if( mw.config.get(&#039;wgUserName&#039;) === null  ){&lt;br /&gt;
		$(&#039;body&#039;).bind(&#039;cut copy&#039;, function(e) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
	} else {&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onmousedown&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onselectstart&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:OCR.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:PoemButtons.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( $(&amp;quot;.wikiaudioplayer&amp;quot;).length ){&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/css&#039;);&lt;br /&gt;
		$.when(&lt;br /&gt;
		    mw.loader.getScript( &#039;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		.then(&lt;br /&gt;
		    function () {&lt;br /&gt;
				GreenAudioPlayer.init({&lt;br /&gt;
				    selector: &#039;.wikiaudioplayer&#039;,&lt;br /&gt;
				    stopOthersOnPlay: true&lt;br /&gt;
				});&lt;br /&gt;
		    },&lt;br /&gt;
		    function ( e ) {&lt;br /&gt;
		        mw.log.error( e.message );&lt;br /&gt;
		    }&lt;br /&gt;
		);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	var sidebarCategory = $(&amp;quot;#p-Categories &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	var sidebarAuthor = $(&amp;quot;#p-Authors &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	sidebarCategory.empty();&lt;br /&gt;
	sidebarAuthor.empty();&lt;br /&gt;
&lt;br /&gt;
	mw.loader.using( [ &#039;mediawiki.api&#039; ], function(){&lt;br /&gt;
		var sel1 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarCategory );&lt;br /&gt;
		var sel2 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarAuthor );&lt;br /&gt;
		sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
		sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
		// For category Categories&lt;br /&gt;
		catMemberParam1 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Categories on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam1, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel1.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		// For category Author&lt;br /&gt;
		catMemberParam2 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Authors on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam2, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel2.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
	} );&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Long list into col&lt;br /&gt;
$( document ).ready( function(){&lt;br /&gt;
&lt;br /&gt;
	var longList = $(&amp;quot;#longList&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;),&lt;br /&gt;
		dlElements = longList.children().filter(&amp;quot;dl&amp;quot;),&lt;br /&gt;
		dlElementsLength = dlElements.length;&lt;br /&gt;
	&lt;br /&gt;
	var list1 = [],&lt;br /&gt;
		list2 = [];&lt;br /&gt;
	&lt;br /&gt;
	var count = 0;&lt;br /&gt;
	dlElements.each( function(index, ele){&lt;br /&gt;
		if( count &amp;lt; dlElementsLength/2 ){&lt;br /&gt;
			list1.push(ele);&lt;br /&gt;
			list1.push( $(ele).next() );&lt;br /&gt;
		} else {&lt;br /&gt;
			list2.push(ele);&lt;br /&gt;
			list2.push( $(ele).next() );&lt;br /&gt;
		}&lt;br /&gt;
		count = count + 1;&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.empty();&lt;br /&gt;
	&lt;br /&gt;
	var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list1.forEach( function(value, index){&lt;br /&gt;
		leftDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list2.forEach( function(value, index){&lt;br /&gt;
		rightDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.append(leftDiv, rightDiv );&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function() {&lt;br /&gt;
	var divide2cols = $(&amp;quot;#divide2cols&amp;quot;);&lt;br /&gt;
	if( divide2cols.length ){&lt;br /&gt;
		var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var parentHieght = divide2cols.height()/2;&lt;br /&gt;
		divide2cols.children().filter(&amp;quot;dl&amp;quot;).each(function() {&lt;br /&gt;
			console.log( $(this).offset().top , parentHieght );&lt;br /&gt;
			if ( $(this).offset().top &amp;gt; parentHieght ) {&lt;br /&gt;
				rightDiv.append( $(this), $(this).next() );&lt;br /&gt;
			} else {&lt;br /&gt;
				leftDiv.append( $(this), $(this).next() );&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		divide2cols.before( $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;).append(leftDiv, rightDiv) );&lt;br /&gt;
		divide2cols.remove();&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	// toggled by toggle button. also determines which toggle button image to use&lt;br /&gt;
	var useCustom = false;&lt;br /&gt;
	&lt;br /&gt;
	// toggleImgs[0] to switch to custom, toggleImgs[1] to revert to default&lt;br /&gt;
	var toggleImgs = [&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_search_black_24px.svg&#039;,&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_youtube_searched_for_black_24px.svg&#039;&lt;br /&gt;
	];&lt;br /&gt;
	var zoomInImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_in_black_24px.svg&#039;;&lt;br /&gt;
	var zoomOutImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_out_black_24px.svg&#039;;&lt;br /&gt;
	&lt;br /&gt;
	// create DOM elements&lt;br /&gt;
	$(&#039;#content&#039;).prepend(&#039;&amp;lt;div id=&amp;quot;zoomButtons&amp;quot; style=&amp;quot;z-index: 9999;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomInIcon&amp;quot; src=&amp;quot;&#039; + zoomInImg + &#039;&amp;quot; alt=&amp;quot;zoom in&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomOutIcon&amp;quot; src=&amp;quot;&#039; + zoomOutImg + &#039;&amp;quot; alt=&amp;quot;zoom out&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;toggleButton&amp;quot; src=&amp;quot;&#039; + toggleImgs[+ useCustom] + &#039;&amp;quot; alt=&amp;quot;toggle zoom&amp;quot;&amp;gt;&amp;amp;nbsp&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
	$(&#039;#zoomButtons&#039;).css({&#039;float&#039;: &#039;right&#039;});&lt;br /&gt;
	&lt;br /&gt;
	// find DOM elements used later&lt;br /&gt;
	var $bodyContent = $(&#039;.mw-body-content&#039;);&lt;br /&gt;
	var $toggleButton = $(&#039;#toggleButton&#039;);&lt;br /&gt;
	&lt;br /&gt;
	// sizes[0] is default, sizes[1] is custom&lt;br /&gt;
	var sizes = [parseFloat($(&#039;.mw-body-content&#039;).css(&#039;font-size&#039;))];&lt;br /&gt;
	// default custom zoom of 2&lt;br /&gt;
	sizes[1] = sizes[0] + 2;&lt;br /&gt;
	&lt;br /&gt;
	// the + converts bool to 0 or 1 to use as array index&lt;br /&gt;
	function updateSize() {&lt;br /&gt;
		$bodyContent.css({&#039;font-size&#039;:(sizes[+ useCustom] + &#039;pt&#039;)});&lt;br /&gt;
	}&lt;br /&gt;
	function toggle() {&lt;br /&gt;
		useCustom = !useCustom;&lt;br /&gt;
		$toggleButton.attr(&#039;src&#039;,toggleImgs[+ useCustom]);&lt;br /&gt;
		updateSize();&lt;br /&gt;
	}&lt;br /&gt;
	function zoom(dif) {&lt;br /&gt;
		sizes[1] += dif;&lt;br /&gt;
		if (useCustom) {&lt;br /&gt;
			updateSize();&lt;br /&gt;
		} else {&lt;br /&gt;
			toggle();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomInIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom +&amp;quot;);&lt;br /&gt;
		zoom(1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomOutIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom -&amp;quot;);&lt;br /&gt;
		zoom(-1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#toggleButton&#039; ).on( &#039;click&#039;, toggle );&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Convert numbers between numeral systems.&lt;br /&gt;
 *&lt;br /&gt;
 * Dependencies: jquery.cookie, mediawiki.util, mediawiki.user&lt;br /&gt;
 * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-Numerakri.js&lt;br /&gt;
 * Revision: 2019-01-11&lt;br /&gt;
 *&lt;br /&gt;
 * @copyright 2012 Daniel Friesen&lt;br /&gt;
 * @copyright 2012 Siddhartha Ghai&lt;br /&gt;
 * @copyright 2014 Bhawani Gautam&lt;br /&gt;
 * @copyright 2012-2018 Timo Tijhof&lt;br /&gt;
 * @license &amp;lt;https://opensource.org/licenses/MIT&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
/*jshint browser:true, unused:true, forin:false */&lt;br /&gt;
/*global $, mw */&lt;br /&gt;
(function () {&lt;br /&gt;
	&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
	var msgs = {&lt;br /&gt;
			&#039;option-default&#039;: {&lt;br /&gt;
				en: &#039;Default&#039;,&lt;br /&gt;
				bho: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				gu: &#039;ડિફોલ્ટ&#039;,&lt;br /&gt;
				hi: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				ne: &#039;डिफल्ट&#039;,&lt;br /&gt;
				pa: &#039;ਅਸਲ ਦਿੱਖ&#039;,&lt;br /&gt;
				sa: &#039;उत्सर्गः&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-arabic&#039;: {&lt;br /&gt;
				en: &#039;1 2 3&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-devanagari&#039;: {&lt;br /&gt;
				en: &#039;Devanagari&#039;,&lt;br /&gt;
				bho: &#039;१२३&#039;,&lt;br /&gt;
				hi: &#039;१२३&#039;,&lt;br /&gt;
				ne: &#039;१२३&#039;,&lt;br /&gt;
				sa: &#039;१२३&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gujarati&#039;: {&lt;br /&gt;
				en: &#039;૧ ૨ ૩&#039;,&lt;br /&gt;
				gu: &#039;૧ ૨ ૩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gurmukhi&#039;: {&lt;br /&gt;
				en: &#039;Gurmukhi&#039;,&lt;br /&gt;
				pa: &#039;੧੨੩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-url&#039;: {&lt;br /&gt;
				en: &#039;//www.mediawiki.org/wiki/MediaWiki_talk:Gadget-Numerakri.js&#039;,&lt;br /&gt;
				gu: &#039;//gu.wikipedia.org/wiki/વિકિસૂક્તિઃઅંક_પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;//hi.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				ne: &#039;//ne.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				pa: &#039;//pa.wikipedia.org/wiki/ਵਿਕੀਪੀਡੀਆ:ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;//sa.wikipedia.org/wiki/विकिपीडिया:अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-text&#039;: {&lt;br /&gt;
				en: &#039;Convert numerals&#039;,&lt;br /&gt;
				bho: &#039;अंक बदलाव&#039;,&lt;br /&gt;
				gu: &#039;અંક પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				ne: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-tooltip&#039;: {&lt;br /&gt;
				en: &#039;Convert between Arabic and Devanagari numerals&#039;,&lt;br /&gt;
				bho: &#039;नागरी आ अरबी अंकों में अदला-बदली करीं&#039;,&lt;br /&gt;
				gu: &#039;ગુજરાતી અને અંગ્રેજી અંકોમાં પરિવર્તન કરો&#039;,&lt;br /&gt;
				hi: &#039;नागरी और अरबी अंकों में परिवर्तन करें&#039;,&lt;br /&gt;
				ne: &#039;देवनागरी र अरबी अंकहरूमा परिवर्तन गर्नुहोस्&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕਾਂ ਨੂ ਗੁਰਮੁਖੀ ਤੇ ਅਰਬੀ ਵਿਚ ਬਦਲੇਂ&#039;,&lt;br /&gt;
				sa: &#039;देवनागरी-अरबी-अङ्कयोः चयनं करोतु&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		maps = {&lt;br /&gt;
			arabic: [&#039;0&#039;, &#039;1&#039;, &#039;2&#039;, &#039;3&#039;, &#039;4&#039;, &#039;5&#039;, &#039;6&#039;, &#039;7&#039;, &#039;8&#039;, &#039;9&#039;],&lt;br /&gt;
			devanagari: [&#039;०&#039;, &#039;१&#039;, &#039;२&#039;, &#039;३&#039;, &#039;४&#039;, &#039;५&#039;, &#039;६&#039;, &#039;७&#039;, &#039;८&#039;, &#039;९&#039;],&lt;br /&gt;
			gujarati: [&#039;૦&#039;, &#039;૧&#039;, &#039;૨&#039;, &#039;૩&#039;, &#039;૪&#039;, &#039;૫&#039;, &#039;૬&#039;, &#039;૭&#039;, &#039;૮&#039;, &#039;૯&#039;],&lt;br /&gt;
			gurmukhi: [&#039;੦&#039;, &#039;੧&#039;, &#039;੨&#039;, &#039;੩&#039;, &#039;੪&#039;, &#039;੫&#039;, &#039;੬&#039;, &#039;੭&#039;, &#039;੮&#039;, &#039;੯&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		availableMaps,&lt;br /&gt;
		currentType = &#039;default&#039;,&lt;br /&gt;
		matchers = {},&lt;br /&gt;
		walker,&lt;br /&gt;
		styleTag;&lt;br /&gt;
&lt;br /&gt;
	function isValidType(type) {&lt;br /&gt;
		return type === &#039;default&#039; || availableMaps.indexOf(type) !== -1;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {Object.&amp;lt;RegExp&amp;gt;} */&lt;br /&gt;
	function getMatchers(targetType) {&lt;br /&gt;
		var rChars;&lt;br /&gt;
		if (!matchers[targetType]) {&lt;br /&gt;
			rChars = { 0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: [] };&lt;br /&gt;
			$.each(maps, function (type, map) {&lt;br /&gt;
				if (type !== targetType) {&lt;br /&gt;
					for (var i = 0; i &amp;lt;= 9; i++) {&lt;br /&gt;
						rChars[i].push(map[i]);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			$.each(rChars, function (num, chars) {&lt;br /&gt;
				rChars[num] = new RegExp(&#039;(&#039; + chars.map(mw.RegExp.escape).join(&#039;|&#039;) + &#039;)&#039;, &#039;g&#039;);&lt;br /&gt;
			});&lt;br /&gt;
			matchers[targetType] = rChars;&lt;br /&gt;
		}&lt;br /&gt;
		return matchers[targetType];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function msg(key) {&lt;br /&gt;
		return msgs[key][mw.config.get(&#039;wgUserLanguage&#039;)] || msgs[key].en;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {HTMLElement|TextNode} node&lt;br /&gt;
	 * @return {number} NodeFilter.FILTER_* constant&lt;br /&gt;
	 */&lt;br /&gt;
	function filterNode(node) {&lt;br /&gt;
		if (node.nodeType === Node.TEXT_NODE) {&lt;br /&gt;
			return NodeFilter.FILTER_ACCEPT;&lt;br /&gt;
		}&lt;br /&gt;
		var n = node.nodeName &amp;amp;&amp;amp; node.nodeName.toLowerCase();&lt;br /&gt;
		if (n === &#039;input&#039; || n === &#039;textarea&#039; || $(node).hasClass(&#039;mw-numerakri-skip&#039;)) {&lt;br /&gt;
			// Skip this element and skip its children&lt;br /&gt;
			return NodeFilter.FILTER_REJECT;&lt;br /&gt;
		}&lt;br /&gt;
		// Skip this element, but check its children&lt;br /&gt;
		return NodeFilter.FILTER_SKIP;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {TextNode} node&lt;br /&gt;
	 */&lt;br /&gt;
	function handleTextNode(node) {&lt;br /&gt;
		var original = node.nodeValue,&lt;br /&gt;
			changed = original,&lt;br /&gt;
			matchers = getMatchers(currentType),&lt;br /&gt;
			i = 0;&lt;br /&gt;
		for (; i &amp;lt;= 9; i++) {&lt;br /&gt;
			changed = changed.replace(matchers[i], maps[currentType][i]);&lt;br /&gt;
		}&lt;br /&gt;
		if (original !== changed) {&lt;br /&gt;
			node.nodeValue = changed;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw-method-requestIdleCallback&lt;br /&gt;
	function idleWalker(deadline) {&lt;br /&gt;
		var el;&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		while (deadline.timeRemaining() &amp;gt; 0) {&lt;br /&gt;
			el = walker.nextNode();&lt;br /&gt;
			if (!el) {&lt;br /&gt;
				// Reached the end&lt;br /&gt;
				walker = null;&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			handleTextNode(el);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// The user may interact with the page. We pause so the browser can process&lt;br /&gt;
		// interaction. The text handler will continue after that.&lt;br /&gt;
		if (walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Save a browser cookie for 30 days, or remove it.&lt;br /&gt;
	 * @param {string|null} value&lt;br /&gt;
	 */&lt;br /&gt;
	function saveType(value) {&lt;br /&gt;
		mw.requestIdleCallback(function () {&lt;br /&gt;
			$.cookie(&#039;mw-numerakri-type&#039;, value, { expires: 30, path: &#039;/&#039; });&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @return {string}&lt;br /&gt;
	 */&lt;br /&gt;
	function getStoredType() {&lt;br /&gt;
		var value = $.cookie(&#039;mw-numerakri-type&#039;);&lt;br /&gt;
		if (value !== null &amp;amp;&amp;amp; !isValidType(value)) {&lt;br /&gt;
			// Remove bad cookie&lt;br /&gt;
			saveType(null);&lt;br /&gt;
			value = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return value || &#039;default&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function startPageConversion() {&lt;br /&gt;
		if (styleTag) {&lt;br /&gt;
			// Undo style for a previously selected type&lt;br /&gt;
			$(styleTag).remove();&lt;br /&gt;
			styleTag = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;default&#039;) {&lt;br /&gt;
			// Don&#039;t change the page&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;arabic&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: decimal; }&#039;);&lt;br /&gt;
		} else if (currentType === &#039;devanagari&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: devanagari; }&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// If a walker is already active, replace it.&lt;br /&gt;
		// If no walker is active yet, start it.&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
		walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, filterNode, false);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {HTMLElement} */&lt;br /&gt;
	function createSelector() {&lt;br /&gt;
		var $select = $(&#039;&amp;lt;select&amp;gt;&#039;).addClass(&#039;mw-numerakri-skip&#039;).append(&lt;br /&gt;
			$(&#039;&amp;lt;option&amp;gt;&#039;).val(&#039;default&#039;).text(msg(&#039;option-default&#039;))&lt;br /&gt;
		);&lt;br /&gt;
		availableMaps.forEach(function (type) {&lt;br /&gt;
			$select.append($(&#039;&amp;lt;option&amp;gt;&#039;).val(type).text(msg(&#039;option-&#039; + type)));&lt;br /&gt;
		});&lt;br /&gt;
		$select.val(currentType);&lt;br /&gt;
		$select.on(&#039;change&#039;, function () {&lt;br /&gt;
			currentType = this.value;&lt;br /&gt;
			startPageConversion();&lt;br /&gt;
			saveType(currentType);&lt;br /&gt;
		});&lt;br /&gt;
		return $select[0];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function init() {&lt;br /&gt;
		var potlet, menu;&lt;br /&gt;
&lt;br /&gt;
		// Decide which types to show&lt;br /&gt;
		availableMaps = [&#039;gujarati&#039;, &#039;arabic&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Decide selected type&lt;br /&gt;
		currentType = getStoredType();&lt;br /&gt;
		startPageConversion();&lt;br /&gt;
&lt;br /&gt;
		potlet = mw.util.addPortletLink(&lt;br /&gt;
			&#039;p-personal&#039;,&lt;br /&gt;
			msg(&#039;label-url&#039;),&lt;br /&gt;
			msg(&#039;label-text&#039;),&lt;br /&gt;
			&#039;pt-numconvert&#039;,&lt;br /&gt;
			msg(&#039;label-tooltip&#039;),&lt;br /&gt;
			null,&lt;br /&gt;
			mw.user.isAnon() ? &#039;#pt-createaccount&#039; : &#039;#pt-userpage&#039;&lt;br /&gt;
		);&lt;br /&gt;
		menu = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;mw-numerakri-menu&#039;).append(createSelector())[0];&lt;br /&gt;
		if(potlet) {&lt;br /&gt;
			potlet.appendChild(menu);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(function () {&lt;br /&gt;
		mw.requestIdleCallback(init);&lt;br /&gt;
	});&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=65246</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=65246"/>
		<updated>2023-10-09T18:23:39Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;wikiaudioplayer&amp;quot;&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65245</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.js&amp;diff=65245"/>
		<updated>2023-10-09T18:23:25Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$( function(){&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgIsMainPage&#039;) ){&lt;br /&gt;
		$(&#039;#firstHeading&#039;).remove();&lt;br /&gt;
		&lt;br /&gt;
		var mainpageLeft = $(&amp;quot;.mainpage-left&amp;quot;);&lt;br /&gt;
		var mainpageRight = $(&amp;quot;.mainpage-right&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mainpageLeft.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
		mainpageRight.css(&amp;quot;position&amp;quot;, &amp;quot;relative&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
		function animateLeft(){&lt;br /&gt;
			mainpageRight.animate({&#039;left&#039;: &#039;15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageRight.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateLeft() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateLeft();&lt;br /&gt;
		&lt;br /&gt;
		function animateRight(){&lt;br /&gt;
			mainpageLeft.animate({&#039;left&#039;: &#039;-15px&#039;}, 1000, function(){&lt;br /&gt;
				mainpageLeft.animate( {&amp;quot;left&amp;quot;: &amp;quot;0px&amp;quot; }, 1000, animateRight() );&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		animateRight();&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; ).length &amp;gt; 1 ){&lt;br /&gt;
		var tempPageName = mw.config.get(&#039;wgPageName&#039;).split( &#039;/&#039; )[0];&lt;br /&gt;
		var tempLink =&#039;&amp;amp;#60;  &amp;lt;a href=&amp;quot;https://wiki.ekatrafoundation.org/wiki/&#039; +  tempPageName + &#039;&amp;quot;&amp;gt;&#039; + tempPageName.replaceAll(&amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
		$(&amp;quot;#top&amp;quot;).after(  $( &#039;&amp;lt;p&amp;gt;&#039;).css( &#039;font-size&#039;, &#039;17px&#039;).html( tempLink ) );&lt;br /&gt;
	}&lt;br /&gt;
	if( mw.config.get(&#039;wgUserName&#039;) === null  ){&lt;br /&gt;
		$(&#039;body&#039;).bind(&#039;cut copy&#039;, function(e) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
		});&lt;br /&gt;
	} else {&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onmousedown&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#content&amp;quot;).removeAttr(&amp;quot;onselectstart&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:OCR.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
		mw.loader.load( &#039;/index.php?title=MediaWiki:PoemButtons.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if( $(&amp;quot;.wikiaudioplayer&amp;quot;).length ){&lt;br /&gt;
		$.when(&lt;br /&gt;
		    mw.loader.getScript( &#039;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039; ),&lt;br /&gt;
		    mw.loader.getScript( &#039;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039; )&lt;br /&gt;
		)&lt;br /&gt;
		.then(&lt;br /&gt;
		    function () {&lt;br /&gt;
				GreenAudioPlayer.init({&lt;br /&gt;
				    selector: &#039;.wikiaudioplayer&#039;,&lt;br /&gt;
				    stopOthersOnPlay: true&lt;br /&gt;
				});&lt;br /&gt;
		    },&lt;br /&gt;
		    function ( e ) {&lt;br /&gt;
		        mw.log.error( e.message );&lt;br /&gt;
		    }&lt;br /&gt;
		);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	var sidebarCategory = $(&amp;quot;#p-Categories &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	var sidebarAuthor = $(&amp;quot;#p-Authors &amp;gt; .vector-menu-content&amp;quot;);&lt;br /&gt;
	sidebarCategory.empty();&lt;br /&gt;
	sidebarAuthor.empty();&lt;br /&gt;
&lt;br /&gt;
	mw.loader.using( [ &#039;mediawiki.api&#039; ], function(){&lt;br /&gt;
		var sel1 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarCategory );&lt;br /&gt;
		var sel2 = $(&#039;&amp;lt;select&amp;gt;&#039;).css( &#039;width&#039;, &#039;100%&#039;).appendTo( sidebarAuthor );&lt;br /&gt;
		sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
		sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;disabled&#039;, true).attr(&#039;selected&#039;, true).text( &amp;quot;-- Select an option --&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
		// For category Categories&lt;br /&gt;
		catMemberParam1 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Categories on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam1, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel1.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel1.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
		// For category Author&lt;br /&gt;
		catMemberParam2 = {&lt;br /&gt;
			&amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
			&amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
			&amp;quot;list&amp;quot;: &amp;quot;categorymembers&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtitle&amp;quot;: &amp;quot;Category:Authors on EkatraWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;cmprop&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;cmtype&amp;quot;: &amp;quot;subcat&amp;quot;,&lt;br /&gt;
			&amp;quot;cmlimit&amp;quot;: &amp;quot;500&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		(new mw.Api()).get( catMemberParam2, { async: false }  ).done(function ( resData ){&lt;br /&gt;
			var catOptions = [];&lt;br /&gt;
			var members = resData.query.categorymembers;&lt;br /&gt;
	&lt;br /&gt;
			// Creating MenuItems array from Category Members&lt;br /&gt;
			members.forEach( function(it){&lt;br /&gt;
				var ct = it.title.replace(&amp;quot;Category:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
				sel2.append( $(&amp;quot;&amp;lt;option&amp;gt;&amp;quot;).attr(&#039;value&#039;, ct).text(ct) );&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			sel2.on(&#039;change&#039;, function (e) {&lt;br /&gt;
			    var valueSelected = this.value;&lt;br /&gt;
			    window.location = &amp;quot;https://wiki.ekatrafoundation.org/wiki/Category:&amp;quot; + valueSelected;&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
	} );&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Long list into col&lt;br /&gt;
$( document ).ready( function(){&lt;br /&gt;
&lt;br /&gt;
	var longList = $(&amp;quot;#longList&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;),&lt;br /&gt;
		dlElements = longList.children().filter(&amp;quot;dl&amp;quot;),&lt;br /&gt;
		dlElementsLength = dlElements.length;&lt;br /&gt;
	&lt;br /&gt;
	var list1 = [],&lt;br /&gt;
		list2 = [];&lt;br /&gt;
	&lt;br /&gt;
	var count = 0;&lt;br /&gt;
	dlElements.each( function(index, ele){&lt;br /&gt;
		if( count &amp;lt; dlElementsLength/2 ){&lt;br /&gt;
			list1.push(ele);&lt;br /&gt;
			list1.push( $(ele).next() );&lt;br /&gt;
		} else {&lt;br /&gt;
			list2.push(ele);&lt;br /&gt;
			list2.push( $(ele).next() );&lt;br /&gt;
		}&lt;br /&gt;
		count = count + 1;&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.empty();&lt;br /&gt;
	&lt;br /&gt;
	var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list1.forEach( function(value, index){&lt;br /&gt;
		leftDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
	list2.forEach( function(value, index){&lt;br /&gt;
		rightDiv.append(value);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	longList.append(leftDiv, rightDiv );&lt;br /&gt;
	&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	&lt;br /&gt;
	var countPoem2 = $(&amp;quot;.Poem2-Ekatra&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	if( countPoem2.length &amp;gt; 0 ){&lt;br /&gt;
	&lt;br /&gt;
	var Poem2lenghtArray = [];&lt;br /&gt;
	for (var k = 0; k &amp;lt;= countPoem2.length; k++) {&lt;br /&gt;
	   Poem2lenghtArray.push(k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		Poem2lenghtArray.forEach(function(j) {&lt;br /&gt;
			&lt;br /&gt;
			var poemElement = $(&amp;quot;.Poem2-Ekatra&amp;quot;).eq(j);&lt;br /&gt;
						&lt;br /&gt;
			if( poemElement.length ){&lt;br /&gt;
				var poemText = poemElement.html();&lt;br /&gt;
&lt;br /&gt;
				var poemArray = poemText.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				poemElement.text(&amp;quot;&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
				// First measure&lt;br /&gt;
				poemArray.forEach( function(i) {&lt;br /&gt;
					poemElement.append( &#039;&amp;lt;p style=&amp;quot;text-indent: 2em;&amp;quot;&amp;gt;&#039; + i + &#039;&amp;lt;/p&amp;gt;&#039; );&lt;br /&gt;
				});&lt;br /&gt;
				&lt;br /&gt;
				// Second measure&lt;br /&gt;
				poemElement.children(&#039;p&#039;).each(function () {&lt;br /&gt;
					$(this).css(&#039;text-indent&#039;, &#039;2em&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$( function() {&lt;br /&gt;
	var divide2cols = $(&amp;quot;#divide2cols&amp;quot;);&lt;br /&gt;
	if( divide2cols.length ){&lt;br /&gt;
		var leftDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var rightDiv = $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_col&amp;quot;);&lt;br /&gt;
		var parentHieght = divide2cols.height()/2;&lt;br /&gt;
		divide2cols.children().filter(&amp;quot;dl&amp;quot;).each(function() {&lt;br /&gt;
			console.log( $(this).offset().top , parentHieght );&lt;br /&gt;
			if ( $(this).offset().top &amp;gt; parentHieght ) {&lt;br /&gt;
				rightDiv.append( $(this), $(this).next() );&lt;br /&gt;
			} else {&lt;br /&gt;
				leftDiv.append( $(this), $(this).next() );&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		divide2cols.before( $(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).addClass(&amp;quot;grid_row&amp;quot;).append(leftDiv, rightDiv) );&lt;br /&gt;
		divide2cols.remove();&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$( function(){&lt;br /&gt;
	// toggled by toggle button. also determines which toggle button image to use&lt;br /&gt;
	var useCustom = false;&lt;br /&gt;
	&lt;br /&gt;
	// toggleImgs[0] to switch to custom, toggleImgs[1] to revert to default&lt;br /&gt;
	var toggleImgs = [&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_search_black_24px.svg&#039;,&lt;br /&gt;
		&#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_youtube_searched_for_black_24px.svg&#039;&lt;br /&gt;
	];&lt;br /&gt;
	var zoomInImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_in_black_24px.svg&#039;;&lt;br /&gt;
	var zoomOutImg = &#039;//storage.googleapis.com/material-icons/external-assets/v4/icons/svg/ic_zoom_out_black_24px.svg&#039;;&lt;br /&gt;
	&lt;br /&gt;
	// create DOM elements&lt;br /&gt;
	$(&#039;#content&#039;).prepend(&#039;&amp;lt;div id=&amp;quot;zoomButtons&amp;quot; style=&amp;quot;z-index: 9999;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomInIcon&amp;quot; src=&amp;quot;&#039; + zoomInImg + &#039;&amp;quot; alt=&amp;quot;zoom in&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;zoomOutIcon&amp;quot; src=&amp;quot;&#039; + zoomOutImg + &#039;&amp;quot; alt=&amp;quot;zoom out&amp;quot;&amp;quot;&amp;gt;\&lt;br /&gt;
	&amp;lt;img id=&amp;quot;toggleButton&amp;quot; src=&amp;quot;&#039; + toggleImgs[+ useCustom] + &#039;&amp;quot; alt=&amp;quot;toggle zoom&amp;quot;&amp;gt;&amp;amp;nbsp&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
	$(&#039;#zoomButtons&#039;).css({&#039;float&#039;: &#039;right&#039;});&lt;br /&gt;
	&lt;br /&gt;
	// find DOM elements used later&lt;br /&gt;
	var $bodyContent = $(&#039;.mw-body-content&#039;);&lt;br /&gt;
	var $toggleButton = $(&#039;#toggleButton&#039;);&lt;br /&gt;
	&lt;br /&gt;
	// sizes[0] is default, sizes[1] is custom&lt;br /&gt;
	var sizes = [parseFloat($(&#039;.mw-body-content&#039;).css(&#039;font-size&#039;))];&lt;br /&gt;
	// default custom zoom of 2&lt;br /&gt;
	sizes[1] = sizes[0] + 2;&lt;br /&gt;
	&lt;br /&gt;
	// the + converts bool to 0 or 1 to use as array index&lt;br /&gt;
	function updateSize() {&lt;br /&gt;
		$bodyContent.css({&#039;font-size&#039;:(sizes[+ useCustom] + &#039;pt&#039;)});&lt;br /&gt;
	}&lt;br /&gt;
	function toggle() {&lt;br /&gt;
		useCustom = !useCustom;&lt;br /&gt;
		$toggleButton.attr(&#039;src&#039;,toggleImgs[+ useCustom]);&lt;br /&gt;
		updateSize();&lt;br /&gt;
	}&lt;br /&gt;
	function zoom(dif) {&lt;br /&gt;
		sizes[1] += dif;&lt;br /&gt;
		if (useCustom) {&lt;br /&gt;
			updateSize();&lt;br /&gt;
		} else {&lt;br /&gt;
			toggle();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomInIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom +&amp;quot;);&lt;br /&gt;
		zoom(1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#zoomOutIcon&#039; ).on( &#039;click&#039;, function(){&lt;br /&gt;
		console.log(&amp;quot;Zoom -&amp;quot;);&lt;br /&gt;
		zoom(-1);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$( &#039;#toggleButton&#039; ).on( &#039;click&#039;, toggle );&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Convert numbers between numeral systems.&lt;br /&gt;
 *&lt;br /&gt;
 * Dependencies: jquery.cookie, mediawiki.util, mediawiki.user&lt;br /&gt;
 * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-Numerakri.js&lt;br /&gt;
 * Revision: 2019-01-11&lt;br /&gt;
 *&lt;br /&gt;
 * @copyright 2012 Daniel Friesen&lt;br /&gt;
 * @copyright 2012 Siddhartha Ghai&lt;br /&gt;
 * @copyright 2014 Bhawani Gautam&lt;br /&gt;
 * @copyright 2012-2018 Timo Tijhof&lt;br /&gt;
 * @license &amp;lt;https://opensource.org/licenses/MIT&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
/*jshint browser:true, unused:true, forin:false */&lt;br /&gt;
/*global $, mw */&lt;br /&gt;
(function () {&lt;br /&gt;
	&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
	var msgs = {&lt;br /&gt;
			&#039;option-default&#039;: {&lt;br /&gt;
				en: &#039;Default&#039;,&lt;br /&gt;
				bho: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				gu: &#039;ડિફોલ્ટ&#039;,&lt;br /&gt;
				hi: &#039;डिफ़ॉल्ट&#039;,&lt;br /&gt;
				ne: &#039;डिफल्ट&#039;,&lt;br /&gt;
				pa: &#039;ਅਸਲ ਦਿੱਖ&#039;,&lt;br /&gt;
				sa: &#039;उत्सर्गः&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-arabic&#039;: {&lt;br /&gt;
				en: &#039;1 2 3&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-devanagari&#039;: {&lt;br /&gt;
				en: &#039;Devanagari&#039;,&lt;br /&gt;
				bho: &#039;१२३&#039;,&lt;br /&gt;
				hi: &#039;१२३&#039;,&lt;br /&gt;
				ne: &#039;१२३&#039;,&lt;br /&gt;
				sa: &#039;१२३&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gujarati&#039;: {&lt;br /&gt;
				en: &#039;૧ ૨ ૩&#039;,&lt;br /&gt;
				gu: &#039;૧ ૨ ૩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;option-gurmukhi&#039;: {&lt;br /&gt;
				en: &#039;Gurmukhi&#039;,&lt;br /&gt;
				pa: &#039;੧੨੩&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-url&#039;: {&lt;br /&gt;
				en: &#039;//www.mediawiki.org/wiki/MediaWiki_talk:Gadget-Numerakri.js&#039;,&lt;br /&gt;
				gu: &#039;//gu.wikipedia.org/wiki/વિકિસૂક્તિઃઅંક_પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;//hi.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				ne: &#039;//ne.wikipedia.org/wiki/विकिपीडिया:अंक_परिवर्तक&#039;,&lt;br /&gt;
				pa: &#039;//pa.wikipedia.org/wiki/ਵਿਕੀਪੀਡੀਆ:ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;//sa.wikipedia.org/wiki/विकिपीडिया:अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-text&#039;: {&lt;br /&gt;
				en: &#039;Convert numerals&#039;,&lt;br /&gt;
				bho: &#039;अंक बदलाव&#039;,&lt;br /&gt;
				gu: &#039;અંક પરિવર્તક&#039;,&lt;br /&gt;
				hi: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				ne: &#039;अंक परिवर्तन&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕ ਬਦਲੋ&#039;,&lt;br /&gt;
				sa: &#039;अङ्कपरिवर्तकम्&#039;&lt;br /&gt;
			},&lt;br /&gt;
			&#039;label-tooltip&#039;: {&lt;br /&gt;
				en: &#039;Convert between Arabic and Devanagari numerals&#039;,&lt;br /&gt;
				bho: &#039;नागरी आ अरबी अंकों में अदला-बदली करीं&#039;,&lt;br /&gt;
				gu: &#039;ગુજરાતી અને અંગ્રેજી અંકોમાં પરિવર્તન કરો&#039;,&lt;br /&gt;
				hi: &#039;नागरी और अरबी अंकों में परिवर्तन करें&#039;,&lt;br /&gt;
				ne: &#039;देवनागरी र अरबी अंकहरूमा परिवर्तन गर्नुहोस्&#039;,&lt;br /&gt;
				pa: &#039;ਅੰਕਾਂ ਨੂ ਗੁਰਮੁਖੀ ਤੇ ਅਰਬੀ ਵਿਚ ਬਦਲੇਂ&#039;,&lt;br /&gt;
				sa: &#039;देवनागरी-अरबी-अङ्कयोः चयनं करोतु&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		maps = {&lt;br /&gt;
			arabic: [&#039;0&#039;, &#039;1&#039;, &#039;2&#039;, &#039;3&#039;, &#039;4&#039;, &#039;5&#039;, &#039;6&#039;, &#039;7&#039;, &#039;8&#039;, &#039;9&#039;],&lt;br /&gt;
			devanagari: [&#039;०&#039;, &#039;१&#039;, &#039;२&#039;, &#039;३&#039;, &#039;४&#039;, &#039;५&#039;, &#039;६&#039;, &#039;७&#039;, &#039;८&#039;, &#039;९&#039;],&lt;br /&gt;
			gujarati: [&#039;૦&#039;, &#039;૧&#039;, &#039;૨&#039;, &#039;૩&#039;, &#039;૪&#039;, &#039;૫&#039;, &#039;૬&#039;, &#039;૭&#039;, &#039;૮&#039;, &#039;૯&#039;],&lt;br /&gt;
			gurmukhi: [&#039;੦&#039;, &#039;੧&#039;, &#039;੨&#039;, &#039;੩&#039;, &#039;੪&#039;, &#039;੫&#039;, &#039;੬&#039;, &#039;੭&#039;, &#039;੮&#039;, &#039;੯&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		availableMaps,&lt;br /&gt;
		currentType = &#039;default&#039;,&lt;br /&gt;
		matchers = {},&lt;br /&gt;
		walker,&lt;br /&gt;
		styleTag;&lt;br /&gt;
&lt;br /&gt;
	function isValidType(type) {&lt;br /&gt;
		return type === &#039;default&#039; || availableMaps.indexOf(type) !== -1;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {Object.&amp;lt;RegExp&amp;gt;} */&lt;br /&gt;
	function getMatchers(targetType) {&lt;br /&gt;
		var rChars;&lt;br /&gt;
		if (!matchers[targetType]) {&lt;br /&gt;
			rChars = { 0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: [] };&lt;br /&gt;
			$.each(maps, function (type, map) {&lt;br /&gt;
				if (type !== targetType) {&lt;br /&gt;
					for (var i = 0; i &amp;lt;= 9; i++) {&lt;br /&gt;
						rChars[i].push(map[i]);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			$.each(rChars, function (num, chars) {&lt;br /&gt;
				rChars[num] = new RegExp(&#039;(&#039; + chars.map(mw.RegExp.escape).join(&#039;|&#039;) + &#039;)&#039;, &#039;g&#039;);&lt;br /&gt;
			});&lt;br /&gt;
			matchers[targetType] = rChars;&lt;br /&gt;
		}&lt;br /&gt;
		return matchers[targetType];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function msg(key) {&lt;br /&gt;
		return msgs[key][mw.config.get(&#039;wgUserLanguage&#039;)] || msgs[key].en;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {HTMLElement|TextNode} node&lt;br /&gt;
	 * @return {number} NodeFilter.FILTER_* constant&lt;br /&gt;
	 */&lt;br /&gt;
	function filterNode(node) {&lt;br /&gt;
		if (node.nodeType === Node.TEXT_NODE) {&lt;br /&gt;
			return NodeFilter.FILTER_ACCEPT;&lt;br /&gt;
		}&lt;br /&gt;
		var n = node.nodeName &amp;amp;&amp;amp; node.nodeName.toLowerCase();&lt;br /&gt;
		if (n === &#039;input&#039; || n === &#039;textarea&#039; || $(node).hasClass(&#039;mw-numerakri-skip&#039;)) {&lt;br /&gt;
			// Skip this element and skip its children&lt;br /&gt;
			return NodeFilter.FILTER_REJECT;&lt;br /&gt;
		}&lt;br /&gt;
		// Skip this element, but check its children&lt;br /&gt;
		return NodeFilter.FILTER_SKIP;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param {TextNode} node&lt;br /&gt;
	 */&lt;br /&gt;
	function handleTextNode(node) {&lt;br /&gt;
		var original = node.nodeValue,&lt;br /&gt;
			changed = original,&lt;br /&gt;
			matchers = getMatchers(currentType),&lt;br /&gt;
			i = 0;&lt;br /&gt;
		for (; i &amp;lt;= 9; i++) {&lt;br /&gt;
			changed = changed.replace(matchers[i], maps[currentType][i]);&lt;br /&gt;
		}&lt;br /&gt;
		if (original !== changed) {&lt;br /&gt;
			node.nodeValue = changed;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw-method-requestIdleCallback&lt;br /&gt;
	function idleWalker(deadline) {&lt;br /&gt;
		var el;&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		while (deadline.timeRemaining() &amp;gt; 0) {&lt;br /&gt;
			el = walker.nextNode();&lt;br /&gt;
			if (!el) {&lt;br /&gt;
				// Reached the end&lt;br /&gt;
				walker = null;&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			handleTextNode(el);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// The user may interact with the page. We pause so the browser can process&lt;br /&gt;
		// interaction. The text handler will continue after that.&lt;br /&gt;
		if (walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Save a browser cookie for 30 days, or remove it.&lt;br /&gt;
	 * @param {string|null} value&lt;br /&gt;
	 */&lt;br /&gt;
	function saveType(value) {&lt;br /&gt;
		mw.requestIdleCallback(function () {&lt;br /&gt;
			$.cookie(&#039;mw-numerakri-type&#039;, value, { expires: 30, path: &#039;/&#039; });&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @return {string}&lt;br /&gt;
	 */&lt;br /&gt;
	function getStoredType() {&lt;br /&gt;
		var value = $.cookie(&#039;mw-numerakri-type&#039;);&lt;br /&gt;
		if (value !== null &amp;amp;&amp;amp; !isValidType(value)) {&lt;br /&gt;
			// Remove bad cookie&lt;br /&gt;
			saveType(null);&lt;br /&gt;
			value = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return value || &#039;default&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function startPageConversion() {&lt;br /&gt;
		if (styleTag) {&lt;br /&gt;
			// Undo style for a previously selected type&lt;br /&gt;
			$(styleTag).remove();&lt;br /&gt;
			styleTag = null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;default&#039;) {&lt;br /&gt;
			// Don&#039;t change the page&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (currentType === &#039;arabic&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: decimal; }&#039;);&lt;br /&gt;
		} else if (currentType === &#039;devanagari&#039;) {&lt;br /&gt;
			styleTag = mw.loader.addStyleTag(&#039;.mw-parser-output ol, ol.references, li.references { list-style-type: devanagari; }&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// If a walker is already active, replace it.&lt;br /&gt;
		// If no walker is active yet, start it.&lt;br /&gt;
		if (!walker) {&lt;br /&gt;
			mw.requestIdleCallback(idleWalker);&lt;br /&gt;
		}&lt;br /&gt;
		walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, filterNode, false);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/** @return {HTMLElement} */&lt;br /&gt;
	function createSelector() {&lt;br /&gt;
		var $select = $(&#039;&amp;lt;select&amp;gt;&#039;).addClass(&#039;mw-numerakri-skip&#039;).append(&lt;br /&gt;
			$(&#039;&amp;lt;option&amp;gt;&#039;).val(&#039;default&#039;).text(msg(&#039;option-default&#039;))&lt;br /&gt;
		);&lt;br /&gt;
		availableMaps.forEach(function (type) {&lt;br /&gt;
			$select.append($(&#039;&amp;lt;option&amp;gt;&#039;).val(type).text(msg(&#039;option-&#039; + type)));&lt;br /&gt;
		});&lt;br /&gt;
		$select.val(currentType);&lt;br /&gt;
		$select.on(&#039;change&#039;, function () {&lt;br /&gt;
			currentType = this.value;&lt;br /&gt;
			startPageConversion();&lt;br /&gt;
			saveType(currentType);&lt;br /&gt;
		});&lt;br /&gt;
		return $select[0];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function init() {&lt;br /&gt;
		var potlet, menu;&lt;br /&gt;
&lt;br /&gt;
		// Decide which types to show&lt;br /&gt;
		availableMaps = [&#039;gujarati&#039;, &#039;arabic&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Decide selected type&lt;br /&gt;
		currentType = getStoredType();&lt;br /&gt;
		startPageConversion();&lt;br /&gt;
&lt;br /&gt;
		potlet = mw.util.addPortletLink(&lt;br /&gt;
			&#039;p-personal&#039;,&lt;br /&gt;
			msg(&#039;label-url&#039;),&lt;br /&gt;
			msg(&#039;label-text&#039;),&lt;br /&gt;
			&#039;pt-numconvert&#039;,&lt;br /&gt;
			msg(&#039;label-tooltip&#039;),&lt;br /&gt;
			null,&lt;br /&gt;
			mw.user.isAnon() ? &#039;#pt-createaccount&#039; : &#039;#pt-userpage&#039;&lt;br /&gt;
		);&lt;br /&gt;
		menu = $(&#039;&amp;lt;div&amp;gt;&#039;).addClass(&#039;mw-numerakri-menu&#039;).append(createSelector())[0];&lt;br /&gt;
		if(potlet) {&lt;br /&gt;
			potlet.appendChild(menu);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(function () {&lt;br /&gt;
		mw.requestIdleCallback(init);&lt;br /&gt;
	});&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=65244</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=65244"/>
		<updated>2023-10-09T18:10:37Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;wikiaudioplayer&amp;quot;&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.css&amp;amp;action=raw&amp;amp;ctype=text/css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script&amp;gt;&lt;br /&gt;
GreenAudioPlayer.init({&lt;br /&gt;
    selector: &#039;.wikiaudioplayer&#039;,&lt;br /&gt;
    stopOthersOnPlay: true&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=65243</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=65243"/>
		<updated>2023-10-09T18:04:19Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;wikiaudioplayer&amp;quot;&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://wiki.ekatrafoundation.org/mediaelementplayer.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script&amp;gt;&lt;br /&gt;
GreenAudioPlayer.init({&lt;br /&gt;
    selector: &#039;.wikiaudioplayer&#039;,&lt;br /&gt;
    stopOthersOnPlay: true&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.css&amp;diff=65242</id>
		<title>MediaWiki:Green-audio-player.min.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.css&amp;diff=65242"/>
		<updated>2023-10-09T17:59:54Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: Created page with &amp;quot;@keyframes spin {   from {     transform: rotateZ(0); }   to {     transform: rotateZ(360deg);   }  }  .green-audio-player {   width: 400px;   min-width: 300px;   height: 56px;   box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.07);   display: flex !important;   justify-content: space-between;   align-items: center;   padding-left: 24px;   padding-right: 24px;   border-radius: 4px;   user-select: none;   background-color: #fff;   box-sizing: border-box;   outline: none; }   .gre...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;@keyframes spin {&lt;br /&gt;
  from {&lt;br /&gt;
    transform: rotateZ(0); }&lt;br /&gt;
  to {&lt;br /&gt;
    transform: rotateZ(360deg);&lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.green-audio-player {&lt;br /&gt;
  width: 400px;&lt;br /&gt;
  min-width: 300px;&lt;br /&gt;
  height: 56px;&lt;br /&gt;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.07);&lt;br /&gt;
  display: flex !important;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  padding-left: 24px;&lt;br /&gt;
  padding-right: 24px;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  user-select: none;&lt;br /&gt;
  background-color: #fff;&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
  outline: none; }&lt;br /&gt;
  .green-audio-player.player-accessible .play-pause-btn:hover,&lt;br /&gt;
  .green-audio-player.player-accessible .controls:hover,&lt;br /&gt;
  .green-audio-player.player-accessible .volume__button:hover,&lt;br /&gt;
  .green-audio-player.player-accessible .volume__controls:hover,&lt;br /&gt;
  .green-audio-player.player-accessible .download:hover {&lt;br /&gt;
    outline: dotted 1px #999; }&lt;br /&gt;
  .green-audio-player svg,&lt;br /&gt;
  .green-audio-player img {&lt;br /&gt;
    display: block; }&lt;br /&gt;
  .green-audio-player .holder {&lt;br /&gt;
    position: relative; }&lt;br /&gt;
    .green-audio-player .holder .loading .loading__spinner {&lt;br /&gt;
      position: absolute;&lt;br /&gt;
      left: -3px;&lt;br /&gt;
      bottom: 2px;&lt;br /&gt;
      width: 16px;&lt;br /&gt;
      height: 16px;&lt;br /&gt;
      border: 2px solid #b0b0b0;&lt;br /&gt;
      border-right-color: rgba(0, 0, 0, 0);&lt;br /&gt;
      border-radius: 50%;&lt;br /&gt;
      animation: spin 0.4s linear infinite; }&lt;br /&gt;
    .green-audio-player .holder .play-pause-btn {&lt;br /&gt;
      visibility: hidden;&lt;br /&gt;
      cursor: pointer;&lt;br /&gt;
      outline: none; }&lt;br /&gt;
      .green-audio-player .holder .play-pause-btn:focus {&lt;br /&gt;
        outline: none; }&lt;br /&gt;
  .green-audio-player .slider {&lt;br /&gt;
    flex-grow: 1;&lt;br /&gt;
    background-color: #d8d8d8;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    position: relative; }&lt;br /&gt;
    .green-audio-player .slider .gap-progress {&lt;br /&gt;
      background-color: #44bfa3;&lt;br /&gt;
      border-radius: inherit;&lt;br /&gt;
      position: absolute;&lt;br /&gt;
      pointer-events: none; }&lt;br /&gt;
      .green-audio-player .slider .gap-progress .pin {&lt;br /&gt;
        height: 16px;&lt;br /&gt;
        width: 16px;&lt;br /&gt;
        border-radius: 8px;&lt;br /&gt;
        background-color: #44bfa3;&lt;br /&gt;
        position: absolute;&lt;br /&gt;
        pointer-events: all;&lt;br /&gt;
        box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.32); }&lt;br /&gt;
        .green-audio-player .slider .gap-progress .pin::after {&lt;br /&gt;
          content: &amp;quot;&amp;quot;;&lt;br /&gt;
          display: block;&lt;br /&gt;
          background: rgba(0, 0, 0, 0);&lt;br /&gt;
          width: 200%;&lt;br /&gt;
          height: 200%;&lt;br /&gt;
          margin-left: -50%;&lt;br /&gt;
          margin-top: -50%;&lt;br /&gt;
          border-radius: 50%; }&lt;br /&gt;
  .green-audio-player .controls {&lt;br /&gt;
    font-family: &amp;quot;Roboto&amp;quot;, sans-serif;&lt;br /&gt;
    font-size: 16px;&lt;br /&gt;
    line-height: 18px;&lt;br /&gt;
    color: #55606e;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-grow: 1;&lt;br /&gt;
    justify-content: space-between;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    margin-left: 15px;&lt;br /&gt;
    margin-right: 15px;&lt;br /&gt;
    outline: none; }&lt;br /&gt;
    .green-audio-player .controls .controls__slider {&lt;br /&gt;
      margin-left: 16px;&lt;br /&gt;
      margin-right: 16px;&lt;br /&gt;
      border-radius: 2px;&lt;br /&gt;
      height: 4px; }&lt;br /&gt;
      .green-audio-player .controls .controls__slider .controls__progress {&lt;br /&gt;
        width: 0;&lt;br /&gt;
        height: 100%; }&lt;br /&gt;
        .green-audio-player .controls .controls__slider .controls__progress .progress__pin {&lt;br /&gt;
          right: -8px;&lt;br /&gt;
          top: -6px; }&lt;br /&gt;
    .green-audio-player .controls span {&lt;br /&gt;
      cursor: default; }&lt;br /&gt;
    .green-audio-player .controls:focus {&lt;br /&gt;
      outline: none; }&lt;br /&gt;
  .green-audio-player .volume {&lt;br /&gt;
    position: relative; }&lt;br /&gt;
    .green-audio-player .volume .volume__button {&lt;br /&gt;
      cursor: pointer;&lt;br /&gt;
      outline: none; }&lt;br /&gt;
      .green-audio-player .volume .volume__button:focus {&lt;br /&gt;
        outline: none; }&lt;br /&gt;
      .green-audio-player .volume .volume__button.open path {&lt;br /&gt;
        fill: #44bfa3; }&lt;br /&gt;
    .green-audio-player .volume .volume__controls {&lt;br /&gt;
      width: 30px;&lt;br /&gt;
      height: 135px;&lt;br /&gt;
      background-color: rgba(0, 0, 0, 0.62);&lt;br /&gt;
      border-radius: 7px;&lt;br /&gt;
      position: absolute;&lt;br /&gt;
      left: -3px;&lt;br /&gt;
      bottom: 52px;&lt;br /&gt;
      flex-direction: column;&lt;br /&gt;
      align-items: center;&lt;br /&gt;
      display: flex;&lt;br /&gt;
      z-index: 2;&lt;br /&gt;
      outline: none; }&lt;br /&gt;
      .green-audio-player .volume .volume__controls .volume__slider {&lt;br /&gt;
        margin-top: 12px;&lt;br /&gt;
        margin-bottom: 12px;&lt;br /&gt;
        width: 6px;&lt;br /&gt;
        border-radius: 3px; }&lt;br /&gt;
        .green-audio-player .volume .volume__controls .volume__slider .volume__progress {&lt;br /&gt;
          bottom: 0;&lt;br /&gt;
          height: 100%;&lt;br /&gt;
          width: 6px; }&lt;br /&gt;
          .green-audio-player .volume .volume__controls .volume__slider .volume__progress .volume__pin {&lt;br /&gt;
            left: -5px;&lt;br /&gt;
            top: -8px; }&lt;br /&gt;
      .green-audio-player .volume .volume__controls:focus {&lt;br /&gt;
        outline: none; }&lt;br /&gt;
      .green-audio-player .volume .volume__controls.hidden {&lt;br /&gt;
        display: none; }&lt;br /&gt;
      .green-audio-player .volume .volume__controls.top {&lt;br /&gt;
        bottom: 52px;&lt;br /&gt;
        left: -3px; }&lt;br /&gt;
      .green-audio-player .volume .volume__controls.middle {&lt;br /&gt;
        bottom: -54px;&lt;br /&gt;
        left: 54px; }&lt;br /&gt;
      .green-audio-player .volume .volume__controls.bottom {&lt;br /&gt;
        bottom: -164px;&lt;br /&gt;
        left: -3px; }&lt;br /&gt;
  .green-audio-player .download {&lt;br /&gt;
    display: none;&lt;br /&gt;
    margin-left: 16px;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    outline: none; }&lt;br /&gt;
    .green-audio-player .download:focus {&lt;br /&gt;
      outline: none; }&lt;br /&gt;
  .green-audio-player:focus {&lt;br /&gt;
    outline: none; }&lt;br /&gt;
&lt;br /&gt;
.message__offscreen {&lt;br /&gt;
  border: 0;&lt;br /&gt;
  clip: rect(1px, 1px, 1px, 1px);&lt;br /&gt;
  clip-path: inset(50%);&lt;br /&gt;
  height: 1px;&lt;br /&gt;
  margin: -1px;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  width: 1px;&lt;br /&gt;
  word-wrap: normal; }&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;diff=65241</id>
		<title>MediaWiki:Green-audio-player.min.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Green-audio-player.min.js&amp;diff=65241"/>
		<updated>2023-10-09T17:55:55Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: Created page with &amp;quot;!function(e){if(&amp;quot;object&amp;quot;==typeof exports&amp;amp;&amp;amp;&amp;quot;undefined&amp;quot;!=typeof module)module.exports=e();else if(&amp;quot;function&amp;quot;==typeof define&amp;amp;&amp;amp;define.amd)define([],e);else{(&amp;quot;undefined&amp;quot;!=typeof window?window:&amp;quot;undefined&amp;quot;!=typeof global?global:&amp;quot;undefined&amp;quot;!=typeof self?self:this).GreenAudioPlayer=e()}}(function(){return function n(l,r,o){function u(t,e){if(!r[t]){if(!l[t]){var i=&amp;quot;function&amp;quot;==typeof require&amp;amp;&amp;amp;require;if(!e&amp;amp;&amp;amp;i)return i(t,!0);if(d)return d(t,!0);var s=new Error(&amp;quot;Cannot find module &amp;#039;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;!function(e){if(&amp;quot;object&amp;quot;==typeof exports&amp;amp;&amp;amp;&amp;quot;undefined&amp;quot;!=typeof module)module.exports=e();else if(&amp;quot;function&amp;quot;==typeof define&amp;amp;&amp;amp;define.amd)define([],e);else{(&amp;quot;undefined&amp;quot;!=typeof window?window:&amp;quot;undefined&amp;quot;!=typeof global?global:&amp;quot;undefined&amp;quot;!=typeof self?self:this).GreenAudioPlayer=e()}}(function(){return function n(l,r,o){function u(t,e){if(!r[t]){if(!l[t]){var i=&amp;quot;function&amp;quot;==typeof require&amp;amp;&amp;amp;require;if(!e&amp;amp;&amp;amp;i)return i(t,!0);if(d)return d(t,!0);var s=new Error(&amp;quot;Cannot find module &#039;&amp;quot;+t+&amp;quot;&#039;&amp;quot;);throw s.code=&amp;quot;MODULE_NOT_FOUND&amp;quot;,s}var a=r[t]={exports:{}};l[t][0].call(a.exports,function(e){return u(l[t][1][e]||e)},a,a.exports,n,l,r,o)}return r[t].exports}for(var d=&amp;quot;function&amp;quot;==typeof require&amp;amp;&amp;amp;require,e=0;e&amp;lt;o.length;e++)u(o[e]);return u}({1:[function(e,t,i){&amp;quot;use strict&amp;quot;;t.exports=e(&amp;quot;./src/js/main&amp;quot;).default},{&amp;quot;./src/js/main&amp;quot;:2}],2:[function(e,t,i){&amp;quot;use strict&amp;quot;;function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||&amp;quot;[object Arguments]&amp;quot;===Object.prototype.toString.call(e)))return;var i=[],s=!0,a=!1,n=void 0;try{for(var l,r=e[Symbol.iterator]();!(s=(l=r.next()).done)&amp;amp;&amp;amp;(i.push(l.value),!t||i.length!==t);s=!0);}catch(e){a=!0,n=e}finally{try{s||null==r.return||r.return()}finally{if(a)throw n}}return i}(e,t)||function(){throw new TypeError(&amp;quot;Invalid attempt to destructure non-iterable instance&amp;quot;)}()}function s(e,t){for(var i=0;i&amp;lt;t.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,&amp;quot;value&amp;quot;in s&amp;amp;&amp;amp;(s.writable=!0),Object.defineProperty(e,s.key,s)}}Object.defineProperty(i,&amp;quot;__esModule&amp;quot;,{value:!0}),i.default=void 0;var a=function(){function u(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError(&amp;quot;Cannot call a class as a function&amp;quot;)}(this,u),this.audioPlayer=&amp;quot;string&amp;quot;==typeof e?document.querySelector(e):e;var i=t||{},s=this.audioPlayer.innerHTML;this.audioPlayer.classList.add(&amp;quot;green-audio-player&amp;quot;),this.audioPlayer.innerHTML=u.getTemplate()+s,this.isDevice=/ipad|iphone|ipod|android/i.test(window.navigator.userAgent.toLowerCase())&amp;amp;&amp;amp;!window.MSStream,this.playPauseBtn=this.audioPlayer.querySelector(&amp;quot;.play-pause-btn&amp;quot;),this.loading=this.audioPlayer.querySelector(&amp;quot;.loading&amp;quot;),this.sliders=this.audioPlayer.querySelectorAll(&amp;quot;.slider&amp;quot;),this.progress=this.audioPlayer.querySelector(&amp;quot;.controls__progress&amp;quot;),this.volumeBtn=this.audioPlayer.querySelector(&amp;quot;.volume__button&amp;quot;),this.volumeControls=this.audioPlayer.querySelector(&amp;quot;.volume__controls&amp;quot;),this.volumeProgress=this.volumeControls.querySelector(&amp;quot;.volume__progress&amp;quot;),this.player=this.audioPlayer.querySelector(&amp;quot;audio&amp;quot;),this.currentTime=this.audioPlayer.querySelector(&amp;quot;.controls__current-time&amp;quot;),this.totalTime=this.audioPlayer.querySelector(&amp;quot;.controls__total-time&amp;quot;),this.speaker=this.audioPlayer.querySelector(&amp;quot;.volume__speaker&amp;quot;),this.download=this.audioPlayer.querySelector(&amp;quot;.download&amp;quot;),this.downloadLink=this.audioPlayer.querySelector(&amp;quot;.download__link&amp;quot;),this.span=this.audioPlayer.querySelectorAll(&amp;quot;.message__offscreen&amp;quot;),this.svg=this.audioPlayer.getElementsByTagName(&amp;quot;svg&amp;quot;),this.img=this.audioPlayer.getElementsByTagName(&amp;quot;img&amp;quot;),this.draggableClasses=[&amp;quot;pin&amp;quot;],this.currentlyDragged=null,this.stopOthersOnPlay=i.stopOthersOnPlay||!1,this.enableKeystrokes=i.enableKeystrokes||!1,this.showTooltips=i.showTooltips||!1;var a=this;if(this.labels={volume:{open:&amp;quot;Open Volume Controls&amp;quot;,close:&amp;quot;Close Volume Controls&amp;quot;},pause:&amp;quot;Pause&amp;quot;,play:&amp;quot;Play&amp;quot;,download:&amp;quot;Download&amp;quot;},this.enableKeystrokes){window.addEventListener(&amp;quot;keydown&amp;quot;,this.pressKb.bind(a),!1),window.addEventListener(&amp;quot;keyup&amp;quot;,this.unPressKb.bind(a),!1),this.sliders[0].setAttribute(&amp;quot;tabindex&amp;quot;,0),this.sliders[1].setAttribute(&amp;quot;tabindex&amp;quot;,0),this.download.setAttribute(&amp;quot;tabindex&amp;quot;,-1),this.downloadLink.setAttribute(&amp;quot;tabindex&amp;quot;,-1);for(var n=0;n&amp;lt;this.svg.length;n++)this.svg[n].setAttribute(&amp;quot;tabindex&amp;quot;,0),this.svg[n].setAttribute(&amp;quot;focusable&amp;quot;,!0);for(var l=0;l&amp;lt;this.img.length;l++)this.img[l].setAttribute(&amp;quot;tabindex&amp;quot;,0)}else for(var r=0;r&amp;lt;this.span.length;r++)this.span[r].outerHTML=&amp;quot;&amp;quot;;if(this.showTooltips&amp;amp;&amp;amp;(this.playPauseBtn.setAttribute(&amp;quot;title&amp;quot;,this.labels.play),this.volumeBtn.setAttribute(&amp;quot;title&amp;quot;,this.labels.volume.open),this.downloadLink.setAttribute(&amp;quot;title&amp;quot;,this.labels.download)),i.outlineControls&amp;amp;&amp;amp;this.audioPlayer.classList.add(&amp;quot;player-accessible&amp;quot;),i.showDownloadButton&amp;amp;&amp;amp;this.showDownload(),this.initEvents(),this.directionAware(),this.overcomeIosLimitations(),&amp;quot;autoplay&amp;quot;in this.player.attributes){var o=this.player.play();void 0!==o&amp;amp;&amp;amp;o.then(function(){a.player.parentElement.querySelector(&amp;quot;.play-pause-btn__icon&amp;quot;).attributes.d.value=&amp;quot;M0 0h6v24H0zM12 0h6v24h-6z&amp;quot;,a.playPauseBtn.setAttribute(&amp;quot;aria-label&amp;quot;,a.labels.pause),a.hasSetAttribute(a.playPauseBtn,&amp;quot;title&amp;quot;,a.labels.pause)}).catch(function(){console.error(&amp;quot;Green Audio Player Error: Autoplay has been prevented, because it is not allowed by this browser.&amp;quot;)})}&amp;quot;preload&amp;quot;in this.player.attributes&amp;amp;&amp;amp;&amp;quot;none&amp;quot;===this.player.attributes.preload.value&amp;amp;&amp;amp;(this.playPauseBtn.style.visibility=&amp;quot;visible&amp;quot;,this.loading.style.visibility=&amp;quot;hidden&amp;quot;)}var e,t,i;return e=u,i=[{key:&amp;quot;init&amp;quot;,value:function(t){document.querySelectorAll(t.selector).forEach(function(e){new u(e,t)})}},{key:&amp;quot;getTemplate&amp;quot;,value:function(){return&#039;\n            &amp;lt;div class=&amp;quot;holder&amp;quot;&amp;gt;\n                &amp;lt;div class=&amp;quot;loading&amp;quot;&amp;gt;\n                    &amp;lt;div class=&amp;quot;loading__spinner&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;\n                &amp;lt;/div&amp;gt;\n\n                &amp;lt;div class=&amp;quot;play-pause-btn&amp;quot; aria-label=&amp;quot;Play&amp;quot; role=&amp;quot;button&amp;quot;&amp;gt;\n                    &amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; width=&amp;quot;18&amp;quot; height=&amp;quot;24&amp;quot; viewBox=&amp;quot;0 0 18 24&amp;quot;&amp;gt;\n                        &amp;lt;path fill=&amp;quot;#566574&amp;quot; fill-rule=&amp;quot;evenodd&amp;quot; d=&amp;quot;M18 12L0 24V0&amp;quot; class=&amp;quot;play-pause-btn__icon&amp;quot;/&amp;gt;\n                    &amp;lt;/svg&amp;gt;\n                &amp;lt;/div&amp;gt;\n            &amp;lt;/div&amp;gt;\n\n            &amp;lt;div class=&amp;quot;controls&amp;quot;&amp;gt;\n                &amp;lt;span class=&amp;quot;controls__current-time&amp;quot; aria-live=&amp;quot;off&amp;quot; role=&amp;quot;timer&amp;quot;&amp;gt;00:00&amp;lt;/span&amp;gt;\n                &amp;lt;div class=&amp;quot;controls__slider slider&amp;quot; data-direction=&amp;quot;horizontal&amp;quot;&amp;gt;\n                    &amp;lt;div class=&amp;quot;controls__progress gap-progress&amp;quot; aria-label=&amp;quot;Time Slider&amp;quot; aria-valuemin=&amp;quot;0&amp;quot; aria-valuemax=&amp;quot;100&amp;quot; aria-valuenow=&amp;quot;0&amp;quot; role=&amp;quot;slider&amp;quot;&amp;gt;\n                        &amp;lt;div class=&amp;quot;pin progress__pin&amp;quot; data-method=&amp;quot;rewind&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;\n                    &amp;lt;/div&amp;gt;\n                &amp;lt;/div&amp;gt;\n                &amp;lt;span class=&amp;quot;controls__total-time&amp;quot;&amp;gt;00:00&amp;lt;/span&amp;gt;\n            &amp;lt;/div&amp;gt;\n\n            &amp;lt;div class=&amp;quot;volume&amp;quot;&amp;gt;\n                &amp;lt;div class=&amp;quot;volume__button&amp;quot; aria-label=&amp;quot;Open Volume Controls&amp;quot; role=&amp;quot;button&amp;quot;&amp;gt;\n                    &amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; width=&amp;quot;24&amp;quot; height=&amp;quot;24&amp;quot; viewBox=&amp;quot;0 0 24 24&amp;quot;&amp;gt;\n                        &amp;lt;path class=&amp;quot;volume__speaker&amp;quot; fill=&amp;quot;#566574&amp;quot; fill-rule=&amp;quot;evenodd&amp;quot; d=&amp;quot;M14.667 0v2.747c3.853 1.146 6.666 4.72 6.666 8.946 0 4.227-2.813 7.787-6.666 8.934v2.76C20 22.173 24 17.4 24 11.693 24 5.987 20 1.213 14.667 0zM18 11.693c0-2.36-1.333-4.386-3.333-5.373v10.707c2-.947 3.333-2.987 3.333-5.334zm-18-4v8h5.333L12 22.36V1.027L5.333 7.693H0z&amp;quot;/&amp;gt;\n                    &amp;lt;/svg&amp;gt;\n                    &amp;lt;span class=&amp;quot;message__offscreen&amp;quot;&amp;gt;Press Enter or Space to show volume slider.&amp;lt;/span&amp;gt;\n                &amp;lt;/div&amp;gt;\n                &amp;lt;div class=&amp;quot;volume__controls hidden&amp;quot;&amp;gt;\n                    &amp;lt;div class=&amp;quot;volume__slider slider&amp;quot; data-direction=&amp;quot;vertical&amp;quot;&amp;gt;\n                        &amp;lt;div class=&amp;quot;volume__progress gap-progress&amp;quot; aria-label=&amp;quot;Volume Slider&amp;quot; aria-valuemin=&amp;quot;0&amp;quot; aria-valuemax=&amp;quot;100&amp;quot; aria-valuenow=&amp;quot;81&amp;quot; role=&amp;quot;slider&amp;quot;&amp;gt;\n                            &amp;lt;div class=&amp;quot;pin volume__pin&amp;quot; data-method=&amp;quot;changeVolume&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;\n                        &amp;lt;/div&amp;gt;\n                        &amp;lt;span class=&amp;quot;message__offscreen&amp;quot;&amp;gt;Use Up/Down Arrow keys to increase or decrease volume.&amp;lt;/span&amp;gt;\n                    &amp;lt;/div&amp;gt;\n                &amp;lt;/div&amp;gt;\n            &amp;lt;/div&amp;gt;\n\n            &amp;lt;div class=&amp;quot;download&amp;quot;&amp;gt;\n                &amp;lt;a class=&amp;quot;download__link&amp;quot; href=&amp;quot;&amp;quot; download=&amp;quot;&amp;quot; aria-label=&amp;quot;Download&amp;quot; role=&amp;quot;button&amp;quot;&amp;gt;\n                    &amp;lt;svg width=&amp;quot;24&amp;quot; height=&amp;quot;24&amp;quot; fill=&amp;quot;#566574&amp;quot; enable-background=&amp;quot;new 0 0 29.978 29.978&amp;quot; version=&amp;quot;1.1&amp;quot; viewBox=&amp;quot;0 0 29.978 29.978&amp;quot; xml:space=&amp;quot;preserve&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;\n                        &amp;lt;path d=&amp;quot;m25.462 19.105v6.848h-20.947v-6.848h-4.026v8.861c0 1.111 0.9 2.012 2.016 2.012h24.967c1.115 0 2.016-0.9 2.016-2.012v-8.861h-4.026z&amp;quot;/&amp;gt;\n                        &amp;lt;path d=&amp;quot;m14.62 18.426l-5.764-6.965s-0.877-0.828 0.074-0.828 3.248 0 3.248 0 0-0.557 0-1.416v-8.723s-0.129-0.494 0.615-0.494h4.572c0.536 0 0.524 0.416 0.524 0.416v8.742 1.266s1.842 0 2.998 0c1.154 0 0.285 0.867 0.285 0.867s-4.904 6.51-5.588 7.193c-0.492 0.495-0.964-0.058-0.964-0.058z&amp;quot;/&amp;gt;\n                    &amp;lt;/svg&amp;gt;\n                &amp;lt;/a&amp;gt;\n            &amp;lt;/div&amp;gt;\n        &#039;}},{key:&amp;quot;formatTime&amp;quot;,value:function(e){var t=Math.floor(e/60),i=Math.floor(e%60);return&amp;quot;&amp;quot;.concat(t&amp;lt;10?&amp;quot;0&amp;quot;.concat(t):t,&amp;quot;:&amp;quot;).concat(i&amp;lt;10?&amp;quot;0&amp;quot;.concat(i):i)}},{key:&amp;quot;pausePlayer&amp;quot;,value:function(e){e.parentElement.querySelector(&amp;quot;.play-pause-btn__icon&amp;quot;).attributes.d.value=&amp;quot;M18 12L0 24V0&amp;quot;,e.pause()}},{key:&amp;quot;playPlayer&amp;quot;,value:function(e){e.parentElement.querySelector(&amp;quot;.play-pause-btn__icon&amp;quot;).attributes.d.value=&amp;quot;M0 0h6v24H0zM12 0h6v24h-6z&amp;quot;,e.play()}},{key:&amp;quot;stopOtherPlayers&amp;quot;,value:function(){for(var e=document.querySelectorAll(&amp;quot;.green-audio-player audio&amp;quot;),t=0;t&amp;lt;e.length;t++)u.pausePlayer(e[t])}}],(t=[{key:&amp;quot;initEvents&amp;quot;,value:function(){var a=this;a.audioPlayer.addEventListener(&amp;quot;mousedown&amp;quot;,function(e){if(a.isDraggable(e.target)){a.currentlyDragged=e.target;var t=a.currentlyDragged.dataset.method,i=a[t].bind(a);window.addEventListener(&amp;quot;mousemove&amp;quot;,i,!1),a.currentlyDragged.parentElement.parentElement===a.sliders[0]&amp;amp;&amp;amp;(a.paused=a.player.paused,!1===a.paused&amp;amp;&amp;amp;a.togglePlay()),window.addEventListener(&amp;quot;mouseup&amp;quot;,function(){!1!==a.currentlyDragged&amp;amp;&amp;amp;a.currentlyDragged.parentElement.parentElement===a.sliders[0]&amp;amp;&amp;amp;a.paused!==a.player.paused&amp;amp;&amp;amp;a.togglePlay(),a.currentlyDragged=!1,window.removeEventListener(&amp;quot;mousemove&amp;quot;,i,!1)},!1)}}),a.audioPlayer.addEventListener(&amp;quot;touchstart&amp;quot;,function(e){if(a.isDraggable(e.target)){var t=n(e.targetTouches,1);a.currentlyDragged=t[0];var i=a.currentlyDragged.target.dataset.method,s=a[i].bind(a);window.addEventListener(&amp;quot;touchmove&amp;quot;,s,!1),a.currentlyDragged.parentElement.parentElement===a.sliders[0]&amp;amp;&amp;amp;(a.paused=a.player.paused,!1===a.paused&amp;amp;&amp;amp;a.togglePlay()),window.addEventListener(&amp;quot;touchend&amp;quot;,function(){!1!==a.currentlyDragged&amp;amp;&amp;amp;a.currentlyDragged.parentElement.parentElement===a.sliders[0]&amp;amp;&amp;amp;a.paused!==a.player.paused&amp;amp;&amp;amp;a.togglePlay(),a.currentlyDragged=!1,window.removeEventListener(&amp;quot;touchmove&amp;quot;,s,!1)},!1),e.preventDefault()}}),this.playPauseBtn.addEventListener(&amp;quot;click&amp;quot;,this.togglePlay.bind(a)),this.player.addEventListener(&amp;quot;timeupdate&amp;quot;,this.updateProgress.bind(a)),this.player.addEventListener(&amp;quot;volumechange&amp;quot;,this.updateVolume.bind(a)),this.player.volume=.81,this.player.addEventListener(&amp;quot;loadedmetadata&amp;quot;,function(){a.totalTime.textContent=u.formatTime(a.player.duration)}),this.player.addEventListener(&amp;quot;seeking&amp;quot;,this.showLoadingIndicator.bind(a)),this.player.addEventListener(&amp;quot;seeked&amp;quot;,this.hideLoadingIndicator.bind(a)),this.player.addEventListener(&amp;quot;canplay&amp;quot;,this.hideLoadingIndicator.bind(a)),this.player.addEventListener(&amp;quot;ended&amp;quot;,function(){u.pausePlayer(a.player,&amp;quot;ended&amp;quot;),a.player.currentTime=0,a.playPauseBtn.setAttribute(&amp;quot;aria-label&amp;quot;,a.labels.play),a.hasSetAttribute(a.playPauseBtn,&amp;quot;title&amp;quot;,a.labels.play)}),this.volumeBtn.addEventListener(&amp;quot;click&amp;quot;,this.showHideVolume.bind(a)),window.addEventListener(&amp;quot;resize&amp;quot;,a.directionAware.bind(a)),window.addEventListener(&amp;quot;scroll&amp;quot;,a.directionAware.bind(a));for(var e=0;e&amp;lt;this.sliders.length;e++){var t=this.sliders[e].querySelector(&amp;quot;.pin&amp;quot;);this.sliders[e].addEventListener(&amp;quot;click&amp;quot;,a[t.dataset.method].bind(a))}this.downloadLink.addEventListener(&amp;quot;click&amp;quot;,this.downloadAudio.bind(a))}},{key:&amp;quot;overcomeIosLimitations&amp;quot;,value:function(){this.isDevice&amp;amp;&amp;amp;(this.player.addEventListener(&amp;quot;loadedmetadata&amp;quot;,this.hideLoadingIndicator.bind(this)),this.audioPlayer.querySelector(&amp;quot;.volume&amp;quot;).style.display=&amp;quot;none&amp;quot;,this.audioPlayer.querySelector(&amp;quot;.controls&amp;quot;).style.marginRight=&amp;quot;0&amp;quot;)}},{key:&amp;quot;isDraggable&amp;quot;,value:function(e){var t=!1;if(void 0===e.classList)return!1;for(var i=0;i&amp;lt;this.draggableClasses.length;i++)e.classList.contains(this.draggableClasses[i])&amp;amp;&amp;amp;(t=!0);return t}},{key:&amp;quot;inRange&amp;quot;,value:function(e){var t=&amp;quot;touches&amp;quot;in e,i=this.getRangeBox(e),s=i.getBoundingClientRect(),a=null,n=null;if(&amp;quot;horizontal&amp;quot;===i.dataset.direction){n=(a=s.x)+s.width;var l=t?e.touches[0].clientX:e.clientX;if(l&amp;lt;a||n&amp;lt;l)return!1}else{n=(a=s.top)+s.height;var r=t?e.touches[0].clientY:e.clientY;if(r&amp;lt;a||n&amp;lt;r)return!1}return!0}},{key:&amp;quot;updateProgress&amp;quot;,value:function(){var e=this.player.currentTime,t=e/this.player.duration*100;this.progress.setAttribute(&amp;quot;aria-valuenow&amp;quot;,t),this.progress.style.width=&amp;quot;&amp;quot;.concat(t,&amp;quot;%&amp;quot;),this.currentTime.textContent=u.formatTime(e)}},{key:&amp;quot;updateVolume&amp;quot;,value:function(){this.volumeProgress.setAttribute(&amp;quot;aria-valuenow&amp;quot;,100*this.player.volume),this.volumeProgress.style.height=&amp;quot;&amp;quot;.concat(100*this.player.volume,&amp;quot;%&amp;quot;),.5&amp;lt;=this.player.volume?this.speaker.attributes.d.value=&amp;quot;M14.667 0v2.747c3.853 1.146 6.666 4.72 6.666 8.946 0 4.227-2.813 7.787-6.666 8.934v2.76C20 22.173 24 17.4 24 11.693 24 5.987 20 1.213 14.667 0zM18 11.693c0-2.36-1.333-4.386-3.333-5.373v10.707c2-.947 3.333-2.987 3.333-5.334zm-18-4v8h5.333L12 22.36V1.027L5.333 7.693H0z&amp;quot;:this.player.volume&amp;lt;.5&amp;amp;&amp;amp;.05&amp;lt;this.player.volume?this.speaker.attributes.d.value=&amp;quot;M0 7.667v8h5.333L12 22.333V1L5.333 7.667M17.333 11.373C17.333 9.013 16 6.987 14 6v10.707c2-.947 3.333-2.987 3.333-5.334z&amp;quot;:this.player.volume&amp;lt;=.05&amp;amp;&amp;amp;(this.speaker.attributes.d.value=&amp;quot;M0 7.667v8h5.333L12 22.333V1L5.333 7.667&amp;quot;)}},{key:&amp;quot;getRangeBox&amp;quot;,value:function(e){var t=e.target,i=this.currentlyDragged;return&amp;quot;click&amp;quot;===e.type&amp;amp;&amp;amp;this.isDraggable(e.target)&amp;amp;&amp;amp;(t=e.target.parentElement.parentElement),&amp;quot;mousemove&amp;quot;===e.type&amp;amp;&amp;amp;(t=i.parentElement.parentElement),&amp;quot;touchmove&amp;quot;===e.type&amp;amp;&amp;amp;(t=i.target.parentElement.parentElement),t}},{key:&amp;quot;getCoefficient&amp;quot;,value:function(e){var t=&amp;quot;touches&amp;quot;in e,i=this.getRangeBox(e),s=i.getBoundingClientRect(),a=0;if(&amp;quot;horizontal&amp;quot;===i.dataset.direction)a=((t?e.touches[0].clientX:e.clientX)-s.left)/s.width;else if(&amp;quot;vertical&amp;quot;===i.dataset.direction){var n=s.height;a=1-((t?e.touches[0].clientY:e.clientY)-s.top)/n}return a}},{key:&amp;quot;rewind&amp;quot;,value:function(e){this.player.seekable&amp;amp;&amp;amp;this.player.seekable.length&amp;amp;&amp;amp;this.inRange(e)&amp;amp;&amp;amp;(this.player.currentTime=this.player.duration*this.getCoefficient(e))}},{key:&amp;quot;showVolume&amp;quot;,value:function(){this.volumeBtn.getAttribute(&amp;quot;aria-attribute&amp;quot;)===this.labels.volume.open&amp;amp;&amp;amp;(this.volumeControls.classList.remove(&amp;quot;hidden&amp;quot;),this.volumeBtn.classList.add(&amp;quot;open&amp;quot;),this.volumeBtn.setAttribute(&amp;quot;aria-label&amp;quot;,this.labels.volume.close),this.hasSetAttribute(this.volumeBtn,&amp;quot;title&amp;quot;,this.labels.volume.close))}},{key:&amp;quot;showHideVolume&amp;quot;,value:function(){this.volumeControls.classList.toggle(&amp;quot;hidden&amp;quot;),this.volumeBtn.getAttribute(&amp;quot;aria-label&amp;quot;)===this.labels.volume.open?(this.volumeBtn.setAttribute(&amp;quot;aria-label&amp;quot;,this.labels.volume.close),this.hasSetAttribute(this.volumeBtn,&amp;quot;title&amp;quot;,this.labels.volume.close),this.volumeBtn.classList.add(&amp;quot;open&amp;quot;)):(this.volumeBtn.setAttribute(&amp;quot;aria-label&amp;quot;,this.labels.volume.open),this.hasSetAttribute(this.volumeBtn,&amp;quot;title&amp;quot;,this.labels.volume.open),this.volumeBtn.classList.remove(&amp;quot;open&amp;quot;))}},{key:&amp;quot;changeVolume&amp;quot;,value:function(e){this.inRange(e)&amp;amp;&amp;amp;(this.player.volume=Math.round(50*this.getCoefficient(e))/50)}},{key:&amp;quot;preloadNone&amp;quot;,value:function(){this.player.duration||(this.playPauseBtn.style.visibility=&amp;quot;hidden&amp;quot;,this.loading.style.visibility=&amp;quot;visible&amp;quot;)}},{key:&amp;quot;togglePlay&amp;quot;,value:function(){this.preloadNone(),this.player.paused?(this.stopOthersOnPlay&amp;amp;&amp;amp;u.stopOtherPlayers(),u.playPlayer(this.player),this.playPauseBtn.setAttribute(&amp;quot;aria-label&amp;quot;,this.labels.pause),this.hasSetAttribute(this.playPauseBtn,&amp;quot;title&amp;quot;,this.labels.pause)):(u.pausePlayer(this.player,&amp;quot;toggle&amp;quot;),this.playPauseBtn.setAttribute(&amp;quot;aria-label&amp;quot;,this.labels.play),this.hasSetAttribute(this.playPauseBtn,&amp;quot;title&amp;quot;,this.labels.play))}},{key:&amp;quot;hasSetAttribute&amp;quot;,value:function(e,t,i){this.showTooltips&amp;amp;&amp;amp;e.hasAttribute(t)&amp;amp;&amp;amp;e.setAttribute(t,i)}},{key:&amp;quot;setCurrentTime&amp;quot;,value:function(e){var t=this.player.currentTime,i=Math.floor(this.player.duration);t+e&amp;lt;0&amp;amp;&amp;amp;0===t?this.player.currentTime=this.player.currentTime:t+e&amp;lt;0?this.player.currentTime=0:i&amp;lt;t+e?this.player.currentTime=i:this.player.currentTime+=e}},{key:&amp;quot;setVolume&amp;quot;,value:function(e){if(!this.isDevice){var t=this.player.volume;0&amp;lt;=t+e&amp;amp;&amp;amp;t+e&amp;lt;1?this.player.volume+=e:this.player.volume=t+e&amp;lt;=0?0:1}}},{key:&amp;quot;unPressKb&amp;quot;,value:function(e){var t=e||window.event;!this.seeking||37!==t.keyCode&amp;amp;&amp;amp;39!==t.keyCode||(this.togglePlay(),this.seeking=!1)}},{key:&amp;quot;pressKb&amp;quot;,value:function(e){var t=e||window.event;switch(t.keyCode){case 13:case 32:if(document.activeElement.parentNode===this.playPauseBtn)this.togglePlay();else if(document.activeElement.parentNode===this.volumeBtn||document.activeElement===this.sliders[1]){if(document.activeElement===this.sliders[1])try{this.volumeBtn.children[0].focus()}catch(e){this.volumeBtn.focus()}this.showHideVolume()}13===t.keyCode&amp;amp;&amp;amp;this.showDownload&amp;amp;&amp;amp;document.activeElement.parentNode===this.downloadLink&amp;amp;&amp;amp;this.downloadLink.focus();break;case 37:case 39:document.activeElement===this.sliders[0]&amp;amp;&amp;amp;(37===t.keyCode?this.setCurrentTime(-5):this.setCurrentTime(5),!this.player.paused&amp;amp;&amp;amp;this.player.seeking&amp;amp;&amp;amp;(this.togglePlay(),this.seeking=!0));break;case 38:case 40:document.activeElement.parentNode!==this.volumeBtn&amp;amp;&amp;amp;document.activeElement!==this.sliders[1]||(38===t.keyCode?this.setVolume(.05):this.setVolume(-.05)),document.activeElement.parentNode===this.volumeBtn&amp;amp;&amp;amp;this.showVolume()}}},{key:&amp;quot;showLoadingIndicator&amp;quot;,value:function(){this.playPauseBtn.style.visibility=&amp;quot;hidden&amp;quot;,this.loading.style.visibility=&amp;quot;visible&amp;quot;}},{key:&amp;quot;hideLoadingIndicator&amp;quot;,value:function(){this.playPauseBtn.style.visibility=&amp;quot;visible&amp;quot;,this.loading.style.visibility=&amp;quot;hidden&amp;quot;}},{key:&amp;quot;showDownload&amp;quot;,value:function(){this.download.style.display=&amp;quot;block&amp;quot;}},{key:&amp;quot;downloadAudio&amp;quot;,value:function(){var e=this.player.currentSrc,t=e.split(&amp;quot;/&amp;quot;).reverse()[0];this.downloadLink.setAttribute(&amp;quot;href&amp;quot;,e),this.downloadLink.setAttribute(&amp;quot;download&amp;quot;,t)}},{key:&amp;quot;directionAware&amp;quot;,value:function(){this.volumeControls.classList.remove(&amp;quot;top&amp;quot;,&amp;quot;middle&amp;quot;,&amp;quot;bottom&amp;quot;),window.innerHeight&amp;lt;250?this.volumeControls.classList.add(&amp;quot;middle&amp;quot;):this.audioPlayer.getBoundingClientRect().top&amp;lt;180?this.volumeControls.classList.add(&amp;quot;bottom&amp;quot;):this.volumeControls.classList.add(&amp;quot;top&amp;quot;)}}])&amp;amp;&amp;amp;s(e.prototype,t),i&amp;amp;&amp;amp;s(e,i),u}();i.default=a},{}]},{},[1])(1)});&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=%E0%AA%95%E0%AA%BE%E0%AA%B6%E0%AB%8D%E0%AA%AE%E0%AB%80%E0%AA%B0%E0%AA%A8%E0%AB%8B_%E0%AA%AA%E0%AB%8D%E0%AA%B0%E0%AA%B5%E0%AA%BE%E0%AA%B8&amp;diff=63107</id>
		<title>કાશ્મીરનો પ્રવાસ</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=%E0%AA%95%E0%AA%BE%E0%AA%B6%E0%AB%8D%E0%AA%AE%E0%AB%80%E0%AA%B0%E0%AA%A8%E0%AB%8B_%E0%AA%AA%E0%AB%8D%E0%AA%B0%E0%AA%B5%E0%AA%BE%E0%AA%B8&amp;diff=63107"/>
		<updated>2023-08-11T06:00:46Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|title_mode= replace&lt;br /&gt;
|title= કાશ્મીરનો પ્રવાસ - Ekatra Wiki&lt;br /&gt;
|keywords= Ekatra, Ekatra Wiki, MainPage&lt;br /&gt;
|description=This is home page for this wiki&lt;br /&gt;
|image=કાશ્મીરનો પ્રવાસ-1.jpg&lt;br /&gt;
|image_alt=Wiki Logo&lt;br /&gt;
|site_name=Ekatra Wiki&lt;br /&gt;
|locale=gu-IN&lt;br /&gt;
|type=website&lt;br /&gt;
|modified_time={{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{BookCover&lt;br /&gt;
|cover_image = File:કાશ્મીરનો પ્રવાસ-1.jpg&lt;br /&gt;
|title = કાશ્મીરનો પ્રવાસ&lt;br /&gt;
|author = કલાપી&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|title = અનુક્રમણિકા&lt;br /&gt;
|content = &lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/પ્રારંભિક|પ્રારંભિક]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/કાશ્મીરનું સ્વપ્ન|કાશ્મીરનું સ્વપ્ન]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/પત્રની શરૂઆત|પત્રની શરૂઆત]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૧-૧૧-૯૧|તા. ૧-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૩-૧૧-૯૧|તા. ૩-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૫-૧૧-૯૧|તા. ૫-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૬-૧૧-૯૧|તા. ૬-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૭-૧૧-૯૧|તા. ૭-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૮-૧૧-૯૧|તા. ૮-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૯-૧૧-૯૧|તા. ૯-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૧૦-૧૧-૯૧|તા. ૧૦-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૧૧-૧૧-૯૧|તા. ૧૧-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૧૨-૧૧-૯૧|તા. ૧૨-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૧૩-૧૧-૯૧|તા. ૧૩-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૧૪-૧૧-૯૧|તા. ૧૪-૧૧-૯૧]]&lt;br /&gt;
* [[કાશ્મીરનો પ્રવાસ/તા. ૧૫-૧૧-૯૧|તા. ૧૫-૧૧-૯૧]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=User:Jayprakash12345/SEO&amp;diff=63106</id>
		<title>User:Jayprakash12345/SEO</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=User:Jayprakash12345/SEO&amp;diff=63106"/>
		<updated>2023-08-11T05:58:17Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: Created page with &amp;quot;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{#seo: |title_mode= replace |title= Main page - Ekatra Wiki |keywords= Ekatra, Ekatra Wiki, MainPage |description=This is home page for this wiki |image=Ekatra-emblem-wiki.png |image_alt=Wiki Logo |site_name=Ekatra Wiki |locale=gu-IN |type=website |modified_time={{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} }}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{#seo:&lt;br /&gt;
|title_mode= replace&lt;br /&gt;
|title= Main page - Ekatra Wiki&lt;br /&gt;
|keywords= Ekatra, Ekatra Wiki, MainPage&lt;br /&gt;
|description=This is home page for this wiki&lt;br /&gt;
|image=Ekatra-emblem-wiki.png&lt;br /&gt;
|image_alt=Wiki Logo&lt;br /&gt;
|site_name=Ekatra Wiki&lt;br /&gt;
|locale=gu-IN&lt;br /&gt;
|type=website&lt;br /&gt;
|modified_time={{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62901</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62901"/>
		<updated>2023-08-02T04:13:27Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://wiki.ekatrafoundation.org/mediaelementplayer.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mediaelement-and-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script&amp;gt;&lt;br /&gt;
	var player = new MediaElementPlayer( document.querySelector(&#039;.mejs__player&#039;), {&lt;br /&gt;
		success: function(mediaElement, originalNode, instance) {&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62900</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62900"/>
		<updated>2023-08-02T04:11:30Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelementplayer.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mediaelement-and-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script&amp;gt;&lt;br /&gt;
	var player = new MediaElementPlayer( document.querySelector(&#039;.mejs__player&#039;), {&lt;br /&gt;
		success: function(mediaElement, originalNode, instance) {&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=62899</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=62899"/>
		<updated>2023-08-02T04:10:51Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Normal.ttf&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Bold.ttf&amp;quot;);&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Italic.ttf&amp;quot;);&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: Ekatra;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.action-edit #bodyContent {&lt;br /&gt;
	padding-left: 2%;&lt;br /&gt;
	padding-right: 2%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media only screen and (max-width: 600px) {&lt;br /&gt;
 #bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#firstHeading {&lt;br /&gt;
	font-family: Ekatra;&lt;br /&gt;
	font-size: 0.8em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo {&lt;br /&gt;
	margin-top: 1rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.grid_row {&lt;br /&gt;
	display: flex;&lt;br /&gt;
	flex-direction: row;&lt;br /&gt;
	flex-flow: row wrap;&lt;br /&gt;
	justify-content: space-between;&lt;br /&gt;
}&lt;br /&gt;
.grid_col {&lt;br /&gt;
	flex: 1;&lt;br /&gt;
	min-width: 250px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.error {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    border-spacing: 3px;&lt;br /&gt;
    background-color: #f8f9fa;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    width: 22em;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-name{&lt;br /&gt;
	text-align:center;&lt;br /&gt;
	font-weight: 500;&lt;br /&gt;
    font-size: 23px;&lt;br /&gt;
    line-height: 28px;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography th{&lt;br /&gt;
	text-align:left;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography td {&lt;br /&gt;
    padding-left: 10px;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-caption{&lt;br /&gt;
		text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.poem{&lt;br /&gt;
	padding-left: 3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.Poem2-Ekatra{&lt;br /&gt;
	text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-heading {&lt;br /&gt;
	font-size: 29px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-author, p.bookcover-editor{&lt;br /&gt;
	font-size: 21px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
.bookcover{&lt;br /&gt;
	padding:10px;&lt;br /&gt;
	margin-bottom:20px;&lt;br /&gt;
}&lt;br /&gt;
.heading-detail-page{&lt;br /&gt;
	width:auto; &lt;br /&gt;
	margin-left:auto; &lt;br /&gt;
	margin-right:auto; &lt;br /&gt;
	margin-bottom: 30px;&lt;br /&gt;
}&lt;br /&gt;
.tablecenter{&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.content-box.lightpink{&lt;br /&gt;
	border:2px solid #ffe2e2;&lt;br /&gt;
}&lt;br /&gt;
.content-box-heading{&lt;br /&gt;
	background:#ffe2e2;&lt;br /&gt;
	font-size: larger;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding-top: 0.1em;&lt;br /&gt;
	padding-bottom: 0.1em;&lt;br /&gt;
}&lt;br /&gt;
.content-box-text{&lt;br /&gt;
	background:#fff5f5;&lt;br /&gt;
	padding: 10px;&lt;br /&gt;
	font-size:17px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
table.autorowtable {&lt;br /&gt;
  counter-reset: rowNumber;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.autorow::before {&lt;br /&gt;
  counter-increment: rowNumber;&lt;br /&gt;
  content:  counter(rowNumber) &amp;quot;.&amp;quot; ;&lt;br /&gt;
  padding-right: 0.3em;&lt;br /&gt;
  text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* To make images responsive */&lt;br /&gt;
.res-img img {&lt;br /&gt;
	max-width:70%;&lt;br /&gt;
	height:auto;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62898</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62898"/>
		<updated>2023-08-02T04:08:30Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelementplayer.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
.mejs__overlay-button {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;) !important;&lt;br /&gt;
}&lt;br /&gt;
.mejs__overlay-loading-bg-img {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;) !important;;&lt;br /&gt;
}&lt;br /&gt;
.mejs__button &amp;gt; button {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;) !important;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mediaelement-and-player.min.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script&amp;gt;&lt;br /&gt;
	var player = new MediaElementPlayer( document.querySelector(&#039;.mejs__player&#039;), {&lt;br /&gt;
		success: function(mediaElement, originalNode, instance) {&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mediaelement-and-player.min.js&amp;diff=62897</id>
		<title>MediaWiki:Mediaelement-and-player.min.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Mediaelement-and-player.min.js&amp;diff=62897"/>
		<updated>2023-08-02T04:04:00Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: Created page with &amp;quot;/*!  * MediaElement.js  * http://www.mediaelementjs.com/  *  * Wrapper that mimics native HTML5 MediaElement (audio and video)  * using a variety of technologies (pure JavaScript, Flash, iframe)  *  * Copyright 2010-2017, John Dyer (http://j.hn/)  * License: MIT  *  */(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==&amp;quot;function&amp;quot;&amp;amp;&amp;amp;require;if(!u&amp;amp;&amp;amp;a)return a(o,!0);if(i)return i(o,!0);var f=new Error(&amp;quot;Cannot find module &amp;#039;&amp;quot;+o+&amp;quot;&amp;#039;&amp;quot;);throw f....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*!&lt;br /&gt;
 * MediaElement.js&lt;br /&gt;
 * http://www.mediaelementjs.com/&lt;br /&gt;
 *&lt;br /&gt;
 * Wrapper that mimics native HTML5 MediaElement (audio and video)&lt;br /&gt;
 * using a variety of technologies (pure JavaScript, Flash, iframe)&lt;br /&gt;
 *&lt;br /&gt;
 * Copyright 2010-2017, John Dyer (http://j.hn/)&lt;br /&gt;
 * License: MIT&lt;br /&gt;
 *&lt;br /&gt;
 */(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==&amp;quot;function&amp;quot;&amp;amp;&amp;amp;require;if(!u&amp;amp;&amp;amp;a)return a(o,!0);if(i)return i(o,!0);var f=new Error(&amp;quot;Cannot find module &#039;&amp;quot;+o+&amp;quot;&#039;&amp;quot;);throw f.code=&amp;quot;MODULE_NOT_FOUND&amp;quot;,f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==&amp;quot;function&amp;quot;&amp;amp;&amp;amp;require;for(var o=0;o&amp;lt;r.length;o++)s(r[o]);return s}return e})()({1:[function(_dereq_,module,exports){&lt;br /&gt;
&lt;br /&gt;
},{}],2:[function(_dereq_,module,exports){&lt;br /&gt;
(function (global){&lt;br /&gt;
var topLevel = typeof global !== &#039;undefined&#039; ? global :&lt;br /&gt;
    typeof window !== &#039;undefined&#039; ? window : {}&lt;br /&gt;
var minDoc = _dereq_(1);&lt;br /&gt;
&lt;br /&gt;
var doccy;&lt;br /&gt;
&lt;br /&gt;
if (typeof document !== &#039;undefined&#039;) {&lt;br /&gt;
    doccy = document;&lt;br /&gt;
} else {&lt;br /&gt;
    doccy = topLevel[&#039;__GLOBAL_DOCUMENT_CACHE@4&#039;];&lt;br /&gt;
&lt;br /&gt;
    if (!doccy) {&lt;br /&gt;
        doccy = topLevel[&#039;__GLOBAL_DOCUMENT_CACHE@4&#039;] = minDoc;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
module.exports = doccy;&lt;br /&gt;
&lt;br /&gt;
}).call(this,typeof global !== &amp;quot;undefined&amp;quot; ? global : typeof self !== &amp;quot;undefined&amp;quot; ? self : typeof window !== &amp;quot;undefined&amp;quot; ? window : {})&lt;br /&gt;
},{&amp;quot;1&amp;quot;:1}],3:[function(_dereq_,module,exports){&lt;br /&gt;
(function (global){&lt;br /&gt;
var win;&lt;br /&gt;
&lt;br /&gt;
if (typeof window !== &amp;quot;undefined&amp;quot;) {&lt;br /&gt;
    win = window;&lt;br /&gt;
} else if (typeof global !== &amp;quot;undefined&amp;quot;) {&lt;br /&gt;
    win = global;&lt;br /&gt;
} else if (typeof self !== &amp;quot;undefined&amp;quot;){&lt;br /&gt;
    win = self;&lt;br /&gt;
} else {&lt;br /&gt;
    win = {};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
module.exports = win;&lt;br /&gt;
&lt;br /&gt;
}).call(this,typeof global !== &amp;quot;undefined&amp;quot; ? global : typeof self !== &amp;quot;undefined&amp;quot; ? self : typeof window !== &amp;quot;undefined&amp;quot; ? window : {})&lt;br /&gt;
},{}],4:[function(_dereq_,module,exports){&lt;br /&gt;
(function (root) {&lt;br /&gt;
&lt;br /&gt;
  // Store setTimeout reference so promise-polyfill will be unaffected by&lt;br /&gt;
  // other code modifying setTimeout (like sinon.useFakeTimers())&lt;br /&gt;
  var setTimeoutFunc = setTimeout;&lt;br /&gt;
&lt;br /&gt;
  function noop() {}&lt;br /&gt;
  &lt;br /&gt;
  // Polyfill for Function.prototype.bind&lt;br /&gt;
  function bind(fn, thisArg) {&lt;br /&gt;
    return function () {&lt;br /&gt;
      fn.apply(thisArg, arguments);&lt;br /&gt;
    };&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function Promise(fn) {&lt;br /&gt;
    if (typeof this !== &#039;object&#039;) throw new TypeError(&#039;Promises must be constructed via new&#039;);&lt;br /&gt;
    if (typeof fn !== &#039;function&#039;) throw new TypeError(&#039;not a function&#039;);&lt;br /&gt;
    this._state = 0;&lt;br /&gt;
    this._handled = false;&lt;br /&gt;
    this._value = undefined;&lt;br /&gt;
    this._deferreds = [];&lt;br /&gt;
&lt;br /&gt;
    doResolve(fn, this);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function handle(self, deferred) {&lt;br /&gt;
    while (self._state === 3) {&lt;br /&gt;
      self = self._value;&lt;br /&gt;
    }&lt;br /&gt;
    if (self._state === 0) {&lt;br /&gt;
      self._deferreds.push(deferred);&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    self._handled = true;&lt;br /&gt;
    Promise._immediateFn(function () {&lt;br /&gt;
      var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;&lt;br /&gt;
      if (cb === null) {&lt;br /&gt;
        (self._state === 1 ? resolve : reject)(deferred.promise, self._value);&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
      var ret;&lt;br /&gt;
      try {&lt;br /&gt;
        ret = cb(self._value);&lt;br /&gt;
      } catch (e) {&lt;br /&gt;
        reject(deferred.promise, e);&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
      resolve(deferred.promise, ret);&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function resolve(self, newValue) {&lt;br /&gt;
    try {&lt;br /&gt;
      // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure&lt;br /&gt;
      if (newValue === self) throw new TypeError(&#039;A promise cannot be resolved with itself.&#039;);&lt;br /&gt;
      if (newValue &amp;amp;&amp;amp; (typeof newValue === &#039;object&#039; || typeof newValue === &#039;function&#039;)) {&lt;br /&gt;
        var then = newValue.then;&lt;br /&gt;
        if (newValue instanceof Promise) {&lt;br /&gt;
          self._state = 3;&lt;br /&gt;
          self._value = newValue;&lt;br /&gt;
          finale(self);&lt;br /&gt;
          return;&lt;br /&gt;
        } else if (typeof then === &#039;function&#039;) {&lt;br /&gt;
          doResolve(bind(then, newValue), self);&lt;br /&gt;
          return;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      self._state = 1;&lt;br /&gt;
      self._value = newValue;&lt;br /&gt;
      finale(self);&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
      reject(self, e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function reject(self, newValue) {&lt;br /&gt;
    self._state = 2;&lt;br /&gt;
    self._value = newValue;&lt;br /&gt;
    finale(self);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function finale(self) {&lt;br /&gt;
    if (self._state === 2 &amp;amp;&amp;amp; self._deferreds.length === 0) {&lt;br /&gt;
      Promise._immediateFn(function() {&lt;br /&gt;
        if (!self._handled) {&lt;br /&gt;
          Promise._unhandledRejectionFn(self._value);&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0, len = self._deferreds.length; i &amp;lt; len; i++) {&lt;br /&gt;
      handle(self, self._deferreds[i]);&lt;br /&gt;
    }&lt;br /&gt;
    self._deferreds = null;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function Handler(onFulfilled, onRejected, promise) {&lt;br /&gt;
    this.onFulfilled = typeof onFulfilled === &#039;function&#039; ? onFulfilled : null;&lt;br /&gt;
    this.onRejected = typeof onRejected === &#039;function&#039; ? onRejected : null;&lt;br /&gt;
    this.promise = promise;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Take a potentially misbehaving resolver function and make sure&lt;br /&gt;
   * onFulfilled and onRejected are only called once.&lt;br /&gt;
   *&lt;br /&gt;
   * Makes no guarantees about asynchrony.&lt;br /&gt;
   */&lt;br /&gt;
  function doResolve(fn, self) {&lt;br /&gt;
    var done = false;&lt;br /&gt;
    try {&lt;br /&gt;
      fn(function (value) {&lt;br /&gt;
        if (done) return;&lt;br /&gt;
        done = true;&lt;br /&gt;
        resolve(self, value);&lt;br /&gt;
      }, function (reason) {&lt;br /&gt;
        if (done) return;&lt;br /&gt;
        done = true;&lt;br /&gt;
        reject(self, reason);&lt;br /&gt;
      });&lt;br /&gt;
    } catch (ex) {&lt;br /&gt;
      if (done) return;&lt;br /&gt;
      done = true;&lt;br /&gt;
      reject(self, ex);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Promise.prototype[&#039;catch&#039;] = function (onRejected) {&lt;br /&gt;
    return this.then(null, onRejected);&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Promise.prototype.then = function (onFulfilled, onRejected) {&lt;br /&gt;
    var prom = new (this.constructor)(noop);&lt;br /&gt;
&lt;br /&gt;
    handle(this, new Handler(onFulfilled, onRejected, prom));&lt;br /&gt;
    return prom;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Promise.all = function (arr) {&lt;br /&gt;
    var args = Array.prototype.slice.call(arr);&lt;br /&gt;
&lt;br /&gt;
    return new Promise(function (resolve, reject) {&lt;br /&gt;
      if (args.length === 0) return resolve([]);&lt;br /&gt;
      var remaining = args.length;&lt;br /&gt;
&lt;br /&gt;
      function res(i, val) {&lt;br /&gt;
        try {&lt;br /&gt;
          if (val &amp;amp;&amp;amp; (typeof val === &#039;object&#039; || typeof val === &#039;function&#039;)) {&lt;br /&gt;
            var then = val.then;&lt;br /&gt;
            if (typeof then === &#039;function&#039;) {&lt;br /&gt;
              then.call(val, function (val) {&lt;br /&gt;
                res(i, val);&lt;br /&gt;
              }, reject);&lt;br /&gt;
              return;&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          args[i] = val;&lt;br /&gt;
          if (--remaining === 0) {&lt;br /&gt;
            resolve(args);&lt;br /&gt;
          }&lt;br /&gt;
        } catch (ex) {&lt;br /&gt;
          reject(ex);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      for (var i = 0; i &amp;lt; args.length; i++) {&lt;br /&gt;
        res(i, args[i]);&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Promise.resolve = function (value) {&lt;br /&gt;
    if (value &amp;amp;&amp;amp; typeof value === &#039;object&#039; &amp;amp;&amp;amp; value.constructor === Promise) {&lt;br /&gt;
      return value;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return new Promise(function (resolve) {&lt;br /&gt;
      resolve(value);&lt;br /&gt;
    });&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Promise.reject = function (value) {&lt;br /&gt;
    return new Promise(function (resolve, reject) {&lt;br /&gt;
      reject(value);&lt;br /&gt;
    });&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Promise.race = function (values) {&lt;br /&gt;
    return new Promise(function (resolve, reject) {&lt;br /&gt;
      for (var i = 0, len = values.length; i &amp;lt; len; i++) {&lt;br /&gt;
        values[i].then(resolve, reject);&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  // Use polyfill for setImmediate for performance gains&lt;br /&gt;
  Promise._immediateFn = (typeof setImmediate === &#039;function&#039; &amp;amp;&amp;amp; function (fn) { setImmediate(fn); }) ||&lt;br /&gt;
    function (fn) {&lt;br /&gt;
      setTimeoutFunc(fn, 0);&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {&lt;br /&gt;
    if (typeof console !== &#039;undefined&#039; &amp;amp;&amp;amp; console) {&lt;br /&gt;
      console.warn(&#039;Possible Unhandled Promise Rejection:&#039;, err); // eslint-disable-line no-console&lt;br /&gt;
    }&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Set the immediate function to execute callbacks&lt;br /&gt;
   * @param fn {function} Function to execute&lt;br /&gt;
   * @deprecated&lt;br /&gt;
   */&lt;br /&gt;
  Promise._setImmediateFn = function _setImmediateFn(fn) {&lt;br /&gt;
    Promise._immediateFn = fn;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Change the function to execute on unhandled rejection&lt;br /&gt;
   * @param {function} fn Function to execute on unhandled rejection&lt;br /&gt;
   * @deprecated&lt;br /&gt;
   */&lt;br /&gt;
  Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {&lt;br /&gt;
    Promise._unhandledRejectionFn = fn;&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  if (typeof module !== &#039;undefined&#039; &amp;amp;&amp;amp; module.exports) {&lt;br /&gt;
    module.exports = Promise;&lt;br /&gt;
  } else if (!root.Promise) {&lt;br /&gt;
    root.Promise = Promise;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
})(this);&lt;br /&gt;
&lt;br /&gt;
},{}],5:[function(_dereq_,module,exports){&lt;br /&gt;
!function(root, factory) {&lt;br /&gt;
    &amp;quot;function&amp;quot; == typeof define &amp;amp;&amp;amp; define.amd ? // AMD. Register as an anonymous module unless amdModuleId is set&lt;br /&gt;
    define([], function() {&lt;br /&gt;
        return root.svg4everybody = factory();&lt;br /&gt;
    }) : &amp;quot;object&amp;quot; == typeof module &amp;amp;&amp;amp; module.exports ? // Node. Does not work with strict CommonJS, but&lt;br /&gt;
    // only CommonJS-like environments that support module.exports,&lt;br /&gt;
    // like Node.&lt;br /&gt;
    module.exports = factory() : root.svg4everybody = factory();&lt;br /&gt;
}(this, function() {&lt;br /&gt;
    /*! svg4everybody v2.1.9 | github.com/jonathantneal/svg4everybody */&lt;br /&gt;
    function embed(parent, svg, target) {&lt;br /&gt;
        // if the target exists&lt;br /&gt;
        if (target) {&lt;br /&gt;
            // create a document fragment to hold the contents of the target&lt;br /&gt;
            var fragment = document.createDocumentFragment(), viewBox = !svg.hasAttribute(&amp;quot;viewBox&amp;quot;) &amp;amp;&amp;amp; target.getAttribute(&amp;quot;viewBox&amp;quot;);&lt;br /&gt;
            // conditionally set the viewBox on the svg&lt;br /&gt;
            viewBox &amp;amp;&amp;amp; svg.setAttribute(&amp;quot;viewBox&amp;quot;, viewBox);&lt;br /&gt;
            // copy the contents of the clone into the fragment&lt;br /&gt;
            for (// clone the target&lt;br /&gt;
            var clone = target.cloneNode(!0); clone.childNodes.length; ) {&lt;br /&gt;
                fragment.appendChild(clone.firstChild);&lt;br /&gt;
            }&lt;br /&gt;
            // append the fragment into the svg&lt;br /&gt;
            parent.appendChild(fragment);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    function loadreadystatechange(xhr) {&lt;br /&gt;
        // listen to changes in the request&lt;br /&gt;
        xhr.onreadystatechange = function() {&lt;br /&gt;
            // if the request is ready&lt;br /&gt;
            if (4 === xhr.readyState) {&lt;br /&gt;
                // get the cached html document&lt;br /&gt;
                var cachedDocument = xhr._cachedDocument;&lt;br /&gt;
                // ensure the cached html document based on the xhr response&lt;br /&gt;
                cachedDocument || (cachedDocument = xhr._cachedDocument = document.implementation.createHTMLDocument(&amp;quot;&amp;quot;), &lt;br /&gt;
                cachedDocument.body.innerHTML = xhr.responseText, xhr._cachedTarget = {}), // clear the xhr embeds list and embed each item&lt;br /&gt;
                xhr._embeds.splice(0).map(function(item) {&lt;br /&gt;
                    // get the cached target&lt;br /&gt;
                    var target = xhr._cachedTarget[item.id];&lt;br /&gt;
                    // ensure the cached target&lt;br /&gt;
                    target || (target = xhr._cachedTarget[item.id] = cachedDocument.getElementById(item.id)), &lt;br /&gt;
                    // embed the target into the svg&lt;br /&gt;
                    embed(item.parent, item.svg, target);&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }, // test the ready state change immediately&lt;br /&gt;
        xhr.onreadystatechange();&lt;br /&gt;
    }&lt;br /&gt;
    function svg4everybody(rawopts) {&lt;br /&gt;
        function oninterval() {&lt;br /&gt;
            // while the index exists in the live &amp;lt;use&amp;gt; collection&lt;br /&gt;
            for (// get the cached &amp;lt;use&amp;gt; index&lt;br /&gt;
            var index = 0; index &amp;lt; uses.length; ) {&lt;br /&gt;
                // get the current &amp;lt;use&amp;gt;&lt;br /&gt;
                var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute(&amp;quot;xlink:href&amp;quot;) || use.getAttribute(&amp;quot;href&amp;quot;);&lt;br /&gt;
                if (!src &amp;amp;&amp;amp; opts.attributeName &amp;amp;&amp;amp; (src = use.getAttribute(opts.attributeName)), &lt;br /&gt;
                svg &amp;amp;&amp;amp; src) {&lt;br /&gt;
                    if (polyfill) {&lt;br /&gt;
                        if (!opts.validate || opts.validate(src, svg, use)) {&lt;br /&gt;
                            // remove the &amp;lt;use&amp;gt; element&lt;br /&gt;
                            parent.removeChild(use);&lt;br /&gt;
                            // parse the src and get the url and id&lt;br /&gt;
                            var srcSplit = src.split(&amp;quot;#&amp;quot;), url = srcSplit.shift(), id = srcSplit.join(&amp;quot;#&amp;quot;);&lt;br /&gt;
                            // if the link is external&lt;br /&gt;
                            if (url.length) {&lt;br /&gt;
                                // get the cached xhr request&lt;br /&gt;
                                var xhr = requests[url];&lt;br /&gt;
                                // ensure the xhr request exists&lt;br /&gt;
                                xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open(&amp;quot;GET&amp;quot;, url), xhr.send(), &lt;br /&gt;
                                xhr._embeds = []), // add the svg and id as an item to the xhr embeds list&lt;br /&gt;
                                xhr._embeds.push({&lt;br /&gt;
                                    parent: parent,&lt;br /&gt;
                                    svg: svg,&lt;br /&gt;
                                    id: id&lt;br /&gt;
                                }), // prepare the xhr ready state change event&lt;br /&gt;
                                loadreadystatechange(xhr);&lt;br /&gt;
                            } else {&lt;br /&gt;
                                // embed the local id into the svg&lt;br /&gt;
                                embed(parent, svg, document.getElementById(id));&lt;br /&gt;
                            }&lt;br /&gt;
                        } else {&lt;br /&gt;
                            // increase the index when the previous value was not &amp;quot;valid&amp;quot;&lt;br /&gt;
                            ++index, ++numberOfSvgUseElementsToBypass;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                } else {&lt;br /&gt;
                    // increase the index when the previous value was not &amp;quot;valid&amp;quot;&lt;br /&gt;
                    ++index;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            // continue the interval&lt;br /&gt;
            (!uses.length || uses.length - numberOfSvgUseElementsToBypass &amp;gt; 0) &amp;amp;&amp;amp; requestAnimationFrame(oninterval, 67);&lt;br /&gt;
        }&lt;br /&gt;
        var polyfill, opts = Object(rawopts), newerIEUA = /\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/, webkitUA = /\bAppleWebKit\/(\d+)\b/, olderEdgeUA = /\bEdge\/12\.(\d+)\b/, edgeUA = /\bEdge\/.(\d+)\b/, inIframe = window.top !== window.self;&lt;br /&gt;
        polyfill = &amp;quot;polyfill&amp;quot; in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] &amp;lt; 10547 || (navigator.userAgent.match(webkitUA) || [])[1] &amp;lt; 537 || edgeUA.test(navigator.userAgent) &amp;amp;&amp;amp; inIframe;&lt;br /&gt;
        // create xhr requests object&lt;br /&gt;
        var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName(&amp;quot;use&amp;quot;), numberOfSvgUseElementsToBypass = 0;&lt;br /&gt;
        // conditionally start the interval if the polyfill is active&lt;br /&gt;
        polyfill &amp;amp;&amp;amp; oninterval();&lt;br /&gt;
    }&lt;br /&gt;
    function getSVGAncestor(node) {&lt;br /&gt;
        for (var svg = node; &amp;quot;svg&amp;quot; !== svg.nodeName.toLowerCase() &amp;amp;&amp;amp; (svg = svg.parentNode); ) {}&lt;br /&gt;
        return svg;&lt;br /&gt;
    }&lt;br /&gt;
    return svg4everybody;&lt;br /&gt;
});&lt;br /&gt;
},{}],6:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var _typeof = typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; typeof Symbol.iterator === &amp;quot;symbol&amp;quot; ? function (obj) { return typeof obj; } : function (obj) { return obj &amp;amp;&amp;amp; typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; obj.constructor === Symbol &amp;amp;&amp;amp; obj !== Symbol.prototype ? &amp;quot;symbol&amp;quot; : typeof obj; };&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _en = _dereq_(16);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
var i18n = { lang: &#039;en&#039;, en: _en.EN };&lt;br /&gt;
&lt;br /&gt;
i18n.language = function () {&lt;br /&gt;
	for (var _len = arguments.length, args = Array(_len), _key = 0; _key &amp;lt; _len; _key++) {&lt;br /&gt;
		args[_key] = arguments[_key];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (args !== null &amp;amp;&amp;amp; args !== undefined &amp;amp;&amp;amp; args.length) {&lt;br /&gt;
&lt;br /&gt;
		if (typeof args[0] !== &#039;string&#039;) {&lt;br /&gt;
			throw new TypeError(&#039;Language code must be a string value&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (!/^[a-z]{2,3}((\-|_)[a-z]{2})?$/i.test(args[0])) {&lt;br /&gt;
			throw new TypeError(&#039;Language code must have format 2-3 letters and. optionally, hyphen, underscore followed by 2 more letters&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		i18n.lang = args[0];&lt;br /&gt;
&lt;br /&gt;
		if (i18n[args[0]] === undefined) {&lt;br /&gt;
			args[1] = args[1] !== null &amp;amp;&amp;amp; args[1] !== undefined &amp;amp;&amp;amp; _typeof(args[1]) === &#039;object&#039; ? args[1] : {};&lt;br /&gt;
			i18n[args[0]] = !(0, _general.isObjectEmpty)(args[1]) ? args[1] : _en.EN;&lt;br /&gt;
		} else if (args[1] !== null &amp;amp;&amp;amp; args[1] !== undefined &amp;amp;&amp;amp; _typeof(args[1]) === &#039;object&#039;) {&lt;br /&gt;
			i18n[args[0]] = args[1];&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return i18n.lang;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
i18n.t = function (message) {&lt;br /&gt;
	var pluralParam = arguments.length &amp;gt; 1 &amp;amp;&amp;amp; arguments[1] !== undefined ? arguments[1] : null;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	if (typeof message === &#039;string&#039; &amp;amp;&amp;amp; message.length) {&lt;br /&gt;
&lt;br /&gt;
		var str = void 0,&lt;br /&gt;
		    pluralForm = void 0;&lt;br /&gt;
&lt;br /&gt;
		var language = i18n.language();&lt;br /&gt;
&lt;br /&gt;
		var _plural = function _plural(input, number, form) {&lt;br /&gt;
&lt;br /&gt;
			if ((typeof input === &#039;undefined&#039; ? &#039;undefined&#039; : _typeof(input)) !== &#039;object&#039; || typeof number !== &#039;number&#039; || typeof form !== &#039;number&#039;) {&lt;br /&gt;
				return input;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var _pluralForms = function () {&lt;br /&gt;
				return [function () {&lt;br /&gt;
					return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
				}, function () {&lt;br /&gt;
					return (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1 ? arguments.length &amp;lt;= 1 ? undefined : arguments[1] : arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
				}, function () {&lt;br /&gt;
					return (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 0 || (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1 ? arguments.length &amp;lt;= 1 ? undefined : arguments[1] : arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 === 1 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 !== 11) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) !== 0) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1 || (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 11) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 2 || (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 12) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) &amp;gt; 2 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) &amp;lt; 20) {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 4 ? undefined : arguments[4];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 0 || (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;gt; 0 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;lt; 20) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 === 1 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 !== 11) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 &amp;gt;= 2 &amp;amp;&amp;amp; ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;lt; 10 || (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;gt;= 20)) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else {&lt;br /&gt;
						return [3];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 === 1 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 !== 11) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 &amp;gt;= 2 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 &amp;lt;= 4 &amp;amp;&amp;amp; ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;lt; 10 || (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;gt;= 20)) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) &amp;gt;= 2 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) &amp;lt;= 4) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 &amp;gt;= 2 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 &amp;lt;= 4 &amp;amp;&amp;amp; ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;lt; 10 || (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;gt;= 20)) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 === 2) {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 === 3 || (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 === 4) {&lt;br /&gt;
						return arguments.length &amp;lt;= 4 ? undefined : arguments[4];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 2) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) &amp;gt; 2 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) &amp;lt; 7) {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) &amp;gt; 6 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) &amp;lt; 11) {&lt;br /&gt;
						return arguments.length &amp;lt;= 4 ? undefined : arguments[4];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 5 ? undefined : arguments[5];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 0) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 2) {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;gt;= 3 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;lt;= 10) {&lt;br /&gt;
						return arguments.length &amp;lt;= 4 ? undefined : arguments[4];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;gt;= 11) {&lt;br /&gt;
						return arguments.length &amp;lt;= 5 ? undefined : arguments[5];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 6 ? undefined : arguments[6];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 0 || (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;gt; 1 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;lt; 11) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;gt; 10 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;lt; 20) {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 4 ? undefined : arguments[4];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 === 2) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					return (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) !== 11 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 === 1 ? arguments.length &amp;lt;= 1 ? undefined : arguments[1] : arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 &amp;gt;= 2 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 10 &amp;lt;= 4 &amp;amp;&amp;amp; ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;lt; 10 || (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) % 100 &amp;gt;= 20)) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 2) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) !== 8 &amp;amp;&amp;amp; (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) !== 11) {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 4 ? undefined : arguments[4];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					return (arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 0 ? arguments.length &amp;lt;= 1 ? undefined : arguments[1] : arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 2) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 3) {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 4 ? undefined : arguments[4];&lt;br /&gt;
					}&lt;br /&gt;
				}, function () {&lt;br /&gt;
					if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 0) {&lt;br /&gt;
						return arguments.length &amp;lt;= 1 ? undefined : arguments[1];&lt;br /&gt;
					} else if ((arguments.length &amp;lt;= 0 ? undefined : arguments[0]) === 1) {&lt;br /&gt;
						return arguments.length &amp;lt;= 2 ? undefined : arguments[2];&lt;br /&gt;
					} else {&lt;br /&gt;
						return arguments.length &amp;lt;= 3 ? undefined : arguments[3];&lt;br /&gt;
					}&lt;br /&gt;
				}];&lt;br /&gt;
			}();&lt;br /&gt;
&lt;br /&gt;
			return _pluralForms[form].apply(null, [number].concat(input));&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		if (i18n[language] !== undefined) {&lt;br /&gt;
			str = i18n[language][message];&lt;br /&gt;
			if (pluralParam !== null &amp;amp;&amp;amp; typeof pluralParam === &#039;number&#039;) {&lt;br /&gt;
				pluralForm = i18n[language][&#039;mejs.plural-form&#039;];&lt;br /&gt;
				str = _plural.apply(null, [str, pluralParam, pluralForm]);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (!str &amp;amp;&amp;amp; i18n.en) {&lt;br /&gt;
			str = i18n.en[message];&lt;br /&gt;
			if (pluralParam !== null &amp;amp;&amp;amp; typeof pluralParam === &#039;number&#039;) {&lt;br /&gt;
				pluralForm = i18n.en[&#039;mejs.plural-form&#039;];&lt;br /&gt;
				str = _plural.apply(null, [str, pluralParam, pluralForm]);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		str = str || message;&lt;br /&gt;
&lt;br /&gt;
		if (pluralParam !== null &amp;amp;&amp;amp; typeof pluralParam === &#039;number&#039;) {&lt;br /&gt;
			str = str.replace(&#039;%1&#039;, pluralParam);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return (0, _general.escapeHTML)(str);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return message;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.i18n = i18n;&lt;br /&gt;
&lt;br /&gt;
if (typeof mejsL10n !== &#039;undefined&#039;) {&lt;br /&gt;
	_mejs2.default.i18n.language(mejsL10n.language, mejsL10n.strings);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exports.default = i18n;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;16&amp;quot;:16,&amp;quot;28&amp;quot;:28,&amp;quot;8&amp;quot;:8}],7:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var _typeof = typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; typeof Symbol.iterator === &amp;quot;symbol&amp;quot; ? function (obj) { return typeof obj; } : function (obj) { return obj &amp;amp;&amp;amp; typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; obj.constructor === Symbol &amp;amp;&amp;amp; obj !== Symbol.prototype ? &amp;quot;symbol&amp;quot; : typeof obj; };&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _media2 = _dereq_(30);&lt;br /&gt;
&lt;br /&gt;
var _renderer = _dereq_(9);&lt;br /&gt;
&lt;br /&gt;
var _constants = _dereq_(26);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(&amp;quot;Cannot call a class as a function&amp;quot;); } }&lt;br /&gt;
&lt;br /&gt;
var MediaElement = function MediaElement(idOrNode, options, sources) {&lt;br /&gt;
	var _this = this;&lt;br /&gt;
&lt;br /&gt;
	_classCallCheck(this, MediaElement);&lt;br /&gt;
&lt;br /&gt;
	var t = this;&lt;br /&gt;
&lt;br /&gt;
	sources = Array.isArray(sources) ? sources : null;&lt;br /&gt;
&lt;br /&gt;
	t.defaults = {&lt;br /&gt;
		renderers: [],&lt;br /&gt;
&lt;br /&gt;
		fakeNodeName: &#039;div&#039;,&lt;br /&gt;
&lt;br /&gt;
		pluginPath: &#039;build/&#039;,&lt;br /&gt;
&lt;br /&gt;
		iconSprite: &#039;mejs-controls.svg&#039;,&lt;br /&gt;
&lt;br /&gt;
		shimScriptAccess: &#039;sameDomain&#039;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	options = Object.assign(t.defaults, options);&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement = _document2.default.createElement(options.fakeNodeName);&lt;br /&gt;
&lt;br /&gt;
	var id = idOrNode,&lt;br /&gt;
	    error = false;&lt;br /&gt;
&lt;br /&gt;
	if (typeof idOrNode === &#039;string&#039;) {&lt;br /&gt;
		t.mediaElement.originalNode = _document2.default.getElementById(idOrNode);&lt;br /&gt;
	} else {&lt;br /&gt;
		t.mediaElement.originalNode = idOrNode;&lt;br /&gt;
		id = idOrNode.id;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (t.mediaElement.originalNode === undefined || t.mediaElement.originalNode === null) {&lt;br /&gt;
		return null;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.options = options;&lt;br /&gt;
	id = id || &#039;mejs_&#039; + Math.random().toString().slice(2);&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.originalNode.setAttribute(&#039;id&#039;, id + &#039;_from_mejs&#039;);&lt;br /&gt;
&lt;br /&gt;
	var tagName = t.mediaElement.originalNode.tagName.toLowerCase();&lt;br /&gt;
	if ([&#039;video&#039;, &#039;audio&#039;].indexOf(tagName) &amp;gt; -1 &amp;amp;&amp;amp; !t.mediaElement.originalNode.getAttribute(&#039;preload&#039;)) {&lt;br /&gt;
		t.mediaElement.originalNode.setAttribute(&#039;preload&#039;, &#039;none&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.originalNode.setAttribute(&#039;tabindex&#039;, -1);&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.originalNode.parentNode.insertBefore(t.mediaElement, t.mediaElement.originalNode);&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.appendChild(t.mediaElement.originalNode);&lt;br /&gt;
&lt;br /&gt;
	var processURL = function processURL(url, type) {&lt;br /&gt;
		if (_window2.default.location.protocol === &#039;https:&#039; &amp;amp;&amp;amp; url.indexOf(&#039;http:&#039;) === 0 &amp;amp;&amp;amp; _constants.IS_IOS &amp;amp;&amp;amp; _mejs2.default.html5media.mediaTypes.indexOf(type) &amp;gt; -1) {&lt;br /&gt;
			var xhr = new XMLHttpRequest();&lt;br /&gt;
			xhr.onreadystatechange = function () {&lt;br /&gt;
				if (this.readyState === 4 &amp;amp;&amp;amp; this.status === 200) {&lt;br /&gt;
					var _url = _window2.default.URL || _window2.default.webkitURL,&lt;br /&gt;
					    blobUrl = _url.createObjectURL(this.response);&lt;br /&gt;
					t.mediaElement.originalNode.setAttribute(&#039;src&#039;, blobUrl);&lt;br /&gt;
					return blobUrl;&lt;br /&gt;
				}&lt;br /&gt;
				return url;&lt;br /&gt;
			};&lt;br /&gt;
			xhr.open(&#039;GET&#039;, url);&lt;br /&gt;
			xhr.responseType = &#039;blob&#039;;&lt;br /&gt;
			xhr.send();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return url;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var mediaFiles = void 0;&lt;br /&gt;
	if (sources !== null) {&lt;br /&gt;
		mediaFiles = sources;&lt;br /&gt;
	} else if (t.mediaElement.originalNode !== null) {&lt;br /&gt;
&lt;br /&gt;
		mediaFiles = [];&lt;br /&gt;
		switch (t.mediaElement.originalNode.nodeName.toLowerCase()) {&lt;br /&gt;
			case &#039;iframe&#039;:&lt;br /&gt;
				mediaFiles.push({&lt;br /&gt;
					type: &#039;&#039;,&lt;br /&gt;
					src: t.mediaElement.originalNode.getAttribute(&#039;src&#039;)&lt;br /&gt;
				});&lt;br /&gt;
				break;&lt;br /&gt;
			case &#039;audio&#039;:&lt;br /&gt;
			case &#039;video&#039;:&lt;br /&gt;
				var _sources = t.mediaElement.originalNode.children.length,&lt;br /&gt;
				    nodeSource = t.mediaElement.originalNode.getAttribute(&#039;src&#039;);&lt;br /&gt;
&lt;br /&gt;
				if (nodeSource) {&lt;br /&gt;
					var node = t.mediaElement.originalNode,&lt;br /&gt;
					    type = (0, _media2.formatType)(nodeSource, node.getAttribute(&#039;type&#039;));&lt;br /&gt;
					mediaFiles.push({&lt;br /&gt;
						type: type,&lt;br /&gt;
						src: processURL(nodeSource, type)&lt;br /&gt;
					});&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				for (var i = 0; i &amp;lt; _sources; i++) {&lt;br /&gt;
					var n = t.mediaElement.originalNode.children[i];&lt;br /&gt;
					if (n.tagName.toLowerCase() === &#039;source&#039;) {&lt;br /&gt;
						var src = n.getAttribute(&#039;src&#039;),&lt;br /&gt;
						    _type = (0, _media2.formatType)(src, n.getAttribute(&#039;type&#039;));&lt;br /&gt;
						mediaFiles.push({ type: _type, src: processURL(src, _type) });&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.id = id;&lt;br /&gt;
	t.mediaElement.renderers = {};&lt;br /&gt;
	t.mediaElement.events = {};&lt;br /&gt;
	t.mediaElement.promises = [];&lt;br /&gt;
	t.mediaElement.renderer = null;&lt;br /&gt;
	t.mediaElement.rendererName = null;&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.changeRenderer = function (rendererName, mediaFiles) {&lt;br /&gt;
		var t = _this,&lt;br /&gt;
		    media = Object.keys(mediaFiles[0]).length &amp;gt; 2 ? mediaFiles[0] : mediaFiles[0].src;&lt;br /&gt;
&lt;br /&gt;
		if (t.mediaElement.renderer !== undefined &amp;amp;&amp;amp; t.mediaElement.renderer !== null &amp;amp;&amp;amp; t.mediaElement.renderer.name === rendererName) {&lt;br /&gt;
			t.mediaElement.renderer.pause();&lt;br /&gt;
			if (t.mediaElement.renderer.stop) {&lt;br /&gt;
				t.mediaElement.renderer.stop();&lt;br /&gt;
			}&lt;br /&gt;
			t.mediaElement.renderer.show();&lt;br /&gt;
			t.mediaElement.renderer.setSrc(media);&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (t.mediaElement.renderer !== undefined &amp;amp;&amp;amp; t.mediaElement.renderer !== null) {&lt;br /&gt;
			t.mediaElement.renderer.pause();&lt;br /&gt;
			if (t.mediaElement.renderer.stop) {&lt;br /&gt;
				t.mediaElement.renderer.stop();&lt;br /&gt;
			}&lt;br /&gt;
			t.mediaElement.renderer.hide();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var newRenderer = t.mediaElement.renderers[rendererName],&lt;br /&gt;
		    newRendererType = null;&lt;br /&gt;
&lt;br /&gt;
		if (newRenderer !== undefined &amp;amp;&amp;amp; newRenderer !== null) {&lt;br /&gt;
			newRenderer.show();&lt;br /&gt;
			newRenderer.setSrc(media);&lt;br /&gt;
			t.mediaElement.renderer = newRenderer;&lt;br /&gt;
			t.mediaElement.rendererName = rendererName;&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var rendererArray = t.mediaElement.options.renderers.length ? t.mediaElement.options.renderers : _renderer.renderer.order;&lt;br /&gt;
&lt;br /&gt;
		for (var _i = 0, total = rendererArray.length; _i &amp;lt; total; _i++) {&lt;br /&gt;
			var index = rendererArray[_i];&lt;br /&gt;
&lt;br /&gt;
			if (index === rendererName) {&lt;br /&gt;
				var rendererList = _renderer.renderer.renderers;&lt;br /&gt;
				newRendererType = rendererList[index];&lt;br /&gt;
&lt;br /&gt;
				var renderOptions = Object.assign(newRendererType.options, t.mediaElement.options);&lt;br /&gt;
				newRenderer = newRendererType.create(t.mediaElement, renderOptions, mediaFiles);&lt;br /&gt;
				newRenderer.name = rendererName;&lt;br /&gt;
&lt;br /&gt;
				t.mediaElement.renderers[newRendererType.name] = newRenderer;&lt;br /&gt;
				t.mediaElement.renderer = newRenderer;&lt;br /&gt;
				t.mediaElement.rendererName = rendererName;&lt;br /&gt;
				newRenderer.show();&lt;br /&gt;
				return true;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return false;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.setSize = function (width, height) {&lt;br /&gt;
		if (t.mediaElement.renderer !== undefined &amp;amp;&amp;amp; t.mediaElement.renderer !== null) {&lt;br /&gt;
			t.mediaElement.renderer.setSize(width, height);&lt;br /&gt;
		}&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.generateError = function (message, urlList) {&lt;br /&gt;
		message = message || &#039;&#039;;&lt;br /&gt;
		urlList = Array.isArray(urlList) ? urlList : [];&lt;br /&gt;
		var event = (0, _general.createEvent)(&#039;error&#039;, t.mediaElement);&lt;br /&gt;
		event.message = message;&lt;br /&gt;
		event.urls = urlList;&lt;br /&gt;
		t.mediaElement.dispatchEvent(event);&lt;br /&gt;
		error = true;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var props = _mejs2.default.html5media.properties,&lt;br /&gt;
	    methods = _mejs2.default.html5media.methods,&lt;br /&gt;
	    addProperty = function addProperty(obj, name, onGet, onSet) {&lt;br /&gt;
		var oldValue = obj[name];&lt;br /&gt;
		var getFn = function getFn() {&lt;br /&gt;
			return onGet.apply(obj, [oldValue]);&lt;br /&gt;
		},&lt;br /&gt;
		    setFn = function setFn(newValue) {&lt;br /&gt;
			oldValue = onSet.apply(obj, [newValue]);&lt;br /&gt;
			return oldValue;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		Object.defineProperty(obj, name, {&lt;br /&gt;
			get: getFn,&lt;br /&gt;
			set: setFn&lt;br /&gt;
		});&lt;br /&gt;
	},&lt;br /&gt;
	    assignGettersSetters = function assignGettersSetters(propName) {&lt;br /&gt;
		if (propName !== &#039;src&#039;) {&lt;br /&gt;
			var capName = &#039;&#039; + propName.substring(0, 1).toUpperCase() + propName.substring(1),&lt;br /&gt;
			    getFn = function getFn() {&lt;br /&gt;
				return t.mediaElement.renderer !== undefined &amp;amp;&amp;amp; t.mediaElement.renderer !== null &amp;amp;&amp;amp; typeof t.mediaElement.renderer[&#039;get&#039; + capName] === &#039;function&#039; ? t.mediaElement.renderer[&#039;get&#039; + capName]() : null;&lt;br /&gt;
			},&lt;br /&gt;
			    setFn = function setFn(value) {&lt;br /&gt;
				if (t.mediaElement.renderer !== undefined &amp;amp;&amp;amp; t.mediaElement.renderer !== null &amp;amp;&amp;amp; typeof t.mediaElement.renderer[&#039;set&#039; + capName] === &#039;function&#039;) {&lt;br /&gt;
					t.mediaElement.renderer[&#039;set&#039; + capName](value);&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			addProperty(t.mediaElement, propName, getFn, setFn);&lt;br /&gt;
			t.mediaElement[&#039;get&#039; + capName] = getFn;&lt;br /&gt;
			t.mediaElement[&#039;set&#039; + capName] = setFn;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	    getSrc = function getSrc() {&lt;br /&gt;
		return t.mediaElement.renderer !== undefined &amp;amp;&amp;amp; t.mediaElement.renderer !== null ? t.mediaElement.renderer.getSrc() : null;&lt;br /&gt;
	},&lt;br /&gt;
	    setSrc = function setSrc(value) {&lt;br /&gt;
		var mediaFiles = [];&lt;br /&gt;
		if (typeof value === &#039;string&#039;) {&lt;br /&gt;
			mediaFiles.push({&lt;br /&gt;
				src: value,&lt;br /&gt;
				type: value ? (0, _media2.getTypeFromFile)(value) : &#039;&#039;&lt;br /&gt;
			});&lt;br /&gt;
		} else if ((typeof value === &#039;undefined&#039; ? &#039;undefined&#039; : _typeof(value)) === &#039;object&#039; &amp;amp;&amp;amp; value.src !== undefined) {&lt;br /&gt;
			var _src = (0, _media2.absolutizeUrl)(value.src),&lt;br /&gt;
			    _type2 = value.type,&lt;br /&gt;
			    media = Object.assign(value, {&lt;br /&gt;
				src: _src,&lt;br /&gt;
				type: (_type2 === &#039;&#039; || _type2 === null || _type2 === undefined) &amp;amp;&amp;amp; _src ? (0, _media2.getTypeFromFile)(_src) : _type2&lt;br /&gt;
			});&lt;br /&gt;
			mediaFiles.push(media);&lt;br /&gt;
		} else if (Array.isArray(value)) {&lt;br /&gt;
			for (var _i2 = 0, total = value.length; _i2 &amp;lt; total; _i2++) {&lt;br /&gt;
&lt;br /&gt;
				var _src2 = (0, _media2.absolutizeUrl)(value[_i2].src),&lt;br /&gt;
				    _type3 = value[_i2].type,&lt;br /&gt;
				    _media = Object.assign(value[_i2], {&lt;br /&gt;
					src: _src2,&lt;br /&gt;
					type: (_type3 === &#039;&#039; || _type3 === null || _type3 === undefined) &amp;amp;&amp;amp; _src2 ? (0, _media2.getTypeFromFile)(_src2) : _type3&lt;br /&gt;
				});&lt;br /&gt;
				mediaFiles.push(_media);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var renderInfo = _renderer.renderer.select(mediaFiles, t.mediaElement.options.renderers.length ? t.mediaElement.options.renderers : []),&lt;br /&gt;
		    event = void 0;&lt;br /&gt;
&lt;br /&gt;
		if (!t.mediaElement.paused &amp;amp;&amp;amp; !(t.mediaElement.src == null || t.mediaElement.src === &#039;&#039;)) {&lt;br /&gt;
			t.mediaElement.pause();&lt;br /&gt;
			event = (0, _general.createEvent)(&#039;pause&#039;, t.mediaElement);&lt;br /&gt;
			t.mediaElement.dispatchEvent(event);&lt;br /&gt;
		}&lt;br /&gt;
		t.mediaElement.originalNode.src = mediaFiles[0].src || &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
		if (renderInfo === null &amp;amp;&amp;amp; mediaFiles[0].src) {&lt;br /&gt;
			t.mediaElement.generateError(&#039;No renderer found&#039;, mediaFiles);&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var shouldChangeRenderer = !(mediaFiles[0].src == null || mediaFiles[0].src === &#039;&#039;);&lt;br /&gt;
		return shouldChangeRenderer ? t.mediaElement.changeRenderer(renderInfo.rendererName, mediaFiles) : null;&lt;br /&gt;
	},&lt;br /&gt;
	    triggerAction = function triggerAction(methodName, args) {&lt;br /&gt;
		try {&lt;br /&gt;
			if (methodName === &#039;play&#039; &amp;amp;&amp;amp; (t.mediaElement.rendererName === &#039;native_dash&#039; || t.mediaElement.rendererName === &#039;native_hls&#039; || t.mediaElement.rendererName === &#039;vimeo_iframe&#039;)) {&lt;br /&gt;
				var response = t.mediaElement.renderer[methodName](args);&lt;br /&gt;
				if (response &amp;amp;&amp;amp; typeof response.then === &#039;function&#039;) {&lt;br /&gt;
					response.catch(function () {&lt;br /&gt;
						if (t.mediaElement.paused) {&lt;br /&gt;
							setTimeout(function () {&lt;br /&gt;
								var tmpResponse = t.mediaElement.renderer.play();&lt;br /&gt;
								if (tmpResponse !== undefined) {&lt;br /&gt;
									tmpResponse.catch(function () {&lt;br /&gt;
										if (!t.mediaElement.renderer.paused) {&lt;br /&gt;
											t.mediaElement.renderer.pause();&lt;br /&gt;
										}&lt;br /&gt;
									});&lt;br /&gt;
								}&lt;br /&gt;
							}, 150);&lt;br /&gt;
						}&lt;br /&gt;
					});&lt;br /&gt;
				}&lt;br /&gt;
				return response;&lt;br /&gt;
			} else {&lt;br /&gt;
				return t.mediaElement.renderer[methodName](args);&lt;br /&gt;
			}&lt;br /&gt;
		} catch (e) {&lt;br /&gt;
			t.mediaElement.generateError(e, mediaFiles);&lt;br /&gt;
			throw e;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	    assignMethods = function assignMethods(methodName) {&lt;br /&gt;
		t.mediaElement[methodName] = function () {&lt;br /&gt;
			for (var _len = arguments.length, args = Array(_len), _key = 0; _key &amp;lt; _len; _key++) {&lt;br /&gt;
				args[_key] = arguments[_key];&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.mediaElement.renderer !== undefined &amp;amp;&amp;amp; t.mediaElement.renderer !== null &amp;amp;&amp;amp; typeof t.mediaElement.renderer[methodName] === &#039;function&#039;) {&lt;br /&gt;
				if (t.mediaElement.promises.length) {&lt;br /&gt;
					return Promise.all(t.mediaElement.promises).then(function () {&lt;br /&gt;
						return triggerAction(methodName, args);&lt;br /&gt;
					}).catch(function (e) {&lt;br /&gt;
						t.mediaElement.generateError(e, mediaFiles);&lt;br /&gt;
						return Promise.reject(e);&lt;br /&gt;
					});&lt;br /&gt;
				} else {&lt;br /&gt;
					return triggerAction(methodName, args);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			return null;&lt;br /&gt;
		};&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	addProperty(t.mediaElement, &#039;src&#039;, getSrc, setSrc);&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.getSrc = getSrc;&lt;br /&gt;
	t.mediaElement.setSrc = setSrc;&lt;br /&gt;
	for (var _i3 = 0, total = props.length; _i3 &amp;lt; total; _i3++) {&lt;br /&gt;
		assignGettersSetters(props[_i3]);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	for (var _i4 = 0, _total = methods.length; _i4 &amp;lt; _total; _i4++) {&lt;br /&gt;
		assignMethods(methods[_i4]);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.addEventListener = function (eventName, callback) {&lt;br /&gt;
		t.mediaElement.events[eventName] = t.mediaElement.events[eventName] || [];&lt;br /&gt;
&lt;br /&gt;
		t.mediaElement.events[eventName].push(callback);&lt;br /&gt;
	};&lt;br /&gt;
	t.mediaElement.removeEventListener = function (eventName, callback) {&lt;br /&gt;
		if (!eventName) {&lt;br /&gt;
			t.mediaElement.events = {};&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var callbacks = t.mediaElement.events[eventName];&lt;br /&gt;
&lt;br /&gt;
		if (!callbacks) {&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (!callback) {&lt;br /&gt;
			t.mediaElement.events[eventName] = [];&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		for (var _i5 = 0; _i5 &amp;lt; callbacks.length; _i5++) {&lt;br /&gt;
			if (callbacks[_i5] === callback) {&lt;br /&gt;
				t.mediaElement.events[eventName].splice(_i5, 1);&lt;br /&gt;
				return true;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return false;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.dispatchEvent = function (event) {&lt;br /&gt;
		var callbacks = t.mediaElement.events[event.type];&lt;br /&gt;
		if (callbacks) {&lt;br /&gt;
			for (var _i6 = 0; _i6 &amp;lt; callbacks.length; _i6++) {&lt;br /&gt;
				callbacks[_i6].apply(null, [event]);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	t.mediaElement.destroy = function () {&lt;br /&gt;
		var mediaElement = t.mediaElement.originalNode.cloneNode(true);&lt;br /&gt;
		var wrapper = t.mediaElement.parentElement;&lt;br /&gt;
		mediaElement.removeAttribute(&#039;id&#039;);&lt;br /&gt;
		mediaElement.remove();&lt;br /&gt;
		t.mediaElement.remove();&lt;br /&gt;
		wrapper.appendChild(mediaElement);&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	if (mediaFiles.length) {&lt;br /&gt;
		t.mediaElement.src = mediaFiles;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (t.mediaElement.promises.length) {&lt;br /&gt;
		Promise.all(t.mediaElement.promises).then(function () {&lt;br /&gt;
			if (t.mediaElement.options.success) {&lt;br /&gt;
				t.mediaElement.options.success(t.mediaElement, t.mediaElement.originalNode);&lt;br /&gt;
			}&lt;br /&gt;
		}).catch(function () {&lt;br /&gt;
			if (error &amp;amp;&amp;amp; t.mediaElement.options.error) {&lt;br /&gt;
				t.mediaElement.options.error(t.mediaElement, t.mediaElement.originalNode);&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
	} else {&lt;br /&gt;
		if (t.mediaElement.options.success) {&lt;br /&gt;
			t.mediaElement.options.success(t.mediaElement, t.mediaElement.originalNode);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (error &amp;amp;&amp;amp; t.mediaElement.options.error) {&lt;br /&gt;
			t.mediaElement.options.error(t.mediaElement, t.mediaElement.originalNode);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return t.mediaElement;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
_window2.default.MediaElement = MediaElement;&lt;br /&gt;
_mejs2.default.MediaElement = MediaElement;&lt;br /&gt;
&lt;br /&gt;
exports.default = MediaElement;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;2&amp;quot;:2,&amp;quot;26&amp;quot;:26,&amp;quot;28&amp;quot;:28,&amp;quot;3&amp;quot;:3,&amp;quot;30&amp;quot;:30,&amp;quot;8&amp;quot;:8,&amp;quot;9&amp;quot;:9}],8:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
var mejs = {};&lt;br /&gt;
&lt;br /&gt;
mejs.version = &#039;6.0.3&#039;;&lt;br /&gt;
&lt;br /&gt;
mejs.html5media = {&lt;br /&gt;
	properties: [&#039;volume&#039;, &#039;src&#039;, &#039;currentTime&#039;, &#039;muted&#039;, &#039;duration&#039;, &#039;paused&#039;, &#039;ended&#039;, &#039;buffered&#039;, &#039;error&#039;, &#039;networkState&#039;, &#039;readyState&#039;, &#039;seeking&#039;, &#039;seekable&#039;, &#039;currentSrc&#039;, &#039;preload&#039;, &#039;bufferedBytes&#039;, &#039;bufferedTime&#039;, &#039;initialTime&#039;, &#039;startOffsetTime&#039;, &#039;defaultPlaybackRate&#039;, &#039;playbackRate&#039;, &#039;played&#039;, &#039;autoplay&#039;, &#039;loop&#039;, &#039;controls&#039;],&lt;br /&gt;
	readOnlyProperties: [&#039;duration&#039;, &#039;paused&#039;, &#039;ended&#039;, &#039;buffered&#039;, &#039;error&#039;, &#039;networkState&#039;, &#039;readyState&#039;, &#039;seeking&#039;, &#039;seekable&#039;],&lt;br /&gt;
&lt;br /&gt;
	methods: [&#039;load&#039;, &#039;play&#039;, &#039;pause&#039;, &#039;canPlayType&#039;],&lt;br /&gt;
&lt;br /&gt;
	events: [&#039;loadstart&#039;, &#039;durationchange&#039;, &#039;loadedmetadata&#039;, &#039;loadeddata&#039;, &#039;progress&#039;, &#039;canplay&#039;, &#039;canplaythrough&#039;, &#039;suspend&#039;, &#039;abort&#039;, &#039;error&#039;, &#039;emptied&#039;, &#039;stalled&#039;, &#039;play&#039;, &#039;playing&#039;, &#039;pause&#039;, &#039;waiting&#039;, &#039;seeking&#039;, &#039;seeked&#039;, &#039;timeupdate&#039;, &#039;ended&#039;, &#039;ratechange&#039;, &#039;volumechange&#039;],&lt;br /&gt;
&lt;br /&gt;
	mediaTypes: [&#039;audio/mp3&#039;, &#039;audio/ogg&#039;, &#039;audio/oga&#039;, &#039;audio/wav&#039;, &#039;audio/x-wav&#039;, &#039;audio/wave&#039;, &#039;audio/x-pn-wav&#039;, &#039;audio/mpeg&#039;, &#039;audio/mp4&#039;, &#039;video/mp4&#039;, &#039;video/webm&#039;, &#039;video/ogg&#039;, &#039;video/ogv&#039;]&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
_window2.default.mejs = mejs;&lt;br /&gt;
&lt;br /&gt;
exports.default = mejs;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;3&amp;quot;:3}],9:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
exports.renderer = undefined;&lt;br /&gt;
&lt;br /&gt;
var _typeof = typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; typeof Symbol.iterator === &amp;quot;symbol&amp;quot; ? function (obj) { return typeof obj; } : function (obj) { return obj &amp;amp;&amp;amp; typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; obj.constructor === Symbol &amp;amp;&amp;amp; obj !== Symbol.prototype ? &amp;quot;symbol&amp;quot; : typeof obj; };&lt;br /&gt;
&lt;br /&gt;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i &amp;lt; props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (&amp;quot;value&amp;quot; in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(&amp;quot;Cannot call a class as a function&amp;quot;); } }&lt;br /&gt;
&lt;br /&gt;
var Renderer = function () {&lt;br /&gt;
	function Renderer() {&lt;br /&gt;
		_classCallCheck(this, Renderer);&lt;br /&gt;
&lt;br /&gt;
		this.renderers = {};&lt;br /&gt;
		this.order = [];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	_createClass(Renderer, [{&lt;br /&gt;
		key: &#039;add&#039;,&lt;br /&gt;
		value: function add(renderer) {&lt;br /&gt;
			if (renderer.name === undefined) {&lt;br /&gt;
				throw new TypeError(&#039;renderer must contain at least `name` property&#039;);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			this.renderers[renderer.name] = renderer;&lt;br /&gt;
			this.order.push(renderer.name);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;select&#039;,&lt;br /&gt;
		value: function select(mediaFiles) {&lt;br /&gt;
			var renderers = arguments.length &amp;gt; 1 &amp;amp;&amp;amp; arguments[1] !== undefined ? arguments[1] : [];&lt;br /&gt;
&lt;br /&gt;
			var renderersLength = renderers.length;&lt;br /&gt;
&lt;br /&gt;
			renderers = renderers.length ? renderers : this.order;&lt;br /&gt;
&lt;br /&gt;
			if (!renderersLength) {&lt;br /&gt;
				var rendererIndicator = [/^(html5|native)/i, /^flash/i, /iframe$/i],&lt;br /&gt;
				    rendererRanking = function rendererRanking(renderer) {&lt;br /&gt;
					for (var i = 0, total = rendererIndicator.length; i &amp;lt; total; i++) {&lt;br /&gt;
						if (rendererIndicator[i].test(renderer)) {&lt;br /&gt;
							return i;&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					return rendererIndicator.length;&lt;br /&gt;
				};&lt;br /&gt;
&lt;br /&gt;
				renderers.sort(function (a, b) {&lt;br /&gt;
					return rendererRanking(a) - rendererRanking(b);&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			for (var i = 0, total = renderers.length; i &amp;lt; total; i++) {&lt;br /&gt;
				var key = renderers[i],&lt;br /&gt;
				    _renderer = this.renderers[key];&lt;br /&gt;
&lt;br /&gt;
				if (_renderer !== null &amp;amp;&amp;amp; _renderer !== undefined) {&lt;br /&gt;
					for (var j = 0, jl = mediaFiles.length; j &amp;lt; jl; j++) {&lt;br /&gt;
&lt;br /&gt;
						if (typeof _renderer.canPlayType === &#039;function&#039; &amp;amp;&amp;amp; typeof mediaFiles[j].type === &#039;string&#039; &amp;amp;&amp;amp; _renderer.canPlayType(mediaFiles[j].type)) {&lt;br /&gt;
							return {&lt;br /&gt;
								rendererName: _renderer.name,&lt;br /&gt;
								src: mediaFiles[j].src&lt;br /&gt;
							};&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			return null;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;order&#039;,&lt;br /&gt;
		set: function set(order) {&lt;br /&gt;
			if (!Array.isArray(order)) {&lt;br /&gt;
				throw new TypeError(&#039;order must be an array of strings.&#039;);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			this._order = order;&lt;br /&gt;
		},&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this._order;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;renderers&#039;,&lt;br /&gt;
		set: function set(renderers) {&lt;br /&gt;
			if (renderers !== null &amp;amp;&amp;amp; (typeof renderers === &#039;undefined&#039; ? &#039;undefined&#039; : _typeof(renderers)) !== &#039;object&#039;) {&lt;br /&gt;
				throw new TypeError(&#039;renderers must be an array of objects.&#039;);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			this._renderers = renderers;&lt;br /&gt;
		},&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this._renderers;&lt;br /&gt;
		}&lt;br /&gt;
	}]);&lt;br /&gt;
&lt;br /&gt;
	return Renderer;&lt;br /&gt;
}();&lt;br /&gt;
&lt;br /&gt;
var renderer = exports.renderer = new Renderer();&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.Renderers = renderer;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;8&amp;quot;:8}],10:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _i18n = _dereq_(6);&lt;br /&gt;
&lt;br /&gt;
var _i18n2 = _interopRequireDefault(_i18n);&lt;br /&gt;
&lt;br /&gt;
var _player = _dereq_(17);&lt;br /&gt;
&lt;br /&gt;
var _player2 = _interopRequireDefault(_player);&lt;br /&gt;
&lt;br /&gt;
var _constants = _dereq_(26);&lt;br /&gt;
&lt;br /&gt;
var Features = _interopRequireWildcard(_constants);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
var _media = _dereq_(30);&lt;br /&gt;
&lt;br /&gt;
var _generate = _dereq_(29);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireWildcard(obj) { if (obj &amp;amp;&amp;amp; obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player.config, {&lt;br /&gt;
	usePluginFullScreen: true,&lt;br /&gt;
&lt;br /&gt;
	fullscreenText: null,&lt;br /&gt;
&lt;br /&gt;
	useFakeFullscreen: false&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player2.default.prototype, {&lt;br /&gt;
	isFullScreen: false,&lt;br /&gt;
&lt;br /&gt;
	isNativeFullScreen: false,&lt;br /&gt;
&lt;br /&gt;
	isInIframe: false,&lt;br /&gt;
&lt;br /&gt;
	isPluginClickThroughCreated: false,&lt;br /&gt;
&lt;br /&gt;
	fullscreenMode: &#039;&#039;,&lt;br /&gt;
&lt;br /&gt;
	containerSizeTimeout: null,&lt;br /&gt;
&lt;br /&gt;
	buildfullscreen: function buildfullscreen(player) {&lt;br /&gt;
		if (!player.isVideo) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		player.isInIframe = _window2.default.location !== _window2.default.parent.location;&lt;br /&gt;
&lt;br /&gt;
		player.detectFullscreenMode();&lt;br /&gt;
&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    fullscreenTitle = (0, _general.isString)(t.options.fullscreenText) ? t.options.fullscreenText : _i18n2.default.t(&#039;mejs.fullscreen&#039;),&lt;br /&gt;
		    fullscreenBtn = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
		fullscreenBtn.className = t.options.classPrefix + &#039;button &#039; + t.options.classPrefix + &#039;fullscreen-button&#039;;&lt;br /&gt;
		fullscreenBtn.innerHTML = (0, _generate.generateControlButton)(t.id, fullscreenTitle, fullscreenTitle, &#039;&#039; + t.media.options.iconSprite, [&#039;icon-fullscreen&#039;, &#039;icon-unfullscreen&#039;], &#039;&#039; + t.options.classPrefix);&lt;br /&gt;
		t.addControlElement(fullscreenBtn, &#039;fullscreen&#039;);&lt;br /&gt;
&lt;br /&gt;
		fullscreenBtn.addEventListener(&#039;click&#039;, function () {&lt;br /&gt;
			var isFullScreen = Features.HAS_TRUE_NATIVE_FULLSCREEN &amp;amp;&amp;amp; Features.IS_FULLSCREEN || player.isFullScreen;&lt;br /&gt;
&lt;br /&gt;
			if (isFullScreen) {&lt;br /&gt;
				player.exitFullScreen();&lt;br /&gt;
			} else {&lt;br /&gt;
				player.enterFullScreen();&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		player.fullscreenBtn = fullscreenBtn;&lt;br /&gt;
&lt;br /&gt;
		t.options.keyActions.push({&lt;br /&gt;
			keys: [70],&lt;br /&gt;
			action: function action(player, media, key, event) {&lt;br /&gt;
				if (!event.ctrlKey) {&lt;br /&gt;
					if (typeof player.enterFullScreen !== &#039;undefined&#039;) {&lt;br /&gt;
						if (player.isFullScreen) {&lt;br /&gt;
							player.exitFullScreen();&lt;br /&gt;
						} else {&lt;br /&gt;
							player.enterFullScreen();&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		t.exitFullscreenCallback = function (e) {&lt;br /&gt;
			var key = e.which || e.keyCode || 0;&lt;br /&gt;
			if (t.options.enableKeyboard &amp;amp;&amp;amp; key === 27 &amp;amp;&amp;amp; (Features.HAS_TRUE_NATIVE_FULLSCREEN &amp;amp;&amp;amp; Features.IS_FULLSCREEN || t.isFullScreen)) {&lt;br /&gt;
				player.exitFullScreen();&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		t.globalBind(&#039;keydown&#039;, t.exitFullscreenCallback);&lt;br /&gt;
&lt;br /&gt;
		t.normalHeight = 0;&lt;br /&gt;
		t.normalWidth = 0;&lt;br /&gt;
&lt;br /&gt;
		if (Features.HAS_TRUE_NATIVE_FULLSCREEN) {&lt;br /&gt;
			var fullscreenChanged = function fullscreenChanged() {&lt;br /&gt;
				if (player.isFullScreen) {&lt;br /&gt;
					if (Features.isFullScreen()) {&lt;br /&gt;
						player.isNativeFullScreen = true;&lt;br /&gt;
&lt;br /&gt;
						player.setControlsSize();&lt;br /&gt;
					} else {&lt;br /&gt;
						player.isNativeFullScreen = false;&lt;br /&gt;
&lt;br /&gt;
						player.exitFullScreen();&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			player.globalBind(Features.FULLSCREEN_EVENT_NAME, fullscreenChanged);&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	cleanfullscreen: function cleanfullscreen(player) {&lt;br /&gt;
		player.exitFullScreen();&lt;br /&gt;
		player.globalUnbind(&#039;keydown&#039;, player.exitFullscreenCallback);&lt;br /&gt;
	},&lt;br /&gt;
	detectFullscreenMode: function detectFullscreenMode() {&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    isNative = t.media.rendererName !== null &amp;amp;&amp;amp; /(native|html5)/i.test(t.media.rendererName);&lt;br /&gt;
&lt;br /&gt;
		var mode = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
		if (Features.HAS_TRUE_NATIVE_FULLSCREEN &amp;amp;&amp;amp; isNative) {&lt;br /&gt;
			mode = &#039;native-native&#039;;&lt;br /&gt;
		} else if (Features.HAS_TRUE_NATIVE_FULLSCREEN &amp;amp;&amp;amp; !isNative) {&lt;br /&gt;
			mode = &#039;plugin-native&#039;;&lt;br /&gt;
		} else if (t.usePluginFullScreen &amp;amp;&amp;amp; Features.SUPPORT_POINTER_EVENTS) {&lt;br /&gt;
			mode = &#039;plugin-click&#039;;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		t.fullscreenMode = mode;&lt;br /&gt;
		return mode;&lt;br /&gt;
	},&lt;br /&gt;
	enterFullScreen: function enterFullScreen() {&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    isNative = t.media.rendererName !== null &amp;amp;&amp;amp; /(html5|native)/i.test(t.media.rendererName),&lt;br /&gt;
		    containerStyles = getComputedStyle(t.getElement(t.container));&lt;br /&gt;
&lt;br /&gt;
		if (!t.isVideo) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (t.options.useFakeFullscreen === false &amp;amp;&amp;amp; (Features.IS_IOS || Features.IS_SAFARI) &amp;amp;&amp;amp; Features.HAS_IOS_FULLSCREEN &amp;amp;&amp;amp; typeof t.media.originalNode.webkitEnterFullscreen === &#039;function&#039; &amp;amp;&amp;amp; t.media.originalNode.canPlayType((0, _media.getTypeFromFile)(t.media.getSrc()))) {&lt;br /&gt;
			t.media.originalNode.webkitEnterFullscreen();&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		(0, _dom.addClass)(_document2.default.documentElement, t.options.classPrefix + &#039;fullscreen&#039;);&lt;br /&gt;
		(0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + &#039;container-fullscreen&#039;);&lt;br /&gt;
&lt;br /&gt;
		t.normalHeight = parseFloat(containerStyles.height);&lt;br /&gt;
		t.normalWidth = parseFloat(containerStyles.width);&lt;br /&gt;
&lt;br /&gt;
		if (t.fullscreenMode === &#039;native-native&#039; || t.fullscreenMode === &#039;plugin-native&#039;) {&lt;br /&gt;
			Features.requestFullScreen(t.getElement(t.container));&lt;br /&gt;
&lt;br /&gt;
			if (t.isInIframe) {&lt;br /&gt;
				setTimeout(function checkFullscreen() {&lt;br /&gt;
&lt;br /&gt;
					if (t.isNativeFullScreen) {&lt;br /&gt;
						var percentErrorMargin = 0.002,&lt;br /&gt;
						    windowWidth = _window2.default.innerWidth || _document2.default.documentElement.clientWidth || _document2.default.body.clientWidth,&lt;br /&gt;
						    screenWidth = screen.width,&lt;br /&gt;
						    absDiff = Math.abs(screenWidth - windowWidth),&lt;br /&gt;
						    marginError = screenWidth * percentErrorMargin;&lt;br /&gt;
&lt;br /&gt;
						if (absDiff &amp;gt; marginError) {&lt;br /&gt;
							t.exitFullScreen();&lt;br /&gt;
						} else {&lt;br /&gt;
							setTimeout(checkFullscreen, 500);&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
				}, 1000);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		t.getElement(t.container).style.width = &#039;100%&#039;;&lt;br /&gt;
		t.getElement(t.container).style.height = &#039;100%&#039;;&lt;br /&gt;
&lt;br /&gt;
		t.containerSizeTimeout = setTimeout(function () {&lt;br /&gt;
			t.getElement(t.container).style.width = &#039;100%&#039;;&lt;br /&gt;
			t.getElement(t.container).style.height = &#039;100%&#039;;&lt;br /&gt;
			t.setControlsSize();&lt;br /&gt;
		}, 500);&lt;br /&gt;
&lt;br /&gt;
		if (isNative) {&lt;br /&gt;
			t.node.style.width = &#039;100%&#039;;&lt;br /&gt;
			t.node.style.height = &#039;100%&#039;;&lt;br /&gt;
		} else {&lt;br /&gt;
			var elements = t.getElement(t.container).querySelectorAll(&#039;embed, object, video&#039;),&lt;br /&gt;
			    _total = elements.length;&lt;br /&gt;
			for (var i = 0; i &amp;lt; _total; i++) {&lt;br /&gt;
				elements[i].style.width = &#039;100%&#039;;&lt;br /&gt;
				elements[i].style.height = &#039;100%&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (t.options.setDimensions &amp;amp;&amp;amp; typeof t.media.setSize === &#039;function&#039;) {&lt;br /&gt;
			t.media.setSize(screen.width, screen.height);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var layers = t.getElement(t.layers).children,&lt;br /&gt;
		    total = layers.length;&lt;br /&gt;
		for (var _i = 0; _i &amp;lt; total; _i++) {&lt;br /&gt;
			layers[_i].style.width = &#039;100%&#039;;&lt;br /&gt;
			layers[_i].style.height = &#039;100%&#039;;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (t.fullscreenBtn) {&lt;br /&gt;
			(0, _dom.removeClass)(t.fullscreenBtn, t.options.classPrefix + &#039;fullscreen&#039;);&lt;br /&gt;
			(0, _dom.addClass)(t.fullscreenBtn, t.options.classPrefix + &#039;unfullscreen&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		t.setControlsSize();&lt;br /&gt;
		t.isFullScreen = true;&lt;br /&gt;
&lt;br /&gt;
		var zoomFactor = Math.min(screen.width / t.width, screen.height / t.height),&lt;br /&gt;
		    captionText = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;captions-text&#039;);&lt;br /&gt;
		if (captionText) {&lt;br /&gt;
			captionText.style.fontSize = zoomFactor * 100 + &#039;%&#039;;&lt;br /&gt;
			captionText.style.lineHeight = &#039;normal&#039;;&lt;br /&gt;
			t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;captions-position&#039;).style.bottom = (screen.height - t.normalHeight) / 2 - t.getElement(t.controls).offsetHeight / 2 + zoomFactor + 15 + &#039;px&#039;;&lt;br /&gt;
		}&lt;br /&gt;
		var event = (0, _general.createEvent)(&#039;enteredfullscreen&#039;, t.getElement(t.container));&lt;br /&gt;
		t.getElement(t.container).dispatchEvent(event);&lt;br /&gt;
	},&lt;br /&gt;
	exitFullScreen: function exitFullScreen() {&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    isNative = t.media.rendererName !== null &amp;amp;&amp;amp; /(native|html5)/i.test(t.media.rendererName);&lt;br /&gt;
&lt;br /&gt;
		if (!t.isVideo) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		clearTimeout(t.containerSizeTimeout);&lt;br /&gt;
&lt;br /&gt;
		if (Features.HAS_TRUE_NATIVE_FULLSCREEN &amp;amp;&amp;amp; (Features.IS_FULLSCREEN || t.isFullScreen)) {&lt;br /&gt;
			Features.cancelFullScreen();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		(0, _dom.removeClass)(_document2.default.documentElement, t.options.classPrefix + &#039;fullscreen&#039;);&lt;br /&gt;
		(0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + &#039;container-fullscreen&#039;);&lt;br /&gt;
&lt;br /&gt;
		if (t.options.setDimensions) {&lt;br /&gt;
			t.getElement(t.container).style.width = t.normalWidth + &#039;px&#039;;&lt;br /&gt;
			t.getElement(t.container).style.height = t.normalHeight + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
			if (isNative) {&lt;br /&gt;
				t.node.style.width = t.normalWidth + &#039;px&#039;;&lt;br /&gt;
				t.node.style.height = t.normalHeight + &#039;px&#039;;&lt;br /&gt;
			} else {&lt;br /&gt;
				var elements = t.getElement(t.container).querySelectorAll(&#039;embed, object, video&#039;),&lt;br /&gt;
				    _total2 = elements.length;&lt;br /&gt;
				for (var i = 0; i &amp;lt; _total2; i++) {&lt;br /&gt;
					elements[i].style.width = t.normalWidth + &#039;px&#039;;&lt;br /&gt;
					elements[i].style.height = t.normalHeight + &#039;px&#039;;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (typeof t.media.setSize === &#039;function&#039;) {&lt;br /&gt;
				t.media.setSize(t.normalWidth, t.normalHeight);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var layers = t.getElement(t.layers).children,&lt;br /&gt;
			    total = layers.length;&lt;br /&gt;
			for (var _i2 = 0; _i2 &amp;lt; total; _i2++) {&lt;br /&gt;
				layers[_i2].style.width = t.normalWidth + &#039;px&#039;;&lt;br /&gt;
				layers[_i2].style.height = t.normalHeight + &#039;px&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (t.fullscreenBtn) {&lt;br /&gt;
			(0, _dom.removeClass)(t.fullscreenBtn, t.options.classPrefix + &#039;unfullscreen&#039;);&lt;br /&gt;
			(0, _dom.addClass)(t.fullscreenBtn, t.options.classPrefix + &#039;fullscreen&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		t.setControlsSize();&lt;br /&gt;
		t.isFullScreen = false;&lt;br /&gt;
&lt;br /&gt;
		var captionText = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;captions-text&#039;);&lt;br /&gt;
		if (captionText) {&lt;br /&gt;
			captionText.style.fontSize = &#039;&#039;;&lt;br /&gt;
			captionText.style.lineHeight = &#039;&#039;;&lt;br /&gt;
			t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;captions-position&#039;).style.bottom = &#039;&#039;;&lt;br /&gt;
		}&lt;br /&gt;
		var event = (0, _general.createEvent)(&#039;exitedfullscreen&#039;, t.getElement(t.container));&lt;br /&gt;
		t.getElement(t.container).dispatchEvent(event);&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;17&amp;quot;:17,&amp;quot;2&amp;quot;:2,&amp;quot;26&amp;quot;:26,&amp;quot;27&amp;quot;:27,&amp;quot;28&amp;quot;:28,&amp;quot;29&amp;quot;:29,&amp;quot;3&amp;quot;:3,&amp;quot;30&amp;quot;:30,&amp;quot;6&amp;quot;:6}],11:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _player = _dereq_(17);&lt;br /&gt;
&lt;br /&gt;
var _player2 = _interopRequireDefault(_player);&lt;br /&gt;
&lt;br /&gt;
var _i18n = _dereq_(6);&lt;br /&gt;
&lt;br /&gt;
var _i18n2 = _interopRequireDefault(_i18n);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
var _generate = _dereq_(29);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player.config, {&lt;br /&gt;
	playText: null,&lt;br /&gt;
&lt;br /&gt;
	pauseText: null&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player2.default.prototype, {&lt;br /&gt;
	buildplaypause: function buildplaypause(player, controls, layers, media) {&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    op = t.options,&lt;br /&gt;
		    playTitle = (0, _general.isString)(op.playText) ? op.playText : _i18n2.default.t(&#039;mejs.play&#039;),&lt;br /&gt;
		    pauseTitle = (0, _general.isString)(op.pauseText) ? op.pauseText : _i18n2.default.t(&#039;mejs.pause&#039;),&lt;br /&gt;
		    play = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
&lt;br /&gt;
		play.className = t.options.classPrefix + &#039;button &#039; + t.options.classPrefix + &#039;playpause-button &#039; + t.options.classPrefix + &#039;play&#039;;&lt;br /&gt;
		play.innerHTML = (0, _generate.generateControlButton)(t.id, pauseTitle, playTitle, &#039;&#039; + t.media.options.iconSprite, [&#039;icon-play&#039;, &#039;icon-pause&#039;, &#039;icon-replay&#039;], &#039;&#039; + t.options.classPrefix);&lt;br /&gt;
		play.addEventListener(&#039;click&#039;, function () {&lt;br /&gt;
			if (t.paused) {&lt;br /&gt;
				t.play();&lt;br /&gt;
			} else {&lt;br /&gt;
				t.pause();&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		var playBtn = play.querySelector(&#039;button&#039;);&lt;br /&gt;
		t.addControlElement(play, &#039;playpause&#039;);&lt;br /&gt;
&lt;br /&gt;
		function togglePlayPause(which) {&lt;br /&gt;
			(0, _dom.removeClass)(play, t.options.classPrefix + &#039;play&#039;);&lt;br /&gt;
			(0, _dom.removeClass)(play, t.options.classPrefix + &#039;replay&#039;);&lt;br /&gt;
			(0, _dom.removeClass)(play, t.options.classPrefix + &#039;pause&#039;);&lt;br /&gt;
&lt;br /&gt;
			if (&#039;play&#039; === which) {&lt;br /&gt;
				(0, _dom.addClass)(play, t.options.classPrefix + &#039;pause&#039;);&lt;br /&gt;
				playBtn.setAttribute(&#039;title&#039;, pauseTitle);&lt;br /&gt;
				playBtn.setAttribute(&#039;aria-label&#039;, pauseTitle);&lt;br /&gt;
			} else if (&#039;pse&#039; === which) {&lt;br /&gt;
				(0, _dom.addClass)(play, t.options.classPrefix + &#039;play&#039;);&lt;br /&gt;
				playBtn.setAttribute(&#039;title&#039;, playTitle);&lt;br /&gt;
				playBtn.setAttribute(&#039;aria-label&#039;, playTitle);&lt;br /&gt;
			} else {&lt;br /&gt;
				(0, _dom.addClass)(play, t.options.classPrefix + &#039;replay&#039;);&lt;br /&gt;
				playBtn.setAttribute(&#039;title&#039;, playTitle);&lt;br /&gt;
				playBtn.setAttribute(&#039;aria-label&#039;, playTitle);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		togglePlayPause(&#039;pse&#039;);&lt;br /&gt;
&lt;br /&gt;
		media.addEventListener(&#039;loadedmetadata&#039;, function () {&lt;br /&gt;
			if (media.rendererName.indexOf(&#039;flash&#039;) === -1) {&lt;br /&gt;
				togglePlayPause(&#039;pse&#039;);&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;play&#039;, function () {&lt;br /&gt;
			togglePlayPause(&#039;play&#039;);&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;playing&#039;, function () {&lt;br /&gt;
			togglePlayPause(&#039;play&#039;);&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;pause&#039;, function () {&lt;br /&gt;
			togglePlayPause(&#039;pse&#039;);&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;ended&#039;, function () {&lt;br /&gt;
			if (!player.options.loop) {&lt;br /&gt;
				setTimeout(function () {&lt;br /&gt;
					togglePlayPause(&#039;replay&#039;);&lt;br /&gt;
				}, 0);&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;17&amp;quot;:17,&amp;quot;2&amp;quot;:2,&amp;quot;27&amp;quot;:27,&amp;quot;28&amp;quot;:28,&amp;quot;29&amp;quot;:29,&amp;quot;6&amp;quot;:6}],12:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _player = _dereq_(17);&lt;br /&gt;
&lt;br /&gt;
var _player2 = _interopRequireDefault(_player);&lt;br /&gt;
&lt;br /&gt;
var _i18n = _dereq_(6);&lt;br /&gt;
&lt;br /&gt;
var _i18n2 = _interopRequireDefault(_i18n);&lt;br /&gt;
&lt;br /&gt;
var _constants = _dereq_(26);&lt;br /&gt;
&lt;br /&gt;
var _time = _dereq_(32);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player.config, {&lt;br /&gt;
	enableProgressTooltip: true,&lt;br /&gt;
&lt;br /&gt;
	useSmoothHover: true,&lt;br /&gt;
&lt;br /&gt;
	forceLive: false&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player2.default.prototype, {&lt;br /&gt;
	buildprogress: function buildprogress(player, controls, layers, media) {&lt;br /&gt;
&lt;br /&gt;
		var lastKeyPressTime = 0,&lt;br /&gt;
		    mouseIsDown = false,&lt;br /&gt;
		    startedPaused = false;&lt;br /&gt;
&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    autoRewindInitial = player.options.autoRewind,&lt;br /&gt;
		    tooltip = player.options.enableProgressTooltip ? &#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;time-float&amp;quot;&amp;gt;&#039; + (&#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;time-float-current&amp;quot;&amp;gt;00:00&amp;lt;/span&amp;gt;&#039;) + (&#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;time-float-corner&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&#039;) + &#039;&amp;lt;/span&amp;gt;&#039; : &#039;&#039;,&lt;br /&gt;
		    rail = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
&lt;br /&gt;
		rail.className = t.options.classPrefix + &#039;time-rail&#039;;&lt;br /&gt;
		rail.innerHTML = &#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;time-total &#039; + t.options.classPrefix + &#039;time-slider&amp;quot;&amp;gt;&#039; + (&#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;time-buffering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&#039;) + (&#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;time-loaded&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&#039;) + (&#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;time-current&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&#039;) + (&#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;time-hovered no-hover&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&#039;) + (&#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;time-handle&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;time-handle-content&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&#039;) + (&#039;&#039; + tooltip) + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
		t.addControlElement(rail, &#039;progress&#039;);&lt;br /&gt;
&lt;br /&gt;
		t.options.keyActions.push({&lt;br /&gt;
			keys: [37, 227],&lt;br /&gt;
			action: function action(player) {&lt;br /&gt;
				if (!isNaN(player.duration) &amp;amp;&amp;amp; player.duration &amp;gt; 0) {&lt;br /&gt;
					if (player.isVideo) {&lt;br /&gt;
						player.showControls();&lt;br /&gt;
						player.startControlsTimer();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					var timeSlider = player.getElement(player.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-total&#039;);&lt;br /&gt;
					if (timeSlider) {&lt;br /&gt;
						timeSlider.focus();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					var newTime = Math.max(player.currentTime - player.options.defaultSeekBackwardInterval(player), 0);&lt;br /&gt;
&lt;br /&gt;
					if (!player.paused) {&lt;br /&gt;
						player.pause();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					setTimeout(function () {&lt;br /&gt;
						player.setCurrentTime(newTime, true);&lt;br /&gt;
					}, 0);&lt;br /&gt;
&lt;br /&gt;
					setTimeout(function () {&lt;br /&gt;
						player.play();&lt;br /&gt;
					}, 0);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}, {&lt;br /&gt;
			keys: [39, 228],&lt;br /&gt;
			action: function action(player) {&lt;br /&gt;
&lt;br /&gt;
				if (!isNaN(player.duration) &amp;amp;&amp;amp; player.duration &amp;gt; 0) {&lt;br /&gt;
					if (player.isVideo) {&lt;br /&gt;
						player.showControls();&lt;br /&gt;
						player.startControlsTimer();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					var timeSlider = player.getElement(player.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-total&#039;);&lt;br /&gt;
					if (timeSlider) {&lt;br /&gt;
						timeSlider.focus();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					var newTime = Math.min(player.currentTime + player.options.defaultSeekForwardInterval(player), player.duration);&lt;br /&gt;
&lt;br /&gt;
					if (!player.paused) {&lt;br /&gt;
						player.pause();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					setTimeout(function () {&lt;br /&gt;
						player.setCurrentTime(newTime, true);&lt;br /&gt;
					}, 0);&lt;br /&gt;
&lt;br /&gt;
					setTimeout(function () {&lt;br /&gt;
						player.play();&lt;br /&gt;
					}, 0);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		t.rail = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-rail&#039;);&lt;br /&gt;
		t.total = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-total&#039;);&lt;br /&gt;
		t.loaded = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-loaded&#039;);&lt;br /&gt;
		t.current = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-current&#039;);&lt;br /&gt;
		t.handle = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-handle&#039;);&lt;br /&gt;
		t.timefloat = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-float&#039;);&lt;br /&gt;
		t.timefloatcurrent = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-float-current&#039;);&lt;br /&gt;
		t.slider = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-slider&#039;);&lt;br /&gt;
		t.hovered = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-hovered&#039;);&lt;br /&gt;
		t.buffer = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time-buffering&#039;);&lt;br /&gt;
		t.newTime = 0;&lt;br /&gt;
		t.forcedHandlePause = false;&lt;br /&gt;
		t.setTransformStyle = function (element, value) {&lt;br /&gt;
			element.style.transform = value;&lt;br /&gt;
			element.style.webkitTransform = value;&lt;br /&gt;
			element.style.MozTransform = value;&lt;br /&gt;
			element.style.msTransform = value;&lt;br /&gt;
			element.style.OTransform = value;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		t.buffer.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
		var handleMouseMove = function handleMouseMove(e) {&lt;br /&gt;
			var totalStyles = getComputedStyle(t.total),&lt;br /&gt;
			    offsetStyles = (0, _dom.offset)(t.total),&lt;br /&gt;
			    width = t.total.offsetWidth,&lt;br /&gt;
			    transform = function () {&lt;br /&gt;
				if (totalStyles.webkitTransform !== undefined) {&lt;br /&gt;
					return &#039;webkitTransform&#039;;&lt;br /&gt;
				} else if (totalStyles.mozTransform !== undefined) {&lt;br /&gt;
					return &#039;mozTransform &#039;;&lt;br /&gt;
				} else if (totalStyles.oTransform !== undefined) {&lt;br /&gt;
					return &#039;oTransform&#039;;&lt;br /&gt;
				} else if (totalStyles.msTransform !== undefined) {&lt;br /&gt;
					return &#039;msTransform&#039;;&lt;br /&gt;
				} else {&lt;br /&gt;
					return &#039;transform&#039;;&lt;br /&gt;
				}&lt;br /&gt;
			}(),&lt;br /&gt;
			    cssMatrix = function () {&lt;br /&gt;
				if (&#039;WebKitCSSMatrix&#039; in window) {&lt;br /&gt;
					return &#039;WebKitCSSMatrix&#039;;&lt;br /&gt;
				} else if (&#039;MSCSSMatrix&#039; in window) {&lt;br /&gt;
					return &#039;MSCSSMatrix&#039;;&lt;br /&gt;
				} else if (&#039;CSSMatrix&#039; in window) {&lt;br /&gt;
					return &#039;CSSMatrix&#039;;&lt;br /&gt;
				}&lt;br /&gt;
			}();&lt;br /&gt;
&lt;br /&gt;
			var percentage = 0,&lt;br /&gt;
			    leftPos = 0,&lt;br /&gt;
			    pos = 0,&lt;br /&gt;
			    x = void 0;&lt;br /&gt;
&lt;br /&gt;
			if (e.originalEvent &amp;amp;&amp;amp; e.originalEvent.changedTouches) {&lt;br /&gt;
				x = e.originalEvent.changedTouches[0].pageX;&lt;br /&gt;
			} else if (e.changedTouches) {&lt;br /&gt;
				x = e.changedTouches[0].pageX;&lt;br /&gt;
			} else {&lt;br /&gt;
				x = e.pageX;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.getDuration()) {&lt;br /&gt;
				if (x &amp;lt; offsetStyles.left) {&lt;br /&gt;
					x = offsetStyles.left;&lt;br /&gt;
				} else if (x &amp;gt; width + offsetStyles.left) {&lt;br /&gt;
					x = width + offsetStyles.left;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				pos = x - offsetStyles.left;&lt;br /&gt;
				percentage = pos / width;&lt;br /&gt;
				t.newTime = percentage * t.getDuration();&lt;br /&gt;
&lt;br /&gt;
				if (mouseIsDown &amp;amp;&amp;amp; t.getCurrentTime() !== null &amp;amp;&amp;amp; t.newTime.toFixed(4) !== t.getCurrentTime().toFixed(4)) {&lt;br /&gt;
					t.setCurrentRailHandle(t.newTime);&lt;br /&gt;
					t.updateCurrent(t.newTime);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (!_constants.IS_IOS &amp;amp;&amp;amp; !_constants.IS_ANDROID) {&lt;br /&gt;
					if (pos &amp;lt; 0) {&lt;br /&gt;
						pos = 0;&lt;br /&gt;
					}&lt;br /&gt;
					if (t.options.useSmoothHover &amp;amp;&amp;amp; cssMatrix !== null &amp;amp;&amp;amp; typeof window[cssMatrix] !== &#039;undefined&#039;) {&lt;br /&gt;
						var matrix = new window[cssMatrix](getComputedStyle(t.handle)[transform]),&lt;br /&gt;
						    handleLocation = matrix.m41,&lt;br /&gt;
						    hoverScaleX = pos / parseFloat(getComputedStyle(t.total).width) - handleLocation / parseFloat(getComputedStyle(t.total).width);&lt;br /&gt;
&lt;br /&gt;
						t.hovered.style.left = handleLocation + &#039;px&#039;;&lt;br /&gt;
						t.setTransformStyle(t.hovered, &#039;scaleX(&#039; + hoverScaleX + &#039;)&#039;);&lt;br /&gt;
						t.hovered.setAttribute(&#039;pos&#039;, pos);&lt;br /&gt;
&lt;br /&gt;
						if (hoverScaleX &amp;gt;= 0) {&lt;br /&gt;
							(0, _dom.removeClass)(t.hovered, &#039;negative&#039;);&lt;br /&gt;
						} else {&lt;br /&gt;
							(0, _dom.addClass)(t.hovered, &#039;negative&#039;);&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (t.timefloat) {&lt;br /&gt;
						var half = t.timefloat.offsetWidth / 2,&lt;br /&gt;
						    offsetContainer = mejs.Utils.offset(t.getElement(t.container)),&lt;br /&gt;
						    tooltipStyles = getComputedStyle(t.timefloat);&lt;br /&gt;
&lt;br /&gt;
						if (x - offsetContainer.left &amp;lt; t.timefloat.offsetWidth) {&lt;br /&gt;
							leftPos = half;&lt;br /&gt;
						} else if (x - offsetContainer.left &amp;gt;= t.getElement(t.container).offsetWidth - half) {&lt;br /&gt;
							leftPos = t.total.offsetWidth - half;&lt;br /&gt;
						} else {&lt;br /&gt;
							leftPos = pos;&lt;br /&gt;
						}&lt;br /&gt;
&lt;br /&gt;
						if ((0, _dom.hasClass)(t.getElement(t.container), t.options.classPrefix + &#039;long-video&#039;)) {&lt;br /&gt;
							leftPos += parseFloat(tooltipStyles.marginLeft) / 2 + t.timefloat.offsetWidth / 2;&lt;br /&gt;
						}&lt;br /&gt;
&lt;br /&gt;
						t.timefloat.style.left = leftPos + &#039;px&#039;;&lt;br /&gt;
						t.timefloatcurrent.innerHTML = (0, _time.secondsToTimeCode)(t.newTime, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat);&lt;br /&gt;
						t.timefloat.style.display = &#039;block&#039;;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			} else if (!_constants.IS_IOS &amp;amp;&amp;amp; !_constants.IS_ANDROID &amp;amp;&amp;amp; t.timefloat) {&lt;br /&gt;
				leftPos = t.timefloat.offsetWidth + width &amp;gt;= t.getElement(t.container).offsetWidth ? t.timefloat.offsetWidth / 2 : 0;&lt;br /&gt;
				t.timefloat.style.left = leftPos + &#039;px&#039;;&lt;br /&gt;
				t.timefloat.style.left = leftPos + &#039;px&#039;;&lt;br /&gt;
				t.timefloat.style.display = &#039;block&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		    updateSlider = function updateSlider() {&lt;br /&gt;
			var seconds = t.getCurrentTime(),&lt;br /&gt;
			    timeSliderText = _i18n2.default.t(&#039;mejs.time-slider&#039;),&lt;br /&gt;
			    time = (0, _time.secondsToTimeCode)(seconds, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat),&lt;br /&gt;
			    duration = t.getDuration();&lt;br /&gt;
&lt;br /&gt;
			t.slider.setAttribute(&#039;role&#039;, &#039;slider&#039;);&lt;br /&gt;
			t.slider.tabIndex = 0;&lt;br /&gt;
&lt;br /&gt;
			if (media.paused) {&lt;br /&gt;
				t.slider.setAttribute(&#039;aria-label&#039;, timeSliderText);&lt;br /&gt;
				t.slider.setAttribute(&#039;aria-valuemin&#039;, 0);&lt;br /&gt;
				t.slider.setAttribute(&#039;aria-valuemax&#039;, isNaN(duration) ? 0 : duration);&lt;br /&gt;
				t.slider.setAttribute(&#039;aria-valuenow&#039;, seconds);&lt;br /&gt;
				t.slider.setAttribute(&#039;aria-valuetext&#039;, time);&lt;br /&gt;
			} else {&lt;br /&gt;
				t.slider.removeAttribute(&#039;aria-label&#039;);&lt;br /&gt;
				t.slider.removeAttribute(&#039;aria-valuemin&#039;);&lt;br /&gt;
				t.slider.removeAttribute(&#039;aria-valuemax&#039;);&lt;br /&gt;
				t.slider.removeAttribute(&#039;aria-valuenow&#039;);&lt;br /&gt;
				t.slider.removeAttribute(&#039;aria-valuetext&#039;);&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		    restartPlayer = function restartPlayer() {&lt;br /&gt;
			if (new Date() - lastKeyPressTime &amp;gt;= 1000) {&lt;br /&gt;
				t.play();&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		    handleMouseup = function handleMouseup() {&lt;br /&gt;
			if (mouseIsDown &amp;amp;&amp;amp; t.getCurrentTime() !== null &amp;amp;&amp;amp; t.newTime.toFixed(4) !== t.getCurrentTime().toFixed(4)) {&lt;br /&gt;
				t.setCurrentTime(t.newTime, true);&lt;br /&gt;
				t.setCurrentRailHandle(t.newTime);&lt;br /&gt;
				t.updateCurrent(t.newTime);&lt;br /&gt;
			}&lt;br /&gt;
			if (t.forcedHandlePause) {&lt;br /&gt;
				t.slider.focus();&lt;br /&gt;
				t.play();&lt;br /&gt;
			}&lt;br /&gt;
			t.forcedHandlePause = false;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		t.slider.addEventListener(&#039;focus&#039;, function () {&lt;br /&gt;
			player.options.autoRewind = false;&lt;br /&gt;
		});&lt;br /&gt;
		t.slider.addEventListener(&#039;blur&#039;, function () {&lt;br /&gt;
			player.options.autoRewind = autoRewindInitial;&lt;br /&gt;
		});&lt;br /&gt;
		t.slider.addEventListener(&#039;keydown&#039;, function (e) {&lt;br /&gt;
			if (new Date() - lastKeyPressTime &amp;gt;= 1000) {&lt;br /&gt;
				startedPaused = t.paused;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.options.enableKeyboard &amp;amp;&amp;amp; t.options.keyActions.length) {&lt;br /&gt;
&lt;br /&gt;
				var keyCode = e.which || e.keyCode || 0,&lt;br /&gt;
				    duration = t.getDuration(),&lt;br /&gt;
				    seekForward = player.options.defaultSeekForwardInterval(media),&lt;br /&gt;
				    seekBackward = player.options.defaultSeekBackwardInterval(media);&lt;br /&gt;
&lt;br /&gt;
				var seekTime = t.getCurrentTime();&lt;br /&gt;
				var volume = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;volume-slider&#039;);&lt;br /&gt;
&lt;br /&gt;
				if (keyCode === 38 || keyCode === 40) {&lt;br /&gt;
					if (volume) {&lt;br /&gt;
						volume.style.display = &#039;block&#039;;&lt;br /&gt;
					}&lt;br /&gt;
					if (t.isVideo) {&lt;br /&gt;
						t.showControls();&lt;br /&gt;
						t.startControlsTimer();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					var newVolume = keyCode === 38 ? Math.min(t.volume + 0.1, 1) : Math.max(t.volume - 0.1, 0),&lt;br /&gt;
					    mutePlayer = newVolume &amp;lt;= 0;&lt;br /&gt;
					t.setVolume(newVolume);&lt;br /&gt;
					t.setMuted(mutePlayer);&lt;br /&gt;
					return;&lt;br /&gt;
				} else {&lt;br /&gt;
					if (volume) {&lt;br /&gt;
						volume.style.display = &#039;none&#039;;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				switch (keyCode) {&lt;br /&gt;
					case 37:&lt;br /&gt;
						if (t.getDuration() !== Infinity) {&lt;br /&gt;
							seekTime -= seekBackward;&lt;br /&gt;
						}&lt;br /&gt;
						break;&lt;br /&gt;
					case 39:&lt;br /&gt;
						if (t.getDuration() !== Infinity) {&lt;br /&gt;
							seekTime += seekForward;&lt;br /&gt;
						}&lt;br /&gt;
						break;&lt;br /&gt;
					case 36:&lt;br /&gt;
						seekTime = 0;&lt;br /&gt;
						break;&lt;br /&gt;
					case 35:&lt;br /&gt;
						seekTime = duration;&lt;br /&gt;
						break;&lt;br /&gt;
					case 13:&lt;br /&gt;
					case 32:&lt;br /&gt;
						if (_constants.IS_FIREFOX) {&lt;br /&gt;
							if (t.paused) {&lt;br /&gt;
								t.play();&lt;br /&gt;
							} else {&lt;br /&gt;
								t.pause();&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
						return;&lt;br /&gt;
					default:&lt;br /&gt;
						return;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				seekTime = seekTime &amp;lt; 0 || isNaN(seekTime) ? 0 : seekTime &amp;gt;= duration ? duration : Math.floor(seekTime);&lt;br /&gt;
				lastKeyPressTime = new Date();&lt;br /&gt;
				if (!startedPaused) {&lt;br /&gt;
					player.pause();&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				setTimeout(function () {&lt;br /&gt;
					t.setCurrentTime(seekTime, true);&lt;br /&gt;
				}, 0);&lt;br /&gt;
&lt;br /&gt;
				if (seekTime &amp;lt; t.getDuration() &amp;amp;&amp;amp; !startedPaused) {&lt;br /&gt;
					setTimeout(restartPlayer, 1100);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				player.showControls();&lt;br /&gt;
&lt;br /&gt;
				e.preventDefault();&lt;br /&gt;
				e.stopPropagation();&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		var events = [&#039;mousedown&#039;, &#039;touchstart&#039;];&lt;br /&gt;
&lt;br /&gt;
		t.slider.addEventListener(&#039;dragstart&#039;, function () {&lt;br /&gt;
			return false;&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		for (var i = 0, total = events.length; i &amp;lt; total; i++) {&lt;br /&gt;
			t.slider.addEventListener(events[i], function (e) {&lt;br /&gt;
				t.forcedHandlePause = false;&lt;br /&gt;
				if (t.getDuration() !== Infinity) {&lt;br /&gt;
					if (e.which === 1 || e.which === 0) {&lt;br /&gt;
						if (!t.paused) {&lt;br /&gt;
							t.pause();&lt;br /&gt;
							t.forcedHandlePause = true;&lt;br /&gt;
						}&lt;br /&gt;
&lt;br /&gt;
						mouseIsDown = true;&lt;br /&gt;
						handleMouseMove(e);&lt;br /&gt;
						var endEvents = [&#039;mouseup&#039;, &#039;touchend&#039;];&lt;br /&gt;
&lt;br /&gt;
						for (var j = 0, totalEvents = endEvents.length; j &amp;lt; totalEvents; j++) {&lt;br /&gt;
							t.getElement(t.container).addEventListener(endEvents[j], function (event) {&lt;br /&gt;
								var target = event.target;&lt;br /&gt;
								if (target === t.slider || target.closest(&#039;.&#039; + t.options.classPrefix + &#039;time-slider&#039;)) {&lt;br /&gt;
									handleMouseMove(event);&lt;br /&gt;
								}&lt;br /&gt;
							});&lt;br /&gt;
						}&lt;br /&gt;
						t.globalBind(&#039;mouseup.dur touchend.dur&#039;, function () {&lt;br /&gt;
							handleMouseup();&lt;br /&gt;
							mouseIsDown = false;&lt;br /&gt;
							if (t.timefloat) {&lt;br /&gt;
								t.timefloat.style.display = &#039;none&#039;;&lt;br /&gt;
							}&lt;br /&gt;
						});&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}, _constants.SUPPORT_PASSIVE_EVENT &amp;amp;&amp;amp; events[i] === &#039;touchstart&#039; ? { passive: true } : false);&lt;br /&gt;
		}&lt;br /&gt;
		t.slider.addEventListener(&#039;mouseenter&#039;, function (e) {&lt;br /&gt;
			if (e.target === t.slider &amp;amp;&amp;amp; t.getDuration() !== Infinity) {&lt;br /&gt;
				t.getElement(t.container).addEventListener(&#039;mousemove&#039;, function (event) {&lt;br /&gt;
					var target = event.target;&lt;br /&gt;
					if (target === t.slider || target.closest(&#039;.&#039; + t.options.classPrefix + &#039;time-slider&#039;)) {&lt;br /&gt;
						handleMouseMove(event);&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
				if (t.timefloat &amp;amp;&amp;amp; !_constants.IS_IOS &amp;amp;&amp;amp; !_constants.IS_ANDROID) {&lt;br /&gt;
					t.timefloat.style.display = &#039;block&#039;;&lt;br /&gt;
				}&lt;br /&gt;
				if (t.hovered &amp;amp;&amp;amp; !_constants.IS_IOS &amp;amp;&amp;amp; !_constants.IS_ANDROID &amp;amp;&amp;amp; t.options.useSmoothHover) {&lt;br /&gt;
					(0, _dom.removeClass)(t.hovered, &#039;no-hover&#039;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		t.slider.addEventListener(&#039;mouseleave&#039;, function () {&lt;br /&gt;
			if (t.getDuration() !== Infinity) {&lt;br /&gt;
				if (!mouseIsDown) {&lt;br /&gt;
					if (t.timefloat) {&lt;br /&gt;
						t.timefloat.style.display = &#039;none&#039;;&lt;br /&gt;
					}&lt;br /&gt;
					if (t.hovered &amp;amp;&amp;amp; t.options.useSmoothHover) {&lt;br /&gt;
						(0, _dom.addClass)(t.hovered, &#039;no-hover&#039;);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		t.broadcastCallback = function (e) {&lt;br /&gt;
			var broadcast = controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;broadcast&#039;);&lt;br /&gt;
			if (!t.options.forceLive &amp;amp;&amp;amp; t.getDuration() !== Infinity) {&lt;br /&gt;
				if (broadcast) {&lt;br /&gt;
					t.slider.style.display = &#039;&#039;;&lt;br /&gt;
					broadcast.remove();&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				player.setProgressRail(e);&lt;br /&gt;
				if (!t.forcedHandlePause) {&lt;br /&gt;
					player.setCurrentRail(e);&lt;br /&gt;
				}&lt;br /&gt;
				updateSlider();&lt;br /&gt;
			} else if (!broadcast &amp;amp;&amp;amp; t.options.forceLive) {&lt;br /&gt;
				var label = _document2.default.createElement(&#039;span&#039;);&lt;br /&gt;
				label.className = t.options.classPrefix + &#039;broadcast&#039;;&lt;br /&gt;
				label.innerText = _i18n2.default.t(&#039;mejs.live-broadcast&#039;);&lt;br /&gt;
				t.slider.style.display = &#039;none&#039;;&lt;br /&gt;
				t.rail.appendChild(label);&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		media.addEventListener(&#039;progress&#039;, t.broadcastCallback);&lt;br /&gt;
		media.addEventListener(&#039;timeupdate&#039;, t.broadcastCallback);&lt;br /&gt;
		media.addEventListener(&#039;play&#039;, function () {&lt;br /&gt;
			t.buffer.style.display = &#039;none&#039;;&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;playing&#039;, function () {&lt;br /&gt;
			t.buffer.style.display = &#039;none&#039;;&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;seeking&#039;, function () {&lt;br /&gt;
			t.buffer.style.display = &#039;&#039;;&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;seeked&#039;, function () {&lt;br /&gt;
			t.buffer.style.display = &#039;none&#039;;&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;pause&#039;, function () {&lt;br /&gt;
			t.buffer.style.display = &#039;none&#039;;&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;waiting&#039;, function () {&lt;br /&gt;
			t.buffer.style.display = &#039;&#039;;&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;loadeddata&#039;, function () {&lt;br /&gt;
			t.buffer.style.display = &#039;&#039;;&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;canplay&#039;, function () {&lt;br /&gt;
			t.buffer.style.display = &#039;none&#039;;&lt;br /&gt;
		});&lt;br /&gt;
		media.addEventListener(&#039;error&#039;, function () {&lt;br /&gt;
			t.buffer.style.display = &#039;none&#039;;&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		t.getElement(t.container).addEventListener(&#039;controlsresize&#039;, function (e) {&lt;br /&gt;
			if (t.getDuration() !== Infinity) {&lt;br /&gt;
				player.setProgressRail(e);&lt;br /&gt;
				if (!t.forcedHandlePause) {&lt;br /&gt;
					player.setCurrentRail(e);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
	},&lt;br /&gt;
	cleanprogress: function cleanprogress(player, controls, layers, media) {&lt;br /&gt;
		media.removeEventListener(&#039;progress&#039;, player.broadcastCallback);&lt;br /&gt;
		media.removeEventListener(&#039;timeupdate&#039;, player.broadcastCallback);&lt;br /&gt;
		if (player.rail) {&lt;br /&gt;
			player.rail.remove();&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	setProgressRail: function setProgressRail(e) {&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    target = e !== undefined ? e.detail.target || e.target : t.media;&lt;br /&gt;
&lt;br /&gt;
		var percent = null;&lt;br /&gt;
&lt;br /&gt;
		if (target &amp;amp;&amp;amp; target.buffered &amp;amp;&amp;amp; target.buffered.length &amp;gt; 0 &amp;amp;&amp;amp; target.buffered.end &amp;amp;&amp;amp; t.getDuration()) {&lt;br /&gt;
			percent = target.buffered.end(target.buffered.length - 1) / t.getDuration();&lt;br /&gt;
		} else if (target &amp;amp;&amp;amp; target.bytesTotal !== undefined &amp;amp;&amp;amp; target.bytesTotal &amp;gt; 0 &amp;amp;&amp;amp; target.bufferedBytes !== undefined) {&lt;br /&gt;
				percent = target.bufferedBytes / target.bytesTotal;&lt;br /&gt;
			} else if (e &amp;amp;&amp;amp; e.lengthComputable &amp;amp;&amp;amp; e.total !== 0) {&lt;br /&gt;
					percent = e.loaded / e.total;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
		if (percent !== null) {&lt;br /&gt;
			percent = Math.min(1, Math.max(0, percent));&lt;br /&gt;
&lt;br /&gt;
			if (t.loaded) {&lt;br /&gt;
				t.setTransformStyle(t.loaded, &#039;scaleX(&#039; + percent + &#039;)&#039;);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	setCurrentRailHandle: function setCurrentRailHandle(fakeTime) {&lt;br /&gt;
		var t = this;&lt;br /&gt;
		t.setCurrentRailMain(t, fakeTime);&lt;br /&gt;
	},&lt;br /&gt;
	setCurrentRail: function setCurrentRail() {&lt;br /&gt;
		var t = this;&lt;br /&gt;
		t.setCurrentRailMain(t);&lt;br /&gt;
	},&lt;br /&gt;
	setCurrentRailMain: function setCurrentRailMain(t, fakeTime) {&lt;br /&gt;
		if (t.getCurrentTime() !== undefined &amp;amp;&amp;amp; t.getDuration()) {&lt;br /&gt;
			var nTime = typeof fakeTime === &#039;undefined&#039; ? t.getCurrentTime() : fakeTime;&lt;br /&gt;
&lt;br /&gt;
			if (t.total &amp;amp;&amp;amp; t.handle) {&lt;br /&gt;
				var tW = parseFloat(getComputedStyle(t.total).width);&lt;br /&gt;
&lt;br /&gt;
				var newWidth = Math.round(tW * nTime / t.getDuration()),&lt;br /&gt;
				    handlePos = newWidth - Math.round(t.handle.offsetWidth / 2);&lt;br /&gt;
&lt;br /&gt;
				handlePos = handlePos &amp;lt; 0 ? 0 : handlePos;&lt;br /&gt;
				t.setTransformStyle(t.current, &#039;scaleX(&#039; + newWidth / tW + &#039;)&#039;);&lt;br /&gt;
				t.setTransformStyle(t.handle, &#039;translateX(&#039; + handlePos + &#039;px)&#039;);&lt;br /&gt;
&lt;br /&gt;
				if (t.options.useSmoothHover &amp;amp;&amp;amp; !(0, _dom.hasClass)(t.hovered, &#039;no-hover&#039;)) {&lt;br /&gt;
					var pos = parseInt(t.hovered.getAttribute(&#039;pos&#039;), 10);&lt;br /&gt;
					pos = isNaN(pos) ? 0 : pos;&lt;br /&gt;
&lt;br /&gt;
					var hoverScaleX = pos / tW - handlePos / tW;&lt;br /&gt;
&lt;br /&gt;
					t.hovered.style.left = handlePos + &#039;px&#039;;&lt;br /&gt;
					t.setTransformStyle(t.hovered, &#039;scaleX(&#039; + hoverScaleX + &#039;)&#039;);&lt;br /&gt;
&lt;br /&gt;
					if (hoverScaleX &amp;gt;= 0) {&lt;br /&gt;
						(0, _dom.removeClass)(t.hovered, &#039;negative&#039;);&lt;br /&gt;
					} else {&lt;br /&gt;
						(0, _dom.addClass)(t.hovered, &#039;negative&#039;);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;17&amp;quot;:17,&amp;quot;2&amp;quot;:2,&amp;quot;26&amp;quot;:26,&amp;quot;27&amp;quot;:27,&amp;quot;32&amp;quot;:32,&amp;quot;6&amp;quot;:6}],13:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _player = _dereq_(17);&lt;br /&gt;
&lt;br /&gt;
var _player2 = _interopRequireDefault(_player);&lt;br /&gt;
&lt;br /&gt;
var _time = _dereq_(32);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player.config, {&lt;br /&gt;
	duration: 0,&lt;br /&gt;
&lt;br /&gt;
	timeAndDurationSeparator: &#039;&amp;lt;span&amp;gt; | &amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player2.default.prototype, {&lt;br /&gt;
	buildcurrent: function buildcurrent(player, controls, layers, media) {&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    time = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
&lt;br /&gt;
		time.className = t.options.classPrefix + &#039;time&#039;;&lt;br /&gt;
		time.setAttribute(&#039;role&#039;, &#039;timer&#039;);&lt;br /&gt;
		time.setAttribute(&#039;aria-live&#039;, &#039;off&#039;);&lt;br /&gt;
		time.innerHTML = &#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;currenttime&amp;quot;&amp;gt;&#039; + (0, _time.secondsToTimeCode)(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat) + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
		t.addControlElement(time, &#039;current&#039;);&lt;br /&gt;
		player.updateCurrent();&lt;br /&gt;
		t.updateTimeCallback = function () {&lt;br /&gt;
			if (t.controlsAreVisible) {&lt;br /&gt;
				player.updateCurrent();&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
		media.addEventListener(&#039;timeupdate&#039;, t.updateTimeCallback);&lt;br /&gt;
	},&lt;br /&gt;
	cleancurrent: function cleancurrent(player, controls, layers, media) {&lt;br /&gt;
		media.removeEventListener(&#039;timeupdate&#039;, player.updateTimeCallback);&lt;br /&gt;
	},&lt;br /&gt;
	buildduration: function buildduration(player, controls, layers, media) {&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    currTime = controls.lastChild.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;currenttime&#039;);&lt;br /&gt;
&lt;br /&gt;
		if (currTime) {&lt;br /&gt;
			controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;time&#039;).innerHTML += t.options.timeAndDurationSeparator + &#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;duration&amp;quot;&amp;gt;&#039; + ((0, _time.secondsToTimeCode)(t.options.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat) + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
		} else {&lt;br /&gt;
			if (controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;currenttime&#039;)) {&lt;br /&gt;
				(0, _dom.addClass)(controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;currenttime&#039;).parentNode, t.options.classPrefix + &#039;currenttime-container&#039;);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var duration = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
			duration.className = t.options.classPrefix + &#039;time &#039; + t.options.classPrefix + &#039;duration-container&#039;;&lt;br /&gt;
			duration.innerHTML = &#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;duration&amp;quot;&amp;gt;&#039; + ((0, _time.secondsToTimeCode)(t.options.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat) + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
			t.addControlElement(duration, &#039;duration&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		t.updateDurationCallback = function () {&lt;br /&gt;
			if (t.controlsAreVisible) {&lt;br /&gt;
				player.updateDuration();&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		media.addEventListener(&#039;timeupdate&#039;, t.updateDurationCallback);&lt;br /&gt;
	},&lt;br /&gt;
	cleanduration: function cleanduration(player, controls, layers, media) {&lt;br /&gt;
		media.removeEventListener(&#039;timeupdate&#039;, player.updateDurationCallback);&lt;br /&gt;
	},&lt;br /&gt;
	updateCurrent: function updateCurrent() {&lt;br /&gt;
		var t = this;&lt;br /&gt;
&lt;br /&gt;
		var currentTime = t.getCurrentTime();&lt;br /&gt;
&lt;br /&gt;
		if (isNaN(currentTime)) {&lt;br /&gt;
			currentTime = 0;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var timecode = (0, _time.secondsToTimeCode)(currentTime, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat);&lt;br /&gt;
&lt;br /&gt;
		if (timecode.length &amp;gt; 5) {&lt;br /&gt;
			(0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + &#039;long-video&#039;);&lt;br /&gt;
		} else {&lt;br /&gt;
			(0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + &#039;long-video&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (t.getElement(t.controls).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;currenttime&#039;)) {&lt;br /&gt;
			t.getElement(t.controls).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;currenttime&#039;).innerText = timecode;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	updateDuration: function updateDuration() {&lt;br /&gt;
		var t = this;&lt;br /&gt;
&lt;br /&gt;
		var duration = t.getDuration();&lt;br /&gt;
&lt;br /&gt;
		if (t.media !== undefined &amp;amp;&amp;amp; (isNaN(duration) || duration === Infinity || duration &amp;lt; 0)) {&lt;br /&gt;
			t.media.duration = t.options.duration = duration = 0;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (t.options.duration &amp;gt; 0) {&lt;br /&gt;
			duration = t.options.duration;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var timecode = (0, _time.secondsToTimeCode)(duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat);&lt;br /&gt;
&lt;br /&gt;
		if (timecode.length &amp;gt; 5) {&lt;br /&gt;
			(0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + &#039;long-video&#039;);&lt;br /&gt;
		} else {&lt;br /&gt;
			(0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + &#039;long-video&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (t.getElement(t.controls).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;duration&#039;) &amp;amp;&amp;amp; duration &amp;gt; 0) {&lt;br /&gt;
			t.getElement(t.controls).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;duration&#039;).innerHTML = timecode;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;17&amp;quot;:17,&amp;quot;2&amp;quot;:2,&amp;quot;27&amp;quot;:27,&amp;quot;32&amp;quot;:32}],14:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _i18n = _dereq_(6);&lt;br /&gt;
&lt;br /&gt;
var _i18n2 = _interopRequireDefault(_i18n);&lt;br /&gt;
&lt;br /&gt;
var _player = _dereq_(17);&lt;br /&gt;
&lt;br /&gt;
var _player2 = _interopRequireDefault(_player);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
var _generate = _dereq_(29);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player.config, {&lt;br /&gt;
  autoplayCaptionLanguage: null,&lt;br /&gt;
&lt;br /&gt;
  defaultTrackLine: -3,&lt;br /&gt;
&lt;br /&gt;
  tracksText: null,&lt;br /&gt;
&lt;br /&gt;
  chaptersText: null,&lt;br /&gt;
&lt;br /&gt;
  chaptersLanguage: null,&lt;br /&gt;
&lt;br /&gt;
  hideCaptionsButtonWhenEmpty: true,&lt;br /&gt;
&lt;br /&gt;
  toggleCaptionsButtonWhenOnlyOne: false&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player2.default.prototype, {&lt;br /&gt;
  hasChapters: false,&lt;br /&gt;
&lt;br /&gt;
  buildtracks: function buildtracks(player, controls) {&lt;br /&gt;
    this.initTracks(player);&lt;br /&gt;
&lt;br /&gt;
    if (!player.tracks.length &amp;amp;&amp;amp; (!player.trackFiles || !player.trackFiles.length === 0)) {&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var t = this,&lt;br /&gt;
        tracksTitle = (0, _general.isString)(t.options.tracksText) ? t.options.tracksText : _i18n2.default.t(&#039;mejs.captions-subtitles&#039;),&lt;br /&gt;
        chaptersTitle = (0, _general.isString)(t.options.chaptersText) ? t.options.chaptersText : _i18n2.default.t(&#039;mejs.captions-chapters&#039;);&lt;br /&gt;
&lt;br /&gt;
    t.hideAllTracks();&lt;br /&gt;
&lt;br /&gt;
    t.clearTrackHtml(player);&lt;br /&gt;
&lt;br /&gt;
    player.captionsButton = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
    player.captionsButton.className = t.options.classPrefix + &#039;button &#039; + t.options.classPrefix + &#039;captions-button&#039;;&lt;br /&gt;
    player.captionsButton.innerHTML = (0, _generate.generateControlButton)(t.id, tracksTitle, tracksTitle, &#039;&#039; + t.media.options.iconSprite, [&#039;icon-captions&#039;], &#039;&#039; + t.options.classPrefix) + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;captions-selector &#039; + t.options.classPrefix + &#039;offscreen&amp;quot;&amp;gt;&#039;) + (&#039;&amp;lt;ul class=&amp;quot;&#039; + t.options.classPrefix + &#039;captions-selector-list&amp;quot;&amp;gt;&#039;) + (&#039;&amp;lt;li class=&amp;quot;&#039; + t.options.classPrefix + &#039;captions-selector-list-item&amp;quot;&amp;gt;&#039;) + (&#039;&amp;lt;input type=&amp;quot;radio&amp;quot; class=&amp;quot;&#039; + t.options.classPrefix + &#039;captions-selector-input&amp;quot; &#039;) + (&#039;name=&amp;quot;&#039; + player.id + &#039;_captions&amp;quot; id=&amp;quot;&#039; + player.id + &#039;_captions_none&amp;quot; &#039;) + &#039;value=&amp;quot;none&amp;quot; checked disabled&amp;gt;&#039; + (&#039;&amp;lt;label class=&amp;quot;&#039; + t.options.classPrefix + &#039;captions-selector-label &#039;) + (t.options.classPrefix + &#039;captions-selected&amp;quot; &#039;) + (&#039;for=&amp;quot;&#039; + player.id + &#039;_captions_none&amp;quot;&amp;gt;&#039; + _i18n2.default.t(&#039;mejs.none&#039;) + &#039;&amp;lt;/label&amp;gt;&#039;) + &#039;&amp;lt;/li&amp;gt;&#039; + &#039;&amp;lt;/ul&amp;gt;&#039; + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
    t.addControlElement(player.captionsButton, &#039;tracks&#039;);&lt;br /&gt;
&lt;br /&gt;
    player.captionsButton.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;captions-selector-input&#039;).disabled = false;&lt;br /&gt;
&lt;br /&gt;
    player.chaptersButton = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
    player.chaptersButton.className = t.options.classPrefix + &#039;button &#039; + t.options.classPrefix + &#039;chapters-button&#039;;&lt;br /&gt;
    player.chaptersButton.innerHTML = (0, _generate.generateControlButton)(t.id, chaptersTitle, chaptersTitle, &#039;&#039; + t.media.options.iconSprite, [&#039;icon-chapters&#039;], &#039;&#039; + t.options.classPrefix) + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;chapters-selector &#039; + t.options.classPrefix + &#039;offscreen&amp;quot;&amp;gt;&#039;) + (&#039;&amp;lt;ul class=&amp;quot;&#039; + t.options.classPrefix + &#039;chapters-selector-list&amp;quot;&amp;gt;&amp;lt;/ul&amp;gt;&#039;) + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
    var subtitles = t.getSubtitles();&lt;br /&gt;
    var chapters = t.getChapters();&lt;br /&gt;
&lt;br /&gt;
    if (chapters.length &amp;gt; 0 &amp;amp;&amp;amp; !controls.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;chapter-selector&#039;)) {&lt;br /&gt;
      player.captionsButton.parentNode.insertBefore(player.chaptersButton, player.captionsButton);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; subtitles.length; i++) {&lt;br /&gt;
      player.addTrackButton(subtitles[i]);&lt;br /&gt;
      if (subtitles[i].isLoaded) {&lt;br /&gt;
        t.enableTrackButton(subtitles[i]);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    player.trackToLoad = -1;&lt;br /&gt;
    player.selectedTrack = null;&lt;br /&gt;
    player.isLoadingTrack = false;&lt;br /&gt;
&lt;br /&gt;
    var inEvents = [&#039;mouseenter&#039;, &#039;focusin&#039;],&lt;br /&gt;
        outEvents = [&#039;mouseleave&#039;, &#039;focusout&#039;];&lt;br /&gt;
&lt;br /&gt;
    if (t.options.toggleCaptionsButtonWhenOnlyOne &amp;amp;&amp;amp; subtitles.length === 1) {&lt;br /&gt;
      player.captionsButton.addEventListener(&#039;click&#039;, function (e) {&lt;br /&gt;
        var trackId = &#039;none&#039;;&lt;br /&gt;
        if (player.selectedTrack === null) {&lt;br /&gt;
          trackId = player.getSubtitles()[0].trackId;&lt;br /&gt;
        }&lt;br /&gt;
        var keyboard = e.keyCode || e.which;&lt;br /&gt;
        player.setTrack(trackId, typeof keyboard !== &#039;undefined&#039;);&lt;br /&gt;
      });&lt;br /&gt;
    } else {&lt;br /&gt;
      var labels = player.captionsButton.querySelectorAll(&#039;.&#039; + t.options.classPrefix + &#039;captions-selector-label&#039;),&lt;br /&gt;
          captions = player.captionsButton.querySelectorAll(&#039;input[type=radio]&#039;);&lt;br /&gt;
&lt;br /&gt;
      for (var _i = 0; _i &amp;lt; inEvents.length; _i++) {&lt;br /&gt;
        player.captionsButton.addEventListener(inEvents[_i], function () {&lt;br /&gt;
          (0, _dom.removeClass)(this.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;captions-selector&#039;), t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
        });&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      for (var _i2 = 0; _i2 &amp;lt; outEvents.length; _i2++) {&lt;br /&gt;
        player.captionsButton.addEventListener(outEvents[_i2], function () {&lt;br /&gt;
          var _this = this;&lt;br /&gt;
&lt;br /&gt;
          setTimeout(function () {&lt;br /&gt;
            (0, _dom.addClass)(_this.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;captions-selector&#039;), t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
          }, 0);&lt;br /&gt;
        });&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      for (var _i3 = 0; _i3 &amp;lt; captions.length; _i3++) {&lt;br /&gt;
        captions[_i3].addEventListener(&#039;click&#039;, function (e) {&lt;br /&gt;
          var keyboard = e.keyCode || e.which;&lt;br /&gt;
          if (!e.target.disabled) {&lt;br /&gt;
            player.setTrack(this.value, typeof keyboard !== &#039;undefined&#039;);&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      for (var _i4 = 0; _i4 &amp;lt; labels.length; _i4++) {&lt;br /&gt;
        labels[_i4].addEventListener(&#039;click&#039;, function (e) {&lt;br /&gt;
          var radio = (0, _dom.siblings)(this, function (el) {&lt;br /&gt;
            return el.tagName === &#039;INPUT&#039;;&lt;br /&gt;
          })[0],&lt;br /&gt;
              event = (0, _general.createEvent)(&#039;click&#039;, radio);&lt;br /&gt;
          radio.dispatchEvent(event);&lt;br /&gt;
          e.preventDefault();&lt;br /&gt;
        });&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      player.captionsButton.addEventListener(&#039;keydown&#039;, function (e) {&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for (var _i5 = 0; _i5 &amp;lt; inEvents.length; _i5++) {&lt;br /&gt;
      player.chaptersButton.addEventListener(inEvents[_i5], function () {&lt;br /&gt;
        if (this.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;chapters-selector-list&#039;).children.length) {&lt;br /&gt;
          (0, _dom.removeClass)(this.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;chapters-selector&#039;), t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for (var _i6 = 0; _i6 &amp;lt; outEvents.length; _i6++) {&lt;br /&gt;
      player.chaptersButton.addEventListener(outEvents[_i6], function () {&lt;br /&gt;
        var _this2 = this;&lt;br /&gt;
&lt;br /&gt;
        setTimeout(function () {&lt;br /&gt;
          (0, _dom.addClass)(_this2.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;chapters-selector&#039;), t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
        }, 0);&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    player.chaptersButton.addEventListener(&#039;keydown&#039;, function (e) {&lt;br /&gt;
      e.stopPropagation();&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    t.checkAllCaptionsLoadedOrError();&lt;br /&gt;
    t.checkAllChaptersLoadedOrError();&lt;br /&gt;
  },&lt;br /&gt;
  clearTrackHtml: function clearTrackHtml(player) {&lt;br /&gt;
    if (player) {&lt;br /&gt;
      if (player.captionsButton) {&lt;br /&gt;
        player.captionsButton.remove();&lt;br /&gt;
      }&lt;br /&gt;
      if (player.chaptersButton) {&lt;br /&gt;
        player.chaptersButton.remove();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  rebuildtracks: function rebuildtracks() {&lt;br /&gt;
    var t = this;&lt;br /&gt;
    t.findTracks();&lt;br /&gt;
    t.buildtracks(t, t.getElement(t.controls));&lt;br /&gt;
  },&lt;br /&gt;
  initTracks: function initTracks(player) {&lt;br /&gt;
    var t = this,&lt;br /&gt;
        trackFiles = t.trackFiles === null ? t.node.querySelectorAll(&#039;track&#039;) : t.trackFiles;&lt;br /&gt;
&lt;br /&gt;
    t.tracks = [];&lt;br /&gt;
&lt;br /&gt;
    if (trackFiles) {&lt;br /&gt;
      player.trackFiles = trackFiles;&lt;br /&gt;
      for (var i = 0; i &amp;lt; trackFiles.length; i++) {&lt;br /&gt;
        var track = trackFiles[i],&lt;br /&gt;
            srclang = track.getAttribute(&#039;srclang&#039;).toLowerCase() || &#039;&#039;,&lt;br /&gt;
            trackId = track.getAttribute(&#039;id&#039;) || t.id + &#039;_track_&#039; + i + &#039;_&#039; + track.getAttribute(&#039;kind&#039;) + &#039;_&#039; + srclang;&lt;br /&gt;
        track.setAttribute(&#039;id&#039;, trackId);&lt;br /&gt;
&lt;br /&gt;
        var trackData = {&lt;br /&gt;
          trackId: trackId,&lt;br /&gt;
          srclang: srclang,&lt;br /&gt;
          src: track.getAttribute(&#039;src&#039;),&lt;br /&gt;
          kind: track.getAttribute(&#039;kind&#039;),&lt;br /&gt;
          label: track.getAttribute(&#039;label&#039;) || &#039;&#039;,&lt;br /&gt;
          entries: [],&lt;br /&gt;
          isDefault: track.hasAttribute(&#039;default&#039;),&lt;br /&gt;
          isError: false,&lt;br /&gt;
          isLoaded: false&lt;br /&gt;
        };&lt;br /&gt;
        t.tracks.push(trackData);&lt;br /&gt;
&lt;br /&gt;
        if (track.getAttribute(&#039;kind&#039;) === &#039;captions&#039; || track.getAttribute(&#039;kind&#039;) === &#039;subtitles&#039;) {&lt;br /&gt;
          switch (track.readyState) {&lt;br /&gt;
            case 2:&lt;br /&gt;
              t.handleCaptionsLoaded(track);&lt;br /&gt;
              break;&lt;br /&gt;
            case 3:&lt;br /&gt;
              t.handleCaptionsError(track);&lt;br /&gt;
              break;&lt;br /&gt;
            default:&lt;br /&gt;
              track.addEventListener(&#039;load&#039;, function (event) {&lt;br /&gt;
                t.handleCaptionsLoaded(event.target);&lt;br /&gt;
              });&lt;br /&gt;
              track.addEventListener(&#039;error&#039;, function (event) {&lt;br /&gt;
                t.handleCaptionsError(event.target);&lt;br /&gt;
              });&lt;br /&gt;
              break;&lt;br /&gt;
          }&lt;br /&gt;
        } else if (track.getAttribute(&#039;kind&#039;) === &#039;chapters&#039;) {&lt;br /&gt;
          switch (track.readyState) {&lt;br /&gt;
            case 2:&lt;br /&gt;
              t.handleChaptersLoaded(track);&lt;br /&gt;
              break;&lt;br /&gt;
            case 3:&lt;br /&gt;
              t.handleChaptersError(track);&lt;br /&gt;
              break;&lt;br /&gt;
            default:&lt;br /&gt;
              track.addEventListener(&#039;load&#039;, function (event) {&lt;br /&gt;
                t.handleChaptersLoaded(event.target);&lt;br /&gt;
              });&lt;br /&gt;
              track.addEventListener(&#039;error&#039;, function (event) {&lt;br /&gt;
                t.handleChaptersError(event.target);&lt;br /&gt;
              });&lt;br /&gt;
              break;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  handleCaptionsLoaded: function handleCaptionsLoaded(target) {&lt;br /&gt;
    var textTracks = this.domNode.textTracks,&lt;br /&gt;
        playerTrack = this.getTrackById(target.getAttribute(&#039;id&#039;));&lt;br /&gt;
&lt;br /&gt;
    if (Number.isInteger(this.options.defaultTrackLine)) {&lt;br /&gt;
      for (var i = 0; i &amp;lt; textTracks.length; i++) {&lt;br /&gt;
        if (target.getAttribute(&#039;srclang&#039;) === textTracks[i].language &amp;amp;&amp;amp; target.getAttribute(&#039;kind&#039;) === textTracks[i].kind) {&lt;br /&gt;
          var cues = textTracks[i].cues;&lt;br /&gt;
          for (var c = 0; c &amp;lt; cues.length; c++) {&lt;br /&gt;
            if (cues[c].line === &#039;auto&#039; || cues[c].line === undefined || cues[c].line === null) {&lt;br /&gt;
              cues[c].line = this.options.defaultTrackLine;&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          break;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    playerTrack.isLoaded = true;&lt;br /&gt;
    this.enableTrackButton(playerTrack);&lt;br /&gt;
    this.checkAllCaptionsLoadedOrError();&lt;br /&gt;
  },&lt;br /&gt;
  handleCaptionsError: function handleCaptionsError(target) {&lt;br /&gt;
    var playerTrack = this.getTrackById(target.getAttribute(&#039;id&#039;));&lt;br /&gt;
&lt;br /&gt;
    playerTrack.isError = true;&lt;br /&gt;
    this.removeTrackButton(playerTrack);&lt;br /&gt;
    this.checkAllCaptionsLoadedOrError();&lt;br /&gt;
  },&lt;br /&gt;
  handleChaptersLoaded: function handleChaptersLoaded(target) {&lt;br /&gt;
    var playerTrack = this.getTrackById(target.getAttribute(&#039;id&#039;));&lt;br /&gt;
&lt;br /&gt;
    this.hasChapters = true;&lt;br /&gt;
    playerTrack.isLoaded = true;&lt;br /&gt;
    this.checkAllChaptersLoadedOrError();&lt;br /&gt;
  },&lt;br /&gt;
  handleChaptersError: function handleChaptersError(target) {&lt;br /&gt;
    var playerTrack = this.getTrackById(target.getAttribute(&#039;id&#039;));&lt;br /&gt;
    playerTrack.isError = true;&lt;br /&gt;
    this.checkAllChaptersLoadedOrError();&lt;br /&gt;
  },&lt;br /&gt;
  checkAllCaptionsLoadedOrError: function checkAllCaptionsLoadedOrError() {&lt;br /&gt;
    var subtitles = this.getSubtitles();&lt;br /&gt;
    if (subtitles.length === subtitles.filter(function (_ref) {&lt;br /&gt;
      var isLoaded = _ref.isLoaded,&lt;br /&gt;
          isError = _ref.isError;&lt;br /&gt;
      return isLoaded || isError;&lt;br /&gt;
    }).length) {&lt;br /&gt;
      this.removeCaptionsIfEmpty();&lt;br /&gt;
      this.checkForAutoPlay();&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  checkAllChaptersLoadedOrError: function checkAllChaptersLoadedOrError() {&lt;br /&gt;
    var _this3 = this;&lt;br /&gt;
&lt;br /&gt;
    var chapters = this.getChapters(),&lt;br /&gt;
        readyChapters = chapters.filter(function (_ref2) {&lt;br /&gt;
      var isLoaded = _ref2.isLoaded;&lt;br /&gt;
      return isLoaded;&lt;br /&gt;
    });&lt;br /&gt;
    if (chapters.length === chapters.filter(function (_ref3) {&lt;br /&gt;
      var isLoaded = _ref3.isLoaded,&lt;br /&gt;
          isError = _ref3.isError;&lt;br /&gt;
      return isLoaded || isError;&lt;br /&gt;
    }).length) {&lt;br /&gt;
      if (readyChapters.length === 0) {&lt;br /&gt;
        this.chaptersButton.remove();&lt;br /&gt;
      } else {&lt;br /&gt;
        var langChapter = readyChapters.find(function (_ref4) {&lt;br /&gt;
          var srclang = _ref4.srclang;&lt;br /&gt;
          return srclang === _this3.options.chaptersLanguage;&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        langChapter = langChapter || readyChapters.find(function (_ref5) {&lt;br /&gt;
          var srclang = _ref5.srclang;&lt;br /&gt;
          return srclang === _i18n2.default.lang;&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        if (readyChapters.length === 1 || !langChapter) {&lt;br /&gt;
          this.drawChapters(readyChapters[0].trackId);&lt;br /&gt;
        } else {&lt;br /&gt;
          this.drawChapters(langChapter.trackId);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  setTrack: function setTrack(trackId, setByKeyboard) {&lt;br /&gt;
    var t = this,&lt;br /&gt;
        radios = t.captionsButton.querySelectorAll(&#039;input[type=&amp;quot;radio&amp;quot;]&#039;),&lt;br /&gt;
        captions = t.captionsButton.querySelectorAll(&#039;.&#039; + t.options.classPrefix + &#039;captions-selected&#039;),&lt;br /&gt;
        track = t.captionsButton.querySelector(&#039;input[value=&amp;quot;&#039; + trackId + &#039;&amp;quot;]&#039;);&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; radios.length; i++) {&lt;br /&gt;
      radios[i].checked = false;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for (var _i7 = 0; _i7 &amp;lt; captions.length; _i7++) {&lt;br /&gt;
      (0, _dom.removeClass)(captions[_i7], t.options.classPrefix + &#039;captions-selected&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    track.checked = true;&lt;br /&gt;
    var labels = (0, _dom.siblings)(track, function (el) {&lt;br /&gt;
      return (0, _dom.hasClass)(el, t.options.classPrefix + &#039;captions-selector-label&#039;);&lt;br /&gt;
    });&lt;br /&gt;
    for (var _i8 = 0; _i8 &amp;lt; labels.length; _i8++) {&lt;br /&gt;
      (0, _dom.addClass)(labels[_i8], t.options.classPrefix + &#039;captions-selected&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (trackId === &#039;none&#039;) {&lt;br /&gt;
      t.selectedTrack = null;&lt;br /&gt;
      (0, _dom.removeClass)(t.captionsButton, t.options.classPrefix + &#039;captions-enabled&#039;);&lt;br /&gt;
      t.deactivateVideoTracks();&lt;br /&gt;
    } else {&lt;br /&gt;
      var _track = t.getTrackById(trackId);&lt;br /&gt;
      if (_track) {&lt;br /&gt;
        if (t.selectedTrack === null) {&lt;br /&gt;
          (0, _dom.addClass)(t.captionsButton, t.options.classPrefix + &#039;captions-enabled&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        t.selectedTrack = _track;&lt;br /&gt;
        t.activateVideoTrack(t.selectedTrack.srclang);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var event = (0, _general.createEvent)(&#039;captionschange&#039;, t.media);&lt;br /&gt;
    event.detail.caption = t.selectedTrack;&lt;br /&gt;
    t.media.dispatchEvent(event);&lt;br /&gt;
&lt;br /&gt;
    if (!setByKeyboard) {&lt;br /&gt;
      setTimeout(function () {&lt;br /&gt;
        t.getElement(t.container).focus();&lt;br /&gt;
      }, 500);&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  hideAllTracks: function hideAllTracks() {&lt;br /&gt;
    if (this.domNode.textTracks) {&lt;br /&gt;
      for (var i = 0; i &amp;lt; this.domNode.textTracks.length; i++) {&lt;br /&gt;
        this.domNode.textTracks[i].mode = &#039;hidden&#039;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  deactivateVideoTracks: function deactivateVideoTracks() {&lt;br /&gt;
    if (this.domNode.textTracks) {&lt;br /&gt;
      for (var i = 0; i &amp;lt; this.domNode.textTracks.length; i++) {&lt;br /&gt;
        var track = this.domNode.textTracks[i];&lt;br /&gt;
        if (track.kind === &#039;subtitles&#039; || track.kind === &#039;captions&#039;) {&lt;br /&gt;
          track.mode = &#039;hidden&#039;;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  activateVideoTrack: function activateVideoTrack(srclang) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; this.domNode.textTracks.length; i++) {&lt;br /&gt;
      var track = this.domNode.textTracks[i];&lt;br /&gt;
&lt;br /&gt;
      if (track.kind === &#039;subtitles&#039; || track.kind === &#039;captions&#039;) {&lt;br /&gt;
        if (track.language === srclang) {&lt;br /&gt;
          track.mode = &#039;showing&#039;;&lt;br /&gt;
        } else {&lt;br /&gt;
          track.mode = &#039;hidden&#039;;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  checkForAutoPlay: function checkForAutoPlay() {&lt;br /&gt;
    var _this4 = this;&lt;br /&gt;
&lt;br /&gt;
    var readySubtitles = this.getSubtitles().filter(function (_ref6) {&lt;br /&gt;
      var isError = _ref6.isError;&lt;br /&gt;
      return !isError;&lt;br /&gt;
    }),&lt;br /&gt;
        autoplayTrack = readySubtitles.find(function (_ref7) {&lt;br /&gt;
      var srclang = _ref7.srclang;&lt;br /&gt;
      return _this4.options.autoplayCaptionLanguage === srclang;&lt;br /&gt;
    }) || readySubtitles.find(function (_ref8) {&lt;br /&gt;
      var isDefault = _ref8.isDefault;&lt;br /&gt;
      return isDefault;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    if (autoplayTrack) {&lt;br /&gt;
      if (this.options.toggleCaptionsButtonWhenOnlyOne &amp;amp;&amp;amp; readySubtitles.length === 1 &amp;amp;&amp;amp; this.captionsButton) {&lt;br /&gt;
        this.captionsButton.dispatchEvent((0, _general.createEvent)(&#039;click&#039;, this.captionsButton));&lt;br /&gt;
      } else {&lt;br /&gt;
        var target = _document2.default.getElementById(autoplayTrack.trackId + &#039;-btn&#039;);&lt;br /&gt;
        if (target) {&lt;br /&gt;
          target.checked = true;&lt;br /&gt;
          target.dispatchEvent((0, _general.createEvent)(&#039;click&#039;, target));&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  enableTrackButton: function enableTrackButton(track) {&lt;br /&gt;
    var t = this,&lt;br /&gt;
        lang = track.srclang,&lt;br /&gt;
        target = _document2.default.getElementById(track.trackId + &#039;-btn&#039;);&lt;br /&gt;
    if (!target) {&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var label = track.label;&lt;br /&gt;
&lt;br /&gt;
    if (label === &#039;&#039;) {&lt;br /&gt;
      label = _i18n2.default.t(_mejs2.default.language.codes[lang]) || lang;&lt;br /&gt;
    }&lt;br /&gt;
    target.disabled = false;&lt;br /&gt;
    var targetSiblings = (0, _dom.siblings)(target, function (el) {&lt;br /&gt;
      return (0, _dom.hasClass)(el, t.options.classPrefix + &#039;captions-selector-label&#039;);&lt;br /&gt;
    });&lt;br /&gt;
    for (var i = 0; i &amp;lt; targetSiblings.length; i++) {&lt;br /&gt;
      targetSiblings[i].innerHTML = label;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  removeTrackButton: function removeTrackButton(track) {&lt;br /&gt;
    var element = _document2.default.getElementById(track.trackId + &#039;-btn&#039;);&lt;br /&gt;
    if (element) {&lt;br /&gt;
      var button = element.closest(&#039;li&#039;);&lt;br /&gt;
      if (button) {&lt;br /&gt;
        button.remove();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  addTrackButton: function addTrackButton(track) {&lt;br /&gt;
    var t = this,&lt;br /&gt;
        label = track.label || _i18n2.default.t(_mejs2.default.language.codes[track.srclang]) || track.srclang;&lt;br /&gt;
&lt;br /&gt;
    t.captionsButton.querySelector(&#039;ul&#039;).innerHTML += &#039;&amp;lt;li class=&amp;quot;&#039; + t.options.classPrefix + &#039;captions-selector-list-item&amp;quot;&amp;gt;&#039; + (&#039;&amp;lt;input type=&amp;quot;radio&amp;quot; class=&amp;quot;&#039; + t.options.classPrefix + &#039;captions-selector-input&amp;quot; &#039;) + (&#039;name=&amp;quot;&#039; + t.id + &#039;_captions&amp;quot; id=&amp;quot;&#039; + track.trackId + &#039;-btn&amp;quot; value=&amp;quot;&#039; + track.trackId + &#039;&amp;quot; disabled&amp;gt;&#039;) + (&#039;&amp;lt;label class=&amp;quot;&#039; + t.options.classPrefix + &#039;captions-selector-label&amp;quot;&#039;) + (&#039;for=&amp;quot;&#039; + track.trackId + &#039;&amp;quot;&amp;gt;&#039; + label + &#039; (loading)&amp;lt;/label&amp;gt;&#039;) + &#039;&amp;lt;/li&amp;gt;&#039;;&lt;br /&gt;
  },&lt;br /&gt;
  removeCaptionsIfEmpty: function removeCaptionsIfEmpty() {&lt;br /&gt;
    if (this.captionsButton &amp;amp;&amp;amp; this.options.hideCaptionsButtonWhenEmpty) {&lt;br /&gt;
      var subtitleCount = this.getSubtitles().filter(function (_ref9) {&lt;br /&gt;
        var isError = _ref9.isError;&lt;br /&gt;
        return !isError;&lt;br /&gt;
      }).length;&lt;br /&gt;
      this.captionsButton.style.display = subtitleCount &amp;gt; 0 ? &#039;&#039; : &#039;none&#039;;&lt;br /&gt;
      this.setControlsSize();&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  drawChapters: function drawChapters(chapterTrackId) {&lt;br /&gt;
    var t = this,&lt;br /&gt;
        chapter = this.domNode.textTracks.getTrackById(chapterTrackId),&lt;br /&gt;
        numberOfChapters = chapter.cues.length;&lt;br /&gt;
&lt;br /&gt;
    if (!numberOfChapters) {&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    t.chaptersButton.querySelector(&#039;ul&#039;).innerHTML = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; numberOfChapters; i++) {&lt;br /&gt;
      t.chaptersButton.querySelector(&#039;ul&#039;).innerHTML += &#039;&amp;lt;li class=&amp;quot;&#039; + t.options.classPrefix + &#039;chapters-selector-list-item&amp;quot; &#039; + &#039;role=&amp;quot;menuitemcheckbox&amp;quot; aria-live=&amp;quot;polite&amp;quot; aria-disabled=&amp;quot;false&amp;quot; aria-checked=&amp;quot;false&amp;quot;&amp;gt;&#039; + (&#039;&amp;lt;input type=&amp;quot;radio&amp;quot; class=&amp;quot;&#039; + t.options.classPrefix + &#039;captions-selector-input&amp;quot; &#039;) + (&#039;name=&amp;quot;&#039; + t.id + &#039;_chapters&amp;quot; id=&amp;quot;&#039; + t.id + &#039;_chapters_&#039; + i + &#039;&amp;quot; value=&amp;quot;&#039; + chapter.cues[i].startTime + &#039;&amp;quot; disabled&amp;gt;&#039;) + (&#039;&amp;lt;label class=&amp;quot;&#039; + t.options.classPrefix + &#039;chapters-selector-label&amp;quot;&#039;) + (&#039;for=&amp;quot;&#039; + t.id + &#039;_chapters_&#039; + i + &#039;&amp;quot;&amp;gt;&#039; + chapter.cues[i].text + &#039;&amp;lt;/label&amp;gt;&#039;) + &#039;&amp;lt;/li&amp;gt;&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var radios = t.chaptersButton.querySelectorAll(&#039;input[type=&amp;quot;radio&amp;quot;]&#039;),&lt;br /&gt;
        labels = t.chaptersButton.querySelectorAll(&#039;.&#039; + t.options.classPrefix + &#039;chapters-selector-label&#039;);&lt;br /&gt;
&lt;br /&gt;
    for (var _i9 = 0; _i9 &amp;lt; radios.length; _i9++) {&lt;br /&gt;
      radios[_i9].disabled = false;&lt;br /&gt;
      radios[_i9].checked = false;&lt;br /&gt;
      radios[_i9].addEventListener(&#039;click&#039;, function (e) {&lt;br /&gt;
        var self = this,&lt;br /&gt;
            listItems = t.chaptersButton.querySelectorAll(&#039;li&#039;),&lt;br /&gt;
            label = (0, _dom.siblings)(self, function (el) {&lt;br /&gt;
          return (0, _dom.hasClass)(el, t.options.classPrefix + &#039;chapters-selector-label&#039;);&lt;br /&gt;
        })[0];&lt;br /&gt;
&lt;br /&gt;
        self.checked = true;&lt;br /&gt;
        self.parentNode.setAttribute(&#039;aria-checked&#039;, true);&lt;br /&gt;
        (0, _dom.addClass)(label, t.options.classPrefix + &#039;chapters-selected&#039;);&lt;br /&gt;
        (0, _dom.removeClass)(t.chaptersButton.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;chapters-selected&#039;), t.options.classPrefix + &#039;chapters-selected&#039;);&lt;br /&gt;
&lt;br /&gt;
        for (var _i10 = 0; _i10 &amp;lt; listItems.length; _i10++) {&lt;br /&gt;
          listItems[_i10].setAttribute(&#039;aria-checked&#039;, false);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var keyboard = e.keyCode || e.which;&lt;br /&gt;
        if (typeof keyboard === &#039;undefined&#039;) {&lt;br /&gt;
          setTimeout(function () {&lt;br /&gt;
            t.getElement(t.container).focus();&lt;br /&gt;
          }, 500);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        t.media.setCurrentTime(parseFloat(self.value));&lt;br /&gt;
        if (t.media.paused) {&lt;br /&gt;
          t.media.play();&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for (var _i11 = 0; _i11 &amp;lt; labels.length; _i11++) {&lt;br /&gt;
      labels[_i11].addEventListener(&#039;click&#039;, function (e) {&lt;br /&gt;
        var radio = (0, _dom.siblings)(this, function (el) {&lt;br /&gt;
          return el.tagName === &#039;INPUT&#039;;&lt;br /&gt;
        })[0],&lt;br /&gt;
            event = (0, _general.createEvent)(&#039;click&#039;, radio);&lt;br /&gt;
        radio.dispatchEvent(event);&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  getTrackById: function getTrackById(trackId) {&lt;br /&gt;
    return this.tracks.find(function (track) {&lt;br /&gt;
      return track.trackId === trackId;&lt;br /&gt;
    });&lt;br /&gt;
  },&lt;br /&gt;
  getChapters: function getChapters() {&lt;br /&gt;
    return this.tracks.filter(function (_ref10) {&lt;br /&gt;
      var kind = _ref10.kind;&lt;br /&gt;
      return kind === &#039;chapters&#039;;&lt;br /&gt;
    });&lt;br /&gt;
  },&lt;br /&gt;
  getSubtitles: function getSubtitles() {&lt;br /&gt;
    return this.tracks.filter(function (_ref11) {&lt;br /&gt;
      var kind = _ref11.kind;&lt;br /&gt;
      return kind === &#039;subtitles&#039; || kind === &#039;captions&#039;;&lt;br /&gt;
    });&lt;br /&gt;
  },&lt;br /&gt;
  searchTrackPosition: function searchTrackPosition(tracks, currentTime) {&lt;br /&gt;
    var lo = 0,&lt;br /&gt;
        hi = tracks.length - 1,&lt;br /&gt;
        mid = void 0,&lt;br /&gt;
        start = void 0,&lt;br /&gt;
        stop = void 0;&lt;br /&gt;
&lt;br /&gt;
    while (lo &amp;lt;= hi) {&lt;br /&gt;
      mid = lo + hi &amp;gt;&amp;gt; 1;&lt;br /&gt;
      start = tracks[mid].start;&lt;br /&gt;
      stop = tracks[mid].stop;&lt;br /&gt;
&lt;br /&gt;
      if (currentTime &amp;gt;= start &amp;amp;&amp;amp; currentTime &amp;lt; stop) {&lt;br /&gt;
        return mid;&lt;br /&gt;
      } else if (start &amp;lt; currentTime) {&lt;br /&gt;
        lo = mid + 1;&lt;br /&gt;
      } else if (start &amp;gt; currentTime) {&lt;br /&gt;
        hi = mid - 1;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.language = {&lt;br /&gt;
  codes: {&lt;br /&gt;
    af: &#039;mejs.afrikaans&#039;,&lt;br /&gt;
    sq: &#039;mejs.albanian&#039;,&lt;br /&gt;
    ar: &#039;mejs.arabic&#039;,&lt;br /&gt;
    be: &#039;mejs.belarusian&#039;,&lt;br /&gt;
    bg: &#039;mejs.bulgarian&#039;,&lt;br /&gt;
    ca: &#039;mejs.catalan&#039;,&lt;br /&gt;
    zh: &#039;mejs.chinese&#039;,&lt;br /&gt;
    &#039;zh-cn&#039;: &#039;mejs.chinese-simplified&#039;,&lt;br /&gt;
    &#039;zh-tw&#039;: &#039;mejs.chines-traditional&#039;,&lt;br /&gt;
    hr: &#039;mejs.croatian&#039;,&lt;br /&gt;
    cs: &#039;mejs.czech&#039;,&lt;br /&gt;
    da: &#039;mejs.danish&#039;,&lt;br /&gt;
    nl: &#039;mejs.dutch&#039;,&lt;br /&gt;
    en: &#039;mejs.english&#039;,&lt;br /&gt;
    et: &#039;mejs.estonian&#039;,&lt;br /&gt;
    fl: &#039;mejs.filipino&#039;,&lt;br /&gt;
    fi: &#039;mejs.finnish&#039;,&lt;br /&gt;
    fr: &#039;mejs.french&#039;,&lt;br /&gt;
    gl: &#039;mejs.galician&#039;,&lt;br /&gt;
    de: &#039;mejs.german&#039;,&lt;br /&gt;
    el: &#039;mejs.greek&#039;,&lt;br /&gt;
    ht: &#039;mejs.haitian-creole&#039;,&lt;br /&gt;
    iw: &#039;mejs.hebrew&#039;,&lt;br /&gt;
    hi: &#039;mejs.hindi&#039;,&lt;br /&gt;
    hu: &#039;mejs.hungarian&#039;,&lt;br /&gt;
    is: &#039;mejs.icelandic&#039;,&lt;br /&gt;
    id: &#039;mejs.indonesian&#039;,&lt;br /&gt;
    ga: &#039;mejs.irish&#039;,&lt;br /&gt;
    it: &#039;mejs.italian&#039;,&lt;br /&gt;
    ja: &#039;mejs.japanese&#039;,&lt;br /&gt;
    ko: &#039;mejs.korean&#039;,&lt;br /&gt;
    lv: &#039;mejs.latvian&#039;,&lt;br /&gt;
    lt: &#039;mejs.lithuanian&#039;,&lt;br /&gt;
    mk: &#039;mejs.macedonian&#039;,&lt;br /&gt;
    ms: &#039;mejs.malay&#039;,&lt;br /&gt;
    mt: &#039;mejs.maltese&#039;,&lt;br /&gt;
    no: &#039;mejs.norwegian&#039;,&lt;br /&gt;
    fa: &#039;mejs.persian&#039;,&lt;br /&gt;
    pl: &#039;mejs.polish&#039;,&lt;br /&gt;
    pt: &#039;mejs.portuguese&#039;,&lt;br /&gt;
    ro: &#039;mejs.romanian&#039;,&lt;br /&gt;
    ru: &#039;mejs.russian&#039;,&lt;br /&gt;
    sr: &#039;mejs.serbian&#039;,&lt;br /&gt;
    sk: &#039;mejs.slovak&#039;,&lt;br /&gt;
    sl: &#039;mejs.slovenian&#039;,&lt;br /&gt;
    es: &#039;mejs.spanish&#039;,&lt;br /&gt;
    sw: &#039;mejs.swahili&#039;,&lt;br /&gt;
    sv: &#039;mejs.swedish&#039;,&lt;br /&gt;
    tl: &#039;mejs.tagalog&#039;,&lt;br /&gt;
    th: &#039;mejs.thai&#039;,&lt;br /&gt;
    tr: &#039;mejs.turkish&#039;,&lt;br /&gt;
    uk: &#039;mejs.ukrainian&#039;,&lt;br /&gt;
    vi: &#039;mejs.vietnamese&#039;,&lt;br /&gt;
    cy: &#039;mejs.welsh&#039;,&lt;br /&gt;
    yi: &#039;mejs.yiddish&#039;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;17&amp;quot;:17,&amp;quot;2&amp;quot;:2,&amp;quot;27&amp;quot;:27,&amp;quot;28&amp;quot;:28,&amp;quot;29&amp;quot;:29,&amp;quot;6&amp;quot;:6,&amp;quot;8&amp;quot;:8}],15:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _player = _dereq_(17);&lt;br /&gt;
&lt;br /&gt;
var _player2 = _interopRequireDefault(_player);&lt;br /&gt;
&lt;br /&gt;
var _i18n = _dereq_(6);&lt;br /&gt;
&lt;br /&gt;
var _i18n2 = _interopRequireDefault(_i18n);&lt;br /&gt;
&lt;br /&gt;
var _constants = _dereq_(26);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
var _generate = _dereq_(29);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player.config, {&lt;br /&gt;
	muteText: null,&lt;br /&gt;
&lt;br /&gt;
	unmuteText: null,&lt;br /&gt;
&lt;br /&gt;
	allyVolumeControlText: null,&lt;br /&gt;
&lt;br /&gt;
	hideVolumeOnTouchDevices: true,&lt;br /&gt;
&lt;br /&gt;
	audioVolume: &#039;horizontal&#039;,&lt;br /&gt;
&lt;br /&gt;
	videoVolume: &#039;vertical&#039;,&lt;br /&gt;
&lt;br /&gt;
	startVolume: 0.8&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
Object.assign(_player2.default.prototype, {&lt;br /&gt;
	buildvolume: function buildvolume(player, controls, layers, media) {&lt;br /&gt;
		if ((_constants.IS_ANDROID || _constants.IS_IOS) &amp;amp;&amp;amp; this.options.hideVolumeOnTouchDevices) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    mode = t.isVideo ? t.options.videoVolume : t.options.audioVolume,&lt;br /&gt;
		    muteText = (0, _general.isString)(t.options.muteText) ? t.options.muteText : _i18n2.default.t(&#039;mejs.mute&#039;),&lt;br /&gt;
		    unmuteText = (0, _general.isString)(t.options.unmuteText) ? t.options.unmuteText : _i18n2.default.t(&#039;mejs.unmute&#039;),&lt;br /&gt;
		    volumeControlText = (0, _general.isString)(t.options.allyVolumeControlText) ? t.options.allyVolumeControlText : _i18n2.default.t(&#039;mejs.volume-help-text&#039;),&lt;br /&gt;
		    mute = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
&lt;br /&gt;
		mute.className = t.options.classPrefix + &#039;button &#039; + t.options.classPrefix + &#039;volume-button &#039; + t.options.classPrefix + &#039;mute&#039;;&lt;br /&gt;
		mute.innerHTML = mode === &#039;horizontal&#039; ? (0, _generate.generateControlButton)(t.id, muteText, muteText, &#039;&#039; + t.media.options.iconSprite, [&#039;icon-mute&#039;, &#039;icon-unmute&#039;], &#039;&#039; + t.options.classPrefix, &#039;&#039;, t.options.classPrefix + &#039;horizontal-volume-slider&#039;) : (0, _generate.generateControlButton)(t.id, muteText, muteText, &#039;&#039; + t.media.options.iconSprite, [&#039;icon-mute&#039;, &#039;icon-unmute&#039;], &#039;&#039; + t.options.classPrefix, &#039;&#039;, t.options.classPrefix + &#039;volume-slider&#039;) + (&#039;&amp;lt;a class=&amp;quot;&#039; + t.options.classPrefix + &#039;volume-slider&amp;quot; &#039;) + (&#039;aria-label=&amp;quot;&#039; + _i18n2.default.t(&#039;mejs.volume-slider&#039;) + &#039;&amp;quot; aria-valuemin=&amp;quot;0&amp;quot; aria-valuemax=&amp;quot;100&amp;quot; role=&amp;quot;slider&amp;quot; &#039;) + &#039;aria-orientation=&amp;quot;vertical&amp;quot;&amp;gt;&#039; + (&#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;offscreen&amp;quot; id=&amp;quot;&#039; + t.options.classPrefix + &#039;volume-slider&amp;quot;&amp;gt;&#039; + volumeControlText + &#039;&amp;lt;/span&amp;gt;&#039;) + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;volume-total&amp;quot;&amp;gt;&#039;) + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;volume-current&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;) + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;volume-handle&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;) + &#039;&amp;lt;/div&amp;gt;&#039; + &#039;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
		t.addControlElement(mute, &#039;volume&#039;);&lt;br /&gt;
&lt;br /&gt;
		t.options.keyActions.push({&lt;br /&gt;
			keys: [38],&lt;br /&gt;
			action: function action(player) {&lt;br /&gt;
				var volumeSlider = player.getElement(player.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;volume-slider&#039;);&lt;br /&gt;
				if (volumeSlider &amp;amp;&amp;amp; volumeSlider.matches(&#039;:focus&#039;)) {&lt;br /&gt;
					volumeSlider.style.display = &#039;block&#039;;&lt;br /&gt;
				}&lt;br /&gt;
				if (player.isVideo) {&lt;br /&gt;
					player.showControls();&lt;br /&gt;
					player.startControlsTimer();&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				var newVolume = Math.min(player.volume + 0.1, 1);&lt;br /&gt;
				player.setVolume(newVolume);&lt;br /&gt;
				if (newVolume &amp;gt; 0) {&lt;br /&gt;
					player.setMuted(false);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}, {&lt;br /&gt;
			keys: [40],&lt;br /&gt;
			action: function action(player) {&lt;br /&gt;
				var volumeSlider = player.getElement(player.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;volume-slider&#039;);&lt;br /&gt;
				if (volumeSlider) {&lt;br /&gt;
					volumeSlider.style.display = &#039;block&#039;;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (player.isVideo) {&lt;br /&gt;
					player.showControls();&lt;br /&gt;
					player.startControlsTimer();&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				var newVolume = Math.max(player.volume - 0.1, 0);&lt;br /&gt;
				player.setVolume(newVolume);&lt;br /&gt;
&lt;br /&gt;
				if (newVolume &amp;lt;= 0.1) {&lt;br /&gt;
					player.setMuted(true);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}, {&lt;br /&gt;
			keys: [77],&lt;br /&gt;
			action: function action(player) {&lt;br /&gt;
				var volumeSlider = player.getElement(player.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;volume-slider&#039;);&lt;br /&gt;
				if (volumeSlider) {&lt;br /&gt;
					volumeSlider.style.display = &#039;block&#039;;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (player.isVideo) {&lt;br /&gt;
					player.showControls();&lt;br /&gt;
					player.startControlsTimer();&lt;br /&gt;
				}&lt;br /&gt;
				if (player.media.muted) {&lt;br /&gt;
					player.setMuted(false);&lt;br /&gt;
				} else {&lt;br /&gt;
					player.setMuted(true);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		if (mode === &#039;horizontal&#039;) {&lt;br /&gt;
			var anchor = _document2.default.createElement(&#039;a&#039;);&lt;br /&gt;
			anchor.className = t.options.classPrefix + &#039;horizontal-volume-slider&#039;;&lt;br /&gt;
			anchor.setAttribute(&#039;aria-label&#039;, _i18n2.default.t(&#039;mejs.volume-slider&#039;));&lt;br /&gt;
			anchor.setAttribute(&#039;aria-valuemin&#039;, 0);&lt;br /&gt;
			anchor.setAttribute(&#039;aria-valuemax&#039;, 100);&lt;br /&gt;
			anchor.setAttribute(&#039;aria-valuenow&#039;, 100);&lt;br /&gt;
			anchor.setAttribute(&#039;role&#039;, &#039;slider&#039;);&lt;br /&gt;
			anchor.innerHTML += &#039;&amp;lt;span class=&amp;quot;&#039; + t.options.classPrefix + &#039;offscreen&amp;quot; id=&amp;quot;&#039; + t.options.classPrefix + &#039;horizontal-volume-slider&amp;quot;&amp;gt;&#039; + volumeControlText + &#039;&amp;lt;/span&amp;gt;&#039; + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;horizontal-volume-total&amp;quot;&amp;gt;&#039;) + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;horizontal-volume-current&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;) + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;horizontal-volume-handle&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;) + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
			mute.parentNode.insertBefore(anchor, mute.nextSibling);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var mouseIsDown = false,&lt;br /&gt;
		    mouseIsOver = false,&lt;br /&gt;
		    modified = false,&lt;br /&gt;
		    updateVolumeSlider = function updateVolumeSlider() {&lt;br /&gt;
			var volume = Math.floor(media.volume * 100);&lt;br /&gt;
			volumeSlider.setAttribute(&#039;aria-valuenow&#039;, volume);&lt;br /&gt;
			volumeSlider.setAttribute(&#039;aria-valuetext&#039;, volume + &#039;%&#039;);&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		var volumeSlider = mode === &#039;vertical&#039; ? t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;volume-slider&#039;) : t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;horizontal-volume-slider&#039;),&lt;br /&gt;
		    volumeTotal = mode === &#039;vertical&#039; ? t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;volume-total&#039;) : t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;horizontal-volume-total&#039;),&lt;br /&gt;
		    volumeCurrent = mode === &#039;vertical&#039; ? t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;volume-current&#039;) : t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;horizontal-volume-current&#039;),&lt;br /&gt;
		    volumeHandle = mode === &#039;vertical&#039; ? t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;volume-handle&#039;) : t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;horizontal-volume-handle&#039;),&lt;br /&gt;
		    positionVolumeHandle = function positionVolumeHandle(volume) {&lt;br /&gt;
&lt;br /&gt;
			if (volume === null || isNaN(volume) || volume === undefined) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			volume = Math.max(0, volume);&lt;br /&gt;
			volume = Math.min(volume, 1);&lt;br /&gt;
&lt;br /&gt;
			if (volume === 0) {&lt;br /&gt;
				(0, _dom.removeClass)(mute, t.options.classPrefix + &#039;mute&#039;);&lt;br /&gt;
				(0, _dom.addClass)(mute, t.options.classPrefix + &#039;unmute&#039;);&lt;br /&gt;
				var button = mute.firstElementChild;&lt;br /&gt;
				button.setAttribute(&#039;title&#039;, unmuteText);&lt;br /&gt;
				button.setAttribute(&#039;aria-label&#039;, unmuteText);&lt;br /&gt;
			} else {&lt;br /&gt;
				(0, _dom.removeClass)(mute, t.options.classPrefix + &#039;unmute&#039;);&lt;br /&gt;
				(0, _dom.addClass)(mute, t.options.classPrefix + &#039;mute&#039;);&lt;br /&gt;
				var _button = mute.firstElementChild;&lt;br /&gt;
				_button.setAttribute(&#039;title&#039;, muteText);&lt;br /&gt;
				_button.setAttribute(&#039;aria-label&#039;, muteText);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var volumePercentage = volume * 100 + &#039;%&#039;,&lt;br /&gt;
			    volumeStyles = getComputedStyle(volumeHandle);&lt;br /&gt;
&lt;br /&gt;
			if (mode === &#039;vertical&#039;) {&lt;br /&gt;
				volumeCurrent.style.bottom = 0;&lt;br /&gt;
				volumeCurrent.style.height = volumePercentage;&lt;br /&gt;
				volumeHandle.style.bottom = volumePercentage;&lt;br /&gt;
				volumeHandle.style.marginBottom = -parseFloat(volumeStyles.height) / 2 + &#039;px&#039;;&lt;br /&gt;
			} else {&lt;br /&gt;
				volumeCurrent.style.left = 0;&lt;br /&gt;
				volumeCurrent.style.width = volumePercentage;&lt;br /&gt;
				volumeHandle.style.left = volumePercentage;&lt;br /&gt;
				volumeHandle.style.marginLeft = -parseFloat(volumeStyles.width) / 2 + &#039;px&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		    handleVolumeMove = function handleVolumeMove(e) {&lt;br /&gt;
			var totalOffset = (0, _dom.offset)(volumeTotal),&lt;br /&gt;
			    volumeStyles = getComputedStyle(volumeTotal);&lt;br /&gt;
&lt;br /&gt;
			modified = true;&lt;br /&gt;
&lt;br /&gt;
			var volume = null;&lt;br /&gt;
&lt;br /&gt;
			if (mode === &#039;vertical&#039;) {&lt;br /&gt;
				var railHeight = parseFloat(volumeStyles.height),&lt;br /&gt;
				    newY = e.pageY - totalOffset.top;&lt;br /&gt;
&lt;br /&gt;
				volume = (railHeight - newY) / railHeight;&lt;br /&gt;
&lt;br /&gt;
				if (totalOffset.top === 0 || totalOffset.left === 0) {&lt;br /&gt;
					return;&lt;br /&gt;
				}&lt;br /&gt;
			} else {&lt;br /&gt;
				var railWidth = parseFloat(volumeStyles.width),&lt;br /&gt;
				    newX = e.pageX - totalOffset.left;&lt;br /&gt;
&lt;br /&gt;
				volume = newX / railWidth;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			volume = Math.max(0, volume);&lt;br /&gt;
			volume = Math.min(volume, 1);&lt;br /&gt;
&lt;br /&gt;
			positionVolumeHandle(volume);&lt;br /&gt;
&lt;br /&gt;
			t.setMuted(volume === 0);&lt;br /&gt;
			t.setVolume(volume);&lt;br /&gt;
&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
			e.stopPropagation();&lt;br /&gt;
		},&lt;br /&gt;
		    toggleMute = function toggleMute() {&lt;br /&gt;
			if (t.muted) {&lt;br /&gt;
				positionVolumeHandle(0);&lt;br /&gt;
				(0, _dom.removeClass)(mute, t.options.classPrefix + &#039;mute&#039;);&lt;br /&gt;
				(0, _dom.addClass)(mute, t.options.classPrefix + &#039;unmute&#039;);&lt;br /&gt;
			} else {&lt;br /&gt;
&lt;br /&gt;
				positionVolumeHandle(media.volume);&lt;br /&gt;
				(0, _dom.removeClass)(mute, t.options.classPrefix + &#039;unmute&#039;);&lt;br /&gt;
				(0, _dom.addClass)(mute, t.options.classPrefix + &#039;mute&#039;);&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		player.getElement(player.container).addEventListener(&#039;keydown&#039;, function (e) {&lt;br /&gt;
			var hasFocus = !!e.target.closest(&#039;.&#039; + t.options.classPrefix + &#039;container&#039;);&lt;br /&gt;
			if (!hasFocus &amp;amp;&amp;amp; mode === &#039;vertical&#039;) {&lt;br /&gt;
				volumeSlider.style.display = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		mute.addEventListener(&#039;mouseenter&#039;, function (e) {&lt;br /&gt;
			if (e.target === mute) {&lt;br /&gt;
				volumeSlider.style.display = &#039;block&#039;;&lt;br /&gt;
				mouseIsOver = true;&lt;br /&gt;
				e.preventDefault();&lt;br /&gt;
				e.stopPropagation();&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		mute.addEventListener(&#039;focusin&#039;, function () {&lt;br /&gt;
			volumeSlider.style.display = &#039;block&#039;;&lt;br /&gt;
			mouseIsOver = true;&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		mute.addEventListener(&#039;focusout&#039;, function (e) {&lt;br /&gt;
			if ((!e.relatedTarget || e.relatedTarget &amp;amp;&amp;amp; !e.relatedTarget.matches(&#039;.&#039; + t.options.classPrefix + &#039;volume-slider&#039;)) &amp;amp;&amp;amp; mode === &#039;vertical&#039;) {&lt;br /&gt;
				volumeSlider.style.display = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		mute.addEventListener(&#039;mouseleave&#039;, function () {&lt;br /&gt;
			mouseIsOver = false;&lt;br /&gt;
			if (!mouseIsDown &amp;amp;&amp;amp; mode === &#039;vertical&#039;) {&lt;br /&gt;
				volumeSlider.style.display = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		mute.addEventListener(&#039;focusout&#039;, function () {&lt;br /&gt;
			mouseIsOver = false;&lt;br /&gt;
		});&lt;br /&gt;
		mute.addEventListener(&#039;keydown&#039;, function (e) {&lt;br /&gt;
			if (t.options.enableKeyboard &amp;amp;&amp;amp; t.options.keyActions.length) {&lt;br /&gt;
				var keyCode = e.which || e.keyCode || 0,&lt;br /&gt;
				    volume = media.volume;&lt;br /&gt;
&lt;br /&gt;
				switch (keyCode) {&lt;br /&gt;
					case 38:&lt;br /&gt;
						volume = Math.min(volume + 0.1, 1);&lt;br /&gt;
						break;&lt;br /&gt;
					case 40:&lt;br /&gt;
						volume = Math.max(0, volume - 0.1);&lt;br /&gt;
						break;&lt;br /&gt;
					default:&lt;br /&gt;
						return true;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				mouseIsDown = false;&lt;br /&gt;
				positionVolumeHandle(volume);&lt;br /&gt;
				media.setVolume(volume);&lt;br /&gt;
&lt;br /&gt;
				e.preventDefault();&lt;br /&gt;
				e.stopPropagation();&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		mute.querySelector(&#039;button&#039;).addEventListener(&#039;click&#039;, function () {&lt;br /&gt;
			media.setMuted(!media.muted);&lt;br /&gt;
			var event = (0, _general.createEvent)(&#039;volumechange&#039;, media);&lt;br /&gt;
			media.dispatchEvent(event);&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		volumeSlider.addEventListener(&#039;dragstart&#039;, function () {&lt;br /&gt;
			return false;&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		volumeSlider.addEventListener(&#039;mouseover&#039;, function () {&lt;br /&gt;
			mouseIsOver = true;&lt;br /&gt;
		});&lt;br /&gt;
		volumeSlider.addEventListener(&#039;focusin&#039;, function () {&lt;br /&gt;
			volumeSlider.style.display = &#039;block&#039;;&lt;br /&gt;
			mouseIsOver = true;&lt;br /&gt;
		});&lt;br /&gt;
		volumeSlider.addEventListener(&#039;focusout&#039;, function () {&lt;br /&gt;
			mouseIsOver = false;&lt;br /&gt;
			if (!mouseIsDown &amp;amp;&amp;amp; mode === &#039;vertical&#039;) {&lt;br /&gt;
				volumeSlider.style.display = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		volumeSlider.addEventListener(&#039;mousedown&#039;, function (e) {&lt;br /&gt;
			handleVolumeMove(e);&lt;br /&gt;
			t.globalBind(&#039;mousemove.vol&#039;, function (event) {&lt;br /&gt;
				var target = event.target;&lt;br /&gt;
				if (mouseIsDown &amp;amp;&amp;amp; (target === volumeSlider || target.closest(mode === &#039;vertical&#039; ? &#039;.&#039; + t.options.classPrefix + &#039;volume-slider&#039; : &#039;.&#039; + t.options.classPrefix + &#039;horizontal-volume-slider&#039;))) {&lt;br /&gt;
					handleVolumeMove(event);&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			t.globalBind(&#039;mouseup.vol&#039;, function () {&lt;br /&gt;
				mouseIsDown = false;&lt;br /&gt;
				if (!mouseIsOver &amp;amp;&amp;amp; mode === &#039;vertical&#039;) {&lt;br /&gt;
					volumeSlider.style.display = &#039;none&#039;;&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
			mouseIsDown = true;&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
			e.stopPropagation();&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		media.addEventListener(&#039;volumechange&#039;, function (e) {&lt;br /&gt;
			if (!mouseIsDown) {&lt;br /&gt;
				toggleMute();&lt;br /&gt;
			}&lt;br /&gt;
			updateVolumeSlider(e);&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		var rendered = false;&lt;br /&gt;
		media.addEventListener(&#039;rendererready&#039;, function () {&lt;br /&gt;
			if (!modified) {&lt;br /&gt;
				setTimeout(function () {&lt;br /&gt;
					rendered = true;&lt;br /&gt;
					if (player.options.startVolume === 0 || media.originalNode.muted) {&lt;br /&gt;
						media.setMuted(true);&lt;br /&gt;
					}&lt;br /&gt;
					media.setVolume(player.options.startVolume);&lt;br /&gt;
					t.setControlsSize();&lt;br /&gt;
				}, 250);&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		media.addEventListener(&#039;loadedmetadata&#039;, function () {&lt;br /&gt;
			setTimeout(function () {&lt;br /&gt;
				if (!modified &amp;amp;&amp;amp; !rendered) {&lt;br /&gt;
					if (player.options.startVolume === 0 || media.originalNode.muted) {&lt;br /&gt;
						media.setMuted(true);&lt;br /&gt;
					}&lt;br /&gt;
					if (player.options.startVolume === 0) {&lt;br /&gt;
						player.options.startVolume = 0;&lt;br /&gt;
					}&lt;br /&gt;
					media.setVolume(player.options.startVolume);&lt;br /&gt;
					t.setControlsSize();&lt;br /&gt;
				}&lt;br /&gt;
				rendered = false;&lt;br /&gt;
			}, 250);&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		if (player.options.startVolume === 0 || media.originalNode.muted) {&lt;br /&gt;
			media.setMuted(true);&lt;br /&gt;
			if (player.options.startVolume === 0) {&lt;br /&gt;
				player.options.startVolume = 0;&lt;br /&gt;
			}&lt;br /&gt;
			toggleMute();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		t.getElement(t.container).addEventListener(&#039;controlsresize&#039;, function () {&lt;br /&gt;
			toggleMute();&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;17&amp;quot;:17,&amp;quot;2&amp;quot;:2,&amp;quot;26&amp;quot;:26,&amp;quot;27&amp;quot;:27,&amp;quot;28&amp;quot;:28,&amp;quot;29&amp;quot;:29,&amp;quot;6&amp;quot;:6}],16:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
var EN = exports.EN = {&lt;br /&gt;
	&#039;mejs.plural-form&#039;: 1,&lt;br /&gt;
&lt;br /&gt;
	&#039;mejs.download-file&#039;: &#039;Download File&#039;,&lt;br /&gt;
&lt;br /&gt;
	&#039;mejs.install-flash&#039;: &#039;You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/&#039;,&lt;br /&gt;
&lt;br /&gt;
	&#039;mejs.fullscreen&#039;: &#039;Fullscreen&#039;,&lt;br /&gt;
&lt;br /&gt;
	&#039;mejs.play&#039;: &#039;Play&#039;,&lt;br /&gt;
	&#039;mejs.pause&#039;: &#039;Pause&#039;,&lt;br /&gt;
&lt;br /&gt;
	&#039;mejs.time-slider&#039;: &#039;Time Slider&#039;,&lt;br /&gt;
	&#039;mejs.time-help-text&#039;: &#039;Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.&#039;,&lt;br /&gt;
	&#039;mejs.live-broadcast&#039;: &#039;Live Broadcast&#039;,&lt;br /&gt;
&lt;br /&gt;
	&#039;mejs.volume-help-text&#039;: &#039;Use Up/Down Arrow keys to increase or decrease volume.&#039;,&lt;br /&gt;
	&#039;mejs.unmute&#039;: &#039;Unmute&#039;,&lt;br /&gt;
	&#039;mejs.mute&#039;: &#039;Mute&#039;,&lt;br /&gt;
	&#039;mejs.volume-slider&#039;: &#039;Volume Slider&#039;,&lt;br /&gt;
&lt;br /&gt;
	&#039;mejs.video-player&#039;: &#039;Video Player&#039;,&lt;br /&gt;
	&#039;mejs.audio-player&#039;: &#039;Audio Player&#039;,&lt;br /&gt;
&lt;br /&gt;
	&#039;mejs.captions-subtitles&#039;: &#039;Captions/Subtitles&#039;,&lt;br /&gt;
	&#039;mejs.captions-chapters&#039;: &#039;Chapters&#039;,&lt;br /&gt;
	&#039;mejs.none&#039;: &#039;None&#039;,&lt;br /&gt;
	&#039;mejs.afrikaans&#039;: &#039;Afrikaans&#039;,&lt;br /&gt;
	&#039;mejs.albanian&#039;: &#039;Albanian&#039;,&lt;br /&gt;
	&#039;mejs.arabic&#039;: &#039;Arabic&#039;,&lt;br /&gt;
	&#039;mejs.belarusian&#039;: &#039;Belarusian&#039;,&lt;br /&gt;
	&#039;mejs.bulgarian&#039;: &#039;Bulgarian&#039;,&lt;br /&gt;
	&#039;mejs.catalan&#039;: &#039;Catalan&#039;,&lt;br /&gt;
	&#039;mejs.chinese&#039;: &#039;Chinese&#039;,&lt;br /&gt;
	&#039;mejs.chinese-simplified&#039;: &#039;Chinese (Simplified)&#039;,&lt;br /&gt;
	&#039;mejs.chinese-traditional&#039;: &#039;Chinese (Traditional)&#039;,&lt;br /&gt;
	&#039;mejs.croatian&#039;: &#039;Croatian&#039;,&lt;br /&gt;
	&#039;mejs.czech&#039;: &#039;Czech&#039;,&lt;br /&gt;
	&#039;mejs.danish&#039;: &#039;Danish&#039;,&lt;br /&gt;
	&#039;mejs.dutch&#039;: &#039;Dutch&#039;,&lt;br /&gt;
	&#039;mejs.english&#039;: &#039;English&#039;,&lt;br /&gt;
	&#039;mejs.estonian&#039;: &#039;Estonian&#039;,&lt;br /&gt;
	&#039;mejs.filipino&#039;: &#039;Filipino&#039;,&lt;br /&gt;
	&#039;mejs.finnish&#039;: &#039;Finnish&#039;,&lt;br /&gt;
	&#039;mejs.french&#039;: &#039;French&#039;,&lt;br /&gt;
	&#039;mejs.galician&#039;: &#039;Galician&#039;,&lt;br /&gt;
	&#039;mejs.german&#039;: &#039;German&#039;,&lt;br /&gt;
	&#039;mejs.greek&#039;: &#039;Greek&#039;,&lt;br /&gt;
	&#039;mejs.haitian-creole&#039;: &#039;Haitian Creole&#039;,&lt;br /&gt;
	&#039;mejs.hebrew&#039;: &#039;Hebrew&#039;,&lt;br /&gt;
	&#039;mejs.hindi&#039;: &#039;Hindi&#039;,&lt;br /&gt;
	&#039;mejs.hungarian&#039;: &#039;Hungarian&#039;,&lt;br /&gt;
	&#039;mejs.icelandic&#039;: &#039;Icelandic&#039;,&lt;br /&gt;
	&#039;mejs.indonesian&#039;: &#039;Indonesian&#039;,&lt;br /&gt;
	&#039;mejs.irish&#039;: &#039;Irish&#039;,&lt;br /&gt;
	&#039;mejs.italian&#039;: &#039;Italian&#039;,&lt;br /&gt;
	&#039;mejs.japanese&#039;: &#039;Japanese&#039;,&lt;br /&gt;
	&#039;mejs.korean&#039;: &#039;Korean&#039;,&lt;br /&gt;
	&#039;mejs.latvian&#039;: &#039;Latvian&#039;,&lt;br /&gt;
	&#039;mejs.lithuanian&#039;: &#039;Lithuanian&#039;,&lt;br /&gt;
	&#039;mejs.macedonian&#039;: &#039;Macedonian&#039;,&lt;br /&gt;
	&#039;mejs.malay&#039;: &#039;Malay&#039;,&lt;br /&gt;
	&#039;mejs.maltese&#039;: &#039;Maltese&#039;,&lt;br /&gt;
	&#039;mejs.norwegian&#039;: &#039;Norwegian&#039;,&lt;br /&gt;
	&#039;mejs.persian&#039;: &#039;Persian&#039;,&lt;br /&gt;
	&#039;mejs.polish&#039;: &#039;Polish&#039;,&lt;br /&gt;
	&#039;mejs.portuguese&#039;: &#039;Portuguese&#039;,&lt;br /&gt;
	&#039;mejs.romanian&#039;: &#039;Romanian&#039;,&lt;br /&gt;
	&#039;mejs.russian&#039;: &#039;Russian&#039;,&lt;br /&gt;
	&#039;mejs.serbian&#039;: &#039;Serbian&#039;,&lt;br /&gt;
	&#039;mejs.slovak&#039;: &#039;Slovak&#039;,&lt;br /&gt;
	&#039;mejs.slovenian&#039;: &#039;Slovenian&#039;,&lt;br /&gt;
	&#039;mejs.spanish&#039;: &#039;Spanish&#039;,&lt;br /&gt;
	&#039;mejs.swahili&#039;: &#039;Swahili&#039;,&lt;br /&gt;
	&#039;mejs.swedish&#039;: &#039;Swedish&#039;,&lt;br /&gt;
	&#039;mejs.tagalog&#039;: &#039;Tagalog&#039;,&lt;br /&gt;
	&#039;mejs.thai&#039;: &#039;Thai&#039;,&lt;br /&gt;
	&#039;mejs.turkish&#039;: &#039;Turkish&#039;,&lt;br /&gt;
	&#039;mejs.ukrainian&#039;: &#039;Ukrainian&#039;,&lt;br /&gt;
	&#039;mejs.vietnamese&#039;: &#039;Vietnamese&#039;,&lt;br /&gt;
	&#039;mejs.welsh&#039;: &#039;Welsh&#039;,&lt;br /&gt;
	&#039;mejs.yiddish&#039;: &#039;Yiddish&#039;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
},{}],17:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
exports.config = undefined;&lt;br /&gt;
&lt;br /&gt;
var _typeof = typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; typeof Symbol.iterator === &amp;quot;symbol&amp;quot; ? function (obj) { return typeof obj; } : function (obj) { return obj &amp;amp;&amp;amp; typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; obj.constructor === Symbol &amp;amp;&amp;amp; obj !== Symbol.prototype ? &amp;quot;symbol&amp;quot; : typeof obj; };&lt;br /&gt;
&lt;br /&gt;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i &amp;lt; props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (&amp;quot;value&amp;quot; in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _mediaelement = _dereq_(7);&lt;br /&gt;
&lt;br /&gt;
var _mediaelement2 = _interopRequireDefault(_mediaelement);&lt;br /&gt;
&lt;br /&gt;
var _default = _dereq_(18);&lt;br /&gt;
&lt;br /&gt;
var _default2 = _interopRequireDefault(_default);&lt;br /&gt;
&lt;br /&gt;
var _i18n = _dereq_(6);&lt;br /&gt;
&lt;br /&gt;
var _i18n2 = _interopRequireDefault(_i18n);&lt;br /&gt;
&lt;br /&gt;
var _constants = _dereq_(26);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _time = _dereq_(32);&lt;br /&gt;
&lt;br /&gt;
var _media = _dereq_(30);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
var dom = _interopRequireWildcard(_dom);&lt;br /&gt;
&lt;br /&gt;
var _generate = _dereq_(29);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireWildcard(obj) { if (obj &amp;amp;&amp;amp; obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(&amp;quot;Cannot call a class as a function&amp;quot;); } }&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.mepIndex = 0;&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.players = {};&lt;br /&gt;
&lt;br /&gt;
var config = exports.config = {&lt;br /&gt;
	poster: &#039;&#039;,&lt;br /&gt;
&lt;br /&gt;
	showPosterWhenEnded: false,&lt;br /&gt;
&lt;br /&gt;
	showPosterWhenPaused: false,&lt;br /&gt;
&lt;br /&gt;
	defaultVideoWidth: 480,&lt;br /&gt;
&lt;br /&gt;
	defaultVideoHeight: 270,&lt;br /&gt;
&lt;br /&gt;
	videoWidth: -1,&lt;br /&gt;
&lt;br /&gt;
	videoHeight: -1,&lt;br /&gt;
&lt;br /&gt;
	defaultAudioWidth: 400,&lt;br /&gt;
&lt;br /&gt;
	defaultAudioHeight: 40,&lt;br /&gt;
&lt;br /&gt;
	defaultSeekBackwardInterval: function defaultSeekBackwardInterval(media) {&lt;br /&gt;
		return media.getDuration() * 0.05;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	defaultSeekForwardInterval: function defaultSeekForwardInterval(media) {&lt;br /&gt;
		return media.getDuration() * 0.05;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	setDimensions: true,&lt;br /&gt;
&lt;br /&gt;
	audioWidth: -1,&lt;br /&gt;
&lt;br /&gt;
	audioHeight: -1,&lt;br /&gt;
&lt;br /&gt;
	loop: false,&lt;br /&gt;
&lt;br /&gt;
	autoRewind: true,&lt;br /&gt;
&lt;br /&gt;
	enableAutosize: true,&lt;br /&gt;
&lt;br /&gt;
	timeFormat: &#039;&#039;,&lt;br /&gt;
&lt;br /&gt;
	alwaysShowHours: false,&lt;br /&gt;
&lt;br /&gt;
	showTimecodeFrameCount: false,&lt;br /&gt;
&lt;br /&gt;
	framesPerSecond: 25,&lt;br /&gt;
&lt;br /&gt;
	alwaysShowControls: false,&lt;br /&gt;
&lt;br /&gt;
	hideVideoControlsOnLoad: false,&lt;br /&gt;
&lt;br /&gt;
	hideVideoControlsOnPause: false,&lt;br /&gt;
&lt;br /&gt;
	clickToPlayPause: true,&lt;br /&gt;
&lt;br /&gt;
	controlsTimeoutDefault: 1500,&lt;br /&gt;
&lt;br /&gt;
	controlsTimeoutMouseEnter: 2500,&lt;br /&gt;
&lt;br /&gt;
	controlsTimeoutMouseLeave: 1000,&lt;br /&gt;
&lt;br /&gt;
	iPadUseNativeControls: false,&lt;br /&gt;
&lt;br /&gt;
	iPhoneUseNativeControls: false,&lt;br /&gt;
&lt;br /&gt;
	AndroidUseNativeControls: false,&lt;br /&gt;
&lt;br /&gt;
	features: [&#039;playpause&#039;, &#039;current&#039;, &#039;progress&#039;, &#039;duration&#039;, &#039;tracks&#039;, &#039;volume&#039;, &#039;fullscreen&#039;],&lt;br /&gt;
&lt;br /&gt;
	useDefaultControls: false,&lt;br /&gt;
&lt;br /&gt;
	isVideo: true,&lt;br /&gt;
&lt;br /&gt;
	stretching: &#039;auto&#039;,&lt;br /&gt;
&lt;br /&gt;
	classPrefix: &#039;mejs__&#039;,&lt;br /&gt;
&lt;br /&gt;
	enableKeyboard: true,&lt;br /&gt;
&lt;br /&gt;
	pauseOtherPlayers: true,&lt;br /&gt;
&lt;br /&gt;
	secondsDecimalLength: 0,&lt;br /&gt;
&lt;br /&gt;
	customError: null,&lt;br /&gt;
&lt;br /&gt;
	keyActions: [],&lt;br /&gt;
&lt;br /&gt;
	hideScreenReaderTitle: false&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.MepDefaults = config;&lt;br /&gt;
&lt;br /&gt;
var MediaElementPlayer = function () {&lt;br /&gt;
	function MediaElementPlayer(node, o) {&lt;br /&gt;
		_classCallCheck(this, MediaElementPlayer);&lt;br /&gt;
&lt;br /&gt;
		var t = this,&lt;br /&gt;
		    element = typeof node === &#039;string&#039; ? _document2.default.getElementById(node) : node;&lt;br /&gt;
&lt;br /&gt;
		if (!(t instanceof MediaElementPlayer)) {&lt;br /&gt;
			return new MediaElementPlayer(element, o);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		t.node = t.media = element;&lt;br /&gt;
&lt;br /&gt;
		if (!t.node) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (t.media.player) {&lt;br /&gt;
			return t.media.player;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		t.hasFocus = false;&lt;br /&gt;
&lt;br /&gt;
		t.controlsAreVisible = true;&lt;br /&gt;
&lt;br /&gt;
		t.controlsEnabled = true;&lt;br /&gt;
&lt;br /&gt;
		t.controlsTimer = null;&lt;br /&gt;
&lt;br /&gt;
		t.currentMediaTime = 0;&lt;br /&gt;
&lt;br /&gt;
		t.proxy = null;&lt;br /&gt;
&lt;br /&gt;
		if (o === undefined) {&lt;br /&gt;
			var options = t.node.getAttribute(&#039;data-mejsoptions&#039;);&lt;br /&gt;
			o = options ? JSON.parse(options) : {};&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		t.options = Object.assign({}, config, o);&lt;br /&gt;
&lt;br /&gt;
		if (t.options.loop &amp;amp;&amp;amp; !t.media.getAttribute(&#039;loop&#039;)) {&lt;br /&gt;
			t.media.loop = true;&lt;br /&gt;
			t.node.loop = true;&lt;br /&gt;
		} else if (t.media.loop) {&lt;br /&gt;
			t.options.loop = true;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (!t.options.timeFormat) {&lt;br /&gt;
			t.options.timeFormat = &#039;mm:ss&#039;;&lt;br /&gt;
			if (t.options.alwaysShowHours) {&lt;br /&gt;
				t.options.timeFormat = &#039;hh:mm:ss&#039;;&lt;br /&gt;
			}&lt;br /&gt;
			if (t.options.showTimecodeFrameCount) {&lt;br /&gt;
				t.options.timeFormat += &#039;:ff&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		(0, _time.calculateTimeFormat)(0, t.options, t.options.framesPerSecond || 25);&lt;br /&gt;
&lt;br /&gt;
		t.id = &#039;mep_&#039; + _mejs2.default.mepIndex++;&lt;br /&gt;
&lt;br /&gt;
		_mejs2.default.players[t.id] = t;&lt;br /&gt;
&lt;br /&gt;
		t.init();&lt;br /&gt;
&lt;br /&gt;
		return t;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	_createClass(MediaElementPlayer, [{&lt;br /&gt;
		key: &#039;getElement&#039;,&lt;br /&gt;
		value: function getElement(element) {&lt;br /&gt;
			return element;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;init&#039;,&lt;br /&gt;
		value: function init() {&lt;br /&gt;
			var t = this,&lt;br /&gt;
			    playerOptions = Object.assign({}, t.options, {&lt;br /&gt;
				success: function success(media, domNode) {&lt;br /&gt;
					t._meReady(media, domNode);&lt;br /&gt;
				},&lt;br /&gt;
				error: function error(e) {&lt;br /&gt;
					t._handleError(e);&lt;br /&gt;
				}&lt;br /&gt;
			}),&lt;br /&gt;
			    tagName = t.node.tagName.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
			t.isDynamic = tagName !== &#039;audio&#039; &amp;amp;&amp;amp; tagName !== &#039;video&#039; &amp;amp;&amp;amp; tagName !== &#039;iframe&#039;;&lt;br /&gt;
			t.isVideo = t.isDynamic ? t.options.isVideo : tagName !== &#039;audio&#039; &amp;amp;&amp;amp; t.options.isVideo;&lt;br /&gt;
			t.mediaFiles = null;&lt;br /&gt;
			t.trackFiles = null;&lt;br /&gt;
&lt;br /&gt;
			if (_constants.IS_IPAD &amp;amp;&amp;amp; t.options.iPadUseNativeControls || _constants.IS_IPHONE &amp;amp;&amp;amp; t.options.iPhoneUseNativeControls) {&lt;br /&gt;
				t.node.setAttribute(&#039;controls&#039;, true);&lt;br /&gt;
&lt;br /&gt;
				if (_constants.IS_IPAD &amp;amp;&amp;amp; t.node.getAttribute(&#039;autoplay&#039;)) {&lt;br /&gt;
					t.play();&lt;br /&gt;
				}&lt;br /&gt;
			} else if ((t.isVideo || !t.isVideo &amp;amp;&amp;amp; (t.options.features.length || t.options.useDefaultControls)) &amp;amp;&amp;amp; !(_constants.IS_ANDROID &amp;amp;&amp;amp; t.options.AndroidUseNativeControls)) {&lt;br /&gt;
				t.node.removeAttribute(&#039;controls&#039;);&lt;br /&gt;
				var videoPlayerTitle = t.isVideo ? _i18n2.default.t(&#039;mejs.video-player&#039;) : _i18n2.default.t(&#039;mejs.audio-player&#039;);&lt;br /&gt;
&lt;br /&gt;
				if (!t.options.hideScreenReaderTitle) {&lt;br /&gt;
					var offscreen = _document2.default.createElement(&#039;span&#039;);&lt;br /&gt;
					offscreen.className = t.options.classPrefix + &#039;offscreen&#039;;&lt;br /&gt;
					offscreen.innerText = videoPlayerTitle;&lt;br /&gt;
					t.media.parentNode.insertBefore(offscreen, t.media);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				t.container = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
				t.getElement(t.container).id = t.id;&lt;br /&gt;
				t.getElement(t.container).className = t.options.classPrefix + &#039;container &#039; + t.options.classPrefix + &#039;container-keyboard-inactive &#039; + t.media.className;&lt;br /&gt;
				t.getElement(t.container).tabIndex = 0;&lt;br /&gt;
				t.getElement(t.container).setAttribute(&#039;role&#039;, &#039;application&#039;);&lt;br /&gt;
				t.getElement(t.container).setAttribute(&#039;aria-label&#039;, videoPlayerTitle);&lt;br /&gt;
				t.getElement(t.container).innerHTML = &#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;inner&amp;quot;&amp;gt;&#039; + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;mediaelement&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;) + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;layers&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;) + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;controls&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;) + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
				t.getElement(t.container).addEventListener(&#039;focus&#039;, function (e) {&lt;br /&gt;
					if (!t.controlsAreVisible &amp;amp;&amp;amp; !t.hasFocus &amp;amp;&amp;amp; t.controlsEnabled) {&lt;br /&gt;
						t.showControls(true);&lt;br /&gt;
&lt;br /&gt;
						var btnSelector = (0, _general.isNodeAfter)(e.relatedTarget, t.getElement(t.container)) ? &#039;.&#039; + t.options.classPrefix + &#039;controls .&#039; + t.options.classPrefix + &#039;button:last-child &amp;gt; button&#039; : &#039;.&#039; + t.options.classPrefix + &#039;playpause-button &amp;gt; button&#039;,&lt;br /&gt;
						    button = t.getElement(t.container).querySelector(btnSelector);&lt;br /&gt;
&lt;br /&gt;
						button.focus();&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
				t.node.parentNode.insertBefore(t.getElement(t.container), t.node);&lt;br /&gt;
&lt;br /&gt;
				if (!t.options.features.length &amp;amp;&amp;amp; !t.options.useDefaultControls) {&lt;br /&gt;
					t.getElement(t.container).style.background = &#039;transparent&#039;;&lt;br /&gt;
					t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;controls&#039;).style.display = &#039;none&#039;;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (t.isVideo &amp;amp;&amp;amp; t.options.stretching === &#039;fill&#039; &amp;amp;&amp;amp; !dom.hasClass(t.getElement(t.container).parentNode, t.options.classPrefix + &#039;fill-container&#039;)) {&lt;br /&gt;
					t.outerContainer = t.media.parentNode;&lt;br /&gt;
&lt;br /&gt;
					var wrapper = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
					wrapper.className = t.options.classPrefix + &#039;fill-container&#039;;&lt;br /&gt;
					t.getElement(t.container).parentNode.insertBefore(wrapper, t.getElement(t.container));&lt;br /&gt;
					wrapper.appendChild(t.getElement(t.container));&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (_constants.IS_ANDROID) {&lt;br /&gt;
					dom.addClass(t.getElement(t.container), t.options.classPrefix + &#039;android&#039;);&lt;br /&gt;
				}&lt;br /&gt;
				if (_constants.IS_IOS) {&lt;br /&gt;
					dom.addClass(t.getElement(t.container), t.options.classPrefix + &#039;ios&#039;);&lt;br /&gt;
				}&lt;br /&gt;
				if (_constants.IS_IPAD) {&lt;br /&gt;
					dom.addClass(t.getElement(t.container), t.options.classPrefix + &#039;ipad&#039;);&lt;br /&gt;
				}&lt;br /&gt;
				if (_constants.IS_IPHONE) {&lt;br /&gt;
					dom.addClass(t.getElement(t.container), t.options.classPrefix + &#039;iphone&#039;);&lt;br /&gt;
				}&lt;br /&gt;
				dom.addClass(t.getElement(t.container), t.isVideo ? t.options.classPrefix + &#039;video&#039; : t.options.classPrefix + &#039;audio&#039;);&lt;br /&gt;
&lt;br /&gt;
				t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;mediaelement&#039;).appendChild(t.node);&lt;br /&gt;
&lt;br /&gt;
				t.media.player = t;&lt;br /&gt;
&lt;br /&gt;
				t.controls = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;controls&#039;);&lt;br /&gt;
				t.layers = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;layers&#039;);&lt;br /&gt;
&lt;br /&gt;
				var tagType = t.isVideo ? &#039;video&#039; : &#039;audio&#039;,&lt;br /&gt;
				    capsTagName = tagType.substring(0, 1).toUpperCase() + tagType.substring(1);&lt;br /&gt;
&lt;br /&gt;
				if (t.options[tagType + &#039;Width&#039;] &amp;gt; 0 || t.options[tagType + &#039;Width&#039;].toString().indexOf(&#039;%&#039;) &amp;gt; -1) {&lt;br /&gt;
					t.width = t.options[tagType + &#039;Width&#039;];&lt;br /&gt;
				} else if (t.node.style.width !== &#039;&#039; &amp;amp;&amp;amp; t.node.style.width !== null) {&lt;br /&gt;
					t.width = t.node.style.width;&lt;br /&gt;
				} else if (t.node.getAttribute(&#039;width&#039;)) {&lt;br /&gt;
					t.width = t.node.getAttribute(&#039;width&#039;);&lt;br /&gt;
				} else {&lt;br /&gt;
					t.width = t.options[&#039;default&#039; + capsTagName + &#039;Width&#039;];&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (t.options[tagType + &#039;Height&#039;] &amp;gt; 0 || t.options[tagType + &#039;Height&#039;].toString().indexOf(&#039;%&#039;) &amp;gt; -1) {&lt;br /&gt;
					t.height = t.options[tagType + &#039;Height&#039;];&lt;br /&gt;
				} else if (t.node.style.height !== &#039;&#039; &amp;amp;&amp;amp; t.node.style.height !== null) {&lt;br /&gt;
					t.height = t.node.style.height;&lt;br /&gt;
				} else if (t.node.getAttribute(&#039;height&#039;)) {&lt;br /&gt;
					t.height = t.node.getAttribute(&#039;height&#039;);&lt;br /&gt;
				} else {&lt;br /&gt;
					t.height = t.options[&#039;default&#039; + capsTagName + &#039;Height&#039;];&lt;br /&gt;
				}&lt;br /&gt;
				t.initialAspectRatio = t.height &amp;gt;= t.width ? t.width / t.height : t.height / t.width;&lt;br /&gt;
&lt;br /&gt;
				t.setPlayerSize(t.width, t.height);&lt;br /&gt;
			} else if (!t.isVideo &amp;amp;&amp;amp; !t.options.features.length &amp;amp;&amp;amp; !t.options.useDefaultControls) {&lt;br /&gt;
					t.node.style.display = &#039;none&#039;;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
			playerOptions.pluginWidth = t.width;&lt;br /&gt;
			playerOptions.pluginHeight = t.height;&lt;br /&gt;
&lt;br /&gt;
			_mejs2.default.MepDefaults = playerOptions;&lt;br /&gt;
&lt;br /&gt;
			new _mediaelement2.default(t.media, playerOptions, t.mediaFiles);&lt;br /&gt;
&lt;br /&gt;
			if (t.getElement(t.container) !== undefined &amp;amp;&amp;amp; t.options.features.length &amp;amp;&amp;amp; t.controlsAreVisible &amp;amp;&amp;amp; !t.options.hideVideoControlsOnLoad) {&lt;br /&gt;
				var event = (0, _general.createEvent)(&#039;controlsshown&#039;, t.getElement(t.container));&lt;br /&gt;
				t.getElement(t.container).dispatchEvent(event);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;showControls&#039;,&lt;br /&gt;
		value: function showControls(doAnimation) {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			doAnimation = doAnimation === undefined || doAnimation;&lt;br /&gt;
&lt;br /&gt;
			if (t.controlsAreVisible || !t.isVideo) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (doAnimation) {&lt;br /&gt;
				(function () {&lt;br /&gt;
					dom.fadeIn(t.getElement(t.controls), 200, function () {&lt;br /&gt;
						dom.removeClass(t.getElement(t.controls), t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
						var event = (0, _general.createEvent)(&#039;controlsshown&#039;, t.getElement(t.container));&lt;br /&gt;
						t.getElement(t.container).dispatchEvent(event);&lt;br /&gt;
					});&lt;br /&gt;
&lt;br /&gt;
					var controls = t.getElement(t.container).querySelectorAll(&#039;.&#039; + t.options.classPrefix + &#039;control&#039;);&lt;br /&gt;
&lt;br /&gt;
					var _loop = function _loop(i, total) {&lt;br /&gt;
						dom.fadeIn(controls[i], 200, function () {&lt;br /&gt;
							dom.removeClass(controls[i], t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
						});&lt;br /&gt;
					};&lt;br /&gt;
&lt;br /&gt;
					for (var i = 0, total = controls.length; i &amp;lt; total; i++) {&lt;br /&gt;
						_loop(i, total);&lt;br /&gt;
					}&lt;br /&gt;
				})();&lt;br /&gt;
			} else {&lt;br /&gt;
				dom.removeClass(t.getElement(t.controls), t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
				t.getElement(t.controls).style.display = &#039;&#039;;&lt;br /&gt;
				t.getElement(t.controls).style.opacity = 1;&lt;br /&gt;
&lt;br /&gt;
				var controls = t.getElement(t.container).querySelectorAll(&#039;.&#039; + t.options.classPrefix + &#039;control&#039;);&lt;br /&gt;
				for (var i = 0, total = controls.length; i &amp;lt; total; i++) {&lt;br /&gt;
					dom.removeClass(controls[i], t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
					controls[i].style.display = &#039;&#039;;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				var event = (0, _general.createEvent)(&#039;controlsshown&#039;, t.getElement(t.container));&lt;br /&gt;
				t.getElement(t.container).dispatchEvent(event);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			t.controlsAreVisible = true;&lt;br /&gt;
			t.setControlsSize();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;hideControls&#039;,&lt;br /&gt;
		value: function hideControls(doAnimation, forceHide) {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			doAnimation = doAnimation === undefined || doAnimation;&lt;br /&gt;
&lt;br /&gt;
			if (forceHide !== true &amp;amp;&amp;amp; (!t.controlsAreVisible || t.options.alwaysShowControls || t.paused &amp;amp;&amp;amp; t.readyState === 4 &amp;amp;&amp;amp; (!t.options.hideVideoControlsOnLoad &amp;amp;&amp;amp; t.currentTime &amp;lt;= 0 || !t.options.hideVideoControlsOnPause &amp;amp;&amp;amp; t.currentTime &amp;gt; 0) || t.isVideo &amp;amp;&amp;amp; !t.options.hideVideoControlsOnLoad &amp;amp;&amp;amp; !t.readyState || t.ended)) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (doAnimation) {&lt;br /&gt;
				(function () {&lt;br /&gt;
					dom.fadeOut(t.getElement(t.controls), 200, function () {&lt;br /&gt;
						dom.addClass(t.getElement(t.controls), t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
						t.getElement(t.controls).style.display = &#039;&#039;;&lt;br /&gt;
						var event = (0, _general.createEvent)(&#039;controlshidden&#039;, t.getElement(t.container));&lt;br /&gt;
						t.getElement(t.container).dispatchEvent(event);&lt;br /&gt;
					});&lt;br /&gt;
&lt;br /&gt;
					var controls = t.getElement(t.container).querySelectorAll(&#039;.&#039; + t.options.classPrefix + &#039;control&#039;);&lt;br /&gt;
&lt;br /&gt;
					var _loop2 = function _loop2(i, total) {&lt;br /&gt;
						dom.fadeOut(controls[i], 200, function () {&lt;br /&gt;
							dom.addClass(controls[i], t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
							controls[i].style.display = &#039;&#039;;&lt;br /&gt;
						});&lt;br /&gt;
					};&lt;br /&gt;
&lt;br /&gt;
					for (var i = 0, total = controls.length; i &amp;lt; total; i++) {&lt;br /&gt;
						_loop2(i, total);&lt;br /&gt;
					}&lt;br /&gt;
				})();&lt;br /&gt;
			} else {&lt;br /&gt;
				dom.addClass(t.getElement(t.controls), t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
				t.getElement(t.controls).style.display = &#039;&#039;;&lt;br /&gt;
				t.getElement(t.controls).style.opacity = 0;&lt;br /&gt;
&lt;br /&gt;
				var controls = t.getElement(t.container).querySelectorAll(&#039;.&#039; + t.options.classPrefix + &#039;control&#039;);&lt;br /&gt;
				for (var i = 0, total = controls.length; i &amp;lt; total; i++) {&lt;br /&gt;
					dom.addClass(controls[i], t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
					controls[i].style.display = &#039;&#039;;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				var event = (0, _general.createEvent)(&#039;controlshidden&#039;, t.getElement(t.container));&lt;br /&gt;
				t.getElement(t.container).dispatchEvent(event);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			t.controlsAreVisible = false;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;startControlsTimer&#039;,&lt;br /&gt;
		value: function startControlsTimer(timeout) {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			timeout = typeof timeout !== &#039;undefined&#039; ? timeout : t.options.controlsTimeoutDefault;&lt;br /&gt;
&lt;br /&gt;
			t.killControlsTimer(&#039;start&#039;);&lt;br /&gt;
&lt;br /&gt;
			t.controlsTimer = setTimeout(function () {&lt;br /&gt;
				t.hideControls();&lt;br /&gt;
				t.killControlsTimer(&#039;hide&#039;);&lt;br /&gt;
			}, timeout);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;killControlsTimer&#039;,&lt;br /&gt;
		value: function killControlsTimer() {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			if (t.controlsTimer !== null) {&lt;br /&gt;
				clearTimeout(t.controlsTimer);&lt;br /&gt;
				delete t.controlsTimer;&lt;br /&gt;
				t.controlsTimer = null;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;disableControls&#039;,&lt;br /&gt;
		value: function disableControls() {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			t.killControlsTimer();&lt;br /&gt;
			t.controlsEnabled = false;&lt;br /&gt;
			t.hideControls(false, true);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;enableControls&#039;,&lt;br /&gt;
		value: function enableControls() {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			t.controlsEnabled = true;&lt;br /&gt;
			t.showControls(false);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;_setDefaultPlayer&#039;,&lt;br /&gt;
		value: function _setDefaultPlayer() {&lt;br /&gt;
			var t = this;&lt;br /&gt;
			if (t.proxy) {&lt;br /&gt;
				t.proxy.pause();&lt;br /&gt;
			}&lt;br /&gt;
			t.proxy = new _default2.default(t);&lt;br /&gt;
			t.media.addEventListener(&#039;loadedmetadata&#039;, function () {&lt;br /&gt;
				if (t.getCurrentTime() &amp;gt; 0 &amp;amp;&amp;amp; t.currentMediaTime &amp;gt; 0) {&lt;br /&gt;
					t.setCurrentTime(t.currentMediaTime);&lt;br /&gt;
					if (!_constants.IS_IOS &amp;amp;&amp;amp; !_constants.IS_ANDROID) {&lt;br /&gt;
						t.play();&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;_meReady&#039;,&lt;br /&gt;
		value: function _meReady(media, domNode) {&lt;br /&gt;
			var t = this,&lt;br /&gt;
			    autoplayAttr = domNode.getAttribute(&#039;autoplay&#039;),&lt;br /&gt;
			    autoplay = !(autoplayAttr === undefined || autoplayAttr === null || autoplayAttr === &#039;false&#039;),&lt;br /&gt;
			    isNative = media.rendererName !== null &amp;amp;&amp;amp; /(native|html5)/i.test(media.rendererName);&lt;br /&gt;
&lt;br /&gt;
			if (t.getElement(t.controls)) {&lt;br /&gt;
				t.enableControls();&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.getElement(t.container) &amp;amp;&amp;amp; t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;overlay-play&#039;)) {&lt;br /&gt;
				t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;overlay-play&#039;).style.display = &#039;&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.created) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			t.created = true;&lt;br /&gt;
			t.media = media;&lt;br /&gt;
			t.domNode = domNode;&lt;br /&gt;
&lt;br /&gt;
			if (!(_constants.IS_ANDROID &amp;amp;&amp;amp; t.options.AndroidUseNativeControls) &amp;amp;&amp;amp; !(_constants.IS_IPAD &amp;amp;&amp;amp; t.options.iPadUseNativeControls) &amp;amp;&amp;amp; !(_constants.IS_IPHONE &amp;amp;&amp;amp; t.options.iPhoneUseNativeControls)) {&lt;br /&gt;
				if (!t.isVideo &amp;amp;&amp;amp; !t.options.features.length &amp;amp;&amp;amp; !t.options.useDefaultControls) {&lt;br /&gt;
					if (autoplay &amp;amp;&amp;amp; isNative) {&lt;br /&gt;
						t.play();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (t.options.success) {&lt;br /&gt;
&lt;br /&gt;
						if (typeof t.options.success === &#039;string&#039;) {&lt;br /&gt;
							_window2.default[t.options.success](t.media, t.domNode, t);&lt;br /&gt;
						} else {&lt;br /&gt;
							t.options.success(t.media, t.domNode, t);&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					return;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				t.featurePosition = {};&lt;br /&gt;
&lt;br /&gt;
				t._setDefaultPlayer();&lt;br /&gt;
&lt;br /&gt;
				t.buildposter(t, t.getElement(t.controls), t.getElement(t.layers), t.media);&lt;br /&gt;
				t.buildkeyboard(t, t.getElement(t.controls), t.getElement(t.layers), t.media);&lt;br /&gt;
				t.buildoverlays(t, t.getElement(t.controls), t.getElement(t.layers), t.media);&lt;br /&gt;
&lt;br /&gt;
				if (t.options.useDefaultControls) {&lt;br /&gt;
					var defaultControls = [&#039;playpause&#039;, &#039;current&#039;, &#039;progress&#039;, &#039;duration&#039;, &#039;tracks&#039;, &#039;volume&#039;, &#039;fullscreen&#039;];&lt;br /&gt;
					t.options.features = defaultControls.concat(t.options.features.filter(function (item) {&lt;br /&gt;
						return defaultControls.indexOf(item) === -1;&lt;br /&gt;
					}));&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				t.buildfeatures(t, t.getElement(t.controls), t.getElement(t.layers), t.media);&lt;br /&gt;
&lt;br /&gt;
				var event = (0, _general.createEvent)(&#039;controlsready&#039;, t.getElement(t.container));&lt;br /&gt;
				t.getElement(t.container).dispatchEvent(event);&lt;br /&gt;
&lt;br /&gt;
				t.setPlayerSize(t.width, t.height);&lt;br /&gt;
				t.setControlsSize();&lt;br /&gt;
&lt;br /&gt;
				if (t.isVideo) {&lt;br /&gt;
					t.clickToPlayPauseCallback = function () {&lt;br /&gt;
						if (t.options.clickToPlayPause) {&lt;br /&gt;
							var button = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;overlay-button&#039;),&lt;br /&gt;
							    pressed = button.getAttribute(&#039;aria-pressed&#039;);&lt;br /&gt;
&lt;br /&gt;
							if (t.paused &amp;amp;&amp;amp; pressed) {&lt;br /&gt;
								t.pause();&lt;br /&gt;
							} else if (t.paused) {&lt;br /&gt;
								t.play();&lt;br /&gt;
							} else {&lt;br /&gt;
								t.pause();&lt;br /&gt;
							}&lt;br /&gt;
&lt;br /&gt;
							button.setAttribute(&#039;aria-pressed&#039;, !pressed);&lt;br /&gt;
							t.getElement(t.container).focus();&lt;br /&gt;
						}&lt;br /&gt;
					};&lt;br /&gt;
&lt;br /&gt;
					t.createIframeLayer();&lt;br /&gt;
&lt;br /&gt;
					t.media.addEventListener(&#039;click&#039;, t.clickToPlayPauseCallback);&lt;br /&gt;
&lt;br /&gt;
					if ((_constants.IS_ANDROID || _constants.IS_IOS) &amp;amp;&amp;amp; !t.options.alwaysShowControls) {&lt;br /&gt;
						t.node.addEventListener(&#039;touchstart&#039;, function () {&lt;br /&gt;
							if (t.controlsAreVisible) {&lt;br /&gt;
								t.hideControls(false);&lt;br /&gt;
							} else {&lt;br /&gt;
								if (t.controlsEnabled) {&lt;br /&gt;
									t.showControls(false);&lt;br /&gt;
								}&lt;br /&gt;
							}&lt;br /&gt;
						}, _constants.SUPPORT_PASSIVE_EVENT ? { passive: true } : false);&lt;br /&gt;
					} else {&lt;br /&gt;
						t.getElement(t.container).addEventListener(&#039;mouseenter&#039;, function () {&lt;br /&gt;
							if (t.controlsEnabled) {&lt;br /&gt;
								if (!t.options.alwaysShowControls) {&lt;br /&gt;
									t.killControlsTimer(&#039;enter&#039;);&lt;br /&gt;
									t.showControls();&lt;br /&gt;
									t.startControlsTimer(t.options.controlsTimeoutMouseEnter);&lt;br /&gt;
								}&lt;br /&gt;
							}&lt;br /&gt;
						});&lt;br /&gt;
						t.getElement(t.container).addEventListener(&#039;mousemove&#039;, function () {&lt;br /&gt;
							if (t.controlsEnabled) {&lt;br /&gt;
								if (!t.controlsAreVisible) {&lt;br /&gt;
									t.showControls();&lt;br /&gt;
								}&lt;br /&gt;
								if (!t.options.alwaysShowControls) {&lt;br /&gt;
									t.startControlsTimer(t.options.controlsTimeoutMouseEnter);&lt;br /&gt;
								}&lt;br /&gt;
							}&lt;br /&gt;
						});&lt;br /&gt;
						t.getElement(t.container).addEventListener(&#039;mouseleave&#039;, function () {&lt;br /&gt;
							if (t.controlsEnabled) {&lt;br /&gt;
								if (!t.paused &amp;amp;&amp;amp; !t.options.alwaysShowControls) {&lt;br /&gt;
									t.startControlsTimer(t.options.controlsTimeoutMouseLeave);&lt;br /&gt;
								}&lt;br /&gt;
							}&lt;br /&gt;
						});&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (t.options.hideVideoControlsOnLoad) {&lt;br /&gt;
						t.hideControls(false);&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (t.options.enableAutosize) {&lt;br /&gt;
						t.media.addEventListener(&#039;loadedmetadata&#039;, function (e) {&lt;br /&gt;
							var target = e !== undefined ? e.detail.target || e.target : t.media;&lt;br /&gt;
							if (t.options.videoHeight &amp;lt;= 0 &amp;amp;&amp;amp; !t.domNode.getAttribute(&#039;height&#039;) &amp;amp;&amp;amp; !t.domNode.style.height &amp;amp;&amp;amp; target !== null &amp;amp;&amp;amp; !isNaN(target.videoHeight)) {&lt;br /&gt;
								t.setPlayerSize(target.videoWidth, target.videoHeight);&lt;br /&gt;
								t.setControlsSize();&lt;br /&gt;
								t.media.setSize(target.videoWidth, target.videoHeight);&lt;br /&gt;
							}&lt;br /&gt;
						});&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				t.media.addEventListener(&#039;play&#039;, function () {&lt;br /&gt;
					t.hasFocus = true;&lt;br /&gt;
&lt;br /&gt;
					for (var playerIndex in _mejs2.default.players) {&lt;br /&gt;
						if (_mejs2.default.players.hasOwnProperty(playerIndex)) {&lt;br /&gt;
							var p = _mejs2.default.players[playerIndex];&lt;br /&gt;
&lt;br /&gt;
							if (p.id !== t.id &amp;amp;&amp;amp; t.options.pauseOtherPlayers &amp;amp;&amp;amp; !p.paused &amp;amp;&amp;amp; !p.ended &amp;amp;&amp;amp; p.options.ignorePauseOtherPlayersOption !== true) {&lt;br /&gt;
								p.pause();&lt;br /&gt;
								p.hasFocus = false;&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (!(_constants.IS_ANDROID || _constants.IS_IOS) &amp;amp;&amp;amp; !t.options.alwaysShowControls &amp;amp;&amp;amp; t.isVideo) {&lt;br /&gt;
						t.hideControls();&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
&lt;br /&gt;
				t.media.addEventListener(&#039;ended&#039;, function () {&lt;br /&gt;
					if (t.options.autoRewind) {&lt;br /&gt;
						try {&lt;br /&gt;
							t.setCurrentTime(0);&lt;br /&gt;
&lt;br /&gt;
							setTimeout(function () {&lt;br /&gt;
								var loadingElement = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;overlay-loading&#039;);&lt;br /&gt;
								if (loadingElement &amp;amp;&amp;amp; loadingElement.parentNode) {&lt;br /&gt;
									loadingElement.parentNode.style.display = &#039;none&#039;;&lt;br /&gt;
								}&lt;br /&gt;
							}, 20);&lt;br /&gt;
						} catch (exp) {&lt;br /&gt;
							&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (typeof t.media.renderer.stop === &#039;function&#039;) {&lt;br /&gt;
						t.media.renderer.stop();&lt;br /&gt;
					} else {&lt;br /&gt;
						t.pause();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (t.setProgressRail) {&lt;br /&gt;
						t.setProgressRail();&lt;br /&gt;
					}&lt;br /&gt;
					if (t.setCurrentRail) {&lt;br /&gt;
						t.setCurrentRail();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (t.options.loop) {&lt;br /&gt;
						t.play();&lt;br /&gt;
					} else if (!t.options.alwaysShowControls &amp;amp;&amp;amp; t.controlsEnabled) {&lt;br /&gt;
						t.showControls();&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
&lt;br /&gt;
				t.media.addEventListener(&#039;loadedmetadata&#039;, function () {&lt;br /&gt;
&lt;br /&gt;
					(0, _time.calculateTimeFormat)(t.getDuration(), t.options, t.options.framesPerSecond || 25);&lt;br /&gt;
&lt;br /&gt;
					if (t.updateDuration) {&lt;br /&gt;
						t.updateDuration();&lt;br /&gt;
					}&lt;br /&gt;
					if (t.updateCurrent) {&lt;br /&gt;
						t.updateCurrent();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (!t.isFullScreen) {&lt;br /&gt;
						t.setPlayerSize(t.width, t.height);&lt;br /&gt;
						t.setControlsSize();&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
&lt;br /&gt;
				var duration = null;&lt;br /&gt;
				t.media.addEventListener(&#039;timeupdate&#039;, function () {&lt;br /&gt;
					if (!isNaN(t.getDuration()) &amp;amp;&amp;amp; duration !== t.getDuration()) {&lt;br /&gt;
						duration = t.getDuration();&lt;br /&gt;
						(0, _time.calculateTimeFormat)(duration, t.options, t.options.framesPerSecond || 25);&lt;br /&gt;
&lt;br /&gt;
						if (t.updateDuration) {&lt;br /&gt;
							t.updateDuration();&lt;br /&gt;
						}&lt;br /&gt;
						if (t.updateCurrent) {&lt;br /&gt;
							t.updateCurrent();&lt;br /&gt;
						}&lt;br /&gt;
&lt;br /&gt;
						t.setControlsSize();&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
&lt;br /&gt;
				t.getElement(t.container).addEventListener(&#039;click&#039;, function (e) {&lt;br /&gt;
					dom.addClass(e.currentTarget, t.options.classPrefix + &#039;container-keyboard-inactive&#039;);&lt;br /&gt;
				});&lt;br /&gt;
&lt;br /&gt;
				t.getElement(t.container).addEventListener(&#039;focusin&#039;, function (e) {&lt;br /&gt;
					dom.removeClass(e.currentTarget, t.options.classPrefix + &#039;container-keyboard-inactive&#039;);&lt;br /&gt;
					if (t.isVideo &amp;amp;&amp;amp; !_constants.IS_ANDROID &amp;amp;&amp;amp; !_constants.IS_IOS &amp;amp;&amp;amp; t.controlsEnabled &amp;amp;&amp;amp; !t.options.alwaysShowControls) {&lt;br /&gt;
						t.killControlsTimer(&#039;enter&#039;);&lt;br /&gt;
						t.showControls();&lt;br /&gt;
						t.startControlsTimer(t.options.controlsTimeoutMouseEnter);&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
&lt;br /&gt;
				t.getElement(t.container).addEventListener(&#039;focusout&#039;, function (e) {&lt;br /&gt;
					setTimeout(function () {&lt;br /&gt;
						if (e.relatedTarget) {&lt;br /&gt;
							if (t.keyboardAction &amp;amp;&amp;amp; !e.relatedTarget.closest(&#039;.&#039; + t.options.classPrefix + &#039;container&#039;)) {&lt;br /&gt;
								t.keyboardAction = false;&lt;br /&gt;
								if (t.isVideo &amp;amp;&amp;amp; !t.options.alwaysShowControls &amp;amp;&amp;amp; !t.paused) {&lt;br /&gt;
									t.startControlsTimer(t.options.controlsTimeoutMouseLeave);&lt;br /&gt;
								}&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
					}, 0);&lt;br /&gt;
				});&lt;br /&gt;
&lt;br /&gt;
				setTimeout(function () {&lt;br /&gt;
					t.setPlayerSize(t.width, t.height);&lt;br /&gt;
					t.setControlsSize();&lt;br /&gt;
				}, 0);&lt;br /&gt;
&lt;br /&gt;
				t.globalResizeCallback = function () {&lt;br /&gt;
					if (!(t.isFullScreen || _constants.HAS_TRUE_NATIVE_FULLSCREEN &amp;amp;&amp;amp; _document2.default.webkitIsFullScreen)) {&lt;br /&gt;
						t.setPlayerSize(t.width, t.height);&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					t.setControlsSize();&lt;br /&gt;
				};&lt;br /&gt;
&lt;br /&gt;
				t.globalBind(&#039;resize&#039;, t.globalResizeCallback);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (autoplay &amp;amp;&amp;amp; isNative) {&lt;br /&gt;
				t.play();&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.options.success) {&lt;br /&gt;
				if (typeof t.options.success === &#039;string&#039;) {&lt;br /&gt;
					_window2.default[t.options.success](t.media, t.domNode, t);&lt;br /&gt;
				} else {&lt;br /&gt;
					t.options.success(t.media, t.domNode, t);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;_handleError&#039;,&lt;br /&gt;
		value: function _handleError(e, media, node) {&lt;br /&gt;
			var t = this,&lt;br /&gt;
			    play = t.getElement(t.layers).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;overlay-play&#039;);&lt;br /&gt;
&lt;br /&gt;
			if (play) {&lt;br /&gt;
				play.style.display = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.options.error) {&lt;br /&gt;
				t.options.error(e, media, node);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;cannotplay&#039;)) {&lt;br /&gt;
				t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;cannotplay&#039;).remove();&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var errorContainer = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
			errorContainer.className = t.options.classPrefix + &#039;cannotplay&#039;;&lt;br /&gt;
			errorContainer.style.width = &#039;100%&#039;;&lt;br /&gt;
			errorContainer.style.height = &#039;100%&#039;;&lt;br /&gt;
&lt;br /&gt;
			var errorContent = typeof t.options.customError === &#039;function&#039; ? t.options.customError(t.media, t.media.originalNode) : t.options.customError,&lt;br /&gt;
			    imgError = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
			if (!errorContent) {&lt;br /&gt;
				var poster = t.media.originalNode.getAttribute(&#039;poster&#039;);&lt;br /&gt;
				if (poster) {&lt;br /&gt;
					imgError = &#039;&amp;lt;img src=&amp;quot;&#039; + poster + &#039;&amp;quot; alt=&amp;quot;&#039; + _mejs2.default.i18n.t(&#039;mejs.download-file&#039;) + &#039;&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (e.message) {&lt;br /&gt;
					errorContent = &#039;&amp;lt;p&amp;gt;&#039; + e.message + &#039;&amp;lt;/p&amp;gt;&#039;;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (e.urls) {&lt;br /&gt;
					for (var i = 0, total = e.urls.length; i &amp;lt; total; i++) {&lt;br /&gt;
						var url = e.urls[i];&lt;br /&gt;
						errorContent += &#039;&amp;lt;a href=&amp;quot;&#039; + url.src + &#039;&amp;quot; data-type=&amp;quot;&#039; + url.type + &#039;&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&#039; + _mejs2.default.i18n.t(&#039;mejs.download-file&#039;) + &#039;: &#039; + url.src + &#039;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (errorContent &amp;amp;&amp;amp; t.getElement(t.layers).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;overlay-error&#039;)) {&lt;br /&gt;
				errorContainer.innerHTML = errorContent;&lt;br /&gt;
				t.getElement(t.layers).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;overlay-error&#039;).innerHTML = &#039;&#039; + imgError + errorContainer.outerHTML;&lt;br /&gt;
				t.getElement(t.layers).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;overlay-error&#039;).parentNode.style.display = &#039;block&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.controlsEnabled) {&lt;br /&gt;
				t.disableControls();&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setPlayerSize&#039;,&lt;br /&gt;
		value: function setPlayerSize(width, height) {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			if (!t.options.setDimensions) {&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (typeof width !== &#039;undefined&#039;) {&lt;br /&gt;
				t.width = width;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (typeof height !== &#039;undefined&#039;) {&lt;br /&gt;
				t.height = height;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			switch (t.options.stretching) {&lt;br /&gt;
				case &#039;fill&#039;:&lt;br /&gt;
					if (t.isVideo) {&lt;br /&gt;
						t.setFillMode();&lt;br /&gt;
					} else {&lt;br /&gt;
						t.setDimensions(t.width, t.height);&lt;br /&gt;
					}&lt;br /&gt;
					break;&lt;br /&gt;
				case &#039;responsive&#039;:&lt;br /&gt;
					t.setResponsiveMode();&lt;br /&gt;
					break;&lt;br /&gt;
				case &#039;none&#039;:&lt;br /&gt;
					t.setDimensions(t.width, t.height);&lt;br /&gt;
					break;&lt;br /&gt;
&lt;br /&gt;
				default:&lt;br /&gt;
					if (t.hasFluidMode() === true) {&lt;br /&gt;
						t.setResponsiveMode();&lt;br /&gt;
					} else {&lt;br /&gt;
						t.setDimensions(t.width, t.height);&lt;br /&gt;
					}&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;hasFluidMode&#039;,&lt;br /&gt;
		value: function hasFluidMode() {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			return t.height.toString().indexOf(&#039;%&#039;) !== -1 || t.node &amp;amp;&amp;amp; t.node.style.maxWidth &amp;amp;&amp;amp; t.node.style.maxWidth !== &#039;none&#039; &amp;amp;&amp;amp; t.node.style.maxWidth !== t.width || t.node &amp;amp;&amp;amp; t.node.currentStyle &amp;amp;&amp;amp; t.node.currentStyle.maxWidth === &#039;100%&#039;;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setResponsiveMode&#039;,&lt;br /&gt;
		value: function setResponsiveMode() {&lt;br /&gt;
			var t = this,&lt;br /&gt;
			    parent = function () {&lt;br /&gt;
				var parentEl = void 0,&lt;br /&gt;
				    el = t.getElement(t.container);&lt;br /&gt;
&lt;br /&gt;
				while (el) {&lt;br /&gt;
					try {&lt;br /&gt;
						if (_constants.IS_FIREFOX &amp;amp;&amp;amp; el.tagName.toLowerCase() === &#039;html&#039; &amp;amp;&amp;amp; _window2.default.self !== _window2.default.top &amp;amp;&amp;amp; _window2.default.frameElement !== null) {&lt;br /&gt;
							return _window2.default.frameElement;&lt;br /&gt;
						} else {&lt;br /&gt;
							parentEl = el.parentElement;&lt;br /&gt;
						}&lt;br /&gt;
					} catch (e) {&lt;br /&gt;
						parentEl = el.parentElement;&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (parentEl &amp;amp;&amp;amp; dom.visible(parentEl)) {&lt;br /&gt;
						return parentEl;&lt;br /&gt;
					}&lt;br /&gt;
					el = parentEl;&lt;br /&gt;
				}&lt;br /&gt;
				return null;&lt;br /&gt;
			}(),&lt;br /&gt;
			    parentStyles = parent ? getComputedStyle(parent, null) : getComputedStyle(_document2.default.body, null),&lt;br /&gt;
			    nativeWidth = function () {&lt;br /&gt;
				if (t.isVideo) {&lt;br /&gt;
					if (t.node.videoWidth &amp;amp;&amp;amp; t.node.videoWidth &amp;gt; 0) {&lt;br /&gt;
						return t.node.videoWidth;&lt;br /&gt;
					} else if (t.node.getAttribute(&#039;width&#039;)) {&lt;br /&gt;
						return t.node.getAttribute(&#039;width&#039;);&lt;br /&gt;
					} else {&lt;br /&gt;
						return t.options.defaultVideoWidth;&lt;br /&gt;
					}&lt;br /&gt;
				} else {&lt;br /&gt;
					return t.options.defaultAudioWidth;&lt;br /&gt;
				}&lt;br /&gt;
			}(),&lt;br /&gt;
			    nativeHeight = function () {&lt;br /&gt;
				if (t.isVideo) {&lt;br /&gt;
					if (t.node.videoHeight &amp;amp;&amp;amp; t.node.videoHeight &amp;gt; 0) {&lt;br /&gt;
						return t.node.videoHeight;&lt;br /&gt;
					} else if (t.node.getAttribute(&#039;height&#039;)) {&lt;br /&gt;
						return t.node.getAttribute(&#039;height&#039;);&lt;br /&gt;
					} else {&lt;br /&gt;
						return t.options.defaultVideoHeight;&lt;br /&gt;
					}&lt;br /&gt;
				} else {&lt;br /&gt;
					return t.options.defaultAudioHeight;&lt;br /&gt;
				}&lt;br /&gt;
			}(),&lt;br /&gt;
			    aspectRatio = function () {&lt;br /&gt;
				if (!t.options.enableAutosize) {&lt;br /&gt;
					return t.initialAspectRatio;&lt;br /&gt;
				}&lt;br /&gt;
				var ratio = 1;&lt;br /&gt;
				if (!t.isVideo) {&lt;br /&gt;
					return ratio;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (t.node.videoWidth &amp;amp;&amp;amp; t.node.videoWidth &amp;gt; 0 &amp;amp;&amp;amp; t.node.videoHeight &amp;amp;&amp;amp; t.node.videoHeight &amp;gt; 0) {&lt;br /&gt;
					ratio = t.height &amp;gt;= t.width ? t.node.videoWidth / t.node.videoHeight : t.node.videoHeight / t.node.videoWidth;&lt;br /&gt;
				} else {&lt;br /&gt;
					ratio = t.initialAspectRatio;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (isNaN(ratio) || ratio &amp;lt; 0.01 || ratio &amp;gt; 100) {&lt;br /&gt;
					ratio = 1;&lt;br /&gt;
				}&lt;br /&gt;
				return ratio;&lt;br /&gt;
			}(),&lt;br /&gt;
			    parentHeight = parseFloat(parentStyles.height);&lt;br /&gt;
&lt;br /&gt;
			var newHeight = void 0,&lt;br /&gt;
			    parentWidth = parseFloat(parentStyles.width);&lt;br /&gt;
&lt;br /&gt;
			if (t.isVideo) {&lt;br /&gt;
				if (t.height === &#039;100%&#039;) {&lt;br /&gt;
					newHeight = parseFloat(parentWidth * nativeHeight / nativeWidth, 10);&lt;br /&gt;
				} else {&lt;br /&gt;
					newHeight = t.height &amp;gt;= t.width ? parseFloat(parentWidth / aspectRatio, 10) : parseFloat(parentWidth * aspectRatio, 10);&lt;br /&gt;
				}&lt;br /&gt;
			} else {&lt;br /&gt;
				newHeight = nativeHeight;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (newHeight &amp;lt;= t.container.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;inner&#039;).offsetHeight) {&lt;br /&gt;
				newHeight = t.container.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;inner&#039;).offsetHeight;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (isNaN(newHeight)) {&lt;br /&gt;
				newHeight = parentHeight;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.getElement(t.container).parentNode.length &amp;gt; 0 &amp;amp;&amp;amp; t.getElement(t.container).parentNode.tagName.toLowerCase() === &#039;body&#039;) {&lt;br /&gt;
				parentWidth = _window2.default.innerWidth || _document2.default.documentElement.clientWidth || _document2.default.body.clientWidth;&lt;br /&gt;
				newHeight = _window2.default.innerHeight || _document2.default.documentElement.clientHeight || _document2.default.body.clientHeight;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (newHeight &amp;amp;&amp;amp; parentWidth) {&lt;br /&gt;
				t.getElement(t.container).style.width = parentWidth + &#039;px&#039;;&lt;br /&gt;
				t.getElement(t.container).style.height = newHeight + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
				t.node.style.width = &#039;100%&#039;;&lt;br /&gt;
				t.node.style.height = &#039;100%&#039;;&lt;br /&gt;
&lt;br /&gt;
				if (t.isVideo &amp;amp;&amp;amp; t.media.setSize) {&lt;br /&gt;
					t.media.setSize(parentWidth, newHeight);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (newHeight &amp;lt;= t.container.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;inner&#039;).offsetHeight) {&lt;br /&gt;
					t.node.style.width = &#039;auto&#039;;&lt;br /&gt;
					t.node.style.height = &#039;auto&#039;;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				var layerChildren = t.getElement(t.layers).children;&lt;br /&gt;
				for (var i = 0, total = layerChildren.length; i &amp;lt; total; i++) {&lt;br /&gt;
					layerChildren[i].style.width = &#039;100%&#039;;&lt;br /&gt;
					layerChildren[i].style.height = &#039;100%&#039;;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setFillMode&#039;,&lt;br /&gt;
		value: function setFillMode() {&lt;br /&gt;
			var t = this;&lt;br /&gt;
			var isIframe = _window2.default.self !== _window2.default.top &amp;amp;&amp;amp; _window2.default.frameElement !== null;&lt;br /&gt;
			var parent = function () {&lt;br /&gt;
				var parentEl = void 0,&lt;br /&gt;
				    el = t.getElement(t.container);&lt;br /&gt;
&lt;br /&gt;
				while (el) {&lt;br /&gt;
					try {&lt;br /&gt;
						if (_constants.IS_FIREFOX &amp;amp;&amp;amp; el.tagName.toLowerCase() === &#039;html&#039; &amp;amp;&amp;amp; _window2.default.self !== _window2.default.top &amp;amp;&amp;amp; _window2.default.frameElement !== null) {&lt;br /&gt;
							return _window2.default.frameElement;&lt;br /&gt;
						} else {&lt;br /&gt;
							parentEl = el.parentElement;&lt;br /&gt;
						}&lt;br /&gt;
					} catch (e) {&lt;br /&gt;
						parentEl = el.parentElement;&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (parentEl &amp;amp;&amp;amp; dom.visible(parentEl)) {&lt;br /&gt;
						return parentEl;&lt;br /&gt;
					}&lt;br /&gt;
					el = parentEl;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				return null;&lt;br /&gt;
			}();&lt;br /&gt;
			var parentStyles = parent ? getComputedStyle(parent, null) : getComputedStyle(_document2.default.body, null);&lt;br /&gt;
&lt;br /&gt;
			if (t.node.style.height !== &#039;none&#039; &amp;amp;&amp;amp; t.node.style.height !== t.height) {&lt;br /&gt;
				t.node.style.height = &#039;auto&#039;;&lt;br /&gt;
			}&lt;br /&gt;
			if (t.node.style.maxWidth !== &#039;none&#039; &amp;amp;&amp;amp; t.node.style.maxWidth !== t.width) {&lt;br /&gt;
				t.node.style.maxWidth = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.node.style.maxHeight !== &#039;none&#039; &amp;amp;&amp;amp; t.node.style.maxHeight !== t.height) {&lt;br /&gt;
				t.node.style.maxHeight = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.node.currentStyle) {&lt;br /&gt;
				if (t.node.currentStyle.height === &#039;100%&#039;) {&lt;br /&gt;
					t.node.currentStyle.height = &#039;auto&#039;;&lt;br /&gt;
				}&lt;br /&gt;
				if (t.node.currentStyle.maxWidth === &#039;100%&#039;) {&lt;br /&gt;
					t.node.currentStyle.maxWidth = &#039;none&#039;;&lt;br /&gt;
				}&lt;br /&gt;
				if (t.node.currentStyle.maxHeight === &#039;100%&#039;) {&lt;br /&gt;
					t.node.currentStyle.maxHeight = &#039;none&#039;;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (!isIframe &amp;amp;&amp;amp; !parseFloat(parentStyles.width)) {&lt;br /&gt;
				parent.style.width = t.media.offsetWidth + &#039;px&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (!isIframe &amp;amp;&amp;amp; !parseFloat(parentStyles.height)) {&lt;br /&gt;
				parent.style.height = t.media.offsetHeight + &#039;px&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			parentStyles = getComputedStyle(parent);&lt;br /&gt;
&lt;br /&gt;
			var parentWidth = parseFloat(parentStyles.width),&lt;br /&gt;
			    parentHeight = parseFloat(parentStyles.height);&lt;br /&gt;
			t.setDimensions(&#039;100%&#039;, &#039;100%&#039;);&lt;br /&gt;
&lt;br /&gt;
			var poster = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;poster&amp;gt;img&#039;);&lt;br /&gt;
			if (poster) {&lt;br /&gt;
				poster.style.display = &#039;&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var targetElement = t.getElement(t.container).querySelectorAll(&#039;object, embed, iframe, video&#039;),&lt;br /&gt;
			    initHeight = t.height,&lt;br /&gt;
			    initWidth = t.width,&lt;br /&gt;
			    scaleX1 = parentWidth,&lt;br /&gt;
			    scaleY1 = initHeight * parentWidth / initWidth,&lt;br /&gt;
			    scaleX2 = initWidth * parentHeight / initHeight,&lt;br /&gt;
			    scaleY2 = parentHeight,&lt;br /&gt;
			    bScaleOnWidth = scaleX2 &amp;gt; parentWidth === false,&lt;br /&gt;
			    finalWidth = bScaleOnWidth ? Math.floor(scaleX1) : Math.floor(scaleX2),&lt;br /&gt;
			    finalHeight = bScaleOnWidth ? Math.floor(scaleY1) : Math.floor(scaleY2),&lt;br /&gt;
			    width = bScaleOnWidth ? parentWidth + &#039;px&#039; : finalWidth + &#039;px&#039;,&lt;br /&gt;
			    height = bScaleOnWidth ? finalHeight + &#039;px&#039; : parentHeight + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
			for (var i = 0, total = targetElement.length; i &amp;lt; total; i++) {&lt;br /&gt;
				targetElement[i].style.height = height;&lt;br /&gt;
				targetElement[i].style.width = width;&lt;br /&gt;
				if (t.media.setSize) {&lt;br /&gt;
					t.media.setSize(width, height);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				targetElement[i].style.marginLeft = Math.floor((parentWidth - finalWidth) / 2) + &#039;px&#039;;&lt;br /&gt;
				targetElement[i].style.marginTop = 0;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setDimensions&#039;,&lt;br /&gt;
		value: function setDimensions(width, height) {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			width = (0, _general.isString)(width) &amp;amp;&amp;amp; width.indexOf(&#039;%&#039;) &amp;gt; -1 ? width : parseFloat(width) + &#039;px&#039;;&lt;br /&gt;
			height = (0, _general.isString)(height) &amp;amp;&amp;amp; height.indexOf(&#039;%&#039;) &amp;gt; -1 ? height : parseFloat(height) + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
			t.getElement(t.container).style.width = width;&lt;br /&gt;
			t.getElement(t.container).style.height = height;&lt;br /&gt;
&lt;br /&gt;
			var layers = t.getElement(t.layers).children;&lt;br /&gt;
			for (var i = 0, total = layers.length; i &amp;lt; total; i++) {&lt;br /&gt;
				layers[i].style.width = width;&lt;br /&gt;
				layers[i].style.height = height;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setControlsSize&#039;,&lt;br /&gt;
		value: function setControlsSize() {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			if (!dom.visible(t.getElement(t.container))) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (!(t.rail &amp;amp;&amp;amp; dom.visible(t.rail))) {&lt;br /&gt;
				var children = t.getElement(t.controls).children;&lt;br /&gt;
				var minWidth = 0;&lt;br /&gt;
&lt;br /&gt;
				for (var i = 0, total = children.length; i &amp;lt; total; i++) {&lt;br /&gt;
					minWidth += children[i].offsetWidth;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				t.getElement(t.container).style.minWidth = minWidth + &#039;px&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;addControlElement&#039;,&lt;br /&gt;
		value: function addControlElement(element, key) {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			if (t.featurePosition[key] !== undefined) {&lt;br /&gt;
				var child = t.getElement(t.controls).children[t.featurePosition[key] - 1];&lt;br /&gt;
				child.parentNode.insertBefore(element, child.nextSibling);&lt;br /&gt;
			} else {&lt;br /&gt;
				t.getElement(t.controls).appendChild(element);&lt;br /&gt;
				var children = t.getElement(t.controls).children;&lt;br /&gt;
				for (var i = 0, total = children.length; i &amp;lt; total; i++) {&lt;br /&gt;
					if (element === children[i]) {&lt;br /&gt;
						t.featurePosition[key] = i;&lt;br /&gt;
						break;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;createIframeLayer&#039;,&lt;br /&gt;
		value: function createIframeLayer() {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			if (t.isVideo &amp;amp;&amp;amp; t.media.rendererName !== null &amp;amp;&amp;amp; t.media.rendererName.indexOf(&#039;iframe&#039;) &amp;gt; -1 &amp;amp;&amp;amp; !_document2.default.getElementById(t.media.id + &#039;-iframe-overlay&#039;)) {&lt;br /&gt;
&lt;br /&gt;
				var layer = _document2.default.createElement(&#039;div&#039;),&lt;br /&gt;
				    target = _document2.default.getElementById(t.media.id + &#039;_&#039; + t.media.rendererName);&lt;br /&gt;
&lt;br /&gt;
				layer.id = t.media.id + &#039;-iframe-overlay&#039;;&lt;br /&gt;
				layer.className = t.options.classPrefix + &#039;iframe-overlay&#039;;&lt;br /&gt;
				layer.addEventListener(&#039;click&#039;, function (e) {&lt;br /&gt;
					if (t.options.clickToPlayPause) {&lt;br /&gt;
						if (t.paused) {&lt;br /&gt;
							t.play();&lt;br /&gt;
						} else {&lt;br /&gt;
							t.pause();&lt;br /&gt;
						}&lt;br /&gt;
&lt;br /&gt;
						e.preventDefault();&lt;br /&gt;
						e.stopPropagation();&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
&lt;br /&gt;
				target.parentNode.insertBefore(layer, target);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;resetSize&#039;,&lt;br /&gt;
		value: function resetSize() {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			setTimeout(function () {&lt;br /&gt;
				t.setPlayerSize(t.width, t.height);&lt;br /&gt;
				t.setControlsSize();&lt;br /&gt;
			}, 50);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setPoster&#039;,&lt;br /&gt;
		value: function setPoster(url) {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			if (t.getElement(t.container)) {&lt;br /&gt;
				var posterDiv = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;poster&#039;);&lt;br /&gt;
&lt;br /&gt;
				if (!posterDiv) {&lt;br /&gt;
					posterDiv = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
					posterDiv.className = t.options.classPrefix + &#039;poster &#039; + t.options.classPrefix + &#039;layer&#039;;&lt;br /&gt;
					t.getElement(t.layers).appendChild(posterDiv);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				var posterImg = posterDiv.querySelector(&#039;img&#039;);&lt;br /&gt;
&lt;br /&gt;
				if (!posterImg &amp;amp;&amp;amp; url) {&lt;br /&gt;
					posterImg = _document2.default.createElement(&#039;img&#039;);&lt;br /&gt;
					posterImg.alt = &#039;&#039;;&lt;br /&gt;
					posterImg.className = t.options.classPrefix + &#039;poster-img&#039;;&lt;br /&gt;
					posterImg.width = &#039;100%&#039;;&lt;br /&gt;
					posterImg.height = &#039;100%&#039;;&lt;br /&gt;
					posterDiv.style.display = &#039;&#039;;&lt;br /&gt;
					posterDiv.appendChild(posterImg);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (url) {&lt;br /&gt;
					posterImg.setAttribute(&#039;src&#039;, url);&lt;br /&gt;
					posterDiv.style.backgroundImage = &#039;url(&amp;quot;&#039; + url + &#039;&amp;quot;)&#039;;&lt;br /&gt;
					posterDiv.style.display = &#039;&#039;;&lt;br /&gt;
				} else if (posterImg) {&lt;br /&gt;
					posterDiv.style.backgroundImage = &#039;none&#039;;&lt;br /&gt;
					posterDiv.style.display = &#039;none&#039;;&lt;br /&gt;
					posterImg.remove();&lt;br /&gt;
				} else {&lt;br /&gt;
					posterDiv.style.display = &#039;none&#039;;&lt;br /&gt;
				}&lt;br /&gt;
			} else if (_constants.IS_IPAD &amp;amp;&amp;amp; t.options.iPadUseNativeControls || _constants.IS_IPHONE &amp;amp;&amp;amp; t.options.iPhoneUseNativeControls || _constants.IS_ANDROID &amp;amp;&amp;amp; t.options.AndroidUseNativeControls) {&lt;br /&gt;
				t.media.originalNode.poster = url;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;changeSkin&#039;,&lt;br /&gt;
		value: function changeSkin(className) {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			t.getElement(t.container).className = t.options.classPrefix + &#039;container &#039; + className;&lt;br /&gt;
			t.setPlayerSize(t.width, t.height);&lt;br /&gt;
			t.setControlsSize();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;globalBind&#039;,&lt;br /&gt;
		value: function globalBind(events, callback) {&lt;br /&gt;
			var t = this,&lt;br /&gt;
			    doc = t.node ? t.node.ownerDocument : _document2.default;&lt;br /&gt;
&lt;br /&gt;
			events = (0, _general.splitEvents)(events, t.id);&lt;br /&gt;
			if (events.d) {&lt;br /&gt;
				var eventList = events.d.split(&#039; &#039;);&lt;br /&gt;
				for (var i = 0, total = eventList.length; i &amp;lt; total; i++) {&lt;br /&gt;
					eventList[i].split(&#039;.&#039;).reduce(function (part, e) {&lt;br /&gt;
						doc.addEventListener(e, callback, false);&lt;br /&gt;
						return e;&lt;br /&gt;
					}, &#039;&#039;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			if (events.w) {&lt;br /&gt;
				var _eventList = events.w.split(&#039; &#039;);&lt;br /&gt;
				for (var _i = 0, _total = _eventList.length; _i &amp;lt; _total; _i++) {&lt;br /&gt;
					_eventList[_i].split(&#039;.&#039;).reduce(function (part, e) {&lt;br /&gt;
						_window2.default.addEventListener(e, callback, false);&lt;br /&gt;
						return e;&lt;br /&gt;
					}, &#039;&#039;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;globalUnbind&#039;,&lt;br /&gt;
		value: function globalUnbind(events, callback) {&lt;br /&gt;
			var t = this,&lt;br /&gt;
			    doc = t.node ? t.node.ownerDocument : _document2.default;&lt;br /&gt;
&lt;br /&gt;
			events = (0, _general.splitEvents)(events, t.id);&lt;br /&gt;
			if (events.d) {&lt;br /&gt;
				var eventList = events.d.split(&#039; &#039;);&lt;br /&gt;
				for (var i = 0, total = eventList.length; i &amp;lt; total; i++) {&lt;br /&gt;
					eventList[i].split(&#039;.&#039;).reduce(function (part, e) {&lt;br /&gt;
						doc.removeEventListener(e, callback, false);&lt;br /&gt;
						return e;&lt;br /&gt;
					}, &#039;&#039;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			if (events.w) {&lt;br /&gt;
				var _eventList2 = events.w.split(&#039; &#039;);&lt;br /&gt;
				for (var _i2 = 0, _total2 = _eventList2.length; _i2 &amp;lt; _total2; _i2++) {&lt;br /&gt;
					_eventList2[_i2].split(&#039;.&#039;).reduce(function (part, e) {&lt;br /&gt;
						_window2.default.removeEventListener(e, callback, false);&lt;br /&gt;
						return e;&lt;br /&gt;
					}, &#039;&#039;);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;buildfeatures&#039;,&lt;br /&gt;
		value: function buildfeatures(player, controls, layers, media) {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			for (var i = 0, total = t.options.features.length; i &amp;lt; total; i++) {&lt;br /&gt;
				var feature = t.options.features[i];&lt;br /&gt;
				if (t[&#039;build&#039; + feature]) {&lt;br /&gt;
					try {&lt;br /&gt;
						t[&#039;build&#039; + feature](player, controls, layers, media);&lt;br /&gt;
					} catch (e) {&lt;br /&gt;
						console.error(&#039;error building &#039; + feature, e);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;buildposter&#039;,&lt;br /&gt;
		value: function buildposter(player, controls, layers, media) {&lt;br /&gt;
			var t = this,&lt;br /&gt;
			    poster = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
&lt;br /&gt;
			poster.className = t.options.classPrefix + &#039;poster &#039; + t.options.classPrefix + &#039;layer&#039;;&lt;br /&gt;
			layers.appendChild(poster);&lt;br /&gt;
&lt;br /&gt;
			var posterUrl = media.originalNode.getAttribute(&#039;poster&#039;);&lt;br /&gt;
&lt;br /&gt;
			if (player.options.poster !== &#039;&#039;) {&lt;br /&gt;
				if (posterUrl &amp;amp;&amp;amp; _constants.IS_IOS) {&lt;br /&gt;
					media.originalNode.removeAttribute(&#039;poster&#039;);&lt;br /&gt;
				}&lt;br /&gt;
				posterUrl = player.options.poster;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (posterUrl) {&lt;br /&gt;
				t.setPoster(posterUrl);&lt;br /&gt;
			} else if (t.media.renderer !== null &amp;amp;&amp;amp; typeof t.media.renderer.getPosterUrl === &#039;function&#039;) {&lt;br /&gt;
				t.setPoster(t.media.renderer.getPosterUrl());&lt;br /&gt;
			} else {&lt;br /&gt;
				poster.style.display = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			media.addEventListener(&#039;play&#039;, function () {&lt;br /&gt;
				poster.style.display = &#039;none&#039;;&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			media.addEventListener(&#039;playing&#039;, function () {&lt;br /&gt;
				poster.style.display = &#039;none&#039;;&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			if (player.options.showPosterWhenEnded &amp;amp;&amp;amp; player.options.autoRewind) {&lt;br /&gt;
				media.addEventListener(&#039;ended&#039;, function () {&lt;br /&gt;
					poster.style.display = &#039;&#039;;&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			media.addEventListener(&#039;error&#039;, function () {&lt;br /&gt;
				poster.style.display = &#039;none&#039;;&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			if (player.options.showPosterWhenPaused) {&lt;br /&gt;
				media.addEventListener(&#039;pause&#039;, function () {&lt;br /&gt;
					if (!player.ended) {&lt;br /&gt;
						poster.style.display = &#039;&#039;;&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;buildoverlays&#039;,&lt;br /&gt;
		value: function buildoverlays(player, controls, layers, media) {&lt;br /&gt;
			if (!player.isVideo) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var t = this,&lt;br /&gt;
			    loading = _document2.default.createElement(&#039;div&#039;),&lt;br /&gt;
			    error = _document2.default.createElement(&#039;div&#039;),&lt;br /&gt;
			    bigPlay = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
&lt;br /&gt;
			loading.style.display = &#039;none&#039;;&lt;br /&gt;
			loading.className = t.options.classPrefix + &#039;overlay &#039; + t.options.classPrefix + &#039;layer&#039;;&lt;br /&gt;
			loading.innerHTML = &#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;overlay-loading&amp;quot;&amp;gt;&#039; + (&#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;overlay-loading-bg-img&amp;quot;&amp;gt;\n\t\t\t\t\t&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;\n\t\t\t\t\t\t&amp;lt;use xlink:href=&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg#icon-loading-spinner&amp;quot;&amp;gt;&amp;lt;/use&amp;gt;\n\t\t\t\t\t&amp;lt;/svg&amp;gt;\n\t\t\t\t&amp;lt;/div&amp;gt;&#039;) + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
			layers.appendChild(loading);&lt;br /&gt;
&lt;br /&gt;
			error.style.display = &#039;none&#039;;&lt;br /&gt;
			error.className = t.options.classPrefix + &#039;overlay &#039; + t.options.classPrefix + &#039;layer&#039;;&lt;br /&gt;
			error.innerHTML = &#039;&amp;lt;div class=&amp;quot;&#039; + t.options.classPrefix + &#039;overlay-error&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
			layers.appendChild(error);&lt;br /&gt;
&lt;br /&gt;
			bigPlay.className = t.options.classPrefix + &#039;overlay &#039; + t.options.classPrefix + &#039;layer &#039; + t.options.classPrefix + &#039;overlay-play&#039;;&lt;br /&gt;
			bigPlay.innerHTML = (0, _generate.generateControlButton)(t.id, _i18n2.default.t(&#039;mejs.play&#039;), _i18n2.default.t(&#039;mejs.play&#039;), &#039;&#039; + t.media.options.iconSprite, [&#039;icon-overlay-play&#039;], &#039;&#039; + t.options.classPrefix, t.options.classPrefix + &#039;overlay-button&#039;, &#039;&#039;, false);&lt;br /&gt;
&lt;br /&gt;
			bigPlay.addEventListener(&#039;click&#039;, function () {&lt;br /&gt;
				if (t.options.clickToPlayPause) {&lt;br /&gt;
&lt;br /&gt;
					var button = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;overlay-button&#039;),&lt;br /&gt;
					    pressed = button.getAttribute(&#039;aria-pressed&#039;);&lt;br /&gt;
&lt;br /&gt;
					if (t.paused) {&lt;br /&gt;
						t.play();&lt;br /&gt;
					} else {&lt;br /&gt;
						t.pause();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					button.setAttribute(&#039;aria-pressed&#039;, !!pressed);&lt;br /&gt;
					t.getElement(t.container).focus();&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			bigPlay.addEventListener(&#039;keydown&#039;, function (e) {&lt;br /&gt;
				var keyPressed = e.keyCode || e.which || 0;&lt;br /&gt;
&lt;br /&gt;
				if (keyPressed === 13 || _constants.IS_FIREFOX &amp;amp;&amp;amp; keyPressed === 32) {&lt;br /&gt;
					var event = (0, _general.createEvent)(&#039;click&#039;, bigPlay);&lt;br /&gt;
					bigPlay.dispatchEvent(event);&lt;br /&gt;
					return false;&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			layers.appendChild(bigPlay);&lt;br /&gt;
&lt;br /&gt;
			if (t.media.rendererName !== null &amp;amp;&amp;amp; (/(youtube|facebook)/i.test(t.media.rendererName) &amp;amp;&amp;amp; !(t.media.originalNode.getAttribute(&#039;poster&#039;) || player.options.poster || typeof t.media.renderer.getPosterUrl === &#039;function&#039; &amp;amp;&amp;amp; t.media.renderer.getPosterUrl()) || _constants.IS_STOCK_ANDROID || t.media.originalNode.getAttribute(&#039;autoplay&#039;))) {&lt;br /&gt;
				bigPlay.style.display = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var hasError = false;&lt;br /&gt;
&lt;br /&gt;
			media.addEventListener(&#039;play&#039;, function () {&lt;br /&gt;
				bigPlay.style.display = &#039;none&#039;;&lt;br /&gt;
				loading.style.display = &#039;none&#039;;&lt;br /&gt;
				error.style.display = &#039;none&#039;;&lt;br /&gt;
				hasError = false;&lt;br /&gt;
			});&lt;br /&gt;
			media.addEventListener(&#039;playing&#039;, function () {&lt;br /&gt;
				bigPlay.style.display = &#039;none&#039;;&lt;br /&gt;
				loading.style.display = &#039;none&#039;;&lt;br /&gt;
				error.style.display = &#039;none&#039;;&lt;br /&gt;
				hasError = false;&lt;br /&gt;
			});&lt;br /&gt;
			media.addEventListener(&#039;seeking&#039;, function () {&lt;br /&gt;
				bigPlay.style.display = &#039;none&#039;;&lt;br /&gt;
				loading.style.display = &#039;&#039;;&lt;br /&gt;
				hasError = false;&lt;br /&gt;
			});&lt;br /&gt;
			media.addEventListener(&#039;seeked&#039;, function () {&lt;br /&gt;
				bigPlay.style.display = t.paused &amp;amp;&amp;amp; !_constants.IS_STOCK_ANDROID ? &#039;&#039; : &#039;none&#039;;&lt;br /&gt;
				loading.style.display = &#039;none&#039;;&lt;br /&gt;
				hasError = false;&lt;br /&gt;
			});&lt;br /&gt;
			media.addEventListener(&#039;pause&#039;, function () {&lt;br /&gt;
				loading.style.display = &#039;none&#039;;&lt;br /&gt;
				if (!_constants.IS_STOCK_ANDROID &amp;amp;&amp;amp; !hasError) {&lt;br /&gt;
					bigPlay.style.display = &#039;&#039;;&lt;br /&gt;
				}&lt;br /&gt;
				hasError = false;&lt;br /&gt;
			});&lt;br /&gt;
			media.addEventListener(&#039;waiting&#039;, function () {&lt;br /&gt;
				loading.style.display = &#039;&#039;;&lt;br /&gt;
				hasError = false;&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			media.addEventListener(&#039;loadeddata&#039;, function () {&lt;br /&gt;
				loading.style.display = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
				if (_constants.IS_ANDROID) {&lt;br /&gt;
					media.canplayTimeout = setTimeout(function () {&lt;br /&gt;
						if (_document2.default.createEvent) {&lt;br /&gt;
							var evt = _document2.default.createEvent(&#039;HTMLEvents&#039;);&lt;br /&gt;
							evt.initEvent(&#039;canplay&#039;, true, true);&lt;br /&gt;
							return media.dispatchEvent(evt);&lt;br /&gt;
						}&lt;br /&gt;
					}, 300);&lt;br /&gt;
				}&lt;br /&gt;
				hasError = false;&lt;br /&gt;
			});&lt;br /&gt;
			media.addEventListener(&#039;canplay&#039;, function () {&lt;br /&gt;
				loading.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
				clearTimeout(media.canplayTimeout);&lt;br /&gt;
				hasError = false;&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			media.addEventListener(&#039;error&#039;, function (e) {&lt;br /&gt;
				t._handleError(e, t.media, t.node);&lt;br /&gt;
				loading.style.display = &#039;none&#039;;&lt;br /&gt;
				bigPlay.style.display = &#039;none&#039;;&lt;br /&gt;
				hasError = true;&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			media.addEventListener(&#039;loadedmetadata&#039;, function () {&lt;br /&gt;
				if (!t.controlsEnabled) {&lt;br /&gt;
					t.enableControls();&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			media.addEventListener(&#039;keydown&#039;, function (e) {&lt;br /&gt;
				t.onkeydown(player, media, e);&lt;br /&gt;
				hasError = false;&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;buildkeyboard&#039;,&lt;br /&gt;
		value: function buildkeyboard(player, controls, layers, media) {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			t.getElement(t.container).addEventListener(&#039;keydown&#039;, function () {&lt;br /&gt;
				t.keyboardAction = true;&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			t.globalKeydownCallback = function (event) {&lt;br /&gt;
				if (!_document2.default.activeElement) {&lt;br /&gt;
					return true;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				var container = _document2.default.activeElement.closest(&#039;.&#039; + t.options.classPrefix + &#039;container&#039;),&lt;br /&gt;
				    target = t.media.closest(&#039;.&#039; + t.options.classPrefix + &#039;container&#039;);&lt;br /&gt;
				t.hasFocus = !!(container &amp;amp;&amp;amp; target &amp;amp;&amp;amp; container.id === target.id);&lt;br /&gt;
				return t.onkeydown(player, media, event);&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			t.globalClickCallback = function (event) {&lt;br /&gt;
				t.hasFocus = !!event.target.closest(&#039;.&#039; + t.options.classPrefix + &#039;container&#039;);&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			t.globalBind(&#039;keydown&#039;, t.globalKeydownCallback);&lt;br /&gt;
&lt;br /&gt;
			t.globalBind(&#039;click&#039;, t.globalClickCallback);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;onkeydown&#039;,&lt;br /&gt;
		value: function onkeydown(player, media, e) {&lt;br /&gt;
			if (player.hasFocus &amp;amp;&amp;amp; player.options.enableKeyboard) {&lt;br /&gt;
				for (var i = 0, total = player.options.keyActions.length; i &amp;lt; total; i++) {&lt;br /&gt;
					var keyAction = player.options.keyActions[i];&lt;br /&gt;
&lt;br /&gt;
					for (var j = 0, jl = keyAction.keys.length; j &amp;lt; jl; j++) {&lt;br /&gt;
						if (e.keyCode === keyAction.keys[j]) {&lt;br /&gt;
							keyAction.action(player, media, e.keyCode, e);&lt;br /&gt;
							e.preventDefault();&lt;br /&gt;
							e.stopPropagation();&lt;br /&gt;
							return;&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;play&#039;,&lt;br /&gt;
		value: function play() {&lt;br /&gt;
			return this.proxy.play();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;pause&#039;,&lt;br /&gt;
		value: function pause() {&lt;br /&gt;
			return this.proxy.pause();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;load&#039;,&lt;br /&gt;
		value: function load() {&lt;br /&gt;
			return this.proxy.load();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setCurrentTime&#039;,&lt;br /&gt;
		value: function setCurrentTime(time) {&lt;br /&gt;
			var userInteraction = arguments.length &amp;gt; 1 &amp;amp;&amp;amp; arguments[1] !== undefined ? arguments[1] : false;&lt;br /&gt;
&lt;br /&gt;
			this.seekUserInteraction = userInteraction;&lt;br /&gt;
			this.proxy.setCurrentTime(time);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;getCurrentTime&#039;,&lt;br /&gt;
		value: function getCurrentTime() {&lt;br /&gt;
			return this.proxy.currentTime;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;getDuration&#039;,&lt;br /&gt;
		value: function getDuration() {&lt;br /&gt;
			return this.proxy.duration;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setVolume&#039;,&lt;br /&gt;
		value: function setVolume(volume) {&lt;br /&gt;
			this.proxy.volume = volume;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;getVolume&#039;,&lt;br /&gt;
		value: function getVolume() {&lt;br /&gt;
			return this.proxy.getVolume();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setMuted&#039;,&lt;br /&gt;
		value: function setMuted(value) {&lt;br /&gt;
			this.proxy.setMuted(value);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setSrc&#039;,&lt;br /&gt;
		value: function setSrc(src) {&lt;br /&gt;
			if (!this.controlsEnabled) {&lt;br /&gt;
				this.enableControls();&lt;br /&gt;
			}&lt;br /&gt;
			this.proxy.setSrc(src);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;getSrc&#039;,&lt;br /&gt;
		value: function getSrc() {&lt;br /&gt;
			return this.proxy.getSrc();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;canPlayType&#039;,&lt;br /&gt;
		value: function canPlayType(type) {&lt;br /&gt;
			return this.proxy.canPlayType(type);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;remove&#039;,&lt;br /&gt;
		value: function remove() {&lt;br /&gt;
			var t = this,&lt;br /&gt;
			    rendererName = t.media.rendererName,&lt;br /&gt;
			    src = t.media.originalNode.src;&lt;br /&gt;
&lt;br /&gt;
			for (var featureIndex in t.options.features) {&lt;br /&gt;
				var feature = t.options.features[featureIndex];&lt;br /&gt;
				if (t[&#039;clean&#039; + feature]) {&lt;br /&gt;
					try {&lt;br /&gt;
						t[&#039;clean&#039; + feature](t, t.getElement(t.layers), t.getElement(t.controls), t.media);&lt;br /&gt;
					} catch (e) {&lt;br /&gt;
						console.error(&#039;error cleaning &#039; + feature, e);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var nativeWidth = t.node.getAttribute(&#039;width&#039;),&lt;br /&gt;
			    nativeHeight = t.node.getAttribute(&#039;height&#039;);&lt;br /&gt;
&lt;br /&gt;
			if (nativeWidth) {&lt;br /&gt;
				if (nativeWidth.indexOf(&#039;%&#039;) === -1) {&lt;br /&gt;
					nativeWidth = nativeWidth + &#039;px&#039;;&lt;br /&gt;
				}&lt;br /&gt;
			} else {&lt;br /&gt;
				nativeWidth = &#039;auto&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (nativeHeight) {&lt;br /&gt;
				if (nativeHeight.indexOf(&#039;%&#039;) === -1) {&lt;br /&gt;
					nativeHeight = nativeHeight + &#039;px&#039;;&lt;br /&gt;
				}&lt;br /&gt;
			} else {&lt;br /&gt;
				nativeHeight = &#039;auto&#039;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			t.node.style.width = nativeWidth;&lt;br /&gt;
			t.node.style.height = nativeHeight;&lt;br /&gt;
&lt;br /&gt;
			t.setPlayerSize(0, 0);&lt;br /&gt;
&lt;br /&gt;
			if (!t.isDynamic) {&lt;br /&gt;
				(function () {&lt;br /&gt;
					t.node.setAttribute(&#039;controls&#039;, true);&lt;br /&gt;
					t.node.setAttribute(&#039;id&#039;, t.node.getAttribute(&#039;id&#039;).replace(&#039;_&#039; + rendererName, &#039;&#039;).replace(&#039;_from_mejs&#039;, &#039;&#039;));&lt;br /&gt;
					var poster = t.getElement(t.container).querySelector(&#039;.&#039; + t.options.classPrefix + &#039;poster&amp;gt;img&#039;);&lt;br /&gt;
					if (poster) {&lt;br /&gt;
						t.node.setAttribute(&#039;poster&#039;, poster.src);&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					delete t.node.autoplay;&lt;br /&gt;
&lt;br /&gt;
					t.node.setAttribute(&#039;src&#039;, &#039;&#039;);&lt;br /&gt;
					if (t.media.canPlayType((0, _media.getTypeFromFile)(src)) !== &#039;&#039;) {&lt;br /&gt;
						t.node.setAttribute(&#039;src&#039;, src);&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					if (rendererName &amp;amp;&amp;amp; rendererName.indexOf(&#039;iframe&#039;) &amp;gt; -1) {&lt;br /&gt;
						var layer = _document2.default.getElementById(t.media.id + &#039;-iframe-overlay&#039;);&lt;br /&gt;
						layer.remove();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					var node = t.node.cloneNode();&lt;br /&gt;
					node.style.display = &#039;&#039;;&lt;br /&gt;
					t.getElement(t.container).parentNode.insertBefore(node, t.getElement(t.container));&lt;br /&gt;
					t.node.remove();&lt;br /&gt;
&lt;br /&gt;
					if (t.mediaFiles) {&lt;br /&gt;
						for (var i = 0, total = t.mediaFiles.length; i &amp;lt; total; i++) {&lt;br /&gt;
							var source = _document2.default.createElement(&#039;source&#039;);&lt;br /&gt;
							source.setAttribute(&#039;src&#039;, t.mediaFiles[i].src);&lt;br /&gt;
							source.setAttribute(&#039;type&#039;, t.mediaFiles[i].type);&lt;br /&gt;
							node.appendChild(source);&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					if (t.trackFiles) {&lt;br /&gt;
						var _loop3 = function _loop3(_i3, _total3) {&lt;br /&gt;
							var track = t.trackFiles[_i3];&lt;br /&gt;
							var newTrack = _document2.default.createElement(&#039;track&#039;);&lt;br /&gt;
							newTrack.kind = track.kind;&lt;br /&gt;
							newTrack.label = track.label;&lt;br /&gt;
							newTrack.srclang = track.srclang;&lt;br /&gt;
							newTrack.src = track.src;&lt;br /&gt;
&lt;br /&gt;
							node.appendChild(newTrack);&lt;br /&gt;
							newTrack.addEventListener(&#039;load&#039;, function () {&lt;br /&gt;
								this.mode = &#039;showing&#039;;&lt;br /&gt;
								node.textTracks[_i3].mode = &#039;showing&#039;;&lt;br /&gt;
							});&lt;br /&gt;
						};&lt;br /&gt;
&lt;br /&gt;
						for (var _i3 = 0, _total3 = t.trackFiles.length; _i3 &amp;lt; _total3; _i3++) {&lt;br /&gt;
							_loop3(_i3, _total3);&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					delete t.node;&lt;br /&gt;
					delete t.mediaFiles;&lt;br /&gt;
					delete t.trackFiles;&lt;br /&gt;
				})();&lt;br /&gt;
			} else {&lt;br /&gt;
				t.getElement(t.container).parentNode.insertBefore(t.node, t.getElement(t.container));&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (t.media.renderer &amp;amp;&amp;amp; typeof t.media.renderer.destroy === &#039;function&#039;) {&lt;br /&gt;
				t.media.renderer.destroy();&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			delete _mejs2.default.players[t.id];&lt;br /&gt;
&lt;br /&gt;
			if (_typeof(t.getElement(t.container)) === &#039;object&#039;) {&lt;br /&gt;
				var offscreen = t.getElement(t.container).parentNode.querySelector(&#039;.&#039; + t.options.classPrefix + &#039;offscreen&#039;);&lt;br /&gt;
				if (offscreen) {&lt;br /&gt;
					offscreen.remove();&lt;br /&gt;
				}&lt;br /&gt;
				t.getElement(t.container).remove();&lt;br /&gt;
			}&lt;br /&gt;
			t.globalUnbind(&#039;resize&#039;, t.globalResizeCallback);&lt;br /&gt;
			t.globalUnbind(&#039;keydown&#039;, t.globalKeydownCallback);&lt;br /&gt;
			t.globalUnbind(&#039;click&#039;, t.globalClickCallback);&lt;br /&gt;
&lt;br /&gt;
			delete t.media.player;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;paused&#039;,&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.proxy.paused;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;muted&#039;,&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.proxy.muted;&lt;br /&gt;
		},&lt;br /&gt;
		set: function set(muted) {&lt;br /&gt;
			this.setMuted(muted);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;ended&#039;,&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.proxy.ended;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;readyState&#039;,&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.proxy.readyState;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;currentTime&#039;,&lt;br /&gt;
		set: function set(time) {&lt;br /&gt;
			this.setCurrentTime(time);&lt;br /&gt;
		},&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.getCurrentTime();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;duration&#039;,&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.getDuration();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;volume&#039;,&lt;br /&gt;
		set: function set(volume) {&lt;br /&gt;
			this.setVolume(volume);&lt;br /&gt;
		},&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.getVolume();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;src&#039;,&lt;br /&gt;
		set: function set(src) {&lt;br /&gt;
			this.setSrc(src);&lt;br /&gt;
		},&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.getSrc();&lt;br /&gt;
		}&lt;br /&gt;
	}]);&lt;br /&gt;
&lt;br /&gt;
	return MediaElementPlayer;&lt;br /&gt;
}();&lt;br /&gt;
&lt;br /&gt;
_window2.default.MediaElementPlayer = MediaElementPlayer;&lt;br /&gt;
_mejs2.default.MediaElementPlayer = MediaElementPlayer;&lt;br /&gt;
&lt;br /&gt;
exports.default = MediaElementPlayer;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;18&amp;quot;:18,&amp;quot;2&amp;quot;:2,&amp;quot;26&amp;quot;:26,&amp;quot;27&amp;quot;:27,&amp;quot;28&amp;quot;:28,&amp;quot;29&amp;quot;:29,&amp;quot;3&amp;quot;:3,&amp;quot;30&amp;quot;:30,&amp;quot;32&amp;quot;:32,&amp;quot;6&amp;quot;:6,&amp;quot;7&amp;quot;:7,&amp;quot;8&amp;quot;:8}],18:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i &amp;lt; props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (&amp;quot;value&amp;quot; in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(&amp;quot;Cannot call a class as a function&amp;quot;); } }&lt;br /&gt;
&lt;br /&gt;
var DefaultPlayer = function () {&lt;br /&gt;
	function DefaultPlayer(player) {&lt;br /&gt;
		_classCallCheck(this, DefaultPlayer);&lt;br /&gt;
&lt;br /&gt;
		this.media = player.media;&lt;br /&gt;
		this.isVideo = player.isVideo;&lt;br /&gt;
		this.classPrefix = player.options.classPrefix;&lt;br /&gt;
		this.createIframeLayer = function () {&lt;br /&gt;
			return player.createIframeLayer();&lt;br /&gt;
		};&lt;br /&gt;
		this.setPoster = function (url) {&lt;br /&gt;
			return player.setPoster(url);&lt;br /&gt;
		};&lt;br /&gt;
		return this;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	_createClass(DefaultPlayer, [{&lt;br /&gt;
		key: &#039;play&#039;,&lt;br /&gt;
		value: function play() {&lt;br /&gt;
			return this.media.play();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;pause&#039;,&lt;br /&gt;
		value: function pause() {&lt;br /&gt;
			return this.media.pause();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;load&#039;,&lt;br /&gt;
		value: function load() {&lt;br /&gt;
			var t = this;&lt;br /&gt;
&lt;br /&gt;
			if (!t.isLoaded) {&lt;br /&gt;
				t.media.load();&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			t.isLoaded = true;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setCurrentTime&#039;,&lt;br /&gt;
		value: function setCurrentTime(time) {&lt;br /&gt;
			this.media.setCurrentTime(time);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;getCurrentTime&#039;,&lt;br /&gt;
		value: function getCurrentTime() {&lt;br /&gt;
			return this.media.currentTime;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;getDuration&#039;,&lt;br /&gt;
		value: function getDuration() {&lt;br /&gt;
			var duration = this.media.getDuration();&lt;br /&gt;
			if (duration === Infinity &amp;amp;&amp;amp; this.media.seekable &amp;amp;&amp;amp; this.media.seekable.length) {&lt;br /&gt;
				duration = this.media.seekable.end(0);&lt;br /&gt;
			}&lt;br /&gt;
			return duration;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setVolume&#039;,&lt;br /&gt;
		value: function setVolume(volume) {&lt;br /&gt;
			this.media.setVolume(volume);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;getVolume&#039;,&lt;br /&gt;
		value: function getVolume() {&lt;br /&gt;
			return this.media.getVolume();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setMuted&#039;,&lt;br /&gt;
		value: function setMuted(value) {&lt;br /&gt;
			this.media.setMuted(value);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;setSrc&#039;,&lt;br /&gt;
		value: function setSrc(src) {&lt;br /&gt;
			var t = this,&lt;br /&gt;
			    layer = document.getElementById(t.media.id + &#039;-iframe-overlay&#039;);&lt;br /&gt;
&lt;br /&gt;
			if (layer) {&lt;br /&gt;
				layer.remove();&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			t.media.setSrc(src);&lt;br /&gt;
			t.createIframeLayer();&lt;br /&gt;
			if (t.media.renderer !== null &amp;amp;&amp;amp; typeof t.media.renderer.getPosterUrl === &#039;function&#039;) {&lt;br /&gt;
				t.setPoster(t.media.renderer.getPosterUrl());&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;getSrc&#039;,&lt;br /&gt;
		value: function getSrc() {&lt;br /&gt;
			return this.media.getSrc();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;canPlayType&#039;,&lt;br /&gt;
		value: function canPlayType(type) {&lt;br /&gt;
			return this.media.canPlayType(type);&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;paused&#039;,&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.media.paused;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;muted&#039;,&lt;br /&gt;
		set: function set(muted) {&lt;br /&gt;
			this.setMuted(muted);&lt;br /&gt;
		},&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.media.muted;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;ended&#039;,&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.media.ended;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;readyState&#039;,&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.media.readyState;&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;currentTime&#039;,&lt;br /&gt;
		set: function set(time) {&lt;br /&gt;
			this.setCurrentTime(time);&lt;br /&gt;
		},&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.getCurrentTime();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;duration&#039;,&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.getDuration();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;remainingTime&#039;,&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.getDuration() - this.currentTime();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;volume&#039;,&lt;br /&gt;
		set: function set(volume) {&lt;br /&gt;
			this.setVolume(volume);&lt;br /&gt;
		},&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.getVolume();&lt;br /&gt;
		}&lt;br /&gt;
	}, {&lt;br /&gt;
		key: &#039;src&#039;,&lt;br /&gt;
		set: function set(src) {&lt;br /&gt;
			this.setSrc(src);&lt;br /&gt;
		},&lt;br /&gt;
		get: function get() {&lt;br /&gt;
			return this.getSrc();&lt;br /&gt;
		}&lt;br /&gt;
	}]);&lt;br /&gt;
&lt;br /&gt;
	return DefaultPlayer;&lt;br /&gt;
}();&lt;br /&gt;
&lt;br /&gt;
exports.default = DefaultPlayer;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
_window2.default.DefaultPlayer = DefaultPlayer;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;3&amp;quot;:3}],19:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _player = _dereq_(17);&lt;br /&gt;
&lt;br /&gt;
var _player2 = _interopRequireDefault(_player);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
if (typeof jQuery !== &#039;undefined&#039;) {&lt;br /&gt;
	_mejs2.default.$ = jQuery;&lt;br /&gt;
} else if (typeof Zepto !== &#039;undefined&#039;) {&lt;br /&gt;
	_mejs2.default.$ = Zepto;&lt;br /&gt;
} else if (typeof ender !== &#039;undefined&#039;) {&lt;br /&gt;
	_mejs2.default.$ = ender;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
(function ($) {&lt;br /&gt;
	if (typeof $ !== &#039;undefined&#039;) {&lt;br /&gt;
		$.fn.mediaelementplayer = function (options) {&lt;br /&gt;
			if (options === false) {&lt;br /&gt;
				this.each(function () {&lt;br /&gt;
					var player = $(this).data(&#039;mediaelementplayer&#039;);&lt;br /&gt;
					if (player) {&lt;br /&gt;
						player.remove();&lt;br /&gt;
					}&lt;br /&gt;
					$(this).removeData(&#039;mediaelementplayer&#039;);&lt;br /&gt;
				});&lt;br /&gt;
			} else {&lt;br /&gt;
				this.each(function () {&lt;br /&gt;
					$(this).data(&#039;mediaelementplayer&#039;, new _player2.default(this, options));&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
			return this;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		$(document).ready(function () {&lt;br /&gt;
			$(&#039;.&#039; + _mejs2.default.MepDefaults.classPrefix + &#039;player&#039;).mediaelementplayer();&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
})(_mejs2.default.$);&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;17&amp;quot;:17,&amp;quot;3&amp;quot;:3,&amp;quot;8&amp;quot;:8}],20:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _typeof = typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; typeof Symbol.iterator === &amp;quot;symbol&amp;quot; ? function (obj) { return typeof obj; } : function (obj) { return obj &amp;amp;&amp;amp; typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; obj.constructor === Symbol &amp;amp;&amp;amp; obj !== Symbol.prototype ? &amp;quot;symbol&amp;quot; : typeof obj; };&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _renderer = _dereq_(9);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _media = _dereq_(30);&lt;br /&gt;
&lt;br /&gt;
var _constants = _dereq_(26);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
var NativeDash = {&lt;br /&gt;
&lt;br /&gt;
	promise: null,&lt;br /&gt;
&lt;br /&gt;
	load: function load(settings) {&lt;br /&gt;
		if (typeof dashjs !== &#039;undefined&#039;) {&lt;br /&gt;
			NativeDash.promise = new Promise(function (resolve) {&lt;br /&gt;
				resolve();&lt;br /&gt;
			}).then(function () {&lt;br /&gt;
				NativeDash._createPlayer(settings);&lt;br /&gt;
			});&lt;br /&gt;
		} else {&lt;br /&gt;
			settings.options.path = typeof settings.options.path === &#039;string&#039; ? settings.options.path : &#039;https://cdn.dashjs.org/latest/dash.all.min.js&#039;;&lt;br /&gt;
&lt;br /&gt;
			NativeDash.promise = NativeDash.promise || (0, _dom.loadScript)(settings.options.path);&lt;br /&gt;
			NativeDash.promise.then(function () {&lt;br /&gt;
				NativeDash._createPlayer(settings);&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return NativeDash.promise;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_createPlayer: function _createPlayer(settings) {&lt;br /&gt;
		var player = dashjs.MediaPlayer().create();&lt;br /&gt;
		_window2.default[&#039;__ready__&#039; + settings.id](player);&lt;br /&gt;
		return player;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var DashNativeRenderer = {&lt;br /&gt;
	name: &#039;native_dash&#039;,&lt;br /&gt;
	options: {&lt;br /&gt;
		prefix: &#039;native_dash&#039;,&lt;br /&gt;
		dash: {&lt;br /&gt;
			path: &#039;https://cdn.dashjs.org/latest/dash.all.min.js&#039;,&lt;br /&gt;
			debug: false,&lt;br /&gt;
			drm: {},&lt;br /&gt;
&lt;br /&gt;
			robustnessLevel: &#039;&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	canPlayType: function canPlayType(type) {&lt;br /&gt;
		return _constants.HAS_MSE &amp;amp;&amp;amp; [&#039;application/dash+xml&#039;].indexOf(type.toLowerCase()) &amp;gt; -1;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	create: function create(mediaElement, options, mediaFiles) {&lt;br /&gt;
&lt;br /&gt;
		var originalNode = mediaElement.originalNode,&lt;br /&gt;
		    id = mediaElement.id + &#039;_&#039; + options.prefix,&lt;br /&gt;
		    autoplay = originalNode.autoplay,&lt;br /&gt;
		    children = originalNode.children;&lt;br /&gt;
&lt;br /&gt;
		var node = null,&lt;br /&gt;
		    dashPlayer = null;&lt;br /&gt;
&lt;br /&gt;
		originalNode.removeAttribute(&#039;type&#039;);&lt;br /&gt;
		for (var i = 0, total = children.length; i &amp;lt; total; i++) {&lt;br /&gt;
			children[i].removeAttribute(&#039;type&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		node = originalNode.cloneNode(true);&lt;br /&gt;
		options = Object.assign(options, mediaElement.options);&lt;br /&gt;
&lt;br /&gt;
		var props = _mejs2.default.html5media.properties,&lt;br /&gt;
		    events = _mejs2.default.html5media.events.concat([&#039;click&#039;, &#039;mouseover&#039;, &#039;mouseout&#039;]).filter(function (e) {&lt;br /&gt;
			return e !== &#039;error&#039;;&lt;br /&gt;
		}),&lt;br /&gt;
		    attachNativeEvents = function attachNativeEvents(e) {&lt;br /&gt;
			var event = (0, _general.createEvent)(e.type, mediaElement);&lt;br /&gt;
			mediaElement.dispatchEvent(event);&lt;br /&gt;
		},&lt;br /&gt;
		    assignGettersSetters = function assignGettersSetters(propName) {&lt;br /&gt;
			var capName = &#039;&#039; + propName.substring(0, 1).toUpperCase() + propName.substring(1);&lt;br /&gt;
&lt;br /&gt;
			node[&#039;get&#039; + capName] = function () {&lt;br /&gt;
				return dashPlayer !== null ? node[propName] : null;&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			node[&#039;set&#039; + capName] = function (value) {&lt;br /&gt;
				if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {&lt;br /&gt;
					if (propName === &#039;src&#039;) {&lt;br /&gt;
						var source = (typeof value === &#039;undefined&#039; ? &#039;undefined&#039; : _typeof(value)) === &#039;object&#039; &amp;amp;&amp;amp; value.src ? value.src : value;&lt;br /&gt;
						node[propName] = source;&lt;br /&gt;
						if (dashPlayer !== null) {&lt;br /&gt;
							dashPlayer.reset();&lt;br /&gt;
							for (var _i = 0, _total = events.length; _i &amp;lt; _total; _i++) {&lt;br /&gt;
								node.removeEventListener(events[_i], attachNativeEvents);&lt;br /&gt;
							}&lt;br /&gt;
							dashPlayer = NativeDash._createPlayer({&lt;br /&gt;
								options: options.dash,&lt;br /&gt;
								id: id&lt;br /&gt;
							});&lt;br /&gt;
&lt;br /&gt;
							if (value &amp;amp;&amp;amp; (typeof value === &#039;undefined&#039; ? &#039;undefined&#039; : _typeof(value)) === &#039;object&#039; &amp;amp;&amp;amp; _typeof(value.drm) === &#039;object&#039;) {&lt;br /&gt;
								dashPlayer.setProtectionData(value.drm);&lt;br /&gt;
								if ((0, _general.isString)(options.dash.robustnessLevel) &amp;amp;&amp;amp; options.dash.robustnessLevel) {&lt;br /&gt;
									dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel);&lt;br /&gt;
								}&lt;br /&gt;
							}&lt;br /&gt;
							dashPlayer.attachSource(source);&lt;br /&gt;
							if (autoplay) {&lt;br /&gt;
								dashPlayer.play();&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
					} else {&lt;br /&gt;
						node[propName] = value;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		for (var _i2 = 0, _total2 = props.length; _i2 &amp;lt; _total2; _i2++) {&lt;br /&gt;
			assignGettersSetters(props[_i2]);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		_window2.default[&#039;__ready__&#039; + id] = function (_dashPlayer) {&lt;br /&gt;
			mediaElement.dashPlayer = dashPlayer = _dashPlayer;&lt;br /&gt;
&lt;br /&gt;
			var dashEvents = dashjs.MediaPlayer.events,&lt;br /&gt;
			    assignEvents = function assignEvents(eventName) {&lt;br /&gt;
				if (eventName === &#039;loadedmetadata&#039;) {&lt;br /&gt;
					dashPlayer.initialize();&lt;br /&gt;
					dashPlayer.attachView(node);&lt;br /&gt;
					dashPlayer.setAutoPlay(false);&lt;br /&gt;
&lt;br /&gt;
					if (_typeof(options.dash.drm) === &#039;object&#039; &amp;amp;&amp;amp; !_mejs2.default.Utils.isObjectEmpty(options.dash.drm)) {&lt;br /&gt;
						dashPlayer.setProtectionData(options.dash.drm);&lt;br /&gt;
						if ((0, _general.isString)(options.dash.robustnessLevel) &amp;amp;&amp;amp; options.dash.robustnessLevel) {&lt;br /&gt;
							dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel);&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					dashPlayer.attachSource(node.getSrc());&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				node.addEventListener(eventName, attachNativeEvents);&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			for (var _i3 = 0, _total3 = events.length; _i3 &amp;lt; _total3; _i3++) {&lt;br /&gt;
				assignEvents(events[_i3]);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var assignMdashEvents = function assignMdashEvents(e) {&lt;br /&gt;
				if (e.type.toLowerCase() === &#039;error&#039;) {&lt;br /&gt;
					mediaElement.generateError(e.message, node.src);&lt;br /&gt;
					console.error(e);&lt;br /&gt;
				} else {&lt;br /&gt;
					var _event = (0, _general.createEvent)(e.type, mediaElement);&lt;br /&gt;
					_event.data = e;&lt;br /&gt;
					mediaElement.dispatchEvent(_event);&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			for (var eventType in dashEvents) {&lt;br /&gt;
				if (dashEvents.hasOwnProperty(eventType)) {&lt;br /&gt;
					dashPlayer.on(dashEvents[eventType], function (e) {&lt;br /&gt;
						return assignMdashEvents(e);&lt;br /&gt;
					});&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		if (mediaFiles &amp;amp;&amp;amp; mediaFiles.length &amp;gt; 0) {&lt;br /&gt;
			for (var _i4 = 0, _total4 = mediaFiles.length; _i4 &amp;lt; _total4; _i4++) {&lt;br /&gt;
				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)) {&lt;br /&gt;
					node.setAttribute(&#039;src&#039;, mediaFiles[_i4].src);&lt;br /&gt;
					if (typeof mediaFiles[_i4].drm !== &#039;undefined&#039;) {&lt;br /&gt;
						options.dash.drm = mediaFiles[_i4].drm;&lt;br /&gt;
					}&lt;br /&gt;
					break;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		node.setAttribute(&#039;id&#039;, id);&lt;br /&gt;
&lt;br /&gt;
		originalNode.parentNode.insertBefore(node, originalNode);&lt;br /&gt;
		originalNode.autoplay = false;&lt;br /&gt;
		originalNode.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
		node.setSize = function (width, height) {&lt;br /&gt;
			node.style.width = width + &#039;px&#039;;&lt;br /&gt;
			node.style.height = height + &#039;px&#039;;&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.hide = function () {&lt;br /&gt;
			node.pause();&lt;br /&gt;
			node.style.display = &#039;none&#039;;&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.show = function () {&lt;br /&gt;
			node.style.display = &#039;&#039;;&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.destroy = function () {&lt;br /&gt;
			if (dashPlayer !== null) {&lt;br /&gt;
				dashPlayer.reset();&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		var event = (0, _general.createEvent)(&#039;rendererready&#039;, node);&lt;br /&gt;
		mediaElement.dispatchEvent(event);&lt;br /&gt;
&lt;br /&gt;
		mediaElement.promises.push(NativeDash.load({&lt;br /&gt;
			options: options.dash,&lt;br /&gt;
			id: id&lt;br /&gt;
		}));&lt;br /&gt;
&lt;br /&gt;
		return node;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
_media.typeChecks.push(function (url) {&lt;br /&gt;
	return ~url.toLowerCase().indexOf(&#039;.mpd&#039;) ? &#039;application/dash+xml&#039; : null;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
_renderer.renderer.add(DashNativeRenderer);&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;26&amp;quot;:26,&amp;quot;27&amp;quot;:27,&amp;quot;28&amp;quot;:28,&amp;quot;3&amp;quot;:3,&amp;quot;30&amp;quot;:30,&amp;quot;8&amp;quot;:8,&amp;quot;9&amp;quot;:9}],21:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
exports.PluginDetector = undefined;&lt;br /&gt;
&lt;br /&gt;
var _typeof = typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; typeof Symbol.iterator === &amp;quot;symbol&amp;quot; ? function (obj) { return typeof obj; } : function (obj) { return obj &amp;amp;&amp;amp; typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; obj.constructor === Symbol &amp;amp;&amp;amp; obj !== Symbol.prototype ? &amp;quot;symbol&amp;quot; : typeof obj; };&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _i18n = _dereq_(6);&lt;br /&gt;
&lt;br /&gt;
var _i18n2 = _interopRequireDefault(_i18n);&lt;br /&gt;
&lt;br /&gt;
var _renderer = _dereq_(9);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _constants = _dereq_(26);&lt;br /&gt;
&lt;br /&gt;
var _media = _dereq_(30);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
var PluginDetector = exports.PluginDetector = {&lt;br /&gt;
	plugins: [],&lt;br /&gt;
&lt;br /&gt;
	hasPluginVersion: function hasPluginVersion(plugin, v) {&lt;br /&gt;
		var pv = PluginDetector.plugins[plugin];&lt;br /&gt;
		v[1] = v[1] || 0;&lt;br /&gt;
		v[2] = v[2] || 0;&lt;br /&gt;
		return pv[0] &amp;gt; v[0] || pv[0] === v[0] &amp;amp;&amp;amp; pv[1] &amp;gt; v[1] || pv[0] === v[0] &amp;amp;&amp;amp; pv[1] === v[1] &amp;amp;&amp;amp; pv[2] &amp;gt;= v[2];&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	addPlugin: function addPlugin(p, pluginName, mimeType, activeX, axDetect) {&lt;br /&gt;
		PluginDetector.plugins[p] = PluginDetector.detectPlugin(pluginName, mimeType, activeX, axDetect);&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	detectPlugin: function detectPlugin(pluginName, mimeType, activeX, axDetect) {&lt;br /&gt;
&lt;br /&gt;
		var version = [0, 0, 0],&lt;br /&gt;
		    description = void 0,&lt;br /&gt;
		    ax = void 0;&lt;br /&gt;
&lt;br /&gt;
		if (_constants.NAV.plugins !== null &amp;amp;&amp;amp; _constants.NAV.plugins !== undefined &amp;amp;&amp;amp; _typeof(_constants.NAV.plugins[pluginName]) === &#039;object&#039;) {&lt;br /&gt;
			description = _constants.NAV.plugins[pluginName].description;&lt;br /&gt;
			if (description &amp;amp;&amp;amp; !(typeof _constants.NAV.mimeTypes !== &#039;undefined&#039; &amp;amp;&amp;amp; _constants.NAV.mimeTypes[mimeType] &amp;amp;&amp;amp; !_constants.NAV.mimeTypes[mimeType].enabledPlugin)) {&lt;br /&gt;
				version = description.replace(pluginName, &#039;&#039;).replace(/^\s+/, &#039;&#039;).replace(/\sr/gi, &#039;.&#039;).split(&#039;.&#039;);&lt;br /&gt;
				for (var i = 0, total = version.length; i &amp;lt; total; i++) {&lt;br /&gt;
					version[i] = parseInt(version[i].match(/\d+/), 10);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		} else if (_window2.default.ActiveXObject !== undefined) {&lt;br /&gt;
			try {&lt;br /&gt;
				ax = new ActiveXObject(activeX);&lt;br /&gt;
				if (ax) {&lt;br /&gt;
					version = axDetect(ax);&lt;br /&gt;
				}&lt;br /&gt;
			} catch (e) {&lt;br /&gt;
				&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return version;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
PluginDetector.addPlugin(&#039;flash&#039;, &#039;Shockwave Flash&#039;, &#039;application/x-shockwave-flash&#039;, &#039;ShockwaveFlash.ShockwaveFlash&#039;, function (ax) {&lt;br /&gt;
	var version = [],&lt;br /&gt;
	    d = ax.GetVariable(&amp;quot;$version&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	if (d) {&lt;br /&gt;
		d = d.split(&amp;quot; &amp;quot;)[1].split(&amp;quot;,&amp;quot;);&lt;br /&gt;
		version = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];&lt;br /&gt;
	}&lt;br /&gt;
	return version;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
var FlashMediaElementRenderer = {&lt;br /&gt;
	create: function create(mediaElement, options, mediaFiles) {&lt;br /&gt;
&lt;br /&gt;
		var flash = {};&lt;br /&gt;
		var isActive = false;&lt;br /&gt;
&lt;br /&gt;
		flash.options = options;&lt;br /&gt;
		flash.id = mediaElement.id + &#039;_&#039; + flash.options.prefix;&lt;br /&gt;
		flash.mediaElement = mediaElement;&lt;br /&gt;
		flash.flashState = {};&lt;br /&gt;
		flash.flashApi = null;&lt;br /&gt;
		flash.flashApiStack = [];&lt;br /&gt;
&lt;br /&gt;
		var props = _mejs2.default.html5media.properties,&lt;br /&gt;
		    assignGettersSetters = function assignGettersSetters(propName) {&lt;br /&gt;
			flash.flashState[propName] = null;&lt;br /&gt;
&lt;br /&gt;
			var capName = &#039;&#039; + propName.substring(0, 1).toUpperCase() + propName.substring(1);&lt;br /&gt;
&lt;br /&gt;
			flash[&#039;get&#039; + capName] = function () {&lt;br /&gt;
				if (flash.flashApi !== null) {&lt;br /&gt;
					if (typeof flash.flashApi[&#039;get_&#039; + propName] === &#039;function&#039;) {&lt;br /&gt;
						var value = flash.flashApi[&#039;get_&#039; + propName]();&lt;br /&gt;
&lt;br /&gt;
						if (propName === &#039;buffered&#039;) {&lt;br /&gt;
							return {&lt;br /&gt;
								start: function start() {&lt;br /&gt;
									return 0;&lt;br /&gt;
								},&lt;br /&gt;
								end: function end() {&lt;br /&gt;
									return value;&lt;br /&gt;
								},&lt;br /&gt;
								length: 1&lt;br /&gt;
							};&lt;br /&gt;
						}&lt;br /&gt;
						return value;&lt;br /&gt;
					} else {&lt;br /&gt;
						return null;&lt;br /&gt;
					}&lt;br /&gt;
				} else {&lt;br /&gt;
					return null;&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			flash[&#039;set&#039; + capName] = function (value) {&lt;br /&gt;
				if (propName === &#039;src&#039;) {&lt;br /&gt;
					value = (0, _media.absolutizeUrl)(value);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				if (flash.flashApi !== null &amp;amp;&amp;amp; flash.flashApi[&#039;set_&#039; + propName] !== undefined) {&lt;br /&gt;
					try {&lt;br /&gt;
						flash.flashApi[&#039;set_&#039; + propName](value);&lt;br /&gt;
					} catch (e) {&lt;br /&gt;
						&lt;br /&gt;
					}&lt;br /&gt;
				} else {&lt;br /&gt;
					flash.flashApiStack.push({&lt;br /&gt;
						type: &#039;set&#039;,&lt;br /&gt;
						propName: propName,&lt;br /&gt;
						value: value&lt;br /&gt;
					});&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		for (var i = 0, total = props.length; i &amp;lt; total; i++) {&lt;br /&gt;
			assignGettersSetters(props[i]);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var methods = _mejs2.default.html5media.methods,&lt;br /&gt;
		    assignMethods = function assignMethods(methodName) {&lt;br /&gt;
			flash[methodName] = function () {&lt;br /&gt;
				if (isActive) {&lt;br /&gt;
					if (flash.flashApi !== null) {&lt;br /&gt;
						if (flash.flashApi[&#039;fire_&#039; + methodName]) {&lt;br /&gt;
							try {&lt;br /&gt;
								flash.flashApi[&#039;fire_&#039; + methodName]();&lt;br /&gt;
							} catch (e) {&lt;br /&gt;
								&lt;br /&gt;
							}&lt;br /&gt;
						} else {&lt;br /&gt;
							&lt;br /&gt;
						}&lt;br /&gt;
					} else {&lt;br /&gt;
						flash.flashApiStack.push({&lt;br /&gt;
							type: &#039;call&#039;,&lt;br /&gt;
							methodName: methodName&lt;br /&gt;
						});&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
		};&lt;br /&gt;
		methods.push(&#039;stop&#039;);&lt;br /&gt;
		for (var _i = 0, _total = methods.length; _i &amp;lt; _total; _i++) {&lt;br /&gt;
			assignMethods(methods[_i]);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var initEvents = [&#039;rendererready&#039;];&lt;br /&gt;
&lt;br /&gt;
		for (var _i2 = 0, _total2 = initEvents.length; _i2 &amp;lt; _total2; _i2++) {&lt;br /&gt;
			var event = (0, _general.createEvent)(initEvents[_i2], flash);&lt;br /&gt;
			mediaElement.dispatchEvent(event);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		_window2.default[&#039;__ready__&#039; + flash.id] = function () {&lt;br /&gt;
&lt;br /&gt;
			flash.flashReady = true;&lt;br /&gt;
			flash.flashApi = _document2.default.getElementById(&#039;__&#039; + flash.id);&lt;br /&gt;
&lt;br /&gt;
			if (flash.flashApiStack.length) {&lt;br /&gt;
				for (var _i3 = 0, _total3 = flash.flashApiStack.length; _i3 &amp;lt; _total3; _i3++) {&lt;br /&gt;
					var stackItem = flash.flashApiStack[_i3];&lt;br /&gt;
&lt;br /&gt;
					if (stackItem.type === &#039;set&#039;) {&lt;br /&gt;
						var propName = stackItem.propName,&lt;br /&gt;
						    capName = &#039;&#039; + propName.substring(0, 1).toUpperCase() + propName.substring(1);&lt;br /&gt;
&lt;br /&gt;
						flash[&#039;set&#039; + capName](stackItem.value);&lt;br /&gt;
					} else if (stackItem.type === &#039;call&#039;) {&lt;br /&gt;
						flash[stackItem.methodName]();&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		_window2.default[&#039;__event__&#039; + flash.id] = function (eventName, message) {&lt;br /&gt;
			var event = (0, _general.createEvent)(eventName, flash);&lt;br /&gt;
			if (message) {&lt;br /&gt;
				try {&lt;br /&gt;
					event.data = JSON.parse(message);&lt;br /&gt;
					event.details.data = JSON.parse(message);&lt;br /&gt;
				} catch (e) {&lt;br /&gt;
					event.message = message;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			flash.mediaElement.dispatchEvent(event);&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		flash.flashWrapper = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
&lt;br /&gt;
		if ([&#039;always&#039;, &#039;sameDomain&#039;].indexOf(flash.options.shimScriptAccess) === -1) {&lt;br /&gt;
			flash.options.shimScriptAccess = &#039;sameDomain&#039;;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var autoplay = mediaElement.originalNode.autoplay,&lt;br /&gt;
		    flashVars = [&#039;uid=&#039; + flash.id, &#039;autoplay=&#039; + autoplay, &#039;allowScriptAccess=&#039; + flash.options.shimScriptAccess, &#039;preload=&#039; + (mediaElement.originalNode.getAttribute(&#039;preload&#039;) || &#039;&#039;)],&lt;br /&gt;
		    isVideo = mediaElement.originalNode !== null &amp;amp;&amp;amp; mediaElement.originalNode.tagName.toLowerCase() === &#039;video&#039;,&lt;br /&gt;
		    flashHeight = isVideo ? mediaElement.originalNode.height : 1,&lt;br /&gt;
		    flashWidth = isVideo ? mediaElement.originalNode.width : 1;&lt;br /&gt;
&lt;br /&gt;
		if (mediaElement.originalNode.getAttribute(&#039;src&#039;)) {&lt;br /&gt;
			flashVars.push(&#039;src=&#039; + mediaElement.originalNode.getAttribute(&#039;src&#039;));&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (flash.options.enablePseudoStreaming === true) {&lt;br /&gt;
			flashVars.push(&#039;pseudostreamstart=&#039; + flash.options.pseudoStreamingStartQueryParam);&lt;br /&gt;
			flashVars.push(&#039;pseudostreamtype=&#039; + flash.options.pseudoStreamingType);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (flash.options.streamDelimiter) {&lt;br /&gt;
			flashVars.push(&#039;streamdelimiter=&#039; + encodeURIComponent(flash.options.streamDelimiter));&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (flash.options.proxyType) {&lt;br /&gt;
			flashVars.push(&#039;proxytype=&#039; + flash.options.proxyType);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		mediaElement.appendChild(flash.flashWrapper);&lt;br /&gt;
		mediaElement.originalNode.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
		var settings = [];&lt;br /&gt;
&lt;br /&gt;
		if (_constants.IS_IE || _constants.IS_EDGE) {&lt;br /&gt;
			var specialIEContainer = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
			flash.flashWrapper.appendChild(specialIEContainer);&lt;br /&gt;
&lt;br /&gt;
			if (_constants.IS_EDGE) {&lt;br /&gt;
				settings = [&#039;type=&amp;quot;application/x-shockwave-flash&amp;quot;&#039;, &#039;data=&amp;quot;&#039; + flash.options.pluginPath + flash.options.filename + &#039;&amp;quot;&#039;, &#039;id=&amp;quot;__&#039; + flash.id + &#039;&amp;quot;&#039;, &#039;width=&amp;quot;&#039; + flashWidth + &#039;&amp;quot;&#039;, &#039;height=&amp;quot;&#039; + flashHeight + &#039;\&#039;&amp;quot;&#039;];&lt;br /&gt;
			} else {&lt;br /&gt;
				settings = [&#039;classid=&amp;quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&amp;quot;&#039;, &#039;codebase=&amp;quot;//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab&amp;quot;&#039;, &#039;id=&amp;quot;__&#039; + flash.id + &#039;&amp;quot;&#039;, &#039;width=&amp;quot;&#039; + flashWidth + &#039;&amp;quot;&#039;, &#039;height=&amp;quot;&#039; + flashHeight + &#039;&amp;quot;&#039;];&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (!isVideo) {&lt;br /&gt;
				settings.push(&#039;style=&amp;quot;clip: rect(0 0 0 0); position: absolute;&amp;quot;&#039;);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			specialIEContainer.outerHTML = &#039;&amp;lt;object &#039; + settings.join(&#039; &#039;) + &#039;&amp;gt;&#039; + (&#039;&amp;lt;param name=&amp;quot;movie&amp;quot; value=&amp;quot;&#039; + flash.options.pluginPath + flash.options.filename + &#039;?x=&#039; + new Date() + &#039;&amp;quot; /&amp;gt;&#039;) + (&#039;&amp;lt;param name=&amp;quot;flashvars&amp;quot; value=&amp;quot;&#039; + flashVars.join(&#039;&amp;amp;amp;&#039;) + &#039;&amp;quot; /&amp;gt;&#039;) + &#039;&amp;lt;param name=&amp;quot;quality&amp;quot; value=&amp;quot;high&amp;quot; /&amp;gt;&#039; + &#039;&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;#000000&amp;quot; /&amp;gt;&#039; + &#039;&amp;lt;param name=&amp;quot;wmode&amp;quot; value=&amp;quot;transparent&amp;quot; /&amp;gt;&#039; + (&#039;&amp;lt;param name=&amp;quot;allowScriptAccess&amp;quot; value=&amp;quot;&#039; + flash.options.shimScriptAccess + &#039;&amp;quot; /&amp;gt;&#039;) + &#039;&amp;lt;param name=&amp;quot;allowFullScreen&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&#039; + (&#039;&amp;lt;div&amp;gt;&#039; + _i18n2.default.t(&#039;mejs.install-flash&#039;) + &#039;&amp;lt;/div&amp;gt;&#039;) + &#039;&amp;lt;/object&amp;gt;&#039;;&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
			settings = [&#039;id=&amp;quot;__&#039; + flash.id + &#039;&amp;quot;&#039;, &#039;name=&amp;quot;__&#039; + flash.id + &#039;&amp;quot;&#039;, &#039;play=&amp;quot;true&amp;quot;&#039;, &#039;loop=&amp;quot;false&amp;quot;&#039;, &#039;quality=&amp;quot;high&amp;quot;&#039;, &#039;bgcolor=&amp;quot;#000000&amp;quot;&#039;, &#039;wmode=&amp;quot;transparent&amp;quot;&#039;, &#039;allowScriptAccess=&amp;quot;&#039; + flash.options.shimScriptAccess + &#039;&amp;quot;&#039;, &#039;allowFullScreen=&amp;quot;true&amp;quot;&#039;, &#039;type=&amp;quot;application/x-shockwave-flash&amp;quot;&#039;, &#039;pluginspage=&amp;quot;//www.macromedia.com/go/getflashplayer&amp;quot;&#039;, &#039;src=&amp;quot;&#039; + flash.options.pluginPath + flash.options.filename + &#039;&amp;quot;&#039;, &#039;flashvars=&amp;quot;&#039; + flashVars.join(&#039;&amp;amp;&#039;) + &#039;&amp;quot;&#039;];&lt;br /&gt;
&lt;br /&gt;
			if (isVideo) {&lt;br /&gt;
				settings.push(&#039;width=&amp;quot;&#039; + flashWidth + &#039;&amp;quot;&#039;);&lt;br /&gt;
				settings.push(&#039;height=&amp;quot;&#039; + flashHeight + &#039;&amp;quot;&#039;);&lt;br /&gt;
			} else {&lt;br /&gt;
				settings.push(&#039;style=&amp;quot;position: fixed; left: -9999em; top: -9999em;&amp;quot;&#039;);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			flash.flashWrapper.innerHTML = &#039;&amp;lt;embed &#039; + settings.join(&#039; &#039;) + &#039;&amp;gt;&#039;;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		flash.flashNode = flash.flashWrapper.lastChild;&lt;br /&gt;
&lt;br /&gt;
		flash.hide = function () {&lt;br /&gt;
			isActive = false;&lt;br /&gt;
			if (isVideo) {&lt;br /&gt;
				flash.flashNode.style.display = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
		flash.show = function () {&lt;br /&gt;
			isActive = true;&lt;br /&gt;
			if (isVideo) {&lt;br /&gt;
				flash.flashNode.style.display = &#039;&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
		flash.setSize = function (width, height) {&lt;br /&gt;
			flash.flashNode.style.width = width + &#039;px&#039;;&lt;br /&gt;
			flash.flashNode.style.height = height + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
			if (flash.flashApi !== null &amp;amp;&amp;amp; typeof flash.flashApi.fire_setSize === &#039;function&#039;) {&lt;br /&gt;
				flash.flashApi.fire_setSize(width, height);&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		flash.destroy = function () {&lt;br /&gt;
			flash.flashNode.remove();&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		if (mediaFiles &amp;amp;&amp;amp; mediaFiles.length &amp;gt; 0) {&lt;br /&gt;
			for (var _i4 = 0, _total4 = mediaFiles.length; _i4 &amp;lt; _total4; _i4++) {&lt;br /&gt;
				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)) {&lt;br /&gt;
					flash.setSrc(mediaFiles[_i4].src);&lt;br /&gt;
					break;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return flash;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var hasFlash = PluginDetector.hasPluginVersion(&#039;flash&#039;, [10, 0, 0]);&lt;br /&gt;
&lt;br /&gt;
if (hasFlash) {&lt;br /&gt;
	_media.typeChecks.push(function (url) {&lt;br /&gt;
		url = url.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
		if (url.startsWith(&#039;rtmp&#039;)) {&lt;br /&gt;
			if (~url.indexOf(&#039;.mp3&#039;)) {&lt;br /&gt;
				return &#039;audio/rtmp&#039;;&lt;br /&gt;
			} else {&lt;br /&gt;
				return &#039;video/rtmp&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		} else if (/\.og(a|g)/i.test(url)) {&lt;br /&gt;
			return &#039;audio/ogg&#039;;&lt;br /&gt;
		} else if (~url.indexOf(&#039;.m3u8&#039;)) {&lt;br /&gt;
			return &#039;application/x-mpegURL&#039;;&lt;br /&gt;
		} else if (~url.indexOf(&#039;.mpd&#039;)) {&lt;br /&gt;
			return &#039;application/dash+xml&#039;;&lt;br /&gt;
		} else if (~url.indexOf(&#039;.flv&#039;)) {&lt;br /&gt;
			return &#039;video/flv&#039;;&lt;br /&gt;
		} else {&lt;br /&gt;
			return null;&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var FlashMediaElementVideoRenderer = {&lt;br /&gt;
		name: &#039;flash_video&#039;,&lt;br /&gt;
		options: {&lt;br /&gt;
			prefix: &#039;flash_video&#039;,&lt;br /&gt;
			filename: &#039;mediaelement-flash-video.swf&#039;,&lt;br /&gt;
			enablePseudoStreaming: false,&lt;br /&gt;
&lt;br /&gt;
			pseudoStreamingStartQueryParam: &#039;start&#039;,&lt;br /&gt;
&lt;br /&gt;
			pseudoStreamingType: &#039;byte&#039;,&lt;br /&gt;
&lt;br /&gt;
			proxyType: &#039;&#039;,&lt;br /&gt;
&lt;br /&gt;
			streamDelimiter: &#039;&#039;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		canPlayType: function canPlayType(type) {&lt;br /&gt;
			return ~[&#039;video/mp4&#039;, &#039;video/rtmp&#039;, &#039;audio/rtmp&#039;, &#039;rtmp/mp4&#039;, &#039;audio/mp4&#039;, &#039;video/flv&#039;, &#039;video/x-flv&#039;].indexOf(type.toLowerCase());&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		create: FlashMediaElementRenderer.create&lt;br /&gt;
&lt;br /&gt;
	};&lt;br /&gt;
	_renderer.renderer.add(FlashMediaElementVideoRenderer);&lt;br /&gt;
&lt;br /&gt;
	var FlashMediaElementHlsVideoRenderer = {&lt;br /&gt;
		name: &#039;flash_hls&#039;,&lt;br /&gt;
		options: {&lt;br /&gt;
			prefix: &#039;flash_hls&#039;,&lt;br /&gt;
			filename: &#039;mediaelement-flash-video-hls.swf&#039;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		canPlayType: function canPlayType(type) {&lt;br /&gt;
			return ~[&#039;application/x-mpegurl&#039;, &#039;application/vnd.apple.mpegurl&#039;, &#039;audio/mpegurl&#039;, &#039;audio/hls&#039;, &#039;video/hls&#039;].indexOf(type.toLowerCase());&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		create: FlashMediaElementRenderer.create&lt;br /&gt;
	};&lt;br /&gt;
	_renderer.renderer.add(FlashMediaElementHlsVideoRenderer);&lt;br /&gt;
&lt;br /&gt;
	var FlashMediaElementMdashVideoRenderer = {&lt;br /&gt;
		name: &#039;flash_dash&#039;,&lt;br /&gt;
		options: {&lt;br /&gt;
			prefix: &#039;flash_dash&#039;,&lt;br /&gt;
			filename: &#039;mediaelement-flash-video-mdash.swf&#039;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		canPlayType: function canPlayType(type) {&lt;br /&gt;
			return ~[&#039;application/dash+xml&#039;].indexOf(type.toLowerCase());&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		create: FlashMediaElementRenderer.create&lt;br /&gt;
	};&lt;br /&gt;
	_renderer.renderer.add(FlashMediaElementMdashVideoRenderer);&lt;br /&gt;
&lt;br /&gt;
	var FlashMediaElementAudioRenderer = {&lt;br /&gt;
		name: &#039;flash_audio&#039;,&lt;br /&gt;
		options: {&lt;br /&gt;
			prefix: &#039;flash_audio&#039;,&lt;br /&gt;
			filename: &#039;mediaelement-flash-audio.swf&#039;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		canPlayType: function canPlayType(type) {&lt;br /&gt;
			return ~[&#039;audio/mp3&#039;].indexOf(type.toLowerCase());&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		create: FlashMediaElementRenderer.create&lt;br /&gt;
	};&lt;br /&gt;
	_renderer.renderer.add(FlashMediaElementAudioRenderer);&lt;br /&gt;
&lt;br /&gt;
	var FlashMediaElementAudioOggRenderer = {&lt;br /&gt;
		name: &#039;flash_audio_ogg&#039;,&lt;br /&gt;
		options: {&lt;br /&gt;
			prefix: &#039;flash_audio_ogg&#039;,&lt;br /&gt;
			filename: &#039;mediaelement-flash-audio-ogg.swf&#039;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		canPlayType: function canPlayType(type) {&lt;br /&gt;
			return ~[&#039;audio/ogg&#039;, &#039;audio/oga&#039;, &#039;audio/ogv&#039;].indexOf(type.toLowerCase());&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		create: FlashMediaElementRenderer.create&lt;br /&gt;
	};&lt;br /&gt;
	_renderer.renderer.add(FlashMediaElementAudioOggRenderer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;2&amp;quot;:2,&amp;quot;26&amp;quot;:26,&amp;quot;28&amp;quot;:28,&amp;quot;3&amp;quot;:3,&amp;quot;30&amp;quot;:30,&amp;quot;6&amp;quot;:6,&amp;quot;8&amp;quot;:8,&amp;quot;9&amp;quot;:9}],22:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _typeof = typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; typeof Symbol.iterator === &amp;quot;symbol&amp;quot; ? function (obj) { return typeof obj; } : function (obj) { return obj &amp;amp;&amp;amp; typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; obj.constructor === Symbol &amp;amp;&amp;amp; obj !== Symbol.prototype ? &amp;quot;symbol&amp;quot; : typeof obj; };&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _renderer = _dereq_(9);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _constants = _dereq_(26);&lt;br /&gt;
&lt;br /&gt;
var _media = _dereq_(30);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
var NativeFlv = {&lt;br /&gt;
&lt;br /&gt;
	promise: null,&lt;br /&gt;
&lt;br /&gt;
	load: function load(settings) {&lt;br /&gt;
		if (typeof flvjs !== &#039;undefined&#039;) {&lt;br /&gt;
			NativeFlv.promise = new Promise(function (resolve) {&lt;br /&gt;
				resolve();&lt;br /&gt;
			}).then(function () {&lt;br /&gt;
				NativeFlv._createPlayer(settings);&lt;br /&gt;
			});&lt;br /&gt;
		} else {&lt;br /&gt;
			settings.options.path = typeof settings.options.path === &#039;string&#039; ? settings.options.path : &#039;https://cdn.jsdelivr.net/npm/flv.js@latest&#039;;&lt;br /&gt;
&lt;br /&gt;
			NativeFlv.promise = NativeFlv.promise || (0, _dom.loadScript)(settings.options.path);&lt;br /&gt;
			NativeFlv.promise.then(function () {&lt;br /&gt;
				NativeFlv._createPlayer(settings);&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return NativeFlv.promise;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_createPlayer: function _createPlayer(settings) {&lt;br /&gt;
		flvjs.LoggingControl.enableDebug = settings.options.debug;&lt;br /&gt;
		flvjs.LoggingControl.enableVerbose = settings.options.debug;&lt;br /&gt;
		var player = flvjs.createPlayer(settings.options, settings.configs);&lt;br /&gt;
		_window2.default[&#039;__ready__&#039; + settings.id](player);&lt;br /&gt;
		return player;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var FlvNativeRenderer = {&lt;br /&gt;
	name: &#039;native_flv&#039;,&lt;br /&gt;
	options: {&lt;br /&gt;
		prefix: &#039;native_flv&#039;,&lt;br /&gt;
		flv: {&lt;br /&gt;
			path: &#039;https://cdn.jsdelivr.net/npm/flv.js@latest&#039;,&lt;br /&gt;
&lt;br /&gt;
			cors: true,&lt;br /&gt;
			debug: false&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	canPlayType: function canPlayType(type) {&lt;br /&gt;
		return _constants.HAS_MSE &amp;amp;&amp;amp; [&#039;video/x-flv&#039;, &#039;video/flv&#039;].indexOf(type.toLowerCase()) &amp;gt; -1;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	create: function create(mediaElement, options, mediaFiles) {&lt;br /&gt;
&lt;br /&gt;
		var originalNode = mediaElement.originalNode,&lt;br /&gt;
		    id = mediaElement.id + &#039;_&#039; + options.prefix;&lt;br /&gt;
&lt;br /&gt;
		var node = null,&lt;br /&gt;
		    flvPlayer = null;&lt;br /&gt;
&lt;br /&gt;
		node = originalNode.cloneNode(true);&lt;br /&gt;
		options = Object.assign(options, mediaElement.options);&lt;br /&gt;
&lt;br /&gt;
		var props = _mejs2.default.html5media.properties,&lt;br /&gt;
		    events = _mejs2.default.html5media.events.concat([&#039;click&#039;, &#039;mouseover&#039;, &#039;mouseout&#039;]).filter(function (e) {&lt;br /&gt;
			return e !== &#039;error&#039;;&lt;br /&gt;
		}),&lt;br /&gt;
		    attachNativeEvents = function attachNativeEvents(e) {&lt;br /&gt;
			var event = (0, _general.createEvent)(e.type, mediaElement);&lt;br /&gt;
			mediaElement.dispatchEvent(event);&lt;br /&gt;
		},&lt;br /&gt;
		    assignGettersSetters = function assignGettersSetters(propName) {&lt;br /&gt;
			var capName = &#039;&#039; + propName.substring(0, 1).toUpperCase() + propName.substring(1);&lt;br /&gt;
&lt;br /&gt;
			node[&#039;get&#039; + capName] = function () {&lt;br /&gt;
				return flvPlayer !== null ? node[propName] : null;&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			node[&#039;set&#039; + capName] = function (value) {&lt;br /&gt;
				if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {&lt;br /&gt;
					if (propName === &#039;src&#039;) {&lt;br /&gt;
						node[propName] = (typeof value === &#039;undefined&#039; ? &#039;undefined&#039; : _typeof(value)) === &#039;object&#039; &amp;amp;&amp;amp; value.src ? value.src : value;&lt;br /&gt;
						if (flvPlayer !== null) {&lt;br /&gt;
							var _flvOptions = {};&lt;br /&gt;
							_flvOptions.type = &#039;flv&#039;;&lt;br /&gt;
							_flvOptions.url = value;&lt;br /&gt;
							_flvOptions.cors = options.flv.cors;&lt;br /&gt;
							_flvOptions.debug = options.flv.debug;&lt;br /&gt;
							_flvOptions.path = options.flv.path;&lt;br /&gt;
							var _flvConfigs = options.flv.configs;&lt;br /&gt;
&lt;br /&gt;
							flvPlayer.destroy();&lt;br /&gt;
							for (var i = 0, total = events.length; i &amp;lt; total; i++) {&lt;br /&gt;
								node.removeEventListener(events[i], attachNativeEvents);&lt;br /&gt;
							}&lt;br /&gt;
							flvPlayer = NativeFlv._createPlayer({&lt;br /&gt;
								options: _flvOptions,&lt;br /&gt;
								configs: _flvConfigs,&lt;br /&gt;
								id: id&lt;br /&gt;
							});&lt;br /&gt;
							flvPlayer.attachMediaElement(node);&lt;br /&gt;
							flvPlayer.load();&lt;br /&gt;
						}&lt;br /&gt;
					} else {&lt;br /&gt;
						node[propName] = value;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		for (var i = 0, total = props.length; i &amp;lt; total; i++) {&lt;br /&gt;
			assignGettersSetters(props[i]);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		_window2.default[&#039;__ready__&#039; + id] = function (_flvPlayer) {&lt;br /&gt;
			mediaElement.flvPlayer = flvPlayer = _flvPlayer;&lt;br /&gt;
&lt;br /&gt;
			var flvEvents = flvjs.Events,&lt;br /&gt;
			    assignEvents = function assignEvents(eventName) {&lt;br /&gt;
				if (eventName === &#039;loadedmetadata&#039;) {&lt;br /&gt;
					flvPlayer.unload();&lt;br /&gt;
					flvPlayer.detachMediaElement();&lt;br /&gt;
					flvPlayer.attachMediaElement(node);&lt;br /&gt;
					flvPlayer.load();&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				node.addEventListener(eventName, attachNativeEvents);&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			for (var _i = 0, _total = events.length; _i &amp;lt; _total; _i++) {&lt;br /&gt;
				assignEvents(events[_i]);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var assignFlvEvents = function assignFlvEvents(name, data) {&lt;br /&gt;
				if (name === &#039;error&#039;) {&lt;br /&gt;
					var message = data[0] + &#039;: &#039; + data[1] + &#039; &#039; + data[2].msg;&lt;br /&gt;
					mediaElement.generateError(message, node.src);&lt;br /&gt;
				} else {&lt;br /&gt;
					var _event = (0, _general.createEvent)(name, mediaElement);&lt;br /&gt;
					_event.data = data;&lt;br /&gt;
					mediaElement.dispatchEvent(_event);&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			var _loop = function _loop(eventType) {&lt;br /&gt;
				if (flvEvents.hasOwnProperty(eventType)) {&lt;br /&gt;
					flvPlayer.on(flvEvents[eventType], function () {&lt;br /&gt;
						for (var _len = arguments.length, args = Array(_len), _key = 0; _key &amp;lt; _len; _key++) {&lt;br /&gt;
							args[_key] = arguments[_key];&lt;br /&gt;
						}&lt;br /&gt;
&lt;br /&gt;
						return assignFlvEvents(flvEvents[eventType], args);&lt;br /&gt;
					});&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			for (var eventType in flvEvents) {&lt;br /&gt;
				_loop(eventType);&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		if (mediaFiles &amp;amp;&amp;amp; mediaFiles.length &amp;gt; 0) {&lt;br /&gt;
			for (var _i2 = 0, _total2 = mediaFiles.length; _i2 &amp;lt; _total2; _i2++) {&lt;br /&gt;
				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i2].type)) {&lt;br /&gt;
					node.setAttribute(&#039;src&#039;, mediaFiles[_i2].src);&lt;br /&gt;
					break;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		node.setAttribute(&#039;id&#039;, id);&lt;br /&gt;
&lt;br /&gt;
		originalNode.parentNode.insertBefore(node, originalNode);&lt;br /&gt;
		originalNode.autoplay = false;&lt;br /&gt;
		originalNode.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
		var flvOptions = {};&lt;br /&gt;
		flvOptions.type = &#039;flv&#039;;&lt;br /&gt;
		flvOptions.url = node.src;&lt;br /&gt;
		flvOptions.cors = options.flv.cors;&lt;br /&gt;
		flvOptions.debug = options.flv.debug;&lt;br /&gt;
		flvOptions.path = options.flv.path;&lt;br /&gt;
		var flvConfigs = options.flv.configs;&lt;br /&gt;
&lt;br /&gt;
		node.setSize = function (width, height) {&lt;br /&gt;
			node.style.width = width + &#039;px&#039;;&lt;br /&gt;
			node.style.height = height + &#039;px&#039;;&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.hide = function () {&lt;br /&gt;
			if (flvPlayer !== null) {&lt;br /&gt;
				flvPlayer.pause();&lt;br /&gt;
			}&lt;br /&gt;
			node.style.display = &#039;none&#039;;&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.show = function () {&lt;br /&gt;
			node.style.display = &#039;&#039;;&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.destroy = function () {&lt;br /&gt;
			if (flvPlayer !== null) {&lt;br /&gt;
				flvPlayer.destroy();&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		var event = (0, _general.createEvent)(&#039;rendererready&#039;, node);&lt;br /&gt;
		mediaElement.dispatchEvent(event);&lt;br /&gt;
&lt;br /&gt;
		mediaElement.promises.push(NativeFlv.load({&lt;br /&gt;
			options: flvOptions,&lt;br /&gt;
			configs: flvConfigs,&lt;br /&gt;
			id: id&lt;br /&gt;
		}));&lt;br /&gt;
&lt;br /&gt;
		return node;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
_media.typeChecks.push(function (url) {&lt;br /&gt;
	return ~url.toLowerCase().indexOf(&#039;.flv&#039;) ? &#039;video/flv&#039; : null;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
_renderer.renderer.add(FlvNativeRenderer);&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;26&amp;quot;:26,&amp;quot;27&amp;quot;:27,&amp;quot;28&amp;quot;:28,&amp;quot;3&amp;quot;:3,&amp;quot;30&amp;quot;:30,&amp;quot;8&amp;quot;:8,&amp;quot;9&amp;quot;:9}],23:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _typeof = typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; typeof Symbol.iterator === &amp;quot;symbol&amp;quot; ? function (obj) { return typeof obj; } : function (obj) { return obj &amp;amp;&amp;amp; typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; obj.constructor === Symbol &amp;amp;&amp;amp; obj !== Symbol.prototype ? &amp;quot;symbol&amp;quot; : typeof obj; };&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _renderer = _dereq_(9);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _constants = _dereq_(26);&lt;br /&gt;
&lt;br /&gt;
var _media = _dereq_(30);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
var NativeHls = {&lt;br /&gt;
&lt;br /&gt;
	promise: null,&lt;br /&gt;
&lt;br /&gt;
	load: function load(settings) {&lt;br /&gt;
		if (typeof Hls !== &#039;undefined&#039;) {&lt;br /&gt;
			NativeHls.promise = new Promise(function (resolve) {&lt;br /&gt;
				resolve();&lt;br /&gt;
			}).then(function () {&lt;br /&gt;
				NativeHls._createPlayer(settings);&lt;br /&gt;
			});&lt;br /&gt;
		} else {&lt;br /&gt;
			settings.options.path = typeof settings.options.path === &#039;string&#039; ? settings.options.path : &#039;https://cdn.jsdelivr.net/npm/hls.js@latest&#039;;&lt;br /&gt;
&lt;br /&gt;
			NativeHls.promise = NativeHls.promise || (0, _dom.loadScript)(settings.options.path);&lt;br /&gt;
			NativeHls.promise.then(function () {&lt;br /&gt;
				NativeHls._createPlayer(settings);&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return NativeHls.promise;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_createPlayer: function _createPlayer(settings) {&lt;br /&gt;
		var player = new Hls(settings.options);&lt;br /&gt;
		_window2.default[&#039;__ready__&#039; + settings.id](player);&lt;br /&gt;
		return player;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var HlsNativeRenderer = {&lt;br /&gt;
	name: &#039;native_hls&#039;,&lt;br /&gt;
	options: {&lt;br /&gt;
		prefix: &#039;native_hls&#039;,&lt;br /&gt;
		hls: {&lt;br /&gt;
			path: &#039;https://cdn.jsdelivr.net/npm/hls.js@latest&#039;,&lt;br /&gt;
&lt;br /&gt;
			autoStartLoad: false,&lt;br /&gt;
			debug: false&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	canPlayType: function canPlayType(type) {&lt;br /&gt;
		return _constants.HAS_MSE &amp;amp;&amp;amp; [&#039;application/x-mpegurl&#039;, &#039;application/vnd.apple.mpegurl&#039;, &#039;audio/mpegurl&#039;, &#039;audio/hls&#039;, &#039;video/hls&#039;].indexOf(type.toLowerCase()) &amp;gt; -1;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	create: function create(mediaElement, options, mediaFiles) {&lt;br /&gt;
&lt;br /&gt;
		var originalNode = mediaElement.originalNode,&lt;br /&gt;
		    id = mediaElement.id + &#039;_&#039; + options.prefix,&lt;br /&gt;
		    preload = originalNode.getAttribute(&#039;preload&#039;),&lt;br /&gt;
		    autoplay = originalNode.autoplay;&lt;br /&gt;
&lt;br /&gt;
		var hlsPlayer = null,&lt;br /&gt;
		    node = null,&lt;br /&gt;
		    index = 0,&lt;br /&gt;
		    total = mediaFiles.length;&lt;br /&gt;
&lt;br /&gt;
		node = originalNode.cloneNode(true);&lt;br /&gt;
		options = Object.assign(options, mediaElement.options);&lt;br /&gt;
		options.hls.autoStartLoad = preload &amp;amp;&amp;amp; preload !== &#039;none&#039; || autoplay;&lt;br /&gt;
&lt;br /&gt;
		var props = _mejs2.default.html5media.properties,&lt;br /&gt;
		    events = _mejs2.default.html5media.events.concat([&#039;click&#039;, &#039;mouseover&#039;, &#039;mouseout&#039;]).filter(function (e) {&lt;br /&gt;
			return e !== &#039;error&#039;;&lt;br /&gt;
		}),&lt;br /&gt;
		    attachNativeEvents = function attachNativeEvents(e) {&lt;br /&gt;
			var event = (0, _general.createEvent)(e.type, mediaElement);&lt;br /&gt;
			mediaElement.dispatchEvent(event);&lt;br /&gt;
		},&lt;br /&gt;
		    assignGettersSetters = function assignGettersSetters(propName) {&lt;br /&gt;
			var capName = &#039;&#039; + propName.substring(0, 1).toUpperCase() + propName.substring(1);&lt;br /&gt;
&lt;br /&gt;
			node[&#039;get&#039; + capName] = function () {&lt;br /&gt;
				return hlsPlayer !== null ? node[propName] : null;&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			node[&#039;set&#039; + capName] = function (value) {&lt;br /&gt;
				if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {&lt;br /&gt;
					if (propName === &#039;src&#039;) {&lt;br /&gt;
						node[propName] = (typeof value === &#039;undefined&#039; ? &#039;undefined&#039; : _typeof(value)) === &#039;object&#039; &amp;amp;&amp;amp; value.src ? value.src : value;&lt;br /&gt;
						if (hlsPlayer !== null) {&lt;br /&gt;
							hlsPlayer.destroy();&lt;br /&gt;
							for (var i = 0, _total = events.length; i &amp;lt; _total; i++) {&lt;br /&gt;
								node.removeEventListener(events[i], attachNativeEvents);&lt;br /&gt;
							}&lt;br /&gt;
							hlsPlayer = NativeHls._createPlayer({&lt;br /&gt;
								options: options.hls,&lt;br /&gt;
								id: id&lt;br /&gt;
							});&lt;br /&gt;
							hlsPlayer.loadSource(value);&lt;br /&gt;
							hlsPlayer.attachMedia(node);&lt;br /&gt;
						}&lt;br /&gt;
					} else {&lt;br /&gt;
						node[propName] = value;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		for (var i = 0, _total2 = props.length; i &amp;lt; _total2; i++) {&lt;br /&gt;
			assignGettersSetters(props[i]);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		_window2.default[&#039;__ready__&#039; + id] = function (_hlsPlayer) {&lt;br /&gt;
			mediaElement.hlsPlayer = hlsPlayer = _hlsPlayer;&lt;br /&gt;
			var hlsEvents = Hls.Events,&lt;br /&gt;
			    assignEvents = function assignEvents(eventName) {&lt;br /&gt;
				if (eventName === &#039;loadedmetadata&#039;) {&lt;br /&gt;
					var url = mediaElement.originalNode.src;&lt;br /&gt;
					hlsPlayer.detachMedia();&lt;br /&gt;
					hlsPlayer.loadSource(url);&lt;br /&gt;
					hlsPlayer.attachMedia(node);&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				node.addEventListener(eventName, attachNativeEvents);&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			for (var _i = 0, _total3 = events.length; _i &amp;lt; _total3; _i++) {&lt;br /&gt;
				assignEvents(events[_i]);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var recoverDecodingErrorDate = void 0,&lt;br /&gt;
			    recoverSwapAudioCodecDate = void 0;&lt;br /&gt;
			var assignHlsEvents = function assignHlsEvents(name, data) {&lt;br /&gt;
				if (name === &#039;hlsError&#039;) {&lt;br /&gt;
					console.warn(data);&lt;br /&gt;
					data = data[1];&lt;br /&gt;
&lt;br /&gt;
					if (data.fatal) {&lt;br /&gt;
						switch (data.type) {&lt;br /&gt;
							case &#039;mediaError&#039;:&lt;br /&gt;
								var now = new Date().getTime();&lt;br /&gt;
								if (!recoverDecodingErrorDate || now - recoverDecodingErrorDate &amp;gt; 3000) {&lt;br /&gt;
									recoverDecodingErrorDate = new Date().getTime();&lt;br /&gt;
									hlsPlayer.recoverMediaError();&lt;br /&gt;
								} else if (!recoverSwapAudioCodecDate || now - recoverSwapAudioCodecDate &amp;gt; 3000) {&lt;br /&gt;
									recoverSwapAudioCodecDate = new Date().getTime();&lt;br /&gt;
									console.warn(&#039;Attempting to swap Audio Codec and recover from media error&#039;);&lt;br /&gt;
									hlsPlayer.swapAudioCodec();&lt;br /&gt;
									hlsPlayer.recoverMediaError();&lt;br /&gt;
								} else {&lt;br /&gt;
									var message = &#039;Cannot recover, last media error recovery failed&#039;;&lt;br /&gt;
									mediaElement.generateError(message, node.src);&lt;br /&gt;
									console.error(message);&lt;br /&gt;
								}&lt;br /&gt;
								break;&lt;br /&gt;
							case &#039;networkError&#039;:&lt;br /&gt;
								if (data.details === &#039;manifestLoadError&#039;) {&lt;br /&gt;
									if (index &amp;lt; total &amp;amp;&amp;amp; mediaFiles[index + 1] !== undefined) {&lt;br /&gt;
										node.setSrc(mediaFiles[index++].src);&lt;br /&gt;
										node.load();&lt;br /&gt;
										node.play();&lt;br /&gt;
									} else {&lt;br /&gt;
										var _message = &#039;Network error&#039;;&lt;br /&gt;
										mediaElement.generateError(_message, mediaFiles);&lt;br /&gt;
										console.error(_message);&lt;br /&gt;
									}&lt;br /&gt;
								} else {&lt;br /&gt;
									var _message2 = &#039;Network error&#039;;&lt;br /&gt;
									mediaElement.generateError(_message2, mediaFiles);&lt;br /&gt;
									console.error(_message2);&lt;br /&gt;
								}&lt;br /&gt;
								break;&lt;br /&gt;
							default:&lt;br /&gt;
								hlsPlayer.destroy();&lt;br /&gt;
								break;&lt;br /&gt;
						}&lt;br /&gt;
						return;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				var event = (0, _general.createEvent)(name, mediaElement);&lt;br /&gt;
				event.data = data;&lt;br /&gt;
				mediaElement.dispatchEvent(event);&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			var _loop = function _loop(eventType) {&lt;br /&gt;
				if (hlsEvents.hasOwnProperty(eventType)) {&lt;br /&gt;
					hlsPlayer.on(hlsEvents[eventType], function () {&lt;br /&gt;
						for (var _len = arguments.length, args = Array(_len), _key = 0; _key &amp;lt; _len; _key++) {&lt;br /&gt;
							args[_key] = arguments[_key];&lt;br /&gt;
						}&lt;br /&gt;
&lt;br /&gt;
						return assignHlsEvents(hlsEvents[eventType], args);&lt;br /&gt;
					});&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			for (var eventType in hlsEvents) {&lt;br /&gt;
				_loop(eventType);&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		if (total &amp;gt; 0) {&lt;br /&gt;
			for (; index &amp;lt; total; index++) {&lt;br /&gt;
				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) {&lt;br /&gt;
					node.setAttribute(&#039;src&#039;, mediaFiles[index].src);&lt;br /&gt;
					break;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (preload !== &#039;auto&#039; &amp;amp;&amp;amp; !autoplay) {&lt;br /&gt;
			node.addEventListener(&#039;play&#039;, function () {&lt;br /&gt;
				if (hlsPlayer !== null) {&lt;br /&gt;
					hlsPlayer.startLoad();&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			node.addEventListener(&#039;pause&#039;, function () {&lt;br /&gt;
				if (hlsPlayer !== null) {&lt;br /&gt;
					hlsPlayer.stopLoad();&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		node.setAttribute(&#039;id&#039;, id);&lt;br /&gt;
&lt;br /&gt;
		originalNode.parentNode.insertBefore(node, originalNode);&lt;br /&gt;
		originalNode.autoplay = false;&lt;br /&gt;
		originalNode.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
		node.setSize = function (width, height) {&lt;br /&gt;
			node.style.width = width + &#039;px&#039;;&lt;br /&gt;
			node.style.height = height + &#039;px&#039;;&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.hide = function () {&lt;br /&gt;
			node.pause();&lt;br /&gt;
			node.style.display = &#039;none&#039;;&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.show = function () {&lt;br /&gt;
			node.style.display = &#039;&#039;;&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.destroy = function () {&lt;br /&gt;
			if (hlsPlayer !== null) {&lt;br /&gt;
				hlsPlayer.stopLoad();&lt;br /&gt;
				hlsPlayer.destroy();&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		var event = (0, _general.createEvent)(&#039;rendererready&#039;, node);&lt;br /&gt;
		mediaElement.dispatchEvent(event);&lt;br /&gt;
&lt;br /&gt;
		mediaElement.promises.push(NativeHls.load({&lt;br /&gt;
			options: options.hls,&lt;br /&gt;
			id: id&lt;br /&gt;
		}));&lt;br /&gt;
&lt;br /&gt;
		return node;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
_media.typeChecks.push(function (url) {&lt;br /&gt;
	return ~url.toLowerCase().indexOf(&#039;.m3u8&#039;) ? &#039;application/x-mpegURL&#039; : null;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
_renderer.renderer.add(HlsNativeRenderer);&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;26&amp;quot;:26,&amp;quot;27&amp;quot;:27,&amp;quot;28&amp;quot;:28,&amp;quot;3&amp;quot;:3,&amp;quot;30&amp;quot;:30,&amp;quot;8&amp;quot;:8,&amp;quot;9&amp;quot;:9}],24:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _renderer = _dereq_(9);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _constants = _dereq_(26);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
var HtmlMediaElement = {&lt;br /&gt;
	name: &#039;html5&#039;,&lt;br /&gt;
	options: {&lt;br /&gt;
		prefix: &#039;html5&#039;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	canPlayType: function canPlayType(type) {&lt;br /&gt;
&lt;br /&gt;
		var mediaElement = _document2.default.createElement(&#039;video&#039;);&lt;br /&gt;
&lt;br /&gt;
		if (_constants.IS_ANDROID &amp;amp;&amp;amp; /\/mp(3|4)$/i.test(type) || ~[&#039;application/x-mpegurl&#039;, &#039;vnd.apple.mpegurl&#039;, &#039;audio/mpegurl&#039;, &#039;audio/hls&#039;, &#039;video/hls&#039;].indexOf(type.toLowerCase()) &amp;amp;&amp;amp; _constants.SUPPORTS_NATIVE_HLS) {&lt;br /&gt;
			return &#039;yes&#039;;&lt;br /&gt;
		} else if (mediaElement.canPlayType) {&lt;br /&gt;
			return mediaElement.canPlayType(type.toLowerCase()).replace(/no/, &#039;&#039;);&lt;br /&gt;
		} else {&lt;br /&gt;
			return &#039;&#039;;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	create: function create(mediaElement, options, mediaFiles) {&lt;br /&gt;
&lt;br /&gt;
		var id = mediaElement.id + &#039;_&#039; + options.prefix;&lt;br /&gt;
		var isActive = false;&lt;br /&gt;
&lt;br /&gt;
		var node = null;&lt;br /&gt;
&lt;br /&gt;
		if (mediaElement.originalNode === undefined || mediaElement.originalNode === null) {&lt;br /&gt;
			node = _document2.default.createElement(&#039;audio&#039;);&lt;br /&gt;
			mediaElement.appendChild(node);&lt;br /&gt;
		} else {&lt;br /&gt;
			node = mediaElement.originalNode;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		node.setAttribute(&#039;id&#039;, id);&lt;br /&gt;
&lt;br /&gt;
		var props = _mejs2.default.html5media.properties,&lt;br /&gt;
		    assignGettersSetters = function assignGettersSetters(propName) {&lt;br /&gt;
			var capName = &#039;&#039; + propName.substring(0, 1).toUpperCase() + propName.substring(1);&lt;br /&gt;
&lt;br /&gt;
			node[&#039;get&#039; + capName] = function () {&lt;br /&gt;
				return node[propName];&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			node[&#039;set&#039; + capName] = function (value) {&lt;br /&gt;
				if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {&lt;br /&gt;
					node[propName] = value;&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		for (var i = 0, _total = props.length; i &amp;lt; _total; i++) {&lt;br /&gt;
			assignGettersSetters(props[i]);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var events = _mejs2.default.html5media.events.concat([&#039;click&#039;, &#039;mouseover&#039;, &#039;mouseout&#039;]).filter(function (e) {&lt;br /&gt;
			return e !== &#039;error&#039;;&lt;br /&gt;
		}),&lt;br /&gt;
		    assignEvents = function assignEvents(eventName) {&lt;br /&gt;
			node.addEventListener(eventName, function (e) {&lt;br /&gt;
				if (isActive) {&lt;br /&gt;
					var _event = (0, _general.createEvent)(e.type, e.target);&lt;br /&gt;
					mediaElement.dispatchEvent(_event);&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		for (var _i = 0, _total2 = events.length; _i &amp;lt; _total2; _i++) {&lt;br /&gt;
			assignEvents(events[_i]);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		node.setSize = function (width, height) {&lt;br /&gt;
			node.style.width = width + &#039;px&#039;;&lt;br /&gt;
			node.style.height = height + &#039;px&#039;;&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.hide = function () {&lt;br /&gt;
			isActive = false;&lt;br /&gt;
			node.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		node.show = function () {&lt;br /&gt;
			isActive = true;&lt;br /&gt;
			node.style.display = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
			return node;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		var index = 0,&lt;br /&gt;
		    total = mediaFiles.length;&lt;br /&gt;
		if (total &amp;gt; 0) {&lt;br /&gt;
			for (; index &amp;lt; total; index++) {&lt;br /&gt;
				if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) {&lt;br /&gt;
					node.setAttribute(&#039;src&#039;, mediaFiles[index].src);&lt;br /&gt;
					break;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		node.addEventListener(&#039;error&#039;, function (e) {&lt;br /&gt;
			if (e &amp;amp;&amp;amp; e.target &amp;amp;&amp;amp; e.target.error &amp;amp;&amp;amp; e.target.error.code === 4 &amp;amp;&amp;amp; isActive) {&lt;br /&gt;
				if (index &amp;lt; total &amp;amp;&amp;amp; mediaFiles[index + 1] !== undefined) {&lt;br /&gt;
					node.src = mediaFiles[index++].src;&lt;br /&gt;
					node.load();&lt;br /&gt;
					node.play();&lt;br /&gt;
				} else {&lt;br /&gt;
					mediaElement.generateError(&#039;Media error: Format(s) not supported or source(s) not found&#039;, mediaFiles);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		var event = (0, _general.createEvent)(&#039;rendererready&#039;, node);&lt;br /&gt;
		mediaElement.dispatchEvent(event);&lt;br /&gt;
&lt;br /&gt;
		return node;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
_window2.default.HtmlMediaElement = _mejs2.default.HtmlMediaElement = HtmlMediaElement;&lt;br /&gt;
&lt;br /&gt;
_renderer.renderer.add(HtmlMediaElement);&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;2&amp;quot;:2,&amp;quot;26&amp;quot;:26,&amp;quot;28&amp;quot;:28,&amp;quot;3&amp;quot;:3,&amp;quot;8&amp;quot;:8,&amp;quot;9&amp;quot;:9}],25:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _renderer = _dereq_(9);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
var _media = _dereq_(30);&lt;br /&gt;
&lt;br /&gt;
var _dom = _dereq_(27);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
var YouTubeApi = {&lt;br /&gt;
	isIframeStarted: false,&lt;br /&gt;
&lt;br /&gt;
	isIframeLoaded: false,&lt;br /&gt;
&lt;br /&gt;
	iframeQueue: [],&lt;br /&gt;
&lt;br /&gt;
	enqueueIframe: function enqueueIframe(settings) {&lt;br /&gt;
		YouTubeApi.isLoaded = typeof YT !== &#039;undefined&#039; &amp;amp;&amp;amp; YT.loaded;&lt;br /&gt;
&lt;br /&gt;
		if (YouTubeApi.isLoaded) {&lt;br /&gt;
			YouTubeApi.createIframe(settings);&lt;br /&gt;
		} else {&lt;br /&gt;
			YouTubeApi.loadIframeApi();&lt;br /&gt;
			YouTubeApi.iframeQueue.push(settings);&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	loadIframeApi: function loadIframeApi() {&lt;br /&gt;
		if (!YouTubeApi.isIframeStarted) {&lt;br /&gt;
			(0, _dom.loadScript)(&#039;https://www.youtube.com/player_api&#039;);&lt;br /&gt;
			YouTubeApi.isIframeStarted = true;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	iFrameReady: function iFrameReady() {&lt;br /&gt;
&lt;br /&gt;
		YouTubeApi.isLoaded = true;&lt;br /&gt;
		YouTubeApi.isIframeLoaded = true;&lt;br /&gt;
&lt;br /&gt;
		while (YouTubeApi.iframeQueue.length &amp;gt; 0) {&lt;br /&gt;
			var settings = YouTubeApi.iframeQueue.pop();&lt;br /&gt;
			YouTubeApi.createIframe(settings);&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	createIframe: function createIframe(settings) {&lt;br /&gt;
		return new YT.Player(settings.containerId, settings);&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	getYouTubeId: function getYouTubeId(url) {&lt;br /&gt;
&lt;br /&gt;
		var youTubeId = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
		if (url.indexOf(&#039;?&#039;) &amp;gt; 0) {&lt;br /&gt;
			youTubeId = YouTubeApi.getYouTubeIdFromParam(url);&lt;br /&gt;
&lt;br /&gt;
			if (youTubeId === &#039;&#039;) {&lt;br /&gt;
				youTubeId = YouTubeApi.getYouTubeIdFromUrl(url);&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			youTubeId = YouTubeApi.getYouTubeIdFromUrl(url);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var id = youTubeId.substring(youTubeId.lastIndexOf(&#039;/&#039;) + 1);&lt;br /&gt;
		youTubeId = id.split(&#039;?&#039;);&lt;br /&gt;
		return youTubeId[0];&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	getYouTubeIdFromParam: function getYouTubeIdFromParam(url) {&lt;br /&gt;
&lt;br /&gt;
		if (url === undefined || url === null || !url.trim().length) {&lt;br /&gt;
			return null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var parts = url.split(&#039;?&#039;),&lt;br /&gt;
		    parameters = parts[1].split(&#039;&amp;amp;&#039;);&lt;br /&gt;
&lt;br /&gt;
		var youTubeId = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
		for (var i = 0, total = parameters.length; i &amp;lt; total; i++) {&lt;br /&gt;
			var paramParts = parameters[i].split(&#039;=&#039;);&lt;br /&gt;
			if (paramParts[0] === &#039;v&#039;) {&lt;br /&gt;
				youTubeId = paramParts[1];&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return youTubeId;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	getYouTubeIdFromUrl: function getYouTubeIdFromUrl(url) {&lt;br /&gt;
&lt;br /&gt;
		if (url === undefined || url === null || !url.trim().length) {&lt;br /&gt;
			return null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var parts = url.split(&#039;?&#039;);&lt;br /&gt;
		url = parts[0];&lt;br /&gt;
		return url.substring(url.lastIndexOf(&#039;/&#039;) + 1);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var YouTubeIframeRenderer = {&lt;br /&gt;
	name: &#039;youtube_iframe&#039;,&lt;br /&gt;
&lt;br /&gt;
	options: {&lt;br /&gt;
		prefix: &#039;youtube_iframe&#039;,&lt;br /&gt;
&lt;br /&gt;
		youtube: {&lt;br /&gt;
			autoplay: 0,&lt;br /&gt;
			controls: 0,&lt;br /&gt;
			disablekb: 1,&lt;br /&gt;
			end: 0,&lt;br /&gt;
			loop: 0,&lt;br /&gt;
			modestbranding: 0,&lt;br /&gt;
			playsinline: 0,&lt;br /&gt;
			rel: 0,&lt;br /&gt;
			showinfo: 0,&lt;br /&gt;
			start: 0,&lt;br /&gt;
			iv_load_policy: 3,&lt;br /&gt;
&lt;br /&gt;
			nocookie: false,&lt;br /&gt;
&lt;br /&gt;
			imageQuality: null&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	canPlayType: function canPlayType(type) {&lt;br /&gt;
		return ~[&#039;video/youtube&#039;, &#039;video/x-youtube&#039;].indexOf(type.toLowerCase());&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	create: function create(mediaElement, options, mediaFiles) {&lt;br /&gt;
&lt;br /&gt;
		var youtube = {},&lt;br /&gt;
		    apiStack = [],&lt;br /&gt;
		    readyState = 4;&lt;br /&gt;
&lt;br /&gt;
		var youTubeApi = null,&lt;br /&gt;
		    paused = true,&lt;br /&gt;
		    ended = false,&lt;br /&gt;
		    youTubeIframe = null,&lt;br /&gt;
		    volume = 1;&lt;br /&gt;
&lt;br /&gt;
		youtube.options = options;&lt;br /&gt;
		youtube.id = mediaElement.id + &#039;_&#039; + options.prefix;&lt;br /&gt;
		youtube.mediaElement = mediaElement;&lt;br /&gt;
&lt;br /&gt;
		var props = _mejs2.default.html5media.properties,&lt;br /&gt;
		    assignGettersSetters = function assignGettersSetters(propName) {&lt;br /&gt;
&lt;br /&gt;
			var capName = &#039;&#039; + propName.substring(0, 1).toUpperCase() + propName.substring(1);&lt;br /&gt;
&lt;br /&gt;
			youtube[&#039;get&#039; + capName] = function () {&lt;br /&gt;
				if (youTubeApi !== null) {&lt;br /&gt;
					var value = null;&lt;br /&gt;
&lt;br /&gt;
					switch (propName) {&lt;br /&gt;
						case &#039;currentTime&#039;:&lt;br /&gt;
							return youTubeApi.getCurrentTime();&lt;br /&gt;
						case &#039;duration&#039;:&lt;br /&gt;
							return youTubeApi.getDuration();&lt;br /&gt;
						case &#039;volume&#039;:&lt;br /&gt;
							volume = youTubeApi.getVolume() / 100;&lt;br /&gt;
							return volume;&lt;br /&gt;
						case &#039;playbackRate&#039;:&lt;br /&gt;
							return youTubeApi.getPlaybackRate();&lt;br /&gt;
						case &#039;paused&#039;:&lt;br /&gt;
							return paused;&lt;br /&gt;
						case &#039;ended&#039;:&lt;br /&gt;
							return ended;&lt;br /&gt;
						case &#039;muted&#039;:&lt;br /&gt;
							return youTubeApi.isMuted();&lt;br /&gt;
						case &#039;buffered&#039;:&lt;br /&gt;
							var percentLoaded = youTubeApi.getVideoLoadedFraction(),&lt;br /&gt;
							    duration = youTubeApi.getDuration();&lt;br /&gt;
							return {&lt;br /&gt;
								start: function start() {&lt;br /&gt;
									return 0;&lt;br /&gt;
								},&lt;br /&gt;
								end: function end() {&lt;br /&gt;
									return percentLoaded * duration;&lt;br /&gt;
								},&lt;br /&gt;
								length: 1&lt;br /&gt;
							};&lt;br /&gt;
						case &#039;src&#039;:&lt;br /&gt;
							return youTubeApi.getVideoUrl();&lt;br /&gt;
						case &#039;readyState&#039;:&lt;br /&gt;
							return readyState;&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					return value;&lt;br /&gt;
				} else {&lt;br /&gt;
					return null;&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			youtube[&#039;set&#039; + capName] = function (value) {&lt;br /&gt;
				if (youTubeApi !== null) {&lt;br /&gt;
					switch (propName) {&lt;br /&gt;
						case &#039;src&#039;:&lt;br /&gt;
							var url = typeof value === &#039;string&#039; ? value : value[0].src,&lt;br /&gt;
							    _videoId = YouTubeApi.getYouTubeId(url);&lt;br /&gt;
&lt;br /&gt;
							if (mediaElement.originalNode.autoplay) {&lt;br /&gt;
								youTubeApi.loadVideoById(_videoId);&lt;br /&gt;
							} else {&lt;br /&gt;
								youTubeApi.cueVideoById(_videoId);&lt;br /&gt;
							}&lt;br /&gt;
							break;&lt;br /&gt;
						case &#039;currentTime&#039;:&lt;br /&gt;
							youTubeApi.seekTo(value);&lt;br /&gt;
							break;&lt;br /&gt;
						case &#039;muted&#039;:&lt;br /&gt;
							if (value) {&lt;br /&gt;
								youTubeApi.mute();&lt;br /&gt;
							} else {&lt;br /&gt;
								youTubeApi.unMute();&lt;br /&gt;
							}&lt;br /&gt;
							setTimeout(function () {&lt;br /&gt;
								var event = (0, _general.createEvent)(&#039;volumechange&#039;, youtube);&lt;br /&gt;
								mediaElement.dispatchEvent(event);&lt;br /&gt;
							}, 50);&lt;br /&gt;
							break;&lt;br /&gt;
						case &#039;volume&#039;:&lt;br /&gt;
							volume = value;&lt;br /&gt;
							youTubeApi.setVolume(value * 100);&lt;br /&gt;
							setTimeout(function () {&lt;br /&gt;
								var event = (0, _general.createEvent)(&#039;volumechange&#039;, youtube);&lt;br /&gt;
								mediaElement.dispatchEvent(event);&lt;br /&gt;
							}, 50);&lt;br /&gt;
							break;&lt;br /&gt;
						case &#039;playbackRate&#039;:&lt;br /&gt;
							youTubeApi.setPlaybackRate(value);&lt;br /&gt;
							setTimeout(function () {&lt;br /&gt;
								var event = (0, _general.createEvent)(&#039;ratechange&#039;, youtube);&lt;br /&gt;
								mediaElement.dispatchEvent(event);&lt;br /&gt;
							}, 50);&lt;br /&gt;
							break;&lt;br /&gt;
						case &#039;readyState&#039;:&lt;br /&gt;
							var event = (0, _general.createEvent)(&#039;canplay&#039;, youtube);&lt;br /&gt;
							mediaElement.dispatchEvent(event);&lt;br /&gt;
							break;&lt;br /&gt;
						default:&lt;br /&gt;
							&lt;br /&gt;
							break;&lt;br /&gt;
					}&lt;br /&gt;
				} else {&lt;br /&gt;
					apiStack.push({ type: &#039;set&#039;, propName: propName, value: value });&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		for (var i = 0, total = props.length; i &amp;lt; total; i++) {&lt;br /&gt;
			assignGettersSetters(props[i]);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var methods = _mejs2.default.html5media.methods,&lt;br /&gt;
		    assignMethods = function assignMethods(methodName) {&lt;br /&gt;
			youtube[methodName] = function () {&lt;br /&gt;
				if (youTubeApi !== null) {&lt;br /&gt;
					switch (methodName) {&lt;br /&gt;
						case &#039;play&#039;:&lt;br /&gt;
							paused = false;&lt;br /&gt;
							return youTubeApi.playVideo();&lt;br /&gt;
						case &#039;pause&#039;:&lt;br /&gt;
							paused = true;&lt;br /&gt;
							return youTubeApi.pauseVideo();&lt;br /&gt;
						case &#039;load&#039;:&lt;br /&gt;
							return null;&lt;br /&gt;
					}&lt;br /&gt;
				} else {&lt;br /&gt;
					apiStack.push({ type: &#039;call&#039;, methodName: methodName });&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		for (var _i = 0, _total = methods.length; _i &amp;lt; _total; _i++) {&lt;br /&gt;
			assignMethods(methods[_i]);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var errorHandler = function errorHandler(error) {&lt;br /&gt;
			var message = &#039;&#039;;&lt;br /&gt;
			switch (error.data) {&lt;br /&gt;
				case 2:&lt;br /&gt;
					message = &#039;The request contains an invalid parameter value. Verify that video ID has 11 characters and that contains no invalid characters, such as exclamation points or asterisks.&#039;;&lt;br /&gt;
					break;&lt;br /&gt;
				case 5:&lt;br /&gt;
					message = &#039;The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.&#039;;&lt;br /&gt;
					break;&lt;br /&gt;
				case 100:&lt;br /&gt;
					message = &#039;The video requested was not found. Either video has been removed or has been marked as private.&#039;;&lt;br /&gt;
					break;&lt;br /&gt;
				case 101:&lt;br /&gt;
				case 105:&lt;br /&gt;
					message = &#039;The owner of the requested video does not allow it to be played in embedded players.&#039;;&lt;br /&gt;
					break;&lt;br /&gt;
				default:&lt;br /&gt;
					message = &#039;Unknown error.&#039;;&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
			mediaElement.generateError(&#039;Code &#039; + error.data + &#039;: &#039; + message, mediaFiles);&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		var youtubeContainer = _document2.default.createElement(&#039;div&#039;);&lt;br /&gt;
		youtubeContainer.id = youtube.id;&lt;br /&gt;
&lt;br /&gt;
		mediaElement.originalNode.parentNode.insertBefore(youtubeContainer, mediaElement.originalNode);&lt;br /&gt;
		mediaElement.originalNode.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
		var isAudio = mediaElement.originalNode.tagName.toLowerCase() === &#039;audio&#039;,&lt;br /&gt;
		    height = isAudio ? &#039;1&#039; : mediaElement.originalNode.height,&lt;br /&gt;
		    width = isAudio ? &#039;1&#039; : mediaElement.originalNode.width,&lt;br /&gt;
		    videoId = YouTubeApi.getYouTubeId(mediaFiles[0].src),&lt;br /&gt;
		    youtubeSettings = {&lt;br /&gt;
			id: youtube.id,&lt;br /&gt;
			containerId: youtubeContainer.id,&lt;br /&gt;
			videoId: videoId,&lt;br /&gt;
			height: height,&lt;br /&gt;
			width: width,&lt;br /&gt;
			host: youtube.options.youtube &amp;amp;&amp;amp; youtube.options.youtube.nocookie ? &#039;https://www.youtube.com&#039; : undefined,&lt;br /&gt;
			playerVars: Object.assign({&lt;br /&gt;
				controls: 0,&lt;br /&gt;
				rel: 0,&lt;br /&gt;
				disablekb: 1,&lt;br /&gt;
				showinfo: 0,&lt;br /&gt;
				modestbranding: 0,&lt;br /&gt;
				html5: 1,&lt;br /&gt;
				iv_load_policy: 3&lt;br /&gt;
			}, youtube.options.youtube),&lt;br /&gt;
			origin: _window2.default.location.host,&lt;br /&gt;
			events: {&lt;br /&gt;
				onReady: function onReady(e) {&lt;br /&gt;
					mediaElement.youTubeApi = youTubeApi = e.target;&lt;br /&gt;
					mediaElement.youTubeState = {&lt;br /&gt;
						paused: true,&lt;br /&gt;
						ended: false&lt;br /&gt;
					};&lt;br /&gt;
&lt;br /&gt;
					if (apiStack.length) {&lt;br /&gt;
						for (var _i2 = 0, _total2 = apiStack.length; _i2 &amp;lt; _total2; _i2++) {&lt;br /&gt;
&lt;br /&gt;
							var stackItem = apiStack[_i2];&lt;br /&gt;
&lt;br /&gt;
							if (stackItem.type === &#039;set&#039;) {&lt;br /&gt;
								var propName = stackItem.propName,&lt;br /&gt;
								    capName = &#039;&#039; + propName.substring(0, 1).toUpperCase() + propName.substring(1);&lt;br /&gt;
&lt;br /&gt;
								youtube[&#039;set&#039; + capName](stackItem.value);&lt;br /&gt;
							} else if (stackItem.type === &#039;call&#039;) {&lt;br /&gt;
								youtube[stackItem.methodName]();&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					youTubeIframe = youTubeApi.getIframe();&lt;br /&gt;
&lt;br /&gt;
					if (mediaElement.originalNode.muted) {&lt;br /&gt;
						youTubeApi.mute();&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					var events = [&#039;mouseover&#039;, &#039;mouseout&#039;],&lt;br /&gt;
					    assignEvents = function assignEvents(e) {&lt;br /&gt;
						var newEvent = (0, _general.createEvent)(e.type, youtube);&lt;br /&gt;
						mediaElement.dispatchEvent(newEvent);&lt;br /&gt;
					};&lt;br /&gt;
&lt;br /&gt;
					for (var _i3 = 0, _total3 = events.length; _i3 &amp;lt; _total3; _i3++) {&lt;br /&gt;
						youTubeIframe.addEventListener(events[_i3], assignEvents, false);&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					var initEvents = [&#039;rendererready&#039;, &#039;loadedmetadata&#039;, &#039;loadeddata&#039;, &#039;canplay&#039;];&lt;br /&gt;
&lt;br /&gt;
					for (var _i4 = 0, _total4 = initEvents.length; _i4 &amp;lt; _total4; _i4++) {&lt;br /&gt;
						var event = (0, _general.createEvent)(initEvents[_i4], youtube);&lt;br /&gt;
						mediaElement.dispatchEvent(event);&lt;br /&gt;
					}&lt;br /&gt;
				},&lt;br /&gt;
				onStateChange: function onStateChange(e) {&lt;br /&gt;
					var events = [];&lt;br /&gt;
&lt;br /&gt;
					switch (e.data) {&lt;br /&gt;
						case -1:&lt;br /&gt;
							events = [&#039;loadedmetadata&#039;];&lt;br /&gt;
							paused = true;&lt;br /&gt;
							ended = false;&lt;br /&gt;
							break;&lt;br /&gt;
						case 0:&lt;br /&gt;
							events = [&#039;ended&#039;];&lt;br /&gt;
							paused = false;&lt;br /&gt;
							ended = !youtube.options.youtube.loop;&lt;br /&gt;
							if (!youtube.options.youtube.loop) {&lt;br /&gt;
								youtube.stopInterval();&lt;br /&gt;
							}&lt;br /&gt;
							break;&lt;br /&gt;
						case 1:&lt;br /&gt;
							events = [&#039;play&#039;, &#039;playing&#039;];&lt;br /&gt;
							paused = false;&lt;br /&gt;
							ended = false;&lt;br /&gt;
							youtube.startInterval();&lt;br /&gt;
							break;&lt;br /&gt;
						case 2:&lt;br /&gt;
							events = [&#039;pause&#039;];&lt;br /&gt;
							paused = true;&lt;br /&gt;
							ended = false;&lt;br /&gt;
							youtube.stopInterval();&lt;br /&gt;
							break;&lt;br /&gt;
						case 3:&lt;br /&gt;
							events = [&#039;progress&#039;];&lt;br /&gt;
							ended = false;&lt;br /&gt;
							break;&lt;br /&gt;
						case 5:&lt;br /&gt;
							events = [&#039;loadeddata&#039;, &#039;loadedmetadata&#039;, &#039;canplay&#039;];&lt;br /&gt;
							paused = true;&lt;br /&gt;
							ended = false;&lt;br /&gt;
							break;&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					for (var _i5 = 0, _total5 = events.length; _i5 &amp;lt; _total5; _i5++) {&lt;br /&gt;
						var event = (0, _general.createEvent)(events[_i5], youtube);&lt;br /&gt;
						mediaElement.dispatchEvent(event);&lt;br /&gt;
					}&lt;br /&gt;
				},&lt;br /&gt;
				onError: function onError(e) {&lt;br /&gt;
					return errorHandler(e);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		if (isAudio || mediaElement.originalNode.hasAttribute(&#039;playsinline&#039;)) {&lt;br /&gt;
			youtubeSettings.playerVars.playsinline = 1;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (mediaElement.originalNode.controls) {&lt;br /&gt;
			youtubeSettings.playerVars.controls = 1;&lt;br /&gt;
		}&lt;br /&gt;
		if (mediaElement.originalNode.autoplay) {&lt;br /&gt;
			youtubeSettings.playerVars.autoplay = 1;&lt;br /&gt;
		}&lt;br /&gt;
		if (mediaElement.originalNode.loop) {&lt;br /&gt;
			youtubeSettings.playerVars.loop = 1;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if ((youtubeSettings.playerVars.loop &amp;amp;&amp;amp; parseInt(youtubeSettings.playerVars.loop, 10) === 1 || mediaElement.originalNode.src.indexOf(&#039;loop=&#039;) &amp;gt; -1) &amp;amp;&amp;amp; !youtubeSettings.playerVars.playlist &amp;amp;&amp;amp; mediaElement.originalNode.src.indexOf(&#039;playlist=&#039;) === -1) {&lt;br /&gt;
			youtubeSettings.playerVars.playlist = YouTubeApi.getYouTubeId(mediaElement.originalNode.src);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		YouTubeApi.enqueueIframe(youtubeSettings);&lt;br /&gt;
&lt;br /&gt;
		youtube.onEvent = function (eventName, player, _youTubeState) {&lt;br /&gt;
			if (_youTubeState !== null &amp;amp;&amp;amp; _youTubeState !== undefined) {&lt;br /&gt;
				mediaElement.youTubeState = _youTubeState;&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		youtube.setSize = function (width, height) {&lt;br /&gt;
			if (youTubeApi !== null) {&lt;br /&gt;
				youTubeApi.setSize(width, height);&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
		youtube.hide = function () {&lt;br /&gt;
			youtube.stopInterval();&lt;br /&gt;
			youtube.pause();&lt;br /&gt;
			if (youTubeIframe) {&lt;br /&gt;
				youTubeIframe.style.display = &#039;none&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
		youtube.show = function () {&lt;br /&gt;
			if (youTubeIframe) {&lt;br /&gt;
				youTubeIframe.style.display = &#039;&#039;;&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
		youtube.destroy = function () {&lt;br /&gt;
			youTubeApi.destroy();&lt;br /&gt;
		};&lt;br /&gt;
		youtube.interval = null;&lt;br /&gt;
&lt;br /&gt;
		youtube.startInterval = function () {&lt;br /&gt;
			youtube.interval = setInterval(function () {&lt;br /&gt;
				var event = (0, _general.createEvent)(&#039;timeupdate&#039;, youtube);&lt;br /&gt;
				mediaElement.dispatchEvent(event);&lt;br /&gt;
			}, 250);&lt;br /&gt;
		};&lt;br /&gt;
		youtube.stopInterval = function () {&lt;br /&gt;
			if (youtube.interval) {&lt;br /&gt;
				clearInterval(youtube.interval);&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
		youtube.getPosterUrl = function () {&lt;br /&gt;
			var quality = options.youtube.imageQuality,&lt;br /&gt;
			    resolutions = [&#039;default&#039;, &#039;hqdefault&#039;, &#039;mqdefault&#039;, &#039;sddefault&#039;, &#039;maxresdefault&#039;],&lt;br /&gt;
			    id = YouTubeApi.getYouTubeId(mediaElement.originalNode.src);&lt;br /&gt;
			return quality &amp;amp;&amp;amp; resolutions.indexOf(quality) &amp;gt; -1 &amp;amp;&amp;amp; id ? &#039;https://img.youtube.com/vi/&#039; + id + &#039;/&#039; + quality + &#039;.jpg&#039; : &#039;&#039;;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		return youtube;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
_window2.default.onYouTubePlayerAPIReady = function () {&lt;br /&gt;
	YouTubeApi.iFrameReady();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
_media.typeChecks.push(function (url) {&lt;br /&gt;
	return (/\/\/(www\.youtube|youtu\.?be)/i.test(url) ? &#039;video/x-youtube&#039; : null&lt;br /&gt;
	);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
_renderer.renderer.add(YouTubeIframeRenderer);&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;2&amp;quot;:2,&amp;quot;27&amp;quot;:27,&amp;quot;28&amp;quot;:28,&amp;quot;3&amp;quot;:3,&amp;quot;30&amp;quot;:30,&amp;quot;8&amp;quot;:8,&amp;quot;9&amp;quot;:9}],26:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
exports.cancelFullScreen = exports.requestFullScreen = exports.isFullScreen = exports.FULLSCREEN_EVENT_NAME = exports.HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = exports.SUPPORTS_NATIVE_HLS = exports.SUPPORT_PASSIVE_EVENT = exports.SUPPORT_POINTER_EVENTS = exports.HAS_MSE = exports.IS_STOCK_ANDROID = exports.IS_SAFARI = exports.IS_FIREFOX = exports.IS_CHROME = exports.IS_EDGE = exports.IS_IE = exports.IS_ANDROID = exports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = exports.UA = exports.NAV = undefined;&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
var NAV = exports.NAV = _window2.default.navigator;&lt;br /&gt;
var UA = exports.UA = NAV.userAgent.toLowerCase();&lt;br /&gt;
var IS_IPAD = exports.IS_IPAD = /ipad/i.test(UA) &amp;amp;&amp;amp; !_window2.default.MSStream;&lt;br /&gt;
var IS_IPHONE = exports.IS_IPHONE = /iphone/i.test(UA) &amp;amp;&amp;amp; !_window2.default.MSStream;&lt;br /&gt;
var IS_IPOD = exports.IS_IPOD = /ipod/i.test(UA) &amp;amp;&amp;amp; !_window2.default.MSStream;&lt;br /&gt;
var IS_IOS = exports.IS_IOS = /ipad|iphone|ipod/i.test(UA) &amp;amp;&amp;amp; !_window2.default.MSStream;&lt;br /&gt;
var IS_ANDROID = exports.IS_ANDROID = /android/i.test(UA);&lt;br /&gt;
var IS_IE = exports.IS_IE = /(trident|microsoft)/i.test(NAV.appName);&lt;br /&gt;
var IS_EDGE = exports.IS_EDGE = &#039;msLaunchUri&#039; in NAV &amp;amp;&amp;amp; !(&#039;documentMode&#039; in _document2.default);&lt;br /&gt;
var IS_CHROME = exports.IS_CHROME = /chrome/i.test(UA);&lt;br /&gt;
var IS_FIREFOX = exports.IS_FIREFOX = /firefox/i.test(UA);&lt;br /&gt;
var IS_SAFARI = exports.IS_SAFARI = /safari/i.test(UA) &amp;amp;&amp;amp; !IS_CHROME;&lt;br /&gt;
var IS_STOCK_ANDROID = exports.IS_STOCK_ANDROID = /^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(UA);&lt;br /&gt;
var HAS_MSE = exports.HAS_MSE = &#039;MediaSource&#039; in _window2.default;&lt;br /&gt;
var SUPPORT_POINTER_EVENTS = exports.SUPPORT_POINTER_EVENTS = function () {&lt;br /&gt;
	var element = _document2.default.createElement(&#039;x&#039;),&lt;br /&gt;
	    documentElement = _document2.default.documentElement,&lt;br /&gt;
	    getComputedStyle = _window2.default.getComputedStyle;&lt;br /&gt;
&lt;br /&gt;
	if (!(&#039;pointerEvents&#039; in element.style)) {&lt;br /&gt;
		return false;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	element.style.pointerEvents = &#039;auto&#039;;&lt;br /&gt;
	element.style.pointerEvents = &#039;x&#039;;&lt;br /&gt;
	documentElement.appendChild(element);&lt;br /&gt;
	var supports = getComputedStyle &amp;amp;&amp;amp; (getComputedStyle(element, &#039;&#039;) || {}).pointerEvents === &#039;auto&#039;;&lt;br /&gt;
	element.remove();&lt;br /&gt;
	return !!supports;&lt;br /&gt;
}();&lt;br /&gt;
&lt;br /&gt;
var SUPPORT_PASSIVE_EVENT = exports.SUPPORT_PASSIVE_EVENT = function () {&lt;br /&gt;
	var supportsPassive = false;&lt;br /&gt;
	try {&lt;br /&gt;
		var opts = Object.defineProperty({}, &#039;passive&#039;, {&lt;br /&gt;
			get: function get() {&lt;br /&gt;
				supportsPassive = true;&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		_window2.default.addEventListener(&#039;test&#039;, null, opts);&lt;br /&gt;
	} catch (e) {}&lt;br /&gt;
&lt;br /&gt;
	return supportsPassive;&lt;br /&gt;
}();&lt;br /&gt;
&lt;br /&gt;
var html5Elements = [&#039;source&#039;, &#039;track&#039;, &#039;audio&#039;, &#039;video&#039;];&lt;br /&gt;
var video = void 0;&lt;br /&gt;
&lt;br /&gt;
for (var i = 0, total = html5Elements.length; i &amp;lt; total; i++) {&lt;br /&gt;
	video = _document2.default.createElement(html5Elements[i]);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var SUPPORTS_NATIVE_HLS = exports.SUPPORTS_NATIVE_HLS = IS_SAFARI || IS_IE &amp;amp;&amp;amp; /edge/i.test(UA);&lt;br /&gt;
&lt;br /&gt;
var hasiOSFullScreen = video.webkitEnterFullscreen !== undefined;&lt;br /&gt;
&lt;br /&gt;
var hasNativeFullscreen = video.requestFullscreen !== undefined;&lt;br /&gt;
&lt;br /&gt;
if (hasiOSFullScreen &amp;amp;&amp;amp; /mac os x 10_5/i.test(UA)) {&lt;br /&gt;
	hasNativeFullscreen = false;&lt;br /&gt;
	hasiOSFullScreen = false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var hasWebkitNativeFullScreen = video.webkitRequestFullScreen !== undefined;&lt;br /&gt;
var hasMozNativeFullScreen = video.mozRequestFullScreen !== undefined;&lt;br /&gt;
var hasMsNativeFullScreen = video.msRequestFullscreen !== undefined;&lt;br /&gt;
var hasTrueNativeFullScreen = hasWebkitNativeFullScreen || hasMozNativeFullScreen || hasMsNativeFullScreen;&lt;br /&gt;
var nativeFullScreenEnabled = hasTrueNativeFullScreen;&lt;br /&gt;
var fullScreenEventName = &#039;&#039;;&lt;br /&gt;
var isFullScreen = void 0,&lt;br /&gt;
    requestFullScreen = void 0,&lt;br /&gt;
    cancelFullScreen = void 0;&lt;br /&gt;
&lt;br /&gt;
if (hasMozNativeFullScreen) {&lt;br /&gt;
	nativeFullScreenEnabled = _document2.default.mozFullScreenEnabled;&lt;br /&gt;
} else if (hasMsNativeFullScreen) {&lt;br /&gt;
	nativeFullScreenEnabled = _document2.default.msFullscreenEnabled;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (IS_CHROME) {&lt;br /&gt;
	hasiOSFullScreen = false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (hasTrueNativeFullScreen) {&lt;br /&gt;
	if (hasWebkitNativeFullScreen) {&lt;br /&gt;
		fullScreenEventName = &#039;webkitfullscreenchange&#039;;&lt;br /&gt;
	} else if (hasMozNativeFullScreen) {&lt;br /&gt;
		fullScreenEventName = &#039;fullscreenchange&#039;;&lt;br /&gt;
	} else if (hasMsNativeFullScreen) {&lt;br /&gt;
		fullScreenEventName = &#039;MSFullscreenChange&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	exports.isFullScreen = isFullScreen = function isFullScreen() {&lt;br /&gt;
		if (hasMozNativeFullScreen) {&lt;br /&gt;
			return _document2.default.mozFullScreen;&lt;br /&gt;
		} else if (hasWebkitNativeFullScreen) {&lt;br /&gt;
			return _document2.default.webkitIsFullScreen;&lt;br /&gt;
		} else if (hasMsNativeFullScreen) {&lt;br /&gt;
			return _document2.default.msFullscreenElement !== null;&lt;br /&gt;
		}&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	exports.requestFullScreen = requestFullScreen = function requestFullScreen(el) {&lt;br /&gt;
		if (hasWebkitNativeFullScreen) {&lt;br /&gt;
			el.webkitRequestFullScreen();&lt;br /&gt;
		} else if (hasMozNativeFullScreen) {&lt;br /&gt;
			el.mozRequestFullScreen();&lt;br /&gt;
		} else if (hasMsNativeFullScreen) {&lt;br /&gt;
			el.msRequestFullscreen();&lt;br /&gt;
		}&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	exports.cancelFullScreen = cancelFullScreen = function cancelFullScreen() {&lt;br /&gt;
		if (hasWebkitNativeFullScreen) {&lt;br /&gt;
			_document2.default.webkitCancelFullScreen();&lt;br /&gt;
		} else if (hasMozNativeFullScreen) {&lt;br /&gt;
			_document2.default.mozCancelFullScreen();&lt;br /&gt;
		} else if (hasMsNativeFullScreen) {&lt;br /&gt;
			_document2.default.msExitFullscreen();&lt;br /&gt;
		}&lt;br /&gt;
	};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var HAS_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = hasNativeFullscreen;&lt;br /&gt;
var HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = hasWebkitNativeFullScreen;&lt;br /&gt;
var HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = hasMozNativeFullScreen;&lt;br /&gt;
var HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = hasMsNativeFullScreen;&lt;br /&gt;
var HAS_IOS_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = hasiOSFullScreen;&lt;br /&gt;
var HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_TRUE_NATIVE_FULLSCREEN = hasTrueNativeFullScreen;&lt;br /&gt;
var HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_NATIVE_FULLSCREEN_ENABLED = nativeFullScreenEnabled;&lt;br /&gt;
var FULLSCREEN_EVENT_NAME = exports.FULLSCREEN_EVENT_NAME = fullScreenEventName;&lt;br /&gt;
exports.isFullScreen = isFullScreen;&lt;br /&gt;
exports.requestFullScreen = requestFullScreen;&lt;br /&gt;
exports.cancelFullScreen = cancelFullScreen;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.Features = _mejs2.default.Features || {};&lt;br /&gt;
_mejs2.default.Features.isiPad = IS_IPAD;&lt;br /&gt;
_mejs2.default.Features.isiPod = IS_IPOD;&lt;br /&gt;
_mejs2.default.Features.isiPhone = IS_IPHONE;&lt;br /&gt;
_mejs2.default.Features.isiOS = _mejs2.default.Features.isiPhone || _mejs2.default.Features.isiPad;&lt;br /&gt;
_mejs2.default.Features.isAndroid = IS_ANDROID;&lt;br /&gt;
_mejs2.default.Features.isIE = IS_IE;&lt;br /&gt;
_mejs2.default.Features.isEdge = IS_EDGE;&lt;br /&gt;
_mejs2.default.Features.isChrome = IS_CHROME;&lt;br /&gt;
_mejs2.default.Features.isFirefox = IS_FIREFOX;&lt;br /&gt;
_mejs2.default.Features.isSafari = IS_SAFARI;&lt;br /&gt;
_mejs2.default.Features.isStockAndroid = IS_STOCK_ANDROID;&lt;br /&gt;
_mejs2.default.Features.hasMSE = HAS_MSE;&lt;br /&gt;
_mejs2.default.Features.supportsNativeHLS = SUPPORTS_NATIVE_HLS;&lt;br /&gt;
_mejs2.default.Features.supportsPointerEvents = SUPPORT_POINTER_EVENTS;&lt;br /&gt;
_mejs2.default.Features.supportsPassiveEvent = SUPPORT_PASSIVE_EVENT;&lt;br /&gt;
_mejs2.default.Features.hasiOSFullScreen = HAS_IOS_FULLSCREEN;&lt;br /&gt;
_mejs2.default.Features.hasNativeFullscreen = HAS_NATIVE_FULLSCREEN;&lt;br /&gt;
_mejs2.default.Features.hasWebkitNativeFullScreen = HAS_WEBKIT_NATIVE_FULLSCREEN;&lt;br /&gt;
_mejs2.default.Features.hasMozNativeFullScreen = HAS_MOZ_NATIVE_FULLSCREEN;&lt;br /&gt;
_mejs2.default.Features.hasMsNativeFullScreen = HAS_MS_NATIVE_FULLSCREEN;&lt;br /&gt;
_mejs2.default.Features.hasTrueNativeFullScreen = HAS_TRUE_NATIVE_FULLSCREEN;&lt;br /&gt;
_mejs2.default.Features.nativeFullScreenEnabled = HAS_NATIVE_FULLSCREEN_ENABLED;&lt;br /&gt;
_mejs2.default.Features.fullScreenEventName = FULLSCREEN_EVENT_NAME;&lt;br /&gt;
_mejs2.default.Features.isFullScreen = isFullScreen;&lt;br /&gt;
_mejs2.default.Features.requestFullScreen = requestFullScreen;&lt;br /&gt;
_mejs2.default.Features.cancelFullScreen = cancelFullScreen;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;2&amp;quot;:2,&amp;quot;3&amp;quot;:3,&amp;quot;8&amp;quot;:8}],27:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
exports.removeClass = exports.addClass = exports.hasClass = undefined;&lt;br /&gt;
exports.loadScript = loadScript;&lt;br /&gt;
exports.offset = offset;&lt;br /&gt;
exports.toggleClass = toggleClass;&lt;br /&gt;
exports.fadeOut = fadeOut;&lt;br /&gt;
exports.fadeIn = fadeIn;&lt;br /&gt;
exports.siblings = siblings;&lt;br /&gt;
exports.visible = visible;&lt;br /&gt;
exports.ajax = ajax;&lt;br /&gt;
&lt;br /&gt;
var _window = _dereq_(3);&lt;br /&gt;
&lt;br /&gt;
var _window2 = _interopRequireDefault(_window);&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
function loadScript(url) {&lt;br /&gt;
	return new Promise(function (resolve, reject) {&lt;br /&gt;
		var script = _document2.default.createElement(&#039;script&#039;);&lt;br /&gt;
		script.src = url;&lt;br /&gt;
		script.async = true;&lt;br /&gt;
		script.onload = function () {&lt;br /&gt;
			script.remove();&lt;br /&gt;
			resolve();&lt;br /&gt;
		};&lt;br /&gt;
		script.onerror = function () {&lt;br /&gt;
			script.remove();&lt;br /&gt;
			reject();&lt;br /&gt;
		};&lt;br /&gt;
		_document2.default.head.appendChild(script);&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function offset(el) {&lt;br /&gt;
	var rect = el.getBoundingClientRect(),&lt;br /&gt;
	    scrollLeft = _window2.default.pageXOffset || _document2.default.documentElement.scrollLeft,&lt;br /&gt;
	    scrollTop = _window2.default.pageYOffset || _document2.default.documentElement.scrollTop;&lt;br /&gt;
	return { top: rect.top + scrollTop, left: rect.left + scrollLeft };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var hasClassMethod = void 0,&lt;br /&gt;
    addClassMethod = void 0,&lt;br /&gt;
    removeClassMethod = void 0;&lt;br /&gt;
&lt;br /&gt;
if (&#039;classList&#039; in _document2.default.documentElement) {&lt;br /&gt;
	hasClassMethod = function hasClassMethod(el, className) {&lt;br /&gt;
		return el.classList !== undefined &amp;amp;&amp;amp; el.classList.contains(className);&lt;br /&gt;
	};&lt;br /&gt;
	addClassMethod = function addClassMethod(el, className) {&lt;br /&gt;
		return el.classList.add(className);&lt;br /&gt;
	};&lt;br /&gt;
	removeClassMethod = function removeClassMethod(el, className) {&lt;br /&gt;
		return el.classList.remove(className);&lt;br /&gt;
	};&lt;br /&gt;
} else {&lt;br /&gt;
	hasClassMethod = function hasClassMethod(el, className) {&lt;br /&gt;
		return new RegExp(&#039;\\b&#039; + className + &#039;\\b&#039;).test(el.className);&lt;br /&gt;
	};&lt;br /&gt;
	addClassMethod = function addClassMethod(el, className) {&lt;br /&gt;
		if (!hasClass(el, className)) {&lt;br /&gt;
			el.className += &#039; &#039; + className;&lt;br /&gt;
		}&lt;br /&gt;
	};&lt;br /&gt;
	removeClassMethod = function removeClassMethod(el, className) {&lt;br /&gt;
		el.className = el.className.replace(new RegExp(&#039;\\b&#039; + className + &#039;\\b&#039;, &#039;g&#039;), &#039;&#039;);&lt;br /&gt;
	};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var hasClass = exports.hasClass = hasClassMethod;&lt;br /&gt;
var addClass = exports.addClass = addClassMethod;&lt;br /&gt;
var removeClass = exports.removeClass = removeClassMethod;&lt;br /&gt;
&lt;br /&gt;
function toggleClass(el, className) {&lt;br /&gt;
	hasClass(el, className) ? removeClass(el, className) : addClass(el, className);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function fadeOut(el) {&lt;br /&gt;
	var duration = arguments.length &amp;gt; 1 &amp;amp;&amp;amp; arguments[1] !== undefined ? arguments[1] : 400;&lt;br /&gt;
	var callback = arguments[2];&lt;br /&gt;
&lt;br /&gt;
	if (!el.style.opacity) {&lt;br /&gt;
		el.style.opacity = 1;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var start = null;&lt;br /&gt;
	_window2.default.requestAnimationFrame(function animate(timestamp) {&lt;br /&gt;
		start = start || timestamp;&lt;br /&gt;
		var progress = timestamp - start;&lt;br /&gt;
		var opacity = parseFloat(1 - progress / duration, 2);&lt;br /&gt;
		el.style.opacity = opacity &amp;lt; 0 ? 0 : opacity;&lt;br /&gt;
		if (progress &amp;gt; duration) {&lt;br /&gt;
			if (callback &amp;amp;&amp;amp; typeof callback === &#039;function&#039;) {&lt;br /&gt;
				callback();&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			_window2.default.requestAnimationFrame(animate);&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function fadeIn(el) {&lt;br /&gt;
	var duration = arguments.length &amp;gt; 1 &amp;amp;&amp;amp; arguments[1] !== undefined ? arguments[1] : 400;&lt;br /&gt;
	var callback = arguments[2];&lt;br /&gt;
&lt;br /&gt;
	if (!el.style.opacity) {&lt;br /&gt;
		el.style.opacity = 0;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var start = null;&lt;br /&gt;
	_window2.default.requestAnimationFrame(function animate(timestamp) {&lt;br /&gt;
		start = start || timestamp;&lt;br /&gt;
		var progress = timestamp - start;&lt;br /&gt;
		var opacity = parseFloat(progress / duration, 2);&lt;br /&gt;
		el.style.opacity = opacity &amp;gt; 1 ? 1 : opacity;&lt;br /&gt;
		if (progress &amp;gt; duration) {&lt;br /&gt;
			if (callback &amp;amp;&amp;amp; typeof callback === &#039;function&#039;) {&lt;br /&gt;
				callback();&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			_window2.default.requestAnimationFrame(animate);&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function siblings(el, filter) {&lt;br /&gt;
	var siblings = [];&lt;br /&gt;
	el = el.parentNode.firstChild;&lt;br /&gt;
	do {&lt;br /&gt;
		if (!filter || filter(el)) {&lt;br /&gt;
			siblings.push(el);&lt;br /&gt;
		}&lt;br /&gt;
	} while (el = el.nextSibling);&lt;br /&gt;
	return siblings;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function visible(elem) {&lt;br /&gt;
	if (elem.getClientRects !== undefined &amp;amp;&amp;amp; elem.getClientRects === &#039;function&#039;) {&lt;br /&gt;
		return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);&lt;br /&gt;
	}&lt;br /&gt;
	return !!(elem.offsetWidth || elem.offsetHeight);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ajax(url, dataType, success, error) {&lt;br /&gt;
	var xhr = _window2.default.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject(&#039;Microsoft.XMLHTTP&#039;);&lt;br /&gt;
&lt;br /&gt;
	var type = &#039;application/x-www-form-urlencoded; charset=UTF-8&#039;,&lt;br /&gt;
	    completed = false,&lt;br /&gt;
	    accept = &#039;*/&#039;.concat(&#039;*&#039;);&lt;br /&gt;
&lt;br /&gt;
	switch (dataType) {&lt;br /&gt;
		case &#039;text&#039;:&lt;br /&gt;
			type = &#039;text/plain&#039;;&lt;br /&gt;
			break;&lt;br /&gt;
		case &#039;json&#039;:&lt;br /&gt;
			type = &#039;application/json, text/javascript&#039;;&lt;br /&gt;
			break;&lt;br /&gt;
		case &#039;html&#039;:&lt;br /&gt;
			type = &#039;text/html&#039;;&lt;br /&gt;
			break;&lt;br /&gt;
		case &#039;xml&#039;:&lt;br /&gt;
			type = &#039;application/xml, text/xml&#039;;&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (type !== &#039;application/x-www-form-urlencoded&#039;) {&lt;br /&gt;
		accept = type + &#039;, */*; q=0.01&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (xhr) {&lt;br /&gt;
		xhr.open(&#039;GET&#039;, url, true);&lt;br /&gt;
		xhr.setRequestHeader(&#039;Accept&#039;, accept);&lt;br /&gt;
		xhr.onreadystatechange = function () {&lt;br /&gt;
			if (completed) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (xhr.readyState === 4) {&lt;br /&gt;
				if (xhr.status === 200) {&lt;br /&gt;
					completed = true;&lt;br /&gt;
					var data = void 0;&lt;br /&gt;
					switch (dataType) {&lt;br /&gt;
						case &#039;json&#039;:&lt;br /&gt;
							data = JSON.parse(xhr.responseText);&lt;br /&gt;
							break;&lt;br /&gt;
						case &#039;xml&#039;:&lt;br /&gt;
							data = xhr.responseXML;&lt;br /&gt;
							break;&lt;br /&gt;
						default:&lt;br /&gt;
							data = xhr.responseText;&lt;br /&gt;
							break;&lt;br /&gt;
					}&lt;br /&gt;
					success(data);&lt;br /&gt;
				} else if (typeof error === &#039;function&#039;) {&lt;br /&gt;
					error(xhr.status);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		xhr.send();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.Utils = _mejs2.default.Utils || {};&lt;br /&gt;
_mejs2.default.Utils.offset = offset;&lt;br /&gt;
_mejs2.default.Utils.hasClass = hasClass;&lt;br /&gt;
_mejs2.default.Utils.addClass = addClass;&lt;br /&gt;
_mejs2.default.Utils.removeClass = removeClass;&lt;br /&gt;
_mejs2.default.Utils.toggleClass = toggleClass;&lt;br /&gt;
_mejs2.default.Utils.fadeIn = fadeIn;&lt;br /&gt;
_mejs2.default.Utils.fadeOut = fadeOut;&lt;br /&gt;
_mejs2.default.Utils.siblings = siblings;&lt;br /&gt;
_mejs2.default.Utils.visible = visible;&lt;br /&gt;
_mejs2.default.Utils.ajax = ajax;&lt;br /&gt;
_mejs2.default.Utils.loadScript = loadScript;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;2&amp;quot;:2,&amp;quot;3&amp;quot;:3,&amp;quot;8&amp;quot;:8}],28:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
exports.escapeHTML = escapeHTML;&lt;br /&gt;
exports.debounce = debounce;&lt;br /&gt;
exports.isObjectEmpty = isObjectEmpty;&lt;br /&gt;
exports.splitEvents = splitEvents;&lt;br /&gt;
exports.createEvent = createEvent;&lt;br /&gt;
exports.isNodeAfter = isNodeAfter;&lt;br /&gt;
exports.isString = isString;&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
function escapeHTML(input) {&lt;br /&gt;
&lt;br /&gt;
	if (typeof input !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;Argument passed must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var map = {&lt;br /&gt;
		&#039;&amp;amp;&#039;: &#039;&amp;amp;amp;&#039;,&lt;br /&gt;
		&#039;&amp;lt;&#039;: &#039;&amp;amp;lt;&#039;,&lt;br /&gt;
		&#039;&amp;gt;&#039;: &#039;&amp;amp;gt;&#039;,&lt;br /&gt;
		&#039;&amp;quot;&#039;: &#039;&amp;amp;quot;&#039;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	return input.replace(/[&amp;amp;&amp;lt;&amp;gt;&amp;quot;]/g, function (c) {&lt;br /&gt;
		return map[c];&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function debounce(func, wait) {&lt;br /&gt;
	var _this = this,&lt;br /&gt;
	    _arguments = arguments;&lt;br /&gt;
&lt;br /&gt;
	var immediate = arguments.length &amp;gt; 2 &amp;amp;&amp;amp; arguments[2] !== undefined ? arguments[2] : false;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	if (typeof func !== &#039;function&#039;) {&lt;br /&gt;
		throw new Error(&#039;First argument must be a function&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (typeof wait !== &#039;number&#039;) {&lt;br /&gt;
		throw new Error(&#039;Second argument must be a numeric value&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var timeout = void 0;&lt;br /&gt;
	return function () {&lt;br /&gt;
		var context = _this,&lt;br /&gt;
		    args = _arguments;&lt;br /&gt;
		var later = function later() {&lt;br /&gt;
			timeout = null;&lt;br /&gt;
			if (!immediate) {&lt;br /&gt;
				func.apply(context, args);&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
		var callNow = immediate &amp;amp;&amp;amp; !timeout;&lt;br /&gt;
		clearTimeout(timeout);&lt;br /&gt;
		timeout = setTimeout(later, wait);&lt;br /&gt;
&lt;br /&gt;
		if (callNow) {&lt;br /&gt;
			func.apply(context, args);&lt;br /&gt;
		}&lt;br /&gt;
	};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function isObjectEmpty(instance) {&lt;br /&gt;
	return Object.getOwnPropertyNames(instance).length &amp;lt;= 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function splitEvents(events, id) {&lt;br /&gt;
	var rwindow = /^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;&lt;br /&gt;
&lt;br /&gt;
	var ret = { d: [], w: [] };&lt;br /&gt;
	(events || &#039;&#039;).split(&#039; &#039;).forEach(function (v) {&lt;br /&gt;
		var eventName = &#039;&#039; + v + (id ? &#039;.&#039; + id : &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
		if (eventName.startsWith(&#039;.&#039;)) {&lt;br /&gt;
			ret.d.push(eventName);&lt;br /&gt;
			ret.w.push(eventName);&lt;br /&gt;
		} else {&lt;br /&gt;
			ret[rwindow.test(v) ? &#039;w&#039; : &#039;d&#039;].push(eventName);&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	ret.d = ret.d.join(&#039; &#039;);&lt;br /&gt;
	ret.w = ret.w.join(&#039; &#039;);&lt;br /&gt;
	return ret;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function createEvent(eventName, target) {&lt;br /&gt;
&lt;br /&gt;
	if (typeof eventName !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;Event name must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var eventFrags = eventName.match(/([a-z]+\.([a-z]+))/i),&lt;br /&gt;
	    detail = {&lt;br /&gt;
		target: target&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	if (eventFrags !== null) {&lt;br /&gt;
		eventName = eventFrags[1];&lt;br /&gt;
		detail.namespace = eventFrags[2];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return new window.CustomEvent(eventName, {&lt;br /&gt;
		detail: detail&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function isNodeAfter(sourceNode, targetNode) {&lt;br /&gt;
&lt;br /&gt;
	return !!(sourceNode &amp;amp;&amp;amp; targetNode &amp;amp;&amp;amp; sourceNode.compareDocumentPosition(targetNode) &amp;amp; 2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function isString(value) {&lt;br /&gt;
	return typeof value === &#039;string&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.Utils = _mejs2.default.Utils || {};&lt;br /&gt;
_mejs2.default.Utils.escapeHTML = escapeHTML;&lt;br /&gt;
_mejs2.default.Utils.debounce = debounce;&lt;br /&gt;
_mejs2.default.Utils.isObjectEmpty = isObjectEmpty;&lt;br /&gt;
_mejs2.default.Utils.splitEvents = splitEvents;&lt;br /&gt;
_mejs2.default.Utils.createEvent = createEvent;&lt;br /&gt;
_mejs2.default.Utils.isNodeAfter = isNodeAfter;&lt;br /&gt;
_mejs2.default.Utils.isString = isString;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;8&amp;quot;:8}],29:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
exports.generateControlButton = generateControlButton;&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
function generateControlButton(playerId, ariaLabel, title, iconSprite, icons, classPrefix) {&lt;br /&gt;
	var buttonClass = arguments.length &amp;gt; 6 &amp;amp;&amp;amp; arguments[6] !== undefined ? arguments[6] : null;&lt;br /&gt;
	var ariaDescribedby = arguments.length &amp;gt; 7 &amp;amp;&amp;amp; arguments[7] !== undefined ? arguments[7] : &#039;&#039;;&lt;br /&gt;
	var ariaPressed = arguments.length &amp;gt; 8 &amp;amp;&amp;amp; arguments[8] !== undefined ? arguments[8] : null;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	if (typeof playerId !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`ariaControls` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	if (typeof ariaLabel !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`ariaLabel` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	if (typeof title !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`title` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	if (typeof iconSprite !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`iconSprite` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	if (typeof ariaDescribedby !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`ariaDescribedby` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	if (!Array.isArray(icons)) {&lt;br /&gt;
		throw new Error(&#039;`icons` argument must be an array&#039;);&lt;br /&gt;
	}&lt;br /&gt;
	if (typeof classPrefix !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`classPrefix` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var className = buttonClass ? &#039;class=&amp;quot;&#039; + buttonClass + &#039;&amp;quot; &#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
	var ariaDescribedbyAttr = ariaDescribedby !== &#039;&#039; ? &#039;aria-describedby=&amp;quot;&#039; + ariaDescribedby + &#039;&amp;quot; &#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
	var ariaPressedAttr = ariaPressed !== null ? &#039;aria-pressed=&amp;quot;&#039; + ariaPressed + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
	var iconHtml = icons.map(function (icon) {&lt;br /&gt;
		return &#039;&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; id=&amp;quot;&#039; + playerId + &#039;-&#039; + icon + &#039;&amp;quot; class=&amp;quot;&#039; + classPrefix + icon + &#039;&amp;quot; aria-hidden=&amp;quot;true&amp;quot; focusable=&amp;quot;false&amp;quot;&amp;gt;\n\t\t\t\t&amp;lt;use xlink:href=&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg#&#039; + icon + &#039;&amp;quot;&amp;gt;&amp;lt;/use&amp;gt;\n\t\t\t&amp;lt;/svg&amp;gt;\n&#039;;&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	return &#039;&amp;lt;button &#039; + className + &#039; type=&amp;quot;button&amp;quot; aria-controls=&amp;quot;&#039; + playerId + &#039;&amp;quot; title=&amp;quot;&#039; + title + &#039;&amp;quot; aria-label=&amp;quot;&#039; + ariaLabel + &#039;&amp;quot; &#039; + ariaDescribedbyAttr + &#039; &#039; + ariaPressedAttr + &#039;&amp;gt;\n\t\t\t&#039; + iconHtml.join(&#039;&#039;) + &#039;\n\t\t&amp;lt;/button&amp;gt;&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.Utils = _mejs2.default.Utils || {};&lt;br /&gt;
_mejs2.default.Utils.generateControlButton = generateControlButton;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;8&amp;quot;:8}],30:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
exports.typeChecks = undefined;&lt;br /&gt;
exports.absolutizeUrl = absolutizeUrl;&lt;br /&gt;
exports.formatType = formatType;&lt;br /&gt;
exports.getMimeFromType = getMimeFromType;&lt;br /&gt;
exports.getTypeFromFile = getTypeFromFile;&lt;br /&gt;
exports.getExtension = getExtension;&lt;br /&gt;
exports.normalizeExtension = normalizeExtension;&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
var _general = _dereq_(28);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
var typeChecks = exports.typeChecks = [];&lt;br /&gt;
&lt;br /&gt;
function absolutizeUrl(url) {&lt;br /&gt;
&lt;br /&gt;
	if (typeof url !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`url` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var el = document.createElement(&#039;div&#039;);&lt;br /&gt;
	el.innerHTML = &#039;&amp;lt;a href=&amp;quot;&#039; + (0, _general.escapeHTML)(url) + &#039;&amp;quot;&amp;gt;x&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
	return el.firstChild.href;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function formatType(url) {&lt;br /&gt;
	var type = arguments.length &amp;gt; 1 &amp;amp;&amp;amp; arguments[1] !== undefined ? arguments[1] : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
	return url &amp;amp;&amp;amp; !type ? getTypeFromFile(url) : type;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getMimeFromType(type) {&lt;br /&gt;
&lt;br /&gt;
	if (typeof type !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`type` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return type &amp;amp;&amp;amp; type.indexOf(&#039;;&#039;) &amp;gt; -1 ? type.substr(0, type.indexOf(&#039;;&#039;)) : type;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTypeFromFile(url) {&lt;br /&gt;
&lt;br /&gt;
	if (typeof url !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`url` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	for (var i = 0, total = typeChecks.length; i &amp;lt; total; i++) {&lt;br /&gt;
		var type = typeChecks[i](url);&lt;br /&gt;
&lt;br /&gt;
		if (type) {&lt;br /&gt;
			return type;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var ext = getExtension(url),&lt;br /&gt;
	    normalizedExt = normalizeExtension(ext);&lt;br /&gt;
&lt;br /&gt;
	var mime = &#039;video/mp4&#039;;&lt;br /&gt;
&lt;br /&gt;
	if (normalizedExt) {&lt;br /&gt;
		if (~[&#039;mp4&#039;, &#039;m4v&#039;, &#039;ogg&#039;, &#039;ogv&#039;, &#039;webm&#039;, &#039;flv&#039;, &#039;mpeg&#039;].indexOf(normalizedExt)) {&lt;br /&gt;
			mime = &#039;video/&#039; + normalizedExt;&lt;br /&gt;
		} else if (&#039;mov&#039; === normalizedExt) {&lt;br /&gt;
			mime = &#039;video/quicktime&#039;;&lt;br /&gt;
		} else if (~[&#039;mp3&#039;, &#039;oga&#039;, &#039;wav&#039;, &#039;mid&#039;, &#039;midi&#039;].indexOf(normalizedExt)) {&lt;br /&gt;
			mime = &#039;audio/&#039; + normalizedExt;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return mime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getExtension(url) {&lt;br /&gt;
&lt;br /&gt;
	if (typeof url !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`url` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var baseUrl = url.split(&#039;?&#039;)[0],&lt;br /&gt;
	    baseName = baseUrl.split(&#039;\\&#039;).pop().split(&#039;/&#039;).pop();&lt;br /&gt;
	return ~baseName.indexOf(&#039;.&#039;) ? baseName.substring(baseName.lastIndexOf(&#039;.&#039;) + 1) : &#039;&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function normalizeExtension(extension) {&lt;br /&gt;
&lt;br /&gt;
	if (typeof extension !== &#039;string&#039;) {&lt;br /&gt;
		throw new Error(&#039;`extension` argument must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	switch (extension) {&lt;br /&gt;
		case &#039;mp4&#039;:&lt;br /&gt;
		case &#039;m4v&#039;:&lt;br /&gt;
			return &#039;mp4&#039;;&lt;br /&gt;
		case &#039;webm&#039;:&lt;br /&gt;
		case &#039;webma&#039;:&lt;br /&gt;
		case &#039;webmv&#039;:&lt;br /&gt;
			return &#039;webm&#039;;&lt;br /&gt;
		case &#039;ogg&#039;:&lt;br /&gt;
		case &#039;oga&#039;:&lt;br /&gt;
		case &#039;ogv&#039;:&lt;br /&gt;
			return &#039;ogg&#039;;&lt;br /&gt;
		default:&lt;br /&gt;
			return extension;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.Utils = _mejs2.default.Utils || {};&lt;br /&gt;
_mejs2.default.Utils.typeChecks = typeChecks;&lt;br /&gt;
_mejs2.default.Utils.absolutizeUrl = absolutizeUrl;&lt;br /&gt;
_mejs2.default.Utils.formatType = formatType;&lt;br /&gt;
_mejs2.default.Utils.getMimeFromType = getMimeFromType;&lt;br /&gt;
_mejs2.default.Utils.getTypeFromFile = getTypeFromFile;&lt;br /&gt;
_mejs2.default.Utils.getExtension = getExtension;&lt;br /&gt;
_mejs2.default.Utils.normalizeExtension = normalizeExtension;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;28&amp;quot;:28,&amp;quot;8&amp;quot;:8}],31:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
var _document = _dereq_(2);&lt;br /&gt;
&lt;br /&gt;
var _document2 = _interopRequireDefault(_document);&lt;br /&gt;
&lt;br /&gt;
var _promisePolyfill = _dereq_(4);&lt;br /&gt;
&lt;br /&gt;
var _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);&lt;br /&gt;
&lt;br /&gt;
var _svg4everybody = _dereq_(5);&lt;br /&gt;
&lt;br /&gt;
var _svg4everybody2 = _interopRequireDefault(_svg4everybody);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
(function (arr) {&lt;br /&gt;
	arr.forEach(function (item) {&lt;br /&gt;
		if (item.hasOwnProperty(&#039;remove&#039;)) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		Object.defineProperty(item, &#039;remove&#039;, {&lt;br /&gt;
			configurable: true,&lt;br /&gt;
			enumerable: true,&lt;br /&gt;
			writable: true,&lt;br /&gt;
			value: function remove() {&lt;br /&gt;
				this.parentNode.removeChild(this);&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
	});&lt;br /&gt;
})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
&lt;br /&gt;
	if (typeof window.CustomEvent === &#039;function&#039;) {&lt;br /&gt;
		return false;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function CustomEvent(event, params) {&lt;br /&gt;
		params = params || { bubbles: false, cancelable: false, detail: undefined };&lt;br /&gt;
		var evt = _document2.default.createEvent(&#039;CustomEvent&#039;);&lt;br /&gt;
		evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);&lt;br /&gt;
		return evt;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	CustomEvent.prototype = window.Event.prototype;&lt;br /&gt;
	window.CustomEvent = CustomEvent;&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
if (typeof Object.assign !== &#039;function&#039;) {&lt;br /&gt;
	Object.assign = function (target) {&lt;br /&gt;
&lt;br /&gt;
		if (target === null || target === undefined) {&lt;br /&gt;
			throw new TypeError(&#039;Cannot convert undefined or null to object&#039;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var to = Object(target);&lt;br /&gt;
&lt;br /&gt;
		for (var index = 1, total = arguments.length; index &amp;lt; total; index++) {&lt;br /&gt;
			var nextSource = arguments[index];&lt;br /&gt;
&lt;br /&gt;
			if (nextSource !== null) {&lt;br /&gt;
				for (var nextKey in nextSource) {&lt;br /&gt;
					if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {&lt;br /&gt;
						to[nextKey] = nextSource[nextKey];&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return to;&lt;br /&gt;
	};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (!String.prototype.startsWith) {&lt;br /&gt;
	String.prototype.startsWith = function (searchString, position) {&lt;br /&gt;
		position = position || 0;&lt;br /&gt;
		return this.substr(position, searchString.length) === searchString;&lt;br /&gt;
	};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (!Element.prototype.matches) {&lt;br /&gt;
	Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function (s) {&lt;br /&gt;
		var matches = (this.document || this.ownerDocument).querySelectorAll(s),&lt;br /&gt;
		    i = matches.length - 1;&lt;br /&gt;
		while (--i &amp;gt;= 0 &amp;amp;&amp;amp; matches.item(i) !== this) {}&lt;br /&gt;
		return i &amp;gt; -1;&lt;br /&gt;
	};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (window.Element &amp;amp;&amp;amp; !Element.prototype.closest) {&lt;br /&gt;
	Element.prototype.closest = function (s) {&lt;br /&gt;
		var matches = (this.document || this.ownerDocument).querySelectorAll(s),&lt;br /&gt;
		    i = void 0,&lt;br /&gt;
		    el = this;&lt;br /&gt;
		do {&lt;br /&gt;
			i = matches.length;&lt;br /&gt;
			while (--i &amp;gt;= 0 &amp;amp;&amp;amp; matches.item(i) !== el) {}&lt;br /&gt;
		} while (i &amp;lt; 0 &amp;amp;&amp;amp; (el = el.parentElement));&lt;br /&gt;
		return el;&lt;br /&gt;
	};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
	var lastTime = 0;&lt;br /&gt;
	var vendors = [&#039;ms&#039;, &#039;moz&#039;, &#039;webkit&#039;, &#039;o&#039;];&lt;br /&gt;
	for (var x = 0; x &amp;lt; vendors.length &amp;amp;&amp;amp; !window.requestAnimationFrame; ++x) {&lt;br /&gt;
		window.requestAnimationFrame = window[vendors[x] + &#039;RequestAnimationFrame&#039;];&lt;br /&gt;
		window.cancelAnimationFrame = window[vendors[x] + &#039;CancelAnimationFrame&#039;] || window[vendors[x] + &#039;CancelRequestAnimationFrame&#039;];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (!window.requestAnimationFrame) window.requestAnimationFrame = function (callback) {&lt;br /&gt;
		var currTime = new Date().getTime();&lt;br /&gt;
		var timeToCall = Math.max(0, 16 - (currTime - lastTime));&lt;br /&gt;
		var id = window.setTimeout(function () {&lt;br /&gt;
			callback(currTime + timeToCall);&lt;br /&gt;
		}, timeToCall);&lt;br /&gt;
		lastTime = currTime + timeToCall;&lt;br /&gt;
		return id;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function (id) {&lt;br /&gt;
		clearTimeout(id);&lt;br /&gt;
	};&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
if (/firefox/i.test(navigator.userAgent)) {&lt;br /&gt;
	var getComputedStyle = window.getComputedStyle;&lt;br /&gt;
	window.getComputedStyle = function (el, pseudoEl) {&lt;br /&gt;
		var t = getComputedStyle(el, pseudoEl);&lt;br /&gt;
		return t === null ? { getPropertyValue: function getPropertyValue() {} } : t;&lt;br /&gt;
	};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (!window.Promise) {&lt;br /&gt;
	window.Promise = _promisePolyfill2.default;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
(0, _svg4everybody2.default)();&lt;br /&gt;
&lt;br /&gt;
(function (constructor) {&lt;br /&gt;
	if (constructor &amp;amp;&amp;amp; constructor.prototype &amp;amp;&amp;amp; constructor.prototype.children === null) {&lt;br /&gt;
		Object.defineProperty(constructor.prototype, &#039;children&#039;, {&lt;br /&gt;
			get: function get() {&lt;br /&gt;
				var i = 0,&lt;br /&gt;
				    node = void 0,&lt;br /&gt;
				    nodes = this.childNodes,&lt;br /&gt;
				    children = [];&lt;br /&gt;
				while (node = nodes[i++]) {&lt;br /&gt;
					if (node.nodeType === 1) {&lt;br /&gt;
						children.push(node);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				return children;&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
})(window.Node || window.Element);&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;2&amp;quot;:2,&amp;quot;4&amp;quot;:4,&amp;quot;5&amp;quot;:5}],32:[function(_dereq_,module,exports){&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(exports, &amp;quot;__esModule&amp;quot;, {&lt;br /&gt;
	value: true&lt;br /&gt;
});&lt;br /&gt;
exports.isDropFrame = isDropFrame;&lt;br /&gt;
exports.secondsToTimeCode = secondsToTimeCode;&lt;br /&gt;
exports.timeCodeToSeconds = timeCodeToSeconds;&lt;br /&gt;
exports.calculateTimeFormat = calculateTimeFormat;&lt;br /&gt;
exports.convertSMPTEtoSeconds = convertSMPTEtoSeconds;&lt;br /&gt;
&lt;br /&gt;
var _mejs = _dereq_(8);&lt;br /&gt;
&lt;br /&gt;
var _mejs2 = _interopRequireDefault(_mejs);&lt;br /&gt;
&lt;br /&gt;
function _interopRequireDefault(obj) { return obj &amp;amp;&amp;amp; obj.__esModule ? obj : { default: obj }; }&lt;br /&gt;
&lt;br /&gt;
function isDropFrame() {&lt;br /&gt;
	var fps = arguments.length &amp;gt; 0 &amp;amp;&amp;amp; arguments[0] !== undefined ? arguments[0] : 25;&lt;br /&gt;
&lt;br /&gt;
	return !(fps % 1 === 0);&lt;br /&gt;
}&lt;br /&gt;
function secondsToTimeCode(time) {&lt;br /&gt;
	var forceHours = arguments.length &amp;gt; 1 &amp;amp;&amp;amp; arguments[1] !== undefined ? arguments[1] : false;&lt;br /&gt;
	var showFrameCount = arguments.length &amp;gt; 2 &amp;amp;&amp;amp; arguments[2] !== undefined ? arguments[2] : false;&lt;br /&gt;
	var fps = arguments.length &amp;gt; 3 &amp;amp;&amp;amp; arguments[3] !== undefined ? arguments[3] : 25;&lt;br /&gt;
	var secondsDecimalLength = arguments.length &amp;gt; 4 &amp;amp;&amp;amp; arguments[4] !== undefined ? arguments[4] : 0;&lt;br /&gt;
	var timeFormat = arguments.length &amp;gt; 5 &amp;amp;&amp;amp; arguments[5] !== undefined ? arguments[5] : &#039;hh:mm:ss&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	time = !time || typeof time !== &#039;number&#039; || time &amp;lt; 0 ? 0 : time;&lt;br /&gt;
&lt;br /&gt;
	var dropFrames = Math.round(fps * 0.066666),&lt;br /&gt;
	    timeBase = Math.round(fps),&lt;br /&gt;
	    framesPer24Hours = Math.round(fps * 3600) * 24,&lt;br /&gt;
	    framesPer10Minutes = Math.round(fps * 600),&lt;br /&gt;
	    frameSep = isDropFrame(fps) ? &#039;;&#039; : &#039;:&#039;,&lt;br /&gt;
	    hours = void 0,&lt;br /&gt;
	    minutes = void 0,&lt;br /&gt;
	    seconds = void 0,&lt;br /&gt;
	    frames = void 0,&lt;br /&gt;
	    f = Math.round(time * fps);&lt;br /&gt;
&lt;br /&gt;
	if (isDropFrame(fps)) {&lt;br /&gt;
&lt;br /&gt;
		if (f &amp;lt; 0) {&lt;br /&gt;
			f = framesPer24Hours + f;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		f = f % framesPer24Hours;&lt;br /&gt;
&lt;br /&gt;
		var d = Math.floor(f / framesPer10Minutes);&lt;br /&gt;
		var m = f % framesPer10Minutes;&lt;br /&gt;
		f = f + dropFrames * 9 * d;&lt;br /&gt;
		if (m &amp;gt; dropFrames) {&lt;br /&gt;
			f = f + dropFrames * Math.floor((m - dropFrames) / Math.round(timeBase * 60 - dropFrames));&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var timeBaseDivision = Math.floor(f / timeBase);&lt;br /&gt;
&lt;br /&gt;
		hours = Math.floor(Math.floor(timeBaseDivision / 60) / 60);&lt;br /&gt;
		minutes = Math.floor(timeBaseDivision / 60) % 60;&lt;br /&gt;
&lt;br /&gt;
		if (showFrameCount) {&lt;br /&gt;
			seconds = timeBaseDivision % 60;&lt;br /&gt;
		} else {&lt;br /&gt;
			seconds = Math.floor(f / timeBase % 60).toFixed(secondsDecimalLength);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		hours = Math.floor(time / 3600) % 24;&lt;br /&gt;
		minutes = Math.floor(time / 60) % 60;&lt;br /&gt;
		if (showFrameCount) {&lt;br /&gt;
			seconds = Math.floor(time % 60);&lt;br /&gt;
		} else {&lt;br /&gt;
			seconds = Math.floor(time % 60).toFixed(secondsDecimalLength);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	hours = hours &amp;lt;= 0 ? 0 : hours;&lt;br /&gt;
	minutes = minutes &amp;lt;= 0 ? 0 : minutes;&lt;br /&gt;
	seconds = seconds &amp;lt;= 0 ? 0 : seconds;&lt;br /&gt;
&lt;br /&gt;
	seconds = seconds === 60 ? 0 : seconds;&lt;br /&gt;
	minutes = minutes === 60 ? 0 : minutes;&lt;br /&gt;
&lt;br /&gt;
	var timeFormatFrags = timeFormat.split(&#039;:&#039;);&lt;br /&gt;
	var timeFormatSettings = {};&lt;br /&gt;
	for (var i = 0, total = timeFormatFrags.length; i &amp;lt; total; ++i) {&lt;br /&gt;
		var unique = &#039;&#039;;&lt;br /&gt;
		for (var j = 0, t = timeFormatFrags[i].length; j &amp;lt; t; j++) {&lt;br /&gt;
			if (unique.indexOf(timeFormatFrags[i][j]) &amp;lt; 0) {&lt;br /&gt;
				unique += timeFormatFrags[i][j];&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		if (~[&#039;f&#039;, &#039;s&#039;, &#039;m&#039;, &#039;h&#039;].indexOf(unique)) {&lt;br /&gt;
			timeFormatSettings[unique] = timeFormatFrags[i].length;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var result = forceHours || hours &amp;gt; 0 ? (hours &amp;lt; 10 &amp;amp;&amp;amp; timeFormatSettings.h &amp;gt; 1 ? &#039;0&#039; + hours : hours) + &#039;:&#039; : &#039;&#039;;&lt;br /&gt;
	result += (minutes &amp;lt; 10 &amp;amp;&amp;amp; timeFormatSettings.m &amp;gt; 1 ? &#039;0&#039; + minutes : minutes) + &#039;:&#039;;&lt;br /&gt;
	result += &#039;&#039; + (seconds &amp;lt; 10 &amp;amp;&amp;amp; timeFormatSettings.s &amp;gt; 1 ? &#039;0&#039; + seconds : seconds);&lt;br /&gt;
&lt;br /&gt;
	if (showFrameCount) {&lt;br /&gt;
		frames = (f % timeBase).toFixed(0);&lt;br /&gt;
		frames = frames &amp;lt;= 0 ? 0 : frames;&lt;br /&gt;
		result += frames &amp;lt; 10 &amp;amp;&amp;amp; timeFormatSettings.f ? frameSep + &#039;0&#039; + frames : &#039;&#039; + frameSep + frames;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function timeCodeToSeconds(time) {&lt;br /&gt;
	var fps = arguments.length &amp;gt; 1 &amp;amp;&amp;amp; arguments[1] !== undefined ? arguments[1] : 25;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	if (typeof time !== &#039;string&#039;) {&lt;br /&gt;
		throw new TypeError(&#039;Time must be a string&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (time.indexOf(&#039;;&#039;) &amp;gt; 0) {&lt;br /&gt;
		time = time.replace(&#039;;&#039;, &#039;:&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (!/\d{2}(\:\d{2}){0,3}/i.test(time)) {&lt;br /&gt;
		throw new TypeError(&#039;Time code must have the format `00:00:00`&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var parts = time.split(&#039;:&#039;);&lt;br /&gt;
&lt;br /&gt;
	var output = void 0,&lt;br /&gt;
	    hours = 0,&lt;br /&gt;
	    minutes = 0,&lt;br /&gt;
	    seconds = 0,&lt;br /&gt;
	    frames = 0,&lt;br /&gt;
	    totalMinutes = 0,&lt;br /&gt;
	    dropFrames = Math.round(fps * 0.066666),&lt;br /&gt;
	    timeBase = Math.round(fps),&lt;br /&gt;
	    hFrames = timeBase * 3600,&lt;br /&gt;
	    mFrames = timeBase * 60;&lt;br /&gt;
&lt;br /&gt;
	switch (parts.length) {&lt;br /&gt;
		default:&lt;br /&gt;
		case 1:&lt;br /&gt;
			seconds = parseInt(parts[0], 10);&lt;br /&gt;
			break;&lt;br /&gt;
		case 2:&lt;br /&gt;
			minutes = parseInt(parts[0], 10);&lt;br /&gt;
			seconds = parseInt(parts[1], 10);&lt;br /&gt;
			break;&lt;br /&gt;
		case 3:&lt;br /&gt;
			hours = parseInt(parts[0], 10);&lt;br /&gt;
			minutes = parseInt(parts[1], 10);&lt;br /&gt;
			seconds = parseInt(parts[2], 10);&lt;br /&gt;
			break;&lt;br /&gt;
		case 4:&lt;br /&gt;
			hours = parseInt(parts[0], 10);&lt;br /&gt;
			minutes = parseInt(parts[1], 10);&lt;br /&gt;
			seconds = parseInt(parts[2], 10);&lt;br /&gt;
			frames = parseInt(parts[3], 10);&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (isDropFrame(fps)) {&lt;br /&gt;
		totalMinutes = 60 * hours + minutes;&lt;br /&gt;
		output = hFrames * hours + mFrames * minutes + timeBase * seconds + frames - dropFrames * (totalMinutes - Math.floor(totalMinutes / 10));&lt;br /&gt;
	} else {&lt;br /&gt;
		output = (hFrames * hours + mFrames * minutes + fps * seconds + frames) / fps;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return parseFloat(output.toFixed(3));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function calculateTimeFormat(time, options) {&lt;br /&gt;
	var fps = arguments.length &amp;gt; 2 &amp;amp;&amp;amp; arguments[2] !== undefined ? arguments[2] : 25;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	time = !time || typeof time !== &#039;number&#039; || time &amp;lt; 0 ? 0 : time;&lt;br /&gt;
&lt;br /&gt;
	var hours = Math.floor(time / 3600) % 24,&lt;br /&gt;
	    minutes = Math.floor(time / 60) % 60,&lt;br /&gt;
	    seconds = Math.floor(time % 60),&lt;br /&gt;
	    frames = Math.floor((time % 1 * fps).toFixed(3)),&lt;br /&gt;
	    lis = [[frames, &#039;f&#039;], [seconds, &#039;s&#039;], [minutes, &#039;m&#039;], [hours, &#039;h&#039;]];&lt;br /&gt;
&lt;br /&gt;
	var format = options.timeFormat,&lt;br /&gt;
	    firstTwoPlaces = format[1] === format[0],&lt;br /&gt;
	    separatorIndex = firstTwoPlaces ? 2 : 1,&lt;br /&gt;
	    separator = format.length &amp;lt; separatorIndex ? format[separatorIndex] : &#039;:&#039;,&lt;br /&gt;
	    firstChar = format[0],&lt;br /&gt;
	    required = false;&lt;br /&gt;
&lt;br /&gt;
	for (var i = 0, len = lis.length; i &amp;lt; len; i++) {&lt;br /&gt;
		if (~format.indexOf(lis[i][1])) {&lt;br /&gt;
			required = true;&lt;br /&gt;
		} else if (required) {&lt;br /&gt;
			var hasNextValue = false;&lt;br /&gt;
			for (var j = i; j &amp;lt; len; j++) {&lt;br /&gt;
				if (lis[j][0] &amp;gt; 0) {&lt;br /&gt;
					hasNextValue = true;&lt;br /&gt;
					break;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (!hasNextValue) {&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (!firstTwoPlaces) {&lt;br /&gt;
				format = firstChar + format;&lt;br /&gt;
			}&lt;br /&gt;
			format = lis[i][1] + separator + format;&lt;br /&gt;
			if (firstTwoPlaces) {&lt;br /&gt;
				format = lis[i][1] + format;&lt;br /&gt;
			}&lt;br /&gt;
			firstChar = lis[i][1];&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	options.timeFormat = format;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function convertSMPTEtoSeconds(SMPTE) {&lt;br /&gt;
&lt;br /&gt;
	if (typeof SMPTE !== &#039;string&#039;) {&lt;br /&gt;
		throw new TypeError(&#039;Argument must be a string value&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	SMPTE = SMPTE.replace(&#039;,&#039;, &#039;.&#039;);&lt;br /&gt;
&lt;br /&gt;
	var decimalLen = ~SMPTE.indexOf(&#039;.&#039;) ? SMPTE.split(&#039;.&#039;)[1].length : 0;&lt;br /&gt;
&lt;br /&gt;
	var secs = 0,&lt;br /&gt;
	    multiplier = 1;&lt;br /&gt;
&lt;br /&gt;
	SMPTE = SMPTE.split(&#039;:&#039;).reverse();&lt;br /&gt;
&lt;br /&gt;
	for (var i = 0, total = SMPTE.length; i &amp;lt; total; i++) {&lt;br /&gt;
		multiplier = 1;&lt;br /&gt;
		if (i &amp;gt; 0) {&lt;br /&gt;
			multiplier = Math.pow(60, i);&lt;br /&gt;
		}&lt;br /&gt;
		secs += Number(SMPTE[i]) * multiplier;&lt;br /&gt;
	}&lt;br /&gt;
	return Number(secs.toFixed(decimalLen));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
_mejs2.default.Utils = _mejs2.default.Utils || {};&lt;br /&gt;
_mejs2.default.Utils.secondsToTimeCode = secondsToTimeCode;&lt;br /&gt;
_mejs2.default.Utils.timeCodeToSeconds = timeCodeToSeconds;&lt;br /&gt;
_mejs2.default.Utils.calculateTimeFormat = calculateTimeFormat;&lt;br /&gt;
_mejs2.default.Utils.convertSMPTEtoSeconds = convertSMPTEtoSeconds;&lt;br /&gt;
&lt;br /&gt;
},{&amp;quot;8&amp;quot;:8}]},{},[31,7,6,16,24,21,20,22,23,25,17,19,18,10,11,12,13,14,15]);&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=62896</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=62896"/>
		<updated>2023-08-02T03:45:15Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Normal.ttf&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Bold.ttf&amp;quot;);&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Italic.ttf&amp;quot;);&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: Ekatra;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.action-edit #bodyContent {&lt;br /&gt;
	padding-left: 2%;&lt;br /&gt;
	padding-right: 2%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media only screen and (max-width: 600px) {&lt;br /&gt;
 #bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#firstHeading {&lt;br /&gt;
	font-family: Ekatra;&lt;br /&gt;
	font-size: 0.8em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo {&lt;br /&gt;
	margin-top: 1rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.grid_row {&lt;br /&gt;
	display: flex;&lt;br /&gt;
	flex-direction: row;&lt;br /&gt;
	flex-flow: row wrap;&lt;br /&gt;
	justify-content: space-between;&lt;br /&gt;
}&lt;br /&gt;
.grid_col {&lt;br /&gt;
	flex: 1;&lt;br /&gt;
	min-width: 250px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.error {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    border-spacing: 3px;&lt;br /&gt;
    background-color: #f8f9fa;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    width: 22em;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-name{&lt;br /&gt;
	text-align:center;&lt;br /&gt;
	font-weight: 500;&lt;br /&gt;
    font-size: 23px;&lt;br /&gt;
    line-height: 28px;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography th{&lt;br /&gt;
	text-align:left;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography td {&lt;br /&gt;
    padding-left: 10px;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-caption{&lt;br /&gt;
		text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.poem{&lt;br /&gt;
	padding-left: 3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.Poem2-Ekatra{&lt;br /&gt;
	text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-heading {&lt;br /&gt;
	font-size: 29px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-author, p.bookcover-editor{&lt;br /&gt;
	font-size: 21px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
.bookcover{&lt;br /&gt;
	padding:10px;&lt;br /&gt;
	margin-bottom:20px;&lt;br /&gt;
}&lt;br /&gt;
.heading-detail-page{&lt;br /&gt;
	width:auto; &lt;br /&gt;
	margin-left:auto; &lt;br /&gt;
	margin-right:auto; &lt;br /&gt;
	margin-bottom: 30px;&lt;br /&gt;
}&lt;br /&gt;
.tablecenter{&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.content-box.lightpink{&lt;br /&gt;
	border:2px solid #ffe2e2;&lt;br /&gt;
}&lt;br /&gt;
.content-box-heading{&lt;br /&gt;
	background:#ffe2e2;&lt;br /&gt;
	font-size: larger;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding-top: 0.1em;&lt;br /&gt;
	padding-bottom: 0.1em;&lt;br /&gt;
}&lt;br /&gt;
.content-box-text{&lt;br /&gt;
	background:#fff5f5;&lt;br /&gt;
	padding: 10px;&lt;br /&gt;
	font-size:17px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
table.autorowtable {&lt;br /&gt;
  counter-reset: rowNumber;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.autorow::before {&lt;br /&gt;
  counter-increment: rowNumber;&lt;br /&gt;
  content:  counter(rowNumber) &amp;quot;.&amp;quot; ;&lt;br /&gt;
  padding-right: 0.3em;&lt;br /&gt;
  text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* To make images responsive */&lt;br /&gt;
.res-img img {&lt;br /&gt;
	max-width:70%;&lt;br /&gt;
	height:auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ap_time {&lt;br /&gt;
	margin-left: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mejs__overlay-button {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;) !important;&lt;br /&gt;
}&lt;br /&gt;
.mejs__overlay-loading-bg-img {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;) !important;;&lt;br /&gt;
}&lt;br /&gt;
.mejs__button &amp;gt; button {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;) !important;;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62895</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62895"/>
		<updated>2023-08-02T03:32:51Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelementplayer.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
.mejs__overlay-button {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;) !important;&lt;br /&gt;
}&lt;br /&gt;
.mejs__overlay-loading-bg-img {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;) !important;;&lt;br /&gt;
}&lt;br /&gt;
.mejs__button &amp;gt; button {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;) !important;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelement-and-player.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script&amp;gt;&lt;br /&gt;
	var player = new MediaElementPlayer( document.querySelector(&#039;.mejs__player&#039;), {&lt;br /&gt;
		success: function(mediaElement, originalNode, instance) {&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62894</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62894"/>
		<updated>2023-08-02T03:18:40Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelementplayer.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
.mejs__overlay-button {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
.mejs__overlay-loading-bg-img {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
.mejs__button &amp;gt; button {&lt;br /&gt;
	background-image: url(&amp;quot;https://wiki.ekatrafoundation.org/mejs-controls.svg&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelement-and-player.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script&amp;gt;&lt;br /&gt;
	var player = new MediaElementPlayer( document.querySelector(&#039;.mejs__player&#039;), {&lt;br /&gt;
		success: function(mediaElement, originalNode, instance) {&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62893</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62893"/>
		<updated>2023-08-02T02:55:29Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelementplayer.min.css&amp;quot; /&amp;gt;&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelement-and-player.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script&amp;gt;&lt;br /&gt;
	var player = new MediaElementPlayer( document.querySelector(&#039;.mejs__player&#039;), {&lt;br /&gt;
		success: function(mediaElement, originalNode, instance) {&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62892</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62892"/>
		<updated>2023-08-02T02:53:14Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelementplayer.min.css&amp;quot; /&amp;gt;&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelement-and-player.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script&amp;gt;&lt;br /&gt;
	var player = new MediaElementPlayer(&#039;.mejs__player&#039;, {&lt;br /&gt;
		success: function(mediaElement, originalNode, instance) {&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62891</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62891"/>
		<updated>2023-08-02T02:50:26Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelementplayer.min.css&amp;quot; /&amp;gt;&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelement-and-player.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62889</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62889"/>
		<updated>2023-08-02T02:34:28Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelementplayer.min.css&amp;quot; integrity=&amp;quot;sha512-9dMFiFyikcX8OM6ZRtmk5DlIuaNEgtZv/abBnUMbs/rdOlYGeS/1qqCiaycA6nUFV8mW93CTUmMOvOH2Tur14Q==&amp;quot; crossorigin=&amp;quot;anonymous&amp;quot; referrerpolicy=&amp;quot;no-referrer&amp;quot; /&amp;gt;&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelement-and-player.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62888</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62888"/>
		<updated>2023-08-02T02:32:17Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelementplayer.min.css&amp;quot; integrity=&amp;quot;sha512-9dMFiFyikcX8OM6ZRtmk5DlIuaNEgtZv/abBnUMbs/rdOlYGeS/1qqCiaycA6nUFV8mW93CTUmMOvOH2Tur14Q==&amp;quot; crossorigin=&amp;quot;anonymous&amp;quot; referrerpolicy=&amp;quot;no-referrer&amp;quot; /&amp;gt;&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelement.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62887</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62887"/>
		<updated>2023-08-02T02:02:56Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;mejs__player&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelement.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62886</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62886"/>
		<updated>2023-08-02T01:54:52Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;audiplay&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mediaelement/6.0.3/mediaelement.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62885</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62885"/>
		<updated>2023-08-02T01:38:26Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;audiplay&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/audiojs/1.0.1/audio.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=62884</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=62884"/>
		<updated>2023-08-01T19:19:33Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Normal.ttf&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Bold.ttf&amp;quot;);&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Italic.ttf&amp;quot;);&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: Ekatra;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.action-edit #bodyContent {&lt;br /&gt;
	padding-left: 2%;&lt;br /&gt;
	padding-right: 2%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media only screen and (max-width: 600px) {&lt;br /&gt;
 #bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#firstHeading {&lt;br /&gt;
	font-family: Ekatra;&lt;br /&gt;
	font-size: 0.8em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo {&lt;br /&gt;
	margin-top: 1rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.grid_row {&lt;br /&gt;
	display: flex;&lt;br /&gt;
	flex-direction: row;&lt;br /&gt;
	flex-flow: row wrap;&lt;br /&gt;
	justify-content: space-between;&lt;br /&gt;
}&lt;br /&gt;
.grid_col {&lt;br /&gt;
	flex: 1;&lt;br /&gt;
	min-width: 250px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.error {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    border-spacing: 3px;&lt;br /&gt;
    background-color: #f8f9fa;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    width: 22em;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-name{&lt;br /&gt;
	text-align:center;&lt;br /&gt;
	font-weight: 500;&lt;br /&gt;
    font-size: 23px;&lt;br /&gt;
    line-height: 28px;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography th{&lt;br /&gt;
	text-align:left;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography td {&lt;br /&gt;
    padding-left: 10px;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-caption{&lt;br /&gt;
		text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.poem{&lt;br /&gt;
	padding-left: 3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.Poem2-Ekatra{&lt;br /&gt;
	text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-heading {&lt;br /&gt;
	font-size: 29px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-author, p.bookcover-editor{&lt;br /&gt;
	font-size: 21px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
.bookcover{&lt;br /&gt;
	padding:10px;&lt;br /&gt;
	margin-bottom:20px;&lt;br /&gt;
}&lt;br /&gt;
.heading-detail-page{&lt;br /&gt;
	width:auto; &lt;br /&gt;
	margin-left:auto; &lt;br /&gt;
	margin-right:auto; &lt;br /&gt;
	margin-bottom: 30px;&lt;br /&gt;
}&lt;br /&gt;
.tablecenter{&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.content-box.lightpink{&lt;br /&gt;
	border:2px solid #ffe2e2;&lt;br /&gt;
}&lt;br /&gt;
.content-box-heading{&lt;br /&gt;
	background:#ffe2e2;&lt;br /&gt;
	font-size: larger;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding-top: 0.1em;&lt;br /&gt;
	padding-bottom: 0.1em;&lt;br /&gt;
}&lt;br /&gt;
.content-box-text{&lt;br /&gt;
	background:#fff5f5;&lt;br /&gt;
	padding: 10px;&lt;br /&gt;
	font-size:17px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
table.autorowtable {&lt;br /&gt;
  counter-reset: rowNumber;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.autorow::before {&lt;br /&gt;
  counter-increment: rowNumber;&lt;br /&gt;
  content:  counter(rowNumber) &amp;quot;.&amp;quot; ;&lt;br /&gt;
  padding-right: 0.3em;&lt;br /&gt;
  text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* To make images responsive */&lt;br /&gt;
.res-img img {&lt;br /&gt;
	max-width:70%;&lt;br /&gt;
	height:auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ap_time {&lt;br /&gt;
	margin-left: 10px !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=62883</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=MediaWiki:Common.css&amp;diff=62883"/>
		<updated>2023-08-01T19:18:44Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Normal.ttf&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Bold.ttf&amp;quot;);&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Ekatra&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://wiki.ekatrafoundation.org/fonts/Ekatra-Italic.ttf&amp;quot;);&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: Ekatra;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.action-edit #bodyContent {&lt;br /&gt;
	padding-left: 2%;&lt;br /&gt;
	padding-right: 2%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media only screen and (max-width: 600px) {&lt;br /&gt;
 #bodyContent {&lt;br /&gt;
	padding-left: 5%;&lt;br /&gt;
	padding-right: 5%;&lt;br /&gt;
	color:#2e2e2e;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#firstHeading {&lt;br /&gt;
	font-family: Ekatra;&lt;br /&gt;
	font-size: 0.8em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo {&lt;br /&gt;
	margin-top: 1rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.grid_row {&lt;br /&gt;
	display: flex;&lt;br /&gt;
	flex-direction: row;&lt;br /&gt;
	flex-flow: row wrap;&lt;br /&gt;
	justify-content: space-between;&lt;br /&gt;
}&lt;br /&gt;
.grid_col {&lt;br /&gt;
	flex: 1;&lt;br /&gt;
	min-width: 250px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.error {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    border-spacing: 3px;&lt;br /&gt;
    background-color: #f8f9fa;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    width: 22em;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-name{&lt;br /&gt;
	text-align:center;&lt;br /&gt;
	font-weight: 500;&lt;br /&gt;
    font-size: 23px;&lt;br /&gt;
    line-height: 28px;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography th{&lt;br /&gt;
	text-align:left;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
.infobox.biography td {&lt;br /&gt;
    padding-left: 10px;&lt;br /&gt;
}&lt;br /&gt;
.infobox-heading-caption{&lt;br /&gt;
		text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.poem{&lt;br /&gt;
	padding-left: 3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.Poem2-Ekatra{&lt;br /&gt;
	text-align:justify;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-heading {&lt;br /&gt;
	font-size: 29px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
p.bookcover-author, p.bookcover-editor{&lt;br /&gt;
	font-size: 21px;&lt;br /&gt;
	color:#861f23;&lt;br /&gt;
}&lt;br /&gt;
.bookcover{&lt;br /&gt;
	padding:10px;&lt;br /&gt;
	margin-bottom:20px;&lt;br /&gt;
}&lt;br /&gt;
.heading-detail-page{&lt;br /&gt;
	width:auto; &lt;br /&gt;
	margin-left:auto; &lt;br /&gt;
	margin-right:auto; &lt;br /&gt;
	margin-bottom: 30px;&lt;br /&gt;
}&lt;br /&gt;
.tablecenter{&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.content-box.lightpink{&lt;br /&gt;
	border:2px solid #ffe2e2;&lt;br /&gt;
}&lt;br /&gt;
.content-box-heading{&lt;br /&gt;
	background:#ffe2e2;&lt;br /&gt;
	font-size: larger;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding-top: 0.1em;&lt;br /&gt;
	padding-bottom: 0.1em;&lt;br /&gt;
}&lt;br /&gt;
.content-box-text{&lt;br /&gt;
	background:#fff5f5;&lt;br /&gt;
	padding: 10px;&lt;br /&gt;
	font-size:17px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
table.autorowtable {&lt;br /&gt;
  counter-reset: rowNumber;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.autorow::before {&lt;br /&gt;
  counter-increment: rowNumber;&lt;br /&gt;
  content:  counter(rowNumber) &amp;quot;.&amp;quot; ;&lt;br /&gt;
  padding-right: 0.3em;&lt;br /&gt;
  text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* To make images responsive */&lt;br /&gt;
.res-img img {&lt;br /&gt;
	max-width:70%;&lt;br /&gt;
	height:auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ap_time {&lt;br /&gt;
	margin-left: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62882</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62882"/>
		<updated>2023-08-01T19:08:04Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;audio class=&amp;quot;audiplay&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/gh/sh20raj/AudiPlay/audiplay.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62881</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62881"/>
		<updated>2023-08-01T19:04:57Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/gh/sh20raj/AudiPlay/audiplay.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;audio class=&amp;quot;audiplay&amp;quot; src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62880</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62880"/>
		<updated>2023-08-01T18:54:52Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;script src=&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/html5media/1.1.5/html5media.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;audio src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62879</id>
		<title>Widget:Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Widget:Audio&amp;diff=62879"/>
		<updated>2023-08-01T18:48:44Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to add [https://github.com/etianen/html5media HTML5 Audio Media] to your wiki page. For video files see the [[Video]] page.&lt;br /&gt;
&lt;br /&gt;
To insert this widget, use the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - URL of the audio file&lt;br /&gt;
&lt;br /&gt;
== Sample result ==&lt;br /&gt;
{{#widget:Audio&lt;br /&gt;
|url=https://wiki.ekatrafoundation.org/images/4/4d/Sample2.mp3&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/gh/sh20raj/AudiPlay/audiplay.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;audio src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot;&lt;br /&gt;
controls preload&amp;gt;&amp;lt;/audio&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
	<entry>
		<id>https://wiki.ekatrafoundation.org/index.php?title=Template:BookCover&amp;diff=62878</id>
		<title>Template:BookCover</title>
		<link rel="alternate" type="text/html" href="https://wiki.ekatrafoundation.org/index.php?title=Template:BookCover&amp;diff=62878"/>
		<updated>2023-08-01T18:04:02Z</updated>

		<summary type="html">&lt;p&gt;Jayprakash12345: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;bookcover&amp;quot;&amp;gt;&lt;br /&gt;
[[{{{cover_image|File:No-Book.svg}}}|{{{cover_size|300px}}}|frameless|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{center| &amp;lt;p class{{=}}&amp;quot;bookcover-heading&amp;quot;  {{#if:{{{title_size|}}}|style{{=}}&amp;quot;font-size: {{{title_size|16px}}};&amp;quot;}}&amp;gt;&#039;&#039;&#039;{{{title|Title of the book}}}&#039;&#039;&#039;&amp;lt;/p&amp;gt; }}&lt;br /&gt;
{{#if:{{{editor|}}}|{{center|&amp;lt;p class{{=}}&amp;quot;bookcover-editor&amp;quot;  {{#if:{{{editor_size|}}}|style{{=}}&amp;quot;font-size: {{{editor_size|16px}}};&amp;quot;}}&amp;gt;&#039;&#039;&#039;સંપાદક: {{{editor}}}&#039;&#039;&#039;&amp;lt;/p&amp;gt; }} | {{center|&amp;lt;p class{{=}}&amp;quot;bookcover-author&amp;quot;   {{#if:{{{author_size|}}}|style{{=}}&amp;quot;font-size: {{{author_size|16px}}};&amp;quot;}}&amp;gt;&#039;&#039;&#039; {{{author|}}}&#039;&#039;&#039;&amp;lt;/p&amp;gt; }} }}&lt;br /&gt;
{{#if:{{{translator|}}}|{{center|&amp;lt;p class{{=}}&amp;quot;bookcover-editor&amp;quot;  {{#if:{{{translator_size|}}}|style{{=}}&amp;quot;font-size: {{{translator_size|16px}}};&amp;quot;}}&amp;gt;&#039;&#039;&#039;અનુવાદક: {{{translator}}}&#039;&#039;&#039;&amp;lt;/p&amp;gt;}} }}&lt;br /&gt;
{{center|{{{row3|}}} }}&lt;br /&gt;
{{center|{{{row4|}}} }}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== Example ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{BookCover&lt;br /&gt;
|cover_image = File:Kavyasampada-Title-2-R.jpg&lt;br /&gt;
|title = અર્વાચીન ગુજરાતી કાવ્યસંપદા&lt;br /&gt;
|editor = મધુસૂદન કાપડિયા&lt;br /&gt;
|translator= ABC&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
{{BookCover&lt;br /&gt;
|cover_image = File:Kavyasampada-Title-2-R.jpg&lt;br /&gt;
|title = અર્વાચીન ગુજરાતી કાવ્યસંપદા&lt;br /&gt;
|editor = મધુસૂદન કાપડિયા&lt;br /&gt;
|translator= ABC&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayprakash12345</name></author>
	</entry>
</feed>