איתור נזילות במצלמה טרמית מאפשר גילוי מדויק של דליפות מים נסתרות ללא הרס קירות או רצפות. השיטה החדשנית זו חוסכת זמן יקר, מונעת נזקי מים עתידיים ומאתרת בעיות במדויקות של עד 95% לפי מחקרים מ-2025.טכנולוגיית האינפרא-אדום המתקדמת מזהה שינויי טמפרטורה קלים הנגרמים כתוצאה מנוכחות מים או לחות בתוך מבנים. המצלמות הטרמיות של 2025 מציעות רזולוציה משופרת ויכולת זיהוי של הפרשי טמפרטורה של 0.1 מעלות צלזיוס בלבד, מה שמאפשר איתור נזילות קטנות שבעבר היו בלתי ניתנות לגילוי.

קרדיט תמונה FREEPIK
קרדיט תמונה FREEPIK

 

השוק הישראלי מעריך כי 30% מהנזילות בבתים פרטיים נותרות בלתי מזוהות שנים רבות, גורמות לנזקים מצטברים של מיליארדי שקלים מדי שנה. איתור מוקדם באמצעות מצלמה טרמית יכול למנוע עד 80% מהנזקים הללו.

איך מצלמה טרמית מאתרת נזילות מים בדיוק ככה גבוה?

מצלמות טרמיות פועלות על עקרון זיהוי קרינת אינפרא-אדום הנפלטת מעצמים. כאשר מים דולפים ממערכת הצנרת, הם משנים את התכונות התרמיות של החומרים שבהם הם באים במגע. מים קרים יוצרים אזורים בטמפרטורה נמוכה יותר, בעוד מים חמים מחממים את האזור הסובב אותם.

התהליך כולל הזרמת מים בטמפרטורה מבוקרת דרך מערכת הצנרת. המצלמה הטרמית סורקת את פני השטח ויוצרת מפת חום מפורטת המציגה אנומליות טמפרטורה. אזורים אלו מסומנים בצבעים שונים - כחול לטמפרטורות נמוכות ואדום לטמפרטורות גבוהות.

טכנולוגיית 2025 כוללת בינה מלאכותית המסייעת בניתוח התמונות הטרמיות. המערכות החדשות מסוגלות להבדיל בין נזילות אמיתיות לבין "רעש" תרמי הנגרם מגורמים אחרים כמו צנרת מיזוג אוויר או גופי חימום.

מה היתרונות המהפכניים של איתור נזילות בשיטה זו?

איתור ללא הרס - היתרון המשמעותי ביותר הוא היכולת לאתר נזילות מבלי לפגוע בקירות, רצפות או תקרות. בניגוד לשיטות מסורתיות הדורשות שבירה והריסה, המצלמה הטרמית עובדת מלמעלה פני השטח.

דיוק יוצא דופן - מצלמות 2025 מציעות דיוק של 98% בזיהוי מיקום הנזילה במרחק של עד 10 סנטימטרים מהמקור האמיתי. הטכנולוגיה מסוגלת לזהות נזילות באטיות של טיפה אחת לדקה.

מהירות פעולה - סריקה מלאה של דירת 4 חדרים לוקחת כיום בין 45 דקות לשעתיים, בהשוואה ל-4-6 שעות בשיטות ישנות יותר. הזמן משתנה בהתאם לגודל השטח ומורכבות מערכת הצנרת.

חיסכון כלכלי משמעותי - העלות הממוצעת של איתור נזילה במצלמה טרמית נעה בין 1,400-2,200 שקלים ב-2025, בעוד עלות התיקון של נזקי מים שלא אותרו בזמן יכולה להגיע לעשרות אלפי שקלים.

גיוון יישומים - המצלמות מתאימות לאיתור בעיות במערכות חימום תת-רצפתיות, צנרת מים חמים וקרים, נזילות בגגות ואפילו בעיות בידוד תרמי.

מתי כדאי להזמין מאתר נזילות עם מצלמה טרמית?

סימני אזעקה מוקדמים שמצדיקים בדיקה מיידית כוללים כתמי רטיבות המופיעים ונעלמים, ריח עובש מתמשך, או עלייה של יותר מ-20% בחשבון המים ללא שינוי בהרגלי הצריכה.

רכישת נכס חדש - מומלץ מאוד לבצע בדיקה טרמית לפני רכישת דירה יד שנייה או בית בן יותר מ-10 שנים. הבדיקה יכולה לחשוף בעיות שעלולות לעלות עשרות אלפי שקלים לתיקון.

לאחר שיפוצים - אם בוצעו עבודות באינסטלציה או בצנרת, בדיקה טרמית תוכל לוודא שלא נגרמו נזקים לא נראים לעין במהלך העבודות.

תקופות גשמים - אחרי חורף גשום או סופות חזקות, בדיקה יכולה לגלות חדירות מים שטרם גרמו לנזק נראה אך עלולות להתפתח לבעיות חמורות.

מבנים מסחריים - עסקים ומוסדות ציבור נדרשים לבצע בדיקות תקופתיות למניעת נזקי מים שעלולים לפגוע בפעילות השוטפת.

אילו סוגי נזילות ניתן לגלות בשיטה המתקדמת הזו?

צנרת מים חמים וקרים - הקטגוריה הנפוצה ביותר לאיתור. המצלמה מזהה את ההפרש התרמי בין המים הדולפים לטמפרטורת הסביבה. נזילות מים חמים נראות כאזורים חמים יותר, בעוד נזילות מים קרים מופיעות כאזורים קרירים יותר.

מערכות חימום תת-רצפתיות - השיטה יעילה במיוחד לאיתור בעיות במערכות הללו, שם נזילה יכולה לגרום נזק רב לפני שהיא מתגלה. המצלמה מזהה את הפרעת דפוס החימום הרגיל.

נזילות גגות ודופן חיצוניים - חדירת מי גשמים דרך סדקים או איטום פגום נראית כשינויי טמפרטורה באזורי החדירה. הטכנולוגיה יעילה במיוחד לאחר גשם, כאשר המים הקרים יוצרים ניגוד חד עם טמפרטורת הקיר.

מקלחות וכיורים - נזילות באזורי המים האלו מתגלות על ידי זיהוי רטיבות מאחורי חיפויים או מתחת לריצוף. הבדיקה יכולה לחשוף בעיות בלפני שהן גורמות נזק למבנה.

צנרת מיזוג אוויר - המצלמה מאתרת נזילות בצנרת הקירור או עיבוי יתר שעלול לגרום לבעיות לחות. הטכנולוגיה יעילה במיוחד במבנים מסחריים עם מערכות מיזוג מורכבות.

מהן המגבלות החשובות של השיטה?

מגבלות חומרים - חומרי בידוד עבים, מתכות או שכבות בטון עבות יכולים לחסום או לעוות את הקריאה התרמית. בחלק מהמקרים דרושות שיטות משלימות לאיתור מדויק.

תנאי סביבה - טמפרטורות קיצוניות, לחות גבוהה או אוורור חזק יכולים להשפיע על דיוק התוצאות. המדידה האופטימלית מתבצעת בתנאי סביבה יציבים.

מגבלות עומק - רוב המצלמות יעילות עד עומק של 15-20 סנטימטרים בחומרים רגילים. עבור צנרת עמוקה יותר נדרשות שיטות איתור משלימות.

פרשנות מקצועית - קריאה נכונה של התמונות הטרמיות דורשת הכשרה וניסיון. פרשנות שגויה עלולה להוביל לאבחון לא מדויק ולעלויות מיותרות.

מה הטווח היעיל של המצלמות החדשות?

המצלמות הטרמיות המתקדמות של 2025 יעילות למרחקים של עד 50 מטרים לאיתור אזורים חמים גלויים, אך עבור איתור נזילות דרך קירות וחומרים, הטווח הרלוונטי הוא 2-5 מטרים.

הרזולוציה התרמית משתפרת ככל שמתקרבים למקור. למרחק של מטר אחד, ניתן לזהות הבדלי טמפרטורה של 0.05 מעלות צלזיוס. למרחק של 3 מטרים, הדיוק יורד ל-0.2 מעלות.

עובי החומר משפיע באופן ישיר על יעילות הזיהוי. דרך קיר גבס רגיל בעובי 10 סנטימטרים, הזיהוי יעיל עד למרחק של 3 מטרים. דרך קיר בטון בעובי 20 סנטימטרים, הטווח יורד למטר וחצי.

איך אנשי מקצוע מבצעים איתור נזילות בשיטה המתקדמת?

שלב ההכנה והכיול - המומחה מתחיל בהגדרת פרמטרים מותאמים לסוג המבנה וחומרי הבנייה. המצלמה נכיילת לטווח הטמפרטורות הצפוי ולתנאי הסביבה הספציפיים.

סריקה שיטתית - התהליך כולל סריקה מתודית של כל השטח, עם תיעוד דיגיטלי של כל אנומליה שמתגלית. המומחה מזיז את המצלמה בתבנית זיגזג כדי להבטיח כיסוי מלא.

ניתוח בזמן אמת - תוכנות הניתוח החדשות מאפשרות זיהוי מיידי של דפוסי טמפרטורה חשודים. המערכת מסמנת אזורים שדורשים בדיקה מעמיקה יותר.

אימות צולב - במקרה של גילוי אנומליה, המומחה משתמש בכלים נוספים כמו מדדי לחות או בדיקות קוליות לאימות הממצאים.

תיעוד ודיווח מקצועי - התוצאות מתועדות בדוח מפורט הכולל תמונות טרמיות, מיקום מדויק של הבעיות והמלצות לטיפול.

כמה עולה איתור נזילות במצלמה טרמית ב-2025?

המחירים ב-2025 נעים בין 1,400 ל-2,200 שקלים לאיתור נזילה בודדת בשטח של עד 100 מטרים רבועים. המחיר הסופי תלוי במורכבות הבדיקה, בגודל השטח ובמיקום הגיאוגרפי.

פרמיום שירותים בעלות של 2,500-3,200 שקלים כוללים שימוש במכשור מתקדם יותר, בדיקות נוספות באמצעות גז ייעודי ודוח מפורט יותר.

חברות שאינן מוצאות את מקור הנזילה מחייבות לרוב רק את עלות הביקור שנעה בין 250-400 שקלים. התחייבות זו מהווה אינדיקטור לאמינות החברה.

במקרים של צורך בבדיקת שטחים נרחבים או מבנים מסחריים, המחיר מחושב לפי שעת עבודה ונע בין 450-650 שקלים לשעה, עם מינימום של 3 שעות עבודה.

מה משפיע על התמחור הסופי?

גודל ומורכבות השטח - דירות סטנדרטיות עד 4 חדרים נחשבות לקטגוריית המחיר הבסיסי. בתים עם יותר מ-5 חדרים או מבנים דו-קומתיים דורשים תמחור נפרד.

נגישות המיקום - מבנים במרכז הארץ נהנים ממחירים תחרותיים יותר עקב תחרות גבוהה בין ספקים. אזורי ביקוש נמוך או מרוחקים עלולים לכלול תוספת של 15-25% למחיר הבסיסי.

זמינות ודחיפות - שירות במהלך 24 שעות או בסופי שבוע כולל תוספת של 30-50% למחיר הרגיל. תיאום מראש של מספרת ימים מאפשר הנחות של עד 15%.

שיטות איתור משלימות - במקרים מורכבים שדורשים שילוב של מצלמה טרמית עם איתור אקוסטי או בדיקות לחץ, העלות עולה ב-40-70%.

רמת הדוח הנדרשת - דוח בסיסי עם תמונות טרמיות ומיקומים כלול במחיר. דוח מפורט לצורכי ביטוח או משפט עולה 300-500 שקלים נוספים.

איך לבחור חברה מהימנה לאיתור נזילות?

הסמכות מקצועיות חיוניות - וודאו שהחברה מחזיקה באישור של מכון התקנים הישראלי לביצוע בדיקות טרמיות וכי הטכנאים עברו הכשרה מוסמכת בתחום התרמוגרפיה.

ציוד מתקדם ומעודכן - שאלו על דגם המצלמה ושנת הייצור. מצלמות מ-2022 ואילך מציעות יכולות משופרות משמעותית. רזולוציה מינימלית מומלצת היא 320x240 פיקסלים.

ביטוח אחריות מקצועית - כל חברה מקצועית צריכה להחזיק בביטוח אחריות מקצועית של לפחות 2 מיליון שקלים לכיסוי נזקים אפשריים.

שקיפות בתמחור - הימנעו מחברות שלא מוכנות לפרט את מבנה התמחור או שגובות תוספות לא צפויות. המחיר הסופי צריך להיות ברור מראש.

דוגמאות עבודה קודמות - חברה אמינה תוכל להציג דוחות לדוגמה ותמונות טרמיות מעבודות קודמות, תוך שמירה על פרטיות הלקוחות.

סיכום - מדוע איתור טרמי הוא ההשקעה החכמה ביותר

איתור נזילות במצלמה טרמית מייצג את קדמת הטכנולוגיה בתחום אבחון נזקי מים. עם רמת דיוק של 95-98% ויכולת לחסוך אלפי שקלים בנזקים עתידיים, המשקיע בבדיקה זו משקיע בשקט הנפשי ובשמירה על הנכס.

הטכנולוגיה המתקדמת של 2025 מציעה פתרון מהיר, מדויק ללא הרס לבעיה שפוגעת במיליוני בתים בישראל. השילוב בין יעילות כלכלית לדיוק טכנולוגי הופך את השיטה לסטנדרט החדש בתחום איתור הנזילות.

עדכון אחרון: יולי 2025 מאמר זה נכתב על בסיס המידע העדכני ביותר בתחום איתור נזילות טרמיות

ניתן להשתמש בחצי המקלדת בכדי לנווט בין כפתורי הרכיב
",e=e.removeChild(e.firstChild)):"string"==typeof o.is?e=l.createElement(a,{is:o.is}):(e=l.createElement(a),"select"===a&&(l=e,o.multiple?l.multiple=!0:o.size&&(l.size=o.size))):e=l.createElementNS(e,a),e[Ni]=t,e[Pi]=o,Pl(e,t,!1,!1),t.stateNode=e,l=Ae(a,o),a){case"iframe":case"object":case"embed":Te("load",e),u=o;break;case"video":case"audio":for(u=0;u<$a.length;u++)Te($a[u],e);u=o;break;case"source":Te("error",e),u=o;break;case"img":case"image":case"link":Te("error",e),Te("load",e),u=o;break;case"form":Te("reset",e),Te("submit",e),u=o;break;case"details":Te("toggle",e),u=o;break;case"input":A(e,o),u=M(e,o),Te("invalid",e),Ie(n,"onChange");break;case"option":u=B(e,o);break;case"select":e._wrapperState={wasMultiple:!!o.multiple},u=Uo({},o,{value:void 0}),Te("invalid",e),Ie(n,"onChange");break;case"textarea":V(e,o),u=H(e,o),Te("invalid",e),Ie(n,"onChange");break;default:u=o}Me(a,u);var s=u;for(i in s)if(s.hasOwnProperty(i)){var c=s[i];"style"===i?ze(e,c):"dangerouslySetInnerHTML"===i?(c=c?c.__html:void 0,null!=c&&Aa(e,c)):"children"===i?"string"==typeof c?("textarea"!==a||""!==c)&&X(e,c):"number"==typeof c&&X(e,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(ea.hasOwnProperty(i)?null!=c&&Ie(n,i):null!=c&&x(e,i,c,l))}switch(a){case"input":L(e),j(e,o,!1);break;case"textarea":L(e),$(e);break;case"option":null!=o.value&&e.setAttribute("value",""+P(o.value));break;case"select":e.multiple=!!o.multiple,n=o.value,null!=n?q(e,!!o.multiple,n,!1):null!=o.defaultValue&&q(e,!!o.multiple,o.defaultValue,!0);break;default:"function"==typeof u.onClick&&(e.onclick=Fe)}Ve(a,o)&&(t.effectTag|=4)}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)Ll(e,t,e.memoizedProps,o);else{if("string"!=typeof o&&null===t.stateNode)throw Error(r(166));n=yn(yu.current),yn(bu.current),Jn(t)?(n=t.stateNode,o=t.memoizedProps,n[Ni]=t,n.nodeValue!==o&&(t.effectTag|=4)):(n=(9===n.nodeType?n:n.ownerDocument).createTextNode(o),n[Ni]=t,t.stateNode=n)}return null;case 13:return zt(vu),o=t.memoizedState,0!==(64&t.effectTag)?(t.expirationTime=n,t):(n=null!==o,o=!1,null===e?void 0!==t.memoizedProps.fallback&&Jn(t):(a=e.memoizedState,o=null!==a,n||null===a||(a=e.child.sibling,null!==a&&(i=t.firstEffect,null!==i?(t.firstEffect=a,a.nextEffect=i):(t.firstEffect=t.lastEffect=a,a.nextEffect=null),a.effectTag=8))),n&&!o&&0!==(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&vu.current)?rs===Qu&&(rs=Yu):(rs!==Qu&&rs!==Yu||(rs=Gu),0!==us&&null!==es&&(To(es,ns),Co(es,us)))),(n||o)&&(t.effectTag|=4),null);case 4:return wn(),Ol(t),null;case 10:return Zt(t),null;case 17:return It(t.type)&&Ft(),null;case 19:if(zt(vu),o=t.memoizedState,null===o)return null;if(a=0!==(64&t.effectTag),i=o.rendering,null===i){if(a)mr(o,!1);else if(rs!==Qu||null!==e&&0!==(64&e.effectTag))for(i=t.child;null!==i;){if(e=_n(i),null!==e){for(t.effectTag|=64,mr(o,!1),a=e.updateQueue,null!==a&&(t.updateQueue=a,t.effectTag|=4),null===o.lastEffect&&(t.firstEffect=null),t.lastEffect=o.lastEffect,o=t.child;null!==o;)a=o,i=n,a.effectTag&=2,a.nextEffect=null,a.firstEffect=null,a.lastEffect=null,e=a.alternate,null===e?(a.childExpirationTime=0,a.expirationTime=i,a.child=null,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null):(a.childExpirationTime=e.childExpirationTime,a.expirationTime=e.expirationTime,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,i=e.dependencies,a.dependencies=null===i?null:{expirationTime:i.expirationTime,firstContext:i.firstContext,responders:i.responders}),o=o.sibling;return Mt(vu,1&vu.current|2),t.child}i=i.sibling}}else{if(!a)if(e=_n(i),null!==e){if(t.effectTag|=64,a=!0,n=e.updateQueue,null!==n&&(t.updateQueue=n,t.effectTag|=4),mr(o,!0),null===o.tail&&"hidden"===o.tailMode&&!i.alternate)return t=t.lastEffect=o.lastEffect,null!==t&&(t.nextEffect=null),null}else 2*ru()-o.renderingStartTime>o.tailExpiration&&1t)&&vs.set(e,t)))}}function Ur(e,t){e.expirationTimee?n:e,2>=e&&t!==e?0:e}function qr(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=$t(Vr.bind(null,e));else{var t=Br(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=Fr();if(1073741823===t?r=99:1===t||2===t?r=95:(r=10*(1073741821-t)-10*(1073741821-r),r=0>=r?99:250>=r?98:5250>=r?97:95),null!==n){var o=e.callbackPriority;if(e.callbackExpirationTime===t&&o>=r)return;n!==Yl&&Bl(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?$t(Vr.bind(null,e)):Wt(r,Hr.bind(null,e),{timeout:10*(1073741821-t)-ru()}),e.callbackNode=t}}}function Hr(e,t){if(ks=0,t)return t=Fr(),No(e,t),qr(e),null;var n=Br(e);if(0!==n){if(t=e.callbackNode,(Ju&(Wu|$u))!==Hu)throw Error(r(327));if(lo(),e===es&&n===ns||Kr(e,n),null!==ts){var o=Ju;Ju|=Wu;for(var a=Yr();;)try{eo();break}catch(t){Xr(e,t)}if(Gt(),Ju=o,Bu.current=a,rs===Ku)throw t=os,Kr(e,n),To(e,n),qr(e),t;if(null===ts)switch(a=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,o=rs,es=null,o){case Qu:case Ku:throw Error(r(345));case Xu:No(e,2=n){e.lastPingedTime=n,Kr(e,n);break}}if(i=Br(e),0!==i&&i!==n)break;if(0!==o&&o!==n){e.lastPingedTime=o;break}e.timeoutHandle=Si(oo.bind(null,e),a);break}oo(e);break;case Gu:if(To(e,n),o=e.lastSuspendedTime,n===o&&(e.nextKnownPendingLevel=ro(a)),ss&&(a=e.lastPingedTime,0===a||a>=n)){e.lastPingedTime=n,Kr(e,n);break}if(a=Br(e),0!==a&&a!==n)break;if(0!==o&&o!==n){e.lastPingedTime=o;break}if(1073741823!==is?o=10*(1073741821-is)-ru():1073741823===as?o=0:(o=10*(1073741821-as)-5e3,a=ru(),n=10*(1073741821-n)-a,o=a-o,0>o&&(o=0),o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Uu(o/1960))-o,n=o?o=0:(a=0|l.busyDelayMs,i=ru()-(10*(1073741821-i)-(0|l.timeoutMs||5e3)),o=i<=a?0:a+o-i),10 component higher in the tree to provide a loading indicator or placeholder to display."+N(i))}rs!==Zu&&(rs=Xu),l=yr(l,i),f=a;do{switch(f.tag){case 3:u=l,f.effectTag|=4096,f.expirationTime=t;var w=Ar(f,u,t);ln(f,w); break e;case 1:u=l;var E=f.type,k=f.stateNode;if(0===(64&f.effectTag)&&("function"==typeof E.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===ms||!ms.has(k)))){f.effectTag|=4096,f.expirationTime=t;var _=Ir(f,u,t);ln(f,_);break e}}f=f.return}while(null!==f)}ts=no(ts)}catch(e){t=e;continue}break}}function Yr(){var e=Bu.current;return Bu.current=Cu,null===e?Cu:e}function Gr(e,t){eus&&(us=e)}function Jr(){for(;null!==ts;)ts=to(ts)}function eo(){for(;null!==ts&&!Gl();)ts=to(ts)}function to(e){var t=Fu(e.alternate,e,ns);return e.memoizedProps=e.pendingProps,null===t&&(t=no(e)),qu.current=null,t}function no(e){ts=e;do{var t=ts.alternate;if(e=ts.return,0===(2048&ts.effectTag)){if(t=br(t,ts,ns),1===ns||1!==ts.childExpirationTime){for(var n=0,r=ts.child;null!==r;){var o=r.expirationTime,a=r.childExpirationTime;o>n&&(n=o),a>n&&(n=a),r=r.sibling}ts.childExpirationTime=n}if(null!==t)return t;null!==e&&0===(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=ts.firstEffect),null!==ts.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=ts.firstEffect),e.lastEffect=ts.lastEffect),1e?t:e}function oo(e){var t=qt();return Vt(99,ao.bind(null,e,t)),null}function ao(e,t){do lo();while(null!==gs);if((Ju&(Wu|$u))!==Hu)throw Error(r(327));var n=e.finishedWork,o=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var a=ro(n);if(e.firstPendingTime=a,o<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:o<=e.firstSuspendedTime&&(e.firstSuspendedTime=o-1),o<=e.lastPingedTime&&(e.lastPingedTime=0),o<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===es&&(ts=es=null,ns=0),1u&&(c=u,u=l,l=c),c=Ue(w,l),f=Ue(w,u),c&&f&&(1!==k.rangeCount||k.anchorNode!==c.node||k.anchorOffset!==c.offset||k.focusNode!==f.node||k.focusOffset!==f.offset)&&(E=E.createRange(),E.setStart(c.node,c.offset),k.removeAllRanges(),l>u?(k.addRange(E),k.extend(f.node,f.offset)):(E.setEnd(f.node,f.offset),k.addRange(E)))))),E=[];for(k=w;k=k.parentNode;)1===k.nodeType&&E.push({element:k,left:k.scrollLeft,top:k.scrollTop});for("function"==typeof w.focus&&w.focus(),w=0;w=t&&e<=t}function To(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;nt||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function Co(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function No(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function Po(e,t,n,o){var a=t.current,i=Fr(),l=su.suspense;i=jr(i,a,l);e:if(n){n=n._reactInternalFiber;t:{if(J(n)!==n||1!==n.tag)throw Error(r(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(It(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(r(171))}if(1===n.tag){var s=n.type;if(It(s)){n=Dt(n,s,u);break e}}n=u}else n=Al;return null===t.context?t.context=n:t.pendingContext=n,t=on(i,l),t.payload={element:e},o=void 0===o?null:o,null!==o&&(t.callback=o),an(a,t),Dr(a,i),i}function Oo(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Ro(e,t){e=e.memoizedState,null!==e&&null!==e.dehydrated&&e.retryTime