Non-public Finance
Revealed: Wednesday, July 1, 2026, 16:37 [IST]
Indian nationals dwelling within the UAE must pay upper fees for passport-related products and services from July 1, following a revision in the associated fee construction by means of the Ministry of Exterior Affairs (MEA). The revised charges were applied around the Embassy of India in Abu Dhabi, the Consulate Normal of India in Dubai, and all accepted Indian Consular Software Centres (ICACs) within the nation.
Indian Passport Charges in UAE Hiked From July 1: Take a look at Newest Revised Fees for Indian Expats
The rise impacts a variety of products and services, together with recent passport programs, passport renewals, Tatkal products and services, alternative of misplaced or broken passports, police clearance certificate (PCCs) and several other different consular products and services. For tens of millions of Indians dwelling within the UAE, the revision is predicted to extend documentation prices, specifically for households renewing a couple of passports or people requiring pressing passport products and services.
New Passport Price Construction: 36-Web page and 60-Web page Passport Fees Higher Underneath Revised MEA Laws
Underneath the revised price agenda, acquiring or renewing a normal 36-page passport has grow to be considerably costlier. The federal government price has greater from Dh285 to Dh450, whilst the price of a 60-page passport, usually most popular by means of widespread travellers, has risen from Dh380 to Dh630.
The revised fees stem from the Passports (Modification) Laws notified by means of the Ministry of Exterior Affairs thru a Gazette notification issued on June 20. Even supposing the revised regulations observe globally, the overall building up varies throughout nations relying on native forex conversions and administrative buildings.
With just about 4.5 million Indians dwelling within the UAE, the revised price construction is predicted to have an effect on a big segment of expatriates, together with pros, scholars, industry house owners, home employees, seafarers and households who require passport renewals for residency, employment and trip functions.
New Passport Charges in UAE From July 1
Recent/Reissue 36-page Passport: Higher from Dh285 to Dh450.Recent/Reissue 60-page Passport: Revised from Dh380 to Dh630.Tatkal 36-page Passport: Now prices Dh900, up from Dh855.Tatkal 60-page Passport: Higher from Dh950 to Dh1,080.Police Clearance Certificates (PCC): Mounted at Dh145 underneath the revised price construction.
Tatkal and Alternative Passport Fees Additionally Revised
36-page Alternative Passport (Customary): Dh900.36-page Alternative Passport (Tatkal): Dh1,350.60-page Alternative Passport (Customary): Dh1,080.60-page Alternative Passport (Tatkal): Dh1,530.
Different passport-related products and services, together with give up certificate, World Access Programme verification and likely consular certificate, can also be charged Dh145 every underneath the revised agenda.
Candidates choosing the Tatkal scheme may even pay extra underneath the revised price construction.
A 36-page Tatkal passport will now price Dh900, in comparison with Dh855 previous. In the meantime, the associated fee for a 60-page Tatkal passport has greater from Dh950 to Dh1,080.
The revision is much more vital for candidates looking for alternative passports after loss, robbery or harm.
A alternative 36-page passport underneath the traditional class will now price Dh900, whilst the Tatkal price has been revised to Dh1,350. For a 60-page alternative passport, candidates must pay Dh1,080 underneath the traditional class and Dh1,530 underneath Tatkal processing.
Police Clearance Certificates and Different Consular Products and services for Passport
Excluding passport products and services, a number of different consular amenities have additionally been introduced underneath the revised price agenda.
The associated fee for a Police Clearance Certificates (PCC) has been fastened at Dh145. The similar rate may even observe to products and services reminiscent of passport-related certificate, give up certificate, World Access Program verification and likely different consular paperwork that require passport verification.
Those products and services are repeatedly required for employment, immigration, out of the country residency programs, upper training, visa processing and different professional documentation.
Disclaimer: The perspectives and proposals expressed are only the ones of the person analysts or entities and don’t mirror the perspectives of Goodreturns.in or Greynium Knowledge Applied sciences Personal Restricted (in combination referred as “we”). We don’t ensure, endorse or take duty for the accuracy, completeness or reliability of any content material, nor do we offer any funding recommendation or solicit the acquisition or sale of securities. All knowledge is equipped for informational and academic functions simplest and will have to be independently verified from authorized monetary advisors prior to making any funding choices.
Proportion This Article
Tale first revealed: Wednesday, July 1, 2026, 16:37 [IST]
Different articles revealed on Jul 1, 2026
Block for 8 hours
Block for 12 hours
Block for twenty-four hours
Do not block
To start out receiving well timed signals, as proven under click on at the Inexperienced “lock” icon subsequent to the cope with bar
Click on it and Unblock the Notifications
Shut X
Shut X
To Get started receiving well timed signals please apply the under steps:
Click on at the Menu icon of the browser, it opens up an inventory of choices. Click on at the “Options ”, it opens up the settings web page, Right here click on at the “Privacy & Security” choices indexed at the left hand aspect of the web page. Scroll down the web page to the “Permission” segment . Right here click on at the “Settings” tab of the Notification choice. A pop up will open with all indexed websites, make a choice the choice “ALLOW“, for the respective site under the status head to allow the notification. Once the changes is done, click on the “Save Changes” way to save the adjustments. ‘;
report.getElementById(‘article-social-promo’).innerHTML=socialArtPromo;
}
}
}
report.addEventListener(‘DOMContentLoaded’, serve as () {
var whatsappBtn = report.querySelector(‘.share-btn.whatsapp-icon’);
if (!whatsappBtn) go back;
whatsappBtn.addEventListener(‘click on’, serve as () {
var canonical = report.querySelector(‘hyperlink[rel=”canonical”]’);
var ogTitle = report.querySelector(‘meta[property=”og:title”]’);
if (!canonical || !ogTitle) go back;
var social_url = canonical.href;
var social_title = ogTitle.content material;
var whatsappUrl =
/Android|iPhone|iPad|iPod/i.take a look at(navigator.userAgent)
? `https://api.whatsapp.com/ship?textual content=${encodeURIComponent(social_title)}%20${encodeURIComponent(social_url)}`
: `https://internet.whatsapp.com/ship?textual content=${encodeURIComponent(social_title)}%20${encodeURIComponent(social_url)}`;
window.open(whatsappUrl, ‘_blank’);
});
});
report.addEventListener(“click”, serve as (e) {
var wrapper = e.goal.closest(“.fb-article-social-links”);
if (!wrapper) go back;
var hyperlink = e.goal.closest(“ul li a”);
if (!hyperlink) go back;
var hyperlinks = wrapper.querySelectorAll(“ul li a”);
var canonicalTag = report.querySelector(‘hyperlink[rel=”canonical”]’);
var ogTitleTag = report.querySelector(‘meta[property=”og:title”]’);
var twitterTag = report.querySelector(‘meta[name=”twitter:site”]’);
var social_url = canonicalTag ? canonicalTag.getAttribute(“href”) : window.location.href;
var social_title = ogTitleTag ? ogTitleTag.getAttribute(“content”) : report.identify;
var twitter_data_via = twitterTag ? twitterTag.getAttribute(“content”).change(‘@’, ”) : ”;
var facebook_url = “https://www.facebook.com/sharer.php?u=” + encodeURIComponent(social_url);
var whatsappUrl = “https://api.whatsapp.com/send?text=” + encodeURIComponent(social_title + ” ” + social_url);
var tweet_url = “https://twitter.com/share?url=” + encodeURIComponent(social_url) +
“&via=” + twitter_data_via +
“&text=” + encodeURIComponent(social_title);
e.preventDefault();
if (hyperlink === hyperlinks[0]) {
window.open(facebook_url, “_blank”, “width=600,height=400”);
}
else if (hyperlink === hyperlinks[1]) {
window.open(tweet_url, “_blank”, “width=600,height=400”);
}
else if (hyperlink === hyperlinks[2]) {
window.open(whatsappUrl, “_blank”);
}
});
serve as SetYear() {
var thisDate=new Date();
var thisYear=thisDate.getFullYear();
report.getElementById(‘curYear’).innerHTML = thisYear;
}
if(report.getElementById(‘curYear’))
{
SetYear();
}
const pagination = report.querySelector(‘.pagination-wrapper’);
if (pagination && pagination.innerHTML.trim() === ”) {
pagination.taste.show = ‘none’;
}
‘;
}
(serve as() {
var hidden = “hidden”;
// Requirements:
if (hidden in report)
report.addEventListener(“visibilitychange”, onchange);
else if ((hidden = “mozHidden”) in report)
report.addEventListener(“mozvisibilitychange”, onchange);
else if ((hidden = “webkitHidden”) in report)
report.addEventListener(“webkitvisibilitychange”, onchange);
else if ((hidden = “msHidden”) in report)
report.addEventListener(“msvisibilitychange”, onchange);
// IE 9 and decrease:
else if (“onfocusin” in report)
report.onfocusin = report.onfocusout = onchange;
// All others:
else
window.onpageshow = window.onpagehide
= window.onfocus = window.onblur = onchange;
serve as onchange (evt) {
var v = “visible”, h = “hidden”,
evtMap = {
focal point:v, focusin:v, pageshow:v, blur:h, focusout:h, pagehide:h
};
evt = evt || window.match;
if (evt.sort in evtMap)
report.frame.className = evtMap[evt.type];
else
report.frame.className = this[hidden] ? “hidden” : “visible”;
}
// set the preliminary state (however provided that browser helps the Web page Visibility API)
if( report[hidden] !== undefined )
onchange({sort: report[hidden] ? “blur” : “focus”});
})();
//For All DFP Identify:ID into World Array Push
var adElem = [];
var adObj = {};
googletag.cmd.push(serve as() {
googletag.pubads().addEventListener(‘slotRenderEnded’, serve as(match) {
var slotId = match.slot.getSlotElementId();
var slotName = match.slot.getAdUnitPath();
adObj[slotName] = slotId;
});
adElem.push(adObj);
});
console.log(“DFP AD units: “);
console.log(adElem);
//For All DFP Identify:ID into World Array Push
//for are living video
if(report.getElementById(“containerMain”)) {
var pageType = report.getElementById(“containerMain”).getAttribute(“data-page_type”);
if (pageType == ‘homepage’ && report.getElementById(“livevideopromo”)) {
var choices;
var popular_search = [];
serve as readTextFile(document)
{
var rawFile = new XMLHttpRequest();
rawFile.open(“GET”, document, false);
rawFile.onreadystatechange = serve as (){
if(rawFile.readyState === 4){
if(rawFile.standing === 200 || rawFile.standing == 0){
var allText = rawFile.responseText;
choices = allText;
}
}
}
rawFile.ship(null);
}
var d = new Date();
var hour = d.getHours();
var minute = d.getMinutes();
readTextFile(“/common/live_video.json?v=”+hour+minute);
var options_json = JSON.parse(choices);
if (options_json.merchandise.livevideopromo) {
var video_title = options_json.merchandise.livevideopromo.identify;
var video_type = options_json.merchandise.livevideopromo.video_type;
var video_url = options_json.merchandise.livevideopromo.video_url;
var video_image = options_json.merchandise.livevideopromo.video_image;
var embed_code = options_json.merchandise.livevideopromo.embed_code;
var video_data = embed_code + “
” + video_title + “
“;
report.getElementById(‘livevideopromo’).innerHTML = video_data;
report.getElementById(‘livevideopromo’).taste.show = ‘block’;
// report.getElementById(‘livevideocontent’).taste.show = ‘none’;
} else {
report.getElementById(‘livevideopromo’).taste.show = ‘none’;
//report.getElementById(‘livevideocontent’).taste.show = ‘block’;
}
}
}
//for are living video
var breakInt;
var chkadcookie = getUserCookie(‘ad_display_status’);
var sub_id = localStorage.getItem(“engoodreturns_subscription_id”);
if(chkadcookie==null || chkadcookie == undefined || chkadcookie==”){
chkadcookie=””;
}
var chkadcookiemor = localStorage.getItem(‘ad_display_status_mor’);
if(chkadcookiemor==null || chkadcookiemor == undefined || chkadcookiemor==”){
chkadcookiemor=””;
}
var chkadcookieeve = localStorage.getItem(‘ad_display_status_eve’);
if(chkadcookieeve==null || chkadcookieeve == undefined || chkadcookieeve==”){
chkadcookieeve=””;
}
var camp_id = localStorage.getItem(“ad_campiagn”);
if(camp_id==null || camp_id == undefined || camp_id==”){
camp_id = ”;
}
var displayFlag = 0;
var dynamicNotification = {
createAdCookie:serve as(title,worth,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = “; expires=”+date.toGMTString();
}
else var expires = “”;
report.cookie = title+”=”+worth+expires+”; path=/”;
},
displayNotification:serve as(frame, icon, identify, hyperlink, length,slotFlg,currentDay,adCamp){
hyperlink = hyperlink || 0; // Hyperlink is non-compulsory
length = length || 3000; // Default length is 5 seconds
icon = icon+’?url=”+hyperlink;
var choices = {
frame: frame,
icon: icon
};
navigator.serviceWorker.able.then(serve as(registration) {
registration.showNotification(identify, choices);
if(slotFlg==0){
localStorage.setItem(“ad_display_status_mor’,currentDay);
}else{
localStorage.setItem(‘ad_display_status_eve’,currentDay);
}
localStorage.setItem(‘ad_campiagn’,adCamp);
});
},
displayTime:serve as(){
var displayHourMor=[8,13];
var displayHourEve =[15,23];
var theDate=new Date();
var currentDay = Math.abs(theDate.getDate());
var currentHour = Math.abs(theDate.getHours());
/*if ((currentHour>=displayHourMor[0] && currentHour<=displayHourMor[1]) && (chkadcookiemor == ” || chkadcookiemor != currentDay)){
clearInterval(breakInt);
dynamicNotification.checkStatus(0,currentDay);
}*/
if ((currentHour>=displayHourEve[0] && currentHour<=displayHourEve[1]) && (chkadcookieeve == ” || chkadcookieeve != currentDay)){
clearInterval(breakInt);
dynamicNotification.checkStatus(1,currentDay);
}
},
trackImpression:serve as(impUrl){
fetch(impUrl, {
manner: “post”,
headers : globalheaders
}).catch(serve as(err){
console.error(‘Within Imp error:’, err);
});
},
fetchDynamicAd:serve as(sub_id,slotFlg,currentDay){
var no_ads = 1;
var device_type=1;
fetch(“/scripts/cms/controller.php?module=subscription&type=getBiddingAd&last_sub_id=”+sub_id+”&device_type=”+device_type+”&noAds=”+no_ads+”&campid=”+camp_id,{
manner: “post”,
headers : globalheaders
}).then(serve as(e) {
e.textual content().then(serve as(knowledge){
adgebraResponse = knowledge;
if(adgebraResponse !=” && adgebraResponse !=undefined){
var adgRes = JSON.parse(adgebraResponse);
if(adgRes[0] !=” && adgRes[0] != undefined && adgRes[0] != null){
if(adgRes[0][‘ad_provider’]===’Veve’){
var adgUrl = adgRes[0][‘trackerUrl’];
var impUrl = adgRes[0][‘notificationImp’];
var adgTitle = adgRes[0][‘notificationMessage’];
dynamicNotification.trackImpression(impUrl);
}else{
var adgUrl = decodeURIComponent(adgRes[0][‘trackerUrl’]).change(/+/g,’ ‘);
var adgTitle = decodeURIComponent(adgRes[0][‘notificationMessage’]).change(/+/g,’ ‘);
}
var adgImg = adgRes[0][‘notificationImage’];
var adCamp = adgRes[0][‘campId’];
dynamicNotification.displayNotification(adgTitle,adgImg,adgTitle,adgUrl,3000,slotFlg,currentDay,adCamp);
}
}
});
})[“catch”](serve as(e) {
console.log(“Fetch Error :-S”, e)
});
},
checkStatus:serve as(slotFlg,currentDay){
if(sub_id != “” && sub_id != undefined && sub_id != null){
dynamicNotification.fetchDynamicAd(sub_id,slotFlg,currentDay);
}
},
init : serve as() {
if (“Notification” in window) {
var permission = Notification.permission;
var userStatus = navigator.onLine;
console.log(permission+” User is :”+userStatus);
if (permission === “denied”) {
go back;
} else if (permission === “granted” && userStatus) {
breakInt=setInterval(“dynamicNotification.displayTime()”,10000);
}
}
}
};
var qparam = window.location.seek;
//if(qparam.indexOf(‘oiad=1′)>’-1′){
//dynamicNotification.init();
//}
if(no_ad_flag==true){
if(report.getElementById(‘cmscontent-right1’)){
//report.getElementById(‘cmscontent-right1’).taste.show = ‘none’;
}
if(report.getElementById(‘cmscontent-article1’)){
// report.getElementById(‘cmscontent-article1’).taste.show = ‘none’;
}
if(report.getElementById(‘cmscontent-article2’)){
// report.getElementById(‘cmscontent-article2’).taste.show = ‘none’;
}
var elem = report.querySelectorAll(‘.refreshInarticleAd’),
i = 0,
l = elem.duration;
for (i; i < l; i++) {
// elem[i].taste.show = ‘none’;
}
}
!serve as(e){var t=serve as(u,D,f){“use strict”;var ok,H;if(serve as(){var e;var t={lazyClass:”lazy”,loadedClass:”lazyloaded”,loadingClass:”lazyloading”,preloadClass:”lazypreload”,errorClass:”lazyerror”,autosizesClass:”lazyautosizes”,srcAttr:”data-src”,srcsetAttr:”data-srcset”,sizesAttr:”data-sizes”,minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){go back{init:serve as(){},cfg:H,noSupport:true}}var O=D.documentElement,a=u.HTMLPictureElement,P=”addEventListener”,$=”getAttribute”,q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,l=u.requestIdleCallback,j=/^image$/i,r=[“load”,”error”,”lazyincluded”,”_lazyloaded”],i={},G=Array.prototype.forEach,J=serve as(e,t)””)&&i[t],Okay=serve as(e,t){if(!J(e,t))},Q=serve as(e,t){var i;if(i=J(e,t))””).change(i,” “))},V=serve as(t,i,e){var a=e?P:”removeEventListener”;if(e){V(t,i)}r.forEach(serve as(e){t[a](e,i)})},X=serve as(e,t,i,a,r){var n=D.createEvent(“Event”);if(!i){i={}}i.example=ok;n.initEvent(t,!a,!r);n.element=i;e.dispatchEvent(n);go back n},Y=serve as(e,t){var i;if(!a&&(i=u.picturefill||H.pf)){if(t&&t.src&&!e[$](“srcset”)){e.setAttribute(“srcset”,t.src)}i({reevaluate:true,parts:[e]})}else if(t&&t.src){e.src=t.src}},Z=serve as(e,t){go back(getComputedStyle(e,null)||{})[t]},s=serve as(e,t,i){i=i||e.offsetWidth;whilst(i49?serve as(){l(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(serve as(){I(t)},true);go back serve as(e){var t;if(e=e===true){n=33}if(i){go back}i=true;t=r-(f.now()-a);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ae=serve as(e){var t,i;var a=99;var r=serve as(){t=null;e()};var n=serve as(){var e=f.now()-i;if(e0;if(r&&Z(a,”overflow”)!=”visible”){i=a.getBoundingClientRect();r=C>i.left&&pi.top-1&&g500&&O.clientWidth>500?500:370:H.enlarge;ok._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w2&&h>2&&!D.hidden){w=f;M=0}else if(h>1&&M>1&&N<6){w=u}else{w=_}}if(o!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;o=n}i=d[t].getBoundingClientRect();if((b=i.backside)>=s&&(g=i.height)<=z&&(C=i.proper)>=s*c&&(p=i.left)<=y&&(b||C||p||g)&&(H.loadHidden||W(d[t]))&&(m&&N<3&&!l&&(h<3||M<4)||S(d[t],n))){R(d[t]);r=true;if(N>9){damage}}else if(!r&&m&&!a&&N<4&&M<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!l&&(b||C||p||g||d[t][$](H.sizesAttr)!=”auto”)))d[t]}if(a&&!r){R(a)}}};var i=ie(t);var B=serve as(e){var t=e.goal;if(t._lazyCache){delete t._lazyCache;go back}x(e);Okay(t,H.loadedClass);Q(t,H.loadingClass);V(t,L);X(t,”lazyloaded”)};var a=te(B);var L=serve as(e){a({goal:e.goal})};var T=serve as(t,i){take a look at{t.contentWindow.location.change(i)}catch(e){t.src=i}};var F=serve as(e){var t;var i=e[$](H.srcsetAttr);if(t=H.customMedia[e[$](“data-media”)||e[$](“media”)]){e.setAttribute(“media”,t)}if(i){e.setAttribute(“srcset”,i)}};var s=te(serve as(t,e,i,a,r){var n,s,l,o,u,f;if(!(u=X(t,”lazybeforeunveil”,e)).defaultPrevented){if(a){if(i){Okay(t,H.autosizesClass)}else{t.setAttribute(“sizes”,a)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r)””)f=e.firesLoad||”src”in t&&(s||n||o);u={goal:t};Okay(t,H.loadingClass);if(f){clearTimeout(c);c=I(x,2500);V(t,L,true)}if(o){G.name(l.getElementsByTagName(“source”),F)}if(s){t.setAttribute(“srcset”,s)}else if(n&&!o){if(d.take a look at(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||o)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(serve as(){var e=t.entire&&t.naturalWidth>1;if(!f||e){if(e){Okay(t,”ls-is-cached”)}B(u);t._lazyCache=true;I(serve as(){if(“_lazyCache”in t){delete t._lazyCache}},9)}if(t.loading==”lazy”){N–}},true)});var R=serve as(e){if(e._lazyRace){go back}var t;var i=n.take a look at(e.nodeName);var a=i&&(e[$](H.sizesAttr)||e[$](“sizes”));var r=a==”auto”;if((r||!m)&&i&&(e[$](“src”)||e.srcset)&&!e.entire&&!J(e,H.errorClass)&&J(e,H.lazyClass)){go back}t=X(e,”lazyunveilread”).element;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;N++;s(e,t,r,a,i)};var r=ae(serve as(){H.loadMode=3;i()});var l=serve as(){if(H.loadMode==3){H.loadMode=2}r()};var o=serve as(){if(m){go back}if(f.now()-e<999){I(o,999);go back}m=true;H.loadMode=3;i();q(“scroll”,l,true)};go back{_:serve as(){e=f.now();ok.parts=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+” “+H.preloadClass);q(“scroll”,i,true);q(“resize”,i,true);q(“pageshow”,serve as(e){if(e.endured){var t=D.querySelectorAll(“.”+H.loadingClass);if(t.duration&&t.forEach){U(serve as(){t.forEach(serve as(e){if(e.entire){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(i).practice(O,{childList:true,subtree:true,attributes:true})}else{O[P](“DOMNodeInserted”,i,true);O[P](“DOMAttrModified”,i,true);setInterval(i,999)}q(“hashchange”,i,true);[“focus”,”mouseover”,”click”,”load”,”transitionend”,”animationend”].forEach(serve as(e){D[P](e,i,true)});if(/d$|^c/.take a look at(D.readyState)){o()}else{q(“load”,o);D[P](“DOMContentLoaded”,i);I(o,2e4)}if(ok.parts.duration){t();ee._lsFlush()}else{i()}},checkElems:i,unveil:R,_aLSL:l}}(),re=serve as(){var i;var n=te(serve as(e,t,i,a){var r,n,s;e._lazysizesWidth=a;a+=”px”;e.setAttribute(“sizes”,a);if(j.take a look at(t.nodeName||””)){r=t.getElementsByTagName(“source”);for(n=0,s=r.duration;n