נגב 2, איירפורט סיטי

פקס

03-539-5901

דף הבית » פתרונות רכש » בקרת התקשרויות – כלי הכרחי לניהול יעיל של חוזים ופרויקטים

קטגוריות
ארכיונים
יוני 2025
אבגדהוש
1234567
891011121314
15161718192021
22232425262728
2930 
פתרונות אפקטיביים

בקרת התקשרויות – כלי הכרחי לניהול יעיל של חוזים ופרויקטים

מבוא

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

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

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

  • זיהוי חריגות מהתוכניות ומהמפרטים.
  • מעקב אחר עמידה בזמנים .
  • ניתוח עמידה בתקציב .

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

בקרה על הפעלת מנגנון הקנסות במידת הצורך

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

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

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


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

מענה לבעיות ביישום החוזה ושמירה על כדאיות כלכלית

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

  1. פתרון מהיר ויעיל של הבעיה – תגובה מהירה ומתואמת יכולה לצמצם את השפעת הבעיה ולשמור על התקדמות הפרויקט.
  2. בחינת ההשפעה הכלכלית של הפתרון – ניתוח מעמיק של ההשלה הכלכלית הכרוכות בפתרון המוצע, תוך שמירה על כדאיות כלכלית עבור כל המעורבים.
  3. מניעת פגיעה בתפקוד השוטף של הפרויקט – מציאת פתרון המאפשר המשך עבודה תקינה ומונע עיכובים או הפרעות משמעותיות.

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

בדיקת חשבונות סופיים – ביקורת מול מסמכים ההתקשרות, החוזה והתוכניות

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

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

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

בקרת התוכניות, המפרטים וכתב הכמויות לפרויקט

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

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

בדיקות אלו מונעות בעיות עתידיות ומשמשות בסיס לניהול יעיל של הפרויקט לכל אורכו.

הכנת תיק אתר / אירוע

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

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

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

עמידה בדרישות החוק, לרבות בדיקת תלושי שכר עובדים

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

  1. בדיקת תלושי השכר של עובדי הקבלן – ווידוא כי התלושים עומדים בדרישות החוק והעובדים מקבלים את המגיעים להם.
  2. מעקב אחר תנאי העבודה – לא שוטף את העבודה בשטח, כדי למנוע ולזהות את תנאי החזרות.
  3. הבטחת תשלום ראוי לכל עובד בפרויקט – הבטחת יישום מלא של זכויות עובדים, בהתאם לחוק.

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

בקרה שוטפת – העלאת מודעות ויישום מלא של ההתקשרות

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

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

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

סיכום

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

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

לפרויקט מוצלח וניהול מקצועי – בחרו בפתרונות אפקטיביים!

https://esg.co.il/wp-content/uploads/2025/06/דירקטוריון.d110a0.webp
אסטרטגיה תפעולית מול אסטרטגיה עסקית – מתי הדירקטוריון צריך להתערב?

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

https://esg.co.il/wp-content/uploads/2025/06/3.d110a0.webp
דירקטוריון בחברות משפחתיות – בין נאמנות משפחתית לאחריות כלכלית

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

https://esg.co.il/wp-content/uploads/2025/06/2.d110a0.webp
הכשרת דירקטורים: מה כל חבר דירקטוריון חייב לדעת על תכנון עסקי

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

https://esg.co.il/wp-content/uploads/2025/05/ממשל-תאגידי-מודרני--תפקיד-הדירקטור-אינו-רק-פיקוח.d110a0.webp
ממשל תאגידי מודרני – תפקיד הדירקטור אינו רק פיקוח

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

https://esg.co.il/wp-content/uploads/2025/05/השאלות-שדירקטור-חייב-לשאול-בישיבת-תקציב.d110a0.webp
השאלות שדירקטור חייב לשאול בישיבת תקציב

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

https://esg.co.il/wp-content/uploads/2025/05/עובד-מתפטר_-כך-בונים-תהליך-יציאה-שמחזק-את-הארגון.d110a0.webp
עובד מתפטר? כך בונים תהליך יציאה שמחזק את הארגון

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

https://esg.co.il/wp-content/uploads/2025/05/שיטת-_Zero-Based-Procurement_--כך-חוסכים-מיליונים-בלי-לפגוע-באיכות.d110a0.webp
שיטת "Zero-Based Procurement" – כך חוסכים מיליונים בלי לפגוע באיכות

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

https://esg.co.il/wp-content/uploads/2025/05/2.d110a0.webp
חיבור בין כספים למשאבי אנוש בארגון יכול לשדרג את הביצועים - פורסם בכלכליסט

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

https://esg.co.il/wp-content/uploads/2025/05/שוק-העבודה.d110a0.webp
שוק העבודה בישראל – תמונת מצב עדכנית לפברואר 2025

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

https://esg.co.il/wp-content/uploads/2025/05/תחזית-כלכלית.d110a0.webp
תחזית קונצנזוס כלכלית לשנת 2025

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

https://esg.co.il/wp-content/uploads/2025/05/White-Live-Podcast-Facebook-Post.d110a0.webp
מחקר: מה באמת מונע ממנכ"לים לגדול?

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

Facebook
Twitter
LinkedIn
WhatsApp
Pinterest
Print
Email
ניתן להשתמש בחצי המקלדת בכדי לנווט בין כפתורי הרכיב
",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