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

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

## 1. לחץ זמן

**אתגר:**

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

**פתרונות מורחבים:**

1. **יצירת לוח זמנים מפורט:**

   – השתמשו בכלים כמו Gantt Chart ליצירת לוח זמנים מפורט.

   – חלקו את הפרויקט לשלבים קטנים וברי-ניהול.

   – הגדירו אבני דרך ברורות עם תאריכי יעד.

   – הקצו זמן לבדיקות איכות ולתיקונים אחרונים.

2. **הקצאת משאבים נכונה:**

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

   – הגדירו באופן ברור את תחומי האחריות של כל חבר צוות.

   – שקלו להקצות משאבים נוספים בתקופות עומס צפויות.

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

3. **שימוש בכלי ניהול פרויקטים:**

   – אמצו כלים כמו Trello, Asana, או Microsoft Project לניהול המשימות.

   – הגדירו תהליך דיווח יומי או שבועי על התקדמות.

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

   – הטמיעו מערכת התראות אוטומטיות לקראת מועדי יעד קריטיים.

4. **סיוע חיצוני:**

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

   – צרו רשימה של יועצים או ספקים פוטנציאליים לפי תחומי מומחיות.

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

   – הכינו מראש תבניות ונהלים לשילוב מהיר של גורמים חיצוניים בצוות.

5. **ניהול זמן אישי:**

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

   – הקפידו על פגישות קצרות וממוקדות.

   – הגדירו "שעות שקטות" לעבודה מרוכזת ללא הפרעות.

   – עודדו את הצוות לזהות ולדווח על גורמים מעכבים באופן מיידי.

## 2. הבנת דרישות המכרז

**אתגר:**

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

**פתרונות מורחבים:**

1. **קריאה מעמיקה וחוזרת:**

   – הקצו זמן ייעודי לקריאה מעמיקה של כל מסמכי המכרז.

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

   – סמנו נקודות לא ברורות או דורשות הבהרה.

   – צרו מסמך מסכם של הנקודות העיקריות והדרישות המרכזיות.

2. **רשימת תיוג מפורטת:**

   – פתחו רשימת תיוג מקיפה הכוללת כל דרישה, גדולה כקטנה.

   – חלקו את הרשימה לקטגוריות (טכניות, פיננסיות, משפטיות וכו').

   – הגדירו אחראי לכל סעיף ברשימה.

   – עדכנו את הרשימה באופן שוטף ובצעו מעקב אחר התקדמות.

3. **דיונים פנימיים:**

   – ארגנו פגישת התנעה עם כל הגורמים הרלוונטיים להצגת דרישות המכרז.

   – קיימו סדרת דיונים ממוקדים לכל נושא מרכזי במכרז.

   – עודדו דיון פתוח וביקורתי לזיהוי נקודות חולשה או אי-בהירות.

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

4. **שאלות הבהרה:**

   – רכזו את כל השאלות והנקודות הדורשות הבהרה מכל הצוותים.

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

   – הגישו את השאלות מוקדם ככל האפשר לאפשר זמן תגובה.

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

5. **התייעצות עם מומחים:**

   – זהו תחומים במכרז הדורשים מומחיות ייחודית.

   – שקלו להתייעץ עם יועצים חיצוניים בעלי ניסיון בניתוח מכרזים דומים.

   – ארגנו פגישות סקירה עם מומחי תוכן פנימיים וחיצוניים.

   – צרו מאגר של פרשנויות ותובנות ממכרזים קודמים דומים.

6. **יצירת מודל עבודה:**

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

   – הציגו את המודל לכל בעלי העניין לקבלת משוב.

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

   – השתמשו במודל זה כבסיס לתכנון העבודה ולהקצאת משאבים.

## 3. איסוף מידע ונתונים

**אתגר:**

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

**פתרונות מורחבים:**

1. **מינוי נציגים אחראיים:**

   – מנו נציג אחראי מכל מחלקה רלוונטית לפרויקט המכרז.

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

   – ארגנו פגישת התנעה עם כל הנציגים להבהרת הציפיות והתהליכים.

   – יצרו מנגנון לתקשורת ישירה ומהירה בין הנציגים וצוות המכרז.

2. **תבניות מובנות לאיסוף מידע:**

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

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

   – כללו הנחיות ברורות למילוי התבניות ודוגמאות מוחשיות.

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

3. **פגישות סטטוס קבועות:**

   – קבעו פגישות סטטוס שבועיות עם כל הגורמים המעורבים.

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

   – תעדו את ההחלטות והמשימות מכל פגישה והפיצו אותן לכל המשתתפים.

   – שקלו שימוש בפגישות קצרות יומיות (standup) בשלבים קריטיים של הפרויקט.

4. **פלטפורמות שיתוף מידע מקוונות:**

   – אמצו כלים כמו SharePoint, Google Drive, או Dropbox לשיתוף ואחסון מסמכים.

   – הגדירו מבנה תיקיות ברור ונהלי שיום קבצים.

   – הטמיעו מערכת הרשאות מתאימה לשמירה על אבטחת המידע.

   – הדריכו את כל המשתמשים בשימוש נכון בפלטפורמה.

5. **כלים מתקדמים לאיסוף וניהול מידע:**

   – שקלו שימוש בכלי BI (Business Intelligence) לניתוח וויזואליזציה של נתונים.

   – הטמיעו מערכות CRM או ERP לריכוז מידע עסקי ותפעולי.

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

   – בחנו אפשרות לפיתוח כלים ייעודיים לאיסוף וניהול מידע למכרזים.

6. **תהליכי בקרת איכות:**

   – הגדירו תהליכי בקרת איכות לכל סוג מידע שנאסף.

   – מנו צוות או אחראי לבדיקת איכות ודיוק המידע.

   – יצרו מנגנון לזיהוי ותיקון פערי מידע או אי-התאמות.

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

7. **ניהול ידע ולמידה ארגונית:**

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

   – עודדו שיתוף ידע וניסיון בין צוותים שונים בארגון.

   – ארגנו סדנאות ומפגשי למידה לשיתוף תובנות ושיטות עבודה מוצלחות.

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

## 4. התמודדות עם דרישות טכניות מורכבות

**אתגר:**

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

**פתרונות מורחבים:**

1. **זיהוי פערים:**

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

   – יצרו מטריצה מפורטת המשווה בין דרישות המכרז ליכולות הארגון.

 – [Previous content remains the same]

3. **הכשרה ופיתוח מקצועי:**

   – השקיעו בהכשרה מתמדת של צוות המכרזים.

   – ארגנו סדנאות פנימיות לשיתוף ידע וניסיון בין חברי הצוות.

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

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

   – שקלו הסמכות מקצועיות רלוונטיות לצוות המכרזים.

4. **שיתוף ידע בין מחלקות:**

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

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

   – פתחו פלטפורמה דיגיטלית לשיתוף תובנות ושאלות בין עובדים.

   – ארגנו "ימי למידה" תקופתיים לשיתוף הצלחות ואתגרים בין צוותים שונים.

5. **בנצ'מרקינג:**

   – בצעו השוואות שיטתיות עם חברות מובילות בתחום המכרזים.

   – למדו מ"שיטות עבודה מיטביות" (best practices) בתעשייה.

   – השתתפו בפורומים מקצועיים ובקבוצות עבודה בתחום המכרזים.

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

6. **ניטור מגמות:**

   – עקבו אחר שינויים בחקיקה ורגולציה הקשורים למכרזים.

   – נטרו מגמות טכנולוגיות חדשות שעשויות להשפיע על תהליכי מכרזים.

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

   – פתחו מערכת התראות על שינויים משמעותיים בשוק או בתעשייה.

7. **חדשנות בתהליכים:**

   – עודדו חשיבה יצירתית ורעיונות חדשים לשיפור תהליכי הכנת מכרזים.

   – שקלו אימוץ שיטות עבודה אג'יליות בניהול פרויקטי מכרזים.

   – בחנו שימוש בטכנולוגיות חדשות כמו בינה מלאכותית או ביג דאטה בניתוח מכרזים.

   – יצרו "מעבדת חדשנות" פנימית לפיתוח ובחינה של רעיונות חדשים.

8. **משוב מלקוחות:**

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

   – נתחו את המשוב ושלבו את התובנות בתהליכי השיפור.

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

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

9. **מדידה והערכה:**

   – פתחו KPIs (מדדי ביצוע מרכזיים) לתהליך הכנת המכרזים.

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

   – השוו ביצועים לאורך זמן ובין פרויקטים שונים.

   – השתמשו בתובנות מהמדידה לקביעת יעדי שיפור ספציפיים.

10. **תרבות של למידה מתמדת:**

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

    – הכירו ותגמלו עובדים על יוזמות לשיפור ולמידה.

    – עודדו דיון פתוח ובונה על כישלונות והצלחות.

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

## סיכום

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

המפתח להצלחה טמון ביכולת לשלב בין:

– תכנון מדוקדק וניהול פרויקטים יעיל

– הבנה מעמיקה של דרישות המכרז והשוק

– יצירתיות וחדשנות בפתרונות ובגישה

– ניהול סיכונים מושכל

– תקשורת ברורה ומשכנעת

– למידה והשתפרות מתמדת

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

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

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

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