Sodium hypochlorite (bleach)

Unlock cost savings, boost sustainability, and maximize inventory value with surplus Sodium hypochlorite.

Maximize Value with Surplus Sodium hypochlorite in Disinfectants & Water Treatment

buy sell surplus chemicals
Sodium hypochlorite, commonly known as bleach, is a powerful and versatile chemical solution widely used for disinfection and water treatment. This chemical, available in various concentrations, is celebrated for its strong oxidizing properties and efficiency in eliminating harmful microorganisms. When held in surplus, this chemical represents more than just an overstocked resource; it is an opportunity. Companies with surplus inventory can recover significant costs by selling unused or excess stock, turning a potential liability into a profitable asset. The industrial relevance of Sodium hypochlorite in both routine disinfection and emergency water treatment further emphasizes its importance in maintaining public health and safety.

Buy and Sell Surplus Sodium hypochlorite: Transforming Disinfectants & Water Treatment

The trading of surplus chemicals like Sodium hypochlorite offers tremendous value for both buyers and sellers alike. Sellers can free up vital storage space, avoid costly disposal fees, and even earn revenue on chemicals that would otherwise incur disposal expenses and regulatory burdens. On the other hand, buyers benefit from reduced procurement costs, reliable sourcing, and enhanced sustainability credentials by using chemicals that might otherwise contribute to waste. Moreover, surplus trading supports environmental stewardship by ensuring that chemicals are used efficiently and safely, thus minimizing negative impacts on our surroundings. In many cases, companies not only save money on waste management but can also profit directly, further promoting responsible resource management.

Sodium hypochlorite in Disinfectants & Water Treatment

For buyers, surplus Sodium hypochlorite offers cost-effective acquisition with performance reliability. Purchasing surplus stocks means access to high-quality disinfectant solutions at reduced costs while maintaining supply chain continuity. Buyers can benefit from bulk purchase discounts, rapid procurement, and reduced lead time ensuring operational consistency in both routine and emergency water treatment scenarios.
Sellers gain significant financial and logistical advantages by offloading surplus Sodium hypochlorite. By converting excess inventory into revenue, companies can optimize storage facilities, lower disposal costs, and adhere to environmental regulations. This trading process not only recovers costs but also supports sustainable practices by preventing unnecessary chemical waste, further enhancing the manufacturer’s market reputation.

Table of Contents

Municipal Water Treatment Plant Transforms Surplus into Strategic Savings

A major municipal water treatment facility recently faced the challenge of managing surplus Sodium hypochlorite stock. Instead of incurring high disposal costs and storage fees, the plant opted to trade its excess inventory on a surplus chemical platform. This move allowed the facility to secure additional funds, streamline its inventory management, and maintain a reliable supply of disinfectant for emergency use. By integrating surplus trading into their procurement strategy, the plant not only ensured continuous water safety but also met important environmental compliance standards, setting an example for sustainable chemical management across the industry.

Why different professionals are benefiting from this trade?

R&D professionals benefit from access to surplus Sodium hypochlorite by conducting extensive research on its properties, enabling the development of advanced disinfection formulas and innovative water treatment solutions without straining budgets.
These professionals can drive sustainable initiatives by sourcing surplus chemicals that contribute to environmental conservation. Trading surplus inventory reduces waste and minimizes ecological risks, supporting corporate sustainability goals.
Production managers can maintain uninterrupted production cycles by ensuring a steady supply of high-demand disinfectants. Acquiring surplus Sodium hypochlorite helps streamline operations while cutting costs related to storage and disposal.
Procurement teams can leverage surplus trading to secure quality chemical supplies at discounted prices. This improves cost control, inventory management and strengthens supplier relationships with a reliable, cost-effective sourcing option.
These specialists benefit by optimizing inventory levels, reducing holding costs, and employing effective supply chain strategies through surplus chemical trading, ensuring better resource allocation and enhanced responsiveness to market demands.
Manufacturers and distributors gain by turning excess stocks into valuable revenue streams. This practice helps in managing overproduction, controlling storage logistics, and ensuring that surplus products find their way to markets where they can be effectively utilized.

Sodium hypochlorite is a strong oxidizing agent with potent disinfection properties. It is corrosive, requires proper handling, and is most effective at specific pH ranges. It decomposes more rapidly at higher temperatures, necessitating controlled storage conditions.

When used and neutralized properly, Sodium hypochlorite is environmentally friendly. Its surplus trading helps reduce waste and minimizes the environmental footprint by preventing improper disposal. Responsible handling aligns with green practices, supporting sustainable water treatment and disinfectant applications.

Detailed Chemical Specifications for Sodium hypochlorite

Sodium hypochlorite (bleach)

Available in bulk shipments, drums, and custom packaging options to suit varied industrial needs.

EPA Registered, NSF/ANSI Certified, compliant with OSHA and DOT standards, ensuring safety and quality for disinfectant and water treatment applications.

CAS: 7681-52-9

Usage Guidelines With Sodium hypochlorite (bleach)

Store chemicals in controlled, cool environments with proper ventilation. Maintaining optimal storage conditions prevents degradation and minimizes risks. Dispose of any surplus using environmentally positive methods and consider using alternative trade platforms, like ours, as a better alternative to conventional disposal while earning revenue.
Regularly monitor inventory levels and assess chemical quality before re-purposing or trading. Routine checks ensure that you are handling chemicals efficiently and safely. This proactive approach can reduce unexpected disposal costs and regulatory compliance issues.
Train staff on best practices for handling corrosive substances and emergency spill responses. Proper training guarantees a safer workplace and minimizes mishandling risks. It ensures that any positive disposal methods or trade alternatives are executed correctly, safeguarding both health and financial interests.
Avoid improper or haphazard disposal methods such as uncontrolled dumping or burning. Such negative disposal practices can result in regulatory fines, environmental contamination, and green penalties.
Do not mix Sodium hypochlorite with incompatible chemicals like acids or ammonia during storage or handling. Mixing can lead to dangerous reactions including the release of toxic gases, triggering potential legal and environmental repercussions.
Refrain from neglecting proper labeling and safety protocol adherence. Ignoring safety standards can lead to non-compliance with industry regulations, increased accident risks, and hefty penalties for environmental and workplace infractions.

FAQ

Sodium hypochlorite is classified as a Category 1 corrosive to metals, Category 1B skin corrosive, and Category 1 eye damage hazard under GHS. It’s also classified as an environmental hazard (Acute Category 1) due to its toxicity to aquatic life. On Safety Data Sheets, you’ll find it with UN Number 1791 for transportation purposes when in concentrations used for disinfection (typically 5-15%).
GHS labeling for Sodium hypochlorite requires: a corrosion pictogram, signal word ‘Danger’, hazard statements including ‘Causes severe skin burns and eye damage’ and ‘May be corrosive to metals’, precautionary statements for prevention, response, storage and disposal, and product identifier. For environmental hazards, the environmental hazard pictogram should be included with the statement ‘Very toxic to aquatic life’.
For DOT shipping, Sodium hypochlorite solutions (>5% available chlorine) are classified as UN1791, Hazard Class 8 (Corrosive), Packing Group II or III depending on concentration. They require corrosive labels, proper shipping papers documenting the UN number, proper shipping name, hazard class, and quantity. Packaging must meet DOT specifications for corrosives, and transport vehicles may require placarding if shipped in quantities exceeding 1,000 pounds.
Yes, international shipping of Sodium hypochlorite is subject to quantity limitations. For air transport under IATA regulations, Passenger Aircraft allows limited quantities (1L per inner packaging), while Cargo Aircraft permits larger amounts (30L). Maritime shipping under IMDG Code has specific stowage requirements including segregation from acids. Many countries require import permits for commercial quantities, and some regions restrict concentrations above certain thresholds (typically 10-12%).
Sodium hypochlorite should never be stored near acids (including vinegar), ammonia, reducing agents, metals, organics, or hydrogen peroxide. Contact with acids releases toxic chlorine gas, while ammonia contact produces chloramines gas. Metals can accelerate decomposition and may be corroded. Organic materials can react vigorously, potentially causing fire. Always store bleach in a cool, ventilated area away from direct sunlight and incompatible materials.
Sodium hypochlorite solutions should be stored in cool (below 70°F/21°C), dark, well-ventilated areas in corrosion-resistant containers (polyethylene, PVC). The shelf-life decreases with concentration and temperature—commercial 12-15% solutions degrade to approximately 10% after 3 months, while household bleach (5-6%) typically has a shelf-life of about 6 months. Secondary containment is recommended, and storage areas should have non-reactive flooring (concrete sealed with epoxy) and appropriate ventilation.
When handling concentrated Sodium hypochlorite (>5%), required PPE includes: chemical splash goggles or face shield, chemical-resistant gloves (nitrile, neoprene, butyl rubber, or PVC), chemical-resistant clothing or apron, and closed-toe footwear. For operations with significant splash potential or in poorly ventilated areas, respiratory protection may be needed (N95 with acid gas cartridge). Emergency eyewash stations and safety showers must be readily accessible in handling areas.
While OSHA has not established a specific PEL for Sodium hypochlorite, it’s often monitored using the chlorine PEL of 1 ppm (3 mg/m³) as a ceiling limit. NIOSH recommends a REL of 0.5 ppm (1.5 mg/m³) as a TWA for chlorine. ACGIH sets a TLV of 0.5 ppm chlorine as an 8-hour TWA and 1 ppm as a 15-minute STEL. Workplace monitoring should focus on potential chlorine gas release, especially when mixing with acids or in high-temperature environments.
For general surface disinfection, dilute household bleach (5.25-6.25% sodium hypochlorite) 1:10 with water (1 cup bleach to 9 cups water) for a 0.5-0.6% solution. For healthcare settings, a 1:50 dilution (1 part bleach to 49 parts water) creating a 0.1% solution is often recommended for non-critical items. For blood spills or highly contaminated surfaces, a 1:5 dilution (1 part bleach to 4 parts water) yielding approximately 1% solution is appropriate. Always prepare fresh solutions daily as effectiveness decreases over time.
For municipal water treatment, typical target chlorine concentrations range from 0.2-4 mg/L (ppm), with most systems maintaining 1-2 mg/L. For emergency water disinfection, 2 drops (0.1 mL) of 5-6% household bleach per liter of clear water with 30 minutes contact time is recommended. Swimming pools typically maintain 1-3 ppm free chlorine. Industrial cooling systems may use 3-5 ppm for biofilm control. The pH of the water significantly affects effectiveness, with optimal disinfection occurring at pH 5-7.
Sodium hypochlorite products marketed as disinfectants must be registered with the EPA under FIFRA and must display an EPA registration number on their label. They must meet effectiveness standards for claimed organisms and follow specific labeling requirements. For drinking water applications, they must comply with NSF/ANSI Standard 60 certification. Facilities using large quantities may require risk management plans under Clean Air Act Section 112(r) if threshold quantities are exceeded (typically 2,500 pounds of >10% solutions).
OSHA’s Hazard Communication Standard (29 CFR 1910.1200) requires proper labeling, Safety Data Sheets, and employee training. The Personal Protective Equipment standard (29 CFR 1910.132-138) mandates appropriate PPE based on workplace hazard assessments. Facilities must also comply with respiratory protection standards (29 CFR 1910.134) if respiratory hazards exist. Additional relevant standards include emergency eyewash and shower facilities (29 CFR 1910.151), and process safety management if threshold quantities are exceeded in industrial processes.
For Sodium hypochlorite spills: Evacuate unnecessary personnel, ensure proper ventilation, wear appropriate PPE (chemical-resistant gloves, goggles/face shield, protective clothing). Contain the spill with inert absorbent material (vermiculite, sand) or commercial spill kits. Do NOT use combustible materials like paper towels. For small spills, dilute with water and mop up. For larger spills, dike to prevent spreading, then collect into plastic containers. Neutralization can be performed with sodium thiosulfate or sodium sulfite under controlled conditions. Report spills exceeding reportable quantities (100 pounds) to the National Response Center.
Waste disposal of Sodium hypochlorite depends on concentration and local regulations. Solutions >10% are typically considered hazardous waste under RCRA (D002 corrosivity characteristic). Approved disposal methods include dilution and neutralization with reducing agents (sodium thiosulfate, sodium sulfite, or sodium bisulfite) before sewer discharge, but only with proper permits and regulatory approval. Empty containers should be triple-rinsed before disposal or recycling. Always verify compliance with local POTW requirements, as many prohibit direct discharge of bleach solutions even after neutralization.
In industrial settings, surplus Sodium hypochlorite is commonly used to treat and disinfect large volumes of water, particularly in cooling towers and process water systems. It is also extensively applied in emergency disinfection in hospitals and public facilities. Investments in surplus production allow industries to secure chemical supplies at reduced costs while ensuring compliance with stringent environmental and safety regulations. This integrated approach not only supports operational efficiency but also promotes a proactive stance on water quality management and sustainable chemical usage.

Are You Interested in Buying Or Selling Sodium hypochlorite (bleach)?

Unlock cost savings, boost sustainability, and maximize inventory value with surplus Sodium hypochlorite.
EPA Registered, NSF/ANSI Certified, compliant with OSHA and DOT standards, ensuring safety and quality for disinfectant and water treatment applications.

Read More About Other Chemicals

Latest Blog Articles

You can use the keyboard arrows to navigate between the component buttons
",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